前一篇关于kNN的博客介绍了算法的底层实现,这片博客让我们一起看一看基于scikit-learn如何快速的实现kNN算法。
scikit-learn内置了很多数据集,就不用我们自己编造假数据了,下面我们分别选用鸢尾花和手写数字识别的数据集。
首先导入需要的库
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
import numpy as np
获取鸢尾花数据集
iris = datasets.load_iris()
iris_x = iris.data
iris_y = iris.target
使用train_test_split对训练集和测试集进行划分,这里随机种子传了666
x_train,x_test,y_train,y_test = train_test_split(iris_x, iris_y, test_size=0.2, random_state = 666)
接下来初始化kNN分类器,并且进行fit操作,由于kNN算法比较简单,fit操作只是把训练数据填进去,复杂一点的fit函数里对于数据有更多的处理。