본문 바로가기
AI & 머신러닝 coding skill

머신러닝 분류 - 로지스틱 회귀(Logistic Regression)

by 호빵님 2022. 5. 23.
반응형

로지스틱 회귀(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()

 

 

*본 포스팅은 DX기업교육 플랫폼인 Elice academy의 머신러닝 심화 과정에서 실습한 코드를 이용해서 작성되었습니다.

https://elice.io/

 
 
 

올인원 디지털 교육 플랫폼 - 엘리스

우리 모두를 위한 교실, 엘리스와 함께 더 나은 기회를 만들어보세요

elice.io

 

 

반응형