尽管对于较高的阈值,SVM可以产生更好的ROC值,但逻辑回归通常更擅长区分不良雷达收益与良好雷达。朴素贝叶斯的ROC曲线通常低于其他两个ROC曲线,这表明样本内性能比其他两个分类器方法差。

比较所有三个分类器的曲线下面积。

R

1

2

3

4

5

6

AUClog

AUClog=0.9659

AUCsvm

AUCsvm=0.9489

AUCnb

AUCnb=0.9393

Logistic回归的AUC度量最高,而朴素的贝叶斯则最低。该结果表明,逻辑回归对此样本数据具有更好的样本内平均性能。

确定自定义内核功能的参数值

本示例说明如何使用ROC曲线为分类器中的自定义内核函数确定更好的参数值。

在单位圆内生成随机的一组点。

定义预测变量。将第一象限和第三象限中的点标记为属于正类别,而将第二象限和第二象限中的点标记为负类。

R

1

2

3

pred=[X1;X2];

resp=ones(4*n,1);

resp(2*n+1:end)=-1;%Labels

创建函数mysigmoid.m ,该函数 接受要素空间中的两个矩阵作为输入,并使用S形内核将其转换为Gram矩阵。

使用Sigmoid内核函数训练SVM分类器。使用标准化数据。

设置  gamma = 0.5 ,使用调整后的S形核训练SVM分类器。

R

1

2

3

4

SVMModel2=fitPosterior(SVMModel2);

[~,scores2]=resubPredict(SVMModel2);

计算两个模型的ROC曲线和曲线下面积(AUC)。

绘制ROC曲线。

R

1

2

3

4

5

6

plot(x1,y1)

holdon

plot(x2,y2)

holdoff

title('ROC for classification by SVM');

将gamma参数设置为0.5的内核函数可提供更好的样本内结果。

比较AUC度量。

R

1

2

3

4

5

6

7

8

9

10

auc1

auc2

auc1=

0.9518

auc2=

0.9985

伽玛设置为0.5时曲线下的面积大于伽玛设置为1时曲线下的面积。这也证实了伽玛参数值为0.5会产生更好的结果。为了直观比较这两个伽玛参数值的分类性能。

绘制分类树的ROC曲线

加载样本数据。

R

1

loadfisheriris

列向量  species由三种不同物种的鸢尾花组成。双矩阵  meas 包含对花朵的四种测量类型:萼片长度,萼片宽度,花瓣长度和花瓣宽度。所有度量单位均为厘米。

使用萼片的长度和宽度作为预测变量训练分类树。

根据树预测物种的分类标签和分数 。

R

1

[~,score]=resubPredict(Model);

分数是观察值(数据矩阵中的一行)所属类别的后验概率。列  score 对应于所指定的类  'ClassNames'。

由于这是一个多类问题,因此不能仅将其  score(:,2) 作为输入。这样做将无法提供  perfcurve 有关两个阴性类别(setosa和virginica)分数的足够信息。此问题与二元分类问题不同,在二元分类问题中,知道一个类别的分数就足以确定另一个类别的分数。因此,必须提供  perfcurve 将两个否定类的得分纳入考虑范围的函数。一种函数是score(:,2)-max(score(:,1),score(:,3))。

X,默认为假阳性率,  Y,默认为真阳性率(召回率或敏感性)。正类标签为  versicolor。由于未定义否定类别,因此  perfcurve 假设不属于肯定类别的观测值属于一个类别。该函数将其接受为否定类。

R

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

suby=12×2

00

0.18000.1800

0.48000.4800

0.58000.5800

0.62000.6200

0.80000.8000

0.88000.8800

0.92000.9200

0.96000.9600

0.98000.9800

subnames=1x2cell

{'setosa'}{'virginica'}

在ROC曲线上绘制ROC曲线和最佳工作点。

找到与最佳工作点相对应的阈值。

R

1

2

T((X==OPTROCPT(1))&(Y==OPTROCPT(2)))

ans=0.2857

指定  virginica 为否定类,并计算和绘制ROC曲线  versicolor。

同样,必须提供  perfcurve 将否定类分数纳入考量的函数。要使用的函数的一个示例是score(:,2)-score(:,3)。

计算ROC曲线的逐点置信区间

加载样本数据。

R

1

loadfisheriris

仅将前两个变量用作预测变量,来定义二元问题。

R

1

pred=meas(51:end,1:2);

定义二进制因变量。

R

1

resp=(1:100)'>50;%Versicolor=0,virginica=1

拟合逻辑回归模型。

通过垂直平均(VA)和使用bootstrap进行采样,计算真实正率(TPR)上的逐点置信区间。

'NBoot',1000 将引导样本的数量设置为1000。  'XVals','All' 提示  perfcurve 返回  X,  Y和  T 所有分数的Y 值,并X 使用垂直平均将所有值的值(真阳性率)  平均  (假阳性率)。 默认情况下将使用阈值平均来计算置信范围。

绘制逐点置信区间。

R

1

2

errorbar(X,Y(:,1),Y(:,1)-Y(:,2),Y(:,3)-Y(:,1));

