from sklearn import datasets
复制代码
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
复制代码
np.random.seed(0)
iris=datasets.load_iris()
iris_x=iris.data
iris_y=iris.target
indices = np.random.permutation(len(iris_x))
iris_x_train = iris_x[indices[:-10]]
iris_y_train = iris_y[indices[:-10]]
iris_x_test = iris_x[indices[-10:]]
iris_y_test = iris_y[indices[-10:]]
knn = KNeighborsClassifier()
knn.fit(iris_x_train, iris_y_train)
iris_y_predict = knn.predict(iris_x_test)
probility=knn.predict_proba(iris_x_test)
复制代码
np.shape(iris_x_train)
复制代码
(140, 4)
复制代码
iris_x_test[-1].reshape(1,-1)
复制代码
array([[4.6, 3.2, 1.4, 0.2]])
复制代码
score=knn.score(iris_x_test,iris_y_test,sample_weight=None)
print('iris_y_predict = ')
print(iris_y_predict)
print('iris_y_test = ')
print(iris_y_test)
print ('Accuracy:')
print(score)
print ('probility:')
print (probility)
复制代码
iris_y_predict =
[1 2 1 0 0 0 2 1 2 0]
iris_y_test =
[1 1 1 0 0 0 2 1 2 0]
Accuracy:
0.9
probility:
[[0. 1. 0. ]
[0. 0.4 0.6]
[0. 1. 0. ]
[1. 0. 0. ]
[1. 0. 0. ]
[1. 0. 0. ]
[0. 0. 1. ]
[0. 1. 0. ]
[0. 0. 1. ]
[1. 0. 0. ]]
复制代码
neighborpoint=knn.kneighbors(iris_x_test,5,False)
print ('neighborpoint of last test sample:')
print(neighborpoint)
复制代码
neighborpoint of last test sample:
[[ 71 81 127 63 38]
[119 33 76 60 52]
[ 79 132 1 13 27]
[ 44 113 107 68 32]
[122 87 99 97 68]
[106 15 93 61 82]
[ 46 30 86 70 34]
[ 39 128 127 50 63]
[116 104 80 51 121]
[ 75 41 96 78 123]]
复制代码