训练模型中的引入测试数据集
使用一批训练数据集进行模型训练,需要将训练数据分为:一份训练数据以及一份测试数据。
这样做的目的,也是为了解决模型过拟合,欠拟合的问题。
欠拟合
算法所训练的模型不能完整表达数据关系:
过拟合
算法所训练的模型过多的表达了数据见的噪音关系:
一个模型需要既不能欠拟合,也不能过拟合,这是一个平衡,模型需要好的泛化能力
,而这也是加入测试数据集的作用。
验证数据集和交叉验证
即使划分了测试数据集,也有可能出现,模型针对测试数据出现过拟合的现象,这样,还是无法保证模型的泛化能力。
故引入交叉验证。将训练数据分为K等分,如图所示。
通过计算K等分的组合数据得到的均值,来选择最佳的模型。
交叉验证会带来一定的计算代价,尤其是当数据集很大的时候,导致计算过程会变得很慢。
网格搜索调参
1 | x_train, x_test, y_train, y_test = model_selection.train_test_split(np_data_array, np_array, test_size=0.2, random_state=55) |
本文标题:训练模型中的引入测试数据集
文章作者:小师
发布时间:2020-06-17
最后更新:2022-05-04
原始链接:chunlife.top/2020/06/17/训练模型中的引入测试数据集/
版权声明:本站所有文章均采用知识共享署名4.0国际许可协议进行许可