Вероятность ввода XGBOST R - PullRequest
0 голосов
/ 05 июля 2018

Я использую алгоритм XGBoost с R. Я знаю, что с параметром target = 'multi: softprob' он возвращает вероятность того, что предсказанное значение будет в каждом классе.

Кроме того, я хочу также ввести метки модели в качестве вероятностей. Я искал и ничего не нашел. Кто-то знает, возможно ли это?

Вот код, который я должен попробовать:

#Create Random data
X <- data.frame(replicate(2,sample(0:1,6,rep=TRUE)))
X$X1 <- as.numeric(X$X1)
X$X2 <- as.numeric(X$X2)
Y1 = matrix(c(1,1,0,1,0,1),nrow=6, ncol=1) 
Y2 = matrix(c(0.1,0.9,0.1,0.9,0.9,0.1,0.1,0.9,0.9,0.1,0.1,0.9),nrow=6, ncol=2) 

#First model
xgb1 <- xgboost(data = data.matrix(X), 
               label = Y1,
               eta = 0.1,
               max_depth = 15, 
               nround=25, 
               subsample = 0.5,
               colsample_bytree = 0.5,
               seed = 1,
               eval_metric = "merror",
               objective = "multi:softprob",
               num_class = 2,
               nthread = 3
)
predict(xgb1, data.matrix(X[1,]))

#Desired model
xgb <- xgboost(data = data.matrix(X), 
               label = Y2,
               eta = 0.1,
               max_depth = 15, 
               nround=25, 
               subsample = 0.5,
               colsample_bytree = 0.5,
               seed = 1,
               eval_metric = "merror",
               objective = "multi:softprob",
               num_class = 2,
               nthread = 3
)

Первая модель - та, к которой я привык, а вторая - что-то вроде модели, которую я хочу. Единственным отличием является формат метки, но я не знаю, возможен ли второй вариант.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...