지도 학습 알고리즘에는 2가지로 나눌 수 있다.
분류
: 샘플 데이터를 클래스 중 하나로 분류하는 것회귀
: 샘플 데이터를 통해 어떤 숫자를 예측하는 것쉽게 말해,
k-최근접 이웃 분류
알고리즘은
빙어 클래스와 도미클래스를 학습시켜 샘플데이터를 둘 중 1개의 클래스로 분류하는 것이다.
k-최근접 이웃 회귀
알고리즘은
생선 특성(길이, 높이, 두께) 데이터를 가지고 임의의 수치(무게)를 도출하는 것이다.
<perch_length, perch_weight> 는 🔗http://bit.ly/perch_data 를 참고했다.
💡 여기서 잠깐! 사이킷 런의 훈련 세트는 2차원 배열
이어야한다는 사실을 알아두어야 한다.
사이킷 런의 k-최근접 이웃 회귀 알고리즘 구현 클래스는 KNeighborsRegressor
이다.
테스트 점수 확인
💡 여기서 잠깐! 분류 클래스의 경우 score는 정확도
이였고, 회귀 클래스의 경우 score는 결정계수
라고 한다.
R^2 = 1- [{(타깃-예측)^2 의 합} / {(타깃-평균)^2 의합}]
R^2의 숫자가 0에 가까울수록 ~회귀식의 정확도는 낮다~ 라고 볼 수 있으며, 반대로 1에 가까울수록 ~회귀식의 정확도가 높다~라고 볼수 있다.
😰 왜 값이 다르지? 과대 적합
과 과소 적합
- k-최근접 이웃 회귀에서는 새로운 샘플에 대한 예측을 어떻게 만드나요?
① 이웃 샘플 클래스 중 다수인 클래스
② 이웃 샘플의 타깃값의 평균
③ 이웃 샘플 중 가장 높은 타깃값
④ 이웃 샘플 중 가장 낮은 타깃값
답: ② 이웃 샘플의 타깃값의 평균
- 과대적합과 과소적합에 대한 이해를 돕기 위해 복잡한 모델과 단순한 모델을 만들겠습니다.
앞서 만든 k-최근접 이웃 회귀 모델의 k 값을 1, 5, 10으로 바꿔가며 훈련해 보세요. 그다
음 농어의 길이를 5에서 45까지 바꿔가며 예측을 만들어 그래프로 나타내 보세요. n이 커짐
에 따라 모델이 단순해지는 것을 볼 수 있나요?
답: