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

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

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

 

dirkdirk   2018-10-10 21:40



   1个回答 
3

用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


SofaSofa数据科学社区DS面试题库 DS面经

matt   2018-10-11 13:48



  相关讨论

离散随机变量的熵满足的不等式如何证明?

softmax模型和最大熵模型是否是一回事?

为什么决策树中用熵而不是基尼不纯度来作为划分依据?

决策树的熵是什么?怎么用熵来选分叉?

求问:Cart分类树为什么是基尼指数最小化准则

pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题

cross entropy是什么意思?

Gini指数、Gini系数、Gini不纯是一回事吗?

最小描述长度和香农熵有什么关系?

keras里sparse_categorical_crossentropy和categorical_crossentropy什么不同?

  随便看看

pandas同时返回一个dataframe的前几行(head)和后几行(tail)

怎么把pandas dataframe中的一列转成一个list?

pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer

样本权重大小不同时,用什么分类算法比较合适?

pandas读取csv中指定的某些列