题记:

         近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算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

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

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

    转载请注明出处:http://www.cnblogs.com/marc01in/p/4775440.html 引 和师弟师妹聊天时经常提及,若有志于从事数据挖掘.机器学习方面的工作,在大学阶段就要把基 ...

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

    这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...

  3. 朴素贝叶斯算法的python实现

    朴素贝叶斯 算法优缺点 优点:在数据较少的情况下依然有效,可以处理多类别问题 缺点:对输入数据的准备方式敏感 适用数据类型:标称型数据 算法思想: 朴素贝叶斯比如我们想判断一个邮件是不是垃圾邮件,那么 ...

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

    C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Lang ...

  5. 朴素贝叶斯算法(Naive Bayes)

    朴素贝叶斯算法(Naive Bayes) 阅读目录 一.病人分类的例子 二.朴素贝叶斯分类器的公式 三.账号分类的例子 四.性别分类的例子 生活中很多场合需要用到分类,比如新闻分类.病人分类等等. 本 ...

  6. [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)

    [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...

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

    1.准备: (1)先验概率:根据以往经验和分析得到的概率,也就是通常的概率,在全概率公式中表现是“由因求果”的果 (2)后验概率:指在得到“结果”的信息后重新修正的概率,通常为条件概率(但条件概率不全 ...

  8. 朴素贝叶斯算法--python实现

    朴素贝叶斯算法要理解一下基础:    [朴素:特征条件独立   贝叶斯:基于贝叶斯定理] 1朴素贝叶斯的概念[联合概率分布.先验概率.条件概率**.全概率公式][条件独立性假设.]   极大似然估计 ...

  9. 【十大算法实现之naive bayes】朴素贝叶斯算法之文本分类算法的理解与实现

    关于bayes的基础知识,请参考: 基于朴素贝叶斯分类器的文本聚类算法 (上) http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.h ...

随机推荐

  1. Webform 上传图片加水印

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  2. jquery 回到顶部,简洁大方

    效果

  3. laravel中如何防止直接访问.env文件

    .env文件含有数据库账号密码等敏感数据,在laravel5.2中,在本地访问127.0.0.1/laravel/.env可直接访问到.env. 为避免.env被直接访问,可使用重定向,方法如下: 在 ...

  4. 纯css3 Star

    <style><!--* { box-sizing: border-box; padding: 0px; margin: 0px; } body, html { height: 10 ...

  5. Html5 中的新语义标签

    1.1 语义标签对于我们并不陌生,如<p>表示一个段落.<ul>表示一个无序列表<h1> ~ <h6>表示一系列标题等,在此基础上HTML5增加了大量更 ...

  6. 剑指offer编程题java实现(正在更新)

    面试题三:查找二维数组中元素问题 public static void main(String[] args){ int[][] num = {{1,2,8,9},{2,4,9,12},{4,7,10 ...

  7. ASP.NET Core 1.0中的管道-中间件模式

    ASP.NET Core 1.0借鉴了Katana项目的管道设计(Pipeline).日志记录.用户认证.MVC等模块都以中间件(Middleware)的方式注册在管道中.显而易见这样的设计非常松耦合 ...

  8. 关于printf错用格式化字符串导致double和long double输出错误的小随笔

    [题外话] 以前用HUSTOJ给学校搭建Online Judge,所有的评测都是在Linux下进行的.后来为了好往学校服务器上部署,所以大家重新做了一套Online Judge,Web和Judge都是 ...

  9. Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint

    <Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...

  10. Maven 最佳实践

    持续不断地学习maven Maven是一个很好的工具,但同时也拥有陡峭的学习曲线.因此,将 http://books.sonatype.com/mvnref-book/reference/ 加入到你的 ...