如何在特定列上制作 kmeans?

how make kmeans on specific columns?

我想对我的数据集的特定列进行 K 均值计算。 由于这些是分类数据,我打算对其进行 onehot_encoding。现在我想知道是否可以对特定列执行 K-means 并显示所有列的结果(例如一组)?

例如,我有 col1, col2 and col3col2 and col3 上的 K 均值是 onehot_encoded,并用 col1, col2 and col3 显示结果。 我希望我已经清楚地表达了我的担忧

这遵循 kmeans 的 basic documentation

from sklearn.cluster import KMeans
#here you select your columns
X = df[['col1', 'col2', 'col3']]
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
#this will give you the groups back
kmeans.predict(X)

因此 kmeans 预测命令将为您返回可以添加到原始数据的组。