我正在进行一个基准分析,比较不同的学习者(logistic回归,梯度提升,随机森林,极端梯度提升)与mlr软件包。
我知道有两种不同类型的预处理(数据和学习者依赖和独立)。现在,我想使用mlr的包装器功能makePreprocWrapperCaret()来进行数据依赖的预处理。
然而,我不确定设置。据我正确理解,对于logistic回归,我应该用中位数(或平均值)来推断失语,但是对于基于树的模型,例如有很大价值的模型。
问题1)我将如何在下面的代码(基于树的模型)中将NAs归为非常大的值?
其次,就我正确理解而言,我应该剔除逻辑回归的离群值(例如99%和1%)。但是,对于基于树的模型来说,这是不必要的。
问题2)如何在下面的代码中截断异常值(例如99%和1%)?
最后,(再次,如果我理解正确),我应该标准化数据的逻辑回归。但是,我只能在makePreprocWrapperCaret()中找到不完全相同的"center“选项。
问题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发布于 2018-10-23 09:23:25
您可以查看mlr归责教程:https://mlr.mlr-org.com/articles/tutorial/impute.html
1)您可以使用mlr的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
https://stackoverflow.com/questions/52916855
复制相似问题