• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

adaptive-machine-learning / CapyMOA / 38802101661
85%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 08:34PM UTC
Jobs 1
Files 247
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 08:27PM UTC coverage: 85.348% (+1.5%) from 83.834%
38802101661

push

github

web-flow
feat(metrics): replace metric object with typed dicts

Results are now typed dictionaries instead of the PrequentialResults object. Each research domain has its own result type and evaluate function:

- capymoa.classifier.evaluate_classifier -> ClassifierResults
- capymoa.regressor.evaluate_regressor -> RegressorResults
- capymoa.uncertainty.evaluate_prediction_interval -> PredictionIntervalResults
- capymoa.anomaly.evaluate_anomaly -> AnomalyResults
- capymoa.ssl.evaluate_ssl -> SSLResults
- capymoa.ocl.evaluate_ocl -> OCLResults

One shared test-then-train loop serves every domain, with the Java fast path for MOA learners. Passing a mapping of names to learners evaluates several on one pass. Results are built once at the end of the run and hold plain values, so they pickle and go into pandas directly. Whole-stream metrics are under results["cumulative"], per-window metrics under results["windowed"], and drift positions are stored in the result.

Metrics MOA computes are all kept, and some are new to the results: macro precision, recall and F1, per-class metrics per window, rrmse, and the anomaly metrics accuracy, kappa, kappa_m, recall, g_mean and pos_neg_ratio.

Changes that need code updates (see docs/release_notes.rst for the full migration table):

- prequential_evaluation returns the new result types and takes only stream and learner by position.
- prequential_evaluation_multiple_learners, prequential_ssl_evaluation, prequential_evaluation_anomaly and ocl_train_eval_loop are removed in favour of the evaluate functions.
- Evaluator classes moved to each domain's evaluate module, and plots to each domain's plot module.
- Prediction-interval MAE, RMSE, RMAE and RRMSE over the whole stream change from 0.15. MOA's interval evaluator counted each instance twice and scored MAE on the lower bound; this is fixed in the new MOA jar (Waikato/moa#337).

Refs: adaptive-machine-learning/backlog#142

Assisted-by: claude-code:claude-opus-5-5
Assisted-by: claud... (continued)

1470 of 2042 new or added lines in 49 files covered. (71.99%)

1 existing line in 1 file now uncovered.

11801 of 13827 relevant lines covered (85.35%)

0.85 hits per line

Uncovered Changes

Lines Coverage ∆ File
168
3.45
src/capymoa/uncertainty/plot.py
114
5.79
src/capymoa/regressor/plot.py
80
13.04
src/capymoa/cluster/plot.py
48
76.0
src/capymoa/classifier/evaluate.py
43
14.0
src/capymoa/ocl/plot.py
25
32.43
src/capymoa/cluster/evaluate.py
20
86.3
src/capymoa/anomaly/evaluate.py
19
70.31
src/capymoa/evaluation/plot.py
17
85.09
src/capymoa/regressor/evaluate.py
12
87.76
src/capymoa/uncertainty/evaluate.py
10
18.18
-4.04% src/capymoa/_nbmock.py
4
77.78
src/capymoa/evaluation/_prequential.py
2
95.65
src/capymoa/anomaly/_evaluate.py
2
97.22
src/capymoa/ssl/_evaluate.py
2
93.1
src/capymoa/uncertainty/_evaluate.py
2
99.08
tests/test_results.py
1
66.47
0.0% src/capymoa/base/_base.py
1
99.3
src/capymoa/evaluation/_loop.py
1
96.97
src/capymoa/regressor/_evaluate.py
1
99.45
6.2% tests/test_evaluation.py

Coverage Regressions

Lines Coverage ∆ File
1
81.48
-1.85% src/capymoa/_utils.py
Jobs
ID Job ID Ran Files Coverage
1 38802101661.1 15 Oct 2026 08:34PM UTC 247
85.35
GitHub Action Run
Source Files on build 38802101661
  • Tree
  • List 247
  • Changed 89
  • Source Changed 86
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38802101661
  • 903081f3 on github
  • Prev Build on main (#38668818108)
  • Next Build on main (#38810979129)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc