1.线性判别原理解析
基本思想是”投影”,即高纬度空间的点向低纬度空间投影,从而简化问题的处理.在原坐标系下,空间中的点可能很难被分开,如图8-1,当类别Ⅰ和类别Ⅱ中的样本点都投影至图中的”原坐标轴”后,出现了部分样本点的”影子”重合的情况,这样就无法将分属于这两个类别的样本点区分开来;而如果使用如图8-2中的”投影轴”进行投影,所得到的”影子”就可以被”类别划分线”明显地区分开来.
费希尔判别最重要的就是选择出适当的投影轴,对该投影轴方向上的要求是:保证投影后,使每一类之内的投影值所形成的类内离尽可能小,而不同类之间的投影值所形成的类间距离差尽可能大.
对线性判别来说,线将样本点投影到一维空间,即直线上,若效果不明显,则可以考虑增加一个纬度,即投影到二维空间,依此类推.
而二次判别(Quadratic Discriminant Analysis,QDA)与线性判别(Linear Discriminant Analysis,LDA)的区别就在于投影面的形状不同,二次判别使用若干次曲面,而非直线或平面来将样本划分至相应的类别中.二次判别函数是一种常用的非线性判别函数.

2.在R语言中的应用
MASS包是Modern Applied Statistics with S 的缩写,即S语言在现代统计中的应用。线性判别分析(LDA)主要用到了lda(formula,data,…,subset,na.action)函数,二次判别分析(QDA)则用到了qda(formula,data,…,subset,na.action)函数。
3.以iris数据集为例进行线性判别分析
1)应用模型并查看模型的相应参数

library(MASS)
fit_lda1=lda(Species~.,data_train)
fit_lda1


2)查看模型的输出结果

fit_lda1[1:length(fit_lda1)]


3)做出模型图

plot(fit_lda1)

plot(fit_lda1,dimen=1)


4)对data_test进行预测,并观察预测结果

pre_ldal=predict(fit_lda1,data_test)
pre_ldal[1:length(pre_ldal)]


5)评测预测结果

table(data_test$Species,pre_ldal$class)
error_lda1=sum(as.numeric(as.numeric(pre_ldal$class)!=as.numeric(data_test$Species)))/nrow(data_test)

R语言分类算法之线性判别分析(Linear Discriminant Analysis)相关推荐

  1. 线性判别分析(Linear Discriminant Analysis, LDA)(含类内散度矩阵 类间散度矩阵 全局散度矩阵推导

    LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是 ...

  2. 线性判别分析(Linear Discriminant Analysis, LDA)算法分析

    LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discrimin ...

  3. 西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis

    文章目录 0. 前言 1. 线性判别分析参数求解方法 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 线性判别分析LDA的思想非常朴素:给定数据集,设法将样例投影 ...

  4. 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...

    全文链接:http://tecdat.cn/?p=27384 在本文中,数据包含有关葡萄牙"Vinho Verde"葡萄酒的信息(点击文末"阅读原文"获取完整代 ...

  5. R语言分类算法之集成学习(Bootstrap Aggregating)

    1.集成学习(Bootstrap Aggregating)原理分析: Bagging是Bootstrap Aggregating的缩写,简单来说,就是通过使用boostrap抽样得到若干不同的训练集, ...

  6. R语言分类算法之朴素贝叶斯分类(Naive Bayesian Classification)

    1.朴素贝叶斯分类原理解析 根据已知的先验概率P(A|B),利用贝叶斯公式P(B|A)=P(A|B)P(B)/P(A)求出后验概率P(B|A),即该样本属于某一类的概率,然后选择具有最大后验概率的类作 ...

  7. 线性判别分析(Linear Dicriminant Analysis)参数推导记录备忘

    线性判别分析(LDA)投影降维的思想,以类内小.类间大(类似于软件工程中高内聚低耦合思想)的目标实现了对数据集进行分类的效果. LDA的原始思想非常简单,在数据集平面(假如二维数据)上,找到一条直线, ...

  8. R语言分类算法之随机森林(Random Forest)

    1.原理分析: 随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林,新数据的 ...

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

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

最新文章

  1. 2020 年,人工智能和深度学习未来的五大趋势
  2. Uploadify 上传插件引起Chrome崩溃解决方法
  3. 75 Zabbix中文乱码问题
  4. 1.15 总结-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  5. Centos7 配置静态ip地址
  6. NSMethodSignature和NSInvocation的用法
  7. MemSQL初体验 - (3)性能测试
  8. 选择Bean 实例化策略
  9. [WPF]xml序列化以及反序列化数据
  10. 上海交通大学计算机应用基础答案,西安交通大学17年3月课程考试《计算机应用基础》作业考核试题答案...
  11. Linux实用代码--文件系统操作
  12. win7系统语音识别操作电脑的操作方法
  13. 6.4 tensorflow2实现FNN推荐系统——Python实战(第一篇)
  14. android listview多视图嵌套多视图
  15. Java编程:克鲁斯卡尔算法(未知起点求最小生成树)
  16. WP中Document的层次设计
  17. 计算机无法卸载软件,电脑安装的软件无法卸载怎么办?
  18. 一洽客服客户试用转化率100%
  19. 51单片机按键:短按,长按,按下执行松开停止
  20. 超市仓库商品库存管理系统

热门文章

  1. 微课|中学生可以这样学Python(1.3节):Python代码编写规范
  2. 2000页Python系列PPT分享九:(GUI编程)(122页)
  3. 网络 应用层 | HTTP的认识及实现(模拟实现一个简单的服务器)
  4. 机器视觉--图像形态学
  5. 递归函数合式分解python_学习python的day10之递归与内置函数
  6. python集合补集、差集、并集_python set集合运算(交集,并集,差集,对称差集)...
  7. 从新手到高手 c++全方位学习_股票新手怎样快速入门?关于散户学习炒股的几点建议...
  8. OpenCV4每日一练day3:运行OpenCV示例程序(物体跟踪)
  9. C++之继承探究(七):虚析构函数
  10. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012上海市高等校计算机等级考试试卷二级VBNET程序设计.docx...