# 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()