小白闯

导航

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了

posted on 2020-04-29 09:44  李小白cc  阅读(913)  评论(0编辑  收藏  举报