Spaces:
Sleeping
Sleeping
| # Fonction de prédiction | |
| import gradio as gr | |
| import joblib | |
| import numpy as np | |
| import pandas as pd | |
| # importer le modèle | |
| rr = joblib.load('rr.joblib') | |
| # importer le normaliseur | |
| scaler = joblib.load('scaler.joblib') | |
| # Import de l'encodeur | |
| encoder = joblib.load("Activities.joblib") | |
| def Pred_func(Hours_Studied,Previous_Scores, Extracurricular_Activities, Sleep_Hours, Sample_Question_Papers_Practiced): | |
| # Encoder les valeurs de Extracurricular_Activities | |
| Extracurricular_Activities = encoder.transform([Extracurricular_Activities])[0] | |
| # vecteur des valeurs numériques | |
| x_new = np.array([Hours_Studied,Previous_Scores, Extracurricular_Activities, Sleep_Hours, Sample_Question_Papers_Practiced]) | |
| x_new = x_new.reshape(1,-1) # convert en un 2D array | |
| # Normaliser les données | |
| x_new = scaler.transform(x_new) | |
| # Prédire | |
| y_pred = rr.predict(x_new) | |
| # Arrondir | |
| y_pred = round(y_pred[0],2) | |
| return str(y_pred) | |
| # Fonction de prédiction multiple | |
| def Pred_func_csv(file): | |
| # Lire le fichier csv | |
| df = pd.read_csv(file) | |
| predictions = [] | |
| # Boucle sur les lignes du dataframe | |
| for row in df.iloc[:, :].values: | |
| y_pred = Pred_func(row[0], row[1],row[2],row[3],row[4]) | |
| predictions.append(y_pred) | |
| df['Performance_Index'] = predictions | |
| df.to_csv('predictions.csv', index = False) | |
| return 'predictions.csv' | |
| # définir les blocks | |
| demo = gr.Blocks(theme = gr.themes.Ocean()) | |
| #gr.themes.Monochrome() | |
| # gr.themes.Citrus() | |
| # gr.themes.Glass() | |
| # gr.themes.Ocean() | |
| # 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 = Pred_func, | |
| inputs = inputs, | |
| outputs = outputs, | |
| title="Prédire la performence d'un individu avec une simple prédiction") | |
| # Créer l'interface 2 | |
| interface2 = gr.Interface(fn = Pred_func_csv, | |
| inputs = gr.File(label='Upload a csv file'), | |
| outputs = gr.File(label='Download a csv file'), | |
| title="Prédire la performence d'un individu avec multiple prédiction") | |
| # faire un tabbing des interfaces | |
| with demo: | |
| gr.TabbedInterface([interface1, interface2], ['Simple Prediction', 'Prédiction multiple']) | |
| # lancer l'interface | |
| demo.launch() |