梯度提升树python
时间: 2023-07-04 09:04:46 浏览: 143
梯度提升树(Gradient Boosting Tree)是一种常用的机器学习算法,它通过迭代地训练一系列的决策树来实现分类和回归任务。下面是一个使用Python实现梯度提升树的示例:
首先,我们需要导入必要的库:
```python
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.ensemble import GradientBoostingRegressor
```
然后,我们加载数据集并将其划分为训练集和测试集:
```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=42)
```
接着,我们定义一个梯度提升树模型并进行训练:
```python
gbt = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=1, random_state=42)
gbt.fit(X_train, y_train)
```
在训练完成后,我们可以使用测试集来评估模型的性能:
```python
y_pred = gbt.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print("MSE: %.4f" % mse)
```
最后,我们可以使用模型进行预测:
```python
new_data = np.array([[0.02, 80.0, 3.0, 0.0, 0.5, 6.0, 50.0, 4.0, 4.0, 280.0, 20.0, 390.0, 5.0]])
prediction = gbt.predict(new_data)
print("Prediction: %.2f" % prediction)
```
这就是一个使用Python实现梯度提升树的示例。请注意,这只是一个简单的示例,实际使用中可能需要进行更多的参数调整和数据预处理。
阅读全文