Explanation of KNNprogram
Aim:Using KNN to predict the target data of the test data.
1.Randomlyrise a gorup of data and split them into two parts,train data and test data respectively.in addition ,every data has X value and Y value.
2.usetrain data to exercise a model by KNN algorithm .
3.inputthe X value of test data to predict.
3.takea comparision between results of predict and Y value of test data.
代码:
Program
#!/usr/bin/env pyhton
# -*- coding:<encoding name> -*-
importnumpy as np
from sklearn import datasets
iris = datasets.load_iris()#have a train data,
iris_X = iris.data
iris_y = iris.target
np.unique(iris_y)
# Split iris data in trainand test data
# A random permutation, to split the data randomly
np.random.seed(0)
# permutation随机生成一个范围内的序列
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:]]
print(iris_y_test)
# Create and fit anearest-neighbor classifier
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
knn.fit(iris_X_train, iris_y_train)
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1, n_neighbors=5, p=2,
weights='uniform')
knn.predict(iris_X_test)
print (iris_y_test)