File size: 2,426 Bytes
a355fe7 |
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 |
import pandas as pd
import numpy as np
import joblib
import gradio as gr
#importer l'encoder
encoder = joblib.load('encoder.joblib')
#importer le scaler
scaler = joblib.load('scaler.joblib')
#importer le model
ls = joblib.load('ls.joblib')
def pred_func(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 = ls.predict(x_new)
y_pred = round(y_pred[0], 2)
return f"la performance de cet etudiant est: {str(y_pred)}"
def pred_func_csv(file):
df = pd.read_csv(file)
prediction = []
for row in df.iloc[:, :].values:
new_row = np.array([row[0], row[1], encoder.transform([row[2]])[0], row[3], row[4]])
new_row = new_row.reshape(1, -1)
new_row = scaler.transform(new_row)
y_pred = ls.predict(new_row)
y_pred = round(y_pred[0], 2)
prediction.append(y_pred)
df['Performance Index'] = prediction
df.to_csv('predictions.csv', index= False)
return 'predictions.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_func,
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_func_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()
|