Python Machine Learning Library Top10


With the development and popularity of artificial intelligence technology, Python beyond many other programming languages, machine learning has become one of the most popular of the most popular programming languages. There are many causes of the Python is so sought after in many developers, one of which is that it has a lot of machine learning and related open source framework and tool libraries. This article describes several machine learning library.

1.TensorFlow

Here Insert Picture Description

  • What is TensorFlow
    • The library is Google developed in collaboration with the Brain Team. Google's machine learning each application is almost always TensorFlow shadow.
    • TensorFlow works like a library computing, designed for the preparation of a large number of sheets of the new algorithm amount of an operation. Since the neural network can be easily expressed as a calculation map, so that they can be implemented as a series TensorFlow of the tensor (the Tensor) operation. Furthermore, the tensor is expressed in an N-dimensional matrix of data.
  • TensorFlow features
    1. Responsive configuration: Use TensorFlow, we can easily be calculated for each portion of FIG visualizing, in use NumPy SciKit or not this option.
    2. Flexibility: TensorFlow a very important feature is that it allows very flexible operation. This means that it achieved a modular, you want to make a separate section, it can provide this option.
    3. Ease of training: for distributed computing, it can easily be trained on the CPU, you can also train on the GPU.
    4. Parallel neural network training: TensorFlow provides pipeline. In a sense, you can train multiple neural networks and multiple GPU, which makes the model on a large system is very efficient.
    5. Large community: Needless to say, because TensorFlow was developed by Google, so there is a large group of software engineers in the stability of continuous improvement TensorFlow.
    6. Open Source: The best place this machine learning library is that it is open source, so long as the Internet, anyone can use it.
2.Scikit-Learn

Here Insert Picture Description

  • What Scikit-Learn that?
    • Scikit-Learn 是一个与 NumPy 和 SciPy 相关的 Python 库。它被认为是处理复杂数据的最佳库之一。这个库正在进行大量更改。其中一个更改是交叉验证功能,提供了使用多个度量的能力。许多训练方法,如逻辑回归和最近邻方法,都得到了一些改进。
  • Scikit-Learn 的特点
    1. 交叉验证:有多种方法可以检验监督模型对不可见数据的准确性。
    2. 无监督学习算法:Scikit-Learn 提供了大量的算法,从聚类、因子分析和主成分分析到无监督神经网络。
    3. 特征提取:用于从图像和文本中提取特征(例如词袋)。
  • Scikit-Learn 在哪里使用?
    • 它包含许多用于实现标准机器学习和数据挖掘任务的算法,如降维、分类、回归、聚类和模型选择。
3.NumPy

Here Insert Picture Description

  • NumPy 是什么?

    • NumPy 被认为是 Python 中最受欢迎的机器学习库之一。
    • TensorFlow 和其他库在内部使用 NumPy 在张量上执行多个操作。数组接口是 NumPy 最好也是最重要的特性。
  • NumPy 的特点

    1. 交互性:NumPy 交互性强,易于使用。

    2. 数学:使复杂的数学实现变得非常简单。

    3. 直观性:使编码和概念的掌握变得非常容易。

    4. 大量的交互:得益于广泛的使用,因此有大量的开源贡献。

  • NumPy 在哪里使用?

    • NumPy 的接口可用于将图像、声波和其他二进制原始流表达为 N 维数组。为实现这个用于机器学习的库,了解 NumPy 对于全栈开发人员来说很重要。
4.Keras

