import gradio as gr import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split def mobile_price(battery_power, blue, clock_speed, dual_sim, fc, four_g, int_memory, m_dep, mobile_wt, n_cores, pc, px_height, px_width, ram, sc_h, sc_w, talk_time, three_g, touch_screen, wifi): input_list = [[battery_power, blue, clock_speed, dual_sim, fc, four_g, int_memory, m_dep, mobile_wt, n_cores, pc, px_height, px_width, ram, sc_h, sc_w, talk_time, three_g, touch_screen, wifi]] train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") y = train.price_range.values x_data = train.drop(["price_range"],axis=1) x = (x_data-np.min(x_data)/(np.max(x_data)-np.min(x_data))).values x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.20, random_state=45) rf = RandomForestClassifier(n_estimators=100, random_state=1) rf.fit(x_train,y_train) y_pred = rf.predict(x_test) new_pred = rf.predict(input_list) return new_pred[0] demo = gr.Interface( fn=mobile_price, title="Mobile Price Classification", description="Experiment with the features to predict Mobile Price Classification.", allow_flagging="never", inputs=[ gr.inputs.Number(default=1238.51, label="Battery Power"), gr.inputs.Number(default=0, label="Blue"), gr.inputs.Number(default=1.52, label="Clock Speed"), gr.inputs.Number(default=0.50, label="Dual Sim"), gr.inputs.Number(default=4.30, label="FC"), gr.inputs.Number(default=0, label="Four_C"), gr.inputs.Number(default=32.04, label="Int Memory"), gr.inputs.Number(default=0.50, label="M Dep"), gr.inputs.Number(default=140.24, label="Mobile WT"), gr.inputs.Number(default=4.52, label="Cores"), gr.inputs.Number(default=15.00, label="PC"), gr.inputs.Number(default=645.10, label="PX Height"), gr.inputs.Number(default=1251.51, label="PX Width"), gr.inputs.Number(default=2124.21, label="RAM"), gr.inputs.Number(default=12.30, label="SC h"), gr.inputs.Number(default=5.76, label="SC w"), gr.inputs.Number(default=11.01, label="Talk Time"), gr.inputs.Number(default=1, label="Three G"), gr.inputs.Number(default=1, label="Touch Screen"), gr.inputs.Number(default=1, label="Wifi"), ], outputs="text") demo.launch()