51CTO 2020年六大机器学习Python库!


51CTO 2020年六大机器学习Python库!
文章图片
外头有许多类型的python库可用 , 本文介绍了一些流行的机器学习库 。
1.NumPy:
NumPy是一种通用的数组处理软件包 。 它提供高性能的多维数组对象和用于处理这些数组的工具 。 它是用于科学计算的基本Python软件包 。
NumPy针对Python的CPython参考实现 , 这是一种非优化的字节码解释器 。
NumPy的核心功能是“ndarray” , 代表n维数组数据结构 。 这些数组是内存中的交错视图 。 相比Python的内置列表数据结构 , 这些数组是同构类型的:单个数组的所有元素都必须是同一类型 。
2.Scipy:
SciPy是一种免费开源Python库 , 用于科学计算和技术计算 。
它包含用于优化、线性代数、积分、插值、特殊函数、FFT、信号及图像处理、ODE求解器以及科学工程中其他常见任务的模块 。
NumPy堆栈有时也叫SciPy堆栈 。 SciPy使用的基本数据结构是NumPy模块提供的多维数组 。 NumPy提供了一些用于线性代数、傅立叶变换和随机数生成的函数 , 但不具有SciPy中的等效函数具有的一般性 。
3.Scikit-learn:
【51CTO 2020年六大机器学习Python库!】Scikit-learn(又名sklearn)是面向Python编程语言的免费软件机器学习库 。
它有各种分类、回归和聚类算法 , 包括支持向量机、随机森林、梯度提升、k均值和DBSCAN , 旨在与Python数值库NumPy和科学库SciPy协同操作 。
Scikit-learn项目始于DavidCournapeau开发的谷歌编程夏令营(SummerofCode)项目“SciKit”(SciPyToolkit) 。
它是GitHub上最受欢迎的机器学习库之一 。
它主要用Python编写 , 广泛地使用NumPy , 用于高性能线性代数和数组运算 。
4.Tensorflow:
TensorFlow是一种免费开源软件库 , 用于针对各种任务的数据流和可微分编程 。
TensorFlow是谷歌Brain的第二代系统 。 参考实现在单个设备上运行 , 但TensorFlow可以在多个CPU和GPU上运行 。 TensorFlow可在64位的Linux、macOS、Windows和移动计算平台(包括Android和iOS)上使用 。
Tensor处理单元(TPU):2016年5月谷歌宣布Tensor处理单元 , 这种针对特定应用的集成电路专门为机器学习而构建 , 为TensorFlow量身定制 。 TPU是一种可编程的AI加速器 , 旨在提供高吞吐量的低精度算术运算 , 面向使用或运行模型 , 而不是训练模型 。
5.Pytorch:
PyTorch是一种基于Torch库的开源机器学习库 , 用于计算机视觉和自然语言处理等应用 , 主要由Facebook的AI研究实验室开发 。
它有更完善的Python接口 , 主要侧重于开发 , 它还有C++接口 。
几款深度学习软件是在PyTorch上构建的 , 包括优步的Pyro、HuggingFace的Transformers和Catalyst 。
它提供两种高级功能:通过GPU实现拥有强大加速功能的Tensor计算 , 建立在基于磁带的自动微分系统上的深度神经网络(DNN) 。
它定义了一个名为Tensor的类来存储和操作数字的异构多维矩形阵列 。 PyTorch张量类似NumPy数组 , 但也可以在支持CUDA功能的英伟达GPU上加以处理 。
6.Keras:
Keras是一种用Python编写的开源神经网络库 。 它能够在TensorFlow、MicrosoftCognitiveToolkit、R、Theano或PlaidML上运行 。
Keras致力于易于使用、模块化和可扩展 。
Fran?oisChollet(谷歌工程师兼Keras的维护者)解释 , Keras被认为是一种接口 , 而不是一种独立的机器学习框架 。 它提供了更高级、更直观的抽象集 , 无论使用哪种计算后端 , 用户都可以轻松开发深度学习模型 。
Keras含有常用神经网络构建模块的众多实现 , 比如层、目标、激活函数、优化器以及许多工具 , 这些工具使图像和文本数据处理起来更容易 , 从而简化编写深度神经网络代码所需的编程工作 。


推荐阅读