zoukankan      html  css  js  c++  java
  • 模型调优与融合

    0.调优模型,让模型在给定的数据集上有更好的效果。

    一、前序工作流程

      0.数据清洗

        (1)不可信的样本丢掉

        (2)缺省值极多的字段考虑不用

      1.数据采样:

        (1)下/上采样

        (2)保证样本均衡 

      2.特征处理(特征工程)

        数值型

        类别型

        时间型

        文本型

        统计型

        组合特征

      3.特征选择(特征工程)

        (1)过滤型

        (2)包裹型

        (3)嵌入型

      4.数据处理

         5.特征工程

      6.模型选择

        交叉验证(cross validation),尽量的把数据集中所有的数据都拿出来都参与到所有的k折交叉验证的过程中

          交叉验证集做参数/模型选择

          测试集只做模型效果评估(只做评估的手段)

        K折交叉验证(k-fold cross validation)

      7.交叉验证

        交叉验证选取:sklearn.grid_search.GridSearchCV(网格搜索交叉验证,对候选参数组,每个都做一次交叉验证,验证效果好坏,用它在全部的数据上完成一次训练)

      8寻找最佳超参数

    二、模型优化

      1.模型状态

        (1)过拟合(overfitting/high variance)

        (2)欠拟合(underfitting/high bias)

        (3)模型效果优化1

          过拟合:

            找更多的数据来学习(最有效的方式,数据才是王道,数据驱动的解决方案)

            增大正则化系数

            特征选择

            差异化模型融合

          欠拟合:

            找更多特征

            减小正则化系数

        

      2.权重分析

        模型效果优化2:

          线性模型的权重分析

            线性或者线性kernel的model

            Linear Regression

            Logistic Regression

            Linear SVM

            .........

          对权重绝对值高/低的特征

            做更细化的工作

            特征组合

      3.bad-case分析

         (1)分类问题

         (2)回归问题

      4.模型融合

        (1)是什么?  把一组独立的学习器组合起来,如果学习器是同质的  

          Ensemble Learning是一组individual learner的组合

          如果individual learner同质,称为base learner

          如果individual learner 异质,那么称之为component learner

        (2)为什么?

        (3)Bagging

          模型很多时候效果不好的原因是什么?过拟合

          如何缓解过拟合?

          用一个算法,不用全部的数据集,每次取出一个子集训练一个模型

          分类:用这些模型的结果做vote

          回归:对这些模型的结果取出平均值

        用不同的算法:这些模型的结果做vote或者求出平均值(voting claafier)

        (4)Stacking:用多种predictor结果作为特征训练

        (5)Adaboost:调整样本权重的模型

        (6)Gradient Boosting Tree:和 Adaboost思路类似,解决回归问题

        

    三、案例讲解  

  • 相关阅读:
    改变字段的值
    创建新的对象
    根据方法的名称来执行方法
    获取类的字段
    获取构造器的信息
    找出类的方法
    开始使用Reflection
    反射简介
    leetcode501
    leetcode235
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/10427456.html
Copyright © 2011-2022 走看看