Perm_Classifier / app.py
Westwing's picture
Upload app.py
e49dbc4
import gradio as gr
import pandas as pd
import pickle
def load_model(model_name):
filename=model_name
loaded_model = pickle.load(open(filename, 'rb'))
return loaded_model
rf_clf=load_model('Random_forest_perm_clf.sav')
from zipfile import ZipFile
import csv
import gradio as gr
def Perm_pred(file_obj):
dataframe=pd.read_csv(file_obj.name, delimiter=',')
new_df=dataframe[['pdp_avg','RETURN_RATE','conversion','Cat_1','Cat_2','Cat_3']]
sku=dataframe['SKU']
pred_score = rf_clf.predict(new_df)
#pred=pd.DataFrame(pred_score,columns=['Prediction'])
pred_list=pred_score.tolist()
y=[]
for i in range(len(pred_list)):
if pred_score[i]==2:
y.append('Never_Perm')
elif pred_score[i]==1:
y.append('Middle_Perm')
else:
y.append('Perm_A')
pred=pd.DataFrame(y,columns=['Prediction'])
pred['SKU']=sku
df=pred[['SKU','Prediction']]
#with open('Prediction.csv','w', encoding='UTF8') as f:
# writer=csv.writer(f)
# for i in range(len(y)):
# writer.writerow(y[i])
#return 'Prerdiction.csv'
return df
demo = gr.Interface(Perm_pred, inputs=[gr.inputs.File(label='Enter CSV File')], outputs= [gr.outputs.Dataframe(label='Predicted Label')])
if __name__ == "__main__":
demo.launch(share=True)