Written by
LSM
on
on
TIL: KNN 알고리즘
KNN 알고리즘
- 새로운 데이터가 주어졌을 때 가까운 k개를 기준으로 새로운 데이터를 예측
- 새로운 데이터가 들어왔을 때 기존 데이터들과 거리를 재서 데이터를 분류
- Lazy Model 이라고도 불림
- 거리의 기준은 유클리드안 척도를 활용함
코드
- iris dataset을 이용한 knn 코드
import numpy as np
import pandas as pd
from sklearn import datasets
iris = datasets.load_iris()
labels = pd.DataFrame(iris.target)
data = pd.DataFrame(iris.data)
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix, accuracy_score
#k = 3
classifier = KNeighborsClassifier(n_neighbors=3)
classifier.fit(data, labels)
y_pred = classifier.predict(data)
#confusion matrix
cm = confusion_matrix(labels, y_pred)
print(cm)
#accuracy
accuracy = accuracy_score(labels, y_pred) * 100
print(accuracy)