基础集成技术

1、最大投票法(Max Voting)

        最大投票方法通常用于分类问题。这种技术中使用多个模型来预测每个数据点。每个模型的预测都被视为一次“投票”。大多数模型得到的预测被用作最终预测结果。

即:少数服从多数(voting=’hard’)

# 导入依赖
from sklearn.ensemble import VotingClassifier

# 初始化模型
model1 = LogisticRegression(random_state=1)
model2 = tree.DecisionTreeClassifier(random_state=1)
model3= LogisticRegression(random_state=1)

# 集成学习
model = VotingClassifier(estimators=[
            ('lr', model1), 
            ('dt', model2),
            ('lg', model3)], voting='hard')

# 开始集成训练
model.fit(x_train,y_train)

# 开始集成测试
model.score(x_test,y_test)

2、平均法(Averaging)

        对每个数据点的多次预测进行平均。在这种方法中,我们从所有模型中取平均值作为最终预测。平均法可用于在回归问题中进行预测或在计算分类问题的概率时使用。

model1 = tree.DecisionTreeClassifier()
model2 = KNeighborsClassifier()
model3= LogisticRegression()

model1.fit(x_train,y_train)
model2.fit(x_train,y_train)
model3.fit(x_train,y_train)

pred1=model1.predict_proba(x_test)
pred2=model2.predict_proba(x_test)
pred3=model3.predict_proba(x_test)

finalpred=(pred1+pred2+pred3)/3

或者

# 导入依赖
from sklearn.ensemble import VotingClassifier

# 初始化模型
model1 = LogisticRegression(random_state=1)
model2 = tree.DecisionTreeClassifier(random_state=1)
model3= LogisticRegression(random_state=1)

# 集成学习
model = VotingClassifier(estimators=[
            ('lr', model1), 
            ('dt', model2),
            ('lg', model3)], voting='soft', weights=[5,5,5])

# 开始集成训练
model.fit(x_train,y_train)

# 开始集成测试
model.score(x_test,y_test)

3、加权平均法(Weighted Average)

        为所有模型分配不同的权重,定义每个模型的预测重要性。 

# 初始化模型
model1 = tree.DecisionTreeClassifier()
model2 = KNeighborsClassifier()
model3= LogisticRegression()

# 分别训练模型
model1.fit(x_train,y_train)
model2.fit(x_train,y_train)
model3.fit(x_train,y_train)

# 模型预测
pred1=model1.predict_proba(x_test)
pred2=model2.predict_proba(x_test)
pred3=model3.predict_proba(x_test)

# 求加权
finalpred=(pred1*0.3+pred2*0.3+pred3*0.4)

或者 

# 导入依赖
from sklearn.ensemble import VotingClassifier

# 初始化模型
model1 = LogisticRegression(random_state=1)
model2 = tree.DecisionTreeClassifier(random_state=1)
model3= LogisticRegression(random_state=1)

# 集成学习
model = VotingClassifier(estimators=[
            ('lr', model1), 
            ('dt', model2),
            ('lg', model3)], voting='soft', weights=[3,3,4])

# 开始集成训练
model.fit(x_train,y_train)

# 开始集成测试
model.score(x_test,y_test)

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年5月24日 上午11:52
下一篇 2022年5月24日 上午11:56

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!