文章目录
一、简介
1、概念
K-近邻算法(KNN)全称为K Nearest Neighbor,是指如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。
简单来说,就是看你的邻居是哪个类别,你就是哪个类别
那么怎么判断最相似(也就是你的邻居)呢?
我们使用欧氏距离来进行判断两个样本之间的距离。
欧氏距离我们初中就已经学过,就是两个点之间的距离。

就比如下面的例子,假设我们现在有⼏部电影,其中9号电影不知道类别,我们可以利⽤K近邻算法进行预测
我们可以把唐人街探案的的每个指标与其他电影的指标做差,最后得出距离最近的5个样本(这里的k是我们自己取的)
最后得到的结果如下
这5个电影是距离《唐人街探案》最近的5个电影,其中3个喜剧片,2个爱情片,所以我们姑且可以认为《唐人街探案》是一个喜剧片。
通过这个例子,我们再回顾K-近邻算法的定义
如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。
我们就可以基本理解了
二、k近邻算法api的初步使用
1、目标:
1、了解sklearn⼯具的优点和包含内容
2、应⽤sklearn中的api实现KNN算法的简单使⽤
2、Scikit-learn的介绍
(1)简介
我们需要使用一个工具Scikit-learn来进行学习,首先了解一下什么是Scikit-learn
Python语⾔的机器学习⼯具
Scikit-learn包括许多知名的机器学习算法的实现
Scikit-learn⽂档完善,容易上⼿,丰富的API
⽬前稳定版本0.19.1
(2)安装
pip3 install scikit-learn==0.19.1
安装好之后可以通过以下命令查看是否安装成功
import sklearn
注:安装scikit-learn需要Numpy, Scipy等库
教程说安装这个版本,但是我安装的时候一直报错,所以我就没有指定版本,安装成功了,上面的安装失败可以试试下面这句
pip install -U scikit-learn
(3)Scikit-learn包含的内容