GBDT实现回归问题代码
时间: 2023-10-23 16:57:01 浏览: 106
线性回归问题 python+octave实现代码
下面是一个使用Python的scikit-learn库来实现梯度提升树回归的简单示例代码:
```python
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_boston
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化梯度提升树回归模型
model = GradientBoostingRegressor(loss='ls', n_estimators=100, learning_rate=0.1, max_depth=3)
# 拟合模型
model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = model.predict(X_test)
# 计算均方误差(MSE)
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
```
在这个示例中,我们使用了波士顿房价数据集作为回归问题的示例数据。首先,我们通过`train_test_split`函数将数据集划分为训练集和测试集。然后,我们初始化一个`GradientBoostingRegressor`对象,并设置一些参数,如损失函数(`loss`)、迭代次数(`n_estimators`)、学习率(`learning_rate`)和最大深度(`max_depth`)等。接下来,我们调用`fit`方法拟合模型,并使用`predict`方法在测试集上进行预测。最后,我们使用`mean_squared_error`函数计算均方误差(MSE)来评估模型的性能。
请注意,这只是一个简单的示例代码,实际使用时可能需要根据具体问题进行参数调整和模型优化。
阅读全文