이번 포스팅에서는 Scikit-Learn(sklearn)을 이용하여 로지스틱 회귀 모형을 학습하고 결과를 확인하는 방법을 알아보려고 한다.
로지스틱 회귀에 대한 개념은 아래에 포스팅해두었으니 참고하자.
22. 로지스틱 회귀(Logistic Regression)에 대해서 알아보자.
Scikit-Learn으로 학습하기
로지스틱 회귀는 Scikit-Learn에서 제공하는 LogisticRegression 클래스를 이용하여 학습할 수 있다. LogisticRegression 클래스는 penalty 인자를 통해 최적화 방법을 선택할 수 있다. 이외에도 여러 가지 인자가 있는데 자세한 사항은 여기를 참고하기 바란다.
붓꽃 데이터를 이용하여 로지스틱 회귀 모형을 학습해 보자.
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
## 모형 학습
clf = LogisticRegression(
penalty='none', ## {‘l1’, ‘l2’, ‘elasticnet’, ‘none’}, default=’l2’
).fit(X, y)
학습이 되었으면 그 결과를 확인하고 예측도 해보자. 로지스틱 회귀 모형에서 최종적으로 추정된 추정치를 살펴보려면 coef_(회귀 계수), intercept_(절편항)을 보면 된다. 또한 predict와 score를 통해 예측과 성능을 평가할 수 있다.
## 회귀 계수와 절편 추정치
for i in range(len(np.unique(y))):
print('절편 :', clf.intercept_[i] ,'회귀 계수 :', clf.coef_[i])
## 예측
print(clf.predict(X[:2]))
## 성능 평가
print(clf.score(X, y))
댓글