概述
如果您从事统计,数据科学或机器学习方面的工作,则使用Python的可能性很高。 同时也有充分的理由:丰富的库和工具生态系统以及语言本身的便利性,使Python成为了绝佳的选择。
但是哪个 Python? 该语言有多种发行版,每种发行版都是按照不同的路线和不同的受众创建的。 在这里,我们详细介绍了五个Python版本,从最通用到最具体,并详细说明了它们如何堆叠以处理机器学习作业。
相关视频:Python如何简化编程
Python非常适合IT,可简化从系统自动化到机器学习等前沿领域的许多工作。
Python蟒
Anaconda已成为Python的主要发行版,不仅用于数据科学和机器学习,而且还用于通用Python开发。 Anaconda由具有相同名称的商业提供商(以前称为Continuum Analytics)支持,为企业提供支持计划。
首先,Anaconda发行版提供了一个Python发行版,该发行版可轻松访问数据科学中常用的软件包:NumPy,Pandas,Matplotlib等。 它们并不仅与Anaconda捆绑在一起,还可以通过名为Conda的自定义软件包管理系统来使用。 安装了Conda的软件包可能包含棘手的外部二进制依赖关系,而这些依赖关系无法通过Python自己的Pip进行管理。 (请注意,如果愿意,您仍然可以使用Pip,但您将无法获得Conda为这些软件包提供的好处。)每个软件包都由Anaconda保持最新状态,其中许多都是使用Intel MKL编译的。扩展速度。
Anaconda赋予的另一个主要优势是图形环境,即Anaconda Navigator。 Navigator不是IDE,而是Anaconda功能(包括Conda程序包管理器和用户配置的虚拟环境)的便捷GUI前端。 您还可以使用Navigator来管理第三方应用程序,例如Jupyter笔记本和Visual Studio Code IDE。
最小安装的Anaconda(称为Miniconda)只能安装足够的Anaconda基础以使您入门,但是可以根据需要使用其他Conda或Pip安装的软件包进行扩展。 如果您想利用Anaconda丰富的库,但又需要保持精简,这将很有用。
ActivePython的
数据科学只是ActivePython的用例之一, ActivePython旨在用作语言的专业支持版本,并在各个体系结构和平台之间实现一致的实现。 如果您在AIX,HP-UX和Solaris之类的平台以及Windows,Linux和MacOS上使用Python进行数据科学,这将有帮助。
ActivePython试图尽可能地贴近Python的原始参考版本。 ActivePython无需使用复杂的数学和统计信息包的专用安装程序(Anaconda方法),而是在需要时使用Intel MKL扩展来预编译其中的许多软件包,并以默认安装的ActivePython的形式提供它们作为插件。 它们不必正式安装; 它们是开箱即用的。
但是,如果要升级到这些预编译软件包的较新版本,则需要等到ActivePython本身的下一个版本问世。 这使ActivePython整体上更加一致-当结果的可重复性很重要时,这是一件有价值的事情-但灵活性也降低了。
CPython的
如果您想从头开始机器学习工作,只使用普通的普通Python版本,请选择CPython 。 之所以这样命名,是因为它是用C编写的Python运行时的参考版本,可从Python Software Foundation网站获得CPython,它仅提供运行Python脚本和管理程序包所需的工具。
如果您想为机器学习或数据科学项目自定义构建Python环境,并且相信自己做对了,并且您不希望任何第三方的更改成为障碍,那么CPython很有用。 CPython的源代码随时可用,因此您甚至可以出于速度或项目需求的目的自定义编译您可能要进行的任何更改。
另一方面,使用CPython意味着您将不得不处理安装和配置NumPy之类的程序包的繁琐工作,以及所有它们的依赖关系-其中某些必须手动寻找和添加。
在过去的几年中,其中一些工作变得不再那么繁琐,尤其是现在,Python的Pip软件包管理器优雅地安装了许多数据科学软件包中使用的那种预编译二进制文件。 但是仍然有很多情况,特别是在Microsoft Windows上,您必须手工将所有部分放在一起-例如,通过手动安装C / C ++编译器。
使用CPython的另一个缺点是它不使用任何可用于机器学习和数据科学的性能提升选项,例如Intel的Math Kernel Library(MKL)扩展。 您必须构建NumPy和SciPy库才能完全使用英特尔MKL。
有思想的檐篷
Python的Enthought Canopy发行在许多方面类似于Anaconda。 它以数据科学和机器学习为主要用例构建,具有自己的精选包索引 ,并提供图形化前端和命令行工具来管理整个设置。 企业用户还可以购买Enthought部署服务器,这是一个幕后的软件包管理系统。 为Canopy构建的机器学习程序包使用Intel MKL扩展 。
Anaconda和Canopy之间的主要区别是范围。 机盖更适中,水蟒更全面。 例如,尽管Canopy包含用于创建和管理Python虚拟环境的命令行工具(在处理用于不同机器学习工作流的不同软件包集合时很有用),但Anaconda却提供了该工作的GUI。 另一方面,Canopy还包括一个方便的内置IDE(组合文件浏览器,Jupyter笔记本和代码编辑器),对于直接进入并开始工作无需大惊小怪。
WinPython的
WinPython的最初任务是提供专门为Microsoft Windows构建的Python版本。 当Windows的CPython构建不是特别健壮时,WinPython占据了有用的位置。 如今,CPython的Windows版本相当不错,WinPython已经转向填补CPython尚未填补的裂缝,特别是对于数据科学和机器学习应用程序。
默认情况下,WinPython是可移植的。 整个WinPython发行版适合放在一个目录中,该目录可以放在任何地方并可以在任何地方运行。 WinPython安装可以作为归档文件或USB驱动器提供,并预安装了给定作业所需的所有环境变量,程序包和脚本。 这是打包训练特定模型或再现特定数据实验所需的所有内容的有用方法。 或者,您可以在Windows上注册WinPython安装并像本地安装一样运行它(如果需要,可以稍后注销)。
还涵盖了以机器学习为中心的Python发行版中许多棘手的元素。 默认情况下,大多数关键库(NumPy,Pandas,Jupyter以及R和Julia语言的接口)均已包括在内,并根据相关的Intel MKL扩展构建。 Mingw64 C / C ++编译器还与WinPython中的NumPy打包在一起,因此可以从源代码(例如,通过Cython )构建二进制Python扩展,而无需安装编译器。
WinPython拥有自己的软件包安装程序WPPM ,它可以处理预构建的二进制文件以及纯Python软件包附带的软件包。 对于那些只想要WinPython的裸机版本而默认不包含任何软件包的用户,WinPython提供了“零版本”,与Anaconda的Miniconda一样。
相关视频:机器学习和AI破译
通过围绕机器学习和人工智能的炒作,我们的小组讨论了该技术的定义和含义。
From: https://www.infoworld.com/article/3279544/5-python-distributions-for-machine-learning.html
最后
以上就是积极毛豆为你收集整理的5种用于掌握机器学习的Python发行版的全部内容,希望文章能够帮你解决5种用于掌握机器学习的Python发行版所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复