R语言机器学习之核心包mboost

  • A+
所属分类:R语言 机器学习

本文介绍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.

这段话的关键点如下:

  • 最小乘方或者回归树作为基本学习器;
  • 梯度下降算法(提升)用语优化通用的风险函数;
  • 对于潜在的高维数据拟合通用的线性、可加性和交互性模型。

R语言机器学习之核心包mboost

二、mboost安装和加载

代码如下

  1. ##mboost包安装和加载
  2. if(!suppressWarnings(require('mboost')))
  3. {
  4. install.packages('mboost')
  5. require('mboost')
  6. }

三、mboost应用

对身体脂肪数据构建加性回归模型

step1:装载数据

  1. data("bodyfat", package = "TH.data")

step2:模型构建

  1. ### 构建加性高斯模型
  2. ### 目标变量:DEXfat
  3. ### 预测变量:age/waistcirc/hipcirc
  4. ### age采用非线性阶梯函数
  5. ### waistcirc采用线性函数
  6. ### hipcirc采用平滑的非线性函数
  7. library('mboost')
  8. mod <- mboost(DEXfat ~ btree(age) + bols(waistcirc) + bbs(hipcirc),
  9. data = bodyfat)

step3:模型结果可视化

  1. layout(matrix(1:3, nc = 3, byrow = TRUE))
  2. plot(mod, ask = FALSE, main = "formula")

结果见下图:
R语言机器学习之核心包mboost

step4:模型预测值摘要分析

  1. summary(predict(mod))

结果如下:
R语言机器学习之核心包mboost

step5:实际值与模型预测值对比分析

  1. layout(matrix(1, nc = 1, byrow = TRUE))
  2. plot(bodyfat$DEXfat, predict(mod))
  3. abline(a = 0, b = 1)

结果见下图:
R语言机器学习之核心包mboost

参考资料:

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

个人介绍:专注于从数据中学习,努力发掘数据之洞见,积极利用数据之价值。

精选各名校数学专业考研初试试卷
基于大数据的用户特征分析
误差分位数的默示有效估计与\ 自回归时间序列的预测区间
2016年度中国软件开发者白皮书下载(PDF)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: