Spaces:
Sleeping
Sleeping
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()
|