现在是人工智能大爆发的时代。人工智能和机器学习广受欢迎。当然,机器学习领域最流行的语言是Python。由于其简单、用户友好和易于管理的语言,Python拥有广泛的社区支持,尤其是在机器学习领域。许多框架是用Python编写的或提供PythonSDK。为了方便大家学习和使用,我们列出了2021年最流行的Python机器学习库。NetworkTensorFlow是GoogleBrain团队开发的AI框架,主要用于深度学习和神经网络。使用TF可以轻松地将计算任务分发到多个CPU或GPU核心,甚至多个GPU。TensorFlow的基本计算单位是张量(Tensor)。张量可以定义为存储N维数据及其线性运算的容器。pandas网站:pandas.pydata.org源代码仓库:github/pandas-dev/pandas开发者:开源社区主要用途:数据分析与操作Pandas库,主要用于数值数据和时序数据操作。它使用数据框和系列分别定义三维和二维数据。Pandas提供了索引大数据的选项,以便在大数据集中进行快速搜索。它以其数据重塑、围绕用户定义的轴旋转、处理缺失数据、合并和连接数据集以及数据过滤选项的功能而闻名。Pandas对于大型数据集非常有用且速度非常快。当记录超过50k时,其性能超过了Numpy。在数据清理方面,它是最好的库,因为它提供了类似excel的交互性和类似Numpy的速度。它也是为数不多的可以在没有外部库的任何帮助且代码最少的情况下处理DateTime的ML库之一。Numpy网站:numpy.org源代码仓库:github/numpy/numpy开发者:开源社区主要用途:通用矩阵处理Numpy用于处理多维数据和复杂的数学函数。Numpy是Python语言的快速计算库,可以处理从基本代数到傅里叶变换、随机模拟和拓扑运算的各种任务和函数。这个库的核心是用C语言编写的,比一般的Python计算库有更好的性能。如果记录数不是很大,Numpy数组在索引方面明显优于Pandas系列。此外,目前NumPy数组仅支持单CPU,因此性能会受到限制。Numpy学习成本低(可以参考虫虫之前的文章),简单易用,是最流行的机器学习库之一。NaturalLanguageToolkit(NLTK)网址:nltk.org源代码仓库:github/nltk/nltk开发者:NLTK团队主要用途:自然语言处理是一个应用广泛的文本分类和自然语言处理库。可用于词干提取、词形还原、标记和搜索文档中的关键字。NLTK可用于高级语言分析,例如情感、评论分析、文本分类器、检查评论中的关键字、文本挖掘和许多其他与人类语言相关的操作。NLTK需要文本处理来训练模型进行识别和创建。Scikit-Learn官网:scikit-learn.org源码仓库:github/scikit-learn/scikit-learn开发者:SkLearn.org主要用途:预测数据分析和数据建模Scikit-learn主要用于各种数据建模概念,比如如回归、分类、聚类、模型选择等。该库是在Numpy、Scipy和matplotlib之上编写的。Scikit-learn易于集成,可以继承其他机器学习库来实现特定目标。示例包括用于数据分析的Numpy和Pandas,以及用于可视化的Plotly。Keras官网:keras.io源代码仓库:github/keras-team/keras开发者:各类开发者主要用途:神经网络计算Keras提供了一个Python接口的Tensorflow库,尤其侧重于AI神经网络。早期版本还包括许多其他后端,例如Theano、MicrosoftCognitivePlatform和PlaidMl。Keras包括用于常用神经网络的标准块,以及使图像和文本处理更快、更流畅的工具。除了标准的神经网络块,它还提供循环神经网络。PyTorch网站:pytorch.org源代码仓库:github/pytorch/pytorch开发者:FacebookAILab(FAIR)主要用途:深度学习、自然语言处理和计算机视觉Pytorch是Facebook开发的ML库,基于Lua语言TheTorch机器学习库。该项目是用Python、C++和CUDA语言混合编写的。PyTorch支持C和C++以及Pyton等常见语言的扩展。作为TF的竞争对手,它也使用张量,但更容易学习并且与Python有更好的结合。尽管它支持NLP,但该库的主要重点是开发和训练深度学习模型。mlpack源代码仓库:github/mlpack/mlpack开发者:社区,佐治亚理工学院支持主要用途:多种ML模型和算法MlPack主要是一个基于C++的机器学习库,支持Python、R、Julia等语言和高朗。它旨在支持几乎所有著名的机器学习算法和模型,例如GMM、K-means、最小角回归、线性回归等。开发这个库的主要重点是使其快速、可扩展和易于理解,以及易于使用,即使是新手程序员也可以毫无问题地理解和使用它。OpenCV网址:opencv.org源代码仓库:github/opencv/opencv开发者:英特尔公司发起主要用途:计算机视觉OpenCV是一个致力于计算机视觉和图像处理的开源平台。该库拥有2500多种专用于计算机视觉和机器学习的算法。它可以跟踪人体运动、检测移动物体、提取3D模型、将图像拼接在一起以创建高分辨率图像,并探索AR的可能性。OpenCV广泛应用于各种CCTV监控,各大摄像头厂商也在使用OpenCV,让产品更加智能化和人性化。Matplotlib网站:matplotlib.org/源代码仓库:github/matplotlib/matplotlib开发者:MichealDroettboom,社区主要用途:数据可视化Matplotlib是Python中使用最广泛的图形库。它使用PythonGUI工具包来生成图形和图表。Matplotlib还提供了类似MATLAB的界面,以便用户可以执行类似于MATLAB的任务。这个库是免费和开源的,并且有很多扩展接口可以将matplotlibAPI扩展到其他各种库。总结在本文中,我们介绍了机器学习中最常用的Python库。每个库(框架)都有自己的优点和缺点,尝试使用它,在实践中选择最合适的库。
