没啥好解释的,就放个代码和运行结果吧

#数据准备
x1<-c(3,3,2,3,3,3,3,3,2,2,1,3,2,1,2,2,2,3,3,2,2,2,2,2)
x2<-c(28,45,55,55,50,70,75,80,50,35,40,50,35,50,40,45,25,40,50,70,70,45,25,25)
x3<-c(2,2,3,3,2,3,3,3,3,1,2,2,2,2,2,2,1,2,3,3,3,2,1,1)
x4<-c(10.4,22,16,14.5,17.5,16.7,12.7,20.2,13.5,18.2,25,15.4,26,22.5,16.5,16.4,30,17,14.5,20.2,17,18.4,24.8,40)
x5<-c(18,18,14,11,10,15,12,20,10,5,7,1.5,6,4,2,2.5,5.5,10,13,20,18,2.5,5,5.8)
x6<-c(7.5,11.5,14.5,12.5,15,14,9.5,17,12,15.5,12,13.5,19,10,15,10,15,12,10.5,16.5,15,10,15,16)
x7<-c(3,3,3,4,3,2,3,2,3,1,2,3,1,2,1,1,2,2,3,3,2,1,2,3)
y<-factor(c(rep('Collapse',9),rep('Stable',8),rep('Collapse',4),rep('Stable',3)),levels=c('Collapse', 'Stable'))
data<-data.frame(x1,x2,x3,x4,x5,x6,x7,y)
#划分训练集
train<-data[1:17,]
test<-data[18:24,1:7]
#挑选类别
d1<-subset(train,y=="Collapse")
dim(d1)
d2<-subset(train,y=="Stable")
dim(d2)
#计算马氏距离并判别
ma1<-mahalanobis(train[1:7],colMeans(d1[,1:7]),cov(d1[,1:7]))
ma2<-mahalanobis(train[1:7],colMeans(d2[,1:7]),cov(d2[,1:7]))
pre<-c()
for(i in 1:17)
{if(ma1[i]<ma2[i]) pre[i]<-'Collapse'else pre[i]<-'Stable'
}
#合并结果
distance1<-data.frame(ma1,ma2,true=train[,8],pre)
distance1
#测试集结果
ma3<-mahalanobis(test,colMeans(d1[,1:7]),cov(d1[,1:7]))
ma4<-mahalanobis(test,colMeans(d2[,1:7]),cov(d2[,1:7]))
pre<-c()
for(i in 1:7)
{if(ma3[i]<ma4[i]) pre[i]<-'Collapse'else pre[i]<-'Stable'
}
distance2<-data.frame(ma3,ma4,true=data[18:24,8],pre)
distance2

R语言马氏距离判别法相关推荐

  1. matlab求距离判别函数,马氏距离判别法matlab

    -2.7137 -3.9604 2.两个总体协方差矩阵不相等 在MATLAB中mahal 计算马氏距离平方 d = mahal(Y,X) 输入:Y是要判别的 样本点,通常是矩阵Ymn X是已知总体的. ...

  2. R语言学习| 马氏距离mahanobis函数

    1. 马氏距离定义 2. 源代码 输入mahanobis 即可得到代码: > mahalanobis function (x, center, cov, inverted = FALSE, .. ...

  3. 判别分析(1)——距离判别法

    判别分析是多元统计分析的内容,其作用在分类确定的条件下,根据某一研究对象的各种特征的值来判断其归属于哪一类(即总体).实际上,这一类问题就是根据已有的样本数据与对应的类别,判断未知类别的数据属于哪一类 ...

  4. R语言:计算各种距离

    R语言:计算各种距离 MATLAB 版本的 http://blog.csdn.net/sinat_26917383/article/details/52101425 PYTHON版本的 http:// ...

  5. 关于判别分析的学习-距离判别法

    关于判别分析的学习-距离判别法 距离判别法 距离判别法的基本思想是依据样品x和总体G的距离来判断样品所属的总体. 所以很显然的是我们需要首先定义一个距离函数,来表示样本和总体的距离. 其实很容易首先去 ...

  6. R语言--计算各种距离

    MATLAB 版本的 http://blog.csdn.net/sinat_26917383/article/details/52101425 PYTHON版本的 http://book.2cto.c ...

  7. metric learning -- 马氏距离与欧氏距离

    一 基本概念  方差:(variance)是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量.概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度.统计中的方差(样本方差)是每个样 ...

  8. RX异常点检测算法(马氏距离)

    异常检测算法目的在于从影像中将目标信息(异常信息)从影响背景和噪声中分离出来.RX异常检测算法为一种局部目标检测算法,算法的监测窗口包括目标窗口和背景窗口,且后者远大于前者.RX算法假设数据空间白化且 ...

  9. 目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid

    本篇文章供自己学习回顾,其中错误希望指出! 先把目标跟踪中涉及到的名词抛出来: 1.卡尔曼滤波. 2.匈牙利匹配:https://blog.csdn.net/DeepCBW/article/detai ...

最新文章

  1. 机器学习处理流程、特征工程,模型设计实例
  2. 一场科技盛宴,一次“盈”满天下 安创成长营五期Demo Day完美收官
  3. QtCreater的安装路径
  4. 再次修订后的版本。。。。。。1.0(发布版,射线求交三角形)
  5. linux分区知识,Linux硬盘分区知识
  6. SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
  7. CodeForces - 1364C Ehab and Prefix MEX(贪心+构造)
  8. ref:下一个项目为什么要用 SLF4J
  9. maven 本地包依赖包打进jar
  10. flowable实战(七)flowable核心数据库表清单
  11. bootstrap 模态框日期控件datepicker被遮住问题的解决
  12. python标准化_数据标准化与Python实现
  13. django复习笔记2:models
  14. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_03-vuejs研究-vuejs基础-入门程序...
  15. python get 函数-python的__get__、__set__、__delete__(1)
  16. ssm 竞赛管理系统
  17. 西电网络攻防大赛--渗透测试第三题
  18. 如何在线将mov格式转换成mp4视频
  19. 【可视化分析】雷达图
  20. BIG-ENDIAN VS LITTLE-ENDIAN

热门文章

  1. flowable 实现逐级审批功能
  2. android表情输入,Android表情输入相关问题
  3. 几个职位信息(阿里)
  4. LDL人工数据集生成代码
  5. 暨阳学院2022年绍兴市赛校内选拔赛(题解)
  6. 字母预言卡里的魔术与数学(一)——魔术表演的艺术
  7. IntelliJ IDEA 中 Ctrl+Alt+T 快捷键失效、无法弹出surround with、与qq热键冲突-解决办法
  8. spring定时任务详解spring schedule和spring-quartz
  9. Linux之统计文件大小总和
  10. 使用javap指令解析Class文件