Я пытаюсь запустить модель с пакетами mlr, parallelMap, rPref, xgboost, но у меня возникают некоторые проблемы с функцией nsga3fs (). Это дает мне следующее сообщение об ошибке:
00001: Error in mlr::performance(pred, auc) :
Assertion on 'pred' failed: Must inherit from class 'Prediction', but has classes 'ResampleResult','list'.
Пожалуйста, найдите воспроизводимый пример ниже:
nsga3fs(df, target, obj_list, obj_names, pareto, pop_size, max_gen, model,
resampling = FALSE, num_features = TRUE, mutation_rate = 0.1,
threshold = 0.5, feature_cost = FALSE,
r_measures = list(mlr::mmce), cpus = 1)
xgb_learner <- mlr::makeLearner("classif.xgboost", predict.type = "prob",
par.vals = list(
objective = "binary:logistic",
eval_metric = "error",nrounds = 2))
rsmp <- mlr::makeResampleDesc("CV", iters = 2)
measures <- list(mlr::mmce)
f_auc <- function(pred){auc <- mlr::performance(pred, auc)
return(as.numeric(auc))}
objective <- c(f_auc)
o_names <- c("AUC", "nf")
par <- rPref::high(AUC)*rPref::low(nf)
nsga3fs(df = german_credit, target = "BAD", obj_list = objective,
obj_names = o_names, pareto = par, pop_size = 1, max_gen = 1,
model = xgb_learner, resampling = rsmp,
num_features = TRUE, r_measures = measures, cpus = 1)
И тогда появляется ошибка. Я делаю что-то неправильно? Спасибо!