#电子书阅读奖励计划#
新人第一发。作为一个电气狗想成为一个码农是一件挺不容易的事的(国内,国外并不清楚)。因此经过种种尝试(仔细想想就学了个Python)之后,我还是觉得学一些比较契合本专业的东西(数据处理?),顺带也将编程作为自己的一个业余爱好——
Too young了,现在看来。

买了这本《数据科学入门》,我才发现我还是naive了。“数据处理”确实隶属于数据科学,但“数据科学”却不等于数据处理——

  1. 首先,你需要获得数据。有很多办法,我以往了解的就是从实验室的师兄师姐这里拿到“祖传数据”,或者自己仿真/实验获得数据。但在这个时代,你不会从网上获取数据都不好意思出去见人。这本书的第九章就简单介绍了一下requests+BeautifulSoup的用法,获取网页解析html得到数据。这个令我印象深刻。
  2. 获取数据之后你就可以对其进行可视化了。第三章介绍了matplotlib的基本用法。
  3. 处理数据时你总需要用到统计手段。作为一本入门书,这本书从频率学派到贝叶斯学派介绍得非常详细,虽然都是基础部分,但仍然有诸如“辛普森悖论”、相关性与因果性之类的trick刷新我的三观。
  4. 对于我们来说,会统计处理数据已经差不多了,但这本书也顺藤摸瓜介绍了一些智能算法,比如决策树、神经网络、聚类分析。
  5. 最后,面面俱到的介绍了一些(个人认为)相对重要的分支(NLP、推荐系统)和比较有用的技术(MapReduce、数据库)。 总之,这本书在内容上浅显得介绍了数据科学的各个角落,也告诉我一个“Data Scientist”不是那么好当的。

内容上,可以说是覆盖面广泛,事无巨细都交代了一些;但作为一本“入门”,浅显易懂、零基础是少不了的。

  • 开头第二章简单介绍了一下Python,虽然之前学过Python语法,但还是能够得到一些启示。
  • “入门”还体现在实现方式上。作为电气狗我也看过一些编程书,就算是谭浩强老先生也会每个部分举几个例子,这本书也不例外;但作者愣是利用Python最基本的数据结构和库来进行例子的编写,那些就算是外行也知道的如雷贯耳的numpy、scipy、pandas、scikit-learn等库都不用。(matplotlib除外,嘛。。。)虽然有些“重新造轮子”的嫌疑,但从头做起,一来可以将原理叙述清楚,二来也告诉读者,“这东西没啥神奇的,我上我也行”。但作者还是非常贴心地在章末列举了现成的库(毕竟自己用标准库写的东西稳定性运行速度上面都不是最优的嘛。)
  • 然后,“入门”在数学上的体现当然不是从“1+1=2”开始教起,而是假定读者没有基本的统计学知识,概率知识也只限于知道“这玩意是什么”的程度。由于假定读者的起点(相对与兲朝正常水平理科高中生)来说有点低,所以在诸如梯度下降的后面介绍lasso和多重回归分析的时候,我们经常可以见到“令人遗憾的”的字样(因为要把那个东西从头到尾解释明白要浪费大量墨水所以作者选择了干脆不解释?!)。

因而,这本书还是有不足的。主要一点就是“过于基础了”。刚才也提到了,起点定得过低就会导致在有限的内容下难以讲清楚相对复杂的内容。所以作者也算铁心的在每章章末推荐了相关的文档。毕竟瑕不掩瑜,通过这本书还是学到了很多东西,无论是数据科学,还是Python,甚至从数学公式到代码实现的过程。