DeseoDeSeo
[Machine Learning] 일반화, 과소, 과대, knn 본문
모델의 신뢰도를 측정하고 성능을 확인하기 위한 개념들
목표 : 일반화 구간을 찾는 것 !!
- 과대적합 : train학습을 너무 맞춰서 하다보니 규칙이 복잡해져서 test에 대한 성능은 떨어지는 상태
(test예측을 못하는 상태)
- 과소적합: train 학습이 제대로 되지 않아서 test성능도 떨어지는 상태 (예측을 못하는 상태)
- 일반화: train에 대한 학습도 적당히 잘되고 test대한 성능도 어느정도 잘 나오는 상태
=> 어떤 데이터가 들어와도 예측이 잘 됨.
KNN( K-nearest Neighbors)
: k-최근접 이웃 알고리즘 , k개의 최근접 이웃 알고리즘
- 유사한 점이 서로 가까이에서 발견될 수 있다는 가정.
- 분류와 회귀에 모두 사용 가능. 특정 데이터 포인트와 가장 가까운 이웃 데이터 포인트를 찾아 이웃과 동일한 클래스로 분류.
- k값이 작을수록 모델의 복잡도가 상대적으로 증가
- 반대로 k값이 커질수록 모델의 복잡도가 낮아짐. (= 성능이 떨어짐.)
- 복잡도가 증가(=> 복잡하다. 과대적합)
- k는 이웃의 수를 의미
- 이웃의 수 값이 작으면 과대적합이 높음.
- 적당한 이웃의 수를 찾아야함. --> 일반화!
새로운 테스트 데이터 세트가 들어오면 훈련 데이터 세트와의 거리를 계산.
metrics : 유클리디안 거리 방식. n_neighbors: 이웃의수
오류 데이터가 결과값에 크게 영향을 미치지 않음.
훈련 데이터 세트가 크면(특성, 샘플의 수) 예측이 느려짐.
'Python' 카테고리의 다른 글
[Machine Learning] ex04. mushroom 실습 (0) | 2023.08.30 |
---|---|
[Machine Learning] iris_knn 분류실습 part.2 (0) | 2023.08.29 |
[Python] 이미지 데이터 수집 (0) | 2023.08.29 |
[Python] 네이버 지도 데이터 수집 (0) | 2023.08.29 |
[Machine Learning] iris_knn분류실습 (0) | 2023.08.28 |