数据挖掘、机器学习、自然语言处理Python工具包(持续更新)
科学计算Python包
Numpy
Numpy
是一个功能强大的Python库,主要用于对多维数组执行计算。Numpy
这个词来源于两个单词-- Numerical
和Python
。Numpy
提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:
-
机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。
Numpy
提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。Numpy
数组用于存储训练数据和机器学习模型的参数。 -
图像处理和计算机图形学:计算机中的图像表示为多维数字数组。
Numpy
成为同样情况下最自然的选择。实际上,Numpy
提供了一些优秀的库函数来快速处理图像。例如,镜像图像、按特定角度旋转图像等。 -
数学任务:
Numpy
对于执行各种数学任务非常有用,如数值积分、微分、内插、外推等。因此,当涉及到数学任务时,它形成了一种基于Python
的MATLAB
的快速替代。
Pandas
pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。
Scipy
Scipy
是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy
矩阵,使Numpy
和Scipy
协同工作,高效解决问题。
机器学习算法包
Scikit-learn
scikit-learn
(简记sklearn
),是用python
实现的机器学习算法库。sklearn
可以实现数据预处理、分类、回归、降维、模型选择等常用的机器学习算法。
深度学习常用包
Tensorflow
TensorFlow™
是一个采用数据流图(data flow graphs
),用于数值计算的开源软件库。节点(Nodes
)在图中表示数学操作,图中的线(edges
)则表示在节点间相互联系的多维数据数组,即张量(tensor
)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU
(或GPU
),服务器,移动设备等等。TensorFlow
最初由Google大脑小组
(隶属于Google机器智能研究机构
)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
Keras
Keras
是一个高层神经网络API
,Keras
由纯Python
编写而成并基于Tensorflow
、Theano
以及CNTK
后端。Keras
为支持快速实验而生,能够把你的idea迅速转换为结果。
自然语言处理常用包
gensim
Gensim
是一款开源的第三方Python
工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 它支持包括TF-IDF
,LSA
,LDA
,和word2ve
c在内的多种主题模型算法, 支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。
NLTK
NLTK
是一个高效的Python
构建的平台,用来处理人类自然语言数据。它提供了易于使用的接口,通过这些接口可以访问超过50个语料库和词汇资源(如WordNet),还有一套用于分类、标记化、词干标记、解析和语义推理的文本处理库,以及工业级NLP库的封装器和一个活跃的讨论论坛。
数据可视化常用包
Matplotlib
Matplotlib
是python
上的一个2D绘图库,是Python中最常用的可视化工具之一。它可以在夸平台上边出很多高质量的图像。综旨就是让简单的事变得更简单,让复杂的事变得可能。我们可以用matplotlib
生成绘图、直方图、功率谱、柱状图、误差图、散点图等 。
Senborn
Seaborn
是一个用Python制作统计图形的库。它建立在matplotlib
之上,并与pandas
数据结构紧密集成。Seaborn
旨在使可视化成为探索和理解数据的核心部分。其面向数据集的绘图功能对包含整个数据集的数据框和数组进行操作,并在内部执行必要的语义映射和统计聚合,以生成信息图。