Learning Space/Machine Learning, Deep Learning
KNN(K-Nearest Neighbor)
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