python机器学习案例系列教程——K最近邻算法(KNN)、kd树

全栈工程师开发手册 (作者:栾鹏)

python数据挖掘系列教程

K最近邻简介

K最近邻属于一种估值或分类算法,他的解释很容易。
我们假设一个人的优秀成为设定为1、2、3、4、5、6、7、8、9、10数值表示,其中10表示最优秀,1表示最不优秀。
我们都知道近朱者赤,近墨者黑,我们想看一个人是什么样的,看他的朋友是什么样的就可以了。

1、如何来考察一个人?
我们通过特征属性来描述一个对象的特征,例如是否抽烟、是否运动、工资、年龄。

2、怎样才算是跟朋友亲近?
通过计算距离函数来表示两个对象的相似度。例如具有相同的习惯、兴趣

3、不同亲近程度的朋友对考察人的影响?
通过为不同距离设置权重,来表示不同近邻对待测对象的亲近度。例如5个亲近朋友中,最亲密的两个朋友对考察人物的影响非常大,其他三个朋友的影响几乎可以忽略。

4、选多少个亲近朋友来考察比较合适呢?
k的取值问题

K最近邻(KNN)概念:

它的工作原理是:存在一个样本数据集合,所有特征属性已知,并且样本集中每个对象都已知所属分类。对不知道分类的待测对象,将待测对象的每个特征属性与样本集中数据对应的特征属性进行比较,然后算法提取样本最相似对象(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的对象数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数。最后根据这k个数据的特征和属性,判断待测数据的分类。

K最近的三个基本要素

1、k值的选取。(在应用中,k值一般选择一个比较小的值,一般选用交叉验证来取最优的k值)

2、距离度量。(

你可能感兴趣的:(机器学习系列课程,快速学习实战应用,python系列课程,快速学习实战应用)