几年前,谷歌的首席经济学家哈尔·瓦里安(Hal Varian)信心满满地宣称:“未来10年最炫酷的职业将是统计学家。”在他提出这一观点后的几年里,发生了两件事。第一,我们开始将统计学家称为数据科学家。第二,市场上对成熟的数据科学家的需求和其薪资水平都出现了巨大的增长。
然而,当今成熟的数据科学家的数量远远无法满足市场需求。因此,本书的目标是通过介绍当今世界知名公司使用的主流数据科学技术,来缓解这个问题。本书将详细解释每个示例代码,并阐述如何应用各种数据科学方法,以及如何为具有挑战性的解决方案提供创造性的思路和想法。本书旨在让所有读者具备成为数据科学家所需的技能,让读者轻松应对当今企业面临的最困难但也最令人兴奋的挑战。
数据科学不仅仅是一种职业技能,还是一个涵盖统计学、软件开发、数学、经济学和计算机科学等多个领域的广泛学科。通过数据科学,你可以分析数据、检测群体之间的差异、研究出现神秘现象的原因、对物种进行分类并进行实验。也就是说,数据科学可以帮助你进行许多科学研究。如果你对探索某些难以理解的事实真相感兴趣,或想更好地了解这个世界,那么你一定会对数据科学的这种能力感到兴奋。
简而言之,数据科学可以为几乎所有人提供一些价值。它可以帮助你解决业务问题,使你的业务完成得更加优秀。它可以让你更像一名科学家,让你能够更好地观察和清楚地了解你周围的世界。它还可以提高你的分析能力和编码技能。更重要的是,它非常有趣。成为一名数据科学家意味着你进入了一个不断增长和扩展的领域,意味着你每天都需要不断拓展自己的知识和技能。如果你认为学习一系列具有挑战性的新技能可以帮助你更好地工作、更好地思考,并获得一份“炫酷”的工作,那么请继续阅读本书。
虽然我们会用通俗易懂的语言来解释每个代码片段,以确保没有Python编程经验或编程经验较少的读者也能理解本书的内容,但你至少需要对编程的基础知识有一定的了解,例如变量赋值、for循环、if语句和函数调用等,这样才能更好地从本书中获益。
本书主要面向以下几类读者。
如今,似乎很多人想成为数据科学家,很多公司想聘用数据科学家。本书旨在帮助那些刚进入就业市场的求职者获得在数据科学领域工作所需的技能。同时,本书也可以帮助那些已经有其他工作,但想要“转换赛道”成为数据科学家,或者开始在当前职位上从事更多的数据科学工作的人。
许多专业人士,例如项目经理、高级管理人员、开发人员和一般的业务人员等,都可以从了解数据科学家的日常工作中受益。本书介绍的技能和知识可以帮助他们更加有效地与数据科学家合作。因此,本书对这些专业人士也是很有用的。
如今,我们生活在一个由数据组成的世界中,而数据科学是一个令人兴奋的领域,相信数据科学爱好者都会觉得本书极具魅力,并且具有很强的启发性。
本书适合作为本科阶段数据科学入门课程的教材,也适合对数据科学感兴趣的学生阅读。
本书讲述了世界知名公司的数据科学家经常使用的各种技术,还介绍了如何应用这些技术创造性地解决不同行业中的问题。下面简单介绍各章的内容。
第1章——探索性数据分析:解决数据科学问题的第一步是数据探索,包括在Python中读取数据、计算汇总统计信息、对数据进行可视化,以及发现一些常识性的见解等。
第2章——预测:主要介绍线性回归,线性回归是统计学中的一种常用技术,可以用来确定定量、变量之间的关系,甚至可以用来预测未来。
第3章——分组比较:主要介绍假设检验的探索和比较分组测量的标准统计方法。
第4章——A/B测试:讨论如何使用实验来确定哪种业务实践最有效。
第5章——二分类算法:介绍逻辑回归和线性概率模型等内容。
第6章——监督学习:深入探讨几种用于预测的机器学习方法,包括kNN、决策树、随机森林和神经网络等。
第7章——无监督学习:介绍无监督学习的基本知识及EM聚类,以及其他聚类方法与无监督学习的关系。
第8章——网络爬取:介绍从公开网站自动下载数据的方法以及正则表达式和Beautiful Soup等。
第9章——推荐系统:讨论如何建立一个自动向客户推荐商品的系统。
第10章——自然语言处理:探索一种将文本转换为可用于各种数据科学分析的定量向量的高级方法。
第11章——其他语言中的数据科学:介绍SQL和R这两种经常用于数据科学的语言。
我们会使用Python语言实现本书中介绍的算法。Python是一种免费、开源的语言,可以在所有主流平台上运行。如果你使用的是Windows、macOS或Linux系统,可以按照以下步骤来安装Python。
要在Windows系统中安装Python,请执行如下操作。
(1)打开针对Windows系统的Python 最新版本专用页面:https://www.python.org/downloads/ windows/(请确保包含最后一个正斜线)。
(2)单击要下载的Python版本的链接。要下载最新版本,请单击 Latest Python 3 Release - Python 3.X.Y 链接,其中3.X.Y是最新的版本号,例如3.10.4。本书中的代码已经在Python 3.8上进行了测试,应该可以在更高版本中使用。如果需要下载旧版本,请将页面向下滚动到Stable Releases,找到你需要的版本即可。
(3)在第2步中单击链接会进入所选Python版本的专属页面。在文件列表中,单击Windows installer (64-bit) 链接。
(4)单击第3步中的链接后将.exe文件下载到计算机中。该文件是一个安装程序文件,可通过双击来打开,它将自动执行安装过程。选中 Add Python 3.X to PATH ,其中的X是你下载的安装程序的版本号,比如10。之后,单击 Install 并选择默认选项。
(5)当你看到“Setup was successful”消息时,单击 Close 以完成安装过程。
现在,你的计算机上已经有了一个新的应用程序,它叫作Python 3.X。在Windows系统的搜索框中输入 Python ,然后单击出现的应用程序,将会打开一个Python控制台,你可以在Python控制台中输入Python命令,这些命令将在Python控制台中执行。
要在macOS中安装Python,请执行以下操作。
(1)打开针对macOS的Python最新版本专用页面:https://www.python.org/downloads/macos/(请确保包含最后一个正斜线)。
(2)单击要下载的Python版本的链接。要下载最新版本,请单击 Latest Python 3 Release -Python 3.X.Y 链接,其中3.X.Y是最新的版本号,例如3.10.4。本书中的代码已经在Python 3.8上进行了测试,应该可以在更高版本中使用。如果需要下载旧版本,请将页面向下滚动到Stable Releases,找到你需要的版本即可。
(3)在第2步中单击链接会进入所选Python版本的专属页面。在文件列表中,单击 macOS 64-bit universal2 installer 链接。
(4)单击第3步中的链接后将.pkg文件下载到计算机中。该文件是一个安装程序文件,可通过双击来打开。它将自动执行安装过程,选择默认选项即可。
(5)安装程序会在计算机上创建一个名为 Python 3.X 的文件夹,其中X是你安装的Python的版本号。在这个文件夹中,双击 IDLE图标 ,打开 Python 3.X.Y Shell ,这里的3.X.Y是版本号。 Python 3.X.Y Shell 是一个Python控制台,你可以在其中运行任何Python命令。
要在Linux中安装Python,请执行如下操作。
(1)确定你使用的Linux系统的包管理器。两个常见的包管理器为YUM和APT。
(2)打开Linux控制台(也叫终端),执行以下两个命令:
> sudo apt-get update > sudo apt-get install python3.11
如果你使用的是YUM或其他包管理器,请将这两行中的apt-get替换为YUM或其他包管理器的名称。同样,如果你想安装其他版本的Python,请将3.11(编写本书时Python的最新版本号)替换为其他版本号,比如3.8(Python 3.8是用来测试本书代码的Python版本)。要查看最新版本的Python,请访问https://www.python.org/downloads/source/。在 Latest Python 3 Release - Python 3.X.Y 链接中,3.X.Y是版本号;如果使用上面的安装命令安装Python 3.11.3,那么对应的X和Y分别为11和3。
(3)在Linux控制台中执行下面的命令来运行Python:
> python3
在Linux控制台中,启动Python程序后,可以输入并运行Python命令。
当你按照“设置环境”中的步骤安装Python后,实际上安装了Python的标准库,也就是Python基础库。这个基础库是Python自带的,可以让你运行简单的Python代码,并且基础库中包含Python语言中的标准功能。虽然Python基础库的功能已经很强大,足以让你完成许多令人惊叹的工作,但它并不能满足所有需求。这也是Python社区中有许多善良且富有才华的人创建了大量Python库的原因。这些库提供了各种各样的功能和特性,可以扩展Python的功能,以帮助你更轻松地完成各种任务。
Python库(也称为Python包)是对Python基础库的扩展,提供了额外的功能,这些功能在Python基础库中并没有提供。例如,你可能会遇到一些以Microsoft Excel格式存储的数据,而你可能希望编写Python代码来读取这些Excel数据。在Python基础库中没有直接的方法可用来实现这一功能,但是一个名为pandas的库可以让你轻而易举地在Python中读取Excel数据。
如果你想要使用pandas库或其他Python库,需要先安装它们。虽然在安装Python的时候,会默认安装一些库,但大部分库需要手动安装。要手动安装Python库,你需要使用Python库安装工具pip。
如果你已经安装了Python,安装pip就非常简单。首先,你需要从https://bootstrap.pypa.io/下载一个Python脚本get-pip.py,这个脚本可以帮助你获取pip。下载脚本后,你需要运行这个脚本,具体运行方式取决于你使用的操作系统。
● 如果你使用的是Windows系统,需要打开命令提示符。你可以单击“开始”按钮并在搜索框中输入cmd,然后就可以看到命令提示符程序,单击它即可运行。
● 如果你使用的是macOS系统,需要打开终端。你可以打开Finder,再打开/Applications/ Utilities文件夹,最后双击Terminal。
● 如果你使用的是Linux系统,则需要打开终端。大多数Linux系统有一个默认的快捷方式来打开终端,例如在桌面上单击鼠标右键,然后在弹出的快捷菜单中选择并打开终端。
打开命令提示符(Windows)或终端(macOS或Linux)后,运行以下命令:
> python3 get-pip.py
这将在你的计算机上安装pip。如果在运行这个命令时出现错误,可能是因为get-pip.py文件存储在Python无法访问的位置。更明确地给出文件的位置通常会有帮助,因此你可以尝试执行如下命令:
> python3 C:/Users/AtticusFinch/Documents/get-pip.py
在这里,我们指定了一个文件路径(C:/Users/AtticusFinch/Documents/get-pip.py),它告诉Python可以查找get-pip.py文件的位置。你应该修改这个文件路径,让它与你的计算机上存储get-pip.py文件的位置匹配。例如,你可能需要将上面的AtticusFinch更改为自己的名字。
安装pip后,就可以用它来安装其他Python库了。例如,如果你想安装pandas库,可以使用以下命令:
> pip install pandas
你可以将pandas替换为要安装的任何其他Python库的名称。安装好pandas或其他Python库后,就可以在Python脚本中使用它们了。我们会在第1章详细介绍如何在Python中使用各种库。
前文详细介绍了如何安装Python以及如何手动安装Python库。你如果能完成这两件事,就能运行本书中的所有代码。
有些Python用户更喜欢使用其他工具来运行Python代码。例如,Anaconda是一种流行的工具,它允许你免费运行用于数据科学的Python代码。Anaconda包括Python,以及许多流行的库和其他功能。如果你想免费下载和使用Anaconda,可以访问https://www.anaconda.com/products/distribution。需要注意的是,Anaconda不是运行本书代码的必备工具。
Jupyter项目提供了一组流行的工具,这组工具可用于运行Python代码。你可以访问https://jupyter.org/了解其中最受欢迎的工具:JupyterLab和Jupyter Notebook。这些工具提供了高度可读、可交互、可共享且用户友好的环境,让用户能够轻松地运行Python代码。本书中所有的Python代码都是用Jupyter进行测试的,但你不需要使用Jupyter或Anaconda来运行本书中的代码,只需要Python和pip即可。使用Jupyter或Anaconda可能会更加方便,但这并非必需。
数据科学可以赋予你某些神奇的能力:预测未来的能力,提高利润的能力,自动收集大量数据的能力,将文字转化为数字的能力,等等。然而,要学会并熟练掌握这些能力并不容易,需要认真学习才能达到较高水平。学习数据科学虽难,但终将有所收获。如果你掌握了本书介绍的技能,就能在数据科学领域取得成功并享受其中的乐趣。本书介绍数据科学的主要思想及其在业务中的应用,它将帮助你在应用数据科学的道路上取得成功,并且让你成为你所在领域的数据科学专家。