File size: 2,065 Bytes
92631a6
2f15ada
92631a6
 
c3bc094
 
 
2f15ada
 
c3bc094
ca35a1f
4d71a1f
51f617d
 
 
 
ca35a1f
15f9fc8
2f15ada
9cf37b3
2f15ada
 
c3bc094
2f15ada
c3bc094
 
 
 
 
 
2f15ada
c3bc094
 
 
 
 
 
 
 
 
0e14237
c3bc094
51f617d
4d71a1f
2f15ada
 
 
 
 
 
 
e579800
 
 
 
81a2c23
 
2f15ada
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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()