Python机器学习的生态系统

Python生态系统正在不断成长,并可能成为机器学习的统治平台。

采用Python进行机器学习的主要原因是:它是一种通用编程语言,这意味着它可以用于研究、开发以及生产过程中。

在本文中,您将了解Python的机器学习生态系统。

Python的机器学习生态系统

上图由Stewart Black拍摄,版权所有。

Python

Python是一种通用的解释型编程语言。由于语言的重心在于可读性,所以可以很容易地学习和使用它。

Python的哲学体现在Python之禅(Zen of Python)中,其中包括这样的短语:

  • 美丽胜过丑陋。
  • 明了胜过隐晦。
  • 简单胜过复杂。
  • 复杂胜过混乱。
  • 扁平胜过嵌套。
  • 稀疏胜过密集。
  • 可读性很重要。

你可以在你的Python环境中看到完整的Python之禅,只要输入:

import this

Python是一种普遍流行的语言,一直位于StackOverflow编程语言调查的前10之列(例如2015年的调查结果)。它一种动态的语言,并且非常适合交互式开发和大型应用程序的快速原型开发。

由于优秀的库支持,并且它本身是一种通用编程语言(与R或Matlab不同),因此它也被广泛用于机器学习和数据科学领域。例如,2011年Kaggle平台调查结果2015年KDD Nuggets工具调查结果

这是一个简单但是非常重要的考虑因素。

这意味着您可以使用同样的编程语言来进行您的研究和开发(确定要使用什么模型)。这大大简化了从开发到上线的过渡。

SciPy

SciPy是Python库的一个生态系统,它用于数学,科学和工程领域。它是Python的附加组件,您可以在机器学习领域使用它。

SciPy生态系统由以下与机器学习相关的核心模块组成:

  • NumPy:SciPy的基础,允许您高效地处理数组中的数据。
  • Matplotlib:允许您根据数据创建二维图表和图形。
  • pandas:用于组织和分析数据的工具和数据结构。

为了在Python中使用机器学习,您必须安装并熟悉SciPy。特别是以下几个方面:

  • 您将使用pandas加载、探索和更好地了解您的数据。
  • 您将使用Matplotlib(以及其他框架中的Matplotlib的封装)来创建数据的图形和图表。
  • 您将将您的数据转为NumPy矩阵形式,以方便在机器学习算法中建模。

您可以在帖子中了解更多关于pandas的信息。用pandas准备机器学习的数据使用pandas进行快速的脏数据分析

scikit-learn

scikit-learn是用于开发和实践机器学习的python库。

它建立在SciPy生态系统的基础之上。“scikit” 这个名字表明它是一个SciPy插件或工具包。您可以查看SciKits完整列表

scikit-learn的重点是用于分类、回归,聚类等的机器学习算法。它还提供相关的工具,如模型评估,参数调整和数据预处理。

同Python和SciPy一样,scikit-learn是开放源代码的并且在BSD许可证下商业软件可以使用它。这意味着您可以学习机器学习,开发模型,并将它们放入具有相同生态系统和代码的操作中。这是使用scikit-learn的强有力理由。

您可以在后面的scikit-learn简介中了解更多关于scikit-learn的内容。

Python生态系统安装

有多种方法可以安装Python的机器学习生态系统。在本节中,我将介绍其中一种安装方法。

如何安装Python

第一步是安装Python。我更喜欢使用和推荐Python2.7。

安装方式同您的平台有关。有关说明,请参阅Python入门指南中的下载Python

安装完成后,您可以确认是否安装成功。打开命令行并输入:

python --version

看到类似下面的回应,表明安装成功:

Python 2.7.11

如何安装SciPy

有很多方法可以安装SciPy。例如,两种常用的方法是使用你的平台上的包管理(例如,在RedHat上的yum或在macOS上的macports)或者Python的包管理工具,例如pip。

SciPy的文档非常出色,在安装SciPy上涵盖了多个不同平台的安装说明。

安装SciPy时,请确保已经安装以下软件包:

  • scipy
  • numpy
  • matplotlib
  • pandas

安装完成后,您可以确认安装是否成功。在命令行中输入“ python” 来打开python交互式环境,然后键入并运行下面的python代码来打印已安装库的版本。

