如何计算具有十个特征的数据集的信息增益和熵?

问题描述 投票:-1回答:1

我有一个10K的数据集,并且创建了以下十个功能:

  • 距离-(0或1)
  • IsPronoun-(对或错)
  • 字符串匹配-(真或假)
  • 指示性NP-(如果i和j是指示代词,则为真)
  • 数字协议-(检查i或j是单数还是复数代词)
  • 语义兼容性-(如果i和j在语义上可兼容)
  • 性别协议-(检查i或j是否为男性/女性)
  • IsProperNoun-(找到i或j是否为专有名词)
  • 正向-(如果i与j相反,则查找)
  • 别名-(如果i是j的别名,反之亦然)

每个要素都有来自数据集的输出。现在我想做那棵树。但是首先,我应该如何计算熵和信息增益?

algorithm machine-learning decision-tree text-classification multilabel-classification
1个回答
0
投票

您可以使用sklearn.feature_selection中的common_info_classif,但是您需要定义目标(因变量)。假设所有属性都是离散的(标称):

from sklearn.feature_selection import mutual_info_classif
print (mutual_info_classif(X_vec, Y, discrete_features=True))
© www.soinside.com 2019 - 2024. All rights reserved.