在数据科学方面, Python 的语法与数学语法最为接近, 因此是数学家或经济学家等专业人士最容易理解和学习的语言. 本文将罗列机器学习和数据科学应用程序中最有用的十大 Python 工具
2018 年将会是人工智能和机器学习快速发展的一年, 有专家表示: 相较之下 Python 比 Java 更加接地气, 也自然而然地成为机器学习的首选语言
在数据科学方面, Python 的语法与数学语法最为接近, 因此是数学家或经济学家等专业人士最容易理解和学习的语言. 本文将罗列机器学习和数据科学应用程序中最有用的十大 Python 工具
机器学习工具
1,Shogun
SHOGUN 是一个机器学习工具箱, 专注于支持向量机 (SVM) 的学习工具箱. 它是用 C++ 编写的, 早在 1999 年就已经创建, 是最古老的机器学习工具之一, 它提供了广泛的统一机器学习方法, 旨在为机器学习提供透明和可访问的算法, 并为任何对此领域感兴趣的人提供免费的机器学习工具.
Shogun 提供了一个记录完善的 Python 界面用于统一的大规模学习, 并提供高性能速度. 不过, Shogun 的缺点就是它的 API 很难使用.(项目地址: https://github.com/shogun-toolbox/shogun )
2,keras
Keras 是一个高级神经网络 API, 提供了一个 Python 深度学习库. 对于任何初学者来说, 这是机器学习的最佳选择, 因为与其他库相比, 它提供了一种更简单的表达神经网络的方法. Keras 由纯 Python 编写而成并基 Tensorflow,Theano 以及 CNTK 后端.
据官方网站称, Keras 侧重于 4 个主要指导原则, 即用户友好性, 模块化, 易扩展性和与 Python 协作. 然而, 就速度而言, Keras 相对还是比较弱的.(项目地址: https://github.com/keras-team/keras )
3,scikit-learn
scikit-learn 是一个 Python 的机器学习项目. 是一个简单高效的数据挖掘和数据分析工具. 基于 NumPy,SciPy 和 matplotlib 构建. Scikit-Learn 提供了一致且易于使用的 API 网格以及随机搜索. 其主要优势算法简单而且速度快. Scikit-learn 的基本功能主要被分为六大部分: 分类, 回归, 聚类, 数据降维, 模型选择和数据预处理(项目地址: https://github.com/scikit-learn/scikit-learn )
4,Pattern
Pattern 是一个 web 挖掘模块, 为数据挖掘, 自然语言处理, 机器学习, 网络分析和网络分析提供工具. 它还附带完善的文档, 有 50 多个示例以及通过 350 多个单元测试. 最重要的是, 它是免费的!(项目地址: https://github.com/clips/pattern)
5,Theano
Theano 可以说是最成熟的 Python 深度学习库之一, Theano 是以以为希腊毕达哥拉斯哲学家和数学家毕达哥拉斯的妻子的名字命名, Theano 的主要功能: 与 NumPy 紧密集成, 用符号式语言定义你想要的结果, 该框架会对你的程序进行编译, 来高效运行于 GPU 或 CPU.
它还提供了定义, 优化和评估数学表达式的工具, 并且可以在 Theano 上构建大量其他库, 以探索其数据结构. 尽管如此, 使用 Theano 还是有一些缺点的; 比如学习它的 API 可能需要很长时间, 而另一些人则认为 Theano 大模型的编译时间显的它不够高效(项目地址: https://github.com/Theano/Theano )
数据科学工具
1,SciPy
SciPy (pronounced "Sigh Pie") 是一个开源的数学, 科学和工程计算包. SciPy 使用 NumPy,IPython 或 Pandas 等各种软件包为常用的数学和科学编程任务提供库. 当你想操纵计算机上的数字并显示或发布结果时, 此工具是一个很好的选择, 并且它也是免费的.(项目地址: https://github.com/scipy/scipy )
2,Dask
Dask 是一个用于分析计算的灵活的并行计算库. 同样, 通过更改只有几行代码, 你可以快速对现有代码进行并行处理, 因为它的 DataFrame 与 Pandas 库中的相同, 它的 Array 对象的工作方式类似于 NumPy 能够并行化以纯 Python 编写.(项目地址: https://github.com/dask/dask )
3,Numba
此工具是一种开源优化编译器, 它使用 LLVM 编译器基础结构将 Python 语法编译为机器码. 在数据科学应用中使用 Numba 的主要优势在于它使用 NumPy 数组来加速应用程序的能力, 因为 Numba 是一个支持 NumPy 的编译器. 就像 Scikit-Learn 一样, Numba 也适用于机器学习应用.(项目地址: https://github.com/numba/numba )
4,HPAT
高性能分析工具包 (HPAT) 是一个基于编译器的大数据框架. 它将 Python 中的分析 / 机器学习代码自动扩展到群集 / 云环境中的大数据分析和机器学习, 并可以使用 @jit 装饰器优化特定功能.(项目地址: https://github.com/IntelLabs/hpat )
5,Cython
使用数学密码或密码循环运行的代码时, Cython 是您的最佳选择. Cython 是一款基于 Pyrex 的源代码翻译器, 可快速生成 Python 扩展模块 (extention module) 的工具. Cython 语言非常接近 Python 语言, 但是 Cython 还支持调用 C 函数并在变量和类属性上声明 C 类型. 这允许编译器从 Cython 代码生成非常高效的 C 代码.(项目地址: https://github.com/cython/cython )
来源: http://ai.51cto.com/art/201805/572053.htm