获得最佳功能,获得最大的信息收益

时间:2017-10-05 11:29:41

标签: 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_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))

2 个答案:

答案 0 :(得分:1)

Scikit-Learn文档中有一个page,它解释了库中可用于功能选择的所有资源。

我理解您的数据集存在分类问题。这意味着the chi square stat可能对特征选择有用。

答案 1 :(得分:0)

如果你想计算熵损失,sklearn有一个函数metrics.log_lossofficial documents:     用法例如:

log_loss(Y_Truth, Y_predicted, normalize=True)