如何选书
选择一本合适的数据科学书至关重要,一本不适合的书会浪费你的时间以及精力。
有时候,书的大纲可能正合你意。但是随着你深入阅读时,可能会发现作者只触及了表面,并不够深入。这种情况之前也发在我的身上,我写这篇文章就是为了让你避免这种情况。
当我们选择数据科学相关书籍时,可以考录一下几点:
· 看作者的个人简介:能够帮助了解作者的背景,他的研究和主要兴趣,同时也展现了本书的一些细节。但也要给新的作者机会,不要把这一点作为关键。
· 仔细阅读序言:大部分图书在网上都能免费阅读其序言部分。请仔细阅读该部分。大多数情况下,在此部分作者不仅会介绍写书背景,也会阐述各章节的细节。
· 选择有独立章节的书:这是我的个人喜好,比较一本技术型的书不是小说。虽然从书中由易到难、逐步学习很重要,但选择一本或多或少带有独立章节的书能让你结构性的把握此书。
· 去书店逛逛:虽然如今可以在网上找到所有的东西,但是在书店可以给你更直观的感受。有时候,当浏览一本书的关键章节时,我可能会改变主意,去选择另一本书。
· 阅读在线评论:首先不要相信所有评论,毕竟评论是主观的,但在线评论可以了解人们对此书的普遍看法。我们常说:不要以一本书的封面来判断其好坏。亚马逊的评论值得参考,人们会对作者做出有见地的评论和批评。
感兴趣的书籍
数据科学有很多好书,在本文末尾,我列出了39本我所读过的数据分析书籍。如果列表中没有涵盖你认为优质的书,请给我留言。
详细的回顾
一次回顾一堆书是一个艰巨的任务。将所有这些书放在一起的原因是,我认为概念和理论上有一些重叠的部分,其中最具挑战是大部分时间它们都是以不同的词汇呈现和阐述的。以下是我列出的,在阅读数据科学书之前值得一看的理想书籍清单。记住,你永远不会从一本书中获得足够的知识,因为科学领域是非常复杂的,一本书是远远不够的。
在下文中,我根据每个标准选择了这些书籍中的前5名。
书籍长度(页数)
一本书的长度确实取决于所探讨的内容。虽然这不是对质量的衡量标准,但我们可以假设你阅读的内容越多,所获得的知识就越多。以下是我根据书籍中探讨的内容多少排名前5名的书籍。
The Elements of Statistical Learning
Trevor Hastie and Robert Tibshirani
Python in a Nutshell: A Desktop Quick Reference
Alex Martelli, Anna Ravenscroft, Steve Holden
Data Structures and Algorithms in Python
Michael T. Goodrich and Roberto Tamassia
Doing Data Science
Cathy O’Neil and Rachel Schutt
Python Machine Learning
Sebastian Raschka
写作风格
对科学领域进行阐述很有挑战性,不能让每个人都满意,这取决于目标受众。有些作者有这方面的天赋,能够以简单明了的方式传达复杂的概念。同样,通过巧妙的结构和良好的学习方式解释概念,有助于学习。以下是写作风格方面前5名的书籍。
The Elements of Statistical Learning
Trevor Hastie and Robert Tibshirani
Python Machine Learning
Sebastian Raschka
The Art of Data Science
Roger D. Peng, Elizabeth Matsui
Machine Learning: The Art and Science of Algorithms that Make Sense of Data
Peter Flach
Real World Machine Learning
Henrik Brink and Joseph Richards
结构
教授数据科学并非易事,但也没有那么难,我们只需了解应如何构建内容,从而确保信息被保留。关于这点有两个主要的方法。我们可以构建独立的模块,当中的内容可以不具备相关性,但还是属于数据科学分析流程的内容。单独阐述这些概念不需按照顺序。
另一方面,人们可以通过以难度递增的顺序来构建内容,就像大多数教学书籍中一样。例如关于回归,书中以最基本形式的回归开始,并加以越来越多的变化和最复杂形式的回归。以下是结构性排名前五的书籍。
The Elements of Statistical Learning
Trevor Hastie and Robert Tibshirani
Python Machine Learning
Sebastian Raschka
Modern Python CookBook
Steven F. Lott
Docker in Practice
Ian Miell and Aidan Hobson Sayers
Ensemble Methods: Foundations and Algorithms
Zhi-Hua Zhou
内容
怎样就算太过了?从哪儿开始记叙?应该涉及什么内容,跳过什么内容?这些都是写数据科学相关书籍是会遇到的问题。一些作者会选择涵盖一个非常具体的领域,当查看这些作者的学术资料时,我们看到他们的研究与著作之间的联系。大多数时候,这些作者写的不是一般的数据科学书籍,而是他们的研究的一部分。他们的目标受众也比较狭窄。另一方面,一些作者针对数据科学教学,关注的是基本的和全局的部分,而不是细节。这类书籍常常涉及使用R语言或Python的回归,分类,以及使用模块进行数据分析等等。
通过封面判断一本书?
大多数人都说不要这么做。但我不认同这点。我们会用封面来判断一本书的好坏吗?我们需要、且必须这么做。当然,这里说的不是这本书的外部封面,而是在序言中可以看到的,书第一部的介绍性段落。在这部分,作者大部分都详细介绍了本书各个章节的细节。有时,作者会偏离他们最初对书籍的设想。这是正常的,这个领域正在快速发现,观点也是如此。但是一本好书总能够遵循其最初的设想。
解释的深度
作者在解释时会深入到哪个程度?我认为这与我在这篇文章中提到的很多观点有关。这与内容,结构和长度之间存在关联性。解释的深度能够区分好的作者,作者传达的信息中包含的内容,关系到你能够吸收知识,特别是那种会在大脑中留存很长时间的知识。因此,作者的技能在这占很重要的角色。因为他们必须掌握内容背后的真谛,这使得他们在解释问题时能够深入,同时避免读者脱离本书的大框架。
代码解释
代码很重要,但不是必需的。如果这本书的主要目的是为了解释特定的方法,算法和方法在后台如何工作,那么最好的方法是从头开始重新实现一个算法。尽管很多人会说:“为什么要这么麻烦,我们有对应的模块啊”,那么我只能建议他们换一本书,因为他们选错书了。重新实现的过程,能够让你感受到为了优化库的可扩展性所投入的精力。根据上下文,一些书只是为了教会你如何使用特定的库和包,这种书大多时候被称为cookbook,这类书作者会依赖笔记(分享在GitHub或其他版本控制平台用于对他们的书进行补充)。通过作者,你会发现足够的代码能够通过解释一些联系,从而帮助你掌握特定的主题。
The Elements of Statistical Learning
Trevor Hastie and Robert Tibshirani
Python Machine Learning
Sebastian Raschka
Modern Python CookBook
Steven F. Lott
Docker in Practice
Ian Miell and Aidan Hobson Sayers
Ensemble Methods: Foundations and Algorithms
Zhi-Hua Zhou
结语
这是一个非常主观的分类,如果你有不同的看法,欢迎给我留言。
附:39本数据科学相关推荐书籍
Doing Data Science
Cathy O’Neil and Rachel Schutt
Docker in Action
Jeff Nickoloff
The Art Of R Programming
Norman Matloff
Introducing Data Science
Davy Cielen and Arno Meysman
Learning Predictive Analytics with Python
Ashish Kumar
Data Structures and Algorithms in Python
Michael T. Goodrich and Roberto Tamassia
Amazon Web Services in Action
Andreas Wittig and Michael Wittig
Spark for Python Developers
Amit Nandi
Machine Learning : A probabilistic perspective
Kevin P. Murphy
Real World Machine Learning
Henrik Brink and Joseph Richards
iPython Interactive Computing and Visualization Cookbook
Cyrille Rossant
Mastering Machine Learning with scikit-learn
Gavin Hackeling
Python Data Science Cookbook
Gopi Subramanian
Building Machine Learning Systems with Python
Willi Richert and Luis Pedro Coelho
Hadoop The Definitive Guide
Tom White
Statistical Learning with Sparsity
Trevor Hastie and Robert Tibshirani
The Elements of Statistical Learning
Trevor Hastie and Robert Tibshirani
Fluent Python
Luciano Ramalho
Thoughtful Machine Learning
Matthew Kirk
Machine Learning with R Cookbook
Yu-Wei, Chiu (David Chiu)
Docker in Practice
Ian Miell and Aidan Hobson Sayers
Data Science and Big Data Analytics
EMC Education Services
Mastering Object-Oriented Python
Steven F. Lott
Machine Learning with Spark
Nick Pentreath
Machine Learning for Hackers
Drew Conway and John Myles White
Data Science for Business
Foster Provost and Tom Fawcett
Developing Analytic Talent
Vincent Granville
Think Python : How to Think Like a Computer Scientist
Allen B. Downey
Python Algorithms
Magnus Lie Hetland
Python Cookbook
David Beazley and Brian K. Jones
Testing Python
David Sale
Programming Collective Intelligence
Toby Segaran
Data Analysis with open source tools
Philipp K. Janert
Python in a Nutshell: A Desktop Quick Reference
Alex Martelli, Anna Ravenscroft, Steve Holden
Python Machine Learning
Sebastian Raschka
The Art of Data Science
Roger D. Peng, Elizabeth Matsui
Machine Learning: The Art and Science of Algorithms that Make Sense of Data
Peter Flach
Modern Python CookBook
Steven F. Lott
Ensemble Methods: Foundations and Algorithms
Zhi-Hua Zhou
原文链接:
https://opendatascience.com/blog/how-to-choose-a-great-data-science-book/