Overview
因为最近需要用到一些机器学习算法,Python
的scikit-learn
提供很多机器学习算法实现,可以很方便地用来做实验。今天在自己的电脑上安装了scikit-learn
,并在此记录了安装的步骤。
安装pip
由于scikit-learn
官方给的步骤是使用pip
安装,所以要先安装pip
。我是用了pip
官方提供的安装页面 但是没有成功。因此想使用homebrew
安装pip
。使用以下命令安装:
sudo brew install pip
提示如下:
Homebrew provides pip via: `brew install python`. However you will thenhave two Pythons installed on your Mac, so alternatively you can:sudo easy_install pip
因为我之前已经装过了Python
的easy_install
,因此可以直接使用easy_install
安装,命令如下:
sudo easy_install pip
这样就顺利地装好了pip
。
安装scikit-learn
需要安装以下包:numpy
scipy
scikit-learn
,其中前两个是scikit-learn
的依赖库,选择性安装nose
,一个Python下面的测试库,可以用来测试scikit-learn
。命令如下:
sudo pip install -U numpy scipy scikit-learn
安装成功,并显示安装的地点:
numpy in /Library/Python/2.7/site-packages
scipy in /Library/Python/2.7/site-packages
scikit-learn in /Library/Python/2.7/site-packages
这时候运行程序,导入sklearn,很可能出现
No module named sklearn
这个错误主要是由于Python程序找不到安装好的scikit-learn
,原因是可能你的电脑里装了好几个Python
,但是scikit-learn
没有装到你现在用的那一个里面。
设置正确的Python
首先使用如下命令查看:
port select --list python
在我的电脑上结果如下:
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
现在起作用的是python27
,但是要注意的是,scikit-learn
安装在/Library/Python/2.7/site-packages,这个目录并不是python27
的目录,而是python27-apple
的目录。
解决方案:可以将scikit-learn
复制到python27
目录相应的位置,或者将默认的Python
编译器改为python27-apple
。
命令如下:
sudo port select --set python python27-apple
结果如下:
Selecting 'python27-apple' for 'python' succeeded. 'python27-apple' is now active.
测试scikit-learn
好啦,总算成功,使用nose测一下吧。
python -c "import nose; nose.main()" -v sklearn
或者直接在Python
外使用
nosetests -v sklearn
也是可以的。
测试成功,就可以开始使用scikit-learn
啦!