Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
C
covid_analysis
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
COMPARA
covid_analysis
Commits
45baf8f2
Commit
45baf8f2
authored
Jul 08, 2024
by
Joaquin Torres
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Completed comments
parent
11a14251
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
7 deletions
+10
-7
explainability/compute_shap_inter_vals.py
explainability/compute_shap_inter_vals.py
+10
-7
No files found.
explainability/compute_shap_inter_vals.py
View file @
45baf8f2
# Computing SHAP Interaction Values
# Author: Joaquín Torres Bravo
"""
Script to compute SHAP interaction values for chosen models.
"""
# Libraries
# --------------------------------------------------------------------------------------------------------
import
pandas
as
pd
import
numpy
as
np
import
shap
import
pickle
import
shap
# Explainability
import
pickle
# Loading/saving models
# Models
from
xgboost
import
XGBClassifier
from
sklearn.ensemble
import
RandomForestClassifier
,
BaggingClassifier
,
AdaBoostClassifier
from
sklearn.neural_network
import
MLPClassifier
...
...
@@ -60,10 +67,6 @@ if __name__ == "__main__":
X_test
=
data_dic
[
'X_test_'
+
group
]
y_test
=
data_dic
[
'y_test_'
+
group
]
for
j
,
method
in
enumerate
([
''
,
''
,
'over_'
,
'under_'
]):
# Remove (used to isolate RF)
# if j != 1:
# print('Skip')
# continue
print
(
f
"{group}-{method_names[j]}"
)
method_name
=
method_names
[
j
]
model_name
=
model_choices
[
method_name
]
...
...
@@ -76,7 +79,7 @@ if __name__ == "__main__":
if
is_tree
:
explainer
=
shap
.
TreeExplainer
(
fitted_model
)
# else:
# explainer = shap.KernelExplainer
(fitted_model.predict_proba, X_test[:500])
# explainer = shap.KernelExplainer
...
# Compute shap values
shap_interaction_values
=
explainer
.
shap_interaction_values
(
X_test
)
# ---------------------------------------------------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment