브라이틱스(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을 출력한다.
