首页 > 解决方案 > 无法导入 cross_validation

问题描述

在构建新的神经网络时,我似乎无法拆分数据。由于某些未知原因,它不会导入 train.test.split

ImportError:无法导入名称“cross_validation”

#split dataset in result y and data X
X = np.array(df.drop(['Survived'],1)) # not sure why this wasnt needed
y = np.array(df['Survived'])
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X,y,test_size=0.2)

我尝试了各种方法来导入该 sklearn 函数(已标记):

#from sklearn.model_selection import GridSearchCV, KFold
#from sklearn import module_selection # =>   cross_validation.train_test_split
#from sklearn import cross_validation
#from sklearn.svm.libsvm import cross_validation
#from sklearn import preprocessing, cross_validation

from sklearn import preprocessing, cross_validation
 #here are the machine algorythms
from sklearn.neighbors import KNeighborsClassifier  
from sklearn.svm import SVC
from sklearn.naive_bayes import GaussianNB    #added myself (https://machinelearningmastery.com/compare-machine-learning-algorithms-python-scikit-learn/)
from sklearn import model_selection
from sklearn.metrics import classification_report, accuracy_score

我的背景我是 python 的初学者,我在 C# 中制作了手动(从头开始)神经网络 RNN LSTN,但不是在 python 中现在我想接受 kaggle Titanic 挑战(所以我不能在这里发布我的所有代码,但我展示仅限此问题区域)

使用的版本:
python:3.6.6
python:由 conda-forge 打包
python:(默认,2018 年 7 月 26 日,11:48:23)[MSC v.1900 64 位(AMD64)]
keras:配置为 > tensorflow 1.9.0
熊猫:0.23.4
numpy:1.15.2
sklearn:0.20.0
matplotlib:3.0.0

另外请注意,该函数本身可以在使用相同内核的其他 jupyter 笔记本中运行,(我什至尝试了他们的导入行)但现在它不起作用。

标签: python-3.xscikit-learn

解决方案


我遇到了同样的问题,发现是版本问题

如果您使用的是旧版 Jupiter 笔记本

from sklearn.cross_validation import train_test_split

或使用这个

from sklearn.model_selection import train_test_split

推荐阅读