什么是二次判别法

二次判别属于距离判别法中的内容,以两总体距离判别法为例,对总体G1,,G2,当他们各自的协方差矩阵Σ1,Σ2不相等时,判别函数因为表达式不可化简而不再是线性的而是二次的,这时使用的构造二次判别函数进行判别类别的方法叫做二次判别法。

python中使用sklearn中的QuadraticDiscriminantAnalysis来进行二次判别分析,这里采用鸢尾花数据进行分类。

train_test_split切分训练集和测试集

这是sklearn中对数据进行切分的一个方法

X_train, X_test, y_train, y_test=sklearn.model_selection.train_test_split(X,y train_size=None, random_state=None)

X:数据的特征集
y:数据的目标值
trani_size:表示训练集和测试集的划分,trani_size=0.4表示训练集和测试集
4/6分
random_state:random_state=int表示每次划分的训练集和测试集是相同的,若没有设置或者int=0就是每次划分训练集和测试集是随机的

二次判别法

from sklearn.datasets import load_iris
import numpy as np
from sklearn import datasets
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.model_selection import train_test_split
iris_data = load_iris()
X = iris_data.data
y = iris_data.targetX_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.4,random_state=3)QDA = QuadraticDiscriminantAnalysis()QDA_fit = QDA.fit(X_train,y_train)
QDA_pre = QDA_fit.predict(X_test)print(np.array([QDA_pre,y_test]))#比较训练集和测试机的结果print('准确率:'+str(QDA.score(X_test,y_test)))#准确率

结果:

[[0 0 0 0 0 2 1 0 2 1 1 0 1 1 2 0 2 2 2 0 2 2 2 1 0 2 2 1 1 1 0 0 2 1 0 01 0 2 2 2 1 0 0 2 1 0 2 2 1 0 0 2 1 1 0 2 0 2 1][0 0 0 0 0 2 1 0 2 1 1 0 1 1 2 0 1 2 2 0 2 2 2 1 0 2 2 1 1 1 0 0 2 1 0 01 0 2 1 2 1 0 0 2 1 0 1 2 1 0 0 2 1 1 0 2 0 2 1]]
准确率:0.95

python使用QDA进行二次判别分析相关推荐

  1. python判别分析_二次判别分析Quadratic Discriminant Analysis(QDA)

    与线性判别分析类似,二次判别分析是另外一种线性判别分析算法,二者拥有类似的算法特征,区别仅在于:当不同分类样本的协方差矩阵相同时,使用线性判别分析:当不同分类样本的协方差矩阵不同时,则应该使用二次判别 ...

  2. 二次判别分析(QDA)和Python实现

    我们将在本文中介绍的模型属于称为高斯判别分析(GDA)模型的类别. 请注意,高斯判别分析模型是生成模型! 尽管它的名字叫做判别模型,但是他是生成模型. 给定N个输入变量x和相应的目标变量t的训练数据集 ...

  3. R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

    判别分析包括可用于分类和降维的方法.线性判别分析(LDA)特别受欢迎,因为它既是分类器又是降维技术.二次判别分析(QDA)是LDA的变体,允许数据的非线性分离.最后,正则化判别分析(RDA)是LDA和 ...

  4. 线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

    判别分析包括可用于分类和降维的方法.线性判别分析(LDA)特别受欢迎,因为它既是分类器又是降维技术.二次判别分析(QDA)是LDA的变体,允许数据的非线性分离.最后,正则化判别分析(RDA)是LDA和 ...

  5. R语言惩罚逻辑回归、线性判别分析LDA、广义加性模型GAM、多元自适应回归样条MARS、KNN、二次判别分析QDA、决策树、随机森林、支持向量机SVM分类优质劣质葡萄酒十折交叉验证和ROC可视化

    最近我们被客户要求撰写关于葡萄酒的研究报告,包括一些图形和统计输出. 介绍 数据包含有关葡萄牙"Vinho Verde"葡萄酒的信息.该数据集有1599个观测值和12个变量,分别是 ...

  6. python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析

    #2018-04-06 13:52:30 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘课程]二十一.朴素贝叶斯分类器详解及中文文本舆 ...

  7. 判别器loss为0_scikitlearn—线性判别分析和二次判别分析

    线性判别分析(discriminant_analysis.LinearDiscriminantAnalysis)和二次判别分析(discriminant_analysis.QuadraticDiscr ...

  8. 【数学建模】Matlab实现判别分析(线性判别和二次判别分析)

    Matlab实现判别分析(线性判别和二次判别分析) 一.简介 二.判别分析的方法 2.1 费歇(FISHER)判别思想 2.1 贝叶斯(BAYES)判别思想 三.Matlab 实现判别分析 3.1 代 ...

  9. 使用Python,Opencv进行二维直方图的计算及绘制

    使用Python,Opencv进行二维直方图的计算及绘制 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用Python,Opencv进行二维直方图的计算及绘制(分别用Opencv和Numpy计算 ...

最新文章

  1. 【项目管理】上线切割计划实践
  2. 【编程4】插入排序+快速排序+LeetCode.148(排序链表)
  3. mysql数据库的逻辑架构和存储引擎
  4. [工程测量]工程测量个人期中复习笔记
  5. Asp.net MVC - 使用PRG模式(附源码)
  6. html 字体设置草体,CSS 网页安全字体
  7. 大厂面试|字节跳动面试题汇总
  8. echarts生成三维柱状图
  9. [zz] 基于sinc的音频重采样(一):原理
  10. 第七章 本源时空(补充)
  11. PMO和PM如何准备项目状态报告及进行项目进度汇报?【附项目状态表和进度跟踪表】
  12. EDR端点检测与响应
  13. 超详细Shell学习教程第二篇
  14. iOS ffmpeg+OpenGL播放yuv+openAL 快放 慢放 视频播放器
  15. 未能加载文件或程序集“microsoft.office.interop.excel.version=15.0.0,culture=neutral
  16. 帝国理工计算机科学硕士,帝国理工计算机硕士介绍
  17. 沃尔玛logo_最受欢迎的云项目,沃尔玛对开源的投资以及更多
  18. 基于机器学习的阿里智能助理在电商领域的架构构建与实践-CSDN公开课-专题视频课程...
  19. git教程 自学笔记
  20. 各种media格式说明

热门文章

  1. 多对一(Many2One)
  2. 取消关闭计算机怎么弄,win7自动关机命令怎么设置和取消
  3. java中接口幂等性解决方案总结
  4. 【LeGO-LOAM论文阅读(二)--特征提取(二)】
  5. 聊聊redis分布式锁的8大坑
  6. FPGA笔试面试专题——时钟偏斜(skew)与抖动(Jitter)
  7. 无线回程mesh组网从入门到精通【伸手党福利】打破行业壁垒!
  8. java实现社交账号登录
  9. 基于实时计算(flink)打造舆情分析平台——新华智云...
  10. 百度智能云开物凭什么在“双跨”新增名单中排名榜首?