JONNY ALOHA 2023. 1. 2. 00:48

- 새로운 데이터의 위치에서 가장 가까운 훈련 데이터의 레이블로 새로운 데이터의 레이블을 예측

 

- K의 값을 무엇으로 설정하느냐에 따라 새로운 데이터의 label이 달라질 수 있음(적절한 K값을 구하는 것이 매우 중요)

- 이해하기 쉬운 모델

- 많은 조정 없이 좋은 성능을 발휘하는 경우가 많음

- 훈련 데이터셋이 많아질수록 예측이 느림

- Fature 가 많은 데이터셋에서는 잘 동작하지 않음

 

Scikit Learn 에서 데이터셋 받기

 

y_iris['variety'].unique() : 데이터의 종류 알 수 있는 방법

 

# 함수를 이용해서 나누기
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_iris, y_iris, test_size=0.3, random_state=0)

test 할 크기 정하기

 

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)

가장 가까운 3개를 보고 판단

 

## knn 알고리즘 traiging
knn.fit(X_train, y_train)

 

 

 

728x90