我有一个来自wiki 的panads 数据框
Outlook Temperature Humidity Wind Play
Sunny Hot High False No
Sunny Hot High True No
Overcast Hot High False Yes
Rainy Mild High False Yes
Rainy Cool Normal False Yes
Rainy Cool Normal True No
Overcast Cool Normal True Yes
Sunny Mild High False No
Sunny Cool Normal False Yes
Rainy Mild Normal False Yes
Sunny Mild Normal False Yes
Overcast Mild High True Yes
Overcast Hot Normal False Yes
Rainy Mild High True No
我想看看是否是outlook
/ sunny
/ overcast
,rainy
他们要玩多少次,然后计算每个结果的香农熵,所以期望的结果看起来像
Outlook Yes No Count of each group Entropy
sunny 2 3 5 0.971
overcast 4 0 4 0.000
rainy 3 2 5 0.971
其中Entropy
由公式给出 -((yes/count)log_2(yes/count) + (no/count)log_2(no/count))
例如,熵为sunny
-((2/5)log_2(2/5)+(3/5)log_2(3/5))=0.971
基础是 a
crosstab
,然后您需要对其进行后处理:输出: