Add a `Transformer` wrapper for models that supervised that transform
@ablaom is already working on this.
Since Apr 2, 2026.
Assessment
This issue has not been assessed yet.
Description
In pipelines the output of a supervised model that gets propagated to the next component in the pipeline is the output of predict. However, some supervised models also learn a transformation. For example, MLJFlux's NeuralNetworkClassifier and NeuralNetworkRegressor learn entity embeddings to handle categorical inputs, and transform gives access just to these embeddings. We want to use these embeddings as a preprocessing step for some other supervised learner, as in
NeuralNetworkClassifier |> LogisticClassifier
but of course this doesn't work, because the first model is propagating the output of predict instead of transform, because the pipeline apparatus identifies NeuralNetworkClassifier as a Supervised model.
We actually solved this problem in MLJFlux by introducing the EntityEmbedder wrapper, so that the following works:
EntityEmbedder(NeuralNetworkClassifier) |> LogisticClassifier
However, it has struck me rather late, that this wrapper likely works (or should in principle work) for any Supervised model with a transform. So we should really call EntityEmbedder something like Transformer, and perhaps make it immediately available (e.g. by moving it to MLJTransforms.jl).
Thoughts anyone?
@EssamWisam
- Dominant language
- Julia
- Stars
- 1
- Forks
- 2
- Avg merge
- 9d 22h
- Merged PRs (30d)
- 2
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from JuliaAI/MLJTransforms.jl
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Difficulty 3/5 Half a day Newbie friendliness 42/100
JuliaAI/MLJTransforms.jl#87 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
JuliaAI/MLJTransforms.jl#39 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
JuliaAI/MLJTransforms.jl#21 · 13 comments ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 38/100
JuliaAI/MLJTransforms.jl#46 · 7 comments ·
All issues in JuliaAI/MLJTransforms.jl
Similar issues
-
enhancement good first issue help wanted
Difficulty 2/5 Half a day Newbie friendliness 82/100
-
authority-vechtstromen ready-for-agent
Difficulty 1/5 Under an hour Newbie friendliness 75/100
Deltares/Ribasim-NL#890 ·
Maintainers usually reply within 1 day
-
Precompilation fails on Julia 1.14 nightly: HessenbergQ lmul! methods overwrite LinearAlgebra'sOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
JuliaLinearAlgebra/GenericLinearAlgebra.jl#183 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oscar-system/GAP.jl#1455 ·
Maintainers usually reply within 1 day