Die folgende Vorhersagefunktion gibt ebenfalls -ve-Werte an, sodass es sich nicht um Wahrscheinlichkeiten handeln kann.
param <- list(max.depth = 5, eta = 0.01, objective="binary:logistic",subsample=0.9)
bst <- xgboost(param, data = x_mat, label = y_mat,nround = 3000)
pred_s <- predict(bst, x_mat_s2)
Ich google & versuchte, pred_s <- predict(bst, x_mat_s2,type="response")
aber es hat nicht funktioniert.
Frage
Wie kann man stattdessen Wahrscheinlichkeiten vorhersagen?
machine-learning
r
predictive-modeling
decision-trees
GeorgeOfTheRF
quelle
quelle
outputmargin=F
, diepredict
Funktion zu erweitern? Wenn irgendwie der Wert aufoutputmargin
gesetzt istT
, wird der Wert vor der logistischen Umwandlung zurückgegeben.predict_proba
Implementierung von dersklearn
API kopieren : github.com/dmlc/xgboost/blob/master/python-package/xgboost/…Antworten:
Ich bin zwar etwas spät dran, aber um die Wahrscheinlichkeiten von
xgboost
dir zu bekommen , solltest du folgendesmulti:softmax
Ziel angeben :Aus dem
?xgb.train
:quelle
Verwenden Sie
predict_proba
stattpredict
. Sie können das Objektiv als verlassenbinary:logistic
.quelle
nach der Vorhersage
Sie können die Wahrscheinlichkeit durch bekommen
Wenn es sich um eine binäre Klassifizierung handelt,
pred_s$data
umfasst dies prob.0, prob.1, response.So kann man prob.1 durch bekommen
quelle