Spaces:
Sleeping
Sleeping
| # 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_encoder_cols = 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] | |
| # créer la nouvelle valeur | |
| 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(['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 de l\'eleve ') | |
| # interface 1 | |
| Interface1 = gr.Interface(fn = prediction_func, | |
| inputs = inputs, | |
| outputs = outputs, | |
| title = 'Preduction de la Performance d\'un Eleve', | |
| description= 'Ce modèle d\'apprentissage automatique nous predit la performance des eleves en fonction Heures étudiées, des Scores précédents, des Activités parascolaires, des Heures de sommeil, des Exemples de sujets d\'examen traités .', | |
| theme='shivi/calm_seafoam') | |
| # Interface 2 | |
| Interface2 = gr.Interface(fn = prediction_func, | |
| inputs = gr.File(label='Charger un fichier csv'), | |
| outputs = gr.File(label='Telecharger le fivhier csv'), | |
| title = 'Preduction de la Performance d\'un Eleve', | |
| description= 'Ce modèle d\'apprentissage automatique nous predit la performance des eleves en fonction Heures étudiées, des Scores précédents, des Activités parascolaires, des Heures de sommeil, des Exemples de sujets d\'examen traités .', | |
| theme='shivi/calm_seafoam') | |
| # faire un tabbing des interfaces | |
| demo = gr.TabbedInterface([Interface1, Interface2], ['Simple Preduction', 'Preduction multiple']) | |
| demo.launch() |