我正在应用预测建模(渐变增强机器),我的笔记本电脑上的代码有错误,但大学计算机却没有。
我认为错误出现在第203行,列车。
错误:
Error in train.default(training_data[, predictorsNames], training_data[, :
final tuning parameters could not be determined
In addition: Warning messages:
1: In nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, :
There were missing values in resampled performance measures.
2: In train.default(training_data[, predictorsNames], training_data[, :
missing values found in aggregated results
# TRAINING & CROSSVALIDATION SETS
filtered_processed_dataset$IsDelayed<-ifelse(filtered_processed_dataset$IsDelayed==1,'yes','nope')
filtered_processed_dataset$IsDelayed<-as.factor(filtered_processed_dataset$IsDelayed)
outcomeName<-'IsDelayed'
predictorsNames<-names(filtered_processed_dataset)[names(filtered_processed_dataset)!=outcomeName]
inTrain<-caret::createDataPartition(filtered_processed_dataset$IsDelayed,p=.85,list=FALSE)
training_data<-filtered_processed_dataset[inTrain,]
crossvalidation_data<-filtered_processed_dataset[-inTrain,]
# GRADIENT BOOSTING MACHINE
getModelInfo()$gbm$type
rownames(training_data)<-NULL
gbmGrid<-expand.grid(interaction.depth=c(1,5,9), n.trees=100, shrinkage=0.1)
fitControl<-trainControl(
method='cv',
number=3,
returnResamp='none',
verbose=FALSE,
summaryFunction=twoClassSummary,
classProbs=TRUE)
**g<-train(training_data[,predictorsNames], training_data[,outcomeName],
method='gbm',
trControl=fitControl,
metric="ROC",
tuneGrid=gbmGrid)**
crossvalidation_data<-as.data.frame(crossvalidation_data)
rownames(crossvalidation_data)<-NULL
p_gbm<-predict(g, crossvalidation_data[,predictorsNames], type='prob')
auc<-pROC::roc(ifelse(crossvalidation_data[,outcomeName]=="yes",1,0),p_gbm[[2]])
print(auc)
非常感谢。
答案 0 :(得分:1)
在两台计算机上使用sessionInfo()
,以获取有关已加载的程序包和R
配置的信息。正如您希望代码为deterministic,有两种可能的结果:
compare
。
ls
进行检查并使用{{清除1}} (小心,该命令将删除所有对象)。作为一个侧面,您可以考虑查看packrat。 Packrat将使您能够在不同环境中保持与您使用的软件包的一致性。