首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XGBoost交叉验证

XGBoost交叉验证
EN

Stack Overflow用户
提问于 2018-02-23 07:19:29
回答 1查看 689关注 0票数 0

当我尝试使用以下代码运行交叉验证时:

代码语言:javascript
复制
cv_results = xgb.cv(params=params,dtrain=dmatrix_train, num_boost_round=10, nfold=1)

我得到以下错误:

代码语言:javascript
复制
TypeError                                 Traceback (most recent call last)
<ipython-input-101-65647e385c18> in <module>()
----> 1 cv_results = xgb.cv(params=params,dtrain=dmatrix_train, num_boost_round=10, nfold=1)

Can anyone point to me what I am doing wrong?

C:\ProgramData\Anaconda35\lib\site-packages\xgboost-0.40-py3.6.egg\xgboost.py in cv(params, dtrain, num_boost_round, nfold, metrics, obj, feval, fpreproc, show_stdv, seed)
    798     """
    799     results = []
--> 800     cvfolds = mknfold(dtrain, nfold, params, seed, metrics, fpreproc)
    801     for i in range(num_boost_round):
    802         for f in cvfolds:

C:\ProgramData\Anaconda35\lib\site-packages\xgboost-0.40-py3.6.egg\xgboost.py in mknfold(dall, nfold, param, seed, evals, fpreproc)
    722     randidx = np.random.permutation(dall.num_row())
    723     kstep = len(randidx) / nfold
--> 724     idset = [randidx[(i * kstep): min(len(randidx), (i + 1) * kstep)] for i in range(nfold)]
    725     ret = []
    726     for k in range(nfold):

C:\ProgramData\Anaconda35\lib\site-packages\xgboost-0.40-py3.6.egg\xgboost.py in <listcomp>(.0)
    722     randidx = np.random.permutation(dall.num_row())
    723     kstep = len(randidx) / nfold
--> 724     idset = [randidx[(i * kstep): min(len(randidx), (i + 1) * kstep)] for i in range(nfold)]
    725     ret = []
    726     for k in range(nfold):

TypeError: slice indices must be integers or None or have an __index__ method
EN

回答 1

Stack Overflow用户

发布于 2018-02-23 14:26:56

您正在传递参数值n_fold=1,这没有任何意义。交叉验证就是将数据划分到几个分区中,并验证其中一个分区的模型。因此%1是无效值,请尝试使用n_fold=3 or higher。那么你的错误就应该消失了。

在这里阅读更多关于交叉验证的内容。http://scikit-learn.org/stable/modules/cross_validation.html

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

https://stackoverflow.com/questions/48938828

复制
相关文章

相似问题

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