Python中調用
from sklearn.cross_validation import train_test_split時會報錯No module named 'sklearn.cross_validation'。
是因為木有這個包了,如果是單獨掉這個包,主需要在自己的代碼中把
from sklearn.cross_validation import train_test_split替換為
import sklearn.model_selection就可以了。
但是如果有其他包依賴
sklearn.cross_validation這個包就很麻煩了,比如我就遇到這種問題。
我需要的包是from sknn.mlp import Regressor,Layer。但sknn.mlp會依賴這個
sklearn.cross_validation。這時候就不是在自己代碼里換調用的包的問題了,是需要去改
sknn.mlp這里面的代碼的。需改如下:
找到D:\software\anaconda\Lib\site-packages\sknn,這個文件夾下的mlp文件,
將#import sklearn.cross_validation
改成 import sklearn.model_selection
再打開D:\software\anaconda\Lib\site-packages\sknn\backend\lasagne里面的mlp文件中
將#import sklearn.cross_validation
import sklearn.model_selection
將
# 原來的
X, X_v, y, y_v = sklearn.cross_validation.train_test_split(
X, y,
test_size=self.valid_size,
random_state=self.random_state)
# 更改后
X, X_v, y, y_v = sklearn.model_selection.train_test_split(
X, y,
test_size=self.valid_size,
random_state=self.random_state)
然后再
from sklearn.cross_validation import train_test_split就OK了