K-Prototypes in python "IndexError: too many indices for array"
K-Prototypes in python "IndexError: too many indices for array"
我正在尝试对混合数据(分类和数字)执行 k 原型聚类。我的输入文件是一个 csv,看起来像这样(它包含 300000 行):
Unnamed: 0.1,market,vendor_name,price,ship_from,category_cl
0,mark,03welle,1.79367196,DE,Drugs
1,aruna,03welle,0.05880975,DE,Drugs
2,ny,03welle,0.11344859,DE,Drugs
3,mi,03welle,0.18655316,DE,Drugs
我正在尝试实现 k-prototypes 聚类,就像聚类混合数据一样。问题是我遇到了一个错误,我无法理解它(当然也无法修复它)。我正在使用我在相关仓库中找到的代码:
import numpy as np
print("initialising")
syms = np.genfromtxt('pameteliko.csv', dtype=str, delimiter='\t')[:, 0]
print("******")
print(syms)
X = np.genfromtxt('pameteliko.csv', dtype=object, delimiter='\t')[:, 1:]
print("################")
X[:, 0] = X[:, 0].astype(float)
from kmodes.kprototypes import KPrototypes
kproto = KPrototypes(n_clusters=6, init='Cao', verbose=2)
clusters = kproto.fit_predict(X, categorical=[1, 2])
#Print cluster centroids of the trained model.
print(kproto.cluster_centroids_)
#Print training statistics
print(kproto.cost_)
print(kproto.n_iter_)
(这些打印件用于调试目的)。我收到以下错误:
IndexError: too many indices for array
我对syms
和X
也有一些疑问。任何帮助将不胜感激。
将分隔符“\t”更改为“,”
syms = np.genfromtxt('pameteliko.csv', dtype=str, delimiter=',')[:, 0]
print("******")
print(syms)
X = np.genfromtxt('pameteliko.csv', dtype=object, delimiter=',')[:, 1:]
因为您使用的是逗号分隔值文件。希望有用!
我正在尝试对混合数据(分类和数字)执行 k 原型聚类。我的输入文件是一个 csv,看起来像这样(它包含 300000 行):
Unnamed: 0.1,market,vendor_name,price,ship_from,category_cl
0,mark,03welle,1.79367196,DE,Drugs
1,aruna,03welle,0.05880975,DE,Drugs
2,ny,03welle,0.11344859,DE,Drugs
3,mi,03welle,0.18655316,DE,Drugs
我正在尝试实现 k-prototypes 聚类,就像聚类混合数据一样。问题是我遇到了一个错误,我无法理解它(当然也无法修复它)。我正在使用我在相关仓库中找到的代码:
import numpy as np
print("initialising")
syms = np.genfromtxt('pameteliko.csv', dtype=str, delimiter='\t')[:, 0]
print("******")
print(syms)
X = np.genfromtxt('pameteliko.csv', dtype=object, delimiter='\t')[:, 1:]
print("################")
X[:, 0] = X[:, 0].astype(float)
from kmodes.kprototypes import KPrototypes
kproto = KPrototypes(n_clusters=6, init='Cao', verbose=2)
clusters = kproto.fit_predict(X, categorical=[1, 2])
#Print cluster centroids of the trained model.
print(kproto.cluster_centroids_)
#Print training statistics
print(kproto.cost_)
print(kproto.n_iter_)
(这些打印件用于调试目的)。我收到以下错误:
IndexError: too many indices for array
我对syms
和X
也有一些疑问。任何帮助将不胜感激。
将分隔符“\t”更改为“,”
syms = np.genfromtxt('pameteliko.csv', dtype=str, delimiter=',')[:, 0]
print("******")
print(syms)
X = np.genfromtxt('pameteliko.csv', dtype=object, delimiter=',')[:, 1:]
因为您使用的是逗号分隔值文件。希望有用!