判别分析|R语言

本文介绍了判别分析的基础知识和三种常见方法:距离判别、贝叶斯判别和Fisher判别,并通过R语言展示了具体实现过程。Fisher判别分析进阶探讨了非线性判别QDA在复杂数据集中的优势。
摘要由CSDN通过智能技术生成

判别分析

前言:

判别分析(discriminant analysis)属于一种分类方法,根据已知类别的样本提供的信息,总结出分类的规律性,建立判别准则,新的样本将按照这种判别准则进行分类。根据判别的类别来分,判别分析分为两组判别和多组判别。常见的三种判别方法:

  • 距离判别

  • Bayes判别

  • Fisher判别

一、距离判别:
  • 理论知识:

存在已知类别的两个总体(G_1,G_2),现要判断未知类别的样本x属于哪个总体。计算该样本到这两个总体之间的距离(d(x,G_1))和(d(x,G_2)),若(d(x,G_1))大于(d(x,G_2)),则认为样本属于(G_2)。反之,样本属于(G_1),若相等,则进一步在判断。

在距离判别中,最核心的问题是考虑用什么方法计算两者之间的距离,常见的几种距离有欧式距离,马氏距离,欧式距离过于简单,未考虑样本方差的影响,故采取马氏距离较为理想,它不受变量相关性的影响。其计算公式为:

(d^2(x,y)=(x-y)^T\sum^{-1}(x-y)), (\sum^{-1})表示总体之间的协方差矩阵.

  • R语言实现:
##WMDB包中的wmd函数,封装了马氏距离的判别分析
library(WMDB)
train_class<-gl(3,50)##这里必须转化为数字型因子
wmd(iris[,1:4],train_class)
##       1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
## blong 1 1 1 1 1 1 1 1 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
##       27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
## blong  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
##       50 51 52 53 54 55 56 57 58 59
  • 8
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值