import joblib import pandas as pd from sklearn.metrics import roc_auc_score from src.ingestion import load_raw_data from src.preprocessing import clean_and_engineer def evaluate_model(model_path, scaler_path, columns_path): model = joblib.load(model_path) scaler = joblib.load(scaler_path) columns = joblib.load(columns_path) df = load_raw_data() df = clean_and_engineer(df) X = df.drop("default", axis=1) y = df["default"] # 🔴 THIS WAS MISSING BEFORE X = pd.get_dummies(X, drop_first=True) # 🔴 ALIGN TO TRAINING COLUMNS (this fixes your KeyError) X = X.reindex(columns=columns, fill_value=0) X_scaled = scaler.transform(X) preds = model.predict_proba(X_scaled)[:, 1] auc = roc_auc_score(y, preds) print("AUC:", auc) return auc