python里怎么计算一个数组的熵(entropy)?

  统计/机器学习 模型验证 Python    浏览次数: 83
0

python里怎么计算一个数组的熵?

 

dirkdirk   2018-10-10 21:40



   1个回答 
2

用stats.entropy来算

from scipy import stats
import pandas as pd

def Entropy(labels, base=2):
    # 计算概率分布
    probs = pd.Series(labels).value_counts() / len(labels)
    # 计算底数为base的熵
    en = stats.entropy(probs, base=base)
    return en

运行结果

>>> Entropy([1, 1, 0, 1, 1])
0.72192809488736231


matt   2018-10-11 13:48



  相关主题

python里怎么求多元分类的F1 score?   1回答

测试集和验证集的区别?   4回答

交叉验证是如何进行的?   1回答

十折交叉验证   1回答

回归问题中的stratified cross validation?   2回答

micro和macro F1 score分别是什么意思?   2回答

如何在保持查全率不变的情况下提高查准率?   1回答

如果我用交叉验证,还是否需要单独分出测试集?   1回答

Stratified k-fold cross validation(分层交叉验证)   1回答

k-fold cross validation的k怎么选   2回答

用python求二元分类的混淆矩阵   2回答

机器学习里的ppv是什么意思?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!