2019年你应该知道的十大Python库。
在本文中,我们将讨论Python中的一些顶级库,开发人员可以使用这些库来分析、清理和表达数据,并在现有应用程序中实现机器学习。
下面介绍以下10个Python顶级库
TensorFlow
Scikit-Learn
Numpy
Keras
PyTorch
LightGBM
Eli5
SciPy
Theano
Pandas
介绍
Python是最流行和使用最广泛的编程语言之一,已经取代了业界的许多编程语言。
Python在开发人员中流行的原因有很多。然而,最重要的是它拥有大量可以使用的库。
Python的简单性吸引了许多开发人员为机器学习创建新的库。由于拥有大量的库,Python在机器学习领域中非常流行。
第一个库是TensorFlow。
TensorFlow
TensorFlow是什么?
如果你目前正在用Python进行机器学习,那么你可能听说过这个很流行的开源库TensorFlow。
这个库是由谷歌与Brain团队合作开发的。几乎在每个谷歌应用程序里,TensorFlow机器学习都能被使用。
TensorFlow就像一个计算库,用于编写大量张量运算的新算法。因为神经网络可以很容易地表示为计算图形,所以可以使用TensorFlow作为张量上的一系列操作来实现它们。另外,张量是表示数据的n维矩阵。
TensorFlow的特点
TensorFlow针对速度进行了优化,它使用XLA等技术进行快速线性代数运算。
1. 响应构造:使用TensorFlow,我们可以很容易地可视化图形的每个部分,这在使用Numpy或SciKit时不是一个选项。
2. 灵活性高:Tensorflow一个非常重要的特性是,它的可操作性非常灵活,这意味着它具有模块性,对于你想单独使用的部分,它都可以提供选项。
3.容易训练:易于在CPU和GPU上进行分布式计算的训练。
4. 并行神经网络训练:TensorFlow提供了管道,在这个意义上,你可以训练多个神经网络和多个gpu,这使得模型在大型系统上非常高效。
5. 大型社区:不用说,如果它是由谷歌开发的,那么已经有一个庞大的软件工程师团队在不断地改进它的稳定性。
6. 开源:这个机器学习库最好的地方是它是开源的,只要有互联网连接,任何人都可以使用。
在哪里使用TensorFlow ?
你每天都在使用TensorFlow,它间接地使用谷歌语音搜索或谷歌照片等应用程序,这些应用程序都是使用这个库开发的。
所有在TensorFlow中创建的库都是用C和c++编写的。然而,对于Python,它有一个复杂的前端。你的Python代码被编译,然后在C和c++构建的TensorFlow分布式执行引擎上执行。
TensorFlow的应用程序的数量是无限的,这就是TensorFlow的美妙之处。
Scikit-Learn
Scikit-learn是什么?
它是一个与NumPy和SciPy关联的Python库。被认为是处理复杂数据的最佳库之一。
这个库正在做很多修改与调整,修改交叉验证特性,能提供多个度量的能力。许多培训方法,如物流回归和最近邻,都得到了一些小小的改进。
Scikit-Learn的特点
1. 交叉验证:多种方法可以检验监督模型对不可见数据的准确性。
2.无监督学习算法:同样,有大量的算法提供-从聚类,因素分析,主成分分析到无监督神经网络。
3.特征提取:用于从图像和文本(如单词包)中提取特征。
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的特点
它在CPU和GPU运行平稳。
Keras支持几乎所有的神经网络模型——完全连接的、卷积的、池化的、递归的、嵌入的等等。此外,它可以将这些模型组合起来构建更复杂的模型。
Keras在本质上是模块化的,具有令人难以置信的表现力、灵活性和创新研究的能力。
Keras是一个完全基于python的框架的库,使调试和探索变得很容易。
Keras在哪里使用?
你已经在不断地与Keras构建的功能进行交互——它在Netflix、Uber、Yelp、Instacart、Zocdoc、Square和许多其他网站上都被使用,在把深度学习作为产品核心的初创企业中尤其受欢迎。
Keras包含许多常用的神经网络构建块,如层、目标、激活函数、优化器等,使处理图像和文本数据更加容易。
此外,它提供了许多预处理的数据集和预训练的模型,如MNIST, VGG, Inception, SqueezeNet, ResNet等。
Keras也是深度学习研究人员的最爱,排名第二。也被大型科学组织,特别是欧洲核子研究中心和美国宇航局的研究人员采用。
PyTorch
PyTorch是什么?
PyTorch是最大的机器学习库,它允许开发者利用GPU的加速执行张量计算,创建动态计算图形,并自动计算梯度。除此之外,PyTorch还提供了丰富的api来解决与神经网络相关的应用程序问题。
这个机器学习库是基于Torch的,Torch是一个用C语言实现的开源机器库,在Lua中有一个包装器。
这个用Python编写的机器库是在2017年引入的,自创建以来,越来越受追捧,吸引了越来越多的机器学习开发人员。
PyTorch的特点
混合前端:新的混合前端在eager模式下提供了易用性和灵活性,同时无缝地过渡到graph模式,以便在c++运行时环境中实现速度、优化和功能。
分布式训练:通过利用对集体操作的异步执行的本机支持和可从Python和c++访问的对等通信,优化研究和生产方面的性能。
Python优先:PyTorch不是将Python绑定到一个统一的c++框架中。它的构建是为了深入集成到Python中,以便与流行的库和包(如Cython和Numba)一起使用。
库和工具:活跃的研究人员和开发人员社区构建了一个丰富的工具和库生态系统,用于扩展PyTorch并支持从计算机视觉到强化学习等领域的开发。
PyTorch在哪里使用?
PyTorch主要用于自然语言处理等应用程序。
它主要由Facebook的人工智能研究小组开发,而优步的概率编程“Pyro”软件就是建立在它之上的。
PyTorch在很多方面都优于TensorFlow,最近其备受关注。
LightGBM
LightGBM是什么?
Gradient Boosting是最好和最流行的机器学习(ML)库之一,它帮助开发人员通过使用重新定义基本模型和决策树来构建新的算法。因此,有一些专门的库是为快速有效地实现这种方法而设计的。这些库分别是LightGBM、XGBoost和CatBoost,都是帮助解决问题的能手,并且几乎可以以类似的方式加以利用。
LightGBM的特点
计算速度快,生产效率高。
直观,对用户友好。
和其他许多深度学习库比起来,能更快上手。
当你考虑NaN值和其他规范值时,不会产生错误。
LightGBM在哪里使用?
这个库提供了高度可伸缩、优化和快速的梯度增强实现,这使得它在机器学习开发人员中很受欢迎。因为大多数机器学习全栈开发人员都是通过使用这些算法在机器学习竞赛中获胜的。
Eli5
Eli5是什么?
大多数情况下,机器学习模型预测的结果并不准确,而内置Python的Eli5机器学习库有助于克服这一挑战。它是可视化和调试所有机器学习模型的组合,并跟踪算法的所有工作步骤。
Eli5的特点
此外,Eli5还支持其他库XGBoost、lightning、scikit-learn和sklearn-crfsuite库。上面提到的所有库都可以使用它们中的其中一个来执行不同的任务。
Eli5在哪里使用?
在短时间内需要大量计算的数学应用。
当与其他Python包存在依赖关系时,Eli5起着至关重要的作用。
在各个领域中实现旧的应用程序和更新的方法。
Theano
Theano是什么?
Theano是一个用于计算多维数组的Python计算框架机器学习库。Theano的工作原理类似于TensorFlow,但它的效率不如TensorFlow。因为它无法适应生产环境。
此外,Theano还可以用于与TensorFlow类似的分布式或并行环境。
Theano的特点
与NumPy紧密集成——能够在theano编译的函数中使用完全的NumPy数组。
透明使用GPU -执行数据密集型计算比在CPU上快得多。
有效符号微分- Theano对一个或多个输入的函数求导。
速度和稳定性优化——即使x非常小,也要得到log(1+x)的正确答案。这只是证明提亚诺稳定性的一个例子。
动态C代码生成——比以前更快地计算表达式,从而大大提高了效率。
广泛的单元测试和自我验证——在模型中检测和诊断多种类型的错误和歧义。
Theano在哪里使用?
Theano表达式的实际语法是符号的,这可能会让习惯正常软件开发的初学者感到不适应。具体地说,表达式是在抽象意义上定义的,经过编译,然后用于实际计算。
它是专门为处理用于深度学习的大型神经网络算法所需的计算类型而设计的。它是最早的同类库之一(开发始于2007年),被认为是深度学习研究和开发的行业标准。
目前,Theano正被用于多个神经网络项目中,随着时间的推移,Theano的受欢迎程度只会越来越高。
Pandas
pandas是什么?
pandas是Python中的一个机器学习库,提供高级数据结构和各种各样的分析工具。这个库的一个重要特性是能够使用一两个命令转换复杂的数据操作。pandas有许多内置的方法来分组、组合数据、过滤以及时间序列功能。
所有这些都是优秀的速度指标。
pandas的特征
pandas确保操作数据的整个过程将更加容易。对重新索引、迭代、排序、聚合、连接和可视化等操作的支持是pandas的功能亮点之一。
pandas在哪里使用?
目前,pandas库的版本比较少,其中包括数百个新特性、bug修复、增强和API更改。pandas的改进在于它能够对数据进行分组和排序,为应用的方法选择最适合的输出,并为执行定制类型操作提供支持。
在使用pandas时,数据分析是最重要的。但是当与其他库和工具一起使用时,pandas确保了高功能和良好的灵活性。
以上就是十个2019你应该了解的Python库了!朋友们,我希望本文能够帮助你了解并学习Python中可用的库。