IT

분류를 위한 로지스틱 회귀 모델 구축: Python 코드를 사용한 실용 가이드

rimicode 2023. 4. 10. 18:09
728x90
반응형
SMALL

 

로지스틱 회귀 두 가지 가능한 결과중 하나를 예측하는 것이 목표인 이진 분류 문제에 사용되는 널리 사용되는 통계 방법입니다. 이 글에서는 로지스틱 회귀를 사용하여 분류 모델을 구축하고 고객 이탈 데이터 세트를 예측합니다.

 

먼저 먼저 필요한 라이브러리를 가져오고 데이터 세트를 로드해야 합니다.

import pandas as pd
from sklearn.linear_model import LogisticRegresion
from sklearn.model_selection import train_test_split

# 데이터 세트 로드
df = pd.read_csv('customer_churn.csv')
 
 

 

데이터 세트에는 인구 통계 정보 및 다양한 계정 기능을 포함하여 통신 회사의 고객 이탈에 대한 정보가 포함되어 있습니다. 목표는 이러한 기능을 기반으로 고객이 이탈할지(1) 아닌지(0) 예측하는 것입니다.

 

다음으로 범주형 변수를 더미 변수로 변환하고 데이터 세트를 교육 및 테스트 세트로 분할하여 데이터를 전처리해야 합니다.

# 범주형 변수를 더미 변수로 변환하기
df = pd.get_dummies(df, columns=['gender', 'partner', 'dependents', 'phone_service', 'multiple_lines', 'Internet_service', 'online_ssecurity', 'online_backup', 'device_protection', 'tech_support', streaming_tv', 'streaming_movies', 'contract', 'paperless_billing', 'payment_method'])

# 데이터 집합을 학습 및 테스트 집합으로 분할
X = df.drop('churn', axis=1)
y = df['churn']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
 

 

이제 학습 세트에서 로지스틱 회귀 모델을 학습하고 테스트 세트에서 예측을 수행할 수 있습니다.

# 로지스틱 회귀 모델 훈련
logreg = LogisticRegression()
logreg.fit(X_train, y_train)

# 테스트 세트에 대한 예측 수행
y_pred = logreg.predict(X_test)
 

 

마지막으로 정확도, 정밀도, 재현율  F1 점수와 같은 다양한 메트릭을 사용하여 모델의 성능을 평가할 수 있습니다.

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# 평가 지표 계산
print('Accuracy:', accuracy_score(y_test, y_pred))
print('Precision:', precision_score(y_test, y_pred))
print('Recall:', recall_score(y_test, y_pred))
print('F1 score:', f1_score(y_test, y_pred))
 

 

이것은 Python에서 분류를 위해 로지스틱 회귀를 사용하는 방법에 대한 기본적인 예일 뿐입니다. 특정 문제 및 데이터 세트에 따라 사용할 수 있는 다른 많은 기술과 모델이 있습니다. 그러나 로지스틱 회귀는 많은 이진 분류 문제의 좋은 출발점이며 기능과 대상 변수 간의 관계에 대한 유용한 통찰력을 제공할 수 있습니다.

 

728x90
반응형
LIST