1) Comment puis-je changer le seuil de classification (je pense que c'est 0,5 par défaut) dans RandomForest dans sklearn?
2) Comment puis-je sous-échantillonner dans Sklearn?
3) J'ai le résultat suivant du classificateur RandomForest: [[1635 1297] [520 3624]]
precision recall f1-score support
class 0 0.76 0.56 0.64 2932
class 1 0.74 0.87 0.80 4144
moyenne / total 0,75 0,74 0,73 7076
tout d'abord, les données sont déséquilibrées (30% de la classe 0 et 70% de la classe 1). Donc, je pense que le classificateur est plus susceptible d'être biaisé pour la classe 1, ce qui signifie en déplacer de la classe 0 à la classe 1 (il y a 1297 classification erronée pour la classe 0 mais 520 classification erronée pour la classe 1). Comment puis-je réparer cela? si le sous-échantillonnage peut aider? ou changer le seuil de classification?
Mise à jour: la classe 0 a 40% de la population tandis que la classe 1 est 60%. Cependant, la dérive de la classe 0 à la classe 1 (1297) est élevée alors que je veux que cela devienne faible.
la source
sample_weight
param (un poids par paramètre) qui est très flexible et permet de simulerclass_weight
(un poids par classe cible).y
? Pourquoi avez-vous différentY
ety
?