2017-10-05 1 views
0
obtenir des informations

on me donne cet ensemble de données:Obtenez la meilleure caractéristique qui donne le plus grand

https://archive.ics.uci.edu/ml/machine-learning-databases/car/car.data 

Je dois obtenir la meilleure fonctionnalité basée sur le fait qu'il a le plus grand gain d'information. Je le faisais manuellement. Mais y a-t-il un moyen de le calculer en utilisant sklearn ou une autre bibliothèque?

Juste pour la référence que j'écrivais ce code:

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)) 

Répondre

1

Il y a un page dans le scikit-learn docs qui explique toutes les ressources disponibles dans la bibliothèque pour la sélection des fonctions. Je comprends par votre jeu de données que vous avez un problème de classification. Cela signifie que the chi square stat peut être utile pour la sélection de caractéristiques.

0

si vous voulez calculer la perte d'entropie, sklearn a une fonction metrics.log_loss, official documents: utilisation par exemple:

log_loss(Y_Truth, Y_predicted, normalize=True)