
我在很短的时间内,通过这本书的引导,搞清楚了如何使用iClient API来建构一个自己感兴趣的Network分析应用,很是不错。这本书无论是在材料安排、写作内容还是写作方法上,都非常适合指导“初学者”们的入门和进阶。
前几天看到一篇微博,谈的是GIS技术人员需要掌握的一系列数学知识,其中一位谈论的比较全面,认为应该掌握的基本技能包括三角学、基本微分几何、拓扑学、微积分、数值分析、计算机科学、图理论、几何学和统计学等,对于统计学,作者还特别强调,尽管并不是所有的GIS专业人士都需要了解,但人们越来越清楚的认识到一个基本的统计思维方式是至关重要的——特别是我们的处理对象是大量地理数据时,选择与统计及相关的数据挖掘知识,更有利于我们实现更快地实现自己的目标。
现在,对于“大数据”和数据挖掘之类的名词,已经成为一个非常热门的话题。人们早已意识到,从数据海洋中寻找到其中蕴含的模式和规律,比数据本身重要得多,唯有如此,海量的数据才能被称之为“大数据”,否则也只能被看作是没有价值的“大的数据”。从数据中进行知识提取的技术被称作数据挖掘(Data Mining),它包含了丰富的技术内容,也蕴含了很多高深的数学知识,当然,它也非常有用:从我们耳熟能详的回归分析到贝叶斯分析,从最简单的KNN分类算法到支持向量机(SVM)分类。可能大家并没有意识到,我们的生活中许许多多的问题都可以被视作一种数据挖掘的处理内容:根据一系列指标来判断某个人是否受欢迎?求医者的多参数检查结果是否预示着他罹患疾病?高尔夫球场根据一系列气象指标来决定是否开门营业?一群对象是否可以根据其相似性被归结为一个类型?如何判断一封email是否为垃圾邮件?这些包罗万象的领域,因为涉及到对数据的处理和分析,而为数据挖掘的技术人员们所关注。
但我们常常遇到一个问题是,该如何进入数据挖掘的领域,该如何从基础开始学习数据挖掘。当然,许多网络文章会推荐我们使用SPSS或SAE之类的商业软件,或者学习使用Weka等开源数据挖掘的产品,然而这类工具都有一个让初学者无比困惑的问题:其数据整理和分析结果如同天书一般,没有一点理论知识的储备,你简直都不知道软件输出的内容在说些什么。为了数据挖掘的入门,我们需要一本既包含基础数学知识(当然不能是零基础,基本的微积分和矩阵计算知识还是必须具备的),又能够将之与代码相结合的书籍,而《Machine Learning in Action》正是这样一本中级的进阶图书。它将基本的机器学习理论与实际的运用工具(Python语言和一系列基于Python的工具)相结合。该书回避了复杂的数学原理(但并非毫无涉及,只是将原理进行了极大的简化),并且提供了大量的分类、聚类、回归等实际案例及其Python代码来实现各种算法,在初步了解原理之后阅读,会感觉其清晰明了,并能投入实际应用之中。
但尽管该书条理清晰如此,阅读它绝非是一件轻松愉悦的事情,毕竟是有那么多的数学内容。唯有不断地在Python IDE上coding和反复咀嚼,方才能通过它初窥门径,进入数据挖掘的广阔天地。(蒋波涛)

{{item.content}}