mdurst12 commited on
Commit
7f7f0e6
·
1 Parent(s): b2b4c9a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -48
app.py CHANGED
@@ -14,33 +14,21 @@ explainer = shap.Explainer(loaded_model) # PLEASE DO NOT CHANGE THIS.
14
 
15
  # Create the main function for server
16
  # Create the main function for server
17
- def main_func(EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT):
 
18
 
19
- new_row = pd.DataFrame.from_dict({'EAL_SCORE':EAL_SCORE,'SOVI_SCORE':SOVI_SCORE, 'RESL_SCORE':RESL_SCORE,
20
- 'DROUGHT_RISKS':DROUGHT_RISKS,'EARTHQUAKE_RISKS':EARTHQUAKE_RISKS,'HURICANE_RISKS':HURICANE_RISKS,
21
- 'TORNADO_RISKS':TORNADO_RISKS,'WILDFIRE_RISKS':WILDFIRE_RISKS,'WINTERWEATHER_RISKS':WINTERWEATHER_RISKS,
22
  'SOCIAL':SOCIAL,'ECONOMY':ECONOMY,'HOUSING_INFRASTRUCTURE':HOUSING_INFRASTRUCTURE,
23
- 'COMMUNNITY_CAPITAL':COMMUNNITY_CAPITAL,'INSTITUTIONAL':INSTITUTIONAL,'ENVIRONMENT':ENVIRONMENT}, orient = 'index').transpose()
24
 
25
  prob = loaded_model.predict_proba(new_row)
26
 
27
  # compute SHAP values
28
  explainer = shap.TreeExplainer(loaded_model)
29
  shap_values = explainer.shap_values(new_row,check_additivity=False)
30
- # plot = shap.summary_plot(shap_values, new_row.values, plot_type="bar", class_names= class_names, feature_names = new_row.columns)
31
- plot = shap.summary_plot(shap_values[1], new_row.values, feature_names = new_row.columns)
32
-
33
-
34
 
35
- # plot = shap.waterfall_plot(shap.Explanation(values=shap_values[0][0],
36
- # base_values=explainer.expected_value[0], data=X_test.iloc[0],
37
- # feature_names=X_test.columns.tolist()))
38
-
39
- # shap_values = explainer(new_row, check_additivity=False)
40
- # plot = shap.force_plot(shap_values[0], matplotlib=True, figsize=(30,30), show=False)
41
- # plot = shap.plots.waterfall(shap_values[0], max_display=6, show=False)
42
- # plot = shap.waterfall_plot(explainer.base_values[0], shap_values[0][0], X[0])
43
- # plot = shap.plots.bar(shap_values[0], max_display=6, order=shap.Explanation.abs, show_data='auto', show=False)
44
 
45
  plt.tight_layout()
46
  local_plot = plt.gcf()
@@ -67,21 +55,15 @@ with gr.Blocks(title=title) as demo:
67
  gr.Markdown("""---""")
68
  with gr.Row():
69
  with gr.Column():
 
70
  EAL_SCORE = gr.Slider(label="EAL Score", minimum=0, maximum=100, value=20, step=5)
71
  SOVI_SCORE = gr.Slider(label="SOVI Score", minimum=0, maximum=100, value=20, step=5)
72
- RESL_SCORE = gr.Slider(label="RESILIENCE Score", minimum=0, maximum=100, value=20, step=5)
73
- DROUGHT_RISKS = gr.Slider(label="DROUGHT Score", minimum=0, maximum=100, value=20, step=5)
74
- EARTHQUAKE_RISKS = gr.Slider(label="EARTHQUAKE Score", minimum=0, maximum=100, value=20, step=5)
75
- HURICANE_RISKS = gr.Slider(label="HURICANE Score", minimum=0, maximum=100, value=20, step=5)
76
- TORNADO_RISKS = gr.Slider(label="TORNADO Score", minimum=0, maximum=100, value=20, step=5)
77
- WILDFIRE_RISKS = gr.Slider(label="WILDFIRE Score", minimum=0, maximum=100, value=20, step=5)
78
- WINTERWEATHER_RISKS = gr.Slider(label="WINTER WEATHER Score", minimum=0, maximum=100, value=20, step=5)
79
- SOCIAL = gr.Slider(label="Social Score", minimum=0, maximum=1, value=.5, step=.1)
80
- ECONOMY = gr.Slider(label="Economic Score", minimum=0, maximum=1, value=.5, step=.1)
81
- HOUSING_INFRASTRUCTURE = gr.Slider(label="Housing Score", minimum=0, maximum=1, value=.5, step=.1)
82
- COMMUNNITY_CAPITAL = gr.Slider(label="Community Capital Score", minimum=0, maximum=1, value=.5, step=.1)
83
- INSTITUTIONAL = gr.Slider(label="Institutional Score", minimum=0, maximum=1, value=.5, step=.1)
84
- ENVIRONMENT = gr.Slider(label="Environment Score", minimum=0, maximum=1, value=.5, step=.1)
85
  submit_btn = gr.Button("Analyze")
86
  with gr.Column(visible=True) as output_col:
87
  label = gr.Label(label = "RISK RATING")
@@ -89,26 +71,19 @@ with gr.Blocks(title=title) as demo:
89
 