Here Insert Picture Description

  • Keras 是什么?

    • Keras 被认为是 Python 中最酷的机器学习库之一。它提供了一种更简单的机制来表达神经网络。Keras 还为编译模型、处理数据集、图形可视化等提供了一些最佳实用程序。

    • 在后端,Keras 在内部使用 Theano 或 TensorFlow,也可以使用一些最流行的神经网络,如 CNTK。与其他机器学习库比较,Keras 的速度相对较慢。因为它是通过使用后端架构创建计算图,然后利用它来执行操作的。不过,Keras 的所有模型都是可移植的。

  • Keras 的特点
    1.Keras 在 CPU 和 GPU 上都能顺利运行。
    2.Keras 支持几乎所有的神经网络模型,包括完全连接的、卷积的、池化的、递归的、嵌入的等等。此外,这些模型还可以组合起来构建更为复杂的模型。
    3.Keras 在本质上是模块化的,具有难以置信的表现力、灵活性,并易于创新研究。
    4.Keras 是一个完全基于 Python 的框架,可以方便地进行调试和探索。

  • Keras 在哪里使用?

    • 你已经在不断地与 Keras 开发的功能进行交互:它在 Netflix、Uber、Yelp、Instacart、Zocdoc、Square 等其他许多公司都有应用。Keras 在那些将深度学习作为产品核心的初创公司中特别受欢迎,同时也是深度学习研究人员的最爱。大型科学组织,特别是 CERN(欧洲核子研究中心)和 NASA(美国国家航空航天局)的研究人员也采用了 Keras。

    • Keras 包含许多常用的神经网络构建块的实现,例如层、目标、激活函数、优化器和一系列工具,使图像和文本数据的处理变得更加容易。

    • 此外,Keras 还提供了许多预处理的数据集和预训练模型,如 MNIST、VGG、Inception、SqueezeNet、ResNet 等等。

5.PyTorch

Here Insert Picture Description

  • PyTorch 是什么?

    • PyTorch 是最大的机器学习库,它允许开发人员利用 GPU 的加速执行张量计算,创建动态计算图,并自动计算梯度。除此之外,PyTorch 还提供了丰富的 API,用于解决与神经网络相关的应用问题。
    • 这个机器学习库是基于 Torch 的,Torch 是一个用 C 语言实现的开源机器学习库,在 Lua 中有个包装器。这个用 Python 编写的机器学习库是 2017 年推出的,自推出以来,吸引了越来越多的机器学习开发人员。
  • PyTorch 的特点

    1. 混合前端:新的混合前端在 Eager 模式(动态图模式)下提供了易用性和灵活性,同时在 C++ 运行时环境中无缝过渡到图形模式,以实现速度、优化和功能。

    2. 分布式训练:通过利用 Python 和 C++ 提供的异步执行集合操作和对等通信的本地支持,优化研究和生产中的性能。

    3. Python 优先:PyTorch 并非绑定到单一 C++ 框架中的 Python。它是为了深入集成到 Python 中而构建的,因此它可以与流行的库和包(如 Cython 和 Numba 等)一起使用。

    4. 库和工具:一个由研究人员和开发人员组成的活跃社区,建立了一个丰富的工具和库生态系统,用于扩展 PyTorch ,并支持从计算机视觉到强化学习等领域的开发。

  • PyTorch 在哪里使用?

    • PyTorch 主要用于自然语言处理等应用。PyTorch 主要是由 Facebook 的人工智能研究小组开发的。Uber 的概率编程“Pyro”软件就是建立在这个基础上的。PyTorch 在很多方面都超过了 TensorFlow,最近得到了很多关注。
6.LightGBM

Here Insert Picture Description

  • LightGBM 是什么
    • 梯度提升(Gradient Boosting)是最好的、最流行的机器学习库之一,它通过使用重新定义的基本模型和决策树来帮助开发人员构建新的算法。因此,有一些专门的库是为快速有效地实现这种方法而设计的。
    • 这些库分别是 LightGBM、XGBoost 和 CatBoost。所有这些库都是帮助解决常见问题的竞争对手,可以以几乎相似的方式加以利用。
  • LightGBM 的特点
    1. 计算速度快,生产效率高。
    2. 直观,易于使用。
    3. 比许多其他深度学习库有更快的训练。
    4. 在考虑 NaN 值和其他规范值时不会产生错误。
  • LightGBM 在哪里使用?
    • 这个库提供了高度可扩展、优化和快速的梯度提升实现,这使得它在机器学习开发人员中备受欢迎。因为大多数机器学习全栈开发人员是通过使用这些算法在机器学习竞赛中获胜的。
7.Eli5

