【机器学习|学习笔记】提升回归树(Gradient Boosting Regression Trees,GBRT)的起源、发展、应用与前景,附代码实现示例。(二)
欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “
学术会议小灵通
”或参考学术信息专栏:https://blog.csdn.net/2401_89898861/article/details/146340044
以下是一个简单的使用 sklearn
实现的提升回归树(Gradient Boosting Regressor)代码示例:
# 导入必要的库
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.datasets import make_regression
from sklearn.metrics import mean_squared_error
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)
# 创建梯度提升回归模型
gbr = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
# 训练模型
gbr.fit(X_train, y_train)
# 预测测试集
y_pred = gbr.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse:.4f}")
# 绘制预测值与真实值对比图
plt.scatter(y_test, y_pred, color='blue', label='Predicted vs Actual')
plt.plot([min(y_test), max(y_test)], [min(y_test), max(y_test)], color='red', label='Perfect fit')
plt.xlabel('Actual Values')
plt.ylabel('Predicted Values')
plt.title('Gradient Boosting Regressor - Predictions vs Actual')
plt.legend()
plt.show()
make_regression
函数生成一个回归问题的模拟数据集。GradientBoostingRegressor
创建一个梯度提升回归模型,指定 n_estimators
(弱学习器的数量)、learning_rate
(学习率)和 max_depth
(每棵树的最大深度)等超参数。欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “
学术会议小灵通
”或参考学术信息专栏:https://blog.csdn.net/2401_89898861/article/details/146340044