启用提前停止时,我对Scikit-Learn MLPRegressor有一些疑问:
验证数据(参见“validation_fraction”)是随机选择的,位于提供的测试数据的前面还是后面?
在训练的连续迭代过程中,验证数据是相同还是不同?
验证数据是否会在训练的最后阶段自动包含/重新调整?
当验证分数在 n_iter_no_change 连续 epoch 中至少没有提高 tol 时,会返回之前的最佳回归量,还是 fit() 函数会简单地返回最后一个回归量?
启用提前停止时,我对Scikit-Learn MLPRegressor有一些疑问:
验证数据(参见“validation_fraction”)是随机选择的,位于提供的测试数据的前面还是后面?
在训练的连续迭代过程中,验证数据是相同还是不同?
验证数据是否会在训练的最后阶段自动包含/重新调整?
当验证分数在 n_iter_no_change 连续 epoch 中至少没有提高 tol 时,会返回之前的最佳回归量,还是 fit() 函数会简单地返回最后一个回归量?
验证数据(参见“validation_fraction”)是随机选择的,位于提供的测试数据的前面还是后面?
MLPRegressor
在内部使用train_test_split
来创建验证数据。如果shuffle
参数MLPRegressor
设置为 false,则从测试数据的末尾获取分数。如果shuffle
设置为 true,则随机选择数据。
在训练的连续迭代过程中,验证数据是相同还是不同?
所有训练迭代的验证数据都相同
验证数据是否会在训练的最后阶段自动包含/重新调整?
验证数据永远不会用于训练模型。它仅用于对模型进行评分。
当验证分数在 n_iter_no_change 连续 epoch 中至少没有提高 tol 时,会返回之前的最佳回归量,还是 fit() 函数会简单地返回最后一个回归量?
如果验证分数没有提高,而不是继续,提前停止将停止训练模型(避免过度拟合)并返回模型最佳参数(链接)