当我们在谈论kmeans(1)
引言
当希望快速了解或回顾某些算法的发展时,一般而言,大家都会选择阅读综述性文章,然后有选择性的阅读部分论文。而这种高效率的做法的负面,就是比较无趣的体验,毕竟一直都行走在别人规划好的思路中,总感觉少了点趣味性。
此系列文章一方面旨在回顾一些算法的历史演变轨迹;同时,看看能否挖掘出更多有趣或有意义的信息,让算法之路走的欢脱一点。
作为练手,本次先从k-means这个最基本的机器学习算法之一开始。
数据准备
从IEEE上抓取“标题或摘要中含有kmeans或相关关键词的论文”的部分公开信息,对于现在已有的信息,我关注的主要是title、authors、keywords、abstract、publicationYear、isConference(是否是会议文章)。抓取到数据后,将数据存入mongodb,后续使用python+jupyter来分析。
受限于抓取难度,以及本人初步的爬虫水平,并没有抓reference,这对接下来的数据挖掘是一个遗憾。若有同学比较擅长爬虫,欢迎私信或留言交流!(IEEE的网站说明里声明禁止爬虫,因此政治正确上最好是不要去爬的,此处也不讨论具体的技术细节)
数据总览
论文数量
1969-2016年,每年IEEE收录关于kmeans的论文数量如下图。其中蓝色表示当年总文章数量,绿色表示当年期刊论文数量,红色表示当年会议文章数量。
从图中可以得出以下几点结论:
1.1990年以前,kmeans相关文章很少,多的时候每年出版的总文章数量是1,少的时候则没有任何相关文章出版;90年代作为明显的过渡期,其之前与之后论文数量与趋势的变化是翻天覆地的;
2.会议文章占了总文章数量的绝大多数:在抓取的6000多篇文章中,会议文章总5476篇,而期刊数量540篇,只有会议文章的1/10;而每年的会议文章跟期刊文章的比值也差不多这个数;
3.kmeans相关会议文章数量在2005-2010和2013-2015几年间出现了爆炸性
