IE가 어른이 되기까지

[Machine Learning] 로지스틱 회귀분석 Scikit Learn으로 구현하기 본문

ML/Python

[Machine Learning] 로지스틱 회귀분석 Scikit Learn으로 구현하기

기모랑의 초코 2023. 1. 17. 14:44

 

 

 

https://piscesue0317.tistory.com/46
 

[Machine Learning] 로지스틱 회귀분석 (지도학습 / 분류)

https://piscesue0317.tistory.com/34 [Machine Learning] 선형 회귀분석 ( 지도학습 / 예측 ) https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지도학습이란 ? 데이터 마이닝이란 대량의 데이터를 탐색하고

piscesue0317.tistory.com

 

 

먼저, 위 글은 로지스틱 회귀분석에 대한

 이론을 설명하고 있습니다.

 

 

 


 

 

 

https://piscesue0317.tistory.com/32
 

[Machine Learning] Scikit - Learn을 이용한 데이터 분석 (지도학습 / 분류)

Machine Learning (머신러닝) 이란 기계가 스스로 학습하는 것을 의미합니다. 특히 사람이 지정해준 규칙이나 모델을 스스로 학습하게 됩니다. https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지

piscesue0317.tistory.com

 

 

 

또한, 위 글은 본 알고리즘 모델링을

하기 이전의 과정입니다.

 

해당 과정을 수행하여야 앞으로 진행되는

모델링이 가능합니다.

 

 

 


 

 

 

Scikit - Learn에서는 모델 선택과 훈련을 시킬 때

fit (학습)과 predict (적용) 의 순서를 따릅니다.

 

또한, 로지스틱 회귀분석 알고리즘의 경우,

최적의 하이퍼파라미터 탐색이 필요 없습니다.

 

 

 

* 하이퍼파라미터 : 모델링 시 사용자가 직접 지정해주어야 하는 옵션

 

 

 

모델 선택 및 학습

 

from sklearn.linear_model import LogisticRegression

model_lr = LogisticRegression()
model_lr.fit(X_train_pretained, y_train)

 

sklearn.linear_model 모듈에서 

LogisticRegression을 호출합니다.

 

 

 

모델 적용 및 성능평가
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.metrics import recall_score
from sklearn.metrics import precision_score
from sklearn.metrics import f1_score

# 평가 데이터에 대한 전처리
X_test_prepared = full_pipeline.transform(X_test)  

# 평가 데이터에 대한 예측
y_test_hat = model_lr.predict(X_test_prepared)
y_test_prob = model_lr.predict_proba(X_test_prepared)

# 평가 데이터에 대한 평가
confusion_lr = confusion_matrix(y_test, y_test_hat) # confusion matrix
acc_lr = accuracy_score(y_test, y_test_hat) # accurcy
recall_lr = recall_score(y_test, y_test_hat, average = 'micro') # recall
precision_lr = precision_score(y_test, y_test_hat, average = 'micro') # precision
f1_lr = precision_score(y_test, y_test_hat, average = 'micro') # precision

print(confusion_lr)
print(f'acc_lr:{acc_lr}')
print(f'recall_lr:{recall_lr}')
print(f'precision_lr:{precision_lr}')
print(f'f1_lr:{f1_lr}')


print( f'probability_lr: {y_test_prob}')

 

평가 데이터도 훈련 데이터와 같은 방식으로

전처리를 해준 후, '.predict( )' 함수를 통해 예측을 진행합니다.

 

마지막으로 다양한 성능지표를 통해

모델을 평가하면 됩니다.

 

Comments