R语言机器学习笔记(二):mlr任务定义
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。
机器学习的步,就是要对问题进行定义。什么是自变量,什么是因变量,自变量是什么类型的数据(离散、连续),这些问题都很重要。根据定义任务的不同,整个学习框架也会有所差异。在mlr中,对任务的定义,要给出一个数据表(data.frame),并告诉计算机哪个是响应变量(Y),其他列默认为解释变量(X1-Xn)。比如我们要定义一个回归任务,可以这样操作:
library(pacman)
p_load(mlr,mlbench)
data(BostonHousing, package = "mlbench")
head(BostonHousing)
#> crim zn indus chas nox rm age dis rad tax ptratio b lstat
#> 1 0.00632 18 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 396.90 4.98
#> 2 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.90 9.14
#> 3 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03
#> 4 0.03237 0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 394.63 2.94
#> 5 0.06905 0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 396.90 5.33
#> 6 0.02985 0 2.18 0 0.458 6.430 58.7 6.0622 3 222 18.7 394.12 5.21
#> medv
#> 1 24.0
#> 2 21.6
#> 3 34.7
#> 4 33.4
#> 5 36.2
#> 6 28.7
regr.task = makeRegrTask(id = "bh", data = BostonHousing, target = "medv")
regr.task
#> Supervised task: bh
#> Type: regr
#> Target: medv
#> Observations: 506
#> Features:
#> numerics factors ordered functionals
#> 12 1 0 0
#> Missings: FALSE
#> Has weights: FALSE
#> Has blocking: FALSE
#> Has coordinates: FALSE
相关文章