R语言机器学习笔记(二):mlr任务定义

2020-07-11 00:00:00 数据 函数 变量 定义 响应

作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(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

相关文章