from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as npiris = load_iris()
x = iris.data
y = iris.target
#划分数据集为百分之八十的训练集,剩余百分之二十是测试集x_train , x_test ,y_train , y_test = train_test_split(x, y, test_size=0.2, random_state=666666)
X = x_test[0] #这是我们待会输入进去的数据distances = []
for x_data in x_train:distance = np.sqrt(np.sum(x_data - X)**2) #欧式距离的公式distances.append(distance)
np.argsort(distances) #以下所显示的是离我们最近的样本的索引k = 3
nearest = np.argsort(distances)[:k] #取前k个
top_k_y = [y_train[index] for index in nearest]d = {}
for cls in top_k_y:d[cls] = d.get(cls,0) + 1
d_list = list(d.items())
d_list.sort(key=lambda x:x[1],reverse=True)
print(d_list[0][0]) #这就是最终预测结果