File size: 2,313 Bytes
517df19 4b6338c 517df19 d7cf9bc ef71b00 517df19 d7cf9bc 517df19 d7cf9bc 517df19 d7cf9bc 517df19 d7cf9bc 517df19 d7cf9bc 517df19 |
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# Fonction de prédiction
import gradio as gr
import joblib
import pandas as pd
import numpy as np
from keras.models import load_model
# importer les encodeurs
#importer le cat_data
cat_data_columns = joblib.load('cat_data_columns.joblib')
encoder = joblib.load('encoder.joblib')
# importer le modèle
model = load_model('DNN_model.h5')
# importer le scaler
scaler = joblib.load('scaler.joblib')
#fonction de predictions simple
def pred(HS, PS, EA, SH, SQPP):
EA = encoder.transform([EA])[0]
x_new = np.array([HS, PS, EA, SH, SQPP])
x_new = x_new.reshape(1, -1)
x_new = scaler.transform(x_new)
y_pred = model.predict(x_new)
y_pred = np.round(y_pred[0], 2)[0]
return f"la performance de cet etudiant est: {str(y_pred)}"
def pred_csv(file):
df = pd.read_csv(file)
prediction = []
for row in df.iloc[:, :].values:
prediction.append(pred(row[0], row[1], encoder.transform([row[2][0]]), row[3]))
df['Performance Index'] = prediction
df.to_csv('perfo_etud.csv', index= False)
return 'perfo_etud.csv'
demo = gr.Blocks(theme= gr.themes.Origin())
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')
]
outputs = gr.Textbox(label='Performance Index')
interface1 = gr.Interface(fn= pred,
inputs= inputs,
outputs= outputs,
title = "Predire les performance de l'etudiant en saisant les données",
description= """Cette modele permet de predire les performation d'un etudiant a partir de quelques un de ces informations"""
)
interface2 = gr.Interface(
fn = pred_csv,
inputs = gr.File(label= 'Telecharger le document csv'),
outputs= gr.File(label= 'Telecharger le documents csv'),
title= "Predictions multiple en inserant un fichier csv",
description= """Cette modele permet de predire les performation d'un etudiant a partir de quelques un de ces informations"""
)
with demo:
gr.TabbedInterface([interface1, interface2], ['Predictions simple', 'Predictions multiple'])
demo.launch()
|