GridSearchCV是参数优化工具,优化周期较长:
from sklearn.model_selection import GridSearchCV
import time
from xgboost import XGBRegressor
from sklearn.metrics import mean_squared_error, r2_score
# 简化网格搜索参数
param_grid = {
'max_depth': [3, 5], # 减少深度选项
'learning_rate': [0.05, 0.1], # 减少学习率选项
'n_estimators': [500] # 固定树的数量
}
# 设置超时和更少的交叉验证折数
grid = GridSearchCV(
XGBRegressor(verbosity=0), # 减少输出
param_grid,
cv=3, # 保持3折交叉验证
scoring='neg_mean_squared_error',
n_jobs=2, # 限制并行作业数
verbose=1 # 显示进度
)
# 添加超时保护
try:
start_time = time.time()
# 设置最大运行时间为5分钟
max_time = 300 # 秒
grid.fit(X_train_final, y_train)
best_model = grid.best_estimator_
print(f"最佳参数: {grid.best_params_}")
print(f"最佳得分: {-grid.best_score_:.2f}")
# 使用最佳模型进行预测
best_pred = best_model.predict(X_test_final)
print(f"最佳模型 MSE: {mean_squared_error

最低0.47元/天 解锁文章
750

被折叠的 条评论
为什么被折叠?



