Repository navigation
Unclear function documentation and warning #498
Copy link
Copy link
Closed
Description
openml-python/openml/runs/functions.py
Lines 52 to 94 in 5a1048d
| def run_flow_on_task(flow, task, avoid_duplicate_runs=True, flow_tags=None, | |
| seed=None, add_local_measures=True): | |
| """Run the model provided by the flow on the dataset defined by task. | |
| Takes the flow and repeat information into account. In case a flow is not | |
| yet published, it is published after executing the run (requires | |
| internet connection). | |
| Parameters | |
| ---------- | |
| model : sklearn model | |
| A model which has a function fit(X,Y) and predict(X), | |
| all supervised estimators of scikit learn follow this definition of a model [1] | |
| [1](http://scikit-learn.org/stable/tutorial/statistical_inference/supervised_learning.html) | |
| task : OpenMLTask | |
| Task to perform. This may be an OpenMLFlow instead if the second argument is an OpenMLTask. | |
| avoid_duplicate_runs : bool | |
| If this flag is set to True, the run will throw an error if the | |
| setup/task combination is already present on the server. Works only | |
| if the flow is already published on the server. This feature requires an | |
| internet connection. | |
| This may be an OpenMLTask instead if the first argument is the OpenMLFlow. | |
| flow_tags : list(str) | |
| A list of tags that the flow should have at creation. | |
| seed: int | |
| Models that are not seeded will get this seed. | |
| add_local_measures : bool | |
| Determines whether to calculate a set of evaluation measures locally, | |
| to later verify server behaviour. Defaults to True | |
| Returns | |
| ------- | |
| run : OpenMLRun | |
| Result of the run. | |
| """ | |
| if flow_tags is not None and not isinstance(flow_tags, list): | |
| raise ValueError("flow_tags should be list") | |
| # TODO: At some point in the future do not allow for arguments in old order (order changed 6-2018). | |
| if isinstance(flow, OpenMLTask) and isinstance(task, OpenMLFlow): | |
| # We want to allow either order of argument (to avoid confusion). | |
| warnings.warn("The old argument order (Flow, model) is deprecated and will not be supported in the future. " | |
| "Please use the order (model, Flow).", DeprecationWarning) |
I was checking out this function and it confused me.
openml-python/openml/runs/functions.py
Line 62 in 5a1048d
| model : sklearn model |
There is no model parameter, there is a flow and it is an OpenMLFlow.
openml-python/openml/runs/functions.py
Line 67 in 5a1048d
| Task to perform. This may be an OpenMLFlow instead if the second argument is an OpenMLTask. |
I am guessing it should be changed from second to first argument, as this is the second one ?
openml-python/openml/runs/functions.py
Lines 93 to 94 in 5a1048d
| warnings.warn("The old argument order (Flow, model) is deprecated and will not be supported in the future. " | |
| "Please use the order (model, Flow).", DeprecationWarning) |
It seems wrong. It was OpenMLTask and OpenMLFlow, now it is reversed. The warning should display "It should be (flow, task) and not (task, flow) "?
If I understood things clearly, I can make a pull request with the minor changes.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
ArlindKadra commentedon Aug 3, 2018
On a further note, I will also update the example tutorials following the Deprecation.
mfeurer commentedon Aug 3, 2018
Yes, the parameter documentation is wrong. Line 67 can be removed in the future. Your note on the warning is correct, too.
mfeurer commentedon Mar 6, 2019
Added via #516.