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

被折叠的 条评论
为什么被折叠?



