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.待更新
  • 相关阅读:
    asp.net中的Application概述
    Android布局
    Content Provider
    Service
    进程和线程Processes and Threads
    Android模拟器
    Fragment
    Ui Event
    Loader
    sqlite3命令
  • 原文地址:https://www.cnblogs.com/bellumpara/p/7502603.html
Copyright © 2011-2022 走看看