{ "model_name": "loan-default-logreg", "model_type": "LogisticRegression", "task": "binary_classification", "target": "loan_default", "target_classes": [ "no_default", "default" ], "positive_class": "default", "trained_at": "2026-06-24T13:50:48.902678", "python_version": "3.11.15", "library_versions": { "scikit-learn": "1.9.0", "numpy": "2.4.6", "scipy": "1.17.1", "pandas": "3.0.3", "joblib": "1.5.3" }, "decision_threshold": 0.8155, "threshold_rationale": "minimiza costo esperado 3:1 (3*FP+1*FN) sujeto a precision>=0.70 y recall>=0.40 (ver notes/04_design_validation.md)", "feature_order": [ "age", "income", "credit_score", "dependents", "home_owner" ], "raw_feature_order": [ "age", "income", "credit_score", "dependents", "home_owner" ], "processed_feature_order": [ "age", "credit_score", "dependents", "income", "home_owner" ], "raw_feature_meta": { "age": { "type": "int", "min": 20, "max": 69, "default": 44, "label": "Edad (anios)" }, "income": { "type": "float", "min": 4000, "max": 100000, "default": 20000, "label": "Ingreso anual" }, "credit_score": { "type": "int", "min": 300, "max": 849, "default": 580, "label": "Credit score (FICO)" }, "dependents": { "type": "int", "min": 0, "max": 4, "default": 2, "label": "Numero de dependientes" }, "home_owner": { "type": "binary", "min": 0, "max": 1, "default": 0, "label": "Propietario de vivienda (0=no, 1=si)" } }, "metrics_at_operating_point": { "precision_default": 0.9677, "recall_default": 0.7692, "f1_default": 0.8571, "expected_cost_3to1": 12, "pr_auc": 0.9381, "roc_auc": 0.9804 }, "preprocessor_file": "preprocessor.joblib", "model_file": "model.joblib" }