判别与聚类的比较:

聚类分析和判别分析有相似的作用,都是起到分类的作用。

判别分析是已知分类然后总结出判别规则,是一种有指导的学习;

聚类分析则是有了一批样本,不知道它们的分类,甚至连分成几类也不知道,希望用某种方法把观测进行合理的分类,使得同一类的观测比较接近,不同类的观测相差较多,这是无指导的学习。
    所以,聚类分析依赖于对观测间的接近程度(距离)或相似程度的理解,定义不同的距离量度和相似性量度就可以产生不同的聚类结果

判别分析

基本原理:从已知的各种分类情况中总结规律(训练出判别函数),当新样品进入时,判断其与判别函数之间的相似程度(概率最大,距离最近,离差最小等判别准则)。

常用判别方法:最大似然法,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: 判别分析的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  3. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  4. (数据科学学习手札18)二次判别分析的原理简介&Python与R实现

    上一篇我们介绍了Fisher线性判别分析的原理及实现,而在判别分析中还有一个很重要的分支叫做二次判别,本文就对二次判别进行介绍: 二次判别属于距离判别法中的内容,以两总体距离判别法为例,对总体G1,, ...

  5. (数据科学学习手札17)线性判别分析的原理简介&Python与R实现

    之前数篇博客我们比较了几种具有代表性的聚类算法,但现实工作中,最多的问题是分类与定性预测,即通过基于已标注类型的数据的各显著特征值,通过大量样本训练出的模型,来对新出现的样本进行分类,这也是机器学习中 ...

  6. R语言中的线性判别分析_r语言 线性判别分析

    R语言中的线性判别分析_r语言 线性判别分析 在R语言中,线性判别分析(Liner Discriminant Analysis,简称LDA),依靠软件包MASS中有线性判别函数lqa()来实现.该函数 ...

  7. R语言与概率统计(四) 判别分析(分类)

    Fisher就是找一个线L使得组内方差小,组间距离大.即找一个直线使得d最大. ####################################1.判别分析,线性判别:2.分层抽样 #inst ...

  8. 线性判别分析LDA原理总结

    在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...

  9. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

随机推荐

  1. Django Cookie Session和自定义分页

    Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...

  2. mysql 练习题答案

    一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的 ...

  3. mysql字段设计坑

    对varchar, char类型的字段进行排序 把价格设计成decimal的时候,要注意 "有效位数", "小数位数", 不然会发现,插入的时候最多达到上限

  4. python 计数器类Counter的用法

    简单操作: import collections A=['a','b','b','c','d','b','a'] count=collections.Counter(A) print(count) C ...

  5. C++之结构体struct

    原创博客,转载请注明出处! 1.简介 # C++提供一些基本的数据类型(int,float,double,char等),但由于程序处理的问题通常较复杂,基本的数据类型不能满足程序需要,因此C++允许用 ...

  6. UVA - 11014 Make a Crystal (莫比乌斯反演)

    给定一个n*n*n的立方体(中心点为原点O),选择尽量多的点,使得对于任意两点A,B,B不在线段OA上. 可以发现,原问题可转化为三维坐标下的点(x,y,z)中有多少个点的gcd(x,y,z)=1. ...

  7. Scala 面向接口编程

    1.如果要实现一个接口,前边没有extends关键字就可以使用extends,如果有要使用with关键字 2.Scala 中的接口支持多种继承,类或者抽象类不支持多种继承 3.抽象属性:未被实例化的属 ...

  8. Python函数-dir()

    dir([object])函数 作用: 没有参数,返回当前本地范围内的名称列表.使用参数,试图返回该对象的有效属性的列表. 说明: 默认dir()机制表现出有不同类型的对象,因为它试图产生最相关的,而 ...

  9. k近邻算法C++二维情况下的实现

    k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...

  10. es5中foreach的用法

    HTML代码: <p id="result"></p> JS代码: var eleResult = document.getElementById(&quo ...