梯度提升树 python
时间: 2023-07-04 11:04:28 浏览: 99
梯度提升树(Gradient Boosting Tree)是一种常见的集成学习算法,主要用于回归和分类问题。它通过迭代的方式训练多个决策树模型,每一次迭代都会根据上一次迭代的结果进行调整,以达到更好的预测效果。
在 Python 中,可以使用 scikit-learn 库来实现梯度提升树模型。以下是一个简单的梯度提升树回归模型的示例:
```python
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载数据集
boston = load_boston()
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)
# 创建模型
gbt = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=1, random_state=42)
# 训练模型
gbt.fit(X_train, y_train)
# 预测结果
y_pred = gbt.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("均方误差:", mse)
```
在这个示例中,我们首先加载了波士顿房价数据集,并将其划分为训练集和测试集。然后,我们创建了一个梯度提升树回归模型,并使用训练集对其进行了训练。最后,我们对测试集进行了预测,并计算了均方误差来评估模型的性能。
阅读全文