如何在 python 中的 KMeans 聚类中获得 X 值?

Posted

技术标签:

【中文标题】如何在 python 中的 KMeans 聚类中获得 X 值?【英文标题】:How do you get the X value in KMeans clustering in python? 【发布时间】:2019-12-05 22:47:57 【问题描述】:

我是 KMeans 的初学者。你如何理解取什么 X 值?我有一个包含多行和多列的数据框。我不知道如何获取一个特定的 X 值。

我无法替换整个数据框。 例如:

df = pd.read_csv("cereal.csv")
kmeans = KMeans(n_clusters=4)
kmeans.fit(X) ## How do I get this X? 

【问题讨论】:

你从哪里得到这个例子的?链接在这里,我去看看 试试这个 x_predicted = kmeans.labels_ 【参考方案1】:

X 基本上是数据框中的所有值,在本例中为 df

例如:

from sklearn.cluster import KMeans

X = df.values.astype(np.float)
kmeans = KMeans(n_clusters = 4).fit(X)

要查看分配的标签,您现在可以:

predicted_values = kmeans.labels_


注意:

在将数据传递给 KMeans 算法之前,您可能必须执行数据清理并删除特征。换句话说,可以删除某些列,例如,如果您有 ID,则可以删除。

如果您的任何列具有string 值,则需要将它们编码为numerical 格式。例如,您不能传递highlow 之类的值,您需要将它们编码为01

【讨论】:

以上是关于如何在 python 中的 KMeans 聚类中获得 X 值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中对 14 列数据框中的 8 列进行 KMeans 聚类?

带有标签数据的 KMeans 聚类

用于在 KMeans 聚类中选择适当数量的聚类的轮廓索引

k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)

返回 kmeans 聚类中最远的异常值? [关闭]

为啥同组聚类数据点在 Kmeans 聚类中落得较远或分散?