1. 특징
- 이웃의 수는 3개나 5개 정도로 적을 때 잘 작동
- 유클리디안 거리방식으로 이웃의 거리 측정
2. 장점
- 이해하기 매우 쉬운 모델
- 많이 조저하지 않아도 자주 좋은 성능을 발휘
3. 단점
- 예측이 느림
- 많은 특성을 처리하는 능력이 부족(현업에서 잘 쓰지 않음)
import pandas as pd
# 데이터셋 가져오기
data = pd.read_csv('경로/파일이름.csv', index_col='인덱스로 사용할 컬럼이름')
# 데이터셋, X와 y로 나눠주기
y = pd.DataFrame(data['타겟 컬럼이름'])
X = data.drop('타겟 컬럼이름', axis=1)
# train과 test로 나눠주기
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(2차원 데이터프레임X, 1차원 데이터프레임y, random_state=고정시드value)
# K-NN 분류
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors = 이웃 수)
knn.fit(X_train, y_train)
knn.score(X_test, y_test)
# K-NN 회귀
from sklearn.neighbors import KNeighborsRegressor
reg = KNeighborsRegressor(n_nighbors = 이웃 수)
reg.fit(X_train, y_ train)
reg.score(X_test, y_test)
'Programming > Machine Learning' 카테고리의 다른 글
결정 트리 (0) | 2020.02.15 |
---|---|
선형모델 (0) | 2020.02.14 |
Data sets 개략적 파악 (0) | 2020.02.11 |
컬럼 결합 / 삭제 / 정리하기 (0) | 2020.02.11 |
수치형 데이터, 범주형 데이터 변환 (0) | 2020.02.11 |