File size: 1,868 Bytes
7525e65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cba49df
7525e65
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Fonction de prédiction
import gradio as gr
import joblib
import pandas as pd
import numpy as np
# importer les encodeurs
encoder = joblib.load('encoder_Extracurricular.joblib')
#for i in range(len(cat_data.columns)):
 # encoders.append(joblib.load(f'{cat_data.columns[i]}_encoder.joblib'))

# importer le modèle
from keras.models import load_model
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_Activities,Sleep_Hours,Sample_Question_Papers_Practiced):
  #encoder
  Extracurricular_Activities = encoder.transform([Extracurricular_Activities])[0]
  x_new = np.array([Hours_Studied,Previous_Scores,Extracurricular_Activities,Sleep_Hours,Sample_Question_Papers_Practiced]).reshape(1, -1)
  # normaliser les valeurs
  x_new = scaler.transform(x_new)
  # prédire la valeur
  y_pred = np.round(model.predict(x_new))[0][0]
  # retourner
  return y_pred

    # load les valeurs uniques
#uniques = []
#for i in range(len(cat_data.columns)):
 # uniques.append(joblib.load(f'{cat_data.columns[i]}_unique.joblib'))
# créer les inputs Hours_Studied,Previous_Scores,Extracurricular_Activities,Sleep_Hours,Sample_Question_Papers_Practiced,Performance_Index
inputs = [
          gr.Number(label="hours Studies"),
          gr.Number(label="Previous score"),
          gr.Dropdown(choices=['No', 'Yes'], label="Extracurricular_Activities"),
          gr.Number( label="Sleep_Hours"),
          gr.Number(label="Sample_Question_Papers_Practiced")
 
]
# créer les outputs
outputs = gr.Textbox(label = 'Performance')
# Interface
Interface =gr.Interface(fn = prediction_func,
             inputs = inputs,
             outputs = outputs,
             title = 'Student Performance'
             ,theme='NoCrypt/miku')
Interface.launch()