unknown
update requirments
db3b173
import random
import gradio as gr
import joblib
import numpy as np
import xgboost
model = joblib.load("xgb.pkl")
def predict(*args):
input_data = []
for i in args:
input_data.append(float(i))
input_data = np.asarray(input_data)
# reshape the array as we are predicting for one instance
input_data_reshaped = input_data.reshape(1, -1)
prediction = model.predict(input_data_reshaped)
if prediction[0] == 0:
return "The Credit Score is Good"
elif prediction[0] == 1:
return "The Credit Score is Poor"
else:
return "The Credit Score is Standard"
with gr.Blocks() as app:
gr.Markdown(
"""
**Credit Score Classification**"""
)
with gr.Row():
with gr.Column():
Annual_Income = gr.TextArea(label="Annual Income")
Monthly_Inhand_Salary = gr.TextArea(label="Monthly Inhand Salary")
Interest_Rate = gr.TextArea(label="Interest Rate")
Num_of_Loan = gr.Slider(
label="Number of Loans", minimum=1, maximum=10, step=1, randomize=True
)
Delay_from_due_date = gr.Slider(
label="Number of Delayed Days",
minimum=-100,
maximum=100,
step=1,
randomize=True,
)
Num_of_Delayed_Payment = gr.Slider(
label="Number of Delayed Payments",
minimum=1,
maximum=10,
step=1,
randomize=True,
)
Credit_Mix = gr.Dropdown(
label="Credit Mix (Bad: 0, Don't Have: 1, Good: 2, Standard: 3)",
choices=[0, 1, 2, 3],
value=lambda: random.choice([0, 1, 2, 3]),
)
Outstanding_Debt = gr.TextArea(label="Outstanding Debt")
Credit_Utilization_Ratio = gr.TextArea(label="Credit Utilization Ratio")
Payment_of_Min_Amount = gr.Dropdown(
label="Payment of Minimum Amount (NM: 0, No: 1, Yes: 2)",
choices=[0, 1, 2],
value=lambda: random.choice([0, 1, 2]),
)
Total_EMI_per_month = gr.TextArea(label="Total Equated Monthly Installment")
Amount_invested_monthly = gr.TextArea(label="Amount Invested Monthly")
Monthly_Balance = gr.TextArea(label="Monthly Balance")
Credit_History_Age_In_Years = gr.TextArea(label="Credit History in Years")
StudentLoan = gr.Dropdown(
label="Student Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
MortgageLoan = gr.Dropdown(
label="Mortage Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
PersonalLoan = gr.Dropdown(
label="Personal Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
DebtConsolidationLoan = gr.Dropdown(
label="Debt Consolidation Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
Credit_BuilderLoan = gr.Dropdown(
label="Credit Builder Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
HomeEquityLoan = gr.Dropdown(
label="Home Equity Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
NotSpecified = gr.Dropdown(
label="Unspecified Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
AutoLoan = gr.Dropdown(
label="Auto Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
PaydayLoan = gr.Dropdown(
label="Payday Loan (Don't Have: 0, Have: 1)",
choices=[0, 1],
value=lambda: random.choice([0, 1]),
)
with gr.Column():
label = gr.Label()
with gr.Row():
predict_btn = gr.Button(value="Predict")
predict_btn.click(
predict,
inputs=[
Annual_Income,
Monthly_Inhand_Salary,
Interest_Rate,
Num_of_Loan,
Delay_from_due_date,
Num_of_Delayed_Payment,
Credit_Mix,
Outstanding_Debt,
Credit_Utilization_Ratio,
Payment_of_Min_Amount,
Total_EMI_per_month,
Amount_invested_monthly,
Monthly_Balance,
Credit_History_Age_In_Years,
StudentLoan,
MortgageLoan,
PersonalLoan,
DebtConsolidationLoan,
Credit_BuilderLoan,
HomeEquityLoan,
NotSpecified,
AutoLoan,
PaydayLoan,
],
outputs=[label],
)
app.launch()