반응형
KNN ( K-Nearest-Neighbors)
예측하려는 데이터 X가 주어지면, 기존 데이터 중 속성이 비슷한 K개의 이웃을 먼저 찾는다. 다시 말해 데이터 X를 둘러싼 K개의 가장 가까운 이웃을 찾고, 이웃 데이터가 가장 많이 속해 있는 목표 클래스를 예측값으로 결정한다.
(1) 모델학습
# sklearn 라이브러리에서 KNN 분류 모형 가져오기
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=7)
knn.fit(x_train, y_train)
* n_neighbors 옵션으로 k값을 지정한다.
* KNeighborsClassifier() 함수로 KNN모형 객체를 생성한다.
* fit() 메소드에 훈련 데이터를 입력하여 모델 학습을 학습시킨다.
(2) 예측
y_knn_pred = knn.predict(x_test)
* predict() 메소드에 x_test 테스트 데이터를 입력하여 모델의 예측값(y_knn_pred)을 산출한다.
(3) 성능 평가
# 성능평가
from sklearn.metrics import accuracy_score
knn_acc = accuracy_score(y_test, y_knn_pred)
* 모델 성능을 평가하기 위해 사이킷런 metrics 모듈에서 accuracy_score 함수를 불러온다.
* y_test : 테스트 데이터 x_test의 정답 레이블 / y_knn_pred : 모델의 예측값
[machine learning] - 머신러닝 분류 알고리즘 - SVM
반응형
'AI > Machine Learning' 카테고리의 다른 글
[ML] 머신러닝 결정트리 (DecisionTreeClassifier, DecisionTreeRegressor) (0) | 2022.04.06 |
---|---|
[ML] 머신러닝 모델의 오차행렬, 정확도, 정밀도, 재현율 구하기 (0) | 2022.04.05 |
[ML] 머신러닝 교차 검증- KFold, Stratified KFold, cross_val_score() (0) | 2022.04.04 |
[ML] 머신러닝 기초 다지기 / fit, predict, train_test_split, accuracy_score (0) | 2022.04.04 |
[ML] 머신러닝 분류 알고리즘 - SVM (0) | 2022.03.02 |