Python xgboost:内核死亡

use*_*916 13 python xgboost

我的Jupyter笔记本的python内核不断消亡。我之前已经成功运行了以下所有代码。目前,存在问题。首先,我将向您展示我能够成功运行的代码块:

import xgboost as xgb
xgtrain = xgb.DMatrix(data = X_train_sub.values, label = Y_train.values)       # create dense matrix of training values
xgtest  = xgb.DMatrix(data = X_test_sub.values,  label = Y_test.values)        # create dense matrix of test values
param   = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic'}  # specify parameters via map
Run Code Online (Sandbox Code Playgroud)

我的数据很小的地方:

X_train_imp_sub.shape
(1365, 18)
Run Code Online (Sandbox Code Playgroud)

但是,我笔记本的内核一直死在这个块上:

xgmodel = xgb.train(param,  xgtrain, num_boost_round = 2)                      # train the model
predictions = xgmodel.predict(xgtest)                                          # make prediction
from sklearn.metrics import accuracy_score                                   
accuracy = accuracy_score(y_true = Y_test, 
                          y_pred = predictions.round(), 
                          normalize = True) # If False, return # of correctly classified samples. Else, return fraction of correctly classified samples
print("Accuracy: %.2f%%" % (accuracy * 100.0))
Run Code Online (Sandbox Code Playgroud)

当我将其分解并逐行运行时,内核似乎会死掉xgb.train()

数据很小。该xgboost参数应该是保守的(即num_boost_round = 2max_depth:2eta:1而不是耗费计算。不知道是什么原因要去。

如前所述,我以前能够成功运行两个块。我关闭了所有其他笔记本电脑,并重新启动计算机,但情况没有好运。我正在jupyterMacbook Pro上通过Anaconda Navigator 启动。

-更新-当我在xgboost训练单元下面选择一个单元,然后选择:Cells->时Run All Above,内核将永远死在xgboost训练线上。这连续发生了约40-50次。我尝试了很多次,因为我正在更改代码,以为以后可以解决xgboost问题。

后来,我一次又一次地运行相同的单元格,并xgboost在第一次和之后的每次尝试中都完成了罚款。我不知道为什么会这样,但是很高兴知道。

Pan*_*cks 18

我有一个类似的问题。这为我解决了。

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
from xgboost import XGBClassifier
Run Code Online (Sandbox Code Playgroud)

  • 很好的解决方案,这是 xgboost 和 matplotlib 的普遍问题 (2认同)

Omi*_* S. 8

我遇到过同样的问题。愚蠢的是它本来工作得很好,只是突然决定要发疯了!我尝试了@PandaRocks 的解决方案。它不起作用。我尝试重新启动一些东西。甚至在这里看到了一些有关库文件删除的内容。

最终通过重新安装 XGBoost 解决了这个问题,conda如下所述

$ conda install -c conda-forge xgboost
Run Code Online (Sandbox Code Playgroud)