zoukankan      html  css  js  c++  java
  • 集成算法stacking

    集成算法--stacking##

    1. stacking是什么
      stacking是各类算法模型的融合堆叠。假设有四种算法A、B、C、D, 你用A、B、C三种算法,分为对训练集和测试集训练,生成三组被预测了的新的train和test集,然后在用算法D对其训练,最终生成最终的结果。

    2. 细解流程:如何生成新的预测了的pred_train。

    • ①以算法A为例,此时加载了数据,训练集train和测试集test。先对训练集train进行五折交叉,生成五组 train_part和valid验证集,且保证valid集的index不重合
    • ②对每组的train_part进行训练,然后预测valid,生成pred_valid,五组验证完后,正好五个pred_valid对应train中所有数据的预测值,五个pred_valid合并后即pred_train_A
    • ③而在对每组train_part训练的过程中,生成的模型,不仅对valid进行预测,同时也对test进行预测,生成五组pred_mid_test, 因为test并没有分成五份,所以对五组pred_mid_test取中位数,生成最终的pred_test_A
    • ④ 同样对算法B、C重复以上步骤1,2,3, 生成pred_train_B, pred_test_B, pred_train_C, pred_test_C
    • ⑤ 最后将pred_train_A, pred_train_B, pred_train_C组成新的一个三列的train_DataFrame,三个test则再组成一个新的test_DataFrame,然后用算法D来训练和生成最终的结果

    3.图解:
    1.暂时没找到

    1. 其他可读文章
      1.待更新
  • 相关阅读:
    二叉树之求叶子结点个数
    求二叉树的深度
    二叉树的基本操作
    二叉树之求结点个数
    数组面试
    数组之求子数组的最大乘积
    字符串之子串
    最近遇到的几个纯C编程的陷阱
    Ubuntu 16.04 64位安装YouCompleteMe
    Linux和Windows的遍历目录下所有文件的方法对比
  • 原文地址:https://www.cnblogs.com/bellumpara/p/7502603.html
Copyright © 2011-2022 走看看