adollbo commited on
Commit
4cbbc18
·
1 Parent(s): 2437630

added coloured evaluation buttons

Browse files
Files changed (1) hide show
  1. app.py +30 -25
app.py CHANGED
@@ -2,6 +2,7 @@ import streamlit as st
2
  import pandas as pd
3
  import logging
4
  from deeploy import Client
 
5
  from utils import get_request_body, get_fake_certainty, get_model_url, get_random_suspicious_transaction
6
  from utils import get_explainability_texts, get_explainability_values
7
  from utils import COL_NAMES, feature_texts
@@ -11,6 +12,9 @@ logging.basicConfig(level=logging.INFO)
11
 
12
  st.set_page_config(layout="wide")
13
 
 
 
 
14
  data = pd.read_pickle("data/preprocessed_data.pkl")
15
  # data = data.drop('isFraud', axis=1)
16
 
@@ -60,8 +64,6 @@ with st.sidebar:
60
 
61
  if "predict_button" not in st.session_state:
62
  st.session_state.predict_button = False
63
- st.title("Money Laundering System")
64
- st.divider()
65
  st.info(
66
  "Fill in left hand side and click on button to observe a potential fraudulent transaction"
67
  )
@@ -81,6 +83,7 @@ if st.session_state.predict_button:
81
 
82
  create_data_input_table(datapoint_pd, COL_NAMES)
83
  with col2:
 
84
  certainty = get_fake_certainty()
85
  st.metric(label='#### Model Certainty', value=certainty)
86
 
@@ -88,30 +91,32 @@ if st.session_state.predict_button:
88
  explainability_values = get_explainability_values(sorted_indices, datapoint_pd)
89
  create_table(explainability_texts, explainability_values, 'Important Suspicious Variables: ')
90
 
91
-
92
- st.divider()
93
 
94
-
95
- # Add prediction evaluation
96
- st.subheader("Prediction Evaluation")
97
- st.write("Do you agree with the prediction?")
98
-
99
- yes_button = st.button("Yes :thumbsup:", key="yes_button")
100
- if 'eval_selected' not in st.session_state:
101
- st.session_state['eval_selected'] = False
102
- if yes_button:
103
- st.session_state.eval_selected = True
104
- st.session_state.evaluation_input = {
105
- "result": 0 # Agree with the prediction
106
- }
107
- no_button = st.button("No :thumbsdown:", key="no_button")
108
- if no_button:
109
- st.session_state.eval_selected = True
110
- # desired_output = not predictions[0]
111
- # st.session_state.evaluation_input = {
112
- # "result": 1, # Disagree with the prediction
113
- # "value": {"predictions": [desired_output]},
114
- # }
 
 
115
 
116
  success = False
117
  if st.session_state.eval_selected:
 
2
  import pandas as pd
3
  import logging
4
  from deeploy import Client
5
+ from streamlit_extras.stylable_container import stylable_container
6
  from utils import get_request_body, get_fake_certainty, get_model_url, get_random_suspicious_transaction
7
  from utils import get_explainability_texts, get_explainability_values
8
  from utils import COL_NAMES, feature_texts
 
12
 
13
  st.set_page_config(layout="wide")
14
 
15
+ st.title("Money Laundering System")
16
+ st.divider()
17
+
18
  data = pd.read_pickle("data/preprocessed_data.pkl")
19
  # data = data.drop('isFraud', axis=1)
20
 
 
64
 
65
  if "predict_button" not in st.session_state:
66
  st.session_state.predict_button = False
 
 
67
  st.info(
68
  "Fill in left hand side and click on button to observe a potential fraudulent transaction"
69
  )
 
83
 
84
  create_data_input_table(datapoint_pd, COL_NAMES)
85
  with col2:
86
+ st.subheader('Prediction Explanation: ')
87
  certainty = get_fake_certainty()
88
  st.metric(label='#### Model Certainty', value=certainty)
89
 
 
91
  explainability_values = get_explainability_values(sorted_indices, datapoint_pd)
92
  create_table(explainability_texts, explainability_values, 'Important Suspicious Variables: ')
93
 
94
+ st.subheader("")
95
+ # st.markdown("<h2 style='text-align: center; white: red;'>Evaluation</h2>", unsafe_allow_html=True)
96
 
97
+ col3, col4 = st.columns(2)
98
+
99
+ with col3:
100
+ st.button("Send to FIU", key="yes_button", use_container_width=True)
101
+ ChangeButtonColour("Send to FIU", '#FFFFFF', "#DD360C")
102
+ if 'eval_selected' not in st.session_state:
103
+ st.session_state['eval_selected'] = False
104
+ # if yes_button:
105
+ # st.session_state.eval_selected = True
106
+ # st.session_state.evaluation_input = {
107
+ # "result": 0 # Agree with the prediction
108
+ # }
109
+
110
+ with col4:
111
+ st.button("Not money laundering", key="no_button", use_container_width=True)
112
+ ChangeButtonColour("Not money laundering", '#FFFFFF', "#46B071")
113
+ # if no_button:
114
+ # st.session_state.eval_selected = True
115
+ # desired_output = not predictions[0]
116
+ # st.session_state.evaluation_input = {
117
+ # "result": 1, # Disagree with the prediction
118
+ # "value": {"predictions": [desired_output]},
119
+ # }
120
 
121
  success = False
122
  if st.session_state.eval_selected: