一、Python 科学计算工具包
NumPy+SciPy+Matplotlib+iPython,Python 的这几个工具包集合到一起也可以做到集数值计算,可视化工具及交互于一身。同时,这几个工具包非常重要,特别是 NumPy 和 SciPy,也是很多 Python 文本处理 & 机器学习 & 数据挖掘工具包的基础。
1. Numpy:
Numpy 是使用 Python 进行科学计算的基础库,主要提供高性能的 N 维数组实现以及计算能力,还提供了和其它语言如 C/C++ 集成的能力,此外还实现了一些基础的数学算法,如线性代数相关、傅里叶变换及随机数生成等。NumPy 提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray 是存储单一数据类型的多维数组,而 ufunc 则是能够对数组进行处理的函数。
2. SciPy:Scientific Computing Tools for Python
“SciPy 是一个开源的 Python 算法库和数学工具包,SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软件 MATLAB、Scilab 和 GNU Octave 类似。 Numpy 和 Scipy 常常结合着使用,Python 大多数机器学习库都依赖于这两个模块。”—- 引用自 “Python 机器学习库”
3. Matplotlib
Matplotlib 是 python 数据可视化工具包。是 python 最著名的绘图库,它提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入 GUI 应用程序中。Matplotlib 可以配合 ipython shell 使用,提供不亚于 Matlab 的绘图体验,总之用过了都说好。
在 IPython 控制台使用 Matplotlib,可以使用 ipython--matplotlib 命令来启动 IPython 控制台程序;如果要在 IPython notebook 里使用 Matplotlib,则在 notebook 的开始位置插入 %matplotlib inline 魔术命令即可。
IPython 为 Matplotlib 专门提供了特殊的交互模式。IPython 的 Matplotlib 模式有两个优点,一是提供了非阻塞的画图操作,二是不需要显示地调用 show()方法来显示画出来的图片。
二. Python 机器学习 & 数据挖掘常用工具包
机器学习和数据挖掘这两个概念不太好区分,这里就放到一起了。这方面的开源 Python 工具包有很多,这里先从熟悉的讲起,再补充其他来源的资料,也欢迎大家补充。</