作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对来自不同公司的产品销售的数据进行聚类。请注意,我将列中的任何字符串都映射为数值,因此我可以使用 k-means 聚类。我有以下代码,我正在对我的数据进行 k-means
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)
但是有更好的方法吗?
最佳答案
与您所做的相同,但您可以在 DataFrame 本身上调用 plot.scatter
:
import pandas as pd
import numpy as np
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')
输出:
关于python - 我如何绘制 Pandas 的 k 均值聚类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049461/
我是一名优秀的程序员,十分优秀!