| import gradio as gr | |
| from src.classifier import classify_loan | |
| with gr.Blocks( | |
| title="Loan Approval Classification", | |
| theme=gr.themes.Base(), | |
| css=".gradio-container { background-color: #f0f0f0; }" | |
| ) as demo: | |
| gr.Markdown("# Loan Approval Classification") | |
| gr.Markdown("This application classifies loan applications based on user input.") | |
| with gr.Row(): | |
| with gr.Column(): | |
| person_age = gr.Number(value = 22, label="Age") | |
| person_gender = gr.Radio(['male', 'female'], value = 'female', label="Gender") | |
| person_education=gr.Radio(['high school', 'bachelor', 'master', 'associate', 'doctorate'], value = 'master', label="Education") | |
| person_income = gr.Number(label="Income", value = 71498) | |
| person_emp_exp = gr.Number(label="Employment Experience", value = 1) | |
| person_home_ownership = gr.Radio(['own', 'rent', 'mortgage', 'other'], value = 'rent', label="Home Ownership") | |
| loan_amnt = gr.Number(label="Loan Amount", value = 35000) | |
| loan_intent = gr.Radio(['personal', 'home_improvement', 'debt consolidation', 'education', 'medical', 'venture'], value = 'personal', label="Loan Intent") | |
| loan_int_rate = gr.Number(value = 16.02, label="Loan Interest Rate") | |
| loan_percent_income = gr.Number(value = 0.49, label="Loan Percentage of Income") | |
| cb_cred_hist_length = gr.Number(value = 3, label="Credit History Length") | |
| credit_score = gr.Number(value = 561, label="Credit Score") | |
| previous_loan_defaults_on_file = gr.Radio(['yes', 'no'], value = 'no', label="Previous Loan Defaults on File") | |
| submit_button = gr.Button("Submit Form") | |
| with gr.Column(): | |
| classification_output = gr.TextArea(label="Output", interactive=False) | |
| submit_button.click( | |
| classify_loan, | |
| inputs=[ | |
| person_age, | |
| person_gender, | |
| person_education, | |
| person_income, | |
| person_emp_exp, | |
| person_home_ownership, | |
| loan_amnt, | |
| loan_intent, | |
| loan_int_rate, | |
| loan_percent_income, | |
| cb_cred_hist_length, | |
| credit_score, | |
| previous_loan_defaults_on_file | |
| ], | |
| outputs=classification_output | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |