专栏首页机器学习养成记不同预测算法比较实例(R语言)

不同预测算法比较实例(R语言)

预测算法种类很多,不论是为实际问题选择更好的分类器,还是模型优化中判断模型效果,都需要比较不同算法之间的优劣。本文我们将借助样本数据,演示从数据处理-训练-预测-模型比较全流程的操作实例。

实例演示框架

此次我们使用的样本数据共538条,包括18个自变量和1个因变量组成。因变量取0时代表会发生异常,取1时代表不会发生异常。整体演示框架如下:

实例演示框架

step1

SMOTE方法平衡正负样本; LOF方法剔除异常值;

step2

分别使用随机森林、逻辑回归、 svm训练分类器;

step3

绘制3个分类器的ROC曲线, 比较结果;

分步讲解

step1

导入数据后,观察y值的取值分布,发现整体样本较少,且正样本数与负样本数比例仅为4:10,因此需要扩充样本并进行正负样本平衡,这里我们使用SMOTE方法。

对数据扩充平衡后,使用LOF方法,删除异常点。根据下方异常值得分密度图,将得分超过3的点作为异常点剔除。

剔除后,数据分布如下:

step2

对处理后数据进行训练集与测试集划分,使用三种算法在训练集上构建分类器,在测试集上比较结果。

首先使用随机森林构建分类器。在构建随机森林分类器时,根据OBB误差最小选择合适的mtry值,再根据树的棵树与误差图选择合适的ntree值。

确定好参数后,训练最终分类器,并可得到变量重要性排序。

构建好随即森林分类器后,继续将逻辑回归及svm分类器构建完毕,然后将三个分类器分别对测试集进行预测。

step3

通过roc曲线比较三个分类器效果。在本例中,随即森林效果最好,逻辑回归效果最差。

完整代码

本文分享自微信公众号 - 机器学习养成记(chenchenwings)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Bagging算法(R语言)

    Bagging算法(bootstrap aggregation)由Leo Breiman提出。是一种在每个自助样本集上建立基分类器,通过投票指派得到测试样本最终...

    三猫
  • AdaBoost算法(R语言)

    Boost算法是根据Valiant提出的PAC学习模型衍生得到,是一种可以自适应的改变训练样本的分布,从而使得基分类器聚焦在特殊样本的迭代方法。从基本的Boos...

    三猫
  • PU-learing:解决正负样本不足利器(R语言)

    在实际分类场景中,经常会遇到类似这样的问题:只有标记了的正样本,和未标记的样本。比如金融风控场景,有一部分用户被标记为欺诈用户,剩下的用户未被标记,虽然这其中大...

    三猫
  • 机器学习中Bagging和Boosting的区别

    Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类...

    机器学习算法工程师
  • 实践秘籍:Boosting 与 AdaBoost

    源 / 机器之心 本文将尽可能详细地介绍有关 Boosting 和 AdaBoost 的相关概念。

    昱良
  • 机器学习中最最好用的提升方法:Boosting 与 AdaBoost

    最近,Boosting 技术在 Kaggle 竞赛以及其它预测分析任务中大行其道。本文将尽可能详细地介绍有关 Boosting 和 AdaBoost 的相关概念...

    机器之心
  • 理解计算:从根号2到AlphaGo 第6季 多维的浪漫:统计学习理论与支持向量机

    1884年,英国著名的艺术兼神学家埃德温·A·艾勃特以科幻小说的形式,出版了一本非常有趣的小书《平面国: 一个多维的传奇故事 Flatland: A Roman...

    SIGAI学习与实践平台
  • Resample方法

    核心思想在于,给定训练集,当你认为给定的训练集不能够很好地反应数据的真实分布时,可以采用重采样的方法,来增大样本.

    JNJYan
  • 机器学习入门(四) — 分类模型1 分类-分析情感2 从主题预测情感:智能餐厅评价系统3 分类器应用4 线性分类器5 决策边界6 训练和评估分类器7 什么是好的精度

    JavaEdge
  • Energy-efficient Amortized Inference with Cascaded Deep Classifiers论文笔记

    深度神经网络在许多AI任务中取得了卓越的成功, 但是通常会造成高的计算量和能量耗费, 对于某些能量有约束的应用, 例如移动传感器等.

    Mezereon

扫码关注云+社区

领取腾讯云代金券