본문 바로가기
AI/분류

[분류 - 2] 로지스틱 회귀 실습

by Nhahan 2022. 4. 27.

성별과 나이와 연봉에 따른 (SUV 차)구매 데이터 세트(총 400행)

dataset = dataset[3:5]

(성별 제외) 나이에와 연봉에 따른 구매 회귀 예측을 해보려고 한다.

Purchased 열의 0이 구매하지 않음, 1이 구매함이다.

 

테스트 세트와 훈련 세트틑 1:3 비율로 나누고, 스케일링을 해준다

library(caTools)
set.seed(123)
split = sample.split(dataset$Purchased, SplitRatio = 0.75)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)

training_set[-3] = scale(training_set[-3])
test_set[-3] = scale(test_set[-3])

스케일링까지 완료

 

 

로지스틱 회귀는 선형적 분류이기 때문에 glm을 쓴다.

classifier = glm(formula = Purchased ~ .,
                 family = binomial, # binomial이란 무엇일까? 나중에 설명
                 data = training_set)

 

그리고 결과를 보면,

prob_pred = predict(classifier, type = 'response', newdata = test_set[-3])
prob_pred

2번은 SUV를 살 확률이 0.0162%, 4번은 0.0117%, ... 인 것을 알 수 있다.

 

이제 우리는 이 사람이 살 사람인지 아닌지에 대해 분류해볼 수 있다. 살 확률이 50%가 넘으면 1, 아니면 0으로 분류할 것이다.

y_pred = ifelse(prob_pred > 0.5, 1, 0)
y_pred

 

 

 

 

글을 다 쓰고 저장을 하지 않았나보다... 결과 어디갔지?

아무튼 로지스틱 회귀는 선형적으로 분류된 그래프라는 것만 짚고 넘어가면 된다.

댓글