# scipy
import scipy
print('scipy: %s' % scipy.__version__)
# numpy
import numpy
print('numpy: %s' % numpy.__version__)
# matplotlib
import matplotlib
print('matplotlib: %s' % matplotlib.__version__)
# pandas
import pandas
print('pandas: %s' % pandas.__version__)

当我发布本文时,在我的工作站上可以看到以下输出。

scipy: 0.17.0
numpy: 1.10.4
matplotlib: 1.5.1
pandas: 0.17.1

如果您遇到错误,可能需要查阅您平台的相关文档。

如何安装scikit-learn

我建议你使用同安装SciPy一样的方法来安装scikit-learn。

这是安装scikit-learn的说明,但是它们仅限于使用Python pip(https://en.wikipedia.org/wiki/Pip_(package_manager%2529%29) 和conda软件包管理器。

像SciPy一样,您可以确认scikit-learn是否已成功安装。启动您的Python交互式环境键入并运行以下代码。

# scikit-learn
import sklearn
print('sklearn: %s' % sklearn.__version__)

它将打印安装的scikit-learn库的版本。在我的工作站上,可以看到以下输出:

sklearn: 0.17.1

如何安装生态系统:更简单的方法

如果您对在您的机器上安装软件没有信心,那么为您提供更简单的一种方法。

有一个叫做Anaconda的发行版,你可以免费下载和安装

它支持Microsoft Windows,Mac OS X和Linux三大主要平台。

它包括Python,SciPy和scikit-learn,任何您在Python环境下学习,实践和使用机器学习所需要的东西。

总结

在本文中,我介绍了Python的机器学习生态系统。

你可以了解到:

  • Python是什么和它在机器学习中被使用地越来越多。
  • SciPy是什么和3大核心模块NumPy,Matplotlib和Pandas提供的功能。
  • scikit-learn提供了所有的机器学习算法。

您还学习了如何在工作站上安装用于机器学习的Python生态系统。

本文的版权归 wheel_BL 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏QQ音乐技术团队的专栏

Web Audio API 介绍和 web 音频应用案例分析

本篇文章首先介绍了Web Audio API相关概念、常用的几个接口节点,以便不熟悉Web Audio的开发人员有个了解。后面主要分析了3个Web Audio ...

1.2K0
来自专栏海天一树

结构化、半结构化和非结构化数据

结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例...

8642
来自专栏人工智能头条

如何在Kaggle上受到万人敬仰?

1402
来自专栏企鹅号快讯

还记得DeepMind那个会跑酷的AI吗?它打算用这套Python强化学习工具吊打OpenAI

还记得这个会跑酷的机器人吗? 5个多月前,DeepMind连发三篇强化学习论文,让机器人在仿真环境中自己就能学会灵活多变的各种动作,包括步行、跑动、跳跃、翻墙,...

22010
来自专栏数据小魔方

think-cell chart系列10——饼图

今天要分享的是think-cell chart系列的第10篇——饼图。 饼图的使用频率非常高,非常适合用来展现数据的结构构成及成分对比,今天就教大家如何使用th...

5535
来自专栏韩伟的专栏

建造适于业务分析的日志数据系统

现在“大数据”非常的火。我们看到有各种相关的技术文章和软件推出,但是,当我们面对真正日常的业务时,却往往觉得无法利用上“大数据”。初步想来,好像原因有两个:第一...

3256
来自专栏phodal

全栈工程师的百宝箱:图形工具篇

为了防止我下次钱包丢失,我正在努力打造一个智能(带GPS、蓝牙)的钱包,所以最近文章会少一点。 在上一篇《全栈工程师的百宝箱:黑魔法之文档篇》我们介绍了一些文档...

22210
来自专栏阮一峰的网络日志

关于网页设计的一些统计数字

● 2003年,全世界网页的平均大小是93.7KB,2008年增长到312KB,5年中翻了3.3倍。(这里的网页大小包括图片、CSS文件、Javascript文...

2122
来自专栏SeanCheney的专栏

《Python分布式计算》第1章 并行和分布式计算介绍 (Distributed Computing with Python)并行计算分布式计算共享式内存vs分布式内存阿姆达尔定律混合范式总结

本书示例代码适用于Python 3.5及以上。 ---- 当代第一台数字计算机诞生于上世纪30年代末40年代初(Konrad Zuse 1936年的Z1存在争议...

3948
来自专栏星汉技术

计算机基础(一)

2487

扫码关注云+社区

领取腾讯云代金券