티스토리 뷰

머신러닝

4. k - 최근접 이웃 회귀

0307kjb 2022. 4. 16. 18:45

지도학습은 분류와 회귀로 나뉘는데 분류는 여러 클래스 중 하나의 결과로 결정하는 것인데,

회귀는 하나의 결과로 결정하는 것이 아닌 어떠한 값을 예측하는 것이다.

간단하게 최근접 이웃 분류 알고리즘에서 예측값의 이웃이 rect 2개 circle 1개라면 사각형으로 예측하는 것이고,

최근접 이웃 회귀 알고리즘에서 예측값의 이웃이 100 80 60 이라면 평균값을 통해 80으로 결과를 나타낸다.

 

데이터가 길이에 따른 무게가 올라가는 것을 볼 수 있으니 길이에 따른 무게를 회귀할 수 있다고 예상 가능하다.

 

 

길이를 입력으로, 무게를 타깃으로 잡고 훈련/테스트 세트를 나눈다.

여기서 중요한 것이 knr.score에서 나온 점수, 0.99... 이것이 의미하는 것이 결정계수(R^2)이다.

회귀에서는 예측 하는 값이나 타깃 모두 임의의 수치라 정확한 숫자를 맞추는 것이 불가능하다.

그래서 조금 다른 값으로 평가하는 것이 결정계수라고 한다.

결정계수(R^2) = 1 - (타깃 - 예측) ^ 2 / (타깃 - 평균) ^ 2 

예측이 타깃과 가까워지면 1에 가까워지니 좋은 값이다.

 

이것을 통해 타깃값과 예측이 평균적으로 19g정도 다르다는 것을 알 수 있다.

 

훈련세트 점수가 좋은데 테스트 세트의 점수가 매우 나쁘다면 => 과대적합

훈련세트 보다 테스트 세트의 점수가 높거나 두 점수 모두 낮다면 => 과소적합

 

+ 과대적합이 일어나는 이유는 훈련세트에만 잘 맞는 모델이라 테스트세트에는 잘 안 맞는 경우.

+ 과소적합이 일어나는 이유는 모델이 단순해서 훈련세트에 적절히 훈련되지 않은 경우와 훈련세트와 테스트세트가 매우 작을 때 생김. 

 

 

그래서 모델을 다시 만들었는데, 이웃의 개수를 줄이면 국지적인 패턴에 민감해지고 이웃의 개수를 늘리면 데이터 전반에 있는 일반적인 패턴을 따른다.

 

이렇게 과대적합도 일어나지 않고 결정계수도 좋으니 추가될 데이터도 일반화가 잘 될 수 있는 것을 예상할 수 있다.

 

'머신러닝' 카테고리의 다른 글

6. 특성 공학과 규제 ( 회귀 )  (0) 2022.04.17
5. 선형 회귀  (0) 2022.04.17
3. 데이터 전처리  (0) 2022.04.16
2. 훈련 세트/ 테스트 세트  (0) 2022.04.14
1. 최근접 이웃 분류 알고리즘  (0) 2022.04.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함