greykingreys commited on
Commit
a355fe7
·
verified ·
1 Parent(s): 16a810c

Upload 5 files

Browse files
Files changed (5) hide show
  1. app.py +67 -0
  2. encoder.joblib +3 -0
  3. ls.joblib +3 -0
  4. requirements.txt +4 -0
  5. scaler.joblib +3 -0
app.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ import joblib
4
+ import gradio as gr
5
+
6
+ #importer l'encoder
7
+ encoder = joblib.load('encoder.joblib')
8
+ #importer le scaler
9
+ scaler = joblib.load('scaler.joblib')
10
+ #importer le model
11
+ ls = joblib.load('ls.joblib')
12
+
13
+ def pred_func(HS, PS, EA, SH, SQPP):
14
+ EA = encoder.transform([EA])[0]
15
+ x_new = np.array([HS, PS, EA, SH, SQPP])
16
+ x_new = x_new.reshape(1, -1)
17
+ x_new = scaler.transform(x_new)
18
+ y_pred = ls.predict(x_new)
19
+ y_pred = round(y_pred[0], 2)
20
+ return f"la performance de cet etudiant est: {str(y_pred)}"
21
+
22
+ def pred_func_csv(file):
23
+ df = pd.read_csv(file)
24
+
25
+ prediction = []
26
+
27
+ for row in df.iloc[:, :].values:
28
+ new_row = np.array([row[0], row[1], encoder.transform([row[2]])[0], row[3], row[4]])
29
+ new_row = new_row.reshape(1, -1)
30
+ new_row = scaler.transform(new_row)
31
+ y_pred = ls.predict(new_row)
32
+ y_pred = round(y_pred[0], 2)
33
+ prediction.append(y_pred)
34
+
35
+ df['Performance Index'] = prediction
36
+ df.to_csv('predictions.csv', index= False)
37
+ return 'predictions.csv'
38
+
39
+ demo = gr.Blocks(theme= gr.themes.Origin())
40
+
41
+ inputs = [
42
+ gr.Number(label= 'Hours Studied'),
43
+ gr.Number(label= 'Previous Scores'),
44
+ gr.Radio(choices= ['Yes', 'No'], label= 'Extracurricular Activities'),
45
+ gr.Number(label= 'Sleep Hours'),
46
+ gr.Number(label= 'Sample Question Papers Practiced')
47
+ ]
48
+ outputs = gr.Textbox(label='Performance Index')
49
+
50
+ interface1 = gr.Interface(fn= pred_func,
51
+ inputs= inputs,
52
+ outputs= outputs,
53
+ title = "Predire les performance de l'etudiant en saisant les données",
54
+ description= """Cette modele permet de predire les performation d'un etudiant a partir de quelques un de ces informations"""
55
+ )
56
+ interface2 = gr.Interface(
57
+ fn = pred_func_csv,
58
+ inputs = gr.File(label= 'Telecharger le document csv'),
59
+ outputs= gr.File(label= 'Telecharger le documents csv'),
60
+ title= "Predictions multiple en inserant un fichier csv",
61
+ description= """Cette modele permet de predire les performation d'un etudiant a partir de quelques un de ces informations"""
62
+ )
63
+ with demo:
64
+ gr.TabbedInterface([interface1, interface2], ['Predictions simple', 'Predictions multiple'])
65
+
66
+ demo.launch()
67
+
encoder.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d523e95304cbd88e9f82f9dd6dd0ffd59a0006e2fbe059db4aac0cb9a50f257
3
+ size 484
ls.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca33d60704ee251c743bf2d2ecb82b54e6226b54e9c5314c385320d66f95f632
3
+ size 672
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ pandas
2
+ numpy
3
+ joblib
4
+ gradio
scaler.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b2795d2d0f5d97d0ed842f9073390b925767a4fed4ef1b85a631f100897abd5
3
+ size 575