我们以一个非常简单的例子来说明KNN算法的基本思想,首先,假设你有一个有许多有价值文章的博客(比如PHP学科的四哥),现在你想在博客中放些广告,通过一段时间的广告投放,你统计出了如下的一些规则:
我们可以将上表表示为下图的坐标系:
其中,横坐标表示图片数,纵坐标表示段落数。
现在,加入你又写了一篇文章,那怎么根据历史的统计数据,预测这篇博客是否可以获得广告收入呢?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学科讲师提供此文章!
本文为原创文章,转载请注明出处!
源妹儿要在空间开始发红包啦
领红包QQ:3496781807
明天12点开始
开课时间:12月18日-12月19日 每晚20:30-21:30
上课地址:腾讯课堂
点击阅读原文报名参加
新学科“Python+人工智能”来袭,首期直降6000元!
源码七周年庆,感恩回馈送不停