背景
前几天尝试用Python解决数模问题,感叹Python强大的同时还是觉得要系统地学一下数据挖掘与分析的拓展库。于是打算出一期关于Python部分拓展库的学习笔记,这篇是对一些库的大概的了解,后续会对其中的库的函数、使用等进行解释。
OK,下面进入正题
正文
Python数据挖掘拓展库
拓展库 | 作用 |
---|---|
Numpy | 提供数组支持,以及相应的高效的处理函数 |
Scipy | 提供矩阵支持,以及矩阵相关的数值计算模块 |
Matplotlib | 强大的时间可视化工具、作图库 |
Pandas | 强大、灵活的数据分析和探索工具 |
StatsModels | 统计建模和计量经济学,包括描述统计、统计模型估计和推断 |
Scikit-Learn | 支持回归、分类、聚类等的强大的机器学习库 |
Keras | 深度学习库,用于建立神经网络以及深度学习模型 |
Gensim | 用来做文本主题模型的库,文本挖掘可能用到 |
Numpy
前言
Python并没有提供数组功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量较大时,使用列表的速度会很慢。
Numpy提供了真的数组功能,以及对数据进行快速处理的函数。
同时,Numpy还是很多高级扩展库的依赖库。
Numpy内置函数处理数据的速度是C语言级别的
Scipy
前言
Numpy提供了多维数组功能,但它只是一般的数组,不是矩阵。
例如,当两个数组相乘时,只是对应元素相乘,而非矩阵的算法。
Scipy提供了真正的矩阵,以及基于矩阵运算的对象和函数
Scipy包含的功能:最优化、线性代数、积分、差值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解、其他科学与工程的常用计算。这些功能都是挖掘与建模必备的。
Scipy依赖于Numpy,因此安装前要先安装Numpy
Matplotlib
用于数据的可视化。
对Python来说,matplotlib是最著名的绘图库。它主要用于二维函数的绘图,也可以进行简单的三维函数绘图。
[matplotlib画廊] http://matplotlib.org/gallery.html
StatsModels
前言
Pandas着眼于数据的读取、处理和探索;StatsModels则更注重数据的统计建模分析,它使Python有了R语言的味道
StataModels支持与Pandas进行数据交互,因此它与Pandas结合,成为了Python下强大的数据挖掘工具
Scikit—Learn
一个强大的机器学习相关的库。提供了完善的机器学习工具箱,包括预处理、分类、回归、聚类、预测和模型分析等。
Sciki—Learn依赖于Nump、Scipy和Matplotlib
Theano
前言
虽然Sciki—Learn足够强大,但它并没有包含一种强大的模型——人工神经网络
Theano是深度学习专家Yoshua Bengio带领实验室开发出来的,用来定义、优化和高效地解决多维数组对应数学表达式的模拟估计问题。它具有高效实现符号分解、高度优化的速度和稳定性的特点。
安装Thearno之前要先有一个C++编译器。
在Windows中并不是非常好安装的,因为在此之前要先安装MinGW(Windows下的GCC和C++)
如果要实现GPU加速,还需要安装和配置CUDA
Keras
用Theano就可以搭建起高效的神经网络,但这对大部分读者来说门槛还是相当高的,Kear便为此而生,它大大简化了搭建各种神经网络模型的步骤,允许普通用户轻松搭建并求解具有几百个输入节点的深层神经网络,而且定制的自由度非常大。
安装Kears之前需要安装Numpy、Scipy和Theano
在Windows下Kears的速度会大打折扣,因此想要在神经网络学习方面进行深入研究,最好在Linux下搭建环境
Gensim
在Gensim官网中,它对自己的介绍就只有一句话:topic modelling for humans!
是用来处理语言方面的任务,(如文本相似度计算、LDA、Word2Vec等),这些领域的任务往往需要设计多方面的背景知识