Skip to content

feat(machine-learning): export the Machine Learning Scorer - #8367

Draft
kz930 wants to merge 2 commits into
apache:mainfrom
kz930:feat/standalone-ml-m2
Draft

feat(machine-learning): export the Machine Learning Scorer#8367
kz930 wants to merge 2 commits into
apache:mainfrom
kz930:feat/standalone-ml-m2

Conversation

@kz930

@kz930 kz930 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

The scorer reads one label through two columns, the actual and the predicted,
and reports the metrics a task admits. The export says which task it is
scoring the same way the operator does, so the two paths select the same
metrics from the same pair.

Two behaviour fixes travel with it. It reports the settings it cannot score
rather than failing deep inside the generated Python, and it scores the rows
an empty cell leaves usable rather than ending the run on one.

Any related issues, documentation, discussions?

Part of #8325, 15 of 21; that issue lists the set in order. It needs #8327 for the trait, so it does not compile until that lands, and the rows these operators add to the verification runner follow with the harness rather than as whole new files here.

Closes #8302, closes #8058.

Closes #8421, the task this change is the whole of.

How was this PR tested?

Each operator asserts the block it emits in its own spec. Once the harness lands, each is also run through the engine and through its generated script, on every configuration its schema offers, and the two answers compared.

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 5)

The scorer reads one label through two columns, the actual and the predicted,
and reports the metrics a task admits. The export says which task it is
scoring the same way the operator does, so the two paths select the same
metrics from the same pair.

Two behaviour fixes travel with it. It reports the settings it cannot score
rather than failing deep inside the generated Python, and it scores the rows
an empty cell leaves usable rather than ending the run on one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • Contributors with relevant context: @aglinxinyuan
    You can notify them by mentioning @aglinxinyuan in a comment.

@codecov-commenter

codecov-commenter commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

📊 Arrow Flight E2E bench

(no arrow-flight-e2e.csv in artifact)

Full dashboard · Workflow run

@carloea2 carloea2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scorer export and metric handling look good.

@kz930
kz930 marked this pull request as draft September 4, 2026 17:12
…anded over

The scorer dropped the rows missing either column by rebinding the name it was
given. The translator names a variable per output PORT, so anything else drawn
from the same upstream would go on to read the already-filtered table, and a
single-branch workflow never notices.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

3 participants