-
Notifications
You must be signed in to change notification settings - Fork 156
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
Add task interface #68
Comments
Naive plan: to imitate MLR and/or OpenML. @fkiraly has raised some issues:
We are meeting soon to discuss in conjunction with another project. Watch this space for further discussion. Suggestions welcome. |
What is a Task? Here's the present design for the supervised tasks: struct SupervisedTask{U} <: MLJTask # U is true for single target
data # a table
targets # list of names
ignore::Vector{Symbol} # list of names
is_probabilistic
target_scitype
input_scitypes
input_is_multivariate::Bool
end In discussions at Turing there was consensus that tasks exclude description of evaluation (a point-of-departure from OpenML), although this is not cast in stone. So, whether a task is regression or classifier is part of the task description, namely in At present the the Task constructor assumes the data meets the spec outlined at doc/getting_started.md and infers the last three fields from the data. However, my idea is to eventually make the constructor more flexible, coercing data if necessary based on user-interaction. And the user could let the constructor make educated guesses about intended scientific type, and so forth. The user might give the task contructor a kwarg The present design does suppose that, once the task is constructed, the data it wraps conforms to our standard. This aspect I would be reluctant to change at this point. |
Oops. Closed by accident. |
It seems to me this is not too restrictive given that there can always be a "pre" step where the data is verified and/or coerced right? |
Pasting @kirtsar 's comment from the merged issue #96: "What should the Task do? task = Task(data = X, target = y, goal = SomeGoal(optional args) ) where SomeGoal is something from (for example):
" |
@kirtsar I think the current design satisfies your requirements? |
A basic task interface is now in place. Let's open new issues for possible enhancements. |
No description provided.
The text was updated successfully, but these errors were encountered: