构造matlab决策树分类器,Matlab建立逻辑回归,决策树,SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线...
尽管对于较高的阈值,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曲线...相关推荐
- matlab绘制贝叶斯曲线,Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
原文链接:http://tecdat.cn/?p=15508 绘制ROC曲线通过Logistic回归进行分类 加载样本数据.load fisheriris通过使用与versicolor和virgini ...
- matlab 朴素贝叶斯模型 代码及其案例
简介 朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算 ...
- 02-分类算法:knn、朴素贝叶斯、决策树和随机森林
目录 sklearn数据集 一.数据集划分 二. 数据集获取 三.sklearn机器学习算法的实现-估计器 分类算法-k近邻算法(KNN) 一.定义: 二.公式: 三.语法: 四.模型调优方法: 1. ...
- 决策树模型 朴素贝叶斯模型_有关决策树模型的概述
决策树模型 朴素贝叶斯模型 Decision Trees are one of the highly interpretable models and can perform both classif ...
- 机器学习系列文章——算法的实现(knn,朴素贝叶斯,决策树,模型评估)
一.机器学习算法分类: 机器学习算法可分为两大类,即分类与回归.其中分类是针对离散型数据,比如判定一直动物是猫是狗,判断一个人的信用等级:而回归问题为针对连续型数据,如预测淘宝店铺销量,预测明天气温等 ...
- 实战7:机器学习实战之 随机森林、逻辑回归、SVM算法方法进行垃圾邮件过滤分类 代码+数据
任务描述: 我们日常学习以及工作中会收到非常多的邮件,除了与学习工作相关的邮件,还会收到许多垃圾邮件,包括广告邮件.欺诈邮件等等.本任务通过邮件中包含的文本内容来判断该邮件是正常邮件(ham)还是垃圾 ...
- 数据分享|WEKA用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归信贷违约预测报告
作者:Nuo Liu 数据变得越来越重要,其核心应用"预测"也成为互联网行业以及产业变革的重要力量.近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活.便快捷地获得中小 ...
- 基于朴素贝叶斯和逻辑回归中文外卖评论情感分类
数据集介绍 数据集来源 本文用到的数据集是来自爱数科(http://www.idatascience.cn/)的中文外卖评论数据集.该数据集包含大约12000条中文外卖评论及对应的情感标签,因此我们将 ...
- 逻辑回归与朴素贝叶斯的战争
0 一起走过的 首先,小夕带领大家回顾一下文章<逻辑回归>.<Sigmoid与Softmax>.<朴素贝叶斯>中的几点内容,这几点内容也是本文的前置知识: 1. 逻 ...
最新文章
- 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
- python与c的联系_Python与C的通信#
- 通过Redis的Pub/Sub实现对服务器群的监控管理
- Python中代码书写规范与基本使用
- php 5.5 编译安装,php5.5.38编译安装
- 庄河投资10亿元强力打造“智慧城市”
- Spring Security基本原理
- 计算机机房无尘,计算机机房建设标准
- Ios 公司申请苹果账号
- 2021年电工(初级)考试题库及电工(初级)模拟考试
- 基于jQuery发射弹幕的一个小案例
- 遇到一位贵人是什么体验,贵人到底有多重要?
- 给定一个字符串s,找出s中最长的回文子串,你可以假设s的最大长度是1000。
- 【前端知识之webpack】Loader和Plugin都是什么,有什么区别
- Blender 3D Architecture, Buildings, and Scenery
- 推导Beta分布公式
- win10上安装ubunt18双系统过程中出现mmx64.efi not found问题
- CSDN cdsn显示发布频繁 请稍后重试 和保存草稿不成功 的解决办法
- Source Insight 4.0 序列号 license文件
- 解决latex图片浮动体过多的报错:Output loop---100 consecutive dead cycles和Too many unprocessed floats
热门文章
- 大学生计算机专业英语,《计算机专业英语》习题含答案(大学期末复习资料).doc...
- 使用示例_在Unity中使用ComputeShader示例
- python数据帧_Python数据帧
- 1.8 为什么是人的表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- 6.2 K-Means 算法步骤-机器学习笔记-斯坦福吴恩达教授
- STM32 进阶教程 8 - 位带操作
- MAC复用和逻辑信道优先级
- C++重载、覆盖和遮蔽
- AI+云 华为开启智能时代新纪元
- POJ-1201 Intervals---差分约束