win10下運行了一段Python代碼,出現了報錯, 報錯是ImportError: No module named model_selection。我定位代碼到import sklearn.model_selection,我才知道原來我沒有這個model。
我在網上找了一下解決方法,原來是scikit-learn的版本太低。在anaconda中通過命令行查看sklearn的版本爲 0.17.1,而 sklearn.model_selection 是 sklearn 版本 0.18.1 以上的。那麼我升級一下 scikit-learn 應該就可以了。
步驟如下所示:
1、在cmd環境下輸入:conda list,就可以查看所有安裝庫的版本了;
2、0.17.1版本的 scikit-learn 版本太低,得更新爲 0.18 版本的 scikit-learn 。
cmd 環境下輸入:conda update scikit-learn
3、提示是否進行,輸入:y
其實步驟到這裏,已經可以了。
但是,但是我發現我update的速度超級慢,有點不可思議,而且在最後竟然告訴我沒有安裝成功。
我上網查得原因是官網的鏡像在境外,所以直接update可能會比較慢或者不能訪問,說明這個報錯跟我的源有關,所以我就把我的源改成了清華大學的鏡像源。
cmd環境下,輸入:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
之後呢,我就再次update scikit-learn,以便升級版本到 0.18。
步驟還是和剛剛的一樣:
1、在cmd環境下,升級版本:conda update scikit-learn
2、提示是否進行:y
升級完成後,要確認一下版本是否升級完成。
cmd環境下,輸入:conda list
版本正確,那麼我就在python環境下試下。
總結一下:
1、出現報錯ImportError: No module named model_selection 的解決辦法是升級 scikit-learn 的版本;
2、update官網在境外的庫時,最好是找找看有沒有國內的鏡像源,比如清華大學的鏡像源或者豆瓣、阿里雲等等;
另外,其中可能會報權限錯誤:
根據提示來就行。
自己把sklearn更新爲0.19版本,並把“from sklearn.model_selection import cross_val_predict”更改爲以下這句就可以了:
from sklearn.cross_validation import cross_val_predict