{"action":"created","issue":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/8022","repository_url":"https://api.github.com/repos/scikit-learn/scikit-learn","labels_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/8022/labels{/name}","comments_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/8022/comments","events_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/8022/events","html_url":"https://github.com/scikit-learn/scikit-learn/pull/8022","id":194467533,"number":8022,"title":"[MRG] Estimator tags","user":{"login":"amueller","id":449558,"avatar_url":"https://avatars0.githubusercontent.com/u/449558?v=3","gravatar_id":"","url":"https://api.github.com/users/amueller","html_url":"https://github.com/amueller","followers_url":"https://api.github.com/users/amueller/followers","following_url":"https://api.github.com/users/amueller/following{/other_user}","gists_url":"https://api.github.com/users/amueller/gists{/gist_id}","starred_url":"https://api.github.com/users/amueller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amueller/subscriptions","organizations_url":"https://api.github.com/users/amueller/orgs","repos_url":"https://api.github.com/users/amueller/repos","events_url":"https://api.github.com/users/amueller/events{/privacy}","received_events_url":"https://api.github.com/users/amueller/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2016-12-08T22:59:38Z","updated_at":"2017-06-12T08:39:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/8022","html_url":"https://github.com/scikit-learn/scikit-learn/pull/8022","diff_url":"https://github.com/scikit-learn/scikit-learn/pull/8022.diff","patch_url":"https://github.com/scikit-learn/scikit-learn/pull/8022.patch"},"body":"Fixes #6599, #7737, #6554, #6715\r\n\r\nTodo\r\n* [x] document all API changes in whatsnew\r\n* [x] remove multioutput ifs/list\r\n\r\n* [x] port last bugfix to separate PR and add test\r\n\r\nFor another PR:\r\n* add tests on compound estimators like pipeline, gridsearchcv, ...\r\n* fix MultiOutputEstimator\r\n* replace _estimator_type with tags\r\n* remove cross_decomposition special cases (maybe)\r\n* remove positive data special cases\r\n* input type for sparse data?\r\n\r\nI decided to leave the ``_estimator_type`` for later because this PR is already too big."},"comment":{"url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/comments/307725688","html_url":"https://github.com/scikit-learn/scikit-learn/pull/8022#issuecomment-307725688","issue_url":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/8022","id":307725688,"user":{"login":"mfeurer","id":5320498,"avatar_url":"https://avatars1.githubusercontent.com/u/5320498?v=3","gravatar_id":"","url":"https://api.github.com/users/mfeurer","html_url":"https://github.com/mfeurer","followers_url":"https://api.github.com/users/mfeurer/followers","following_url":"https://api.github.com/users/mfeurer/following{/other_user}","gists_url":"https://api.github.com/users/mfeurer/gists{/gist_id}","starred_url":"https://api.github.com/users/mfeurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfeurer/subscriptions","organizations_url":"https://api.github.com/users/mfeurer/orgs","repos_url":"https://api.github.com/users/mfeurer/repos","events_url":"https://api.github.com/users/mfeurer/events{/privacy}","received_events_url":"https://api.github.com/users/mfeurer/received_events","type":"User","site_admin":false},"created_at":"2017-06-12T08:39:10Z","updated_at":"2017-06-12T08:39:10Z","body":"Thanks @amueller for pinging me and for making this happen. We use something similar in [auto-sklearn](http://automl.github.io/auto-sklearn/stable/) where we have defined properties of estimators, such as for [AdaBoost](https://github.com/automl/auto-sklearn/blob/master/autosklearn/pipeline/components/classification/adaboost.py). These are used to automatically determine a valid pipeline-space for a task, which we can search with Bayesian optimization. This PR seems to remove the burden of us having to define and update this information ourselves. For auto-sklearn, the following tags and values would be important:\r\n\r\n* output-type for classification: binary, multiclass, multilabel, multiclass-multilabel; (although I'm not sure if there is any classifier that only supports binary classification).\r\n* output-type for regression (is implemented).\r\n* input-type: whether the data needs to be positive (I'm wondering why that is actually not used/assigned at all) and whether the classifier accepts dense, sparse or both (which as far as I can see is not implemented so far)."}}
{"actor":{"display_login":"mfeurer"}}