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