【问题标题】:Get train/test data after using model.fit() with validation_split使用 model.fit() 和 validation_split 后获取训练/测试数据
【发布时间】:2020-03-07 06:58:08
【问题描述】:

我正在使用验证拆分训练和拟合 keras 模型:

self.model = Sequential()
self.model.add(LSTM(hidden_units, input_shape=(1, n_features), dropout=drp))       
self.model.add(Dense(n_classes, activation='sigmoid'))
self.model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
self.model.build(X_train.shape)

self.history = self.model.fit(X, y.values, epochs=epochs, batch_size=32, validation_split=0.33, shuffle=True,  callbacks=cb_list)

拟合后,我想访问使用的测试集。 我该怎么做?

【问题讨论】:

  • 您应该提供更多信息。你用的是什么框架?标签上写着 scikit-learn,但你显示的方法签名让我觉得你正在使用 keras 或其他一些深度学习框架。
  • @xibalba1 请看我的编辑
  • 您没有在上面的模型中使用测试。另外我认为你的意思是写self.model.fit(X, y.values, epochs=epochs, batch_size=32, validation_split=0.33, shuffle=True, callbacks=cb_list)X = X_trainy.values = y_train
  • @Philip 是的,这将 X,y 拆分为 0.66 / 0.33 对吗?那么如何访问验证集呢?
  • 据我所知documentation,您可以访问history.history['acc'],history.history['val_acc'],history.history['loss'], history.history['val_loss']。但是,我在测试集上没有看到任何提及。但是,您可以在此操作之前拆分为测试和训练

标签: python machine-learning keras scikit-learn data-science


【解决方案1】:

根据documentation 中的常见问题解答,validation_split 属性使最后 % 的样本成为您的验证数据。

在您的情况下,您将 validation_split 的值设置为 0.33。这意味着 X 中最后 33% 的样本被用作验证数据。

所以,您可以直接切掉X 的最后 33% 并使用它。

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 2019-05-19
    • 2017-06-21
    • 1970-01-01
    • 2020-09-14
    • 2021-12-08
    • 2017-02-20
    • 2019-05-07
    相关资源
    最近更新 更多