0. 정의 및 종류
Logistic regression(로지스틱 회귀)
: 새로운 설명변수의 값이 주어질 때 반응변수의 각 범주(집단)에 속할 확률이 얼마인지 예측하거나, 추정확률의 기준치에 따라 분류의 목적으로 사용하는 모델.
단, 반응변수는 범주형이며, 모형의 적합을 통해 추정된 확률을 사후확률이라고 한다.
(반응변수의 범주가 3개 이상 => 다범주(다중) 로지스틱 회귀모형
반응변수의 범주가 순서적인 경우 => 순서형 로지스틱 회귀모형)
1. 모형 해석
- odds의 관점에서 해석할 수 있다.
이를 iris 자료를 통해 살펴보면 다음과 같다.
2. 예제
2-1. iris의 setosa와 versicolor로만 이분형 로지스틱 회귀 적용 시 모형 생성 및 분류, 예측, 시각화
## binomial logistic regression
data(iris) #iris 데이터 불러오기
str(iris) #데이터 확인: 관측값이 150개, 변수가 5개.
#1) 우선 iris데이터에서 versicolor와 setosa만 추출.
a <- subset(iris, Species=='setosa' | Species=='versicolor')
a$Species <- factor(a$Species)
str(a)
해당 결과를 통해 Species(factor형 변수)에서 setosa(Y=1)와 versicolor(Y=2)만 추출된 것을 확인 가능.
이때 추후 설명을 위해 각 범주에 해당하는 수를 기억한다.
#2) 모형 생성
#glm(종속변수~독립변수, df)
b <- glm(Species~Sepal.Length, family=binomial, data = a)
summary(b)
해당 결과를 해석하면 다음과 같다.
Coefficients 결과에서
Sepal.Length의 p값(Pr(>|z|))이 거의 0이므로 ->Sepal.Length가 매우 유의한 변수이다.
즉, Sepal.Length가 한 단위 증가함에 따라 Y=2의 오즈가 exp(5.140)≒170배 증가함을 알 수 있다.
이후
회귀계수 β와 odds의 증가량 exp(β)의 신뢰구간:
로지스틱 회귀 모형 적합 결과:
적합된 로지스틱 회귀모형을 그래프로 시각화하면 다음과 같다.
#4) 로지스틱 회귀 모형 시각화
plot(a$Sepal.Length, a$Species, xlab = "Sepal.Length") #plot(x, y)
x = seq(min(a$Sepal.Length), max(a$Sepal.Length), 0.1) #a$Sepal.Length의 최소~최대를 0.1간격으로 표시
pie = 1+(1/(1+(1/exp(-27.831+5.140*x)))) #pie(x); 1+해서 추정된 확률의 범위를 (0,1)에서 (1,2)로로
lines(x, pie, type = "l", col = 'red')
여기까지는 분류 였고
앞에서 만든 모형으로 새로운 자료(편의상 모형 구축에 사용된 데이터 일부 사용)에 대한 예측을 수행 시 다음과 같다.
'데이터분석' 카테고리의 다른 글
[data mining] 지도 학습과 비지도 학습_정의, 목적, 예, 사용하는 변수 자료형 (2) | 2023.01.13 |
---|---|
빅데이터(BigData) 의미와 특징 (0) | 2022.11.14 |
[data mining] #1_데이터 마이닝이란_의미, 목적, 적용분야, 주요 알고리즘 종류 (0) | 2022.11.03 |
댓글