【问题标题】:can someone explain what is the meaning of this code under the elbow meshing in k-means有人可以解释一下k-means中肘部啮合下这段代码的含义吗
【发布时间】:2021-08-03 09:50:42
【问题描述】:

实例化聚类模型和可视化器

model = KMeans(random_state = 42)

visualizer = KElbowVisualizer(model, k=(2,10))

使数据适合可视化工具

visualizer.fit(df_final.values)

完成并渲染图形

visualizer.show()

【问题讨论】:

  • 你能再具体一点吗?

标签: python cluster-analysis k-means


【解决方案1】:

K-means 是一种无监督学习,该技术中的簇数称为 K,用户必须定义​​该数。

现在,

visualizer = KElbowVisualizer(model, k=(2,10))

在上面的代码行中,我们在 2-9 范围内定义了要传递给模型的 K 的数量范围,并选择 K 其中形成一个弯头,这基本上意味着只要 K 的值和误差平方和较小,则选择 K。

此外,这种肘部方法仅在数据非常聚集时才有效。

稍后,

visualizer.fit(df_final.values)

上面的行将在可视化工具上拟合数据并在图中绘制不同的值,x 轴上具有不同的 K,y 轴上的失真分数。

示例代码:(https://www.scikit-yb.org/en/latest/api/cluster/elbow.html)

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

from yellowbrick.cluster import KElbowVisualizer

# Generate synthetic dataset with 8 random clusters
X, y = make_blobs(n_samples=1000, n_features=12, centers=8, random_state=42)

# Instantiate the clustering model and visualizer
model = KMeans()
visualizer = KElbowVisualizer(model, k=(4,12),)

visualizer.fit(X)        # Fit the data to the visualizer
visualizer.draw()   

输出

【讨论】:

  • 你能说出那条虚线是什么吗????是否需要与肘图连接以找到最佳集群数??
  • 非常感谢!!!我还有一个疑问。为什么我们使用 42 作为随机状态?我看到所有示例代码都使用 42
  • 这里回答了 42 号的原因:quora.com/…
猜你喜欢
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
相关资源
最近更新 更多