数据挖掘编程指南_ch1_2

来源:互联网 发布:兴业信用卡淘宝卡年费 编辑:程序博客网 时间:2024/05/17 07:39

A Programmer's Guide to Data Mining_ch1_2


数据挖掘延伸了我们已经能做到的


斯蒂芬 贝克在他的《The Numerati》是这样开头的:
想象一下你正在咖啡厅,也许里面挺吵。一个年轻的女士在你右边的桌子正在笔记本电脑上敲打着。你转过头看了下她的屏幕。她在冲浪。你看着。几个小时过去了。她在看一篇在线的文章。你注意到她看了三篇关于中国的文章。她搜索了周五晚上准备看的电影,并看了功夫熊猫的预告片。她点击了一个广告,广告上说这里一定可以联系到你的高中老同学。你坐在那儿记着笔记。在过去的每一分钟,你都进一步地了解这位女士。现在想象你可以同时关注150000000人在冲浪。

数据挖掘就是聚焦于寻找数据中的模式。在小规模内,我们是建立情感模型并发现模式的专家。我想和我夫人今晚一起看一部电影。我对她喜欢的类型有一个情感模型。我知道她不喜欢暴力影片(因为她不喜欢《第九街区》)。她喜欢查理•考夫曼的电影。我可以用我对她所知的电影偏好这个情感模型来预测她可能喜欢的电影。一个朋友从欧洲来访。我知道她是一个素食主义者,通过这一信息我可以预测她不会喜欢当地的一家排骨店。人们很擅长制作模型和作出预测。数据挖掘扩大了这个能力并且使我们能够处理大量的信息——上面书中引用的150000000人。这也使得潘多拉音乐服务可以针对个人的音乐偏好来设计一个音乐站。业使得Netflix可以给你推荐特别个性化的电影。

T级数据挖掘并不是占星学上传说的东西了
21世纪末,一百万字的数据集被认为是很大。当我还是个研究生的时候,我作为一个程序员工作了一年并在写《Greek New Testament》。It's only around 200,000 words but the analysis was too large to fit into the mainframe's memory necessitating spooling results off to
magnetic tapes, which I had to request to be mounted.(不懂怎么翻译这句话)

如今对tb级的信息量做数据挖掘已经很常见了。谷歌就有超过5PB的网页数据。2006年,谷歌在搜索社区发布了一个机遇亿万字的数据集。国家安全局就有亿万个通话记录。Acxiom就是一个收集美国2亿成年人的信息的公司(信用卡消费,通话记录,医疗记录,汽车注册等),聚集了1PB的数据。Robert O'Harrow, Jr.是《No Place to Hide》的作者,他试图帮助我们抓取1PB的信息,他说1PB就相当于堆放了50000英里的King James Bible。我经常在新墨西哥和弗吉尼亚州直接开车2000英里。当我试着想象圣经被一路堆放就像一个无比大的数据。我只能说对排放了50000英里的圣经毫不夸张地说:“真是好大的数据啊。”

国会的图书馆有将近20TB的文本。你可以讲整个国会图书馆的集合存放在一个几千美元就可以买到的硬盘上!对比一下,沃尔玛有超过570TB的数据。

所有的这些数据并不都存在着一个地方——它被不停地挖掘,建立新的联接,划分新的模式。T级数据挖掘。

在这边书里面,我们将处理小的数据集。这是件幸福的事。我们不想让我们的算法跑了一个星期以后,却发现我们犯了几个逻辑上的错误。我们用到的最大的数据集在100MB以下;最小也就几十行数据。

本书的排版
本书每章都有配套的实验。与其被动地阅读这本书,我还是比较鼓励大家通过我提供的Python代码来实现一下练习和实验。通过来回地实验,不断地写代码,试图用不同的数据集去验证方法才是真正掌握技术的关键。

我试图在动手方面,具体讨论你可以使用和修改到的Python数据挖掘代码和数据挖掘背后技术的理论之间找到一个平衡点。以免大脑在读到理论、数学和Python代码的时候僵住,我试图添加图示和图片来刺激你大脑的各个不同的区域。

这本书不是一本关于数据挖掘技术的综合性教材。像那样的教材有Pang-Ning Tan,Michael Steinbach和Vipin Kumar写的《数据挖掘导论》,这本书显然更强大地讲述了数据挖掘方法以及对这些方法的更深入的数学基础分析。而你正拿着的这本书——意在快速、细致、实践性地为你介绍数据挖掘技术的基础知识。看完本书后,你可以找一本更综合性的书籍来填补任何你认为不够清楚的地方。

这本书还有个有用的东西就是附随的Python代码和数据集。我觉得这些能让一个初学者更容易地理解关键概念,但与此同时,不鼓励初学者照本宣科的勘探。(not shoe-horn the learner into a scripted exploration)

这本书还处在它的婴儿期——方且叫它版本0.2吧。如果那个地方让你困惑,或者你发现一个错误,或者你有什么建议,请在这个网站上留言给我。我肯定会为你的贡献加分。这本书在权雷同方法共享下,意味着只要你有所贡献,你就可以免费地共享和重新混写。这本书总会有一个免费的电子版。也许在某个时刻,我会决定卖掉旧的版本。

