机器学习-7(实战演练k-近邻算法)

版权声明:成都软件测试交流群,339614248,欢迎你的加入 https://blog.csdn.net/louishu_hu/article/details/83651994

首先,这里不讨论你如何获取数据,我们假设这些都已存在我们的库里面了,并已经建立好了正确的分类了。

这里我直接截图我的实验库吧:

现在我们的任务就是随便输入一个经纬度,来看看它属于哪一个国家

先来把我们的读取任务搞定吧

OK,初步清洗完成,把标签国家拿出来了,经纬度拿出来了

先来拿10%来做测试样本吧

错误率58,等于只对了42个,无法接受啊!我们继续来用归一的思想来计算一次

  

计算出来,错误率依然很高,OK,演示就到这里了,我们来分析一下why?

我去看了下历史数据,oh my god,原来是我的数据太少了,在这个算法里排序的时候,最近的3个,有的时候发现,3个最近的国家计数都是1.。。。。那这算法他就按最先出来的那一个算老大了。。当然就错误了。。

所以这个算法并不适合对于经纬度处于哪个国家的计算,或者说是因为我的数据太少,而且k取的太小

最后我反思了下,及时我的数据仓库存在了很多很多数据,但是对于两国或者多国边界,即便我把k放大,如果是个小国家呢,比如越南和中国交界处。。。明显中国的更多。。所以,总结就是,在此处我们需要另寻他法来解决这个问题了

如何解决,我们留到以后的章节再来细说了

猜你喜欢

转载自blog.csdn.net/louishu_hu/article/details/83651994
今日推荐