Task5 模型结果融合
一. 模型融合目标
对于多种调参完成的模型进行模型融合
模型融合它属于比赛后期的一个重要环节,老师介绍了以下几种方法:

  1. 简单加权融合
    (1) 回归(分类概率):算术平均融合,几何平均融合
    (2) 分类:投票(Voting)
    (3) 综合:排序融合,log融合
    2.Satcking/bleding
    构建多层模型,并利用预测结果再拟合预测
    二. 模型定义
    在这里我们定义四种模型,线性回归模型,Xgboost模型,Lightgbm模型,gbdt模型
    多种模型定义的代码如下:
  2. 定义线性回归模型
    def build_model_lr(x_train,y_train):
    reg_model = linear_model.LinearRegression()
    reg_model.fit(x_train,y_train)
    return reg_model
  3. 定义Xgboost模型
def build_model_xgb(x_train,y_train):
    model = xgb.XGBRegressor(n_estimators=120, learning_rate=0.08, gamma=0, subsample=0.8,\
        colsample_bytree=0.9, max_depth=5) #, objective ='reg:squarederror'
    model.fit(x_train, y_train)
    return model

3.定义Lightgbm模型

def build_model_xgb(x_train,y_train):
    model = xgb.XGBRegressor(n_estimators=120, learning_rate=0.08, gamma=0, subsample=0.8,\
        colsample_bytree=0.9, max_depth=5) #, objective ='reg:squarederror'
    model.fit(x_train, y_train)
    return model
  1. 定义gbdt模型
def build_model_gbdt(x_train,y_train):
    estimator =GradientBoostingRegressor(loss='ls',subsample= 0.85,max_depth= 5,n_estimators = 100)
    param_grid = { 
            'learning_rate': [0.05,0.08,0.1,0.2],
            }
    gbdt = GridSearchCV(estimator, param_grid,cv=3)
    gbdt.fit(x_train,y_train)
    print(gbdt.best_params_)
    # print(gbdt.best_estimator_ )
return gbdt

三. 划分数据集进行训练和预测

  1. 首先我们需要划分出数据集,用模型对已有数据进行训练与预测
  2. 对于简单的加权平均而言,加权平均就是简单的算术平均,把几个模型的结果按照一定的算术比例生成一个新的结果。然后把几个结果按照系数平均融合成为一个新的结果,这种思想在数理统计里经常会学到。
  3. 对于Stacking融合而言,就是利用模型生成的训练集,验证集和测试集,然后在第二步中利用新的模型再进行一次第一层的训练集,而后再次进行预测
    四. 收获总结
    模型融合在比赛后期是十分重要的环节
    1.结果层面的融合
    这是一种最常见的融合方法,其可行的融合方法有多样,比如根据结果的得分进行加权融合,同时也可以进行log和exp的处理。结果融合很重要的条件在于需要使得模型结果的得分比较近似,然后结果的差异应该比较大,如此的结果融合才会有很大效果上面的提升。
    2.特征层面的融合
    我们需要将特征进行切分给不同的模型,这样在后面进行模型或者结果融合时会有更加比较好的效果
  4. 特征层面的融合
  5. 模型层面的融合
    五. 自我感受
    对于此次的打卡活动,我的打卡是不够认真的,这一方面源于老师讲解的很多东西对于现在的我而言完全陌生,我是那种不够了解就不想去努力的性格。遇到很好的队友,会提醒我打卡,会提醒我编程很重要的是实战,谁都是一条条打下来才有的进步,队长会提醒我要多做笔记。我是有计划有思考的人,我相信我一定会在不久远的日子里,再次回顾datawhale里面老师的录播和重新进行一次笔记的撰写,写在这里面也算是一个flag了。加油,爱笑的摆渡人,我可以一步一步地成为自己喜欢的人。