k Nearest Neighber

yeoni·2023년 6월 14일
0

머신러닝

목록 보기
20/40

kNN

  • 새로운 데이터가 있을 때 , 기존 데이터의 그룹 중 어떤 그룹에 속하는지를 분류하는 문제
  • k 는 몇 번째 가까운 데이터까지 볼 것인가를 정하는 수치
  • k값에 따라 결과값이 바뀔 수 있다.
  • 단위에 따라 바뀔 수도 있다. → 표준화 필요
  • 장단점:
    • 실시간 예측을 위한 학습이 필요치 않다.
    • 그 결과로 속도가 빨라진다.
    • 고차원 데이터에는 적합하지 않다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=13, stratify=iris.target)

knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train) # 학습은 아니고 그냥 컴퓨터 언어

pred = knn.predict(X_test)
print(accuracy_score(y_test, pred))
print(confusion_matrix(y_test, pred))
print(classification_report(y_test, pred))

Reference
1) 제로베이스 데이터스쿨 강의자료

profile
데이터 사이언스 / just do it

0개의 댓글