Governance, pruning, and model cards
HUGIML is designed for audit-heavy workflows where model reviewers need to inspect rules, trace feature lineage, remove unsafe patterns, and package validation artifacts.
Governance Studio evidence
The Governance Studio review surface includes Workbench promotion, adaptive-binning configuration evidence, augmented-pair traceability, interaction-relaxed mining, survivor-led patterns, feature-family composition, pattern support coverage, cross-validation monitoring, validation score labeling, and export-ready governance summaries. These views complement the programmatic model-card and audit-artifact APIs below.
Binary feature evidence
Two-value numeric columns are treated as categorical indicators during feature preparation. This keeps binary flags visible as discrete model evidence in pattern inventories, case review, and governance summaries.
Model cards
from hugiml.governance import generate_model_card
card = generate_model_card(
clf,
model_id="credit-scorer-v1.0.0",
intended_use="Credit risk assessment for SME lending.",
training_data_description="German Credit dataset, 1000 samples",
)
print(card.to_markdown())
card.save("model_card.json")
card.save("model_card.md", fmt="markdown")
A starter template is included at docs/model_card_template.md and should be copied into validation packets or repository governance folders as needed.
Pattern pruning
Analysts may need to remove patterns that reference protected attributes, have excessive drift, encode operationally invalid logic, or fail model-risk review. PatternEditor provides a controlled remove/refit/calibrate/finalize workflow with a JSON audit trail.
from hugiml.pruning import PatternEditor
editor = PatternEditor(clf, operator_name="risk-team")
print(editor.list_patterns().head(10))
editor.remove([3, 7], reason="references protected attribute")
editor.remove_by_keyword("postcode", reason="high PSI during monitoring")
editor.remove_low_support(min_support=0.01, reason="low-support noise")
editor.refit(X_train, y_train)
editor.calibrate(X_calibration, y_calibration, method="isotonic")
governed_clf = editor.finalize()
editor.save_audit_report("pattern_pruning_audit.json")
Audit artifacts
from hugiml.governance import GovernanceMetadata, AuditArtifact
metadata = GovernanceMetadata(
model_id="credit-scorer-v1",
owner="model-risk-team",
purpose="Credit application risk ranking",
)
audit = AuditArtifact.from_model(clf, metadata=metadata)
audit.save("training_audit.json")
Calibration
from hugiml.calibration import evaluate_calibration, reliability_diagram_data
result = evaluate_calibration(y_test, proba[:, 1])
print(result.summary())
diagram = reliability_diagram_data(y_test, proba[:, 1], n_bins=10)