Je veux faire une classification binaire et un niveau est "top", l'autre est "bottom". J'ai utilisé gbm dans les paquets h2o et j'ai "bottom" comme classe positive et "top" comme classe négative. Voici mon code:Comment R juge-t-il les variables factorielles positives et négatives?
fit <- h2o.gbm(x = regr.var, y = max.var,
training_frame = ddd,
nfolds = 10,
distribution = 'multinomial',
balance_classes = TRUE)
pred <- as.data.frame(h2o.predict(fit, newdata = eee))
threshold <- 0.5
pred1 <- factor(ifelse(pred[, 'top'] > threshold, 'top', 'bottom'))
err.res<-confusionMatrix(pred1 , hh$score_class)
err.res
Voici le résultat:
Confusion Matrix and Statistics
Reference
Prediction bottom top
bottom 420 123
top 1 6
Accuracy : 0.7745
95% CI : (0.7373, 0.8088)
No Information Rate : 0.7655
P-Value [Acc > NIR] : 0.3279
Kappa : 0.0657
Mcnemar's Test P-Value : <2e-16
Sensitivity : 0.99762
Specificity : 0.04651
Pos Pred Value : 0.77348
Neg Pred Value : 0.85714
Prevalence : 0.76545
Detection Rate : 0.76364
Detection Prevalence : 0.98727
Balanced Accuracy : 0.52207
'Positive' Class : bottom
Mais je veux prédire correctement plus "top". J'ai essayé de changer le seuil à 0.3, et il fonctionne mieux. Cependant, devrais-je changer dans le processus d'ajustement pour faire plus de prédiction à «top» comme métrique «ROC»? Devrais-je retourner le «haut» à la classe positive et le «bas» à la classe négative et comment puis-je le changer?
Vous avez un cas de déséquilibre de classe. Si vous voulez prédire correctement la classe la plus petite (c'est-à-dire "top" dans votre exemple), vous devrez modifier votre méthode pour que la classification correcte de la classe la plus petite ait plus de poids. Ce n'est pas une question de programmation - vous pourriez trouver de meilleures réponses sur un site différent comme les sites [stats] (http://stats.stackexchange.com/) ou [cs] (http://cs.stackexchange.com/) . – ialm
R n'a pas de concept de variable facteur positif et négatif. Ceci est entièrement géré par le paquet h2o donc vous devriez demander à ces personnes. Généralement 0 et 1 sont correctement compris par la plupart des outils tiers. – Calimo