scitex_ml.classification.reporters.reporter_utils.validation
Validation utilities for classification metrics.
Provides validation for completeness, consistency, and scientific requirements.
Functions
|
Check if all required metrics are present. |
|
Validate completeness of saved metrics. |
Classes
|
Validates classification metrics for completeness and consistency. |
- class scitex_ml.classification.reporters.reporter_utils.validation.MetricValidator(required_metrics)[source]
Validates classification metrics for completeness and consistency.
This class checks that all required metrics are present across folds and validates metric values are within expected ranges.
- METRIC_RANGES = {'accuracy': (0.0, 1.0), 'balanced_accuracy': (0.0, 1.0), 'f1': (0.0, 1.0), 'mcc': (-1.0, 1.0), 'pr_auc': (0.0, 1.0), 'precision': (0.0, 1.0), 'recall': (0.0, 1.0), 'roc_auc': (0.0, 1.0)}
- __init__(required_metrics)[source]
Initialize validator with required metrics.
- Parameters:
required_metrics (List[str]) – List of metric names that must be present
- validate_metric_value(metric_name, value)[source]
Validate a single metric value is within expected range.
- scitex_ml.classification.reporters.reporter_utils.validation.validate_completeness(output_dir, required_metrics, n_folds)[source]
Validate completeness of saved metrics.
- Parameters:
- Returns:
Validation report
- Return type:
Dict[str, Any]
Examples
>>> report = validate_completeness( ... "./results", ... ['balanced_accuracy', 'mcc', 'confusion_matrix'], ... n_folds=5 ... ) >>> if report['complete']: ... print("All metrics present!")
- scitex_ml.classification.reporters.reporter_utils.validation.check_required_metrics(metrics_dict, required)[source]
Check if all required metrics are present.
- Parameters:
- Returns:
(all_present, missing_metrics)
- Return type:
Examples
>>> metrics = {'balanced_accuracy': 0.85, 'mcc': 0.7} >>> complete, missing = check_required_metrics( ... metrics, ... ['balanced_accuracy', 'mcc', 'roc_auc'] ... ) >>> print(f"Missing: {missing}") # ['roc_auc']