반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석, 머신러닝 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART) 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

<머신러닝 관련 지난 글>

 

2021.07.19 - [파이썬 패키지/데이터분석] - [코딩유치원] 비전공자도 쉽게 이해할 수 있는 인공지능/머신러닝/딥러닝 개념 총정리

 

2021.09.01 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_1편. 머신러닝과 Scikit-learn 소개(ft. 지도학습, 비지도학습, 강화학습)

2021.09.07 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_2편. Scikit-learn 학습용 데이터 셋 불러오기(ft. 붓꽃 데이터)

2021.09.11 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_3편. 머신러닝 준비물! 학습/검증/예측 데이터(ft.과대적합과 과소적합)

2021.09.13 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_4편. 모델 학습과 분류 (ft. 붓꽃의 꽃잎, 꽃받침 데이터로 종류 예측하기)

2021.09.16 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_5편. 머신러닝 주요 분류(Classification) 알고리즘 5가지 총정리

2021.10.15 - [파이썬 패키지/머신러닝] - [Python/Scikit-learn] 머신러닝 라이브러리_6편. 선형 회귀(Linear Regression) 예측 (ft.보스턴 주택 가격 예측)

 


 

오늘은 분류에서 배웠던 KNN(K-Nearest Neighbor), 번역하면 K-최근접 이웃 알고리즘으로 분류가 아닌 회귀 예측을 해보겠습니다.

 

 

1.  K-최근접 이웃 분류(K-NN Clssification)

 

먼저 예전에 배웠던 K-NN 분류를 떠올려봅시다.

 

K-NN 알고리즘을 이용한 분류는 '새로운 데이터 X(별표)가 주어졌을 때, X에 가장 가까운 K개의 A와 B 중에서 근처에 더 많은 갯수의 Class(A or B)로 판단하는 것'입니다.

 

 

 

2. K-최근접 이웃 회귀(K-NN Regression)

 

그렇다면 K-NN을 이용한 회귀는 무엇일까요?

 

회귀는 값을 예측하는 것이므로, '새로운 데이터 X(별표)가 주어졌을 때, X에 가장 가까운 K개의 데이터 값을 평균내서 값을 예측하는 것'입니다.

 

아래의 그림에서 빨간별의 위치에 있을 데이터 값은 (10+9+8)/3의 결과값인 9로 예측하는 것이죠.

 

엄밀히 따지면 정확한 그림은 아니지만 그냥 느낌만 가져가시기 바랍니다.

 

 

3. K-최근접 이웃 회귀의 한계

 

K-NN 알고리즘은 매우 간단하고 직관적이기에 처음 머신러닝의 분류와 회귀의 개념을 잡기에는 좋지만, 치명적인 한계가 있습니다.

 

그것은 바로 '데이터 범위 밖의 새로운 데이터는 예측이 불가능하다는 것'입니다.

 

아래의 그래프를 보시면, X값이 증가 됨에 따라 Y값이 증가하는 추세임을 알 수 있습니다. 정확히는 모르겠지만 X가 60일 때는 1000은 훨씬 넘는 Y값일 것이라고 예상해볼 수 있죠.

 

하지만 K-최근접 이웃 알고리즘으로 모델을 학습시키고, 60이라는 값을 입력시키면 가장 가까운 3개의 데이터의 Y값 평균(대략 1000)을 예측합니다.

 

 

반응형

+ Recent posts