The GitHub Actions job "Backport Auto Label" on 
texera.git/fix-sklearn-empty-cell has succeeded.
Run started by GitHub user kz930 (triggered by kz930).

Head commit for run:
17e5144118d0ccb49fe99810d91c2b56eb6498d5 / kary zheng <[email protected]>
feat(sklearn): skip rows with missing values instead of ending the run

Every Sklearn operator ended the execution when a cell it reads was empty, with
an error raised by scikit-learn's own input validation rather than by the
operator: ValueError: Input X contains NaN. Nothing in the family looked at
missing values, so the message named X, a variable inside generated code, and
pointed at neither the column nor the row.

An empty value is ordinary input here. A blank CSV cell arrives as null, since
univocity returns null for an empty field and AttributeTypeUtils.parseField
passes it through by design. Skipping is what the rest of the codebase does with
a value that is not there: twenty-four visualization operators open their
generated Python with dropna, COUNT counts only non-null rows, CONCAT and MIN
pass over them, and FilterPredicate answers false for every condition but
IS_NULL / IS_NOT_NULL. This family was the only one with no answer at all.

What skipping means follows what each operator emits. The training, classifier
and testing operators produce a model, or scores over one, so a dropped row
costs nothing the user can see. Training and classifier read every column but
the target, so they drop on the whole table; with Count Vectorizer on they read
only the text and the target and drop on those two, since a blank in a column
they never touch should not cost the row. The advanced trainers read a named
list of features and drop on that list plus the ground truth.

Prediction is the exception. It adds a result column to each input row, so
dropping would take the user's row out of the output along with the value the
model had nothing to say about. It keeps the row and leaves the result empty,
which is what the Hugging Face inference operators already do with a row they
cannot process.

Fitting on fewer rows changes the model, the way COUNT over a column with nulls
changes the count. That trade is one this codebase has already made everywhere
else, and it beats ending the run.

Closes #7582

Generated-by: Claude Code (Claude Opus 5)
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/31546679878

With regards,
GitHub Actions via GitBox

Reply via email to