File size: 840 Bytes
0c661f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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