scikit-learn是机器学习领域算法包含比较丰富的一个基于Python的kit。里面包含了PCA,k-means,spectral等等常用的基础算法,使用起来比较方便。
但是scikit-learn在Ubuntu下没有直接的安装包,无法直接通过apt-get安装,所以需要通过python的pip或者
源码编译安装。而且编译scikit-learn需要先装好NumPy和SciPy这两个包。
我选择了偷懒用pip安装。其实本质上pip安装也是把源码下下来以后现场编译,只是pip源里的源码不一定是最新版本的。在这里我就想吐个槽了。Python官方就分了2和3两个版本,所以搞得相当不方便。
在一个系统中同时有2和3的时候,虽然可以在.py文件的第一行通过编写
#!/usr/bin/python2 // 或者python3
来明确指定使用哪一个版本的Python来运行该脚本,但是一般都是像下面的这样使用默认的版本
#!/usr/bin/python
这就会造成一个问题。原来有很多的脚本都是基于Python2的,如果默认的Python链接到的是Python3的话这些脚本都会报错无法运行。
所以如果系统里默认链接的是Python3的话,需要通过下面的命令来安装NumPy,SciPy和pip
sudo apt-get install python3-numpy python3-scipy python3-pip
如果执行的是下面的的apt命令的话安装的都是Python2版本的
sudo apt-get install python-numpy python-scipy python-pip
安装完成后通过下面的pip命令安装scikit-learn
pip3 install -U scikit-learn # for Python3
pip install -U scikit-learn # for Python2
通过apt-get安装的python包会被放在/usr/lib/pythonX(.X)/dist-packages里,通过pip或者setup.py安装的包会放在/usr/local/lib/pythonX(.X)/dist-packages里。