90
  submit_btn.click(
91
  main_func,
92
- [EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
93
  [label,local_plot], api_name="Climate Risk Model"
94
  )
95
 
96
  gr.Markdown("### Click on any of the examples below to see how it works:")
97
- gr.Markdown("Miami-Dade County, Florida")
98
- gr.Examples([[32.03, 68.86, 50.5, 50.5, .1, 30, 19.41, 57.47, 1.024, 45.16, .5441, .4393, .4095, .2630, .3799, .3773]],
99
- [EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
100
- [label,local_plot], main_func, cache_examples=True)
101
- gr.Textbox(label="Miami-Dade County, Florida")
102
- gr.Examples([[46.24, 63.85, 53.39, 31.27, 6.771, 58.93, 76.76, 54.54, 0, .564, .4703, .3068, .2161, .3623, .6264]],
103
- [EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
104
- [label,local_plot], main_func, cache_examples=True)
105
- gr.Markdown("Washington County, Minnesota")
106
- gr.Examples([[21.06, 15.37, 58.77, 2.32, .5035, 0, 11.98, 4.957, 6.808, .7231, .5359, .2884, .328, .407, .5015]],
107
- [EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
108
- [label,local_plot], main_func, cache_examples=True)
109
- gr.Markdown("Falls Church, Virginia")
110
- gr.Examples([[6.947, 4.178, 56.86, 0, .1587, .5027, 1.071, 0, 0, .8181, .5221, .3878, .2463, .389, .3921]],
111
- [EAL_SCORE,SOVI_SCORE,RESL_SCORE,DROUGHT_RISKS,EARTHQUAKE_RISKS,HURICANE_RISKS,TORNADO_RISKS,WILDFIRE_RISKS,WINTERWEATHER_RISKS,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
112
- [label,local_plot], main_func, cache_examples=True)
113
 
114
  demo.launch()
 
14
 
15
  # Create the main function for server
16
  # Create the main function for server
17
+
18
+ def main_func(CLIMATE_SCENARIO, EAL_SCORE,SOVI_SCORE,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT):
19
 
20
+ new_row = pd.DataFrame.from_dict({'CLIMATE_SCENARIO': CLIMATE_SCENARIO, 'EAL_SCORE':EAL_SCORE,'SOVI_SCORE':SOVI_SCORE,
 
 
21
  'SOCIAL':SOCIAL,'ECONOMY':ECONOMY,'HOUSING_INFRASTRUCTURE':HOUSING_INFRASTRUCTURE,
22
+ 'COMMUNITY_CAPITAL':COMMUNITY_CAPITAL,'INSTITUTIONAL':INSTITUTIONAL,'ENVIRONMENT':ENVIRONMENT}, orient = 'index').transpose()
23
 
24
  prob = loaded_model.predict_proba(new_row)
25
 
26
  # compute SHAP values
27
  explainer = shap.TreeExplainer(loaded_model)
28
  shap_values = explainer.shap_values(new_row,check_additivity=False)
29
+ plot = shap.summary_plot(shap_values[0], new_row.values, feature_names = new_row.columns)
30
+
 
 
31
 
 
 
 
 
 
 
 
 
 
32
 
33
  plt.tight_layout()
34
  local_plot = plt.gcf()
 
55
  gr.Markdown("""---""")
56
  with gr.Row():
57
  with gr.Column():
58
+ CLIMATE_SCENARIO = gr.Slider(label="Climate Scenario", minimum=0, maximum=2, value=0, step=1)
59
  EAL_SCORE = gr.Slider(label="EAL Score", minimum=0, maximum=100, value=20, step=5)
60
  SOVI_SCORE = gr.Slider(label="SOVI Score", minimum=0, maximum=100, value=20, step=5)
61
+ SOCIAL = gr.Slider(label="Social", minimum=0, maximum=1, value=.5, step=.1)
62
+ ECONOMY = gr.Slider(label="Economy", minimum=0, maximum=1, value=.5, step=.1)
63
+ HOUSING_INFRASTRUCTURE = gr.Slider(label="Housing Infrastructure", minimum=0, maximum=1, value=.5, step=.1)
64
+ COMMUNITY_CAPITAL = gr.Slider(label="Community Capital", minimum=0, maximum=1, value=.5, step=.1)
65
+ INSTITUTIONAL = gr.Slider(label="Institutional", minimum=0, maximum=1, value=.5, step=.1)
66
+ ENVIRONMENT = gr.Slider(label="Environment", minimum=0, maximum=1, value=.5, step=.1)
 
 
 
 
 
 
 
67
  submit_btn = gr.Button("Analyze")
68
  with gr.Column(visible=True) as output_col:
69
  label = gr.Label(label = "RISK RATING")
 
71
 
72
  submit_btn.click(
73
  main_func,
74
+ [CLIMATE_SCENARIO,EAL_SCORE,SOVI_SCORE,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
75
  [label,local_plot], api_name="Climate Risk Model"
76
  )
77
 
78
  gr.Markdown("### Click on any of the examples below to see how it works:")
79
+ gr.Examples([[0, 46.23, 63.85, .564, .4703, .3068, .2161, .3623, .6264]],
80
+ [CLIMATE_SCENARIO,EAL_SCORE,SOVI_SCORE,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
81
+ [label,local_plot], main_func, cache_examples=True, label="Miami-Dade County, Florida")
82
+ gr.Examples([[0, 21.05, 15.37, .7231, .5359, .2884, .3828, .4070, .5015]],
83
+ [CLIMATE_SCENARIO,EAL_SCORE,SOVI_SCORE,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
84
+ [label,local_plot], main_func, cache_examples=True, label="Washington County, Minnesota")
85
+ gr.Examples([[6.929, 4.178, .8181, .5221, .3878, .2463, .389,.3921]],
86
+ [CLIMATE_SCENARIO,EAL_SCORE,SOVI_SCORE,SOCIAL,ECONOMY,HOUSING_INFRASTRUCTURE,COMMUNITY_CAPITAL,INSTITUTIONAL,ENVIRONMENT],
87
+ [label,local_plot], main_func, cache_examples=True, label="Falls Church, Virginia")
 
 
 
 
 
 
 
88
 
89
  demo.launch()