stacking模型的代码
时间: 2024-11-23 20:40:19 浏览: 5
2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
5星 · 资源好评率100%
Stacking,也称为堆叠预测,是一种机器学习中常见的集成学习方法,它通过将多个基础模型的预测结果组合起来,形成一个新的更强大的模型。在Python中,最常用的库如sklearn提供了一些内置的支持,例如`StackingClassifier`和`StackingRegressor`。
以下是一个简单的例子,展示如何使用sklearn构建一个基于回归的stacking模型:
```python
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import mean_squared_error
from mlxtend.classifier import StackingCVRegressor
# 加载数据
boston = load_boston()
X, y = boston.data, boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义基础模型和元模型
base_models = [
('lr', LinearRegression()),
('rf', RandomForestRegressor(n_estimators=50))
]
meta_model = LinearRegression()
# 创建StackingCVRegressor实例并训练
stacker = StackingCVRegressor(base_models=base_models,
meta_model=meta_model,
cv=5)
stacker.fit(X_train, y_train)
# 预测
y_pred = stacker.predict(X_test)
# 评估
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
阅读全文