机器学习(一)之k近邻算法

1. kNN(k Nearest Neighbor)工作原理:

  存在一个样本数据集(训练样本集),且样本集中每个数据都存在标签,即我们知道样本集中每个数据与所属分类的对应关系。输入没有标签的新数据后将新数据的每个特征和样本集里的数据对应的特征作比较,然后算法提取样本集中特征最相似数据的分类标签(最近)。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k近邻大的出处,最后选择k个最相似数据出现次数最多的分类,作为新数据的分类。

2. k近邻算法一般流程:

机器学习(一)之k近邻算法

3. 解释机器学习Python版中的程序清单

(3.1)程序如下

机器学习(一)之k近邻算法

(3.2)对classify0()函数的理解

机器学习(一)之k近邻算法

机器学习(一)之k近邻算法

机器学习(一)之k近邻算法

机器学习(一)之k近邻算法

(3.3)这里建议多使用python提供的help()命令查询常用函数的功能以及使用方法,如

机器学习(一)之k近邻算法

后面还会有例子说明,

机器学习(一)之k近邻算法

再来看一下程序清单中用到的函数argsort(),

机器学习(一)之k近邻算法

机器学习(一)之k近邻算法

Note: 这里是通过计算不同样本数据之间的欧式距离来获取未知标签与样本之间的距离,这里只有二维,后面的图像(32*32)计算距离时,是1024维(32*32)的。