2.10.4 其他常用库
Python中除了包含上面介绍的库,还有其他一些常用库。下面分别进行介绍。
1.SciPy
SciPy是一个开源算法库和数学工具包,它基于NumPy构建,并扩展了NumPy的功能。SciPy包含线性代数、积分、插值、特殊函数、快速傅里叶变换等常用函数,功能与软件MATLAB、Scilab和GNU Octave类似。Scipy常常结合Numpy使用,可以说Python的大多数机器学习库都依赖于这两个模块。
2.Pandas
Pandas提供了强大的数据读写功能、高级的数据结构和各种分析工具。该库的一大特点是能用一两个命令完成复杂的数据操作。Pandas中最基础的数据结构是Series,用于表示一行数据,可以理解为一维的数组。另一个关键的数据结构为DataFrame,用于表示二维数组,作用和R语言里的data.frame很像。Pandas内置了很多函数,用于分组、过滤和组合数据,这些函数的执行速度都很快。Pandas对于时间序列数据有一套独特的分析机制,可对时间数据做灵活的分析与管理。
3.Scikit-Learn
Scikit-Learn是一个基于NumPy、SciPy、Matplotlib的开源机器学习工具包,功能强大,使用简单,是Kaggle选手经常使用的学习库。它主要涵盖分类、回归和聚类算法,例如SVM、逻辑回归、朴素贝叶斯、随机森林、K均值以及数据降维处理算法等,官方文档齐全,更新及时。Scikit-Learn基于Numpy和SciPy等Python数值计算库,提供了高效的算法实现,并针对所有算法提供了一致的接口调用规则,包括KNN、K均值、PCA等,接口易用。
4.TensorFlow
TensorF low是谷歌开源的数值计算框架,也是目前最为流行的神经网络分析系统。它采用数据流图的方式,可灵活搭建多种机器学习和深度学习模型。
5.Keras
Keras是一个用于处理神经网络的高级库,可以运行在TensorF low和Theano上,现在发布的新版本可以使用CNTK或MxNet作为后端。Keras简化了很多特定任务,并大大减少了样板代码数,目前主要用于深度学习领域。