KNN(K Nearest Neighbors)

2023. 5. 26. 18:45·DS & ML/Machine Learning

K-최근접 이웃 모델, KNN(K Nearest Neighbors)

  • 종속변수가 범주형이며, 개수가 3개 이상인 다중분류(Multiclassification)을 다룸
  • 거리 기반 모델로, 각 데이터 간의 거리를 활용해서 새로운 데이터를 예측
  • 다중분류 모델에서 가장 간편히 적용할 수 있는 알고리즘으로 baseline으로 사용
  • 주로 분류에 사용되며, 로지스틱 회귀로 해결할 수 없는 3개 이상의 목표 변수들도 분류할 수 있음
  • 작은 데이터셋에 적합
장점 단점
수식에 대한 설명이 필요없을 만큼 직관적이고 간단함 데이터가 커질수록 상당히 느려질 수 있음
선형 모델과 다르게 별도의 가정이 없음 아웃라이어에 취약함

 

코드

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier() # KNN 모델
knn.fit(X_train_scaled, y_train) # 학습
pred = knn.predict(X_test_scaled) # 예측

 

하이퍼파라미터

  • n_neighbors
  • weights='uniform': 예측에 사용되는 가중치 함수로 기본값인 uniform은 모든 포인트에 동일한 가중치 부여(uniform, distance, 사용자 정의 함수)
  • metric='minkowski': 거리 측정 기준
  • n_jobs=None: 실행할 병렬 작업 수

 

 

참고: 데싸노트의 실전에서 통하는 머신러닝

 

GitHub - dduniverse/ML-study: <데싸노트의 실전에서 통하는 머신러닝> 실습 노트북

<데싸노트의 실전에서 통하는 머신러닝> 실습 노트북. Contribute to dduniverse/ML-study development by creating an account on GitHub.

github.com

 

저작자표시 (새창열림)
'DS & ML/Machine Learning' 카테고리의 다른 글
  • Decision Tree
  • Naive Bayes
  • Logistic Regression
  • Linear Regression
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (46)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
KNN(K Nearest Neighbors)
상단으로

티스토리툴바