K-Nearest Neighbors (KNN or K-NN)

What?
- 머신러닝의 지도학습 알고리즘 중 하나.
- 새로운 데이터 포인트에서 가장 가까운 k개의 이웃을 찾고, 가장 빈도가 높은 클래스를 예측값으로 사용하는 알고리즘.
When?
장단점
장점
- 이해하기 쉽다.
- 적은 조정으로 좋은 성능을 발휘한다.
단점
- 훈련 세트가 매우 크면 예측이 느려짐.
- 많은 특성을 가진 데이터셋에는 잘 동작하지 않음.
- 특성 값 대부분이 0인 데이터셋과는 특히 잘 동작하지 않음.
How?
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris_datasets = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)
print("테스트 세트의 정확도 : {.2f}".format(knn.score(X_test,y_test)))