La siguiente función de predicción también proporciona valores -ve, por lo que no puede haber probabilidades.
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)
Busqué en Google e intenté pred_s <- predict(bst, x_mat_s2,type="response")
pero no funcionó.
Pregunta
¿Cómo predecir probabilidades en su lugar?
machine-learning
r
predictive-modeling
decision-trees
GeorgeOfTheRF
fuente
fuente
outputmargin=F
a lapredict
función? Si de alguna maneraoutputmargin
se establece enT
, devolverá el valor antes de la transformación logística.predict_proba
implementación desde lasklearn
API: github.com/dmlc/xgboost/blob/master/python-package/xgboost/…Respuestas:
Sé que llego un poco tarde, pero para obtener probabilidades
xgboost
tuyas debes especificarmulti:softmax
objetivos como este:De la
?xgb.train
:fuente
Solo use en
predict_proba
lugar depredict
. Puedes dejar el objetivo comobinary:logistic
.fuente
después de la predicción
puedes obtener la probabilidad por
Si esta es una clasificación binaria, entonces
pred_s$data
incluye prob.0, prob.1, respuesta.Para que pueda obtener el problema 1 por
fuente