Spaces:
Runtime error
Runtime error
| # app.py | |
| import gradio as gr | |
| import pandas as pd | |
| from sklearn.linear_model import LogisticRegression | |
| from sklearn.preprocessing import OneHotEncoder | |
| from sklearn.pipeline import Pipeline | |
| from sklearn.compose import ColumnTransformer | |
| from io import StringIO | |
| # Embedded dataset | |
| data = """ | |
| age,income,education,marital_status,approved | |
| 25,50000,Bachelors,Single,1 | |
| 45,120000,Masters,Married,1 | |
| 22,30000,HighSchool,Single,0 | |
| 35,80000,Bachelors,Divorced,1 | |
| 29,40000,HighSchool,Single,0 | |
| """ | |
| df = pd.read_csv(StringIO(data)) | |
| X = df.drop("approved", axis=1) | |
| y = df["approved"] | |
| # Preprocessing + Model | |
| categorical = ["education", "marital_status"] | |
| numeric = ["age", "income"] | |
| preprocessor = ColumnTransformer([ | |
| ("cat", OneHotEncoder(), categorical), | |
| ("num", "passthrough", numeric) | |
| ]) | |
| model = Pipeline([ | |
| ("pre", preprocessor), | |
| ("clf", LogisticRegression(solver="liblinear", max_iter=200)) | |
| ]) | |
| model.fit(X, y) | |
| # Gradio UI | |
| def predict_credit(age, income, education, marital_status): | |
| df = pd.DataFrame([{ | |
| "age": age, | |
| "income": income, | |
| "education": education, | |
| "marital_status": marital_status | |
| }]) | |
| pred = model.predict(df)[0] | |
| return "β Approved" if pred == 1 else "β Rejected" | |
| demo = gr.Interface( | |
| fn=predict_credit, | |
| inputs=[ | |
| gr.Number(label="Age"), | |
| gr.Number(label="Income"), | |
| gr.Dropdown(["HighSchool", "Bachelors", "Masters"], label="Education"), | |
| gr.Dropdown(["Single", "Married", "Divorced"], label="Marital Status") | |
| ], | |
| outputs="text", | |
| title="Credit Card Approval Predictor", | |
| description="Predict whether a credit card application should be approved based on applicant details." | |
| ) | |
| demo.launch() | |