Skip to content

[WIP] Proof-of-concept using OptunityLib to optimise parameters #6662

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

Closed
wants to merge 2 commits into from

Conversation

joshlk
Copy link

@joshlk joshlk commented Apr 14, 2016

OptunitySearchCV uses the Optunity libary to optmise (hyper)paramters. This is a superior method to OptunitySearchCV as better results can be achieved using less function calls.

@amueller
Copy link
Member

have you compared gainst #5491?

@amueller
Copy link
Member

You can't really add a dependency to scikit-learn, but you could add this to the scikit-learn-contrib organization https://github.com/scikit-learn-contrib/

@joshlk
Copy link
Author

joshlk commented Apr 14, 2016

Hi Andreas,

Is it a policy for scikit-learn not to have a dependency? This tool is core
to what a machine learnist does and so it would be really valuable to have
this in the core module - don't you agree?

@joshlk
Copy link
Author

joshlk commented Apr 14, 2016

Have a look at the introduction:
http://optunity.readthedocs.org/en/latest/index.html. Its really cool what
it does

@nelson-liu
Copy link
Contributor

@joshlk adding dependencies to scikit-learn is a pretty big addition, and not one that should without careful thought and planning. scikit-learn is great in that it only requires scipy and numpy, because it uses those functions extensively across the codebase; i don't think it would be worth it to add an extra dependency just for one feature, especially when it seems something similar is already being implemented without said dependency.

@amueller
Copy link
Member

@joshlk how is what it does different from the PR I linked to?

@amueller
Copy link
Member

actually optunity doesn't even implement the optimization algorithms itself. It only implements particle swarm, the rest are thin wrappers. So you need hyperopt and bayesopt as dependencies as well.

@jnothman
Copy link
Member

jnothman commented Apr 15, 2016

@joshlk, I think it's great that you've produced this wrapper. I also know that it's not going to get merged into scikit-learn, without actually reimplementing or copying the particle swarm optimisation into Python, with good evidence that this is a worthwhile thing for us to provide and maintain as part of the main package.

I strongly recommend setting up a scikit-learn-contrib project that does this and having it referenced from our related work section, because I think wrappers for good ML projects without scikit-learn-compatible interfaces are great stuff to have available for our users.

As such, I'm going to close this PR, not because I don't respect your work, but because this will not be merged into the core scikit-learn codebase.

The question does come to mind, @amueller, of whether we should be listing/cross-referencing related projects in relevant sections of the narrative documentation, so as to say that there are external alternatives.

@jnothman jnothman closed this Apr 15, 2016
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

Successfully merging this pull request may close these issues.

4 participants