From cf5681082615327d265ad5f6408de868bbead00b Mon Sep 17 00:00:00 2001 From: Scott Lundberg Date: Sat, 22 Dec 2018 14:12:07 -0700 Subject: [PATCH] Update LinearExplainer and add sentiment analysis example --- ...nt Analysis with Logistic Regression.ipynb | 397 ++++++++++++++++++ shap/common.py | 5 + shap/datasets.py | 13 + shap/explainers/linear.py | 57 ++- shap/plots/dependence.py | 14 +- shap/plots/embedding.py | 20 +- 6 files changed, 472 insertions(+), 34 deletions(-) create mode 100644 notebooks/linear_explainer/Sentiment Analysis with Logistic Regression.ipynb diff --git a/notebooks/linear_explainer/Sentiment Analysis with Logistic Regression.ipynb b/notebooks/linear_explainer/Sentiment Analysis with Logistic Regression.ipynb new file mode 100644 index 000000000..c174a0b71 --- /dev/null +++ b/notebooks/linear_explainer/Sentiment Analysis with Logistic Regression.ipynb @@ -0,0 +1,397 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sentiment Analysis with Logistic Regression\n", + "\n", + "This gives a simple example of explaining a linear logistic regression sentiment analysis model using shap. Note that with a linear model the SHAP value for feature i for the prediction $f(x)$ (assuming feature independence) is just $\\phi_i = \\beta_i \\cdot (x_i - E[x_i])$. Since we are explaining a logistic regression model the units of the SHAP values will be in the log-odds space.\n", + "\n", + "The dataset we use is the classic IMDB dataset from [this paper](http://www.aclweb.org/anthology/P11-1015). It is interesting when explaining the model how the words that are absent from the text are sometimes just as important as those that are present." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import sklearn\n", + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "from sklearn.model_selection import train_test_split\n", + "import numpy as np\n", + "import shap\n", + "\n", + "shap.initjs()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load the IMDB dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "corpus,y = shap.datasets.imdb()\n", + "corpus_train, corpus_test, y_train, y_test = train_test_split(corpus, y, test_size=0.2, random_state=7)\n", + "\n", + "vectorizer = TfidfVectorizer(min_df=10)\n", + "X_train = vectorizer.fit_transform(corpus_train)\n", + "X_test = vectorizer.transform(corpus_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fit a linear logistic regression model" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LogisticRegression(C=0.1, class_weight=None, dual=False, fit_intercept=True,\n", + " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", + " penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\n", + " verbose=0, warm_start=False)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model = sklearn.linear_model.LogisticRegression(penalty=\"l1\", C=0.1)\n", + "model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Explain the linear model" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "explainer = shap.LinearExplainer(model, X_train, feature_dependence=\"independent\")\n", + "shap_values = explainer.shap_values(X_test)\n", + "X_test_array = X_test.toarray() # we need to pass a dense version for the plotting functions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Summarize the effect of all the features" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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bowjzAFi0ZYPA0wBtgb8rMebC5+ja1UPPV1ZnrnvOYJUgtykZlqTST54zgHEGhOsXNHLzDmt/OLnP+Fva7aq1a2IyAQVVKjnIrWnYMI4Za0NjDF/Bo4EjjHGnF+qCKMxZhPgoOjloxtzjCIiIlIbbiLGrEN36Xu9y2n7l+y3yczKRSlFRGTiUs2E8e3G6Os84IIyfa4DkoTZkDeW6SMiIiIiIiLSR5kJ49uvgYeAQ4CvGWNmAT8ElhJmOV4IHBf1vd5a+3xNRikiIiIiIiJjijITxjFrbQC8H/gL4dTJc4B/AauAx+gPJNxO+cwFERERERGRjS4Yxia1o2DCOGetXU1YE+EM4GHCQEIWWAbcDRxlrf2wtTZbu1GKiIiIiIjIWKJpDnXOWnsqcOoQfV4lzDwot98DfhxtIiIiIiIiIm+JMhNEREREREREpCrKTBAREREREZH645RNvpY6oMwEEREREREREamKggkiIiIiIiIiUhUFE0RERERERESkKgomiIiIiIiIiEhVVIBRRERERERE6k5Q6wFIRcpMEBEREZFh8Gs9ABERqSMKJoiIiIjIkC5qv59KnxN+5wgt4SYiMpEomCAiIiIiwzKT10u2u8BRu87auIMREZGaUjBBRERERIbl9PZnWHThbCZFVbcSwKILZ/PKhbNrOi4RGZ8Cxxlyk9pRAUYRERERqcoz5yt4ICIy0SkzQURERERERESqomCCiIiIiIiIiFRF0xxERERERESk7pRfP0bqgTITRERERERERKQqykwQERERkT5zr1oyqO2i9hoMRERE6poyE0REREQEKB1IALh8zXs28khERKTeKZggIiIiImUDCSGHX62Zs9HGIiICEDjOkJvUjoIJIiIiIjIEh+fZpdaDEBGROqJggoiIiIgMgz4BFBGRfgomiIiIiIiIiEhVtJqDiIiIiIiI1J2g1gOQipSZICIiIiIiIiJVUTBBRERERERERKqiYIKIiIiIiIiIVEU1E0RERERERKTuBI5WkalnykwQERERERERkaoomPAWGWNuNsYExpgFtR6LiIiIiIiIyMagaQ4TkDHmVOAmAGutcodERERERESkKgomiIiIiIiISN0J0Oee9UzTHERERERERESkKgomiIiIiIiIiEhVNM1hhBlj5gPnA3sDbcAi4OfAVdba9RWO2wf4JHAQMBPIAf8BfgV8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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 574, + "width": 521 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "shap.summary_plot(shap_values, X_test_array, feature_names=vectorizer.get_feature_names())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Explain the first review's sentiment prediction\n", + "\n", + "Remember that higher means more likely to be negative, so in the plots below the \"red\" features are actually helping raise the chance of a positive review, while the negative features are lowering the chance. It is interesting to see how what is not present in the text (like bad=0 below) is often just as important as what is in the text. Remember the values of the features are TF-IDF values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " Visualization omitted, Javascript library not loaded!
\n", + " Have you run `initjs()` in this notebook? If this notebook was from another\n", + " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", + " this notebook on github the Javascript has been stripped for security. If you are using\n", + " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = 0\n", + "shap.force_plot(\n", + " explainer.expected_value, shap_values[ind,:], X_test_array[ind,:],\n", + " feature_names=vectorizer.get_feature_names()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Positive Review:\n", + "\"Twelve Monkeys\" is odd and disturbing, yet being so clever and intelligent at the same time. It cleverly jumps between future and the past, and the story it tells is about a man named James Cole, a convict, who is sent back to the past to gather information about a man-made virus that wiped out 5 billion of the human population on the planet back in 1996. At first Cole is sent back to the year 1990 by accident and by misfortune he is taken to a mental institution where he tries to explain his purpose and where he meets a psychiatrist Dr. Kathryn Railly who tries to help him and a patient named Jeffrey Goines, the insane son of a famous scientist. Being provocative and somehow so sensible, dealing with and between reason and madness, the movie is a definite masterpiece in the history of science-fiction films.

The story is just fantastic. It's so original and so entertaining. The screenplay itself written by David and Janet Peoples is inspired by a movie named \"La Jetée\" (1962) which I haven't seen, but I must thank the director and writer of the movie, Chris Marker, for giving such an inspiration for the writers of \"Twelve Monkeys\". I read a little about \"La Jetée\", it's not the same story but it has the same idea, so this is not just a copy of it. David and Janet Peoples have transformed this great deal of inspiration to a modernized story, which tells about this urgent need for people to find a solution for maintaining human existence and it does it in a so beautiful and a realistic way that it's a guaranteed thrill ride from the beginning till the end. The music used in the film is odd and somehow so funny and amusing it doesn't really fit until you really get it and when you do you realise that it's so compelling, composed by Paul Buckmaster.

Terry Gilliam, who we remember from Monty Python, as the director of the movie was a real surprise for me, as I really never thought him as a director type of a person. I know he has directed movies before, but I really couldn't believe that he could make something this magnificent. It shouldn't be a surprise though, as he does an amazing job. You can still sense that same weirdness as in the Python's, but for me the directing is pretty much flawless though in its odd way of describing things it also makes some scenes strangely disturbing. Yes, it is indeed odd, weird, bizarre and disturbing, so it also makes the movie a bit heavy too, so the weak minded viewers will probably find it hard to watch the movie all the way through. It's not as heavy as you could imagine, but it just has these certain things which in their own purpose are sometimes pretty severe to watch. Despite that, the movie holds this pure intelligence inside it and through flashbacks, dreams, jumps between the past and the future it mixes up the whole story in a very clever way and it doesn't even make the plot messy in any part, though it does need concentration from the viewer after all.

What comes to acting, well the movie doesn't even go wrong there. The role of James Cole is played by the mighty Bruce Willis, who probably does his best role performance yet to date. Now people may disagree with me, as he did some fine job in for example \"The Sixth Sense\" as well, but for me the role of James Cole was so ideal for Willis and he performs it incredibly well. The character is very well written too, yet performed even better. Cole starts to question his own existence and he deals with himself, starting to question his actual time of living, trying to survive and find the crucial missing piece of the puzzle. By hardship he starts to loose his faith, questioning if he can even trust or believe himself. Other role performances worth mentioning are the performances of Madeleine Stow and Brad Pitt. Stow plays the role of Kathryn Railly, the psychiatrist of James Cole, who sees something strangely familiar in Cole and decides to help him to deal with his madness. She somehow starts to believe Cole's story but as a believer of science she tries to find solutions through it and tries to deal with reason when it comes to unbelievable things. Brad Pitt is so good in the role of Jeffrey Goines and he also does one of his best role performances yet to date. The insane yet hilarious personality of the character brought Pitt even an Oscar nomination for it, so I guess I'm not praising the honestly fabulous performance for nothing.

All in all, \"Twelve Monkeys\" is a great science-fiction experience and it will surely be a recommendation for everyone, especially for the sci-fi fans. It includes brilliant characters and superb role performances, especially from Willis and Pitt, and an original and an entertaining story which forms a plot that's so intelligent and clever. Yet being that already mentioned weird and disturbing it definitely captures the viewer's attention by making it interesting and witty. It's also an explosive thriller and it has romance in it too, so it's all that in same package and that makes it one of the best sci-fi motion pictures I've ever seen. Through the odd yet terrific vision of Terry Gilliam it manages to keep itself in balance despite the somewhat bumpy yet somehow stable ride. Hard to explain really, but that's how it is, it's mind blowing.\n", + "\n" + ] + } + ], + "source": [ + "print(\"Positive\" if y_test[ind] else \"Negative\", \"Review:\")\n", + "print(corpus_test[ind])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Explain the second review's sentiment prediction" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " Visualization omitted, Javascript library not loaded!
\n", + " Have you run `initjs()` in this notebook? If this notebook was from another\n", + " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", + " this notebook on github the Javascript has been stripped for security. If you are using\n", + " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = 1\n", + "shap.force_plot(\n", + " explainer.expected_value, shap_values[ind,:], X_test_array[ind,:],\n", + " feature_names=vectorizer.get_feature_names()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Negative Review:\n", + "I don't understand the positive comments made about this film. It is cheap and nasty on all levels and I cannot understand how it ever got made.

Cartoon characters abound - Sue's foul-mouthed, alcoholic, layabout, Irish father being a prime example. None of the characters are remotely sympathetic - except, briefly, for Sue's Asian boyfriend but even he then turns out to be capable of domestic violence! As desperately unattractive as they both are, I've no idea why either Rita and/or Sue would throw themselves at a consummate creep like Bob - but given that they do, why should I be expected to care what happens to them? So many reviews keep carping on about how \"realistic\" it is. If that is true, it is a sad reflection on society but no reason to put it on film.

I didn't like the film at all.\n", + "\n" + ] + } + ], + "source": [ + "print(\"Positive\" if y_test[ind] else \"Negative\", \"Review:\")\n", + "print(corpus_test[ind])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Explain the third review's sentiment prediction" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " Visualization omitted, Javascript library not loaded!
\n", + " Have you run `initjs()` in this notebook? If this notebook was from another\n", + " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", + " this notebook on github the Javascript has been stripped for security. If you are using\n", + " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = 2\n", + "shap.force_plot(\n", + " explainer.expected_value, shap_values[ind,:], X_test_array[ind,:],\n", + " feature_names=vectorizer.get_feature_names()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Positive Review:\n", + "I finally saw this film tonight after renting it at Blockbuster (VHS). I have to agree that it is wildly original. Yes, maybe the characters were not fully realized but it isn't one of those movies. Rather, we are treated to the director's eye, his vision of what the story is about. And it does not stop. And to be honest, I didn't want it to. I do believe that Sabu had to have influenced the director's of 'Lock, Stock & Two Smoking Barrels' and 'Run, Lola, Run'. But I absolutely loved the way the three leads SEE the beautiful woman on the street to distract them momentarily. I really need to see this director's other work because this film really intrigued me. If you want insight, culture, sturm und drang, go somewhere else. If you want a laugh, camera movement and criminal hilarity, look here.\n", + "\n" + ] + } + ], + "source": [ + "print(\"Positive\" if y_test[ind] else \"Negative\", \"Review:\")\n", + "print(corpus_test[ind])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/shap/common.py b/shap/common.py index 80f9084af..b68e87f66 100644 --- a/shap/common.py +++ b/shap/common.py @@ -242,6 +242,11 @@ def convert_name(ind, shap_values, feature_names): # we allow rank based indexing using the format "rank(int)" if ind.startswith("rank("): return np.argsort(-np.abs(shap_values).mean(0))[int(ind[5:-1])] + + # we allow the sum of all the SHAP values to be specified with "sum()" + # assuming here that the calling method can deal with this case + elif ind == "sum()": + return "sum()" else: print("Could not find feature named: " + ind) return None diff --git a/shap/datasets.py b/shap/datasets.py index 92161aa4b..785d2c557 100644 --- a/shap/datasets.py +++ b/shap/datasets.py @@ -34,6 +34,19 @@ def boston(display=False): df = pd.DataFrame(data=d.data, columns=d.feature_names) # pylint: disable=E1101 return df, d.target # pylint: disable=E1101 +def imdb(display=False): + """ Return the clssic IMDB sentiment analysis training data in a nice package. + + Full data is at: http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz + Paper to cite when using the data is: http://www.aclweb.org/anthology/P11-1015 + """ + + with open(cache(github_data_url + "imdb_train.txt")) as f: + data = f.readlines() + y = np.ones(25000, dtype=np.bool) + y[:12500] = 0 + return data, y + def communitiesandcrime(display=False): """ Predict total number of non-violent crimes per 100K popuation. diff --git a/shap/explainers/linear.py b/shap/explainers/linear.py index c032eda00..2bd9c3c3c 100644 --- a/shap/explainers/linear.py +++ b/shap/explainers/linear.py @@ -26,17 +26,26 @@ class LinearExplainer(Explainer): nsamples : int Number of samples to use when estimating the transformation matrix used to account for feature correlations. - feature_dependence : "correlation" (default) or "interventional" + feature_dependence : "independent" (default) or "correlation" There are two ways we might want to compute SHAP values, either the full conditional SHAP - values or the interventional SHAP values. For interventional SHAP values we break any - dependence structure in the model and so uncover how the model would behave if we + values or the independent SHAP values. For independent SHAP values we break any + dependence structure between features in the model and so uncover how the model would behave if we intervened and changed some of the inputs. For the full conditional SHAP values we respect the correlations among the input features, so if the model depends on one input but that - input is correlated with another input, then both get some credit for the model's behavior. + input is correlated with another input, then both get some credit for the model's behavior. The + independent option stays "true to the model" meaning it will only give credit to features that are + actually used by the model, while the correlation option stays "true to the data" in the sense that + it only considers how the model would behave when respecting the correlations in the input data. """ - def __init__(self, model, data, nsamples=1000, feature_dependence="correlation"): + def __init__(self, model, data, nsamples=1000, feature_dependence=None): self.nsamples = nsamples + if feature_dependence == "interventional": + warnings.warn('The option feature_dependence="interventional" is has been renamed to feature_dependence="independent"!') + feature_dependence = "independent" + elif feature_dependence is None: + warnings.warn('The default value for feature_dependence has been changed to "independent"!') + feature_dependence = "independent" self.feature_dependence = feature_dependence # raw coefficents @@ -64,22 +73,22 @@ def __init__(self, model, data, nsamples=1000, feature_dependence="correlation") if type(data) == tuple and len(data) == 2: self.mean = data[0] self.cov = data[1] - elif str(type(data)).endswith("'numpy.ndarray'>"): - self.mean = data.mean(0) - self.cov = np.cov(data, rowvar=False) elif data is None: raise Exception("A background data distribution must be provided!") - + else: + self.mean = np.array(np.mean(data, 0)).flatten() # assumes it is an array + if feature_dependence == "correlation": + self.cov = np.cov(data, rowvar=False) + #print(self.coef, self.mean.flatten(), self.intercept) self.expected_value = np.dot(self.coef, self.mean) + self.intercept - self.M = len(self.mean) - self.valid_inds = np.where(np.diag(self.cov) > 1e-8)[0] - self.mean = self.mean[self.valid_inds] - self.cov = self.cov[:,self.valid_inds][self.valid_inds,:] - self.coef = self.coef[self.valid_inds] # if needed, estimate the transform matrices if feature_dependence == "correlation": + self.valid_inds = np.where(np.diag(self.cov) > 1e-8)[0] + self.mean = self.mean[self.valid_inds] + self.cov = self.cov[:,self.valid_inds][self.valid_inds,:] + self.coef = self.coef[self.valid_inds] # group perfectly redundant variables together self.avg_proj,sum_proj = duplicate_components(self.cov) @@ -95,9 +104,9 @@ def __init__(self, model, data, nsamples=1000, feature_dependence="correlation") mean_transform, x_transform = self._estimate_transforms(nsamples) self.mean_transformed = np.matmul(mean_transform, self.mean) self.x_transform = x_transform - elif feature_dependence == "interventional": + elif feature_dependence == "independent": if nsamples != 1000: - warnings.warn("Setting nsamples has no effect when feature_dependence = 'interventional'!") + warnings.warn("Setting nsamples has no effect when feature_dependence = 'independent'!") else: raise Exception("Unknown type of feature_dependence provided: " + feature_dependence) @@ -187,18 +196,20 @@ def shap_values(self, X): elif str(type(X)).endswith("'pandas.core.frame.DataFrame'>"): X = X.values - assert str(type(X)).endswith("'numpy.ndarray'>"), "Unknown instance type: " + str(type(X)) + #assert str(type(X)).endswith("'numpy.ndarray'>"), "Unknown instance type: " + str(type(X)) assert len(X.shape) == 1 or len(X.shape) == 2, "Instance must have 1 or 2 dimensions!" if self.feature_dependence == "correlation": phi = np.matmul(np.matmul(X[:,self.valid_inds], self.avg_proj.T), self.x_transform.T) - self.mean_transformed phi = np.matmul(phi, self.avg_proj) - elif self.feature_dependence == "interventional": - phi = self.coef * (X[:,self.valid_inds] - self.mean) - - full_phi = np.zeros(((phi.shape[0], self.M))) - full_phi[:,self.valid_inds] = phi - return full_phi + + full_phi = np.zeros(((phi.shape[0], self.M))) + full_phi[:,self.valid_inds] = phi + + return full_phi + + elif self.feature_dependence == "independent": + return np.array(X - self.mean) * self.coef def duplicate_components(C): D = np.diag(1/np.sqrt(np.diag(C))) diff --git a/shap/plots/dependence.py b/shap/plots/dependence.py index 6ffb078fb..5f4717850 100644 --- a/shap/plots/dependence.py +++ b/shap/plots/dependence.py @@ -224,10 +224,16 @@ def dependence_plot(ind, shap_values, features, feature_names=None, display_feat # plot any nan feature values as tick marks along the y-axis xv_nans = np.isnan(xv) xlim = pl.xlim() - pl.scatter( - xlim[0] * np.ones(xv_nans.sum()), s[xv_nans], marker=1, - linewidth=2, c=cvals[xv_nans], cmap=colors.red_blue, alpha=alpha - ) + if interaction_index is not None: + pl.scatter( + xlim[0] * np.ones(xv_nans.sum()), s[xv_nans], marker=1, + linewidth=2, c=cvals[xv_nans], cmap=colors.red_blue, alpha=alpha + ) + else: + pl.scatter( + xlim[0] * np.ones(xv_nans.sum()), s[xv_nans], marker=1, + linewidth=2, color="#1E88E5", alpha=alpha + ) pl.xlim(*xlim) # make the plot more readable diff --git a/shap/plots/embedding.py b/shap/plots/embedding.py index 8662e21f1..c4ccdda9c 100644 --- a/shap/plots/embedding.py +++ b/shap/plots/embedding.py @@ -18,7 +18,8 @@ def embedding_plot(ind, shap_values, feature_names=None, method="pca", alpha=1.0 If this is an int it is the index of the feature to use to color the embedding. If this is a string it is either the name of the feature, or it can have the form "rank(int)" to specify the feature with that rank (ordered by mean absolute - SHAP value over all the samples). + SHAP value over all the samples), or "sum()" to mean the sum of all the SHAP values, + which is the model's output (minus it's expected value). shap_values : numpy.array Matrix of SHAP values (# samples x # features). @@ -40,24 +41,30 @@ def embedding_plot(ind, shap_values, feature_names=None, method="pca", alpha=1.0 feature_names = [labels['FEATURE'] % str(i) for i in range(shap_values.shape[1])] ind = convert_name(ind, shap_values, feature_names) + if ind == "sum()": + cvals = shap_values.sum(1) + fname = "sum(SHAP values)" + else: + cvals = shap_values[:,ind] + fname = feature_names[ind] # see if we need to compute the embedding - if method == "pca": + if type(method) == str and method == "pca": pca = sklearn.decomposition.PCA(2) embedding_values = pca.fit_transform(shap_values) - elif type(method) == np.array and method.shape[1] == 2: + elif hasattr(method, "shape") and method.shape[1] == 2: embedding_values = method else: print("Unsupported embedding method:", method) pl.scatter( - embedding_values[:,0], embedding_values[:,1], c=shap_values[:,ind], + embedding_values[:,0], embedding_values[:,1], c=cvals, cmap=colors.red_blue_solid, alpha=alpha, linewidth=0 ) pl.axis("off") #pl.title(feature_names[ind]) cb = pl.colorbar() - cb.set_label("SHAP value for\n"+feature_names[ind], size=13) + cb.set_label("SHAP value for\n"+fname, size=13) cb.outline.set_visible(False) @@ -66,5 +73,4 @@ def embedding_plot(ind, shap_values, feature_names=None, method="pca", alpha=1.0 cb.ax.set_aspect((bbox.height - 0.7) * 10) cb.set_alpha(1) if show: - pl.show() - \ No newline at end of file + pl.show() \ No newline at end of file