from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.ensemble import BaggingClassifier
# 加载葡萄酒数据集:
data = datasets.load_wine()
# 准备特征矩阵和标签向量:
X = data.data # 特征数据
y = data.target # 类别标签
# 划分训练集和测试集(25% 测试数据):
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.25, # 25%作为测试集
random_state=22 # 随机种子保证可复现性
)
# 创建带袋外 (OOB) 评估的 Bagging 分类器:
# 包含 12 个基学习器
oob_model = BaggingClassifier(
n_estimators=12, # 基学习器数量
oob_score=True, # 启用袋外评分
random_state=22 # 固定随机状态
)
# 训练 Bagging 模型:
oob_model.fit(X_train, y_train)
# 输出袋外 (OOB) 评分:
print(oob_model.oob_score_)