【问题标题】:Plotting results of k-meansk-means 的绘图结果
【发布时间】:2020-05-18 17:48:04
【问题描述】:

我有一个 229 行的 pandas 数据框。每行代表一个“应变”。数据来自 4 个站点。菌株使用站点代码进行编码。

Once upon a time,此数据已聚类并

使用 Jaccard 相似系数和未加权平均连锁,检查的 229 个菌株在 S(相似性)231% 水平上形成了一个大组。在该组中,有 10 个集群或 phena 以超过 65% 的不同程度的相似性进行区分。 21 个菌株不属于这些表型组中的任何一个。没有进一步考虑少于五个成员的集群。

免责声明:我不是统计学家;我对过去均值和中位数的统计数据基本上一无所知。那时我有一个统计学家可以一起工作。我对机器学习算法也几乎一无所知,尽管从一般的角度来看,我知道聚类意味着什么。

我想尝试用更现代的方法重现聚类。我想我会尝试 k-means(如果这是一个糟糕的选择,请赐教)。

数据是布尔值。我已将其转置,以便每一列都是“应变”,而行是特征。 (对吗?)

代码:

In [106]: from sklearn.cluster import KMeans

          kmeans = KMeans(n_clusters=10)
          kmeans.fit(df_bool)

Out [106]:
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,
       n_clusters=10, n_init=10, n_jobs=None, precompute_distances='auto',
       random_state=None, tol=0.0001, verbose=0)

In [107]: labels = kmeans.predict(df_bool)
          centroids = kmeans.cluster_centers_

          labels

Out [107]: array([5, 5, 2, 2, 0, 4, 9, 8, 1, 6, 1, 1, 7, 1, 3, 1, 1, 1, 1, 1],
      dtype=int32)

问题 1:这个列表(我假设是集群编号)是我应该期待的吗?

问题 2:如何绘制部分或全部结果?

问题 3:我是否完全脱离了基地?即 K-means 对布尔数据有意义吗?我的 DataFrame 是否正确对齐?

我问对了问题吗?

【问题讨论】:

    标签: python pandas k-means


    【解决方案1】:

    问题 1:是的,您描述的输出是您应该期望的,一个数字告诉您观察最有可能属于哪个集群。

    问题 2:您无法绘制此图。人们在绘制 kmeans 时通常会使用某种降​​维将向量转换为二维,然后将它们绘制为 X 和 Y。然后您可以使用 kmeans 标签作为散点图的颜色。请参阅How to plot text clusters?,我在其中更详细地描述了这个过程。

    问题 3:kmeans 聚类可能无法很好地处理二进制数据。有关替代方案,请参阅https://www.ibm.com/support/pages/clustering-binary-data-k-means-should-be-avoided。这主要取决于数据中是否具有形成连贯分组的基本模式,以及您使用的方法是否可以捕获这些。

    【讨论】:

    • 是否有更适合二进制数据的聚类方法?
    • ":是的,你描述的输出是你应该期待的,一个数字告诉你观察最有可能属于哪个集群。 ==> 所以,鉴于我在该数组中有 20 个项目,它显然是对特征进行聚类,而不是对菌株进行聚类。所以...我需要转置数据?
    • @VickiB 我分享的链接推荐层次聚类。 scikit-learn.org/stable/modules/…
    • re:转换向量,嗯...我的数据的哪一部分会被视为“向量”? :-( (是的,我查看了您的链接,但我无法在思想上飞跃如何在此处应用它。) – 我的数据框是我的“向量”吗?
    • 是的。或者你在向量空间中的特征,如果你想这样想的话。
    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 2016-04-22
    • 1970-01-01
    • 2019-06-10
    • 2014-01-25
    • 2016-07-28
    • 2020-09-07
    相关资源
    最近更新 更多