用机器学习来帮助吃货的你找最合适的聚点.docVIP

用机器学习来帮助吃货的你找最合适的聚点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用机器学习来帮助吃货的你找最合适的聚点 准备食材 首先,我不对这次排行的可信度负责,我只是直接百度的top餐厅,里面的水分大家自己掂量,甩锅给哈尔滨美食最新榜出炉,史上最强300家美食满足你各种挑剔! 大概是这样的 怎么爬我就不重复演示了,这里可以了解动态和静态爬的各种方法可以参考这里,有静态和动态的例子,这次我用静态爬发现被拦截了,mdzz,然后我就直接上selenium+Firefox(这里有一堆用Selenium的不累述了),至于为什么不上PhantomJS,我这里说下,有时候PhantomJS爬的内容没有Firefox全,或许有人跳出来说,你个sb,他两是一样的啊,而且PhantomJS更加省内存,呵呵,你自己去试试就知道了,我不止一次在爬动态的时候PhantomJS遇到问题而Firefox没有问题的(比如这个伪解决Selenium中调用PhantomJS无法模拟点击(click)操作 ,连xpath都一样,就换了个无头,就不行了,我也有看到Stack Overflow上遇到同样问题的,可能是我手法不够吧,或许是我真的理解错了,到时候我自来认错。 清洗食材 刚爬下来的数据肯定不能直接用的,又是空格又是序列的,处理的方法很多,可以用正则,sub换空格,然后splite切割,组成列表再取,洗的方法很多,具体看数据是怎么样的,洗完后放进冰箱,啊不是,放进txt或者保存为csv,xls都可以的呢~ 注意点 有些数据,大概三四个,我清洗完之后发现有错误,比如洗出个空格,额。。。。我尝试用try,except检测错误,查看原始数据,发现源链接中的js写的不标准造成的,哎,手动改好,再清洗一遍,不要刻意为了这一两个数据重写清洗算法,不就是sb了想着全自动一步成型,我咋不上天啊。。。 食材腌制-定位经纬度 这个我在上一篇文章中详细写了如何从一个地址转换得到相应的经纬度,可以查看经纬度地址转换的方法集合(Python描述)这里不再赘述,得到的数据格式有两种如下所示 左一为地址+经纬度,逗号隔开,右一为经纬度,空格隔开,为什么要生成两个格式?因为我喜欢啊,哈哈哈 食材保存–转化CSV 直接右键另存为,然后保存格式为.csv即可,有人说,为什么不用csv的写入方法啊,因为我懒啊,我懒得重新构造字典了,这里甩上一段可以写入中文的csv格式。 import csv import codecs csvfile = file(csv_test.csv, wb) csvfile.write(codecs.BOM_UTF8) writer = csv.writer(csvfile) writer.writerow([姓名, 年龄, 电话]) data = [ (%s, 25, 1234567), (С李, 18, 789456) ] csvfile.close() 弄完之后大概是这样的就可以下锅了 烹饪食材–聚类处理 我们要用的数据集是空格隔开的,至于为什么空格隔开的经纬度数据,因为我以前写好的bikmeans里面输入项就是就是酱紫的,空格用正则比较好处理,用个list装下Obj.[0],[1]立马出来值了,至于Kmeans是啥,怎么用,请看机器学习之K-means算法(Python描述)基础,这里处理完后,我随机设置了5,10,15,20四种聚类点,观察各种效果。代码我在附录放上,参考的可以直接取附录找。聚类处理之后依旧保存如上一步的一张图形式,之后就可以开始可视化了! 佳肴摆上桌–数据可视化 枯燥的数据让人很难受,根本分析不出什么来,而且看着枯燥,这里我用了地图无忧这个网页版,虽然只有七天免费期,哎,辛辛苦苦画的图以后不能用了,(如果有谁知道还有类似的批量经纬度点转化图的软件请告诉我一下)真蛋疼,这里快给大家分享看看吃货的地图,不看就没了! 具体的操作,直接看教程很简单的,我就是建图层,然后图层上批量放入经纬度,它就能转化成地图上的点,很好玩,看个动图,这是我把点放上的效果。 享用佳肴–分析数据 先看下各种分布把,这个是热力图 这个是点阵图 把聚类的点加上,选了聚类点为15个 有些点不错,但是有些点太扯了把,貌似不是kmeans的宗旨的,他是为了找距离各热点最近的平衡点啊,是聚类点啊,但是有几个点明显不是了,查看原因。 问题所在:可以看出来,上面的点分布原因因为这些离散点的存在,我看了最远的点,亚布力滑雪场,的确有家店不错,额,可是我不考虑,我要是在市区玩,我还想去那么远的地方?明显不合理,所以我需要的是真的热点区域,也就是第二幅的那样,所以又要重新洗一下数据了,把离散点也就是噪声去掉! 烧糊了–重新来 虽然整体上来说,这个算法没错

文档评论(0)

wuailuo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档