import gradio as gr import torch, numpy as np, pandas as pd import seaborn as sns from pathlib import Path from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import r2_score from torch import tensor def car_purchase(sex, age, annual_salary, credit_card_debt, net_worth): sex_value = 1 if sex=='female' else 0 age_value = int(age) annual_salary_value = float(annual_salary) credit_card_debt_value = float(credit_card_debt) net_worth_value = float(net_worth) input_list = [[sex_value, age_value, annual_salary_value, credit_card_debt_value, net_worth_value]] df = pd.read_csv('Car_Purchasing_Data.csv') df = df.drop(columns=['Customer Name', 'Customer e-mail', 'Country']) df.rename(columns={'Gender': 'gender', 'Age': 'age', 'Annual Salary': 'annual_salary', 'Credit Card Debt': 'credit_card_debt', 'Net Worth': 'net_worth', 'Car Purchase Amount': 'car_purchase_amount'}, inplace=True) t_dep = df.iloc[:,:-1] t_indep = df.iloc[:,-1] dep_train, dep_test, indep_train, indep_test = train_test_split(t_dep, t_indep, test_size=0.2,random_state=0) regressor = LinearRegression() regressor.fit(dep_train.values,indep_train.values) indep_pred = regressor.predict(dep_test.values) new_pred = regressor.predict(input_list) return new_pred[0] demo = gr.Interface( fn=car_purchase, title="Car Purchase Analytics", description="Experiment with the features to predict car purchase amount.", allow_flagging="never", inputs=[ gr.inputs.Radio(['female', 'male'], label="Sex"), gr.inputs.Number(default=46.0, label="Age"), gr.inputs.Number(default=62127.239608, label="Annual Salary"), gr.inputs.Number(default=9607.645049, label="Credit Card Debt"), gr.inputs.Number(default=431475.713625, label="Net Worth"), ], outputs="text") demo.launch()