数据竞赛达观杯(6)——模型融合

本文介绍了数据竞赛中的模型融合和调参方法。首先,解释了网格搜索的基本概念,尽管它能找出最佳参数组合,但存在耗时过长的问题。接着,提到了交叉验证作为评估模型性能的重要手段。最后,重点讨论了模型融合在提升模型性能上的应用。

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

一. 网格搜索(Grid Search)

1. 概述

网格搜索是一种调参手段,是一种穷举搜索,在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。其原理就像是在数组里找最大值。通俗的来说就是把所有参数组合的可能性都试一遍,然后找到性能最好的参数组合。

2.弊端

耗时;参数越多,候选值越多,耗费时间越长!所以,一般情况下,先定一个大范围,然后再细化。即
在这里插入图片描述

二. 交叉验证

交叉验证是用来检验模型好坏的一种方式,由于我前面有博客已经总结过,这里就不在赘述了,直接放上链接 https://blog.youkuaiyun.com/orient928/article/details/88902151

三. 模型融合

## 使用多模型实现
from mlxtend.classifier import StackingClassifier

lr_model = LogisticRegression()
svm_model = LinearSVC()
lgbm_model = lgb.sklearn.LGBMClassifier()
dt_model = DecisionTreeClassifier()

sclf = StackingClassifier(classifiers=[lr_model,svm_model,lgbm_model],meta_classifier=dt_model)
sclf.fit(x_train,y_train)

for clf,label in zip([lr_model,svm_model,lgbm_model,sclf],['逻辑回归','SVM','LightGBM','StackingClassifier']):
    scores = cross_val_score(clf,x_train,y_train,cv = 5,scoring='accuracy')
    print("Accuracy: %0.2f (+/- %0.2f) [%s]"% (scores.mean(), scores.std(), label))

结果输出:

1| Accuracy: 0,737207  [ 逻辑回归 ]
2| Accuracy: 0,729873  [ SVM ]
3| Accuracy: 0,73786   [ lightdbm ]
4| Accuracy:0.78784    [ StackingClassifier ]  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值