주먀
머신러닝2 본문
KNN
: K-미지의 수, 이웃의 수
: N-nearest
: N-neighbors
- 가까운 이웃을 찾아서 예측 포인트로 사용
- 분류 : 이웃중에서 가장 많은 값으로 예측
- 회귀 : 이웃 값의 평균값으로 예측
- 이웃의 수를 적절하게 정해줘야 함
(n_neighbors 파라미터를 수정)
- 장점 : 간단하게 사용 가능하고 성능도 괜찮음
- 단점 : 특성 값의 범위(scale)를 모두 동일하게 맞춰줘야 판단을 잘함
ex) 안경유무를 판단할때 키(140~199), 시력(0.0~2.0) 개념상으로 시력이 안경의 유무에 중요하지만, KNN은 거리기반으로 계산하기 때문에 키가 더 많이 작용하게 됨(값의 변화가 크기때문에) --> 데이터를 같은 범위로 만들어줘야 함. 값들의 범위를 맞춰줌.
<일반적인 상황>
일반화 : 규칙이 적당해서 잘 맞춤 --> 일반화가 잘 된 모델을 찾는 것(머신러닝을 진행하면서 가져야 할 목표)
과대적합 : 규칙이 너무 많아서 특정 데이터(학습에 사용한)만 맞춤
과소적합 : 규칙이 너무 없어서 아무것도 못 맞춤
<머신러닝 상황>
일반화 : 훈련세트에 적당히 학습해서 규칙이 적당히 만들어짐
훈련세트는 적당히 맞추고, 평가세트를 잘 맞추는 현상
과대적합 : 훈련세트에 너무 많이 학습해서 규칙이 훈련세트에 맞춰짐
훈련세트는 잘 맞추지만 평가세트는 잘 맞추지 못하는 현상
과소적합 : 훈련세트에 너무 적게 학습해서 규칙이 조금만 만들어짐
훈련세트도 잘 맞추지 못하고 평가세트도 잘 맞추지 못하는 현상