数据挖掘HeartbeatClassification——模型融合

本文介绍了模型融合在数据挖掘中的应用,以加强数据模型的鲁棒性。通过简单加权融合、Stacking等方法,结合逻辑回归、LGB分类器等,提升预测准确性。例如,在分类任务中,加权平均可以改善单一模型的表现;在Stacking融合中,利用多个模型的预测值作为新特征输入逻辑回归,进一步优化预测结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模型融合的目的是进一步加强数据模型的鲁棒性,由单一模型转换到多个模型的协调处理中,yong合的目的是进一步加强数据模型的鲁棒性,由单一模型转换到多个模型的协调处理中,用一句诙谐的话来讲——三个臭皮匠顶个诸葛亮。
这里介绍几个融合的方法——简单加权融合、stacking、blending

1.简单加权融合——分类与回归

1.1 分类

加权平均,就是简单地将多个模型预测的预测值通过赋予相同或者不同的权值,融合为与目标值一样的数据类型(单个分类或多分类),然后用这个融合后的值去与真实的标签作比较得到误差值。

举个例子——

import numpy as np
import pandas as pd
from sklearn import metrics

## 生成一些简单的样本数据,test_prei 代表第i个模型的预测值
test_pre1 = [1.2, 3.2, 2.1, 6.2]
test_pre2 = [0.9, 3.1, 2.0, 5.9]
test_pre3 = [1.1, 2.9, 2.2, 6.0]

# y_test_true 代表第模型的真实值
y_test_true = [1, 3, 2, 6] 

## 定义结果的加权平均函数
def Weighted_method(test_pre1,test_pre2,test_pre3,w=[1/3,1/3,1/3]):
    Weighted_result = w[0]*pd.Series(test_pre1)+w[1]*pd.Series(test_pre2)+w[2]*pd.Series(test_pre3)
    return Weighted_result

# 各模型的预测结果计算MAE
print('Pred1 MAE:',metrics.mean_absolute_error(y_test_true, test_pre1))
print('Pred2 MAE:',metrics.mean_absolute_error(y_test_true, test_pre2))
print('Pred3 MAE:',metrics.mean_absolute_error(y_test_true, test_pre3))

## 根据加权计算MAE
w = [0.3,0.4,0.3] # 定义比重权值
Weighted_pre = Weighted_method(test_pre1,test_pre2,test_pre3,w)
print('Weighted_pre MAE:',metrics.mean_absolute_error(y_test_true, Weighted_pre))

结果显示,加权融合后的数据模型优于单一模型

Pred1 MAE: 0.1750000000000001
Pred2 MAE: 0.07499999999999993
Pred3 MAE: 0.10000000000000009
Weighted_pre MAE: 0.05750000000000027

1.2 回归

不同于分类的是 通过寻找多个模型中数据的线性回归模型(内在逻辑),得到预测值,然后将这几个模型的测试数据通过回归得到最终的预测值。

例子如下——

from sklearn import linear_model

def Stacking_method(train_reg1,train_reg2,train_reg3,y_train_true,test_pre1,test_pre2,test_pre3,model_L2= linear_model.LinearRegression())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值