통계학

판별분석 2. 우도를 이용한 판별분석

써머23 2025. 6. 13. 19:07
728x90

1. 예시

 

-----------------------------------------

2. 판별식의 일반화

----------------------

 

LDA용.xlsx
0.10MB

 

 

library(readxl)
library(MASS)
library(ggplot2)

# 1. 엑셀 파일 불러오기
data <- read_excel("d:/mydata/LDA용.xlsx", sheet = "Sheet1")

# 2. '그룹' 열을 factor로 변환
data$그룹 <- as.factor(data$`그룹`)  # 한글 변수명은 백틱 또는 따옴표로 지정

# 3. 분석 변수 선택
X <- data[, c("Con", "Ozs", "Spd")]
y <- data$`그룹`

# 4. LDA (공분산 동일 가정 하의 우도기반 판별분석) 실행
lda_result <- lda(X, grouping = y)

# 5. 예측 수행
pred <- predict(lda_result, X)
pred

# 6. 실제 vs 예측 결과 비교
confusion_matrix <- table(Actual = y, Predicted = pred$class)
print(confusion_matrix)

# 7. 분류 정확도 출력
accuracy <- mean(pred$class == y)
cat("분류 정확도:", round(accuracy * 100, 2), "%\n")

# 8. 예측 결과 시각화
data$Predicted <- pred$class
ggplot(data, aes(x = `그룹`, fill = Predicted)) +
  geom_bar(position = "dodge") +
  labs(title = "Actual vs Predicted Group (LDA)", x = "실제 그룹", y = "개수")

728x90