【问题标题】:How to create a new dataframe after the validation_split?如何在validation_split之后创建一个新的数据框?
【发布时间】:2019-05-30 08:33:34
【问题描述】:

在训练 Keras 模型并在 fit() 函数中使用 validation_split=0.2 后,我们如何将 20% 的旧数据帧转换为新数据帧进行测试?

#train model
model.fit(train_X, train_y, validation_split=0.2, epochs=30, callbacks=[early_stopping_monitor])

【问题讨论】:

    标签: python pandas dataframe machine-learning keras


    【解决方案1】:

    实际上,当您将validation_split 参数设置为x 时,最后一个x 百分比的训练样本被视为验证数据。因此,如果您想获得在训练期间使用的相同验证数据,您可以像这样对数据框进行切片:

    idx = int(len(train_X) * 0.2)  # 0.2 is the value of validation split
    # if train_X and train_y are numpy arrays
    val_X = train_X[idx:]   
    val_y = train_y[idx:]
    
    # if train_X and train_y are pandas dataframes
    val_X = train_X.iloc[idx:]
    val_y = train_y.iloc[idx:]
    

    【讨论】:

    • 你能解释一下 iloc 是什么并给出一个 0.2 或 20% 的实际替换吗?
    • @Justin 用于通过基于整数的位置索引访问 pandas 数据帧的元素。我已经更新了我的答案以考虑 numpy 数组以及明确添加验证拆分值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2017-03-20
    相关资源
    最近更新 更多