{"action":"created","issue":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/9599","repository_url":"https://api.github.com/repos/scikit-learn/scikit-learn","labels_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/9599/labels{/name}","comments_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/9599/comments","events_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/9599/events","html_url":"https://github.com/scikit-learn/scikit-learn/pull/9599","id":251800522,"node_id":"MDExOlB1bGxSZXF1ZXN0MTM2ODY1NTU1","number":9599,"title":"[WIP] extending BaseSearchCV with a custom search strategy","user":{"login":"jnothman","id":78827,"node_id":"MDQ6VXNlcjc4ODI3","avatar_url":"https://avatars2.githubusercontent.com/u/78827?v=4","gravatar_id":"","url":"https://api.github.com/users/jnothman","html_url":"https://github.com/jnothman","followers_url":"https://api.github.com/users/jnothman/followers","following_url":"https://api.github.com/users/jnothman/following{/other_user}","gists_url":"https://api.github.com/users/jnothman/gists{/gist_id}","starred_url":"https://api.github.com/users/jnothman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnothman/subscriptions","organizations_url":"https://api.github.com/users/jnothman/orgs","repos_url":"https://api.github.com/users/jnothman/repos","events_url":"https://api.github.com/users/jnothman/events{/privacy}","received_events_url":"https://api.github.com/users/jnothman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/milestones/24","html_url":"https://github.com/scikit-learn/scikit-learn/milestone/24","labels_url":"https://api.github.com/repos/scikit-learn/scikit-learn/milestones/24/labels","id":2577444,"node_id":"MDk6TWlsZXN0b25lMjU3NzQ0NA==","number":24,"title":"0.20","description":"","creator":{"login":"jnothman","id":78827,"node_id":"MDQ6VXNlcjc4ODI3","avatar_url":"https://avatars2.githubusercontent.com/u/78827?v=4","gravatar_id":"","url":"https://api.github.com/users/jnothman","html_url":"https://github.com/jnothman","followers_url":"https://api.github.com/users/jnothman/followers","following_url":"https://api.github.com/users/jnothman/following{/other_user}","gists_url":"https://api.github.com/users/jnothman/gists{/gist_id}","starred_url":"https://api.github.com/users/jnothman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnothman/subscriptions","organizations_url":"https://api.github.com/users/jnothman/orgs","repos_url":"https://api.github.com/users/jnothman/repos","events_url":"https://api.github.com/users/jnothman/events{/privacy}","received_events_url":"https://api.github.com/users/jnothman/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":117,"state":"open","created_at":"2017-06-12T11:07:06Z","updated_at":"2018-07-21T03:57:52Z","due_on":"2018-01-31T08:00:00Z","closed_at":null},"comments":52,"created_at":"2017-08-21T23:51:44Z","updated_at":"2018-07-21T13:00:49Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/9599","html_url":"https://github.com/scikit-learn/scikit-learn/pull/9599","diff_url":"https://github.com/scikit-learn/scikit-learn/pull/9599.diff","patch_url":"https://github.com/scikit-learn/scikit-learn/pull/9599.patch"},"body":"Fixes #9499 through inheritance, or by providing a new `AdaptiveSearchCV`\r\n\r\nThe idea is that something like `skopt.BayesSearchCV` can be implemented as:\r\n\r\n```python\r\nclass MySearchCV(BaseSearchCV):\r\n    def __init__(....):\r\n        ...\r\n\r\n    def _run_search(self, evaluate_candidates):\r\n        results = evaluate_candidates(initial_candidates)\r\n        while ...:\r\n            results = evaluate_candidates(more_candidates)\r\n```\r\n\r\nNote that it should be possible to use scipy.optimize minimizers in this framework.\r\n\r\nI've also provided `AdatptiveSearchCV`, which accepts a `search` parameter to a public interface, rather than relying on inheritance, but I'm undecided about it.\r\n\r\nTODO:\r\n\r\n* [ ] Get other core devs to comment on broad API\r\n* [x] Probably remove `AdaptiveSearchCV` and leave a private/protected API\r\n* [ ] Decide how we document an API for inheritance, as this is a bit new to Scikit-learn\r\n* [ ] Decide whether this is \"experimental\" API or something that we want to assure stability on \r\n* [ ] Should `_run_search` be allowed to change the `cv_results_` dict? Should we put (in)formal requirements (or an API) on how `cv_results_` can be changed."},"comment":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/comments/406795281","html_url":"https://github.com/scikit-learn/scikit-learn/pull/9599#issuecomment-406795281","issue_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/9599","id":406795281,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNjc5NTI4MQ==","user":{"login":"jnothman","id":78827,"node_id":"MDQ6VXNlcjc4ODI3","avatar_url":"https://avatars2.githubusercontent.com/u/78827?v=4","gravatar_id":"","url":"https://api.github.com/users/jnothman","html_url":"https://github.com/jnothman","followers_url":"https://api.github.com/users/jnothman/followers","following_url":"https://api.github.com/users/jnothman/following{/other_user}","gists_url":"https://api.github.com/users/jnothman/gists{/gist_id}","starred_url":"https://api.github.com/users/jnothman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnothman/subscriptions","organizations_url":"https://api.github.com/users/jnothman/orgs","repos_url":"https://api.github.com/users/jnothman/repos","events_url":"https://api.github.com/users/jnothman/events{/privacy}","received_events_url":"https://api.github.com/users/jnothman/received_events","type":"User","site_admin":false},"created_at":"2018-07-21T13:00:49Z","updated_at":"2018-07-21T13:00:49Z","author_association":"MEMBER","body":"And no, it's not a big change. But it does select one of a few candidate APIs, I suppose, preferencing one that can be used in a scipy.optimize callback mechanism..."}}
{"actor":{"display_login":"jnothman"}}