集成算法--sklearn
2021/12/29 12:07:41
本文主要是介绍集成算法--sklearn,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
集成算法
投票法
1.少数服从多数
2.多模型一致(硬投票)
3.更高把握(置信度)原则,以最高执行度的模型预测结果为准
4.把握程度汇总进行投票(软投票)
基于多个优化模型的投票分类器
from sklearn.ensemble import VotingClassifier # 导入投票分类器 from sklearn.datasets import load_iris # 导入训练数据集 iris=load_iris()
构建若干基础模型
# 构建若干基础模型 from sklearn.linear_model import LogisticRegression from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC clf1=LogisticRegression() clf2=GaussianNB() clf3=SVC(kernel='rbf')
建立投票分类器(hard)
#实例化 vote_clf=VotingClassifier(estimators=[('lr',clf1),('GNB',clf2),('SVM',clf3)],voting='hard') # 训练投票分类器 vote_clf.fit(iris.data,iris.target) # 预测 vote_clf.predict(iris.data)
建立投票分类器(soft)
# 建立投票分类器(soft) clf1=LogisticRegression() clf2=GaussianNB() clf3=SVC(kernel='rbf',probability=True) vote_clf2=VotingClassifier(estimators=[('lr',clf1),('GNB',clf2),('SVM',clf3)],voting='soft') #实例化 vote_clf2=vote_clf2.fit(iris.data,iris.target)# 训练 vote_clf2.predict(iris.data)# 预测 # 预测输出概率值 vote_clf2.predict_proba(iris.data)
array([[9.86641908e-01, 1.06874777e-02, 2.67061395e-03],
[9.80580511e-01, 1.64122717e-02, 3.00721706e-03],
[9.88225368e-01, 9.17685191e-03, 2.59777978e-03],
[9.81921847e-01, 1.49389403e-02, 3.13921237e-03],
。。。。。。。
例如,第一行,0.9866最大,所以为第一类
硬投票不能查看概率值
投票分类器与网格搜索的联合使用
from sklearn.model_selection import GridSearchCV # 导入网格搜索 from sklearn.ensemble import VotingClassifier# 导入投票分类器 # 构建若干基础模型 from sklearn.linear_model import LogisticRegression from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC clf1=LogisticRegression() clf2=GaussianNB() clf3=SVC(probability=True) # probability默认为false ,所以设置为true ,方便后续查看概率值
probability默认为false ,所以设置为true ,方便后续查看概率值
#实例化 vote_clf2=VotingClassifier(estimators=[('lr',clf1),('GNB',clf2),('SVM',clf3)],voting='soft') # 设置参数搜索范围 params={'lr__C':[0.1,1,10], 'SVM__C':[0.01,0.1,1,10], 'SVM_kernel':['linear','rbf']}
注意:SVM__C,lr__C’这里是两个横线,小心报错
params={‘lr__C’:[0.1,1,10],‘SVM__C’:[0.01,0.1,1,10], ‘SVM_kernel’:[‘linear’,‘rbf’]}一共会搜索 24次:342
#在网格搜索中直接调用投票分类器 grid=GridSearchCV(estimator=vote_clf,param_grid=params,cv=8)
这篇关于集成算法--sklearn的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南