使用平台:R、Rstudio
题目描述:利用线性判别函数和贝叶斯判别方法分别判别,并进行对比分析
> rm(list=ls())
> library(foreign)
> library(MASS)
# 变量定义
> data = read.spss("判别分析(2011).sav", to.data.frame = TRUE)
re-encoding from CP936
> col1=data[,1]
> col2=data[,2]
> col3=data[,3]
# 使用函数进行分析
> lda_model <- lda(col3 ~ col1 + col2, data = data)
> qda_model <- qda(col3 ~ col1 + col2, data = data)
> lda_model <- lda(y ~ x1 + x2, data = data)
> qda_model <- qda(y ~ x1 + x2, data = data)
# 对模型进行预测并进行对比分析
> lda_pred <- predict(lda_model)
> qda_pred <- predict(qda_model)
# 计算LDA和QDA的误分类率
> lda_error_rate <- mean(lda_pred$class != data$y)
> qda_error_rate <- mean(qda_pred$class != data$y)
> cat("LDA Error Rate: ", lda_error_rate, "\n")
LDA Error Rate: 0.125
> cat("QDA Error Rate: ", qda_error_rate)
QDA Error Rate: 0.125