我认为标题是自我解释的但是要详细询问,那里的sklearn方法train_test_split()
的工作原理如下:X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.3, stratify = Y)
这意味着:该方法将分割数据比例为0.3:0.7,并试图使两个数据中的标签百分比相等。是否有与之相当的keras?
答案 0 :(得分:2)
不幸的是,答案(尽管我们愿意)为否!有一些现有的数据集,例如MNIST等,可以直接加载:
(X_train, y_train), (X_test, y_test) = mnist.load_data()
这种以拆分方式进行的直接加载使人们不希望拥有一种通用方法,但是不幸的是,这里没有这种方法,尽管您可能会对使用wrappers for SciKit-Learn on Keras感兴趣。
DataScience SE上几乎有similar question
答案 1 :(得分:0)
现在正在使用keras Dataset类。我正在运行keras-2.2.4-tf和新的tensorflow版本。
基本上,使用tf.data.Dataset.from_tensor_slices
之类的东西将所有数据加载到数据集中。然后将数据分成新的数据集进行训练和验证。例如,对数据集中的所有记录进行混洗。然后使用除前400个以外的所有内容作为训练,并使用前400个作为验证。
ds = ds_in.shuffle(buffer_size=rec_count)
ds_train = ds.skip(400)
ds_validate = ds.take(400)
Dataset类的实例是为Keras模型传递的自然容器。我从tensorflow或keras训练示例中复制了这个概念,但似乎再也找不到了。
使用load_data
方法的固定数据集会创建numpy.ndarray类,因此它们有些不同,但可以轻松转换为keras数据集。我怀疑这还没有完成,因为很多现有代码都会中断。