集成算法bagging、随机森林、AdaBoostClassifier

分类BaggingClassifier

from sklearn.datasets import load_iris
from sklearn.ensemble import BaggingClassifier
#,max_features=0.5
iris=load_iris()
bagging=BaggingClassifier(n_estimators=20,max_samples=0.5,oob_score=True)
bagging.fit(iris.data,iris.target)

# 每个分类器抽取的样本号
bagging.estimators_samples_

# 每个分类器抽取的特征
bagging.estimators_features_

# 查看每个分类器
bagging.estimators_


# 每个基本分类器都可以被单独使用
tree1=bagging.estimators_[0].fit(iris.data,iris.target)
tree1.predict(iris.data)

# 查看袋外oob测试结果
bagging.oob_score_

# 估计各数据点属于每个类别的决定函数值(取几个值中最大的)
bagging.oob_decision_function_

# 集成模型用于预测
bagging.predict(iris.data)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

回归BaggingRegressor

# 导入波士顿房价数据集
from sklearn.datasets import load_boston
boston=load_boston()
#导入bagging回归
from sklearn.ensemble import BaggingRegressor

bagging=BaggingRegressor()

from sklearn.linear_model import LinearRegression

#实例化
bagging_reg=BaggingRegressor(LinearRegression(),n_estimators=20,max_samples=0.5,max_features=0.5,oob_score=True)

bagging_reg.fit(boston.data,boston.target)

bagging_reg.oob_score_

print(len(bagging_reg.oob_prediction_),bagging_reg.oob_prediction_)# 样本数量,预测值

bagging_reg.predict(boston.data)# 集成模型用于预测

在这里插入图片描述

在这里插入图片描述

随机森林分类

from sklearn.ensemble import RandomForestClassifier

from sklearn.datasets import load_iris

iris=load_iris()

rfc=RandomForestClassifier(n_estimators=300,oob_score=True)

rfc.fit(iris.data,iris.target)

rfc.estimators_#基分类器

rfc.estimators_[0].predict(iris.data)# 利用第一个基分类器进行预测

rfc.estimators_[0].feature_importances_# 由第一个分类器计算的特征重要性
#可以看见第一个基分类器的结果与随机森铃的结果类似,都是前两个小,后两个大

rfc.feature_importances_# 查看由随机森铃模型计算的特征重要性,可以用来降维,因为前面两个值特别小

rfc.oob_score_# 袋外oob测试结果

rfc.predict(iris.data)

rfc.oob_decision_function_# 查随机森林模型对各数据点的决定函数值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AdaBoostClassifier

from sklearn.datasets import load_iris
from sklearn.ensemble import AdaBoostClassifier

boston=load_iris()
adac=AdaBoostClassifier()


adac.fit(boston.data,boston.target)

adac.estimators_

adac.estimator_errors_# 估计误差,可以看出误差是逐渐递减的

adac.classes_# 样本标签

adac.n_classes_# 查看数据类别数

adac.estimator_weights_# 查看模型权重

adac.feature_importances_

adac.predict(iris.data)

for item in adac.staged_predict_proba(iris.data):#输出adaboost每一次迭代对数据点的预测概率值
    print(item)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值