본문 바로가기

Programming/Machine Learning

K-NN 분류 알고리즘

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