Spaces:
Sleeping
Sleeping
| import joblib | |
| import numpy as np | |
| from keras.models import load_model | |
| import gradio as gr | |
| import pandas as pd | |
| # Télécharger l'encoder | |
| encoder = joblib.load('Extracurricular.joblib') | |
| # Télécharger le sacler | |
| scaler = joblib.load('scaler.joblib') | |
| # Le modèle | |
| model = load_model('DNN_model.keras') | |
| def predict_func (hours_studied, previous_scores, extra_activities, sleep_hours, sample_question_pp): | |
| # encoder la valeur de Extracurriclar Activities using map | |
| extra_activities_series = pd.Series([extra_activities]) | |
| extra_activities_encoded = extra_activities_series.map(encoder).iloc[0] | |
| # vecteur des valeurs numeriques | |
| x_new=np.array([hours_studied, previous_scores, extra_activities_encoded, sleep_hours, sample_question_pp]).reshape(1, -1) | |
| # Apply scaling | |
| x_new=scaler.transform(x_new) | |
| # Prediction | |
| y_pred = model.predict(x_new) | |
| return f"L'élève a une performance de {y_pred[0][0]:.2f}%" | |
| demo=gr.Blocks(theme = 'NoCrypt/miku') | |
| # Créer les inputs | |
| inputs = [gr.Number(label='Hours_Studied'), | |
| gr.Number(label='Previous_Scores'), | |
| gr.Radio(choices=['Yes', 'No'], label='Extracurricular_Activities'), | |
| gr.Number(label='Sleep_Hours'), | |
| gr.Number(label='Sample_Question_Papers_Practiced')] | |
| # Créer les outputs | |
| outputs = gr.Textbox(label='Performance_Index') | |
| # Créer l'interface 1 | |
| interface1 = gr.Interface(fn = predict_func, | |
| inputs = inputs, | |
| outputs = outputs, | |
| title="Prédire la performence d'un élève" | |
| ) | |
| # faire un tabbing des interfaces | |
| with demo: | |
| gr.TabbedInterface([interface1], ['Simple Prediction']) | |
| # lancer l'interface | |
| demo.launch() |