본문 바로가기
데이터 사이언티스/「혼자 공부하는 머신러닝+딥러닝」정리 노트

K-최근접 이웃 알고리즘 (K-Nearest Neighbor 분류)

by 차이기록 2021. 8. 15.
※ 본 포스팅은 「혼자 공부하는 머신러닝+딥러닝」교재로 참고 및 공부하면서, 정리하는 기록용 노트 입니다.

 

01. 도미, 빙어 데이터 셋팅

 

  • 파란색 : 도미 
  • 주황색 : 빙어

 

  • 도미는 길이가 길수록 무게가 많이 나가는것을 볼수 있다. 이렇게 산점도가 일직선에 가까운 형태를 선형(linear)적이라고 말한다.
  • 빙어도 길이와 무게가 비례하지만, 무게가 많이 늘지 않는다.  선형적이지만 무게가 길이에 영향을 덜 받는다고 볼 수 있다.

 

02. K-최근접 이웃(K-Nearest Neighbor 분류) 알고리즘을 사용해서 도미와 빙어 구분하기.

 

1. 훈련 데이터 만들기

  • 2차원 리스트 만들기
  • 훈련에 사용할 특성(feature)과 정답 데이터 만들기

 

2. K-최근접 이웃 모델로 학습 시키기

  • K-최근접 이웃 알고리즘 : 주위의 데이터를 보고 다수를 차지하는 것을 정답으로 한다. 즉, 그래프에서 가장 가까운 직선거리에 어떤 데이터가 있는지 살핀다.
  • 주위의 가까운 데이터는 defalut 로 5개다.
  • 갯수를 수정하려면 파라미터 변경하면 된다.
    • ex) kn49 = KNeighborsClassifier(n_neighbors=49)
  • 단점 : 전체 데이터를 메모리에 가지고 있어야 하므로, 데이터 크기가 클 경우엔 메모리가 많이 필요하고, 속도가 느리므로 부적합.

 

3. 정확도가 1 아래로 내려가기 시작하는 이웃의 개수 찾기

  • kn.n_neighbors = n 처럼 이웃 개수 설정할 수 있다. 

댓글