前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不同预测算法比较实例(R语言)

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

作者头像
三猫
发布2019-03-06 10:18:56
1.7K0
发布2019-03-06 10:18:56
举报

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

实例演示框架

此次我们使用的样本数据共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曲线比较三个分类器效果。在本例中,随即森林效果最好,逻辑回归效果最差。

完整代码

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档