Я использую алгоритм 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
)
Первая модель - та, к которой я привык, а вторая - что-то вроде модели, которую я хочу. Единственным отличием является формат метки, но я не знаю, возможен ли второй вариант.
Спасибо!