1.4本书体例
本书秉承践行学习法。我建议大家用书中提供的Python代码来进行习题练习和实验,而不是被动地阅读本书。多多实验、深入代码并在多个不同数据集上尝试本书中的方法是真正理解技术的关键。
我努力做到如下两个方面之间的平衡:一方面,我详细介绍实用的数据挖掘Python代码以便读者可以使用并对其进行修改;另一方面,读者也能了解背后的数据挖掘技术。为防止读者阅读理论、数学及Python代码时大脑的思维停滞,我加入插图和图片来刺激大脑的另一部分。
Google研究院院长彼得·诺维德(Peter Norvig)在他的Udacity在线课程《计算机程序设计》中提到:
下面我会给出我的解答并讨论。需要注意的是,一个问题可能有多种解决方法。我并不是说我的解答就是唯一的或者最好的。我的解答只是为了让你学习某种编程风格或者技术。如果大家用另外一种方法解决了问题,那很好,真的很好。 所有的学习过程都发生在你的大脑中而非我的大脑中。因此,重要的一点是理解你的代码和我的代码之间的关系以及自己得到解答方法,这样你就能检查我的代码,之后或许能够挑出几项以后可以使用的线索或技术。
本书并不是全面介绍数据挖掘技术的教材。市面上有一些教材,比如Pang-Ning Tan、Michael Steinbach及Vipin Kumar合著的《数据挖掘导论》(Introduction to Data Mining),该教材提供了这些方法的数学基础的深入介绍。而你拿到的本书却是为了提供一个快速、粗略的实用性入门介绍,通过它可以了解数据挖掘技术的基础知识。之后,你可以选择一本更精深的书来填补可能的差距。
本书具有可用性的内容还包括随书附带的Python代码和数据集。我认为这两者的加入会使学习者更容易理解关键概念,同时学习者也不用通过逐行敲入代码来进行学习。
学完本书之后可以做的事
学完本书之后,你可以使用Python或者任意一种你所了解的语言设计实现Web网站的推荐系统。例如,当你浏览Amazon的某款商品或者Pandora的某首歌曲时,一些你可能喜欢的推荐结果也会展示给你。你将学会如何开发这样的系统。此外,本书会提供足够的词汇以使你在数据挖掘开发团队中顺利开展工作。
本书的一个目的是可以帮大家揭开推荐、恐怖识别及其他数据挖掘系统的神秘“面纱”。你至少会对这些系统的运行过程有一个大致的了解。
为什么这本书很重要
为什么你应该花费时间来学习这本关于数据挖掘的书?本章一开始我给出了数据挖掘的几个重要示例。那一部分可以概括如下:存在很多对象(包括电影、音乐、书籍、电饭锅等),这些对象的规模都将急剧增长。这么多对象出现之后的一个问题就是如何找到与我们相关的对象。在所有电影当中,应该看哪些电影?我应该读的下一本书是什么?识别相关内容是数据挖掘要完成的任务。很多Web网站都有专门处理“内容查找”任务的组件。除了上面提到的电影、音乐、书籍及电饭锅之外,你可能还希望推荐关注哪些朋友。如果一份个性化的报纸只展示你感兴趣的内容,你会觉得怎么样?如果你是程序员,尤其是Web开发人员,了解数据挖掘技术十分有用。
好了,现在你该明白为什么要花时间来学习数据挖掘了,但是为什么选择这本书呢?也有一些书从非技术的角度对数据挖掘进行全面的介绍,也存在快速阅读、饶有趣味、价格便宜、适合夜读的书。史蒂芬·贝克(Stephen Baker)撰写的The Numerati是一本好书。我强烈推荐这本书。我在弗吉尼亚和新墨西哥之间驾车时听过这本书的音频版本,这本书确实引人入胜。另一个极端是大学的数据挖掘教材。它们提供了数据挖掘理论和实现的全面深入的分析。我写这本书的目的在于填补上述两者之间的鸿沟。该书为喜欢编程的人设计,这些人也往往称为黑客(hacker)。
这本书适合在计算机边阅读,这样读者可以通过代码来实践
书中也包含数学公式,但是我试图按照普通程序员可以理解的方式来解释这些公式。这些程序员可能忘记了大学时学过的大半数学知识。
如果上面这些还不能说服你的话,我要说的是,本书是免费的,即你完全可以免费共享。
为什么书名中包含“Ancient Art of the Numerati”
2010年6月,我开始考虑书名的事情。我喜欢很聪明的书名,但是不幸的是,我没有这方面的天赋。最近我发表了一篇标题为Linguistic__Dumpster Diving:Geographical Classification of Arabic Text的论文(对,是一篇数据挖掘的论文)。我很喜欢这个标题,因为它与文章内容完全吻合所以显得十分聪明,但是我必须承认这个标题是我太太的主意。我曾经与人合写了一篇标题为Mood and Modality: Out of the theory and____into the fray的论文。它是我的合作者Marjorie McShane给的标题。总之,回到2010年6月,我所有的聪明主意都太含糊,所以你不知道这本书到底要讲什么。最后,我将“写给程序员的数据挖掘实践指南”作为书名的一部分。我相信这给出了本书内容的一个清晰的描述,即这本书是为了给程序员提供入门介绍的。你可能会对如下冒号后面的一句话感到迷惑不解:
Numerati是史蒂芬·贝克(Stephen Baker)构造的一个术语。我们每个人每天都会产生数量惊人的数字化数据。这些数据包括信用卡交易、Twitter 上的推文、Gowalla上的帖子、Foursquare上的签到信息、手机通话、邮件、短信,等等。
你一起床,The Matrix就知道你7:10会在Foggy Bottom站乘地铁,7:32在Westside站下车,然后7:45在5th and Union的星巴克饮一大杯拿铁咖啡,同时吃蓝莓司康饼。你利用Gowalla进行上班打卡,9:35在亚马逊上购买P90X家庭健身锻炼计划(Extreme Home Fitness Workout Program)的13张 DVD套装以及一个单杠,然后在Golden Falafel吃午饭。
史蒂芬·贝克写到:
能够弄清构建数据意义的人仅仅是那些高明的数学家、计算机科学家和工程师。当让我们面对这些眼花缭乱的数据组合时,这些Numerati究竟能够从我们身上学到什么?假定你是纽约北郊区的一个潜在的越野车(SUV)客户,或者是阿尔伯克基(Albuquerque)市一个经常去教堂做礼拜的反堕胎民主党人。或许你是一个将迁到印度南部城市海得拉巴(Hyderabad)的Java程序员,或许是一个正在寻找国内徒步线路、喜欢喝基安蒂红葡萄酒的射手座爵士乐爱好者,此时正在斯德哥尔摩的壁炉边暖暖而坐。不管你是什么人,我们每个人都涉及方方面面的东西,而公司和政府都想对你进行识别和定位。
正如你或许可以猜到的那样,我喜欢术语Numerati以及史蒂芬·贝克对它的描述。
1雷明顿(Renmington),著名的枪械厂商。——译者注
2James Michener(詹姆斯•麦切纳,1907-1997),美国著名的历史小说家。——译者注
3Barry Goldwater(巴里•戈德华特,1909-1998),美国政治家,共和党人,曾任亚利桑那州参议员,是1964年美国总统选举共和党的总统候选人。The Conscience of a Conservative是其1960年出版的一本书。——译者注
4Henry Ford(亨利•福特,1863-1947),美国福特汽车公司的建立者。有人指出,他讲这句话是为当时制造的车只能是黑色而找借口。——译者注
5Sears,著名零售公司。——译者注
6Spotify,一个起源于瑞典的音乐平台,提供包括四大唱片公司和众多独立厂牌在内的约1500万首歌曲的流媒体服务。——译者注
7Consumer Reports是1936年开始由美国消费者协会创办的月刊。——译者注
8Roger Ebert(罗杰•埃伯特,1942-2013),美国影评人、剧本作家,普利策奖获得者。 ——译者注
9Lyndon Johnson(林登•约翰逊,1908-1973),第三十六任美国总统。——译者注
10该广告英语名为“Daisy”,又名“Daisy Girl”或“Peace, Little Girl”,是1964年美国总统选举时候选人林登•约翰逊一方推出的一部备受争议的电视竞选广告,通过该广告抨击另一候选人上台后可能的风险。——译者注
11自动答录电话指的是由计算机系统自动拨号,播放事先录制的电话留言的宣传电话。Robocall是产品促销和政治竞选的常用手段。——译者注
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。