2019年你不可不知的十大Python库,可实现机器学习
|
在本文中,我们将讨论 Python 中的一些优选库,开发人员可以使用这些库来解析、清理和表示数据,并在现有应用中实现机器学习。 我们将会介绍以下 10 个库:
Python 是目前流行,使用广泛的编程语言之一,已经取代了业界许多编程语言。Python 在开发人员中受欢迎的原因有很多,其中最重要的一个原因就是 Python 有大量可供用户使用的库。Python 的简单性吸引了许多开发人员为机器学习创建新的库。由于有大量的库,Python 在机器学习专家中非常流行。 因此,我即将介绍的第一个库是 TensorFlow。 TensorFlow
TensorFlow 的工作方式类似于一个计算库,用于编写设计大量张量运算的新算法。由于神经网络可以很容易地表示为计算图,因此它们可以用 TensorFlow 作为对张量(Tensor)的一些列操作来实现。此外,张量是表述数据的 N 维矩阵。 TensorFlow 的特点 TensorFlow 针对速度进行了优化,并利用 XLA 等技术实现快速线性代数运算。
TensorFlow 在哪里使用?实际上你每天都在使用 TensorFlow,但像 Google 语音搜索或 Google 相册这样的应用却是间接的。这些应用是使用这个库进行开发的。 在 TensorFlow 中创建的所有库都是用 C 和 C++ 编写的。不过,它还有一个复杂的 Python 前端。你的 Python 代码将会被编译,然后在使用 C 和 C++ 构建的 TensorFlow 分布式执行引擎上执行。 TensorFlow 的应用数量实际上是无限的,这就是 TensorFlow 的美妙之处。 Scikit-Learn
Scikit-Learn 是什么?Scikit-Learn 是一个与 NumPy 和 SciPy 相关的 Python 库。它被认为是处理复杂数据的优选库之一。这个库正在进行大量更改。其中一个更改是交叉验证功能,提供了使用多个度量的能力。许多训练方法,如逻辑回归和最近邻方法,都得到了一些改进。 Scikit-Learn 的特点
Scikit-Learn 在哪里使用?它包含许多用于实现标准机器学习和数据挖掘任务的算法,如降维、分类、回归、聚类和模型选择。 NumPy
NumPy 是什么?NumPy 被认为是 Python 中受欢迎的机器学习库之一。 TensorFlow 和其他库在内部使用 NumPy 在张量上执行多个操作。数组接口是 NumPy 最好也是最重要的特性。 NumPy 的特点
NumPy 在哪里使用?NumPy 的接口可用于将图像、声波和其他二进制原始流表达为 N 维数组。为实现这个用于机器学习的库,了解 NumPy 对于全栈开发人员来说很重要。 Keras
Keras 是什么?Keras 被认为是 Python 中最酷的机器学习库之一。它提供了一种更简单的机制来表达神经网络。Keras 还为编译模型、处理数据集、图形可视化等提供了一些最佳实用程序。 在后端,Keras 在内部使用 Theano 或 TensorFlow,也可以使用一些最流行的神经网络,如 CNTK。与其他机器学习库比较,Keras 的速度相对较慢。因为它是通过使用后端架构创建计算图,然后利用它来执行操作的。不过,Keras 的所有模型都是可移植的。 Keras 的特点
Keras 在哪里使用?你已经在不断地与 Keras 开发的功能进行交互:它在 Netflix、Uber、Yelp、Instacart、Zocdoc、Square 等其他许多公司都有应用。Keras 在那些将深度学习作为产品核心的初创公司中特别受欢迎,同时也是深度学习研究人员的最爱。大型科学组织,特别是 CERN(欧洲核子研究中心)和 NASA(美国国家航空航天局)的研究人员也采用了 Keras。 Keras 包含许多常用的神经网络构建块的实现,例如层、目标、激活函数、优化器和一系列工具,使图像和文本数据的处理变得更加容易。 此外,Keras 还提供了许多预处理的数据集和预训练模型,如 MNIST、VGG、Inception、SqueezeNet、ResNet 等等。 PyTorch
PyTorch 是什么?PyTorch 是最大的机器学习库,它允许开发人员利用 GPU 的加速执行张量计算,创建动态计算图,并自动计算梯度。除此之外,PyTorch 还提供了丰富的 API,用于解决与神经网络相关的应用问题。 这个机器学习库是基于 Torch 的,Torch 是一个用 C 语言实现的开源机器学习库,在 Lua 中有个包装器。这个用 Python 编写的机器学习库是 2017 年推出的,自推出以来,吸引了越来越多的机器学习开发人员。 PyTorch 的特点
PyTorch 在哪里使用?PyTorch 主要用于自然语言处理等应用。PyTorch 主要是由 Facebook 的人工智能研究小组开发的。Uber 的概率编程“Pyro”软件就是建立在这个基础上的。PyTorch 在很多方面都超过了 TensorFlow,最近得到了很多关注。 LightGBM
LightGBM 是什么梯度提升(Gradient Boosting)是最好的、最流行的机器学习库之一,它通过使用重新定义的基本模型和决策树来帮助开发人员构建新的算法。因此,有一些专门的库是为快速有效地实现这种方法而设计的。 这些库分别是 LightGBM、XGBoost 和 CatBoost。所有这些库都是帮助解决常见问题的竞争对手,可以以几乎相似的方式加以利用。 LightGBM 的特点
LightGBM 在哪里使用?这个库提供了高度可扩展、优化和快速的梯度提升实现,这使得它在机器学习开发人员中备受欢迎。因为大多数机器学习全栈开发人员是通过使用这些算法在机器学习竞赛中获胜的。 Eli5
Eli5 是什么?大多数情况下,机器学习模型的预测结果并不准确,而内置 Python 的 Eli5 机器学习库有助于克服这一挑战。它结合了可视化和调试所有的机器学习模型,并跟踪算法的所有工作步骤。 Eli5 的特点Eli5 支持 XGBoost、lighting、scikit-learn 和 sklearn-crfsuite 库。上面提到的所有库都可以用于执行不同的任务。 Eli5 在哪里使用?
SciPy
SciPy 是什么?SciPy 是一个面向应用程序开发人员和工程师的机器学习库。你需要了解 SciPy 库和 SciPy 栈之间的区别。SciPy 库包含用于优化、线性代数、积分和统计的模块。 SciPy 的特点SciPy 库的主要特点是使用 NumPy 开发,其数组最大限度地利用了 NumPy。此外,SciPy 使用其特定子模块提供了所有高效的数值例程,比如优化、数值积分和许多其他例程。 所有 SciPy 子模块中的所有函数都有良好的文档说明。 SciPy 在哪里使用?SciPy 是一个使用 NumPy 求解数学函数的库。SciPy 使用 NumPy 数组作为基本数据结构,并附带用于科学编程中各种常用任务的模块,包括线性代数、积分(微积分)、常微分方程求解和信号处理等任务,都可以通过 SciPy 轻松处理。 Theano
Theano 是什么?Theano 是 Python 中用于计算多维数组的计算框架机器学习库。Theano 的工作方式与 TensorFlow 类似,但效率不如 TensorFlow。因为它不能适应生产环境。 此外,还可以在与 TensorFlow 类似的分布式或并行环境中使用 Theano。 Theano 的特点
Theano 在哪里使用?Theano 表达式的实际语法是符号化的,这可能会让习惯正常软件开发的初学者感到不适。具体来说,表达式是以抽象的方式进行定义、编译的,然后实际用于计算。 Theano 是专门为用于深度学习的大型神经网络算法的计算类型而设计的。它是最早的类库之一(2007 年开始开发),被认为是深度学习研究和开发的行业标准。Theano 目前被用于多个神经网络项目,随着时间的推移,Theano 的普及率也在不断提高。 Pandas
Pandas 是什么?Pandas 是 Python 中的一个机器学习库,它提供高级的数据结构和各种各样的分析工具。这个库最大的特性之一是能够使用一个或两个命令转换复杂的数据操作。Pandas 有很多内置的分组、组合数据、过滤以及时间序列功能的方法。所有这些方法都有出色的速度指示器。 Pandas 的特点Pandas 使操作数据的过程变得更容易。对重新索引、迭代、排序、聚合、连接和可视化等操作的支持是 Pandas 的亮点之一。 Pandas 在哪里使用?目前,Pandas 库的发行版本较少,其中包括数百个新功能、bug 修复、增强和 API 中的更改。Pandas 的改进在于它能够对数据进行分组和排序,为应用方法选择最适合的输出,并为执行自定义类型操作提供支持。 在其他事项中,当涉及到使用 Pandas 时,数据分析是一大亮点。但是,当与其他库和工具一起使用时,Pandas 确保了高度的功能性和良好的灵活性。 |
时间:2019-07-31 23:33 来源:可思数据 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。