chchae01 2022. 6. 8. 02:09

들어가기 전에

 

- 분류 : 여러 클래스 레이블 중 하나를 예측하는 것(이진분류, 다중분류)

 

ex. 얼굴인식, 숫자판별

 

- 회귀 : 연속적인 숫자 또는 부동소수점수(실수)를 예측하는 것

 

ex. 주식 가격을 예측하여 수익을 내는 알고리즘

 

  • KNN이란?

게으른 학습 or 사례중심학습

=> 훈련 데이터에서 판변함수를 학습하는 대신 훈련 데이터 셋을 메모리에 저장

 

차원의 저주 발생!!

=> KNN은 차원이 증가할 수록 성능 저하가 심함

  • 장단점

장점

 

- 학습데이터 내의 노이즈의 영향 크게 안받음

- 학습 데이터 수 많을 때 효과적

- 마할라노비스 거리와 같이 데이터의 분산을 고려할 경우 매우 강건한 방법론

 

단점

 

- 최적 이웃의 수(k)와 어떤 거리 척도(distance metric)가 분석에 적합한지 불분명해 데이터 각각의 특성에 맞게 연구자가 임의로 선정해야함-> GridSearchCV()쓰면 효과적!!

- 새로운 관측치와 각가그이 학습 데이터 사이의 거리를 전부측정해야함 -> 시간 오래걸림

 

  • KNeiborsClassifier

ex. 재배환경 별 작물 종류 예측

  • KNeiborsRegressor

ex. 자동차 가격