sklearn库中kNN调用
上一节讲解了手写kNN算法实现手写数字识别系统,但是在实际应用中并不需要自己手写kNN,可以直接调用sklearn库中封装好的方法,这一节通过数据库中鸢尾花的数据集来练习手写kNN算法以及调用sklearn库中的kNN算法。
话不多说,直接上代码
数据集
首先讲解一下鸢尾花数据集,以后会经常用到。
鸢尾花有四个特征:sepal length、sepal width、petal length、petal width
分为三类:0 表示iris setosa、1 表示 iris versicolor、2 表示 iris virginica
# 导包
from sklearn import datasets
import matplotlib.pyplot as plt
# 加载数据集
iris = datasets.load_iris()
x = iris.data # 数据
y = iris.target # 标签
#画图,选择特征3、特征4分别作为x轴和y轴,也可以选择其他特征
x_axis = x[:,2]
y_axis = x[:,3]
#c指定点的颜色,c根据标签的不同自动着色
plt.scatter(x_axis, y_axis, c=iris.target)
plt.show()
数据在当前特征下分布如下图所示