mlr-org / mlr3pipelines

Dataflow Programming for Machine Learning in R
https://mlr3pipelines.mlr-org.com/
GNU Lesser General Public License v3.0
140 stars 25 forks source link

Should PipeOpLearner pass on a `Prediction` during train #625

Closed pfistfl closed 2 years ago

pfistfl commented 3 years ago

I know we talked about this, but it is really odd/annoying to have to explain to a user that we require learner_cv instead of learner every time I want to do any post-processing of predictions.

Example:

mb706 commented 2 years ago

Current types:

Learner: (Task|Task) -> (NULL|Prediction) LearnerCV: (Task|Task) -> (Task|Task)

ThresholdTuning (using only prediction): (NULL|Prediction) -> (NULL|Prediction) ThresholdTuning (using CV data, proposition 1): (Prediction | Prediction) -> (**** | Prediction) ThresholdTuning (using CV data, proposition 2) ist vll ein Learner: (Task|Task) -> (NULL|Prediction)

IMHO "proposition 2" makes sense, since threshold tuning trains a decision stump on one feature, so it makes sense to have predictions as a feature.

mb706 commented 2 years ago

Decision: We currently agree to keep the current problem; maybe we have to think about communicating this better or at least create good gallery posts for people to copy-paste from.