pip install scikit-learn
使用 Scikit-Learn 库中的 GradientBoostingRegressor
类可以很容易地实现梯度提升决策树(Gradient Boosting Decision Tree,简称 GBDT)用于回归预测。下面是一个简单的示例:
首先,确保你已经安装了 Scikit-Learn 库:
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
# 创建示例回归数据集
X, y = make_regression(n_samples=1000, n_features=10, noise=0.1, random_state=42)
# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建 GBDT 回归模型
gbdt = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
# 训练模型
gbdt.fit(X_train, y_train)
# 进行预测
y_pred = gbdt.predict(X_test)
# 评估模型性能
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
print(f"R^2 Score: {r2}")
# 可视化预测结果
plt.scatter(y_test, y_pred)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.title('GBDT Regression Predictions')
plt.show()