Ошибка при запуске функции nsga3fs - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь запустить модель с пакетами 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)

И тогда появляется ошибка. Я делаю что-то неправильно? Спасибо!

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