| | |
| | import gradio as gr |
| | import joblib |
| | import pandas as pd |
| | import numpy as np |
| | from keras.models import load_model |
| | |
| |
|
| | |
| |
|
| | cat_data_columns = joblib.load('cat_data_columns.joblib') |
| | encoder = joblib.load('encoder.joblib') |
| | |
| | model = load_model('DNN_model.h5') |
| | |
| | scaler = joblib.load('scaler.joblib') |
| |
|
| |
|
| |
|
| | |
| |
|
| | 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() |
| |
|