반응형
로지스틱 회귀(Logistic Regression)
로지스틱 회귀(Logistic Regression)는
분류 문제를 위한 회귀 알고리즘으로,
0에서 1사이의 값만 내보낼 수 있도록 출력값의 범위를 수정한 분류 알고리즘입니다.
이번 시간에는 사이킷런 안에 구현되어 있는 로지스틱 회귀 호출을 통해 실제로 S자형 곡선 그래프가 출력되는지 시각화를 통해 확인해보도록 하겠습니다.
로지스틱 회귀를 위한 사이킷런 함수/라이브러리
- from sklearn.linear_model import LogisticRegression : 사이킷런 안에 구현되어 있는 로지스틱 회귀를 불러옵니다.
- LogisticRegression() : 로지스틱 회귀 모델을 정의합니다.
- [Model].fit(X, y): (X, y) 데이터셋에 대해서 모델을 학습시킵니다.
- [Model].predict(X): X 데이터를 바탕으로 예측되는 값을 반환합니다.
from data_plot import *
#warning message 표시안되게 하는 코드
import warnings
warnings.filterwarnings(action='ignore')
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# 데이터를 생성하고 반환하는 함수입니다.
def load_data():
np.random.seed(0)
X = np.random.normal(size = 100)
y = (X > 0).astype(np.float)
X[X > 0] *= 5
X += .7 * np.random.normal(size = 100)
X = X[:, np.newaxis]
train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.2, random_state = 100)
return train_X, test_X, train_y, test_y
"""
1. 로지스틱 회귀 모델을 구현하고,
학습 결과를 확인할 수 있는 main() 함수를 완성합니다.
Step01. 데이터를 불러옵니다.
Step02. 로지스틱 회귀 모델을 정의합니다.
Step03. 학습용 데이터로 로지스틱 회귀 모델을
학습시킵니다.
Step04. 테스트용 데이터로 예측한 분류 결과를
확인합니다.
"""
def main():
train_X, test_X, train_y, test_y = load_data()
logistic_model = LogisticRegression()
logistic_model.fit(train_X, train_y)
predicted = logistic_model.predict(test_X)
# 예측 결과 확인하기
print("예측 결과 :", predicted[:10])
plot_logistic_regression(logistic_model, train_X, train_y)
return logistic_model
if __name__ == "__main__":
main()
반응형
'AI & 머신러닝 coding skill' 카테고리의 다른 글
머신러닝 - 주성분 분석(PCA) (0) | 2022.05.23 |
---|---|
머신러닝 Clustering - K-Means VS GMM (0) | 2022.05.23 |
머신러닝 Clustering - Gaussian Mixture Model (GMM) (0) | 2022.05.23 |
머신러닝 Clustering - K-Means 클러스터링 (0) | 2022.05.23 |
머신러닝 - 회귀 알고리즘 평가 지표- R_squared (0) | 2022.05.23 |
머신러닝 - 회귀 알고리즘 평가 지표- MSE, MAE (0) | 2022.05.23 |
머신러닝 - 회귀 알고리즘 평가 지표- RSS (0) | 2022.05.23 |
머신러닝 - 엘라스틱넷(ElasticNet) 회귀 (0) | 2022.05.23 |