Hello I am using genetic algorithm for some optimization problem. I executed it with 2 types of data and get results like GA=40 GA2=60 When I combine it with resamples Value=resamples (list (GA, GA2)) It gives me the error $ operator is invalid for atomic vectors. What should be the issue here? Thanks [[alternative HTML version deleted]]
Hello, If you are using function resamples from package caret, just read its help page. From ?resamples, section Arguments: Arguments x a list of two or more objects of class train, sbf or rfe with a common set of resampling indices in the control object. For sort.resamples, it is an object generated by resamples. Your x argument is not an object of one of those classes. You are passing the function a list of 2 numeric values, not an object resembling the examples in that help page. Hope this helps, Rui Barradas ?s 11:35 de 24/02/20, javed khan escreveu:> Hello > > I am using genetic algorithm for some optimization problem. I executed it > with 2 types of data and get results like > > GA=40 > GA2=60 > > When I combine it with resamples > > Value=resamples (list (GA, GA2)) > > It gives me the error > > $ operator is invalid for atomic vectors. > > What should be the issue here? > > Thanks > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
Hello, Please cc the list. Yes, I believe so, it's hard to say, the code is not reproducible. But that's what the docs say. Why not try it? Hope this helps, Rui Barradas ?s 16:00 de 24/02/20, javed khan escreveu:> > Thanks for your feedback Rui.. It means I have to specify the "mod" in > the resamples (based on the code below) instead of ga_res?? mod here is > the train function of caret? > > resamples(list( First_data= mod, Second_data=mod2) > > My sample code is here > > obj <- function(param, maximize = FALSE) { > ? print(param) > ? mod <- train(Result ~ ., data = tr, > ? ? ? ? ? ? ? ?method = "gbm", > ? ? ? ? ? ? ? ?metric = "MAE", > ? ? ? ? ? ? ? ?trControl = ctrl > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? tuneGrid = data.frame(n.trees = > (param[1]), interaction.depth = (param[2]), > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shrinkage=(param[3]), > n.minobsinnode=(param[4]))) > > ? ? ? ? ? ? ? ? if(maximize) > ? ? -getTrainPerf(mod)[, "TrainMAE"] else > ? ? ? getTrainPerf(mod)[, "TrainMAE"] > } > > Then GA function > > library(GA) > set.seed(45642) > ga_res <- ga(type = "real-valued", > ? ? ? ? ? ? ?fitness = svm_obj, > ? ? ? ? ? ? ?min = c(0.5,0), max = c(1,1), > > ? ? ? ? ? ? ?maxiter = ceiling(num_mods), > ? ? ? ? ? ? ?maximize = TRUE) > ga_res at solution > > On Mon, Feb 24, 2020 at 2:03 PM Rui Barradas <ruipbarradas at sapo.pt > <mailto:ruipbarradas at sapo.pt>> wrote: > > Hello, > > If you are using function resamples from package caret, just read its > help page. From ?resamples, section Arguments: > > Arguments > > x > a list of two or more objects of class train, sbf or rfe with a common > set of resampling indices in the control object. For sort.resamples, it > is an object generated by resamples. > > > Your x argument is not an object of one of those classes. You are > passing the function a list of 2 numeric values, not an object > resembling the examples in that help page. > > > Hope this helps, > > Rui Barradas > > > ?s 11:35 de 24/02/20, javed khan escreveu: > > Hello > > > > I am using genetic algorithm for some optimization problem. I > executed it > > with 2 types of data and get results like > > > > GA=40 > > GA2=60 > > > > When I combine it with resamples > > > > Value=resamples (list (GA, GA2)) > > > > It gives me the error > > > > $ operator is invalid for atomic vectors. > > > > What should be the issue here? > > > > Thanks > > > >? ? ? ?[[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help at r-project.org <mailto:R-help at r-project.org> mailing list > -- To UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > >
I want to compare the same algorithm (mentioned below) on two different
type of datasets. But when I
rvalues=resamples(list(mod, mod2)) , it gives me error:
Object mod2 not found (note: code works fine with mod but with mod2, it
gives error)
It is strange because the code is exactly same, but one I named mod and
another mod2
The code is here:
obj <- function(param, maximize = FALSE) {
print(param)
mod <- train(Result ~ ., data = tr,
method = "gbm",
metric = "MAE",
trControl = ctrl
tuneGrid = data.frame(n.trees (param[1]),
interaction.depth = (param[2]),
shrinkage=(param[3]),
n.minobsinnode=(param[4])))
if(maximize)
-getTrainPerf(mod)[, "TrainMAE"] else
getTrainPerf(mod)[, "TrainMAE"]
}
library(GA)
set.seed(45642)
ga_res <- ga(type = "real-valued",
fitness = svm_obj,
min = c(0.5,0), max = c(1,1),
maxiter = ceiling(num_mods),
maximize = TRUE)
ga_res at solution
Then I changed the dataset i.e data2 (in the same file) but algorithm is
same, except the mod in train () becomes mod2, in order to draw later the
plot as
rvalues=resamples(list(mod, mod2)) /// mod for one dataset and mod2 for
another dataset
bwplot(rvalues, metric="MAE")
On Mon, Feb 24, 2020 at 7:04 PM Rui Barradas <ruipbarradas at sapo.pt>
wrote:
> Hello,
>
> Please cc the list.
> Yes, I believe so, it's hard to say, the code is not reproducible.
> But that's what the docs say. Why not try it?
>
> Hope this helps,
>
> Rui Barradas
>
> ?s 16:00 de 24/02/20, javed khan escreveu:
> >
> > Thanks for your feedback Rui.. It means I have to specify the
"mod" in
> > the resamples (based on the code below) instead of ga_res? mod here
is
> > the train function of caret?
> >
> > resamples(list( First_data= mod, Second_data=mod2)
> >
> > My sample code is here
> >
> > obj <- function(param, maximize = FALSE) {
> > print(param)
> > mod <- train(Result ~ ., data = tr,
> > method = "gbm",
> > metric = "MAE",
> > trControl = ctrl
> > tuneGrid = data.frame(n.trees >
> (param[1]), interaction.depth = (param[2]),
> > shrinkage=(param[3]),
> > n.minobsinnode=(param[4])))
> >
> > if(maximize)
> > -getTrainPerf(mod)[, "TrainMAE"] else
> > getTrainPerf(mod)[, "TrainMAE"]
> > }
> >
> > Then GA function
> >
> > library(GA)
> > set.seed(45642)
> > ga_res <- ga(type = "real-valued",
> > fitness = svm_obj,
> > min = c(0.5,0), max = c(1,1),
> >
> > maxiter = ceiling(num_mods),
> > maximize = TRUE)
> > ga_res at solution
> >
> > On Mon, Feb 24, 2020 at 2:03 PM Rui Barradas <ruipbarradas at
sapo.pt
> > <mailto:ruipbarradas at sapo.pt>> wrote:
> >
> > Hello,
> >
> > If you are using function resamples from package caret, just read
its
> > help page. From ?resamples, section Arguments:
> >
> > Arguments
> >
> > x
> > a list of two or more objects of class train, sbf or rfe with a
> common
> > set of resampling indices in the control object. For
sort.resamples,
> it
> > is an object generated by resamples.
> >
> >
> > Your x argument is not an object of one of those classes. You are
> > passing the function a list of 2 numeric values, not an object
> > resembling the examples in that help page.
> >
> >
> > Hope this helps,
> >
> > Rui Barradas
> >
> >
> > ?s 11:35 de 24/02/20, javed khan escreveu:
> > > Hello
> > >
> > > I am using genetic algorithm for some optimization problem.
I
> > executed it
> > > with 2 types of data and get results like
> > >
> > > GA=40
> > > GA2=60
> > >
> > > When I combine it with resamples
> > >
> > > Value=resamples (list (GA, GA2))
> > >
> > > It gives me the error
> > >
> > > $ operator is invalid for atomic vectors.
> > >
> > > What should be the issue here?
> > >
> > > Thanks
> > >
> > > [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-help at r-project.org <mailto:R-help at
r-project.org> mailing list
> > -- To UNSUBSCRIBE and more, see
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html
> > > and provide commented, minimal, self-contained, reproducible
code.
> > >
> >
>
[[alternative HTML version deleted]]