브라이틱스(Brightics)에서 나이브 베이즈(Naive Bayes)를 하는 방법을 알아본다.
Machine Learning
※ 본 내용은 Load
함수 블럭에서 diabetes.csv 파일을 불러온 후에 진행한다.
※ diabetes.csv 다운받기 [클릭]
개요
Brightics에서 제공하는 나이브 베이즈 분류기 관련 함수 블럭인 Naive Bayes Train
은 파이썬(Python)의 Scikit Learn 라이브러리의 GaussianNB()
함수로 구현되었다고 추정된다.
이론
향후 보충 예정
설정
Naive Bayes Train
블럭의 설정 창은 다음과 같다.
-Feature Columns
: 독립변수 지정
-Label Column
: 종속변수 지정
-Lambda
: 평활화 설정값
-Fit Class Prior Probabilities
: 사전확률 적합 여부. 기본값은 True이며 False로 하는 경우 균등 사전확률 적용
-Group By
: 특정 변수를 기준으로 연산을 별도로 실시
Naive Bayes Predict
블럭의 설정 창은 다음과 같다.
-Prediction Column Name
: 예측 변수명. 기본값은 prediction
-Probability Column Prefix
: 예측 확률값이 할당되는 변수의 접두사. 기본값은 probability
-Display Log Probability
: (상용)로그 예측 확률값 표기 여부. 기본값은 False
-Log Probability Column Prefix
: (상요)로그 예측 확률값이 할당되는 변수의 접두사. 기본값은 False
-Display Joint Log Likelihood
: 결합 로그 우도의 표기 여부. 기본값은 False
-Joint Log Likelihood Column Prefix
: 결합 로그 우도 변수의 접두사. 기본값은 joint_log_likelihood
-Suffix Type
: 예측 확률값이 할당되는 변수의 접미사. 기본값은 Index
Evaluate Classification
블럭의 설정 창은 다음과 같다.
-Label Column
: 종속변수 지정
-Prediction Column
: 예측값이 있는 변수 지정
-Average
: 명목 로지스틱 회귀인 경우에 사용하는 설정
-Group By
: 특정 변수를 기준으로 연산을 별도로 실시
결과
다음은 혈당, 혈압, BMI를 독립변수로 하고 당뇨병 발병여부인 Outcome 변수를 독립변수로 분석을 실시한 결과이다. 표에 보이는 숫자는 각 변수별 모수 추정치이다.
Naive Bayes Train
블럭으로 학습한 모델 기반으로 예측값을 생산한 결과는 다음과 같으며 prediction 변수는 목표값의 확률이 0.5 이상이면 1, 미만이면 0을 출력한다.