# 导入所需的库
import xgboost as xgb
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载数据集
boston = load_boston()
data = boston.data
target = boston.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.2, random_state=42)
# 将数据转换为DMatrix格式,这是XGBoost的专用数据结构
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)
# 设置参数
params = {
'objective': 'reg:squarederror', # 回归任务
'max_depth': 3, # 树的最大深度
'learning_rate': 0.1, # 学习率
'n_estimators': 100 # 树的数量
}
# 训练模型
model = xgb.train(params, dtrain, num_boost_round=100)
# 进行预测
preds = model.predict(dtest)
# 评估模型性能
rmse = mean_squared_error(y_test, preds, squared=False)
print(f"Root Mean Squared Error: {rmse}")
xgboost、sklearn 的相关模块以及 mean_squared_error 用于评估模型。load_boston 加载波士顿房价数据集,并将其划分为特征 (data) 和标签 (target)。train_test_split 将数据集分为训练集和测试集。DMatrix 格式,这是 XGBoost 的专用数据结构,可以加速训练过程。xgb.train 函数训练模型。上一篇:python 线程锁
下一篇:python当前路径
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站