본문 바로가기

ML & 딥러닝/이론 및 실습

[Part2] Logistic Regression 이해 및 실습

분류(Classification)와 회귀(Regression)


Machine Learning은 크게 분류와 회귀로 나눌 수 있다.

분류는 여러 Class Label 중 하나를 예측하는 것으로, 이진 분류(Binary Classification)와 다중 분류(Multiclass Classification)으로 나눌 수 있다.

회귀는 연속적인 숫자를 예측하는 것으로 예측하고 싶은 종속변수가 숫자일 때 사용한다.

 

Logistic Regression

 

Logistic Regression이란


- 종속 변수와 하나 이상의 독립 변수 간의 관계를 분석하고 모델링하는 통계적 방법

   (= 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 통계 기법)

- 이진분류 문제를 해결하는데 적합한 모델

 

주요 특징


1. Linear Combination

 종속변수와 독립변수와의 관계를 표현하기 위한 모델 중 Linear Model을 Logistic function에 적용한 모델이다.

 Linear Model의 b1은 종속변수 y와 독립변수 x간의 가중치를 의미한다.
 (※ 독립변수가 한 단위만큼 증가했을 때 log(Odds)의 증가량을 의미)

2. Logistic Regression Equation
 Logit Tranform을 통해 "Log(Odds) = Linear Combination"을 통해 산출된 확률값 P는 아래 식과 같이 Sigmoid형태의 식이 나온다. Logistic Model은 최적의 Sigmoid함수를 찾아가는 과정이다.
최적의 Sigmoid 함수를 찾기 위해 회귀 계수인 β0과 β1를 학습을 통해 최적의값을 찾는다.


3. Threshold
 Logistic Regression은 Regression equation을 통해 산출해낸 확률값을 Theshold기준으로 0 또는 1로 예측하게 된다.

Logistic Regression의 학습


1. 모델 평가 기준

Logistic Model은 회귀 계수(= 파라미터 = β0,β1,β2,... ) 를 학습하기 위해 Maxium Likelihood Estimation을 사용한다.

y값이 1이면 class 1일 확률을 곱해주고, y값이 0이면 class 0일 확률을 곱해주는 것을 의미한다.


2. Gradient Descent

 최적의 회귀 계수를 찾아나가는 과정을 Gradient Descent Algorithm을 사용해서 진행하게 된다.

 

Python Example

 

Logistic Regression의 예제로 Kaggle에서 처음으로 제출보았던 Titanic 예제를 처리해보자.
https://mymajoriscs.tistory.com/13

 

[Part2] 타이타닉 Kaggle 경진대회 참여(튜토리얼)

Kaggle 회원가입 https://mymajoriscs.tistory.com/12 [Part1] Kaggle 처음 시작하기(회원가입) http://www.kaggle.com Kaggle: Your Machine Learning and Data Science Community Kaggle is the world’s largest data science community with powerful tool

mymajoriscs.tistory.com

 

타이타닉 데이터셋 Load

전처리


학습을 위해 문자열 데이터를 숫자로 변경해주고, 결측치를 평균값으로 변경 등 학습을 위한 전처리 과정을 진행

 

Train/Test 데이터셋 분리 및 데이터 Scaling

 

모델 생성 및 정확도 평가