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)