Spaces:
Build error
Build error
Update app.py
Browse files
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 |
-
|
|
|
18 |
|
19 |
-
new_row = pd.DataFrame.from_dict({'EAL_SCORE':EAL_SCORE,'SOVI_SCORE':SOVI_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 |
-
'
|
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 |
-
|
31 |
-
|
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 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
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,
|
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.
|
98 |
-
|
99 |
-
[
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
[
|
105 |
-
|
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()
|