我正在对数据集执行K-means聚类,但我有可用的真实标签。在聚类期间,我使用它们来找到V-Measure和Adjusted Rand分数以获取最佳K。
为了评估我的最佳模型,我想要一个每个已知标签的度量,描述它如何被聚类 - 类似于Purity分数,但用于跨多个聚类的标签。
例如,标签0有5个数据点,因此我们有以下情况:
true_labels = [0,0,0,0,0]
cluster_numbers = [1,1,1,1,1] (即所有标签0的点都在同一个聚类中)
--> 应返回1.0的完美分数
如果标签的点分散在多个簇中,就像这样:
cluster_numbers = [0,0,0,1,1]
--> 返回0.6的分数
有人知道可以用来评估聚类中每个真实标签的指标吗?这不必像上面给出的示例那样运作。
为了评估我的最佳模型,我想要一个每个已知标签的度量,描述它如何被聚类 - 类似于Purity分数,但用于跨多个聚类的标签。
例如,标签0有5个数据点,因此我们有以下情况:
true_labels = [0,0,0,0,0]
cluster_numbers = [1,1,1,1,1] (即所有标签0的点都在同一个聚类中)
--> 应返回1.0的完美分数
如果标签的点分散在多个簇中,就像这样:
cluster_numbers = [0,0,0,1,1]
--> 返回0.6的分数
有人知道可以用来评估聚类中每个真实标签的指标吗?这不必像上面给出的示例那样运作。
adjusted_rand_score([0,0,0], [0,1,1])
来查找调整后的Rand分数,除非第一个列表中至少有两个聚类,否则会得到0.0
。 - gregory