全文链接:http://tecdat.cn/?p=31035
数据源是安卓的项目,把同一类功能的安卓代码的头部,每一个文件都有import 包名。把所有import的包名都抓了下来存到了mysql, 这是数据源 , 需要用r分析这些包名。
用r给这些包做统计,同名的包有多少,占百分之多少,做可视化图,打标签。
这个项目的目的是,比如一类功能是发email的app,每一个项目里java文件头部都有引用的包名,通过把所有的包名一分析,发现80%的项目里面都有同一个包,那么就认为这个包的功能就是email , 然后再通过标签关联java文件 。
导入数据
画直方图显示词频重合率
删去没有重复的包
变换数据
计算出重复率
画网络图
这个是git上的项目,每一个点是一个项目,不同颜色表示不同语言,每个点之间有线连着,表示每个项目的联系,可能是关注人一样,也可能是作者一样 。当把包名打上标签后,有可能不同包名是一个标签,那么就可以画出这种联系图。
对图进行删减,删去连接少的边
用网络图可视化
所有数据:
以chat为基地:
以email为基地:
相关视频
Kmeans算法聚类
聚类数为3,将数据聚成3个类别
相关视频
可视化聚类结果
领取专属 10元无门槛券
私享最新 技术干货