本文源码来自于 一个实例读懂监督学习:Python监督学习实战
import numpy as np
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
# Load iris dataset from sklearn # 从sklearn加载虹膜数据集
# iris = datasets.load_iris()
iris = {'data': np.array([
[1.1, 1.1, 1.1, 1.1],
[2.1, 2.1, 2.1, 2.1],
[60.1, 60.1, 60.1, 60.1],
[80.1, 80.1, 80.1, 80.1],
[400.1, 400.1, 400.1, 400.1],
[700.1, 700.1, 700.1, 700.1]
]), 'target': np.array([0, 0, 1, 1, 2, 2]), 'target_names': np.array(['小', '中', '大'], dtype='<U10')}
# Declare an of the KNN classifier class with the value with neighbors. #用邻居的值声明一个KNN分类器类。
knn = KNeighborsClassifier(n_neighbors=2)
# Fit the model with training data and target values # 用训练数据和目标值拟合模型
knn.fit(iris['data'], iris['target'])
# Provide data whose class labels are to be predicted # 提供要预测其类标签的数据
X = [
[1, 1, 1, 1],
[6, 6, 6, 6],
[62, 62, 62, 62],
[2, 2, 6, 2],
[57, 57, 57, 57],
[600, 600, 600, 600],
[100, 100, 100, 100],
]
# Prints the data provided # 打印提供的数据
print(X)
# Store predicted class labels of X # 存储X的预测类标签
prediction = knn.predict(X)
# Prints the predicted class labels of X # 打印X的预测类标签
print(prediction)
print(iris['target_names'][prediction])
输出内容
[[1, 1, 1, 1], [6, 6, 6, 6], [62, 62, 62, 62], [2, 2, 6, 2], [57, 57, 57, 57], [600, 600, 600, 600], [100, 100, 100, 100]]
[0 0 1 0 1 2 1]
['小' '小' '中' '小' '中' '大' '中']