【问题标题】:K-means cluster - Plot class proportions in each clusterK-means 集群 - 绘制每个集群中的类比例
【发布时间】:2017-07-28 09:41:36
【问题描述】:

我正在开展一个项目,利用未标记数据集的聚类结构来提高监督学习聚类算法的性能。预处理数据后 - 存储在矩阵中 - 我使用 k-means 对数据进行聚类,如下所示:

from sklearn.cluster import KMeans
k = KMeans(n_clusters=40).fit(X)

我在y 中存储了所需的标签。我很想看看不同的类是如何聚集的,即。如果集群是相对纯的或混合的。

为此,我想查看每个集群中每个类的比例。这是一个二元分类任务 - 正例(由 y 中的 1 表示)和负例(由 y 中的 0 表示)。

(y数组的第n个元素是X矩阵第n行的正确标签。)

【问题讨论】:

  • 什么是positivenegative实例?
  • @DYZ 已编辑问题。

标签: python machine-learning scikit-learn cluster-analysis


【解决方案1】:

我会使用熊猫:

import pandas as pd

将真实标签和集群标签组合成一个数据框:

df = pd.DataFrame({'clusters' : k.labels_, 'labels' : y})

按集群分组,并为每个集群获取 1 的分数:

df.groupby('clusters').apply(lambda cluster: cluster.sum()/cluster.count())

【讨论】:

    猜你喜欢
    • 2019-06-10
    • 1970-01-01
    • 2017-08-10
    • 2021-04-19
    • 2020-09-23
    • 1970-01-01
    • 2012-11-01
    • 2012-11-06
    • 2018-10-04
    相关资源
    最近更新 更多