K折验证

作者: 庵下桃花仙 | 来源:发表于2019-03-25 22:32 被阅读0次

K折验证(K-fold validation)将数据划分为K个分区。对每个分区 i,在剩余的 K-1 个分区上训练模型,在分区 i 上评估模型。最终分数是 K 个分数的平均值。


3 折验证.PNG

K 折交叉验证

k = 4
num_validation_samples = len(data) // k

np.random.shuffle(data)

validation_scores = []
for fold in rank(k):
    validation_data = data[num_validation_samples * fold:
                      num_validation_samples * (fold + 1)] # 选择验证数据分区
    training_data = data[:num_validation_samples * fold] +
    data[num_validation_samples * (fold + 1):]
    # 使用剩余数据作为训练数据。注意,+ 运算符是列表合并,不是求和
    
    model = get_model() # 创建一个全新的模型实例(未训练)
    model.train(training_data)
    validation_score = model.evaluate(validation_data)
    validation_scores.append(validation_score)
    
validation_score = np.average(validation_scores) # 最终验证分数:K折验证分数的平均值

model = get_model() # 在所有非测试数据上训练模型
model.train(data)
test_score = model.evaluate(test_data)

带有打乱数据的重复 K 折验证

多次使用 K 折验证,在每次将数据划分为 K 个分区前,先将数据打乱。最终分数是多次 K 折验证分数的平均值。这种方法一共要训练和评估 P * K 个模型,P 是重复次数,计算代价很大。

评估模型注意事项

  • 数据代表性(data representativeness),在将数据划分为训练集和测试集之前,应该随机打乱数据;
  • 时间箭头(the arrow of time),如果想要预测未来(明天天气),在划分数据前不应该打乱数据,以免造成时间泄露(temporal leak)。要保证测试集上的所有数据时间,都晚于训练集数据;
  • 数据冗余(redundancy in your data),确保训练集和验证集之间没有交集。

相关文章

  • 深度学习知识点汇总-机器学习基础(15)

    2.15 交叉验证和k折交叉验证 交叉验证是为了提高模型的泛华能力。 方法主要有: 留一交叉验证 k折交叉验证 这...

  • K折验证

    K折验证(K-fold validation)将数据划分为K个分区。对每个分区 i,在剩余的 K-1 个分区上训练...

  • Python + sklearn实现交叉验证

    scikit-learn中计算交叉验证的函数: cross_val_score:得到K折验证中每一折的得分,K个得...

  • 机器学习一些代码记录

    计算多分类时的每个类别的F1 接口 示例: pytorch 使用K-折交叉验证 pytorch 使用K-折交叉验证...

  • 机器学习(交叉验证)2020-09-17

    小言 天气:阴 凉爽 K折验证 和 留一法 知识点 1)K折交叉验证 所以总结来看,交叉验证还是一个比较复杂的过程...

  • 打卡2020-02-19

    K折交叉验证 由于验证数据集不参与模型训练,当训练数据不够用时,预留大量的验证数据显得太奢侈。一种改善的方法是K折...

  • 机器学习专题:python实现(1)

    模型选择 SVM 网格调参 k折交叉验证

  • K折交叉验证

    机器学习中,在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集随机分为 k 个包,每次将其中一...

  • k折交叉验证

    k折交叉验证 参考: 求解神经网络做十字交叉验证k=10,这种方法到底是得到十个模型还是一个模型。? - 王赟 ...

  • 18年第22周:吴恩达Ng | 交叉验证

    其中的交叉验证步骤: 最常用的是:K=5/K=10的K-折交叉验证;具体而言是:将所有样本数据分成K=5份或者K=...

网友评论

    本文标题:K折验证

    本文链接:https://www.haomeiwen.com/subject/lcapvqtx.html