JuliaML / JuliaML/MLUtils.jl

Lazy operations should be opt-in

Open
#74 1 comment 0 reactions 0 assignees View on GitHub
breaking
Dominant language
Julia
Stars
124
Forks
23
PR merge metrics
No merged PRs in 30d

Description

Operation like `splitobs`, `shuffleobs` and many more return `ObsView`s that one has to call `getobs` on in order to materialize.
I think this is unexpected for users coming from scikit-learn and mildly annoying in most scenarios.
As a default, operations on materialized objects should return materialized objects (e.g. arrays and dataframes).
Users will be able to opt-in on the "lazy" by wrapping data in a `ObsView`. Operations on ObsView will produce other ObsView that can be materialized only at the end of the pipeline.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the implementations of splitobs, shuffleobs, ObsView, and getobs, then trace how operations behave on materialized inputs and views. Define the required materialized-default and lazy-opt-in behavior, including how pipelines are finalized, and add coverage for both paths before considering the issue done.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.