在聚类分析中,我们如何计算纯度?方程是什么?
我不是在寻找代码来为我做这件事。
设为簇 k,为 j 类。
那么纯度实际上是准确的吗?它看起来像是在对样本大小上每个集群的真正分类类别的数量求和。
问题是输出和输入之间的关系是什么?
如果有真阳性(TP)、真阴性(TN)、假阳性(FP)、假阴性(FN)。是吗?
在聚类分析中,我们如何计算纯度?方程是什么?
我不是在寻找代码来为我做这件事。
设为簇 k,为 j 类。
那么纯度实际上是准确的吗?它看起来像是在对样本大小上每个集群的真正分类类别的数量求和。
问题是输出和输入之间的关系是什么?
如果有真阳性(TP)、真阴性(TN)、假阳性(FP)、假阴性(FN)。是吗?
在聚类分析的背景下,纯度是聚类质量的外部评价标准。 它是正确分类的对象(数据点)总数的百分比,在单位范围 [0..1] 内。
其中 = 对象数(数据点), = 聚类数,是中的一个聚类,是聚类
当我们说“正确”时,这意味着每个集群已将一组对象识别为与基本事实所指示的同一类。我们使用这些对象的真实分类作为分配正确性的度量,但是要这样做,我们必须知道哪个集群映射到哪个真实分类。如果它是 100% 准确的,那么每个将精确映射到 1 个,但实际上我们的包含一些点,这些点的基本事实将它们分类为其他几个分类。来获得最高的聚类质量映射具有最多正确分类,即。这就是方程中的来源。
计算纯度首先创建你的混淆矩阵 这可以通过遍历每个集群并计算有多少对象被分类为每个类来完成。
| T1 | T2 | T3
---------------------
C1 | 0 | 53 | 10
C2 | 0 | 1 | 60
C3 | 0 | 16 | 0
然后对于每个集群,从其行中选择最大值,将它们相加,最后除以数据点的总数。
Purity = (53 + 60 + 16) / 140 = 0.92142