使用交叉验证XGboost

问题描述

我正在将xgb api用于python,并尝试执行xgb.cv时出现以下错误,

param = {'max_depth': 6,'eta': 0.1,'objective' :'reg:squarederror','subsample':0.8,'gamma':0,'colsample_bytree':1,'nthread':cores,'base_score':y_train.mean(),'eval_metric':'rmse'}
num_round = 1
evallist = [(test,'eval'),(train,'train')]


xgb.cv(param,train,num_round,nfold=5,metrics={'error'},seed=0,callbacks=[xgb.callback.print_evaluation(show_stdv=True)])
    
    
        OSError                                   Traceback (most recent call last)
        <ipython-input-29-9d56c9a868ed> in <module>
              5 xgb.cv(param,6        metrics={'error'},----> 7        callbacks=[xgb.callback.print_evaluation(show_stdv=True)])
        
        ~\Anaconda3\lib\site-packages\xgboost\training.py in cv(params,dtrain,num_boost_round,nfold,stratified,folds,metrics,obj,feval,maximize,early_stopping_rounds,fpreproc,as_pandas,verbose_eval,show_stdv,seed,callbacks,shuffle)
            464     results = {}
            465     cvfolds = mknfold(dtrain,params,--> 466                       stratified,shuffle)
            467 
            468     # setup callbacks
        
        ~\Anaconda3\lib\site-packages\xgboost\training.py in mknfold(dall,param,evals,shuffle)
            323     for k in range(nfold):
            324         # perform the slicing using the indexes determined by the above methods
        --> 325         dtrain = dall.slice(in_idset[k])
            326         dtest = dall.slice(out_idset[k])
            327         # run preprocessing on the data set if needed
        
        ~\Anaconda3\lib\site-packages\xgboost\core.py in slice(self,rindex,allow_groups)
            955                                                  c_bst_ulong(len(rindex)),956                                                  ctypes.byref(res.handle),--> 957                                                  ctypes.c_int(1 if allow_groups else 0)))
            958         return res
            959 
        
        OSError: [WinError -529697949] Windows Error 0xe06d7363

我已经尝试安装和卸载XGB,但我认为这不是问题,因为我可以进行培训,问题出在我尝试进行交叉验证时。

我正在使用:

Python:3.7.3(默认值,2019年4月24日,15:29:51)[MSC v.1915 64位(AMD64)]

xgb。版本“ 1.1.0”

更新20200831

对我有用的是:

1。卸载xgboost

2。升级点子

3。使用pip3 install xgboost重新安装xgboost

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...