로지스틱 회귀분석의 목표
종속변수(y)가 연속형이 아닌 범주형 값인 경우 분류문제를 다루기위한 통계적 방법
 
회귀식 : y = b0 + b1x1+b2x2+...+bnxn
 
주요 이론
- 분류문제를 회귀의 방법으로 해결하는 방법.
  회귀기법의 하나이므로 종속변수가 숫자로 표현.
- 로지스틱회귀식 : 다중선형회귀와 공식이 동일. 
- R : pred = predict(모델,예측값)
    #predict()함수로 예측결과 출력가능
  pred는 정수가 아닌 실수가 표시되며, 소수 첫째자리에서 반올림한 값이 예측값이다.
- 주요변수 : *** 별표 확인
- R : lm()이 아닌 glm()으로 모델학습
 
 
주요 R코드 (암기)
df$범주형y = as.integer(df$범주형y)
#범주형 자료(a,b,c..) 를 정수(1,2,3..)로 변환

모델 = glm(범주형y ~ . , 데이터셋)
summary(모델)

pred = predict(모델, 예측대상값) #범주예측
pred = round(pred,0) #list형태로 나옴.

levels(df$범주형y)[pred] #실제 범주명 알아보기

ans = as.integer(df$범주형y)
acc = mean(pred == ans) #예측정확도 계산 및 출력
 
로지스틱회귀분석 R실습
문제 : 여러독립변수 이용해 종속변수에측
 
 
#실습코드
#1)데이터셋 준비
df = iris
df$Species = as.integer(df$Species)
#범주형자료 정수로변환
 
#2)로지스틱회귀모델 학습
model=glm(Species~ . , data=df)
summary(model) #coefficients부분, ***확인
 
#3)모델로 예측하기
val = data.frame(rbind(c(5,3,1,2)) #예측대상값
names(val) = names(df)[1:4]
pred = predict(model, val) #품종예측
pred= round(pred,0)
levels(iris$Species)[pred] #실제 범주와 매칭하기
 
#4) 다수데이터 예측하기
test = iris[, 1:4]
pred = predict(model, test)
pred=round(pred,0)
ans = as.integer(iris$Species)
acc= mean(pred == ans) #예측정확도
 
 
 

 

+ Recent posts