Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infill.crit="ei" does not work with any model #8

Closed
nbauer2 opened this issue Jan 6, 2014 · 9 comments
Closed

infill.crit="ei" does not work with any model #8

nbauer2 opened this issue Jan 6, 2014 · 9 comments
Assignees

Comments

@nbauer2
Copy link

nbauer2 commented Jan 6, 2014

infill.crit="ei" does not work with any model (at the moment just with kriging model)

@berndbischl
Copy link
Member

It works with any regr. model that is able to provide predict.type="se". If the model does not, you still have the option to use makeBaggingWrapper to bootstrap the se estimator. Should be mentioned in tutorial, help text and maybe error message.

@ghost ghost assigned nbauer2 Jan 7, 2014
@berndbischl
Copy link
Member

Jakob, please for now check (in code) that the model can predict "se" for the infill crits that need "se".
Otherwise produce a helpful error message. Maybe mention the BaggingWrapper BRIEFLY as a solution, too.

Then close this

@berndbischl berndbischl assigned jakobbossek and unassigned nbauer2 Mar 28, 2014
@jakobbossek
Copy link
Contributor

checkStuff now checks, if the infill criterion needs se estimation and if the learner has support for that. If not the an error message is presented to the user with the hint to use makeBaggingWrapper.

@berndbischl
Copy link
Member

Huh?

We already had that check!


    if(control$infill.crit %in% c("ei", "aei") && !learner$se)
      stopf("The infill criterion needs the learner to support the prediction of standard error, but the provided learner does not (you could use the mlr wrapper makeBaggingWrapper to bootstrap the standard error estimator).")
    if(control$infill.crit %in% c("ei", "aei", "lcb") && learner$predict.type != "se")
      stopf("For infill criterion '%s' predict.type of learner %s must be set to 'se'!%s",
        control$infill.crit, learner$id,
        ifelse(learner$se, "",
          "\nBut this learner does not seem to support prediction of standard errors!"))

Why did you basically add the same lines (without lcb, which also need se)?

@berndbischl
Copy link
Member

Nadja, can you please explain you original problem?

@berndbischl
Copy link
Member

Also check that we have a unit test for EI with model != km!

@nbauer2
Copy link
Author

nbauer2 commented Apr 2, 2014

Yes, it works. At the moment I am using "ei" with randomForest for example.

@berndbischl
Copy link
Member

Nadja, do you have any remaining issues?

Other, Jakob, pls check the unit tests and then close this, when the checkStuuf method is fixed again

@jakobbossek
Copy link
Contributor

Fixed checkStuff. We have a unit test for EI with model != Kriging already in test_infillcrits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants