moustaphasidibe's picture
Update app.py
8ea4cfa verified
# Fonction de prédiction
import gradio as gr
import joblib
import pandas as pd
import numpy as np
from keras.models import load_model
#Import de la liste des noms des variables catégorielles
cat_data_columns = joblib.load('Extracurricular Activities_encoder.joblib')
# importer les encodeurs
encoder=joblib.load('Extracurricular Activities_encoder.joblib')
# importer le modèle
model = load_model('DNN_model.h5')
# importer le scaler
scaler = joblib.load('scaler.joblib')
# Fonction de prédiction simple
def prediction_func(Hours_Studied,Previous_Scores, Extracurricular, Sleep_Hours, Sample):
# encoder les valeurs
Extracurricular = encoder.transform([Extracurricular])[0]
# vecteur des valeurs
x_new = np.array([Hours_Studied,Previous_Scores,Extracurricular, Sleep_Hours, Sample]).reshape(1, -1)
# normaliser les valeurs
x_new = scaler.transform(x_new)
# prédire la valeur
y_pred = np.round(model.predict(x_new))
# retourner
return y_pred[0][0]
# créer les inputs
inputs = [gr.Number(label="Hours Studied"),
gr.Number(label="Previous Scores"),
gr.Radio(choices=['Yes','No'] , label="Extracurricular Activities"),
gr.Number( label="Sleep Hours"),
gr.Number( label="Sample Question Paper"),
]
# créer les outputs
outputs = gr.Textbox(label = 'Performance')
# Interface
Interface =gr.Interface(fn = prediction_func,
inputs = inputs,
outputs = outputs,
title = 'Performance prediction ', theme='earneleh/paris')
Interface.launch()