通过阅读这本书,你将学到什么
当你看完这本书,你将能够用Python或者你所熟知的其他的语言(比如PHP)来为网站设计和实现推荐系统。比如,当你在亚马逊看到一个产品,或者在潘多拉听到一首好歌,将会有一个推荐列表呈现给你(里面是你可能也会喜欢的其他产品或者歌曲),你将学会如何开发这个系统。除此之外,本书提供给你必要的词汇让你能在数据挖掘开发小组下功夫。作为这个目标的一部分,本书应该有助于揭开推荐系统的神秘面纱,恐怖识别系统以及其他的数据挖掘系统。

为什么这个很重要呢?
为什么你要花时间阅读这本书学习数据挖掘?在第一章的开始,我给出了关于数据挖掘重要性的例子。那部分的总结如下。我们可以看到许许多多的信息(电影,音乐,书籍,菜谱)。而且这些信息正在以惊人的速度增长。问题是我们如何从这么多信息里找到对我们有价值的信息。在所有的可以看到的电影资料里,那应该看哪一部。我该读的下一本书是什么。这个识别相关信息的问题就是数据挖掘所做的。大部分的网站有处理“查找相关信息”的组件。除了上面说到的电影,音乐,书籍和菜谱外,你可能会想要关于交朋友的推荐。就像一份个性化的报纸列出了你最感兴趣的新闻。如果你是一个程序员,特别是做网站开发的,了解数据挖掘技术是很有用处的。

现在你知道为什么要贡献出你的部分时间去学数据挖掘的原因了吧,那么为什么要选这本书呢?市面上有好多关于数据挖掘的非技术性介绍的书籍。它们通常是快速入门,有趣的,又不贵的,可以在很晚的时候阅读(没有复杂的技术性难题)。其中就有一本Stephen Baker写的《The Numerati》。我推荐这本书——就在我从弗吉尼亚州开往新墨西哥的路上听过它的有声版本。写得很是引人入胜。另一个极端就是大学里关于数据挖掘的教材了。它们通常比较综合,可以为数据挖掘理论和实践提供一个更深入的分析。所以我也推荐在这个目录下的相关书籍。我的这本书刚好填补了两者的空缺。这是为喜爱编程的人们所设计的——黑客。这本书最好在电脑前阅读,这样读者可以结合着调试代码。本书还给出了数学公式,但我试图用一种对已经忘记大学里学过的大批数学课的普通程序员易于理解的方法去解释它。

如果那也没办法使你信服,这本书是免费的,你可以共享并重改它。

What's with the Ancient Art of the Numerati part of the title
2010年六月我正试图为这本书想一个题目我喜欢充满智慧的标题,不幸的是,我没有这方面的天赋。我最近出版了一篇论文叫《Linguistic Dumpster Diving: Geographical Classification of Arabic Text》(每错,正是数据挖掘论文)。我很喜欢这个充满智慧标题,因为它与论文内容很符合,我不得不承认这是我妻子想到的标题。我与别人合作了一篇论文叫《Mood and Modality:Out of the theory and into the fray》,也是我的合作者Marjorie McShane提出来的题目。无论如何,回到2010年六月。我所有看似聪明的标题都有些含糊你不容易从中发现这本书内容的线索。我最后决定先用《A Programmer’s Guide to Data Mining》为标题。我相信比特是对这本书内容很简明的描述。你可能会问冒号后面的是什么意思:
 
Numerati是Stephen Baker新造的一个词。我们每一个人每一天都会产生大得惊人的数字数据。信用卡消费,Twitter的公告,Gowalla的公告,Foursquare的签到,手机通话,电子邮件,手机短信等等。当你起床,Matrix就知道你在Foggy Bottom车站登上了早上7:10分的地铁并在7:32分抵达Westside 站。Matrix知道你在星巴克5号窗口点了一杯拿铁和蓝莓烤饼,在7:45抵达工会;你在Wowalla签到,在8:05开始工作;你9:35在亚马逊买了一套the P90X Extreme Home Fitness Workout Program 13 DVD和引体向上的栏杆;你在Golden Falafel吃了午餐。Stephen Baker写道:

唯一能搞懂这些数据的人们应该是高明的数学家,计算机科学家和工程师。当这些计算天长把我们变成眼花缭乱的数字集合时能从中了解到什么呢?首先,他们要找到我们。比如你是一个在纽约北部郊外的很有潜力的SUV店主,或者你是阿尔伯克基的一个经常上教堂的反对堕胎的民主党人。也许你是一个正准备在海德拉巴定居的Java程序员,或者是一个喜欢爵士,热爱基安蒂红酒的射手座正在乡下探寻着道路并享受着斯德哥尔摩壁炉的温暖。或者阿弥陀佛,你正渴望在腰间绑上炸弹爬上一辆公交车。无论你是什么(我们每个人都是一个物体),公司和政府总想识别和定位你。

你也许猜到了,我很喜欢Numerati这个单词以及Stephen Baker作出的解释。

本书的封面(此处给出的)是生活在大约公元前400年的中国哲学家墨子。他的追随者写出了中国几何学上最早的作品。

0 0
原创粉丝点击