I am trying to use a train from Caret with a package that is not included, and I get an error message that I am unable to understand, any idea? I used the following link to start
bmsMeth<-list(type="Regression",library="BMS",loop=NULL,prob=NULL)
prm<-data.frame(parameter="mprior.size",class="numeric",label="mprior.size")
bmsMeth$parameters<-prm
bmsGrid<-function(x,y,len=NULL){
out<-expand.grid(mprior.size=seq(2,3,by=len))
out
}
bmsMeth$grid<-bmsGrid
bmsFit<-function(x,y,param, lev=NULL) {bms(cbind(y,x),burn=5000,iter=100000,nmodel=1000,mcmc="bd",g="UIP",mprior.size=param$mprior.size)}
bmsMeth$fit<-bmsFit
bmsPred<-function(modelFit,newdata,preProcess=NULL,submodels=NULL){predict(modelFit,newdata)}
bmsMeth$predict<-bmsPred
library(caret)
data.train<-data.frame(runif(100),runif(100),runif(100),runif(100),runif(100))
bms(cbind(data.train[,1],data.train[,-1]),burn=5000,iter=100000,nmodel=1000,mcmc="bd",g="UIP",mprior.size=2)
preProcess=c('center','scale')
myTimeControl <- trainControl(method = "timeslice",initialWindow = 0.99*nrow(data.train), horizon = 1, fixedWindow = FALSE)
tune <- train(data.train[,-1],data.train[,1],preProcess=preProcess,method = bmsMeth,tuneLength=2,metric= "RMSE",trControl =myTimeControl,type="Regression")
Mistake:
Error in train.default (data.train [, -1], data.train [, 1], preProcess = preProcess ,: Stop More: Warning messages: 1: In eval (expr, envir, cover): the model is not suitable for Training1: mprior.size = 2 Error in the method $ fit (x = x, y = y, wts = wts, param = tuneValue, lev = obsLevels ,: unused arguments (wts = wts, last = last, classProbs = classProbs, type = "Regression")
2: TrainWorkflow (x = x, y = y, wts = weight, info = trainInfo:: .