판별분석 2. 우도를 이용한 판별분석
1. 예시
-----------------------------------------
2. 판별식의 일반화
----------------------
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 = "개수")