我得到了这个数据集:
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))
答案 0 :(得分:1)
Scikit-Learn文档中有一个page,它解释了库中可用于功能选择的所有资源。
我理解您的数据集存在分类问题。这意味着the chi square stat可能对特征选择有用。
答案 1 :(得分:0)
如果你想计算熵损失,sklearn有一个函数metrics.log_loss
,official documents:
用法例如:
log_loss(Y_Truth, Y_predicted, normalize=True)