| import json | |
| import joblib | |
| import pandas as pd | |
| from pathlib import Path | |
| HERE = Path(__file__).resolve().parent | |
| pipe = joblib.load(HERE / "model.joblib") | |
| features = json.loads((HERE / "features.json").read_text(encoding="utf-8")) | |
| def predict_proba(df: pd.DataFrame): | |
| X = df[features].copy() | |
| return pipe.predict_proba(X)[:, 1] | |
| def predict(df: pd.DataFrame, threshold: float = 0.5): | |
| proba = predict_proba(df) | |
| pred = (proba >= threshold).astype(int) | |
| return pred, proba | |