【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积

题记:

         近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算ROC曲线。也是本节实验课题,roc曲线的计算原理以及如果统计TP、FP、TN、FN、TPR、FPR、ROC面积等等。往往运用ROC面积评估模型准确率,一般认为越接近0.5,模型准确率越低,最好状态接近1,完全正确的模型面积为1.下面进行展开介绍:



ROC曲线的面积计算原理

一、朴素贝叶斯法的工作过程框架图

二、利用weka工具,找到训练的预处理数据

1、利用朴素贝叶斯算法对weather.nominal.arff文件进行处理,然后选择temperature打开,选择编辑找到预处理数据如图1-1所示:

图1-1 完整天气数据信息图

2、根据上面的训练元组计算每个类的先验概率,公式为P(C)

2.1、计算先验概率

P(play=yes)=9/14=0.643

P(play=no)=5/14=0.357

2.2、 计算条件概率,根据公式P(X|C)

3、再根据公式(展示其中一个元组进行概率分类X= (outlook=sunny,temperature=mid,humidity=yes,windy=sunny))代入上述数据:

3.1、 P(X|paly=yes)=P(outlook=sunny|play=yes)* P(temperature=mid|play=yes)* P(humidity=yes|play=yes)* P (outlook=sunny|play=yes))

同理计算:P(X|paly=no)

3.2、通过结果比较,得出元组play

3.3、然后进行概率的计算

4、再引用《数据挖掘概念与技术》中P244页方法,如图1-2所示:

图1-2 返回数据样例

如上图为样例非真实数据:因为根据3.3可以计算每个元组的概率,利用概率大小进行类的排序。再根据先验概率进行TP、FP、TN、FN的真实数据,并且不难算出TPR和FPR的数据

5、再引用《数据挖掘概念与技术》中P245页知识,以FPR作为x轴,TPR作为Y轴,绘制数据的ROC曲线,将4中的数据分别代入进去,得到如图1-3所示:

图1-3 返回数据图

根据以上图形,利用数学方法得到ROC曲线面积为0.9222.然后再利用weka查看工具数据,如图1-4所示:

图1-4 weka返回数据

参考资料:

[1]  使用Weka进行数据挖掘http://www.cnblogs.com/bluewelkin/p/3538599.html

[2]  WEKA使用(基础配置+垃圾邮件过滤+聚类分析+关联挖掘)http://www.cnblogs.com/bitpeach/p/3770606.html

