diallo62-gs commited on
Commit
c8ed727
·
verified ·
1 Parent(s): 2e389ce

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -0
app.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fonction de prédiction
2
+ import gradio as gr
3
+ import joblib
4
+ import pandas as pd
5
+ import numpy as np
6
+ from keras.models import load_model
7
+
8
+ # Import de la liste des noms des variables catégorielles
9
+ cat_encoder_cols = joblib.load('Extracurricular Activities_encoder.joblib')
10
+ # Importer les encodeurs
11
+ encoder = joblib.load('Extracurricular Activities_encoder.joblib')
12
+ # Importer le modèle
13
+ model = load_model('DNN_model.h5')
14
+ # Importer le scaler
15
+ scaler = joblib.load('scaler.joblib')
16
+ # fonction de prédiction simple
17
+ def prediction_func(Hours_Studied,Previous_Scores, Extracurricular, Sleep_Hours, Sample):
18
+ # encoder les valeurs
19
+ Extracurricular = encoder.transform([Extracurricular])[0]
20
+ # créer la nouvelle valeur
21
+ x_new = np.array([Hours_Studied,Previous_Scores,Extracurricular, Sleep_Hours, Sample]).reshape(1, -1)
22
+ # normaliser les valeurs
23
+ x_new = scaler.transform(x_new)
24
+ # prédire la valeur
25
+ y_pred = np.round(model.predict(x_new))
26
+ # retourner
27
+ return y_pred[0][0]
28
+
29
+
30
+ # créer les inputs
31
+ inputs = [gr.Number(label='Hours Studied'),
32
+ gr.Number(label='Previous Scores'),
33
+ gr.Radio(['Yes', 'No'], label="Extracurricular Activities"),
34
+ gr.Number(label='Sleep Hours'),
35
+ gr.Number(label='Sample Question Paper'),
36
+ ]
37
+ # créer les outputs
38
+ outputs = gr.Textbox(label = 'Performance de l\'eleve ')
39
+ # interface 1
40
+ Interface1 = gr.Interface(fn = prediction_func,
41
+ inputs = inputs,
42
+ outputs = outputs,
43
+ title = 'Preduction de la Performance d\'un Eleve',
44
+ 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 .',
45
+ theme='shivi/calm_seafoam')
46
+ # Interface 2
47
+ Interface2 = gr.Interface(fn = prediction_func,
48
+ inputs = gr.File(label='Charger un fichier csv'),
49
+ outputs = gr.File(label='Telecharger le fivhier csv'),
50
+ title = 'Preduction de la Performance d\'un Eleve',
51
+ 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 .',
52
+ theme='shivi/calm_seafoam')
53
+ # faire un tabbing des interfaces
54
+ demo = gr.TabbedInterface([Interface1, Interface2], ['Simple Preduction', 'Preduction multiple'])
55
+ demo.launch()