Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python xgboost

作者:热血震荡   发布日期:2026-03-14   浏览:112

# 导入所需的库
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}")

解释说明:

  1. 导入库:我们导入了 xgboostsklearn 的相关模块以及 mean_squared_error 用于评估模型。
  2. 加载数据集:使用 load_boston 加载波士顿房价数据集,并将其划分为特征 (data) 和标签 (target)。
  3. 数据集划分:使用 train_test_split 将数据集分为训练集和测试集。
  4. 转换数据格式:将训练和测试数据转换为 DMatrix 格式,这是 XGBoost 的专用数据结构,可以加速训练过程。
  5. 设置参数:定义了 XGBoost 模型的参数,包括目标函数、树的最大深度、学习率和树的数量。
  6. 训练模型:使用 xgb.train 函数训练模型。
  7. 预测与评估:对测试集进行预测,并使用均方根误差(RMSE)评估模型的性能。

上一篇:python 线程锁

下一篇:python当前路径

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站