<分区>
我想计算这个示例方案的熵
http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html
任何人都可以用实际值逐步解释吗?我知道有无数的公式,但我真的不擅长理解公式:)
例如在给定的图像中,如何计算纯度得到了清楚而充分的解释
问题很明确。我需要一个例子来计算这个聚类方案的熵。可以一步步解释。计算此类方案可以是C#代码或Phyton代码
这里是熵公式
我会用 C# 编写代码
非常感谢您的帮助
我需要这里给出的答案:https://stats.stackexchange.com/questions/95731/how-to-calculate-purity
我承认 NLP 书的这一部分有点困惑,因为他们没有完整地计算集群熵的外部度量,而是专注于单个集群熵计算的计算。相反,我将尝试使用一组更直观的变量,并包括用于计算总熵的外部度量的完整方法。
聚类的总熵为:
哪里:
是簇的集合
H(w)是单簇熵
N_w是簇w
中的点数
N 是总点数。
簇w的熵
哪里:
c是所有分类的集合C中的一个分类
P(w_c) 是数据点在簇 w 中被分类为 c 的概率。
为了使其可用,我们可以用该概率的 MLE (maximum likelihood estimate) 代替概率以得出:
哪里:
|w_c| 是簇 w
中分类为
c 的点数
n_w 是集群 w
中的点数
因此,在给定的示例中,您有 3 个聚类 (w_1、w_2、w_3),我们将针对 3 个分类(x、圆、菱形)中的每一个分别计算每个聚类的熵。
H(w_1) = (5/6)log_2(5/6) + (1/6)log_2(1/6) + (0/6)log_2(0/6) = -.650
H(w_2) = (1/6)log_2(1/6) + (4/6)log_2(4/6) + (1/6)log_2(1/6) = -1.252
H(w_3) = (2/5)log_2(2/5) + (0/5)log_2(0/5) + (3/5)log_2(3/5) = -.971
因此,要找到一组簇的总熵,您需要将熵的总和乘以每个簇的相对权重。
H(欧米茄) = (-.650 * 6/17) + (-1.252 * 6/17) + (-.971 * 5/17)
H(欧米茄) = -.956
希望对您有所帮助,请随时验证并提供反馈。