读书笔记《集体智慧编程》Chapter 3 : Discovering Groups
目的
最近项目中有个需求是文本聚类,实现这个功能需要一些数据挖掘的技术,由于此领域“水很深”,项目也很紧,没有那么多闲功夫去深入研究此领域。向一个相关领域的博士在读同学请教了此问题,推荐阅读《Programming Collective Intelligence》中的相关章节,读后果然豁然开朗,这里再次感谢此同学 。将第三章的大概内容和心得体会记录于此,方便日后查阅。同时,也希望作为契机,为以后进一步深入学习数据挖掘做准备。
概要
本章主要介绍了
聚类算法:
- Hierachical Clustering:根据两个向量之间的关系得到相关树结构,结果是一个二叉树 ,时间复杂度是O(n^3)
- K-Means Clustering:计算K个组,k必须事先给出,计算量相比于Hierachical Clustering,大大减小
相关性距离算法
- 欧拉距离:平面几何距离的n纬扩展
- Pearson系数:通过斜率计算相关性
- Tanimono系数:处理[0-1]向量的相关性
多为标度(multidemensional scaling):一种将多维空间的研究对象(样本或变量)简化到低维空间进行定位、分析和归类,同时又保留对象间原始关系的数据分析方法。
阅读心得
- 虽然是英文原版,但是行文流畅简洁,通俗易懂。语言基本不是障碍,适合非英语母语的读者阅读。
- 介绍了算法的数据集的如何获取,同时提供了数据集,如果希望直接了解算法(比如我),可以直接忽略数据集的获取相关内容。因为由于网络限制(比如公司内的防火墙等)或者相关资源变更,可能有些数据无法按照书中的方法获取。
- 实例代码提供图形生成工具,有助于感性的理解算法。这个很赞!
- 所有相关算法的输入都是一个向量,姑且称之为“特征向量”,由于原文是针对英语,所以词语比较容易统计。对于中文,需要借助一定的分词工具完成中文分词过程,如果是PHP或C++,建议这里推荐使用SCWS
本人还是数据挖掘领域的菜鸟,欢迎拍砖
相关资料
- 《豆瓣读书-集体智慧编程》
- 如果需要本书电子版,可以留邮箱
声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。