让每一名学员高薪就业
返回列表 发新帖

你一定看的懂的机器学习入门算法之KNN

[复制链接]

1

主题

2

帖子

48

积分

教师团队

Rank: 7Rank: 7Rank: 7

积分
48

源码时代教师

发表于 2017-12-6 11:04:37  | 显示全部楼层 | 阅读模式
我们以一个非常简单的例子来说明KNN算法的基本思想
首先,假设你有一个有许多有价值文章的博客(比如PHP学科的四哥),现在你想在博客中放些广告,通过一段时间的广告投放,你统计出了如下的一些规则:

博客中
段落数
博客中
图片数
是否可以获
得广告收入
2 10 Y
3 12 Y
10 0 N
9 1 N
2 9 Y
11 3 N


我们可以将上表表示为下图的坐标系:

图1

图1

其中,横坐标表示图片数,纵坐标表示段落数。
现在,加入你又写了一篇文章,那怎么根据历史的统计数据,预测这篇博客是否可以获得广告收入呢?
KNN给出了一种非常简单的计算方法:
1) 计算新博客中(段落数,图片数)和历史的6篇文章的相似度(可简单的理解为欧式距离)
     dist(x,y) = sqrt( (x1-x2)^2+(y1-y2)^2 )
2) 按照距离从小到大排序
3) 确定一个k值,然后取前k个值,统计出现是和否的次数,然后以高者决定新博客是否能获得广告收入。

以上即KNN的算法核心,假设现在你最新的博客有1段文字和13张图片,因为我们现在只有两类结果,所以k可以暂时取为3,你觉得能不能获得广告收入呢?
不要觉得,只要你有java基础知识,就使用java代码来实现上述算法吧。

感谢源码时代Java学科讲师提供此文章!
本文为原创文章,转载请注明出处!



回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

最新活动

联系我们

Java培训  |   PHP培训  |   UI培训  |   H5培训  |   如何报名  |   视频下载
快速回复 返回顶部 返回列表