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