브라이틱스(Brightics)에서 로지스틱 회귀분석(logistic regression)을 하는 방법을 알아본다.
Machine Learning
※ 본 내용은 Load
함수 블럭에서 diabetes.csv 파일을 불러온 후에 진행한다.
※ diabetes.csv 다운받기 [클릭]
개요
로지스틱 회귀분석(logistic regression)은 대표적인 분류 모델로 이항(binomial)/서수(ordinal)/명목(nominal) 로지스틱 회귀분석이 있다. 이는 종속변수의 종류에 따라 나뉘어 지며 일반적으로 로지스틱 회귀분석이라고 하면 이항 로지스틱 회귀분석을 뜻한다.
이론
향후 보충 예정
가정
이항 로지스틱 회귀분석(binomial logistic regression)의 종속변수의 경우 베르누이 분포(Bernoulli Distribution)를 따른다고 가정한다.
승산(Odds)
승산비(OR, Odds Ratio)
로짓(Logit)
log + odds
설정
Logistic Regression Train
블럭의 설정 창은 다음과 같다.
-Feature Columns
: 독립변수 지정
-Label Column
: 종속변수 지정
-Fit Intercept
: 절편 적합 여부
-Penalty
: 규제화(l1, l2 선택 가능)
-Inverse of Regularization
: 규제의 정도를 정하는 정규화의 역수. 큰 값은 큰 규제를 뜻함
-Solver
: 최적화 기법(newton-cg, lbfgs, liblinear, sag, saga 중 선택 가능)
-Seed
: 결과를 고정하기 위해 지정하는 자연수
-Max Iteration
: 최적화 연산 최대 반복 횟수
-Tolerance
: 연산 중단을 위한 임계값
-Class Weights
: 각 항목의 가중치(사전확률과 유사). 비워둘 경우 균등 가중치 적용
-Group By
: 특정 변수를 기준으로 회귀분석을 별도로 실시
Logistic Regression Predict
블럭의 설정 창은 다음과 같다.
-Prediction Column Name
: 예측 변수명. 기본값은 prediction
-Probability Column Prefix
: 예측 확률값이 할당되는 변수의 접두사. 기본값은 probability
-Display Log Probability
: (상용)로그 예측 확률값 표기 여부. 기본값은 False
-Log Probability Column Prefix
: (상요)로그 예측 확률값이 할당되는 변수의 접두사. 기본값은 False
-Suffix Type
: 예측 확률값이 할당되는 변수의 접미사. 기본값은 Index
-Thresholds
: 예측 확률값을 이분하기 위한 확률 경계값. 기본값은 0.5
Evaluate Classification
블럭의 설정 창은 다음과 같다.
-Label Column
: 종속변수 지정
-Prediction Column
: 예측값이 있는 변수 지정
-Average
: 명목 로지스틱 회귀인 경우에 사용하는 설정
-Group By
: 특정 변수를 기준으로 연산을 별도로 실시
Plot ROC and PR Curves
블럭의 설정 창은 다음과 같다.
-Label Column
: 종속변수 지정
-Probability Column
: 목표값 예측 확률 산출값이 있는 변수
-Positive Label
: 목표값. 이항 로지스틱 회귀의 종속변수에 0과 1이 있는 경우 1을 기입하면 된다. (누락시 에러)
-Figure Width
: 출력 그래프의 너비
-Figure Height
: 출력 그래프의 높이
-Group By
: 특정 변수를 기준으로 연산을 별도로 실시
결과
다음은 혈압(BloodPressure), 혈당(glucose), 체질량지수(BMI), 인슐린(Insulin)을 독립변수로 하고 당뇨병 발병여부인 Outcome 변수를 독립변수로 분석을 실시한 결과이다. 결과값을 고정하기 위하여 Seed
를 123으로 설정한 것 이외에 대부분의 항목은 기본값으로 하였다.
다음은 예측값 생산 결과인데 여기에서 예측값 확률 변수의 접미사를 설정하는 Suffix Type
설정을 “Label”로 지정하는 것을 권장한다.