- 새로운 데이터의 위치에서 가장 가까운 훈련 데이터의 레이블로 새로운 데이터의 레이블을 예측
- 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
'Learning Space > Machine Learning, Deep Learning' 카테고리의 다른 글
[Machine Learning] TensorFlow를 시작하며 (0) | 2023.06.14 |
---|---|
[Machine Learning] 환경구축(TensorFlow) (1) | 2023.06.14 |
머신러닝의 이해 (0) | 2023.01.01 |
환경 설정 (0) | 2023.01.01 |
Linear Models for Regression(선형회귀 모델) (0) | 2022.12.21 |