本文转载自微信公众号「Python学会」,作者Huangwei AI。转载本文请联系Python学会公众号。
前言
Python对数据科学如此重要的原因之一是它海量的数据分析和可视化库。在本文中,我们讨论了最受欢迎的一些。
1.Tensorflow
谷歌开发的TensorFlow深度学习框架无疑是最流行的训练神经网络的工具。谷歌积极地使用自己的框架来实现Gmail和谷歌Translate这样的大型服务。TensorFlow被Uber、Airbnb、小米、Dropbox等品牌所使用。
- 使用TensorFlow,您可以可视化神经网络的各个部分。
- Tensorflow模块可以独立制作。
- TensorFlow允许你在CPU和GPU上训练神经网络。
- 输送学习过程。
- 一个大型团队正在不断地改进稳定性和新特性。
2. Scikit-Learn
Scikit-Learn是用Python、C和c++编写的一个流行的机器学习库。用一个通用的选择来解决机器学习的经典问题。用于工业系统和科学研究。
广泛的监督和无监督学习算法。
Scikit-learn专门研究机器学习算法。库的任务不包括加载、处理、数据操作和可视化。
大型社区和详细的文档。
3. NumPy
NumPy是机器学习中最流行的Python库之一。TensorFlow和其他库在内部使用它来对多维数组执行操作。
用解释语言(Python)实现的数学算法通常比用编译语言实现的算法要慢得多。NumPy库提供了针对多维数组进行优化的计算算法实现。
4. Keras
如果您需要快速且容易地组装一个深度学习模型,Keras是一个完美的选择。P是TensorFlow和Theano框架上的一个附加组件。该库的目标是深度学习网络的操作工作,同时被设计成紧凑、模块化和可扩展的。Keras提供了一组高级的、直观的抽象,使得构建神经网络变得容易,而不考虑作为计算后端使用的科学计算库。
- 工作出色的CPU和GPU。
- 支持几乎所有的神经网络模型,可以组合起来建立更复杂的模型。
- 该平台完全是用Python编写的,也就是说,您可以使用标准的调试工具。
5. PyTorch
PyTorch是处理神经网络的最佳选择之一,神经网络是TensorFlow的长期竞争对手。主要由Facebook的人工智能小组开发。生成对抗网络(Generative Adversarial Networking)中使用PyTorch作为深度学习框架。学习如何在PyTorch上编写自己的GAN。
- 简单的GPU的支持。
- 在GPU模式下,PyTorch提供了高质量的优化,有一个c++ API运行环境。
- 支持异步计算执行。
- 直接访问基于ONNX的框架,渲染器和运行时。
6. LightGBM
LightGBM是一个梯度增强框架,是Kaggle比赛中最流行的算法之一。梯度推进是一种用于分类和回归问题的机器学习技术,它以预测模型集成的形式建立一个预测模型,通常是决策树。
- 学习速度快,效率高。
- 低内存消耗。
- 支持并行和GPU计算。
- 您可以处理大量的数据。
7. Pandas
Pandas是一个库,它提供用于处理数据的高级结构和用于分析数据的广泛工具。这个库允许您用少量代码执行许多复杂的命令:对数据排序和分组、处理丢失的数据、时间序列等。所有数据都以数据帧表的形式表示。
8. SciPy
SciPy对于科学和工程计算是必不可少的,包括机器学习任务。
- 特点:搜索函数的极小值和极大值,计算积分,支持特殊函数,信号和图像处理,解微分方程等。
- SciPy与NumPy密切相关,所以默认情况下支持NumPy数组。
- SciPy库可以与PyTables交互,PyTables是一个分层数据库,设计用于管理HDF5文件中的大量数据。
9. Eli5
Eli5是一个Python库,用于使用统一的API可视化和调试机器学习模型。它内置了对几个ML框架和库的支持:scikit-learn、Keras、上面提到的LightGBM,以及XGBoost、lightning和CatBoost。
10. NLTK
NLTK是一套用于自然语言的符号和统计处理的库和程序。它附带了大量的文档,包括一本书,解释了可以用这个包执行的自然语言处理任务背后的概念。
11. Pillow
Pillow是PIL (Python Image Library)图像库的改进版本。支持多种文件类型:PDF、WebP、PCX、PNG、JPEG、GIF、PSD、WebP、PCX、GIF、IM、EPS、ICO、BMP等。有许多过滤工具可以用于计算机视觉任务。