我有一个介于0和1之间的13.876(13,876)值数组。我sklearn.cluster.KMeans只想将此向量应用于查找将值分组的不同簇。但是,似乎KMeans适用于多维数组,而不适用于一维数组。我猜有一个使它起作用的技巧,但我不知道如何做。我看到KMeans.fit()接受 “ X:类似数组或稀疏矩阵,shape =(n_samples,n_features)” ,但它希望n_samples大于1
sklearn.cluster.KMeans
n_samples
我尝试将数组放在np.zeros()矩阵上并运行KMeans,但随后将所有非空值放在类1上,其余都放在类0上。
谁能帮助在一维数组上运行此算法?非常感谢!
您具有1个特征的许多样本,因此可以使用numpy的reshape将数组重塑为(13,876,1):
from sklearn.cluster import KMeans import numpy as np x = np.random.random(13876) km = KMeans() km.fit(x.reshape(-1,1)) # -1 will be calculated to be 13876 here