lanlanmei 发表于 2018-4-10 11:11 
学习了,但是您发的代码只包含了调参数的部分,也就是只训练了一个分类器,如果要训练多个基分类器,应该 ...
每个学习器都有自己独特的参数,要调试参数最好一个个分别做,最后的结果可以汇总比较的。比如:
- # 综合比较----
- credit.res <-
- resamples(list(
- rf = credit.rf, # 随机森林
- svm = credit.svm, # 支持向量机
- xgb = credit.xgb # xgboost
- ))
- summary(credit.res)
- bwplot(credit.res) # 汇总结果可视化,箱线图
- bwplot(credit.res, metric = "ROC")
- bwplot(credit.res, metric = "Sens")
- bwplot(credit.res, metric = "Spec")
- densityplot(credit.res, auto.key = T, pch = "|") # 汇总结果可视化,概率密度图
- densityplot(credit.res,
- auto.key = T,
- pch = "|",
- metric = "ROC")
- densityplot(credit.res,
- auto.key = T,
- pch = "|",
- metric = "Sens")
- densityplot(credit.res,
- auto.key = T,
- pch = "|",
- metric = "Spec")
复制代码
当然,也可以把一堆学习器放一起调试,但那样的代码比较复杂,mlr包里的流程更清晰些。
我目前的“套路”是,先用一堆学习器一起学习一次,综合比较下谁的结果最好,挑出精度和时间综合平衡下最好的两三个学习器,再分别一个个调参,然后再利用调优的参数进行交叉验证,最后将验证结果放一起综合比较。
就我目前的水平来说,随机森林和xgboost是“黑箱”类中常常领先的两个学习器,尤其是xgboost,速度快、效果好!偶尔有earth、glmnet、nntrain这样的学习器在某些数据集上也不错,因为它们常常耗时更少。svm支持向量机综合起来精度不如随机森林和xgboost,速度更比不过xgboost。还有一类就是深度学习,如h2o的deeplearning,效果也不错,就是慢……