将数据集随机分为训练集(80%),验证集(10%),测试集(10%)。进行一轮交叉验证操作后,得到了一组最优参数。但是由于数据集是随机划分的,同样的数据集,同样按照8:1:1随机划分数据,当我再一次进行交叉验证,得到的最优参数结果却与上次不同。那么利用交叉验证获取最优参数组合的意义何在?
所以我的做法是,首先分出两部分,train+validate,test,前两个混合,后面的独立出来。
交叉验证不是还有参数调校的功能吗?比如有两种参数:a和b,假设a有4个备选值,b有5个备选值,那么共有4*5=20种组合,使用验证集的数据来对这20种组合进行评估(利用AUC),最后选出效果最好的一组组合,再对测试集数据进行测试。可是当我再次重复这个步骤时,由于训练集,验证集,测试集的数据虽然还是原来的数据,比例也相同,但是是随机分配的,所以再一次的参数调校却获得是另外一组参数组合,那么利用验证集来进行参数调校获得的最优参数又有什么意义呢?
用模型拟合不一样的两组随机选取的数据, 导致模型的参数本身就不同吧, 比如最简单的线性回归模型, 拟合不同的数据集, 尽管这两个数据集整体分布一样,
但是由于可能这两个数据集跟整体数据分布还是有些差异, 导致交叉验证得到不同的权值.
当你手上的数据集越大, 跟整体的数据分布越接近的时候, 估计用交叉验证拟合得到的参数变化越小.