如何绘制熊猫的k均值聚类?

时间:2019-03-07 17:15:16

标签: python pandas data-science k-means

我正在尝试对来自各个公司产品销售的数据进行聚类。请注意,我将列中的任何字符串映射到数值,以便可以使用k-means聚类。我在我的数据上做k均值的代码如下

FeaturesDf=FeaturesDf[['company_value','Date_value','product_value']]
# Convert DataFrame to matrix
mat = FeaturesDf.values
#Using sklearn
km = sklearn.cluster.KMeans(n_clusters=5)
km.fit(mat)
# Get cluster assignment labels
labels = km.labels_
# Format results as a DataFrame
results = pd.DataFrame(data=labels, columns=['cluster'], index=orderFeaturesDf.index)

如何绘制此图的k均值聚类图?我尝试过

plt.scatter(results.index,results['cluster'], c='black')
plt.plot(results)

但是有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

与您所做的相同,但是您可以在DataFrame本身上调用plot.scatter

from sklearn.cluster import KMeans

n = 1000
d = pd.DataFrame({
        'x': np.random.randint(0,100,n),
        'y': np.random.randint(0,100,n),
    })

m = KMeans(5)
m.fit(d)

d['cl'] = m.labels_
d.plot.scatter('x', 'y', c='cl', colormap='gist_rainbow')

输出:

enter image description here