Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| import pickle | |
| # ===================== | |
| # Load trained model | |
| # ===================== | |
| with open("loan_rf_pipeline.pkl", "rb") as f: | |
| model = pickle.load(f) | |
| # ===================== | |
| # Prediction logic | |
| # ===================== | |
| def predict_loan( | |
| Gender, Married, Dependents, Education, Self_Employed, | |
| ApplicantIncome, CoapplicantIncome, LoanAmount, | |
| Loan_Amount_Term, Credit_History, Property_Area | |
| ): | |
| input_df = pd.DataFrame([[ | |
| Gender, Married, Dependents, Education, Self_Employed, | |
| ApplicantIncome, CoapplicantIncome, LoanAmount, | |
| Loan_Amount_Term, Credit_History, Property_Area | |
| ]], | |
| columns=[ | |
| 'Gender', 'Married', 'Dependents', 'Education', 'Self_Employed', | |
| 'ApplicantIncome', 'CoapplicantIncome', 'LoanAmount', | |
| 'Loan_Amount_Term', 'Credit_History', 'Property_Area' | |
| ]) | |
| prediction = model.predict(input_df)[0] | |
| return "✅ Loan Approved" if prediction == 1 else "❌ Loan Rejected" | |
| # ===================== | |
| # App Interface | |
| # ===================== | |
| inputs = [ | |
| gr.Radio(["Male", "Female"], label="Gender"), | |
| gr.Radio(["Yes", "No"], label="Married"), | |
| gr.Dropdown(["0", "1", "2", "3+"], label="Dependents"), | |
| gr.Radio(["Graduate", "Not Graduate"], label="Education"), | |
| gr.Radio(["Yes", "No"], label="Self Employed"), | |
| gr.Number(label="Applicant Income"), | |
| gr.Number(label="Coapplicant Income"), | |
| gr.Number(label="Loan Amount"), | |
| gr.Number(label="Loan Term (months)", value=360), | |
| gr.Radio([1.0, 0.0], label="Credit History"), | |
| gr.Radio(["Urban", "Semiurban", "Rural"], label="Property Area") | |
| ] | |
| app = gr.Interface( | |
| fn=predict_loan, | |
| inputs=inputs, | |
| outputs="text", | |
| title="Loan Approval Prediction System" | |
| ) | |
| app.launch(share=True) | |