DataScience
article thumbnail
728x90

판별 분석: 두개 이상의 모집단으로부터 표본이 섞였을 경우, 개별 경우에 대하여 그것이 어떤 모집단에 속하는지를 판별하기 위한 함수를 만들어서 데이터를 분류하는 방법

판별함수는 그룹 안 분산(Variance within group)에 비하여 그룹 간 분산(Variance between group)의 최대화로 얻어짐.

로직스틱 회귀분석과 많이 비교됨.

종류:

1) 선형(Linear)판별 분석: 정규 분포의 분산-공분산 행렬이 범주에 관계없이 동일한 경우 적용

2) 이차(Quadratic)판별 분석: 정규 분포의 분산-공분산 행렬이 범주별로 다른 경우 적용

1. 1. 선형 판별 분석(Linear Discriminant Analysis)

선형 판별 분석: 데이터를 특정 축에 투영하여 데이터를 잘 구분할 수 있는 직선을 찾는 것을 목표로 하는 분석 방법

실습

 
<r />
#패키지 설치 install.packages("caTools") install.packages("MASS") library(caTools) #training, test set set.seed(1000) split <- sample.split(iris$Species, SplitRatio=.7) train <- subset(iris, split == T) test <- subset(iris,split == F) test.y <- test[,5] # LDA 실행 library(MASS) # Species가 3종류이므로 prior 3개 설정 iris.lda <- lda(Species~., data=train, prior=c(1/3, 1/3, 1/3)) iris.lda plot(iris.lda)

Prior probabilities of groups: 각 특성별 사전 부여 비율

Group means: 각 Species 별 변수의 평균 값

Coefficients of linear discriminants: 변수 특성

데이터가 LD1을 기준으로 확실히 분리되는 것을 볼 수 있음 (98.87%).

LD2로는 특별한 분류의 효과를 보지 못함.

LD1, LD2로 구성된 모델을 기반으로 주어진 데이터에 대한 예측

 
<r />
testpred <- predict(iris.lda, test) table(test.y, testpred$class)

2. 2. 이차판별분석 (Quadratic Discriminant Analysis)​​

실습.

<r />
# 패키지설치 install.packages("biotools") library(biotools) # 분산-공분산 행렬이 동일하지 않은 지 확인 boxM(iris[1:4], iris$Species) # p-value가 0.05보다 작으면 분산-공분산 행렬이 동일하지 않음. # p-value가 0.05보다 크면 QDA 적용 못함. iris.qda <- qda(Species~., data=train, prior=c(1/3, 1/3, 1/3)) iris.qda # QDA는 직선이 아니므로 그래프로 표현하기 어려움 #테스트 데이터 대상으로 예측 testqda <- predict(iris.qda, test) table(test.y, testqda$class)

'데이터분석 > 통계기반' 카테고리의 다른 글

시계열분석(Time Series Analysis)  (2) 2022.12.12
주성분 분석(Principal Component Analysis)  (0) 2022.12.12
요인분석 (Factor Analysis)  (0) 2022.12.12
상관관계 분석  (1) 2022.12.12
변수 선택  (0) 2022.12.12
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!