首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中为xgboost超参数运行gridsearchcv时出错

在python中为xgboost超参数运行gridsearchcv时出错
EN

Stack Overflow用户
提问于 2021-02-28 02:24:56
回答 1查看 30关注 0票数 0

我有一组数据,如下所示,提取了前5行以供参考

代码语言:javascript
运行
复制
gvkey   year    ebit_diff   cogs_diff   revt_diff   xad_diff    xint_diff   xrd_diff    xrent_diff  xsga_diff
0   1004    2011    0.007816    0.081074    0.051726    -0.02617    0.011864    -0.052201   -0.016440   -0.048060
1   1004    2012    -0.028573   0.032022    0.002105    -0.02617    0.035253    -0.052201   -0.024924   -0.050444
2   1004    2013    -0.039717   -0.080926   -0.079771   -0.02617    0.011793    -0.052201   -0.009906   -0.050436
3   1004    2014    -0.027915   -0.184351   -0.169031   -0.02617    -0.012772   -0.052201   -0.032912   -0.094717
4   1004    2015    -0.185687   -0.243326   -0.291618   -0.02617    -0.126708   -0.052201   -0.059853   -0.126411

我不需要包括'gvkey‘和'year’分类变量。我做了一列火车

_

测试

_

拆分并运行xgboost,并使用gridsearchcv来确定最佳的超参数

代码语言:javascript
运行
复制
X_train:

    cogs_diff   revt_diff   xad_diff    xint_diff   xrd_diff    xrent_diff  xsga_diff
0   0.081074    0.051726    -0.02617    0.011864    -0.052201   -0.016440   -0.048060
1   0.032022    0.002105    -0.02617    0.035253    -0.052201   -0.024924   -0.050444
2   -0.080926   -0.079771   -0.02617    0.011793    -0.052201   -0.009906   -0.050436
3   -0.184351   -0.169031   -0.02617    -0.012772   -0.052201   -0.032912   -0.094717
4   -0.243326   -0.291618   -0.02617    -0.126708   -0.052201   -0.059853   -0.126411

cogs_diff     float64
revt_diff     float64
xad_diff      float64
xint_diff     float64
xrd_diff      float64
xrent_diff    float64
xsga_diff     float64
dtype: object


Y train

0    0.007816
1   -0.028573
2   -0.039717
3   -0.027915
4   -0.185687
Name: ebit_diff, dtype: float64

1.为XGBoost设置参数网格

参数={

代码语言:javascript
运行
复制
"max_depth": [2, 4, 6],
代码语言:javascript
运行
复制
"learning_rate": [0.001, 0.05, 0.1],
代码语言:javascript
运行
复制
"n_estimators": [20,40,60],
代码语言:javascript
运行
复制
"max_features": [2,4,6]

}

2.设置xgboost分类器-以便性能指标是RMSE,而不是其他指标

xgb = XGBClassifier(eval_metric ='rmse')

3.设置GridSearchCV参数-在此训练数据集上执行5次交叉验证,以进行超参数调整。

start_time = time.time()

grid = GridSearchCV(estimator=xgb,param_grid=params,cv=5,scoring='roc_auc',verbose=3)

grid.fit(X_train,y_train)

代码语言:javascript
运行
复制
However, i encounter the following error:

```javascript

ValueError:不支持连续格式

想看看有没有人知道如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-28 02:34:35

您的问题看起来是一个回归问题,但是您实例化了一个

(带评估分数

),其中可能有一个

应该使用。

此外,您正在使用

在构建

这可能会导致异常,因为roc曲线下的区域不是用于回归问题的合适分数(这可能是异常消息试图告诉您的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66402062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档