Слияние учеников с предварительной обработкой в ​​млр - какие настройки использовать? - PullRequest
0 голосов
/ 21 октября 2018

Я провожу сравнительный анализ, сравнивая разных учеников (логистическая регрессия, повышение градиента, случайный лес, экстремальное повышение градиента) с пакетом mlr.

Я понимаю, что существует два разных типа предварительной обработки (данные и ученик зависимы и независимы).Теперь я хотел бы провести зависимую от данных предварительную обработку с использованием функции оболочки mlr makePreprocWrapperCaret().

Однако я не уверен насчет настроек.Насколько я правильно понимаю, я должен вменять пропуски с медианой (или средним значением) для логистической регрессии, однако для моделей на основе дерева, например, с очень большими значениями.

Вопрос 1) Как бы я вменял NA с очень большими значениями в коде ниже (для моделей на основе дерева)?

Далее, насколько я понимаюправильно, я должен отключить выбросы для логистической регрессии (например, на 99% и 1%).Однако для древовидных моделей это не обязательно.

Вопрос 2) Как я могу отключить выброс (например, на 99% и 1%) в приведенном ниже коде?

Наконец, (еще раз, если я понялправильно) я должен стандартизировать данные для логистической регрессии.Тем не менее, я могу найти только «центр» вариант в makePreprocWrapperCaret(), который не совсем то же самое.

Вопрос 3) Как я могу стандартизировать в коде ниже?

Заранее большое спасибо !!

lrn_logreg = makePreprocWrapperCaret("classif.logreg", method = c("medianImpute")) #logistic regression --> include standardization + cutoff outliers
lrn_gbm = makePreprocWrapperCaret("classif.gbm") #gradient boosting --> include imputation with great values
lrn_rf = makePreprocWrapperCaret("classif.randomForest") #Random Forest --> include imputation with great values
lrn_xgboost = makePreprocWrapperCaret("classif.xgboost") #eXtreme Gradient Boosting --> include imputation with great values

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете взглянуть на учебник mlr для вменения: https://mlr.mlr -org.com / articles / tutorial / impute.html

1) Вы можете использовать makeImputeWrapper млр.Для максимального вы можете использовать imputeMax в makeImputeWrapper.

2) Для вырезания самых высоких и самых низких значений вы можете написать свой собственный preprocWrapper: https://mlr.mlr -org.com / articles / tutorial / preproc.html

3) Для нормализации уже есть функция preprocWrapper: normalizeFeatures.Смотрите также здесь: https://mlr.mlr -org.com / reference / normalizeFeatures.html

...