Python 虽然是一门脚本语言,但借助诸如 Numpy、Scipy 等功能强大的 package(包),如今 Python 在科学计算、机器学习、数据挖掘方面都有较为广泛的应用。本教程介绍如何在 Ubuntu/CentOS 中安装常用的 Python 机器学习包,包括 NumPy、pandas、SciPy、StatsModels、scikit-learn、matplotlib。
常用的 Python 机器学习包
本教程涉及的 Python 机器学习包(具体的使用可点击链接查阅官方文档,本教程只介绍如何安装):
NumPy:Python中科学计算的基础包;
pandas:提供高性能,易于使用的数据结构和数据分析工具;
SciPy:基于Python,用于数学、科学、工程的软件;
StatsModels:用于探索数据、估计统计模型、统计检验;
scikit-learn:提供经典的机器学习算法用于数据挖掘和数据分析;
matplotlib: 2D绘图库,可绘制高质量的图片。
安装pip
pip 是一个安装和管理 Python 包的工具,虽然 Linux 系统一般都自带 Python,但没有自带 pip,需要自行安装。
打开终端,执行如下命令进行安装:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
运行结果如下图所示:
如果无法安装成功,可下载离线安装包进行安装:pip7.1.2离线安装包下载 | 备用下载
下载后解压,假设位于 ~/下载/pip.7.1.2 中,则执行如下命令进行安装:
cd ~/下载/pip7.1.2
sudo python setup.py
安装完成后,执行如下命令检验是否安装成功:
pip --version
若成功安装,则会显示pip的版本信息:
安装 Python 包
安装好pip后,可在终端中方便地使用 pip install package-name
的方式来方便地在线安装 python 包了。
以安装 Numpy 为例,在终端中执行如下命令:
pip install numpy
安装成功如下图所示,提示“Successfully installed numpy-xxx”:
在安装 Numpy 过程中可能会遇到的问题:
1. 提示“SystemError: Cannot compile ‘Python.h’”的错误,如下图所示:
则需要先执行如下命令安装 Python-dev(CentOS系统对应的命令为:sudo yum install python-devel
):
sudo apt-get install python-dev
安装Python-dev后再次执行pip install numpy进行安装即可。
2. 出现“Permission denied”的错误,如下图所示:
可以在命令前加上 sudo,即 sudo pip install numpy
。
其他 Python 包的安装过程与 Numpy 类似,在终端中依次执行如下命令(注意安装顺序,其中有几个包的安装时间会比较长):
pip install pandas
pip install patsy
pip install scipy
pip install statsmodels
pip install scikit-learn
pip install matplotlib
安装过程中可能会遇到的问题:
1. 提示“error: command ‘x86_64-linux-gnu-gcc’ failed”的错误,如下图所示:
则需要执行如下命令安装g++(CentOS系统对应的命令为:sudo yum install gcc-c++
):
sudo apt-get install g++
2. 提示“no lapack/blas resources found”的错误,如下图所示:
则需要执行如下命令安装lapack/blas(CentOS系统对应的命令为:sudo yum install lapack lapack-devel blas blas-devel
):
sudo apt-get install gfortran libopenblas-dev liblapack-dev
至此,就完成了 Python 中常用机器学习包的安装。