Ch.03 회귀 알고리즘과 모델 규제
키워드: 회귀, k-최근접이웃회귀, 결정계수 R2, 평균절대값오차 mae, 과대적합, 과소적합
🤩 인증 미션은 페이지 맨 밑으로 !
k-최근접 이웃 회귀
지도학습 알고리즘
- 분류(Classification) - 샘플을 몇 개의 클래스중 하나로 분류하는 문제
- 회귀( Regression) - 임의의 숫자를 예측 (ex. 경제성장률 예측, 배달 소요 시간 예측)
K-최근접 이웃 알고리즘
- 예측하려는 샘플에 가장 가까운 샘플 k개 선택 후 이들의 클래스를 확인하여 다수 클래스를 새로운 샘플의 클래스로 예측한다.
- 회귀: 최근접 이웃 k 의 평균으로 새로운 샘플의 수치를 예측한다.
결정계수 R2
회귀의 예측 성능을 측정하는 값이다. 타겟이 예측에 가까워지면 1에 가까워진다. 타깃이 평균정도를 예측한다면 0에 가까워진다.
R2=(타깃−예측)2/(타깃−평균)2
(cf. 정확도 : 분류- 테스트세트에서 샘플을 정확하게 구별한 개수의 비율)
평균 절대값 오차 mean absolute error
과대적합과 과소적합
- 과대적합
- 모델을 훈련 세트와 테스트 세트에 돌려봤을 때 테스트 세트의 검증점수가 현저히 낮게 나올 경우.
- 훈련 세트를 이용하여 모델을 훈련할때 모델이 훈련세트에 너무 과도하게 맞추어져 테스트 세트에서는 점수가 낮아지는 경우이다.
- 과소적합
- 훈련 세트보다 테스트 세트의 점수가 높게 나오거나 둘 다에서 점수가 매우 낮을 경우.
- 모델이 너무 단순하거나 적절히 훈련되지 않은 경우.
정리) 회귀문제의 단계
- 문제정의 : 농어의 특성을 이용하여 무게 예측하기
- 모델 설정 : k-최근접 이웃 회귀모델 선택
- 훈련 세트 이용하여 모델 훈련 하기
- 훈련 세트와 테스트 세트에 대해 평가점수 구하기
- 결정계수와 평균절대값오차를 이용하여 모델의 성능 평가하기
- 과소적합과 과대적합의 여부 주의하기 !
혼공머신 2주차 미션 인증
- 기본 미션 : Ch 03-1 2번문제 출력 그래프 인증샷
= k-최근접 이웃 회귀 모델의 k값을 1, 5, 10으로 바꾸며 , 농어의 길이를 5~45cm 변경하며 예측을 만들어 그래프로 만들어 보았다!
= n이 커짐에 따라 모델이 단순해지는 것을 관찰할 수 있다.
- 선택미션 : 모델의 파라미터 확인 해보기
KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=None, n_neighbors=5, p=2,
weights='uniform')
-
algorithm: 근접 이웃을 계산하는데 사용되는 알고리즘, 기본이 'auto',
사용 가능한 알고리즘의 종류는 'auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’
-
leaf_size: 알고리즘으로 BallTree나 KDTree를 사용할 때 리프의 개수
-
metric: 이웃간에 거리를 계산하는 방법. 기본값은 민코프스키
-
metric_params: metric 이용을 위한 추가 파라미터
-
n_jobs: 동시에 이웃을 수색하는 일의 수
-
n_neighbors: 사용되는 이웃의 수, 기본값 5
-
p: 민코프스키 이용시 사용되는 승수. p=1 일경우 멘하탄 거리계산법과 동일
-
weights: 예측시 사용되는 가중치
2주차 인증 소감
- 책을 보면서 차근차근 정리해 보았더니 머리 속에 잘 정리가 되는 느낌이다. 이렇게 정리 해두면 나중에 헷갈릴 때 보러 오기 좋을 것 같다. 블로그를 열심히 하자. 기억은 생각보다 불분명하고 기록은 평생 남는다!
출처 : 혼자공부하는머신러닝+딥러닝, 박해선 저, 한빛미디어