python内核死亡的原因_Python xgboost:内核死亡

博主在Jupyter Notebook中遇到Python内核在执行xgboost训练时频繁死亡的问题。尽管数据量小且参数设置保守,内核仍会在`xgb.train()`时崩溃。尝试关闭其他笔记本、重启电脑、使用Anaconda Navigator启动Jupyter以及单独运行单元格等方法,问题未得到解决。然而,有时单元格单独运行时又能正常完成xgboost训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的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

如果我的数据很小:X_train_imp_sub.shape

(1365, 18)

但是,我的笔记本的内核一直在这个块上死掉: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))

当我把它分开并逐行运行时,内核似乎死在xgb.train()行上。

数据很小。xgboost参数应该是保守的(即num_boost_round = 2、max_depth:2、eta:1),并且不需要计算代价。不知道发生了什么。

如前所述,我以前能够成功地运行这两个块。我已关闭了所有其他笔记本电脑,并重新启动了我的电脑没有运气。我将通过MacBookPro上的Anaconda Navigator启动jupyter。

--更新--

当我在我的xgboost训练单元格下选择一个单元格,然后选择:Cells-->Run All Above,内核将始终死在xgboost训练行上。这种情况连续发生了大约40-50次。我尝试了很多次,因为我正在对代码进行更改,以为以后会解决xgboost问题。

后来,我一个接一个地运行同一个单元格,第一次尝试时和之后每次尝试时,xgboost都完成得很好。我不知道为什么会这样,但很高兴知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值