作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个介于 0 和 1 之间的 13.876(13,876) 个值的数组。我想仅将 sklearn.cluster.KMeans
应用于此向量,以查找对这些值进行分组的不同集群.但是,KMeans 似乎适用于多维数组而不是一维数组。我想有一个技巧可以让它工作,但我不知道如何。我看到了KMeans.fit()接受 "X : array-like or sparse matrix, shape=(n_samples, n_features)",但它希望 n_samples
大于一
我尝试将我的数组放在 np.zeros() 矩阵上并运行 KMeans,但随后将所有非空值放在类 1 上,其余的放在类 0 上。
谁能帮助在一维数组上运行这个算法?
最佳答案
您有许多 1 个特征的样本,因此您可以使用 numpy 的 reshape 将数组 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
关于python - Scikit-learn:如何在一维数组上运行 KMeans?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416408/
我是一名优秀的程序员,十分优秀!