Here Insert Picture Description

  • Eli5 是什么?
    • 大多数情况下,机器学习模型的预测结果并不准确,而内置 Python 的 Eli5 机器学习库有助于克服这一挑战。它结合了可视化和调试所有的机器学习模型,并跟踪算法的所有工作步骤。
  • Eli5 的特点
    • Eli5 支持 XGBoost、lighting、scikit-learn 和 sklearn-crfsuite 库。上面提到的所有库都可以用于执行不同的任务。
  • Eli5 在哪里使用?
    • 需要在短时间内进行大量计算的数学应用
      在与其他 Python 包存在依赖关系的情况下,Eli5 扮演着至关重要的角色。
      遗留应用和在各个领域实施较新的方法
8.SciPy

Here Insert Picture Description

  • SciPy 是什么?

    • SciPy 是一个面向应用程序开发人员和工程师的机器学习库。你需要了解 SciPy 库和 SciPy 栈之间的区别。SciPy 库包含用于优化、线性代数、积分和统计的模块。
  • SciPy 的特点

    • SciPy 库的主要特点是使用 NumPy 开发,其数组最大限度地利用了 NumPy。此外,SciPy 使用其特定子模块提供了所有高效的数值例程,比如优化、数值积分和许多其他例程。
    • 所有 SciPy 子模块中的所有函数都有良好的文档说明。
  • SciPy 在哪里使用?

    • SciPy 是一个使用 NumPy 求解数学函数的库。SciPy 使用 NumPy 数组作为基本数据结构,并附带用于科学编程中各种常用任务的模块,包括线性代数、积分(微积分)、常微分方程求解和信号处理等任务,都可以通过 SciPy 轻松处理。
9.Theano

Here Insert Picture Description

  • Theano 是什么?

    • Theano 是 Python 中用于计算多维数组的计算框架机器学习库。Theano 的工作方式与 TensorFlow 类似,但效率不如 TensorFlow。因为它不能适应生产环境。
    • 此外,还可以在与 TensorFlow 类似的分布式或并行环境中使用 Theano。
  • Theano 的特点

    1. 与 NumPy 紧密集成:能够在 Theano 编译的函数中完全使用 NumPy 数组。
    2. GPU 的透明使用:执行数据密集型计算要比 CPU 上快得多。
    3. 高效的符号微分:Theano 为具有一个或多个输入的函数求导。
    4. 速度和稳定性的优化:即使 x 非常小,也能获得 log(1+x) 的正确答案。这只是证明 Theano 稳定性的一个例子。
    5. 动态 C 代码生成:计算表达式的速度比以往都快,从而极大提高效率。
    6. 广泛的单元测试和自我验证:检测和诊断模型中的多种类型的错误和歧义。
  • Theano 在哪里使用?

    • Theano 表达式的实际语法是符号化的,这可能会让习惯正常软件开发的初学者感到不适。具体来说,表达式是以抽象的方式进行定义、编译的,然后实际用于计算。
  • Theano 是专门为用于深度学习的大型神经网络算法的计算类型而设计的。它是最早的类库之一(2007 年开始开发),被认为是深度学习研究和开发的行业标准。Theano 目前被用于多个神经网络项目,随着时间的推移,Theano 的普及率也在不断提高

10.Pandas

Here Insert Picture Description

  • Pandas 是什么?
    • Pandas 是 Python 中的一个机器学习库,它提供高级的数据结构和各种各样的分析工具。这个库最大的特性之一是能够使用一个或两个命令转换复杂的数据操作。Pandas 有很多内置的分组、组合数据、过滤以及时间序列功能的方法。所有这些方法都有出色的速度指示器。
  • Pandas 的特点
    • Pandas 使操作数据的过程变得更容易。对重新索引、迭代、排序、聚合、连接和可视化等操作的支持是 Pandas 的亮点之一。
  • Pandas 在哪里使用?
    • 目前,Pandas 库的发行版本较少,其中包括数百个新功能、bug 修复、增强和 API 中的更改。Pandas 的改进在于它能够对数据进行分组和排序,为应用方法选择最适合的输出,并为执行自定义类型操作提供支持。
    • Among other things, when it comes to the use of Pandas, data analysis is a major attraction. However, when used in conjunction with other libraries and tools, Pandas ensure a high degree of functionality and good flexibility.
Published 28 original articles · won praise 35 · views 20000 +

Guess you like

Origin blog.csdn.net/qq_40125653/article/details/104063647