Br) ML - KNN

Br) ML - KNN

브라이틱스(Brightics)에서 k-최근접 이웃(KNN, k-Nearest Neighbor)을 실시하는 방법을 알아본다.


Machine Learning

※ 본 내용은 Load 함수 블럭에서 diabetes.csv 파일을 불러온 후에 진행한다.
diabetes.csv 다운받기 [클릭]
사전 준비


개요

대표적인 머신러닝 지도학습 모델인 k-NN은 k-Nearest Neighbor의 줄임말이며 k-최근접 이웃이라고 한다. 여기서 k는 k-Means Clustering(k-평균 군집법)과 같이 자연수 k인데 k는 특정 데이터를 기준으로 인접 데이터 k개를 고려한다는 뜻이다. 여기서 인접 데이터는 가장 가까이 있는 것 부터 고려하게 되는데 그래서 이웃(Neighbor)이라는 단어를 사용하여 이 알고리즘을 명명한 것 같다.

이론

향후 보충 예정

k 값의 지정

k값은 1에 가까울수록 과적합(over fitting)이 되며 큰 값의 경우 과소적합(under fitting)이 된다. 그리하여 모델을 조정하면서 적절한 k값을 찾는 것이 중요하다.

분류 모델(Classifier)

회귀 모델(Regression)


설정

KNN Classification 블럭의 설정 창은 다음과 같다.
KNN Classification 블럭 설정 창

-Feature Columns: 독립변수 지정
-Label Column: 종속변수 지정
-Number of Neighbors: 신규 데이터 처리시 고려할 최근접 이웃 데이터 개수
-Minkowski Exponent: Minkowski 거리 계산에서 조정하는 지수 변수
-Algorithm: 최근접 이웃 선별에 활용하는 알고리즘. BallTree/KDTree/brute-force 중 하나 선택 가능
-Leaf Size: BallTree 또는 KDTree에 사용하는 말단 노드의 크기(size of leaf node).
-Prediction Column Name: 예측값이 산출되는 변수명. 기본값은 prediction
-Probability Column Prefix: 예측 확률값이 산출되는 변수명의 접두사. 기본값은 probability
-Suffix Type: 예측 확률값이 산출되는 변수명의 접미사. 기본값은 Index

KNN Regression 블럭의 설정 창은 다음과 같다.
KNN Regression 블럭 설정 창

-Feature Columns: 독립변수 지정
-Label Column: 종속변수 지정
-Number of Neighbors: 신규 데이터 처리시 고려할 최근접 이웃 데이터 개수
-Minkowski Exponent: Minkowski 거리 계산에서 조정하는 지수 변수
-Algorithm: 최근접 이웃 선별에 활용하는 알고리즘. BallTree/KDTree/brute-force 중 하나 선택 가능
-Leaf Size: BallTree 또는 KDTree에 사용하는 말단 노드의 크기(size of leaf node).
-Prediction Column Name: 예측값이 산출되는 변수명. 기본값은 prediction


결과

Diabete 데이터를 Split Data 함수 블럭으로 7:3으로 나눈 후(Seed 123) 임신횟수(Pregnancies), 혈당(Glucose), 혈압(BloodPressure)을 독립변수로 하고 당뇨 여부(Outcome)을 종속변수로 한 결과는 다음과 같다.
KNN 분류 결과

Diabete 데이터를 Split Data 함수 블럭으로 7:3으로 나눈 후(Seed 123) 혈당(Glucose), 피부 두께(SkinThickness), 나이(Age)를 독립변수로 하고 체질량 지수(BMI)을 종속변수로 한 결과는 다음과 같다.
KNN 회귀 결과

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×