不一定总是可以控制误报率(FPR,X 此示例中的  值)。因此,可能希望通过阈值平均来计算真实正利率(TPR)的逐点置信区间。

绘制置信区间。

R

1

2

3

figure()

errorbar(X1(:,1),Y1(:,1),Y1(:,1)-Y1(:,2),Y1(:,3)-Y1(:,1));

指定阈值计算ROC曲线。然后绘制曲线。

R

1

2

3

4

figure()

errorbar(X1(:,1),Y1(:,1),Y1(:,1)-Y1(:,2),Y1(:,3)-Y1(:,1));

构造matlab决策树分类器,Matlab建立逻辑回归,决策树,SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线...相关推荐

  1. matlab绘制贝叶斯曲线,Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线

    原文链接:http://tecdat.cn/?p=15508 绘制ROC曲线通过Logistic回归进行分类 加载样本数据.load fisheriris通过使用与versicolor和virgini ...

  2. matlab 朴素贝叶斯模型 代码及其案例

    简介 朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算 ...

  3. 02-分类算法:knn、朴素贝叶斯、决策树和随机森林

    目录 sklearn数据集 一.数据集划分 二. 数据集获取 三.sklearn机器学习算法的实现-估计器 分类算法-k近邻算法(KNN) 一.定义: 二.公式: 三.语法: 四.模型调优方法: 1. ...

  4. 决策树模型 朴素贝叶斯模型_有关决策树模型的概述

    决策树模型 朴素贝叶斯模型 Decision Trees are one of the highly interpretable models and can perform both classif ...

  5. 机器学习系列文章——算法的实现(knn,朴素贝叶斯,决策树,模型评估)

    一.机器学习算法分类: 机器学习算法可分为两大类,即分类与回归.其中分类是针对离散型数据,比如判定一直动物是猫是狗,判断一个人的信用等级:而回归问题为针对连续型数据,如预测淘宝店铺销量,预测明天气温等 ...

  6. 实战7:机器学习实战之 随机森林、逻辑回归、SVM算法方法进行垃圾邮件过滤分类 代码+数据

    任务描述: 我们日常学习以及工作中会收到非常多的邮件,除了与学习工作相关的邮件,还会收到许多垃圾邮件,包括广告邮件.欺诈邮件等等.本任务通过邮件中包含的文本内容来判断该邮件是正常邮件(ham)还是垃圾 ...

  7. 数据分享|WEKA用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归信贷违约预测报告

    作者:Nuo Liu 数据变得越来越重要,其核心应用"预测"也成为互联网行业以及产业变革的重要力量.近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活.便快捷地获得中小 ...

  8. 基于朴素贝叶斯和逻辑回归中文外卖评论情感分类

    数据集介绍 数据集来源 本文用到的数据集是来自爱数科(http://www.idatascience.cn/)的中文外卖评论数据集.该数据集包含大约12000条中文外卖评论及对应的情感标签,因此我们将 ...

  9. 逻辑回归与朴素贝叶斯的战争

    0 一起走过的 首先,小夕带领大家回顾一下文章<逻辑回归>.<Sigmoid与Softmax>.<朴素贝叶斯>中的几点内容,这几点内容也是本文的前置知识: 1. 逻 ...

最新文章

  1. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
  2. python与c的联系_Python与C的通信#
  3. 通过Redis的Pub/Sub实现对服务器群的监控管理
  4. Python中代码书写规范与基本使用
  5. php 5.5 编译安装,php5.5.38编译安装
  6. 庄河投资10亿元强力打造“智慧城市”
  7. Spring Security基本原理
  8. 计算机机房无尘,计算机机房建设标准
  9. Ios 公司申请苹果账号
  10. 2021年电工(初级)考试题库及电工(初级)模拟考试
  11. 基于jQuery发射弹幕的一个小案例
  12. 遇到一位贵人是什么体验,贵人到底有多重要?
  13. 给定一个字符串s,找出s中最长的回文子串,你可以假设s的最大长度是1000。
  14. 【前端知识之webpack】Loader和Plugin都是什么,有什么区别
  15. Blender 3D Architecture, Buildings, and Scenery
  16. 推导Beta分布公式
  17. win10上安装ubunt18双系统过程中出现mmx64.efi not found问题
  18. CSDN cdsn显示发布频繁 请稍后重试 和保存草稿不成功 的解决办法
  19. Source Insight 4.0 序列号 license文件
  20. 解决latex图片浮动体过多的报错:Output loop---100 consecutive dead cycles和Too many unprocessed floats

热门文章

  1. 大学生计算机专业英语,《计算机专业英语》习题含答案(大学期末复习资料).doc...
  2. 使用示例_在Unity中使用ComputeShader示例
  3. python数据帧_Python数据帧
  4. 1.8 为什么是人的表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  5. 6.2 K-Means 算法步骤-机器学习笔记-斯坦福吴恩达教授
  6. STM32 进阶教程 8 - 位带操作
  7. MAC复用和逻辑信道优先级
  8. C++重载、覆盖和遮蔽
  9. AI+云 华为开启智能时代新纪元
  10. POJ-1201 Intervals---差分约束