首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

甄别模式—朴素贝叶斯

我就在这里等你关注,不离不弃

——A·May

R-52T-66

「甄 别 模 式

如何理解甄别模式呢?

我认为最简单理解“甄别模式”的方法就是和发现离群点作比较。

甄别模式和发现离群点都是找出数据集中和“大部队”脱节的“小组织”数据,这部分数据如果是随机因素所导致,那么该“小组织”我们就称之为离群点,我们需要消除这些数据。而如果,这“小组织”数据具有非随机性,而且具有形成的特定原因,那么我们这个“小组织”的番号就是“模式”。

综上,甄别模式,就是发现数据集中那些具有非随机性和形成特定原因的异常点。

「甄别模式方法

在甄别模式中,我们将变量分为特征变量X和标签变量Y,特征变量X一般是数值型,最好是经过标准化之后。标签变量Y就是分类变量,值为1和0,1通常表示行为发生,0表示行为未发生。

通常只有特征变量参与的甄别模式,我们称之为无监督的甄别模式,而特征变量和标签变量都参与的甄别模式,我们称之为有监督的甄别模式。

这里我们讨论的是有监督的甄别模式,使用的方法是朴素贝叶斯法,对模型的评价方法是ROC曲线法。其中,关于模型和评价中涉及的指标参数我会在实操的过程中介绍。

我们使用的是klaR包中的NaiveBayes函数建立甄别模型,利用ROCR包做模型的评价。

此外,甄别模式是个大活,与预测、聚类、分类和关联相并列,尤其是在商业案例中,这个研究需要重视。

「甄别模式实操3步

step1

利用NaiveBayes函数建立朴素贝叶斯模型

step2

利用predict对数据进行预测

step3

利用ROC曲线对预测结果进行评价

「甄别模式实操过程

step1

> bayesmodel

#x是数据中的特征变量,grouping是数据中的标签变量,但是应为因子

#输出变量应为因子

step2

> bayesfit

#object是建立好的甄别模型,newdata是数据中的特征变量

step3

> library("ROCR")

> pd

#bayesfit的返回结果包括posterior,是每个观测的预测概率值

> pf1

#y轴为回溯精度,X轴为预测的模式占总样本的比例,这都不用变

> pf2

#y轴为决策精度,X轴为回溯精度,这都不用变

> par(mfrow=c(1,2))

> plot(pf1,main="模式甄别的累计回溯精度曲线")

> plot(pf2,main="模式甄别的决策精度和回溯精度曲线")

关于结论

我们首先看第一个图,横坐标在大概是20%时,Recall也就是回溯率是100%,这表示如果认为风险评分前20%的模式是需要进行甄别的话,其覆盖了所有的观测。这种情况虽然好,但是查看第二个图,在Recall为100%的情况时,Precision也就是精确度是不确定的,在大概10%到60%之间,这并不是我们想要的结果。因为,虽然风险评分前20%的模式进行甄别的话,覆盖率高,但是精确度似乎不是最好的。

接着,我们继续比较,查看风险评分前10%的观测(这里我们要知道这个数值越小我们的可能使用的人工成本就越小)。回溯率是30%左右,对应的Precision是80%,这个精确度最好,但是覆盖范围相比之下感觉比较小,也可以考虑使用,毕竟放过一个违约行为就会造成很大的损失,个人比较支持精确高的比例选择。

「结语

关于R的学习,第一遍就到此为止,马上就要进行第二遍的学习。在第二遍中如何实现质的飞跃,是现在思考的重点,不过我会努力滴!

我是May,明天见!

学习数据挖掘交流平台

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109G0WVUK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券