梯度提升树 python
时间: 2023-08-28 11:08:14 浏览: 135
梯度提升树(Gradient Boosting Tree)是一种集成学习算法,它通过将多个决策树组合起来,来提高模型的准确性和稳定性。在每一次迭代中,梯度提升树会基于前面的决策树的误差来构造新的决策树,以减少模型的误差。以下是使用Python实现梯度提升树的示例代码:
首先需要导入需要的库,如下所示:
```python
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
```
接下来,我们加载一个用于回归问题的数据集(波士顿房价数据集),并将其划分为训练集和测试集:
```python
boston = load_boston()
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=1)
```
然后,我们可以创建一个梯度提升树模型,并使用训练集对其进行拟合:
```python
gbt = GradientBoostingRegressor(n_estimators=500, learning_rate=0.1, max_depth=4, random_state=1)
gbt.fit(X_train, y_train)
```
在训练完成后,我们可以使用测试集来评估模型的性能:
```python
mse = mean_squared_error(y_test, gbt.predict(X_test))
print("MSE: %.4f" % mse)
```
最后,我们可以使用训练好的模型来进行预测:
```python
print("Predicted value:", gbt.predict(X_test[0].reshape(1, -1)))
```
以上就是一个简单的梯度提升树的Python实现示例。
阅读全文