美文网首页
【机器学习1】 k-近邻算法(kNN)—电影分类

【机器学习1】 k-近邻算法(kNN)—电影分类

作者: 王小野 | 来源:发表于2020-05-27 00:31 被阅读0次

k近邻法(k-nearest neighbor, k-NN)

原理:

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

优缺点:

优点:精度高、对异常值不敏感、无数据输入假定。 

缺点:计算复杂度高、空间复杂度高。 

适用范围:数值型和标称型。 

Python实践案例:电影类型分类

已知:一些未看过电影的打斗镜头数、接吻镜头数、电影所属类型的标签

求:确定电影类型是爱情片还是动作片

训练集-样本电影示例

步骤:

1、计算已知类别数据集中的点与当前点之间的距离;

2、按照距离递增次序排序;

3、选取与当前点距离最小的k个点;

4、确定前k个点所在类别的出现频率;

5、返回前k个点所出现频率最高的类别作为当前点的预测分类。

具体如下:

计算未知电影与样本集中所有电影距离。

计算红点到每个黄点(已知电影)的距离,按距离递增排序,假设k=3,则表示按照前3个距离最近的电影类型出现的最高频率(比如动作片出现的频率为2/3)作为判定未知电影类型的标准和依据(即红点-未知电影为动作片),如下:

计算距离示例

代码:

1)准备数据:

代码 结果

2)kNN 算法预测数据: 

代码 结果

学习来源:《机器学习实战》 [美] Peter Harrington

Jack Cui 博文https://cuijiahua.com/

相关文章

网友评论

      本文标题:【机器学习1】 k-近邻算法(kNN)—电影分类

      本文链接:https://www.haomeiwen.com/subject/otciahtx.html