R: 判别分析
判别与聚类的比较:
聚类分析和判别分析有相似的作用,都是起到分类的作用。
判别分析是已知分类然后总结出判别规则,是一种有指导的学习;
聚类分析则是有了一批样本,不知道它们的分类,甚至连分成几类也不知道,希望用某种方法把观测进行合理的分类,使得同一类的观测比较接近,不同类的观测相差较多,这是无指导的学习。
所以,聚类分析依赖于对观测间的接近程度(距离)或相似程度的理解,定义不同的距离量度和相似性量度就可以产生不同的聚类结果
判别分析
基本原理:从已知的各种分类情况中总结规律(训练出判别函数),当新样品进入时,判断其与判别函数之间的相似程度(概率最大,距离最近,离差最小等判别准则)。
常用判别方法:最大似然法,Bayes判别法,距离判别法,Fisher判别法,逐步判别法等。
注意事项:1. 判别分析的基本条件:分组类型在两组以上,解释变量必须是可测的;
2. 每个解释变量不能是其它解释变量的线性组合(比如出现多重共线性情况时,判别权重会出现问题);
3. 各解释变量之间服从多元正态分布(不符合时,可使用Logistic回归替代),且各组解释变量的协方差矩阵相等(各组协方方差矩阵有显著差异时,判别函数不相同)。
相对而言,即使判别函数违反上述适用条件,也很稳健,对结果影响不大。
应用领域:对客户进行信用预测,寻找潜在客户(是否为消费者,公司是否成功,学生是否被录用等等),临床上用于鉴别诊断。
本文中分三个方法介绍判别分析,Bayes判别,距离判别,Fisher判别。
Bayes 和 距离判别:都要考虑两个、或多个总体协方差(方差是协方差的一种)相等或不等的情况,由 var.equal= 的逻辑参数表示,默认是 FALSE,表示认为两总体协方差不等。
用样本的协方差可以估计总体的协方差。
在Bayes方法中我们把相等和不等的两个结果都列了出来,距离判别里我们默认两总体协方差不等。
一般使用时,我们都以两总体的协方差不等作为标准来进行后续计算。
Bayes判别
Bayes判断 假定我们对研究对象有一定的认识,这种认识常用先验概率来描述。。。
取得样本后,用样本来修正已有的先验概率分布,得出后延概率分布。。
再通过后验分布进行各种统计推断。。
参考文献:
https://blog.csdn.net/zhubo22/article/details/8194772 总述 聚类与判别之间的关系
https://blog.csdn.net/tiaaaaa/article/details/58145126 判别分析的实例与原理。
https://blog.csdn.net/chen790646223/article/details/45450301 各种判别和分类方法。
R: 判别分析的更多相关文章
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 利用python进行数据分析2_数据采集与操作
txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- (数据科学学习手札18)二次判别分析的原理简介&Python与R实现
上一篇我们介绍了Fisher线性判别分析的原理及实现,而在判别分析中还有一个很重要的分支叫做二次判别,本文就对二次判别进行介绍: 二次判别属于距离判别法中的内容,以两总体距离判别法为例,对总体G1,, ...
- (数据科学学习手札17)线性判别分析的原理简介&Python与R实现
之前数篇博客我们比较了几种具有代表性的聚类算法,但现实工作中,最多的问题是分类与定性预测,即通过基于已标注类型的数据的各显著特征值,通过大量样本训练出的模型,来对新出现的样本进行分类,这也是机器学习中 ...
- R语言中的线性判别分析_r语言 线性判别分析
R语言中的线性判别分析_r语言 线性判别分析 在R语言中,线性判别分析(Liner Discriminant Analysis,简称LDA),依靠软件包MASS中有线性判别函数lqa()来实现.该函数 ...
- R语言与概率统计(四) 判别分析(分类)
Fisher就是找一个线L使得组内方差小,组间距离大.即找一个直线使得d最大. ####################################1.判别分析,线性判别:2.分层抽样 #inst ...
- 线性判别分析LDA原理总结
在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
随机推荐
- Django Cookie Session和自定义分页
Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...
- mysql 练习题答案
一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的 ...
- mysql字段设计坑
对varchar, char类型的字段进行排序 把价格设计成decimal的时候,要注意 "有效位数", "小数位数", 不然会发现,插入的时候最多达到上限
- python 计数器类Counter的用法
简单操作: import collections A=['a','b','b','c','d','b','a'] count=collections.Counter(A) print(count) C ...
- C++之结构体struct
原创博客,转载请注明出处! 1.简介 # C++提供一些基本的数据类型(int,float,double,char等),但由于程序处理的问题通常较复杂,基本的数据类型不能满足程序需要,因此C++允许用 ...
- UVA - 11014 Make a Crystal (莫比乌斯反演)
给定一个n*n*n的立方体(中心点为原点O),选择尽量多的点,使得对于任意两点A,B,B不在线段OA上. 可以发现,原问题可转化为三维坐标下的点(x,y,z)中有多少个点的gcd(x,y,z)=1. ...
- Scala 面向接口编程
1.如果要实现一个接口,前边没有extends关键字就可以使用extends,如果有要使用with关键字 2.Scala 中的接口支持多种继承,类或者抽象类不支持多种继承 3.抽象属性:未被实例化的属 ...
- Python函数-dir()
dir([object])函数 作用: 没有参数,返回当前本地范围内的名称列表.使用参数,试图返回该对象的有效属性的列表. 说明: 默认dir()机制表现出有不同类型的对象,因为它试图产生最相关的,而 ...
- k近邻算法C++二维情况下的实现
k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...
- es5中foreach的用法
HTML代码: <p id="result"></p> JS代码: var eleResult = document.getElementById(&quo ...