数据科学是一个跨学科领域,包含来自统计,机器学习,贝叶斯等领域的方法和技术。它们都旨在从数据中产生特定的见解。在本文中,我们列出了一些出色的数据科学书籍,其中涵盖了数据科学下的各种主题。
1. 数据分析风格的要素 / The Element of Data Analytic Style
本书概述了数据科学。数据科学是一个很大的概括性术语,对于那些初次尝试涉足这一领域的人来说,这本书非常有用。阅读它以了解什么是数据科学,什么是一些常规任务和算法,以及一些常规技巧和窍门。
2. 数据科学基础 / Foundations of Data Science
数据科学的基础是一些选定领域的论文,这些领域构成了数据科学的基础,例如线性代数,LDA,马尔可夫链,机器学习基础和统计。本书的理想读者是希望使他们在数学和理论上更好地掌握该领域的初学者数据科学家。
3. 海量数据集的挖掘 / Mining of Massive Datasets
本书基于斯坦福大学CS246和CS35A课程,可帮助用户学习在大型数据集上进行数据挖掘的主题。数据科学家通常需要解决的一个非常普遍的问题是在非常大的数据集上执行简单的数字任务(您可以通过编写小程序来完成)。MMDS正是为此而努力。除此之外,您还有诸如降维和推荐系统之类的主题,可以帮助您了解线性代数和度量距离在现实世界中的应用。所有数据科学家的必读资料。
4. Python数据科学手册 / Python Data Science Handbook
Python数据科学手册教了各种数据科学概念在Python中的应用。也许这是学习Python数据科学的最好书(仅相当于 Wes McKinney的鼠标书),这本书也可以在Github上免费阅读。因此,您无需花任何钱就可以学习。
5. 动手机器学习和大数据 / Hands-on Machine Learning and Big Data
6. 统计思想 / Think Stats
Think Stats教给读者统计学的基础知识,也就是说,读者将在现实世界的数据集上应用统计学的概念和分布,并尝试使用数学特征来了解有关数据的更多信息。如果您想使用Python学习统计信息,可能是最好的入门书籍之一。
7. 贝叶斯思想 / Think Bayes
贝叶斯统计的工作原理与正常统计有所不同。不确定性和对真实数据集的拟合分布的概念使贝叶斯方法更适合于学习真实数据集。唐尼教授非常酷的“通过使用Python进行编程学习”的风格使这本书成为那些开始使用贝叶斯方法的人的不二之选。
8. 线性动力系统简介 / Introduction to Linear Dynamical Systems
这本书讲授了实际系统中的应用线性代数。这些应用程序涉及电路,信号处理,通信和控制系统。可在此处找到与博伊德教授前几年课程笔记的链接 。
9. 凸优化 / Convex Optimization
凸优化是许多机器学习(以及几乎所有深度学习算法)算法在后台用于获得最佳参数集的功能。
10. 启发式方法基础 / Essentials of Metaheuristics
启发式方法是一种快速学习概率方法来完成任务的方法,这些方法可能需要您编写程序才能使用蛮力搜索。对于也许较小的数据,蛮力方法的实现工作量较小,但是随着添加的数据量的增加,它们将很快耗尽。这本书可能是遗传算法,爬山,协同进化和(基本)强化学习等元启发式方法的最佳介绍。
11. Python中的机器学习:数据科学,机器学习和人工智能的主要发展和技术趋势 / Machine Learning in Python: Main Developments and Technology Trends in Data Science, Machine Learning, and Artificial Intelligence
数据科学中的Python工具的良好概述。对于想要进入数据科学领域的高级Python开发人员或从R for Data Science进入Python的人员来说,这是一个非常不错的文档。总体而言,如果您想了解Python对数据科学的作用,则应阅读本文。
12. 应用数据科学 / Applied Data Science
Langmore和Krasner撰写的Applied Data Science是一本采用非常实用的方法教授Data Science的书。通过使用Git进行基础Python的教学,本书继续构建了各种算法的基础知识,这些算法在数据科学领域中经常使用。
13. 强盗书 / Bandit Book
随着越来越多的数据积累,决策不再只是直觉的功能,而是所收集数据的功能。电子商务网站上用于进行药物测试和财务投资组合决策的“购买”按钮的正确颜色是什么,随处都使用强盗算法?一本很好的让自己熟悉“匪徒”的书!
14. 注释算法 / Annotated Algorithms
教您用Python编写许多数值算法的书。如果您想学习数学程序的实现方式,或者想通过有趣的问题陈述学习Python,这是一个极好的资源。
15. 计算机时代统计推断 / Computer Age Statistical Inference
埃夫隆(Efron)和传奇的哈斯提(Hastie)所著的一本书,思考了如何利用当今可用的计算能力,而不是大多数其他书籍所采用的笔纸方法,在现代进行统计推断(常客和贝叶斯)。这是打算在现实生活中使用“统计信息”的任何人(初学者或有经验的人)必须阅读的内容。
16. 因果推论书 / Causal Inference Book
“关联不是因果关系”是数据科学家经常使用的短语。但是如何将两者分开?本书通过向数据科学家介绍因果推理技术来提供答案。您将需要良好的概率基础来阅读它,而不是针对初学者。
17. 计算最优运输 / Computational Optimal Transport
最优运输是从一组分布到另一组分布的分配数学。这可能是数据科学领域中获得过多个菲尔兹奖章(数学领域的最高荣誉)的少数领域之一。数学概念已在许多机器学习和深度学习算法中用作距离度量和分配问题解决方案。
18. 计算机科学与机器学习的代数,拓扑,微积分和优化理论 / Algebra, Topology, Differential Calculus and Optimization Theory for Computer Science and Machine Learning
该书旨在教授计算机科学和机器学习所需的各种数学领域。对于那些想从数学重领域进入数据科学领域的人来说,这是相当不错的数学知识和丰富的资源。
19. 数据挖掘与分析 / Data Mining and Analysis
正如您在前面提到的更著名的MMDS书中可能已经看到的那样,数据挖掘是一种有效地对大型数据集进行计算的方法。这些计算可以通过蛮力方法完成,并且在小型数据集上可能效果很好,但是在大型数据集上运行可能要花很长时间。很好的数据挖掘入门和参考书。
20. 计算与推理 / Computational and Inferential Thinking
从使用Python进行编程,因果关系,表,可视化和基本统计信息的角度研究数据科学的各个方面。从加州大学伯克利分校的一门基础课程开始,对初学者来说是一个很好的资源。
21. 数据科学的数学基础 / Mathematical Foundations of Data Science
顾名思义,本书给出并解释了诸如凸优化和降维之类的数据科学概念背后的数学论文。如果您喜欢数学,或者特别想学习这些概念背后的数学,则推荐这本书。
22. 聪明人的信息论 / Information Theory for Intelligent People
信息论是与线性代数,凸优化和统计一起在数据科学中发现的四种数学理论之一。这是理解理论的好教程。好消息是,初学者可以使用本教程。
23. 应用线性代数简介– VMLS书 / Introduction to Applied Linear Algebra – The VMLS Book
在此列表中我将提到的众多书中,我最喜欢的线性代数书。初学者可以使用它,并具有非常实用的感觉,而不会使读者迷失于许多数学概念中。
24. 线性代数– Hefferon / Linear Algebra – Hefferon
许多人认为,这是Strong圣经之后可获得的最好的初学者线性代数资源。(在SAGE中进行编程练习,基本上是Python)也很实用,但是对于初学者来说,比从业者更多。
25. 线性代数–作为抽象数学的入门 / Linear Algebra – As An Introduction to Abstract Mathematics
这本书感觉就像我的大学线性代数书(许多与我一起学习工程学的学生都喜欢它)。当数学过多而应用程序略少时,我会迷茫,但很多人会喜欢这类书的优雅。
26. 线性代数的基础和最优化 / Fundamentals of Linear Algebra and Optimizations
本书将线性代数与优化算法结合在一起。同样,面向喜欢该样式的人的更多面向数学的书籍。
27. 线性代数讲义– Lerner / Linear Algebra Lecture Notes – Lerner
我发现它真的很好,就像向您展示了多个已解决的问题以使您学习一样。不像以前的书那样严格,而是通过表演来学习。对于长时间不接触线性代数的人来说,是不错的复习。
28. 随机线性代数的讲义 / Lecture Notes on Randomized Linear Algebra
并非所有人都需要阅读本书,因为本书涉及解决线性代数问题的概率算法。如果您要处理大型矩阵和向量,而简单的算法将无法使用,则很有用。
29. 通过外部产品的线性代数 / Linear Algebra via Exterior Products
线性代数的另一种截然不同的方式。如果您发现线性代数很棒,则应尝试以这种新方式可视化问题。
30. 线性代数 / Linear Algebra – Cherney et al
另一本针对大学级线性代数的免费书籍。适合初学者。如果您想练习,它也会带来作业问题。
31. 深度学习所需的矩阵微积分 / Matrix Calculus you need for Deep Learning
顾名思义,本教程可帮助您了解深度学习所需的矩阵演算。
32. 优化:简介 / Optimization: An Introduction
在整个工程领域的问题中都需要优化参数。虽然在许多深度学习算法中使用了凸优化,但了解线性算法等其他算法后,单纯形却开阔了眼界。
33. Scipy讲义/Scipy Lecture Notes
如果您打算从事数据科学工作,则需要学习科学的Python堆栈。可能是学习Numpy,Scipy,Scikit-Learn,Scikit-Image以及所需的所有库的最佳通用教程。
34. 熊猫超级教程 / Pandas Mega Tutorial
这个庞大的教程是由Pandas开发团队学习和理解该库的。如果您从事数据科学工作,Pandas是一个必须学习的图书馆。跑不了的。
35. Python中的卡尔曼和贝叶斯过滤器 / Kalman and Bayesian Filters in Python
当处理随时间而来的噪声数据时,卡尔曼滤波器和其他贝叶斯滤波器非常有用,这些噪声数据可以拟合到具有推论参数的特定模型。这些模型的双重作用是推导参数以及对噪声进行建模。尽管最常用的示例是位置数据,但是类似的过滤器也可以很好地进行预测。(也可以在 Github上获得)
36. 数据科学的统计推断 / Statistical Inference for Data Science
在此之前,我们已经看过多本《统计推断》书籍,但是写这本书的时候尤其要牢记数据科学家的思想。如果您是一名数据科学家,并且试图快速掌握统计推断,那么这就是您的书。
37. 机器学习数学 / Mathematics for Machine Learning
一本详细的教您数学的书需要理解其中的大多数机器学习算法。初学者的友好。
38. 看见统计 - 基础概率论 / Seeing Theory
通过使用交互式可视化使学习概率容易的书。
39. 统计基础 / Basics of Statistics
一本书向您介绍统计研究。从未学习过统计学的初学者应该从这里开始。
40. 公开统计 / Open Statistics
书和视频讲座相结合,向读者介绍统计学。
41. 从基本角度看高级数据分析 / Advanced Data analysis From an Elementary Point of View
数据科学的不同概念的一般介绍。这包括因果模型,回归模型,因子模型等。示例程序在R中。
42. 快速,智能,大规模 / Fast Data, Smart and at Scale
本书介绍了如何优化数据库以实现快速查询。它讲述了现实世界中的各种可能模型。
43. 多武装匪徒简介 / Introduction to Multi-Armed Bandits
多臂强盗是在不确定性下会随着时间做出决策的算法。这本书是多臂匪的入门论文。
44. 量化经济学讲座 / Quant Economics Lectures
使用您喜欢的编程语言进行的定量经济学和代码讲座:Python或Julia。
45. Julia 统计 / Statistics With Julia
统计学家学习Julia还是(不太可能)Julia程序员学习统计学?试试这本书。
46. 信息论,推理与学习算法 / Information Theory, Inference and Learning Algorithms
信息理论和推理通常以不同的方式处理,但已故的MacKay教授的书试图解决这两个问题。
47. 科学改进决策和风险管理 / Scientific Improvement of Decision Making and Risk Management
关于概率决策的技术性不太强的教程。
48. 三十三个缩图:线性代数的数学和算法应用 / Thirty-three Miniatures: Mathematical and Algorithmic Applications of Linear Algebra
这实际上不是一本关于线性代数的书,而是一本汇编成书的线性书的一些很酷的应用程序。
49. 遗传算法教程 / A Genetic Algorithm Tutorial
遗传算法是所有数据科学家一生中都需要使用的工具。本教程可帮助初学者了解遗传算法的工作原理。
50. 使用 Julia 在运营研究中计算 / Computing in Operations Research using Julia
如果您正在处理排队或其他运营研究问题,Julia可能是您很喜欢的一种编程语言。这些程序像Python一样易于读取,运行速度非常快。