Ports the "hard" histogram variant of HistNetQ (from https://github.com/pglez84/histnetq) into quapy/method/_histnet.py, dropping that repo's quantificationlib-backed bag generators in favor of QuaPy's own sampling protocols (UPP by default). Implemented as a BaseQuantifier, alongside QuaNet, since it trains end-to-end on samples of known prevalence rather than following the classify-then-aggregate pattern. - HistNetQ.fit(X, y): resamples training/validation bags from a LabelledCollection via a configurable protocol (UPP by default; fresh random bags each training epoch, a fixed reproducible sequence for validation). - HistNetQ.fit_from_samples(protocol, val_protocol=None, mix_bags=False): trains directly from a protocol that already yields bags (e.g. LeQua's SamplesFromDir), with an optional mixer to synthesize extra intermediate-prevalence bags from the given ones. - Aliased in meta.py (torch-optional, mirroring the existing QuaNet guard) and registered in META_METHODS. - Adds test_histnetq covering both entry points on binary and multiclass synthetic data. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| classification | ||
| data | ||
| method | ||
| tests | ||
| __init__.py | ||
| error.py | ||
| evaluation.py | ||
| functional.py | ||
| model_selection.py | ||
| plot.py | ||
| protocol.py | ||
| util.py | ||