Python中from sknn.mlp import Regressor,Layer報錯沒找到sklearn.cross_validation模塊


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了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM