Skip to content

Instantly share code, notes, and snippets.

@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 12:20
005_2_lime_vs_shap
lime_exp.as_list()
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:28
008_lime_vs_shap
shap.summary_plot(shap_values, X)
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:27
007_lime_vs_shap
import shap
shap.initjs()
shap_explainer = shap.TreeExplainer(model)
shap_values = shap_explainer.shap_values(X)
shap.force_plot(shap_explainer.expected_value, shap_values[1, :], test_1)
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:26
006_lime_vs_shap
lime_exp.as_list()
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:26
005_lime_vs_shap
lime_exp.predict_proba
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:25
004_lime_vs_shap
import lime
from lime import lime_tabular
lime_explainer = lime_tabular.LimeTabularExplainer(
training_data=np.array(X_train),
feature_names=X_train.columns,
class_names=['bad', 'good'],
mode='classification'
)
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:25
003_lime_vs_shap
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
test_1 = X_test.iloc[1]
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:24
002_lime_vs_shap
from sklearn.model_selection import train_test_split
X = wine.drop('quality', axis=1)
y = wine['quality']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
@betterdatascience
betterdatascience / explainers.py
Created December 14, 2020 11:23
001_lime_vs_shap
import numpy as np
import pandas as pd
wine = pd.read_csv('wine.csv')
wine.head()
@betterdatascience
betterdatascience / maps.py
Created December 11, 2020 08:39
006_folium
def generate_color(magnitude):
if magnitude <= 5:
c_outline, c_fill = '#ffda79', '#ffda79'
m_opacity, f_opacity = 0.2, 0.1
else:
c_outline, c_fill = '#c0392b', '#e74c3c'
m_opacity, f_opacity = 1, 1
return c_outline, c_fill, m_opacity, f_opacity
def generate_popup(magnitude, depth):