美文网首页
[R - ml]函数实现 bagging

[R - ml]函数实现 bagging

作者: XuXiaolu | 来源:发表于2018-11-26 14:44 被阅读144次

ipred包提供是了决策树的一个bagging实现

library(ipred)
set.seed(300)
mybag = bagging(Good.Loan ~. , data = credit, nbagg = 25)
credit_pred = predict(mybag, credit)
table(credit_pred, credit$Good.Loan)

训练数据的模型已经相当好了!
不过还是要用CV的方法,检验对未来数据的性能。

我们考虑用10-fold CV 下的 bagged tree 方式。

library(caret)
set.seed(300)
ctrl = trainControl(method = 'cv', number = 10) # number 相当于 10-fold
train(Good.Loan ~., data = credit, method = 'treebag', trControl = ctrl)

kappa 值 0.3669041

除了决策树的bag, caret 包还提供了通用的bag()函数。
该函数利用一个控制对象来配置bagging的过程,该对象定义了三个函数,用于适配(fitting)的函数,
预测函数,
聚合函数(aggregrating the votes)

以SVM为例,kernlab包提供了ksvm()函数
那么bag()函数要求我们提供 训练svm, 预测以及统计votes的功能。
caret包提供了svmBag对象用于这一目的:

str(svmBag) # 一个list 包含了三个函数
svmBag$fit

因此我们可以从用如下方法构建bag 的控制对象:

bagctrl <- bagControl(fit = svmBag$fit,  # 训练
                      predict = svmBag$pred, # 预测
                      aggregate = svmBag$aggregate) # 聚集

利用该对象来控制 bagging 过程

set.seed(300)
svmbag = train(Good.Loan ~., data = credit,
               method = 'bag', trControl = ctrl, bagControl = bagctrl)
svmbag

相关文章

  • [R - ml]函数实现 bagging

    ipred包提供是了决策树的一个bagging实现 训练数据的模型已经相当好了!不过还是要用CV的方法,检验对未来...

  • [R - ml]模型优化方法:bagging

    建立数据 线性模型 训练集和测试集 bagging 自定义一个 bagging 函数

  • [ML] Bagging与Boosting

    Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果...

  • 第2章 R编程入门(一):数据集

    2.1 R语言 R是一种解释性语言,输入后可直接给出结果。R功能烤函数实现,函数形式如下:函数(输入数据, 参数=...

  • 分类树/装袋法/随机森林算法的R语言实现

    本文是我自己动手用R语言写的实现分类树的代码,以及在此基础上写的袋装法(bagging)和随机森林(random ...

  • R随手小知识笔记

    1、R中如何实现Python中itertools.combinations的效果? R中函数combn可实现类似的...

  • Bagging算法(R语言)

    原文链接:Bagging算法(R语言) 微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwing...

  • Swift 之函数

    代码实现 函数的定义 函数的定义 格式 func 函数名(行参列表) -> 返回值 {代码实现} 调用 let r...

  • 左手Python右手R

    R语言函数在Python中的实现: 1、生成等差数列 (1)R语言中seq()函数 seq(from,to,len...

  • 沧县医院产房

    奥迪R8ML

网友评论

      本文标题:[R - ml]函数实现 bagging

      本文链接:https://www.haomeiwen.com/subject/nhjbqqtx.html