[3] ROC曲线下面积的计算方法(http://wenku.baidu.com/view/3d2ac9202f60ddccda38a07a.html?re=view

[4] 韩家炜,数据挖掘概念与技术,P243-P245。

[5] 分类(数据挖掘) (http://wenku.baidu.com/link?url=EdT7Xxs-a_423oM-48ih-KxtTEPrXeejci0-XSM1yk9xbkZGTvWqyiZNpZwUA8a-dlf-kReHlS63u9PXXXuDJFCsdmbpZ2kex5BhwTysWHe&qq-pf-to=pcqq.c2c

时间: 2024-10-25 07:49:11

【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积的相关文章

数据挖掘|朴素贝叶斯算法

作者:张一 链接:https://zhuanlan.zhihu.com/p/21571692 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 因为后期的项目将涉及到各种各样的价格数据处理问题,所以我们现在开始学习一些简单的数据清洗与算法的知识.关于算法,以前听起来觉得好高大上,现在开始学,觉得书上的描述并不是很通俗易懂,所以用自己的语言来简要写一下这些算法~ 注:非商业转载注明作者即可,商业转载请联系作者授权并支付稿费.本人已授权"维权骑士"网站(ht

朴素贝叶斯算法 & 应用实例

转载请注明出处:http://www.cnblogs.com/marc01in/p/4775440.html 引 和师弟师妹聊天时经常提及,若有志于从事数据挖掘.机器学习方面的工作,在大学阶段就要把基础知识都带上. 机器学习在大数据浪潮中逐渐展示她的魅力,其实<概率论>.<微积分>.<线性代数>.<运筹学>.<信息论>等几门课程算是前置课程,当然要转化为工程应用的话,编程技能也是需要的,而作为信息管理专业的同学,对于信息的理解.数据的敏感都是很好

挖掘算法(1)朴素贝叶斯算法

原文:http://www.blogchong.com/post/NaiveBayes.html 1 文档说明 该文档为朴素贝叶斯算法的介绍和分析文档,并且结合应用实例进行了详细的讲解. 其实朴素贝叶斯的概念以及流程都被写烂了,之所以写这些是方便做个整理,记录备忘.而实例部分进行了详细的描述,网络上该实例比较简单,没有过程. 至于最后部分,则是对朴素贝叶斯的一个扩展了,当然只是简单的描述了一下过程,其中涉及到的中文分词以及TFIDF算法,有时间再具体补上. 2 算法介绍 2.1 贝叶斯定理 (1

统计学习方法 -&gt; 朴素贝叶斯算法

需要知道的是在什么时候可以用朴素贝叶斯算法:需要保证特征条件独立. 主要过程是学习输入和输出的联合概率分布. 预测的时候,就可以根据输入获得对打后验概率对应的输出y. 先验概率:已知输出,求输入.后验概率相反. 简单来说朴素贝叶斯算法,就是在对样本进行学习之后,到了需要做决策的时候,给定x,给出最大概率的y.这个本质上就是一个典型的后验概率模型.不过在该模型的算法推到上,还用到了先验概率的计算.但注意:最终朴素贝叶斯就是一种后验概率模型求P(y|x). 后验概率模型有一个好处,相当于期望风险最小

[机器学习&amp;数据挖掘]朴素贝叶斯数学原理

1.准备: (1)先验概率:根据以往经验和分析得到的概率,也就是通常的概率,在全概率公式中表现是“由因求果”的果 (2)后验概率:指在得到“结果”的信息后重新修正的概率,通常为条件概率(但条件概率不全是后验概率),在贝叶斯公式中表现为“执果求因”的因 例如:加工一批零件,甲加工60%,乙加工40%,甲有0.1的概率加工出次品,乙有0.15的概率加工出次品,求一个零件是不是次品的概率即为先验概率,已经得知一个零件是次品,求此零件是甲或乙加工的概率是后验概率 (3)全概率公式:设E为随机试验,B1,

朴素贝叶斯算法及实现

1.朴素贝叶斯算法介绍 一个待分类项x=(a,b,c...),判断x属于y1,y2,y3...类别中的哪一类. 贝叶斯公式: 算法定义如下: (1).设x={a1, a2, a3, ...}为一个待分类项,而a1, a2, a3...分别为x的特征 (2).有类别集合C={y1, y2,  y3,  ..} (3).计算p(y1|x), p(y2|x), p(y3|x), .... (4).如果p(y(k)|x)=max{p(y1|x), p(y2|x), p(y3|x), ....},则x属于

朴素贝叶斯算法资料整理和PHP 实现版本

朴素贝叶斯算法简洁 http://blog.csdn.net/xlinsist/article/details/51236454 引言 先前曾经看了一篇文章,一个老外程序员写了一些很牛的Shell脚本,包括晚下班自动给老婆发短信啊,自动冲Coffee啊,自动扫描一个DBA发来的邮件啊, 等等.于是我也想用自己所学来做一点有趣的事情.我的想法如下: 首先我写个scrapy脚本来抓取某个网站上的笑话 之后写个Shell脚本每天早上6点自动抓取最新的笑话 然后用朴素贝叶斯模型来判断当前的笑话是否属于成

C#编程实现朴素贝叶斯算法下的情感分析

C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Progressing)中的重要问题,用以对文本进行正负面的判断,以及情感度评分和意见挖掘.本文借助朴素贝叶斯算法,针对文本正负面进行判别,并且利用C#进行编程实现. 不先介绍点基础? 朴素贝叶斯,真的很朴素 朴素贝叶斯分类算法,是一种有监督学习算法,通过对训练集的学习,基于先验概率与贝叶

朴素贝叶斯算法原理及实现

朴素贝叶斯算法简单高效,在处理分类问题上,是应该首先考虑的方法之一. 1.准备知识 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类. 这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A).这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率.其基本求解公式为:. 下面不加证明地直接给出贝叶斯定理: 2.朴素贝叶斯分类 2.1