Python机器学习实验二:编写代码,实现对iris数据集的KNN算法分类及预测

1、编写代码,实现对iris数据集的KNN算法分类及预测,要求:
(1)数据集划分为测试集占20%;
(2)n_neighbors=5;
(3)评价模型的准确率;
(4)使用模型预测未知种类的鸢尾花。

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier #导入K紧邻分类算法
from sklearn.metrics import precision_score
import matplotlib.pyplot as plt
#导入iris数据集
iris = load_iris()
x = iris.data
# print(x)
y = iris.target

#划分数据集和测试集
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2)

#用KNN模型进行训练和预测
knn = KNeighborsClassifier(n_neighbors=5)
knn = knn.fit(x_train,y_train)
y_pre = knn.predict(x_test)

#对预测结果进行评价
s = precision_score(y_test,y_pre,average=None)#此处average不赋值的话会报错
print("模型的准确率为:",'\n',s)
#预测未知模型
outputLabel = knn.predict([[1.5,3,5.8,2.2],[6.2,2.9,4.3,1.3]])
print("预测出未知数据的标签为:",outputLabel)
# cValue = ['r','b']*75
# plt.scatter(x[:,0],x[:,1],c = cValue,marker='o')
fig = plt.figure()
ax = fig.add_subplot(111)

t = ax.scatter(x_train[:,1],x_train[:,0],10.0 * np.array(y_train),np.array(y_train))
plt.show()

点个👍吧


点个👍吧

更多推荐

Python机器学习实验二:1.编写代码,实现对iris数据集的KNN算法分类及预测