作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。
前文提要:
在机器学习中,对任务定义之后,接下来就要选模型了。在mlr包中,可以使用makeLearner函数实现。实现的过程中,我们可以:
1、选择模型。对于不同的任务有不同的模型,已经有的模型列表见Integrated Learners
2、设置输出。如分类问题,可以输出字符型、因子变量或者数值型(pred.type)
3、配置参数。可以根据模型类型来对超参数进行自定义(par.vals)。
4、给予名称。为了后期对比模型的效果并可视化,可以提前为这个模型设立一个名字(id)。
定义好模型后,把它赋值给一个对象,我们来看看官方文档的例子:
# Classification tree, set it up for predicting probabilities
classif.lrn = makeLearner("classif.randomForest", predict.type = "prob", fix.factors.prediction = TRUE)
# Regression gradient boosting machine, specify hyperparameters via a list
regr.lrn = makeLearner("regr.gbm", par.vals = list(n.trees = 500, interaction.depth = 3))
# Cox proportional hazards model with custom name
surv.lrn = makeLearner("surv.coxph", id = "cph")
# K-means with 5 clusters
cluster.lrn = makeLearner("cluster.kmeans", centers = 5)
# Multilabel Random Ferns classification algorithm
multilabel.lrn = makeLearner("multilabel.rFerns")
学习器与定义的任务一样,都是一个对象。针对这个对象,有一系列的方法来获知内部信息(如getParamSet()),以及更改内部信息(如setHyperPars)。此外,还可使用listLearners()来获知都有哪一些学习器。
参考链接: