python-3.x - 无法导入 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 笔记本中运行,(我什至尝试了他们的导入行)但现在它不起作用。
解决方案
我遇到了同样的问题,发现是版本问题
如果您使用的是旧版 Jupiter 笔记本
from sklearn.cross_validation import train_test_split
或使用这个
from sklearn.model_selection import train_test_split
推荐阅读
- ansible - 与剧本一起使用时,Ansible 设置模块的过滤器不起作用
- opencv-python - 将立方体平面切片上的点投影到球坐标
- python - FLASK 表单将数据返回为 Nonetype
- pose-estimation - Hybride动作捕捉系统(无标记+基于标记)
- javascript - 从日期数组中获取年份
- java - 打开android Spinner的下拉项禁用全屏模式
- javascript - 如何解构函数回调参数中的值?
- linux - 将多个文件粘贴到一个大文件中
- apache-spark - 具有过滤条件的 spark-avro 序列化(to_avro)在反序列化(from_avro)时抛出 ArrayIndexOutofBoundException
- java - Spring RestTemplate 适用于 String 但不适用于我的班级