본문 바로가기
데이터 분석 도전기

파이썬 머신러닝 시리즈 4편: 로지스틱 회귀 분석

by 프로 탈출러 2023. 6. 19.
반응형
파이썬 머신러닝 시리즈 4편: 로지스틱 회귀 분석

파이썬 머신러닝 시리즈 4편: 로지스틱 회귀 분석

이번에는 "파이썬 머신러닝 시리즈"의 네 번째 편으로, 분류 문제를 해결하는데 널리 사용되는 로지스틱 회귀 분석에 대해 알아보도록 하겠습니다.

로지스틱 회귀 분석이란?

로지스틱 회귀 분석은 종속 변수가 범주형 데이터인 경우에 사용되는 회귀 분석 방법입니다. 이는 선형 회귀와 다르게, 결과 값이 연속적인 수치가 아닌 특정 범주에 속하게 됩니다. 로지스틱 회귀 분석은 결과를 확률로 표현하며, 이 확률에 따라 특정 분류로 판정하게 됩니다.

로지스틱 회귀 분석의 기본 이론

로지스틱 회귀 분석은 선형 회귀의 예측 값을 로지스틱 함수에 통과시켜, 결과값을 [0,1] 범위로 제한합니다. 이를 통해 결과값을 확률로 해석할 수 있게 됩니다.

예를 들어, 이메일이 스팸인지 아닌지를 판별하는 모델을 만든다고 가정해보겠습니다. 이 경우 로지스틱 회귀 모델은 이메일의 특성을 입력으로 받아, 해당 이메일이 스팸일 확률을 출력하게 됩니다.

로지스틱 회귀 분석의 실제 적용

로지스틱 회귀 분석은 의료, 마케팅, 금융 등 다양한 분야에서 활용됩니다. 예를 들어, 환자의 진단 데이터를 바탕으로 특정 질병을 가질 확률을 예측하거나, 고객의 구매 이력을 바탕으로 특정 상품을 구매할 확률을 예측하는데 사용될 수 있습니다.

파이썬을 이용한 로지스틱 회귀 분석

파이썬에서는 scikit-learn 라이브러리를 이용해 로지스틱 회귀 모델을 쉽게 학습하고 예측을 수행할 수 있습니다.

먼저 필요한 라이브러리를 불러옵니다.

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn import metrics

이제 데이터를 불러옵니다. 이번에는 위스콘신 유방암 데이터를 이용하겠습니다.

from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
X = cancer.data
y = cancer.target

이제 학습 데이터와 테스트 데이터를 분리합니다.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

로지스틱 회귀 모델을 학습합니다.

model = LogisticRegression()
model.fit(X_train, y_train)

이제 테스트 데이터에 대해 예측을 수행하고, 모델의 성능을 평가합니다.

y_pred = model.predict(X_test)
print('Accuracy:', metrics.accuracy_score(y_test, y_pred))

여기서 Accuracy는 모델이 올바르게 분류한 샘플의 비율을 나타냅니다. 값이 높을수록 모델의 성능이 좋다고 판단할 수 있습니다.

마치며

이번 시간에는 로지스틱 회귀 분석에 대해 알아보았습니다. 로지스틱 회귀 분석의 기본 이론부터 실제 적용 방법까지 다양한 내용을 다루어 보았습니다. 다음 시리즈에서는 또 다른 머신러닝 기법인 결정 트리에 대해 알아보도록 하겠습니다. 기대해주세요!

반응형
LIST