Dr. Huidae Cho
1 Using the sample iris data
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
iris_data = datasets.load_iris()
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(iris_data.data, iris_data.target)
X = [[5, 1.2, 4.8, 2.1], [3.5, 2.1, 0.9, 4.5]]
print(X)
pred = knn.predict(X)
print(pred)
x = 0 # sepal length
y = 2 # petal length
plt.plot(iris_data.data[iris_data.target==0,x], iris_data.data[iris_data.target==0,y], 'o', color='red')
plt.plot(iris_data.data[iris_data.target==1,x], iris_data.data[iris_data.target==1,y], 'o', color='blue')
plt.plot(iris_data.data[iris_data.target==2,x], iris_data.data[iris_data.target==2,y], 'o', color='magenta')
plt.plot(X[0][x], X[0][y], 'x', color='black')
plt.plot(X[1][x], X[1][y], '^', color='black')
plt.xlabel('petal length (cm)')
plt.ylabel('petal width (cm)')
2 Using your own data
from sklearn.neighbors import KNeighborsClassifier
feats = [[19, 110], [20, 115], [17, 116], [18, 118]]
targets = [0, 0, 1, 1]
knn = KNeighborsClassifier(n_neighbors=2)
knn.fit(feats, targets)
X = [[15.5, 115.4]]
print(X)
pred = knn.predict(X)
print(pred)