- A+
本文介绍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应用
对身体脂肪数据构建加性回归模型
step1:装载数据
- data("bodyfat", package = "TH.data")
step2:模型构建
- ### 构建加性高斯模型
- ### 目标变量:DEXfat
- ### 预测变量:age/waistcirc/hipcirc
- ### age采用非线性阶梯函数
- ### waistcirc采用线性函数
- ### hipcirc采用平滑的非线性函数
- library('mboost')
- mod <- mboost(DEXfat ~ btree(age) + bols(waistcirc) + bbs(hipcirc),
- data = bodyfat)
step3:模型结果可视化
- layout(matrix(1:3, nc = 3, byrow = TRUE))
- plot(mod, ask = FALSE, main = "formula")
step4:模型预测值摘要分析
- summary(predict(mod))
step5:实际值与模型预测值对比分析
- 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/
作者:JackWang
个人介绍:专注于从数据中学习,努力发掘数据之洞见,积极利用数据之价值。
支付宝打赏
微信打赏
赏