| import pandas as pd
|
|
|
| def prepare_input_features(raw_input: dict) -> pd.DataFrame:
|
| df = pd.DataFrame([raw_input])
|
|
|
|
|
|
|
|
|
| df["total_monthly_expenses"] = (
|
| df["school_fees"]
|
| + df["college_fees"]
|
| + df["travel_expenses"]
|
| + df["groceries_utilities"]
|
| + df["other_monthly_expenses"]
|
| + df["monthly_rent"]
|
| )
|
|
|
|
|
|
|
|
|
| df["debt_to_income"] = df["current_emi_amount"] / df["monthly_salary"]
|
| df["expense_to_income"] = df["total_monthly_expenses"] / df["monthly_salary"]
|
| df["savings_ratio"] = df["bank_balance"] / df["monthly_salary"]
|
|
|
|
|
|
|
|
|
| df["credit_risk_bucket"] = pd.cut(
|
| df["credit_score"],
|
| bins=[0, 600, 700, 900],
|
| labels=["Low", "Medium", "High"]
|
| )
|
|
|
|
|
|
|
|
|
| df["employment_stability_score"] = (
|
| df["years_of_employment"] *
|
| df["employment_type"].map({
|
| "Government": 1.5,
|
| "Private": 1.0,
|
| "Self-employed": 0.8
|
| })
|
| )
|
|
|
| return df |