7 种模型加权集成方法

7 种模型加权集成方法

# 7 种模型加权集成方法

不同任务 -> 不同加权方法

分类

类别投票概率值加权

回归

预测值加权

排序

排序次序加权

目标检测

预测结果NMS

语义分割

像素类别投票加权

集成学习

考虑

模型的多样性

多样性不足 -> 最终预测结果和单个模型类似。

模型的精度差异

精度差异很大 -> 最终集成的效果也不会很好

Out of fold

中文:袋外预测

就是交叉验证

Blend操作

最常见的分类 & 回归任务的结果加权方法

方法1:均值加权

原理

对所有模型的预测结果计算均值;

优点

简单,过拟合可能性低;

缺点

会受到模型原始精度差异的影响;

代码

oof_preds = []

for col in oofCols:

oof_preds.append(oof_df[col])

y_avg = np.mean(np.array(oof_preds), axis=0)

方法2:权重加权

原理

对所有模型的预测结果加权求和;

优点

比均值更加可控;

缺点

权重需人工设置,更容易过拟合;

代码

weights = [1,2,3]

y_wtavg = np.zeros(len(oof_df))

for wt, col in zip(weights, oofCols):

y_wtavg += (wt*oof_df[col])

y_wtavg = y_wtavg / sum(weights)

方法3:排序加权

原理

预测结果进行排序

使用次序代替原始取值

优点

适合分类任务对概率进行集成

缺点

会受到模型原始精度差异的影响

代码

rankPreds = []

for i, col in enumerate(oofCols):

rankPreds.append(oof_df[col].rank().values)

y_rankavg = np.mean(np.array(rankPreds), axis=0)

方法4:排序权重加权

原理

预测结果进行排序

使用次序代替原始取值

优点

比均值更加可控;

缺点

权重需人工设置更容易过拟合

代码

rankPreds = []

weights = [1,2,3]

for i, col in enumerate(oofCols):

rankPreds.append(oof_df[col].rank().values * weights[i])

y_rankavg = np.mean(np.array(rankPreds), axis=0)

y_rankavg = np.mean(np.array(rankPreds), axis=0)

方法5:爬山法加权

原理

权重进行搜索保留最优的权重

优点

可以自动权重权重大小

缺点

更容易过拟合

代码

for w1 in np.linspace(0, 1, 100):

for w2 in np.linspace(0, w2, 100):

w3 = 1 - w1 - w3

如果 w1, w2, w3取得更好的精度,保留权重

否则尝试下一组权重组合

方法6:线性回归加权

原理

使用线性回归确定权重

优点

可以自动权重权重大小

缺点

需要额外训练容易过拟合

代码

from sklearn.linear_model import LinearRegression

lr = LinearRegression(fit_intercept=False)

lr.fit(

三个模型对训练集预测结果,

训练集标签

)

lr.coef_ # 线性回归的权重

方法7:参数优化加权

原理

使用优化方法搜索权重

优点

可以自动权重权重大小;

缺点

需要额外训练,容易过拟合;

代码

def f(x):

return x[0]**2 + x[1]**2 + (5 - x[0] - x[1])

from scipy import optimize

minimum = optimize.fmin(f, [1, 1])

参考文献

[1] https://mp.weixin.qq.com/s/a77kNwNCAsHCvnfpKUvQYQ

你可能也喜欢

demonstrate证实,展示
beat365投注网站

demonstrate证实,展示

📅 08-28 👀 2069
魔域世界boss在哪里-boss刷新时间和分布地点汇总
beat365投注网站

魔域世界boss在哪里-boss刷新时间和分布地点汇总

📅 08-27 👀 4807
烤棉花糖
beat365投注网站

烤棉花糖

📅 08-27 👀 8312
oppo手机降价时间规律
365bet开户娱乐

oppo手机降价时间规律

📅 09-06 👀 3321
阳历11月28号是什么星座,新历一十一月二十八日星座分析
机械动力:筛子 (Create Sifting) - MC百科
365bet开户娱乐

机械动力:筛子 (Create Sifting) - MC百科

📅 09-12 👀 1011
英雄联盟波比巧克力工坊多少钱是什么限定?
365bet开户娱乐

英雄联盟波比巧克力工坊多少钱是什么限定?

📅 07-14 👀 5314
曲线自由 My Body My Choice
365bet开户娱乐

曲线自由 My Body My Choice

📅 07-28 👀 2650
秋葵要蒸多久才能熟 蒸秋葵要多久
365bet开户娱乐

秋葵要蒸多久才能熟 蒸秋葵要多久

📅 07-25 👀 3574