Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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,
|
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
|
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,
|
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
|
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)"),
|