davidt123 commited on
Commit
6655a81
1 Parent(s): 7517d14

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -31
app.py CHANGED
@@ -1,7 +1,7 @@
1
  import gradio as gr
2
  import numpy as np
3
- from PIL import Image
4
- import requests
5
  import random
6
  import hopsworks
7
  import joblib
@@ -17,8 +17,32 @@ model = mr.get_model("titanic_modal_RF", version=1)
17
  model_dir = model.download()
18
  model = joblib.load(model_dir + "/titanic_model_RF.pkl")
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- def titanic(age, deck, embarked, name, family_name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title):
22
 
23
  pclass = 0
24
  if deck == "ABC":
@@ -52,34 +76,10 @@ def titanic(age, deck, embarked, name, family_name, family_size, family_size_gro
52
  })
53
  return df
54
 
55
- def encode_features(df):
56
- from sklearn.preprocessing import OneHotEncoder, LabelEncoder, StandardScaler
57
- import pandas as pd
58
- non_numeric_features = ['embarked', 'sex', 'deck', 'title', 'family_size_grouped']
59
- for feature in non_numeric_features:
60
- df[feature] = LabelEncoder().fit_transform(df[feature])
61
-
62
-
63
- cat_features = ['pclass', 'sex', 'deck', 'embarked', 'title', 'family_size_grouped']
64
- encoded_features = []
65
- for feature in cat_features:
66
- encoded_feat = OneHotEncoder().fit_transform(df[feature].values.reshape(-1, 1)).toarray()
67
- n = df[feature].nunique()
68
- cols = ['{}_{}'.format(feature, n) for n in range(1, n + 1)]
69
- encoded_df = pd.DataFrame(encoded_feat, columns=cols)
70
- encoded_df.index = df.index
71
- encoded_features.append(encoded_df)
72
- df = pd.concat([df, *encoded_features], axis=1)
73
- drop_cols = ['deck', 'embarked', 'family', 'family_size', 'family_size_grouped',
74
- 'name', 'parch', 'pclass', 'sex', 'sibsp', 'ticket', 'title']
75
-
76
- df.drop(columns=drop_cols, inplace=True)
77
- return df #Return a df with encoded labels
78
-
79
- def predictor(age, deck, embarked, name, family_name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title):
80
  feature_view = fs.get_feature_view(name="titanic_modal_2", version=1)
81
  batch_data = feature_view.get_batch_data()
82
- row = titanic(age, deck, embarked, name, family_name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title)
83
  batch_data = batch_data.append(row)
84
  encoded = encode_features(batch_data)
85
  y_pred = model.predict(encoded)
@@ -87,7 +87,7 @@ def predictor(age, deck, embarked, name, family_name, family_size, family_size_g
87
  if prediction == 0:
88
  survived = "This person survived"
89
  if prediction == 1:
90
- survived = "This person did not survived"
91
  return survived
92
 
93
  demo = gr.Interface(
@@ -100,7 +100,7 @@ demo = gr.Interface(
100
  gr.inputs.Textbox(label="Deck (ABC, DE, FG, or M)"),
101
  gr.inputs.Textbox(label="Embarked (S, C, or Q)"),
102
  gr.inputs.Textbox(label="Name of person"),
103
- gr.inputs.Textbox(label="Family name"),
104
  gr.inputs.Number(label="Size of family (integer)"),
105
  gr.inputs.Textbox(label="Family Size (Alone, Small, Medium or Large)"),
106
  gr.inputs.Number(label="Fare (Integer)"),
 
1
  import gradio as gr
2
  import numpy as np
3
+ #from PIL import Image
4
+ #import requests
5
  import random
6
  import hopsworks
7
  import joblib
 
17
  model_dir = model.download()
18
  model = joblib.load(model_dir + "/titanic_model_RF.pkl")
19
 
20
+ def encode_features(df):
21
+ from sklearn.preprocessing import OneHotEncoder, LabelEncoder, StandardScaler
22
+ import pandas as pd
23
+ non_numeric_features = ['embarked', 'sex', 'deck', 'title', 'family_size_grouped']
24
+ for feature in non_numeric_features:
25
+ df[feature] = LabelEncoder().fit_transform(df[feature])
26
+
27
+
28
+ cat_features = ['pclass', 'sex', 'deck', 'embarked', 'title', 'family_size_grouped']
29
+ encoded_features = []
30
+ for feature in cat_features:
31
+ encoded_feat = OneHotEncoder().fit_transform(df[feature].values.reshape(-1, 1)).toarray()
32
+ n = df[feature].nunique()
33
+ cols = ['{}_{}'.format(feature, n) for n in range(1, n + 1)]
34
+ encoded_df = pd.DataFrame(encoded_feat, columns=cols)
35
+ encoded_df.index = df.index
36
+ encoded_features.append(encoded_df)
37
+ df = pd.concat([df, *encoded_features], axis=1)
38
+ drop_cols = ['deck', 'embarked', 'family', 'family_size', 'family_size_grouped',
39
+ 'name', 'parch', 'pclass', 'sex', 'sibsp', 'ticket', 'title']
40
+
41
+ df.drop(columns=drop_cols, inplace=True)
42
+ return df #Return a df with encoded labels
43
+
44
 
45
+ def titanic(age, deck, embarked, name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title):
46
 
47
  pclass = 0
48
  if deck == "ABC":
 
76
  })
77
  return df
78
 
79
+ def predictor(age, deck, embarked, name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  feature_view = fs.get_feature_view(name="titanic_modal_2", version=1)
81
  batch_data = feature_view.get_batch_data()
82
+ row = titanic(age, deck, embarked, name, family_size, family_size_grouped, fare, is_married, parch, sibsp, sex, ticket_number, title)
83
  batch_data = batch_data.append(row)
84
  encoded = encode_features(batch_data)
85
  y_pred = model.predict(encoded)
 
87
  if prediction == 0:
88
  survived = "This person survived"
89
  if prediction == 1:
90
+ survived = "This person did not survive"
91
  return survived
92
 
93
  demo = gr.Interface(
 
100
  gr.inputs.Textbox(label="Deck (ABC, DE, FG, or M)"),
101
  gr.inputs.Textbox(label="Embarked (S, C, or Q)"),
102
  gr.inputs.Textbox(label="Name of person"),
103
+ #gr.inputs.Textbox(label="Family name"),
104
  gr.inputs.Number(label="Size of family (integer)"),
105
  gr.inputs.Textbox(label="Family Size (Alone, Small, Medium or Large)"),
106
  gr.inputs.Number(label="Fare (Integer)"),