Skip to content

pre-release v0.7.4: support annotations (feature/sample), stratified holdout & logic improvements#37

Merged
TheLokj merged 5 commits intomainfrom
dev
Nov 22, 2025
Merged

pre-release v0.7.4: support annotations (feature/sample), stratified holdout & logic improvements#37
TheLokj merged 5 commits intomainfrom
dev

Conversation

@TheLokj
Copy link
Collaborator

@TheLokj TheLokj commented Nov 22, 2025

Add support for feature and sample annotations (prior weights, penalties, stratified CV), implement native holdout train/test split with stratification, fix critical FBM population bug in CV mode, refactor Jaccard filtering using model groups, add --export-param CLI flag, improve threshold CI rendering, and add GPL-3.0 license.

…atified CV

Feature Annotations:
- Enable reading of annotation files.
- Add prior weights to influence feature occurrence in initial GA population.
- Implement user-customized feature penalties (weighted via param.general.user_feature_penalties_weight).
- Add support for additional tags to enhance result visualization.

Sample Annotations:
- Enable reading of sample annotation files.
- Implement cross-validation stratification based on both classes and annotation columns.

CLI & visual improvements:
- Add `--export-param` flag to export parameters from previous experiments.
- Improve rendering of threshold CI.

Fixes:
- fix(fbm): resolve critical bug where the entire population was used instead of the FBM in CV mode.
- style: correct terminology 'G-means' to 'G-mean'.
  - Add param.data.holdout_ratio and use it in run to perform an internal train/holdout split when no external Xtest/Ytest are provided.
  - Implement Data::train_test_split with class and optional annotation stratification, plus unit tests for size, class balance, annotations and reproducibility.
  - Extend GA and Beam Qin2014 E2E tests to cover internal holdout and to assert that external Xtest/Ytest override holdout_ratio while preserving identical train/test samples and labels.
​
@TheLokj TheLokj merged commit 79f47d2 into main Nov 22, 2025
3 checks passed
eprifti pushed a commit that referenced this pull request Feb 24, 2026
pre-release v0.7.4: support annotations (feature/sample), stratified holdout & logic improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant