如何修复运行GBM时的PSOCKcluster错误
我正在尝试运行gbm如何修复运行GBM时的PSOCKcluster错误,r,gbm,R,Gbm,我正在尝试运行gbm gbm(公式=loan_status~,数据=mdTrnGBM,分布=bernoulli',n.trees=100,交互深度=5,袋分数=0.5,cv.folds=5) 并不断出现此错误: Error in makePSOCKcluster(names = spec, ...) : Cluster setup failed. 8 of 8 workers failed to connect. makePSOCKcluster中出错(名称=规范,…): 群集安装失败
gbm(公式=loan_status~,数据=mdTrnGBM,分布=bernoulli',n.trees=100,交互深度=5,袋分数=0.5,cv.folds=5)
并不断出现此错误:
Error in makePSOCKcluster(names = spec, ...) : Cluster setup failed. 8 of 8 workers failed to connect. makePSOCKcluster中出错(名称=规范,…): 群集安装失败。8名工人中有8名无法连接。
有没有办法解决这个问题?如果我消除了行李部分和cv折叠,它确实会起作用,但我不希望必须消除它们。当您指定cv=5时,
gbm
使用并行
包将每个交叉验证作业发送到单独的堆芯。这可能是新R4.0和mac出现的新问题。。或者你可能使用的任何系统,请参见
现在,如果您的数据不太庞大,您可以使用示例数据集尝试仅使用1个core:
library(gbm)
fl = "https://raw.githubusercontent.com/hrishibawane/DataLit/master/credit_train.csv"
dat = read.csv(fl)
dat = dat[dat$Loan.Status !="",]
dat = droplevels(dat[complete.cases(dat),-c(1:2)])
dat$Loan.Status = as.numeric(dat$Loan.Status)-1
mdl = gbm(formula=Loan.Status~., data=dat, distribution = 'bernoulli',
n.trees= 100, interaction.depth= 5, bag.fraction= 0.5, cv.folds= 5,n.cores=1)
gbm(formula = Loan.Status ~ ., distribution = "bernoulli", data = dat,
n.trees = 100, interaction.depth = 5, bag.fraction = 0.5,
cv.folds = 5, n.cores = 1)
A gradient boosted model with bernoulli loss function.
100 iterations were performed.
The best cross-validation iteration was 98.
There were 16 predictors of which 16 had non-zero influence.