本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍使用sklearn实现KNN算法。
使用函数方式将KNN代码封装
由于一会我们需要在jupyter notebook中运行他,因此我们在需要调用的jupyter路径下创建一个KNN.py的Python文件。KNN.py内容如下所示:
在jupyter notebook中调用外部代码,需要使用%run魔法命令。
使用sklearn实现KNN
机器学习的流程如下:
我们将大量的学习资料喂给机器学习算法,这个机器学习算法就会相应的训练出一个模型,之后来了一个新的输入样例之后,将这个输入样例送给这个模型,这个模型就能预测出这个新的输入样例的预测结果。
kNN也属于这个过程,但是kNN算法中我们并没有得到模型,事实上确实如此,这可能也是KNN算法一个重要的特性,可以说kNN是一个不需要训练过程的算法,从上面的学习也可以知道,kNN算法直接将输入样例送给了训练数据集,在训练数据集上找到离输入样例最近的K个点,然后选出来投票数最高的哪一个标签就是预测的结果。
因此对于k近邻算法来说:
重新整理kNN的代码
前面实现了使用sklearn实现kNN算法的流程,下面重新整理我们的kNN代码,将他封装成使用sklearn实现kNN算法一样的模式。
在外部创建一个KNN2.py的Python文件,使用外部调用的方式在jupyter中调用。KNN2.py具体内容如下:
在jupyter中调用: