This project brings in part of the
SHAP
library intofastai2
and make it compatable. Thank you to Nestor Demeure for his assistance with the project!
pip install git+https://github.com/muellerzr/fastshap
First we'll quickly train a ADULTS
tabular model
from fastai2.tabular.all import *
path = untar_data(URLs.ADULT_SAMPLE)
df = pd.read_csv(path/'adult.csv')
dep_var = 'salary'
cat_names = ['workclass', 'education', 'marital-status', 'occupation', 'relationship', 'race']
cont_names = ['age', 'fnlwgt', 'education-num']
procs = [Categorify, FillMissing, Normalize]
splits = IndexSplitter(list(range(800,1000)))(range_of(df))
to = TabularPandas(df, procs, cat_names, cont_names, y_names="salary", splits=splits)
dls = to.dataloaders()
learn = tabular_learner(dls, layers=[200,100], metrics=accuracy)
learn.fit(1, 1e-2)
And now for some example usage!
from fastshap.interp import *
exp = ShapInterpretation(learn, df.iloc[:100])
exp.dependence_plot('age')
Classification model detected, displaying score for the class <50k.
(use `class_id` to specify another class)
For more examples see 01_Interpret
For more unofficial fastai extensions, see the Fastai Extensions Repository.