Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import numpy as np | |
| def make_prediction(input_data, model, encoders, target_encoder, feature_columns): | |
| # convert user input into dataframe | |
| df = pd.DataFrame([input_data]) | |
| # remove Loan_ID if it exists in feature list | |
| feature_columns = [c for c in feature_columns if c != "Loan_ID"] | |
| # add any missing columns (to match training data) | |
| for col in feature_columns: | |
| if col not in df.columns: | |
| df[col] = 0 | |
| # arrange columns in correct order | |
| df = df[feature_columns] | |
| # encode categorical values | |
| for col, le in encoders.items(): | |
| df[col] = le.transform(df[col].astype(str)) | |
| # make prediction | |
| pred = model.predict(df) | |
| prob = model.predict_proba(df) | |
| # convert numeric result back to Y/N | |
| result = target_encoder.inverse_transform(pred)[0] | |
| confidence = np.max(prob) * 100 | |
| return result, confidence |