简介
步骤
1. Fisher 判别(线性判别)
代码语言:javascript复制fd4 <- lda(G~x1 x2 x3 x4, d4_uni);fd4
print('------------------------------------')
predict(fd4)$class # 预测结果
print('------------------------------------')
ftab4 <- table(predict(fd4)$class, d4_uni$G);ftab4 # 判别矩阵
print('------------------------------------')
sum(diag(ftab4))/sum(ftab4) # 判对率
2. 非线性判别
代码语言:javascript复制qd4 <- qda(G~x1 x2 x3 x4,d4_uni) # 注意: 非线性判别使用 qda(),线性判别使用 lda()
qtab4 <- table(predict(qd4)$class, d4_uni$G);qtab4 # 判别矩阵
print('------------------------------------')
sum(diag(qtab4))/sum(qtab4) # 判对率
3. Bayes 判别
代码语言:javascript复制bd4 <- lda(G~x1 x2 x3 x4,d4_uni,prior=c(1,1)/2);bd4
print('------------------------------------')
btab4 <- table(predict(bd4)$class, d4_uni$G);btab4 # 判别矩阵
print('------------------------------------')
sum(diag(btab4))/sum(btab4) # 判对率
PS: Bayes 判别 也使用 lda() 函数,但需要给出先验概率。 在进行 Bayes判别时,假定各类协方差阵相同,此时判别函数为线性。 先验概率 相等的 Bayes判别模型 ,此时判别函数类似于 Fisher 线性判别函数
4. 预测
代码语言:javascript复制predict(fd4, newdata=data.frame(x1=78.3563,x2=0.8895,x3=1.8001,x4=14.1022))$class
predict(qd4, newdata=data.frame(x1=78.3563,x2=0.8895,x3=1.8001,x4=14.1022))$class
predict(bd4, newdata=data.frame(x1=78.3563,x2=0.8895,x3=1.8001,x4=14.1022))$class
案例
代码语言:javascript复制企业财务状况的判别分析
library(openxlsx)
Case6 = read.xlsx("../Res/mvcase5.xlsx", 'Case6');Case6
代码语言:javascript复制plot(Case6[,2:5], gap = 0)
代码语言:javascript复制library(MASS)
ld = lda(G~., data = Case6);ld # 线性判别
plot(ld)
代码语言:javascript复制Zld = predict(ld);Zld
data.frame(Case6$G, Zld$class, round(Zld$x, 3))
代码语言:javascript复制tab1 = table(Case6$G, Zld$class);tab1
代码语言:javascript复制sum(diag(tab1)) / sum(tab1)
代码语言:javascript复制addmargins(tab1)
代码语言:javascript复制qd = qda(G~., data = Case6);qd # 二次判别
代码语言:javascript复制Zqd = predict(qd);Zqd # 预测
代码语言:javascript复制data.frame(Case6$G, Zqd$class, round(Zqd$post, 3) * 100)
代码语言:javascript复制tab2 = table(Case6$G, Zqd$class);tab2 # 判对阵
代码语言:javascript复制sum(diag(tab2)) / sum(tab2) # 判对率
代码语言:javascript复制addmargins(tab2)
Q&A
补充
参考
- 本文作者: yiyun
- 本文链接: https://moeci.com/posts/分类-数据分析/分类-杂记/discriminant-analysis/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!