集成学习-Stacking 发表于 2024-08-20 | 分类于 机器学习 代码示例使用 Python 中 Scikit-learn 库中的 StackingClassifier 实现堆叠的简单示例: 12345678910111213141516171819202122232425262728# Importing necessary librariesfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.linear_model import LogisticRegressionfrom sklearn.ensemble import StackingClassifierfrom sklearn.metrics import accuracy_score# 加载 Iris 数据集。iris = load_iris()X, y = iris.data, iris.target# 数据集分为训练集和测试集。X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 定义基分类器,包括 RandomForestClassifier 和 LogisticRegression。base_classifiers = [ ('rf', RandomForestClassifier(n_estimators=10, random_state=42)), ('lr', LogisticRegression(random_state=42))]# 定义一个元分类器,它是另一个 LogisticRegression 分类器。meta_classifier = LogisticRegression(random_state=42)# 使用基分类器和元分类器定义 StackingClassifier。stacking_classifier = StackingClassifier(estimators=base_classifiers, final_estimator=meta_classifier)# 在训练数据上训练 StackingClassifier。基分类器的预测用作元分类器的输入特征。stacking_classifier.fit(X_train, y_train)# 预测测试数据的标签。y_pred = stacking_classifier.predict(X_test)# 计算了 StackingClassifier 在测试集上的准确率。accuracy = accuracy_score(y_test, y_pred)print("Accuracy:", accuracy) -------------本文结束感谢您的阅读-------------