RForML之核心包:mboost
本文介绍R做机器学习的核心包:mboost
一、mboost简介
mboost包提供基于提升(boosting)的机器学习算法和模型。
mboost包文档的介绍
Functional gradient descent algorithm (boosting) for optimizing general risk functions utilizing component-wise (penalised) least squares estimates or regression trees as base-learners for fitting generalized linear, additive and interaction models to potentially high-dimensional data.
这段话的关键点如下:
-
最小乘方或者回归树作为基本学习器;
-
梯度下降算法(提升)用于优化通用的风险函数;
-
对于潜在的高维数据拟合通用的线性、可加性和交互性模型。
二、mboost安装和加载
代码如下
##mboost包安装和加载
if(!suppressWarnings(require('mboost')))
{
install.packages('mboost')
require('mboost')
}
三、mboost应用
对身体脂肪数据构建加性回归模型
第一步:装载数据
data("bodyfat", package = "TH.data")
第二步:模型构建
### 构建加性高斯模型
### 目标变量:DEXfat
### 预测变量:age/waistcirc/hipcirc
### age采用非线性阶梯函数
### waistcirc采用线性函数
### hipcirc采用平滑的非线性函数
library('mboost')
mod <- mboost(DEXfat ~ btree(age) + bols(waistcirc) + bbs(hipcirc),
data = bodyfat)
第三步:模型结果可视化
layout(matrix(1:3, nc = 3, byrow = TRUE))
plot(mod, ask = FALSE, main = "formula")
结果见下图:
第四步:模型预测值摘要分析
summary(predict(mod))
结果如下:
第五步:实际值与模型预测值对比分析
layout(matrix(1, nc = 1, byrow = TRUE))
plot(bodyfat$DEXfat, predict(mod))
abline(a = 0, b = 1)
结果见下图:
参考资料:
1 mboost包文档:https://cran.r-project.org/web/packages/mboost/mboost.pdf
2 梯度下降算法:https://en.wikipedia.org/wiki/Gradient_descent
3 GBDT算法:http://www.cnblogs.com/joneswood/archive/2012/03/04/2379615.html
4 mboost教程:http://mboost.r-forge.r-project.org/getting_started/
【温馨提示】:因为微信公众号不支持外链,请大家点击【阅读原文】,进入【数据人网】获取更多有价值的信息。
大家可以在数据人网注册,然后写文章记录自己学习或者应用数据的历程。
您在阅读中,有什么建议或者想法,请留言。
如果您觉得本文有收获,请小额赞赏,让我有动力继续写出高质量的文章。
数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习。
平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
我们努力坚持做原创,分享和传播有价值的数据知识!
我们都是数据人,数据是有价值的,坚定不移地利用数据价值创造价值!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!