Python 获取信息增益最大的最佳功能

Python 获取信息增益最大的最佳功能,python,scikit-learn,Python,Scikit Learn,我得到了以下数据集: https://archive.ics.uci.edu/ml/machine-learning-databases/car/car.data 我必须得到最好的特性,因为它有最大的信息增益。我是手工做的。但是,有没有一种方法可以让我使用sklearn或任何其他库来计算它呢 为了便于参考,我写了以下代码: false_count=0.0; true_count=0.0; total=0.0; for x in range(0, len(y_train)): if y_

我得到了以下数据集:

https://archive.ics.uci.edu/ml/machine-learning-databases/car/car.data
我必须得到最好的特性,因为它有最大的信息增益。我是手工做的。但是,有没有一种方法可以让我使用sklearn或任何其他库来计算它呢

为了便于参考,我写了以下代码:

false_count=0.0;
true_count=0.0;
total=0.0;
for x in range(0, len(y_train)):
    if y_train[x]==2:

              false_count=false_count+1;
              total=total+1;

    else: 

             true_count=true_count+1
             total=total+1

Entropy = -(true_count/total)*(math.log((true_count/total))/math.log(2))-(false_count/total)*(math.log((false_count/total))/math.log(2))
Scikit学习文档中有一个解释库中可用于功能选择的所有资源的示例


我从您的数据集了解到您有分类问题。这意味着这可能对特征选择有用

如果要计算熵损失,sklearn有一个函数metrics.log\u loss,: 用法例如:

log_loss(Y_Truth, Y_predicted, normalize=True)