728x90
반응형
- 새로운 값은 기존의 데이터를 기준으로 가장 가까운 k개의 최근접 값을 기준으로 분류됨
- k가 짝수되는 것은 피하도록
- 과적합: k 가 1에 가까울수록 <-> 과소적합: k가 클수록
KNN 회귀(Regression)
- 분류모델과 같고, k 개의 인접한 자료의 (가중)평균으로 예
KNN알고리즘은 종속변수가 어떤 것인지에 따라 분류/ 회귀로 나뉘어짐
- 분류(Classification): 종속변수가 범주형(categorical) 데이터일 때.
- 예: "고객이 구매할 것이다(Yes/No)", "이메일이 스팸이다/아니다". 클래스 레이블 (0, 1, "Yes", "No")
- 회귀(Regression): 종속변수가 연속형(continuous) 데이터일 때.
- 예: "아파트의 가격은 얼마인가?", "내일의 주식 가격은 얼마일까?". 실수 값 (예: 300.5, 42.7)
from sklearn.neighbors import KNeighborsClassifier # k-NN
from sklearn.neighbors import KNeighborsRegressor # k-NN
# 공통 attribute
# 'p' : 거리계산 알고리즘 선택
p : int, default=2
Power parameter for the Minkowski metric. When p = 1, this is
equivalent to using manhattan_distance (l1), and euclidean_distance
(l2) for p = 2. For arbitrary p, minkowski_distance (l_p) is used.
sklearn - KNeighborsClassifier()
- KNN 분류 모델을 학습하기 위한 함수
- n_neighbors (= k) : 학습시 고려할 이웃 데이터의 개수를 지정. 짝수는 피하도록
sklearn - KNeighborsRegressor()
- KNN 회귀 모델을 학습하기 위한 함수
ex) 당뇨 발생 여부를 예측하기 위해 임신 횟수, 혈당, 혈압을 사용할 경우 그 정확도는 얼마인가?
-> 예측하기 위해 필요한 것은 종속변수이다.
-> 여기서 종속변수를 의미하는 '당뇨 발생 여부'는 Yes(1), No(0) 값을 갖기 때문에 범주형 데이터이다. 때문에,
분류 모델을 만들 수 있는 KNeighborsClassifier 함수를 사용해야한다.
반응형
300x250
728x90
반응형
'Data Science > 실습' 카테고리의 다른 글
DataScience 예제, 샘플문항 (2) | 2024.12.08 |
---|---|
DS 실습 18 - 의사결정나무 모델: 분류 및 회귀나무 (0) | 2024.12.08 |
DS 실습 16- 나이브 베이즈, 예측 확률값의 두번째 열이 1이 될 확률? (0) | 2024.12.07 |
DS 실습 15- 로지스틱 회귀분석 (0) | 2024.12.07 |
DS 실습 13~14- 단순/다중 회귀분석 (0) | 2024.12.07 |