Iralion commited on
Commit
a24e848
·
verified ·
1 Parent(s): eb96de9

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import numpy as np
3
+ from keras.models import load_model
4
+ import gradio as gr
5
+ import pandas as pd
6
+ # Télécharger l'encoder
7
+ encoder = joblib.load('Extracurricular.joblib')
8
+ # Télécharger le sacler
9
+ scaler = joblib.load('scaler.joblib')
10
+ # Le modèle
11
+ model = load_model('/content/DNN_model.keras')
12
+
13
+ def predict_func (hours_studied, previous_scores, extra_activities, sleep_hours, sample_question_pp):
14
+ # encoder la valeur de Extracurriclar Activities using map
15
+ extra_activities_series = pd.Series([extra_activities])
16
+ extra_activities_encoded = extra_activities_series.map(encoder).iloc[0]
17
+
18
+ # vecteur des valeurs numeriques
19
+ x_new=np.array([hours_studied, previous_scores, extra_activities_encoded, sleep_hours, sample_question_pp]).reshape(1, -1)
20
+ # Apply scaling
21
+ x_new=scaler.transform(x_new)
22
+ # Prediction
23
+ y_pred = model.predict(x_new)
24
+ return f"L'élève a une performance de {y_pred[0][0]:.2f}%"
25
+
26
+ demo=gr.Blocks(theme = 'NoCrypt/miku')
27
+ # Créer les inputs
28
+ inputs = [gr.Number(label='Hours_Studied'),
29
+ gr.Number(label='Previous_Scores'),
30
+ gr.Radio(choices=['Yes', 'No'], label='Extracurricular_Activities'),
31
+ gr.Number(label='Sleep_Hours'),
32
+ gr.Number(label='Sample_Question_Papers_Practiced')]
33
+ # Créer les outputs
34
+ outputs = gr.Textbox(label='Performance_Index')
35
+ # Créer l'interface 1
36
+ interface1 = gr.Interface(fn = predict_func,
37
+ inputs = inputs,
38
+ outputs = outputs,
39
+ title="Prédire la performence d'un élève",
40
+ theme = gr.themes.Ocean())
41
+
42
+
43
+ # faire un tabbing des interfaces
44
+ with demo:
45
+ gr.TabbedInterface([interface1], ['Simple Prediction'])
46
+
47
+ # lancer l'interface
48
+ demo.launch()