xgboost训练模型并调参的完整代码
时间: 2024-03-16 16:40:14 浏览: 21
下面是一个使用XGBoost训练模型并进行调参完整代码示例:
```python
import xgboost as xgb
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_boston
# 加载数据集
boston = load_boston()
X, y = boston.data, boston.target
# 定义XGBoost模型
model = xgb.XGBRegressor()
# 定义参数空间
param_grid = {
'max_depth': [3, 4, 5],
'learning_rate': [0.1, 0.01, 0.001],
'n_estimators': [100, 500, 1000],
'subsample': [0.8, 0.9, 1.0],
'colsample_bytree': [0.8, 0.9, 1.0]
}
# 使用GridSearchCV进行参数调优
grid_search = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='neg_mean_squared_error')
grid_search.fit(X, y)
# 输出最优参数和最优得分
print("Best parameters found: ", grid_search.best_params_)
print("Best score found: ", grid_search.best_score_)
# 使用最优参数重新训练模型
best_model = xgb.XGBRegressor(**grid_search.best_params_)
best_model.fit(X, y)
# 相关问题:
# 1. XGBoost是什么?
# 2. 如何使用GridSearchCV进行参数调优?
# 3. 如何评估模型的性能?
```
请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行调整。另外,XGBoost还有其他参数可以调整,你可以根据需要进行进一步的调参。