为了处理您的数据,您将需要特殊的编程工具,以便告诉数据您希望它执行的操作。我们已经提到,机器学习是计算机科学的一个分支。这就是它的发挥之处。
在介绍中,我们提到数据科学最常用的三种编程语言是Python、R和C++。选择哪种语言取决于您的经验以及您打算如何处理数据。
数据科学最常用的编程语言是Python。它是由Guido Van Rossum于1991年创建的,因为它比其他编程语言更容易阅读而备受关注。它仍在不断发展和改进。学习它并不复杂,而且与大多数相关数据类型兼容。它还具有超出纯数据处理的应用,对机器学习很有用。
Python有一些免费的软件包,您可以安装这些软件包,它们已经被创建,以便为您提供常见数据科学工具的快捷方式。这些软件包包括了在机器学习中常用的代码快捷方式,可以减少您的工作量。
Pandas 是数据科学家在使用 Python 时必备的工具库。它让您更轻松地处理时间序列数据和表格数据集。它将数据以行和列的形式呈现,使数据管理更加容易,就像您在 Microsoft Excel 中查看数据一样。它很容易在网上找到,可以免费下载。Pandas 在查看 .CSV 格式的数据集时非常有用。
Numpy 是一个有助于更快地使用 Python 进行数据处理的程序。它类似于 Matlab,并且可以处理矩阵和多维数据。它将帮助您更轻松地导入大型数据集。
Scikit-learn 是另一个机器学习功能的库。使用 Scikit-learn,您将轻松访问我们之前提到的许多常用于机器学习的算法。诸如分类、回归、聚类、支持向量、随机森林和 K-means 等算法都有快捷方式,可以为您完成大部分繁重的编码工作。
R 是第三个选项。它是免费和开源的。R 既可以用于数据挖掘,也可以用于机器学习。由于其易获取性,它受到新手数据科学家的欢迎。它无法处理更复杂的机器学习操作所需的大型数据集,但如果您是数据科学和计算机编程的新手,那么它是一个不错的起点。
为了运行这些程序,您需要一台计算机。通常,普通的笔记本电脑或台式电脑足以处理较小和中等大小的数据集,特别是当您刚开始学习机器学习时。
尽管 GPU(图形处理单元)已经存在一段时间,但近年来它们的可访问性有所增加,这使得数据科学变得更加容易。这在数据科学领域是一项突破,因为该领域不再局限于拥有庞大计算机的实验室。
GPU 以其在视频游戏领域的强大性能而闻名。它们允许计算机同时处理多个数据点,这对于处理大量数据至关重要。现在,GPU 可以用更少的计算机硬件来完成更多工作。与其前身 CPU 核心拥有多个控制单元,可以同时处理信息不同,GPU 具有更大规模的核心网络,可以同时处理不同的进程。一张 GPU 卡可以包含近 5000 个处理器。这对于人工智能和机器学习是一项重大进展。它们可以帮助加快神经网络的处理速度。
C 和 C++ 是另外两种常见的数据分析语言。C++ 的优势在于它是一种非常强大的语言。它可以非常快速地处理大规模数据集。经常使用大规模数据集的数据科学家通常选择使用 C++,因为它具有出色的速度和处理能力,尤其是在处理超过一太字节的数据集时。C++ 可以在大约一秒钟内处理一千兆字节的数据。这使它特别适用于深度学习算法、具有 5-10 层的神经网络模型和大型数据集。这种类型的模型可能对速度较慢的软件来说太过庞大。如果您正在进行更高级的机器学习,并且拥有多个 GPU,那么 C++ 可能是适合您的编程语言。C++ 几乎可以胜任任何任务;它是一种非常多才多艺的语言。
不足之处在于 C++ 中的库不如 Python 中的那么丰富。这意味着在为数据和模型编写代码时,您可能需要从头开始。无论您决定做哪种项目,当您编写代码时,都可能会遇到一些障碍。拥有一个可以在遇到困难时帮助您的库将让您更快地学习和工作。
您需要在 Python 或其他编程语言中进行机器学习。通过使用代码来操作数据集,您可以创建机器学习模型。尽管本书不涵盖机器学习的编码部分,但我将简要介绍一些基本的库和软件包,建议您安装用于机器学习。
因为 Python 是数据科学中最常用的编程语言,我们将在本章中以 Python 为例。我还认为,如果这是您学习的第一种编程语言,那么 Python 是最实用的选择,因为它比其他编程语言更易阅读,而且在机器学习之外还具有广泛的能力。
一旦安装了最新版本的 Python,有一些推荐的库可以安装,这些库提供了许多在机器学习中非常有用的命令。所有这些库都可以通过快速的谷歌搜索轻松找到,并且可以免费下载。
Python 中用于数据分析和机器学习最重要的库之一是 Pandas。它是数据集的相当受欢迎的选择,将使您的编码工作变得更加轻松和快速,特别是当您还在努力掌握时。
Anaconda 适用于 Python
另一个开始使用 Python 的选项是安装 Anaconda。Anaconda 的优点在于它为 Python 提供了每个软件包,因此在编写模型的程序时,您无需逐个安装软件包。它包含了您几乎每种不同类型的功能所需的所有库。
Anaconda 是一个免费的开源程序,既适用于 R 又适用于 Python。通过 Anaconda,您将能够访问多个库,这些库将帮助您完成数据科学项目。基本上,这为您提供了所有 Python 库的预打包集合,其中包含超过 100 个库。
其中一个主要的库是 Spyder 和 Jupyter。这两者都是集成开发环境,意味着它们是您将编写代码的窗口,但它们比标准命令窗口更为先进,具有保存和导入/导出代码的选项。
大多数 Python 用户将在一个名为 IDLE 的开发环境中开始。它非常简单,为学习如何在 Python 中编码提供了很好的格式。当您在 Windows 计算机上安装 Python 时,它将自动包含在其中。如果您有 Linux 计算机,它也可用,但您需要单独安装它。
IDLE 将使 Python 中的初级步骤更加容易,因为您将能够保存脚本并稍后进行编辑。它还将引导您进行调试。
要安装 Anaconda,请访问:
docs.anaconda.com/anaconda/install
滚动到看到操作系统列表。选择您的操作系统。根据您的操作系统,它将在他们的网站上为您提供安装 Anaconda 的说明。然后,您就可以开始在 Python 中尝试了。我强烈建议使用互联网上提供的免费初学者 Python 教程之一。EdX 提供了一个免费的 Python 初学者教程,这是一个很好的起点。此外,利用像 Reddit 这样的论坛,在那里已经详细回答了大量常见问题,会员们总是分享与机器学习世界相关的新闻。
算法
一旦您拥有数据以及用于操作数据的硬件和软件,您需要将它们结合起来。将数据放入您的编程软件中。当您刚开始学习时,可以选择在线免费数据集进行练习。Kaggle.com 是免费的,提供了许多以 CSV 格式提供的数据集供您选择,在导入 Pandas 库到 Python 后,将很容易处理这些数据。
开始使用的最佳算法是用于监督学习的线性回归和逻辑回归,以及用于无监督学习的 K-means 聚类。这些算法在初学时相对容易,您可以从这里开始构建其他模型。
可视化工具
您已经拥有数据,现在已经使用一种编程语言创建了模型,并且有一整套数据科学库可以帮助您更快地完成所有这些工作。您的计算机正常运行,可以独立创建模型。
您可能已经创建了显示有趣结果的模型,但为了将其简化为通俗易懂的语言并与利益相关者沟通,您需要以易于可视化的方式进行组织。如果您是市场项目的数据科学家,您可能已经创建了一个可以将客户分类并预测购买习惯趋势的模型。但如果您希望将这些结果传达给营销团队的其他成员,您需要找到一种通信方式,以便即使不熟悉数据科学的人也能理解您的结果。将数据分解成图表和可视化图形将有助于增强您的分析能力。在与不熟悉数据分析的受众进行沟通时,能够制作数据可视化图表非常重要。
数据专业人员常用的一组工具是 Tableau。类似这样的工具称为数据可视化软件。在一些公司中,有员工的工作完全包括将难以理解的数据呈现为易于可视化的方式。
像 Tableau 这样的软件非常常用于依赖数据做决策的企业。Tableau 很有用,因为它相对容易使用,数据可以通过其平台实时查看。您可以自定义一个用于创建报告和图表的仪表板,用于处理您的数据。它还可以让您与公司的其他人分享您的结果。Tableau 可用于从您在编程语言中分析的数据创建图表和散点图。
更高级的有用内容
当您刚开始学习时,这些工具可能对您来说不太相关,但讨论其中一些可能会有趣,并考虑在日后可能会有用的工具。这本书可能只是您成为机器学习专家道路上的起点,因此当您进步一些时,可以随时参考这个列表。
您应该继续考虑非结构化数据的管理。通常,这需要更高级的程序,因为这种数据更难管理和操作。这种类型的数据通常采用了人类大脑难以分析的复杂形式,除非借助工具,否则无法进行分析,但这正是机器学习发展的方向。使用神经网络来模仿人类思维的功能,谁知道未来会带来什么。
随着机器学习的发展,我们的数据越来越庞大。机器学习的可能性不断扩展。未来重要的数据将不再具有我们习惯的整洁结构,就像适合在Excel表中的那种数据。
这种类型的数据还需要更强大的计算机硬件和软件,以便能够处理大量信息的处理。通常使用某种云计算软件来处理大量信息,以及专用于数据分析的 GPU。这种更高级的计算能够同时处理多个移动点。所需的数学也变得更加复杂。组合算法。