启用Scikit-Learn MLPRegressor时,我对{{3}}有一些疑问:
是否在提供的测试数据的前面或后面随机选择了验证数据(请参见“ validation_fraction”)?
在训练的连续迭代过程中,验证数据是相同还是不同?
在培训的最后阶段是否会自动包含/修改验证数据?
如果对于n_iter_no_change个连续时期,验证得分至少没有提高tol,那么将返回先前的最佳回归值,还是fit()函数仅返回最后一个回归值?
答案 0 :(得分:1)
是随机选择的验证数据(请参见“ validation_fraction”), 在提供的测试数据的前面还是后面?
MLPRegressor
在内部使用train_test_split
创建验证数据。如果shuffle
的{{1}}参数设置为false,则从测试数据的末尾获取分数。如果MLPRegressor
设置为true,则将随机选择数据。
验证数据在连续过程中是相同还是不同 训练的迭代?
所有训练迭代的验证数据都相同
在验证期间,将自动包含/修改验证数据 培训的最后阶段?
验证数据将永远不会用于训练模型。它仅用于对模型评分。
当验证分数没有提高至少tol n_iter_no_change连续的历元,将前一个最佳回归 返回,还是将fit()函数简单地返回最后一个 回归器?
如果验证得分没有提高,而不是继续,那么提前停止将停止训练模型(避免过度拟合),并返回模型的最佳参数(link)