From 640708f4b7396f91a5c21f4dc58e4b77169c665e Mon Sep 17 00:00:00 2001 From: bgreenwell Date: Wed, 10 May 2023 14:09:42 -0400 Subject: [PATCH] fix vignette build error --- .Rbuildignore | 1 - R/explain.R | 15 +- docs/pkgdown.yml | 2 +- docs/reference/explain.html | 204 ++---------------- man/explain.Rd | 15 +- ...s-explain-global-parallel-dependence-1.png | Bin 0 -> 39520 bytes ...s-explain-global-parallel-importance-1.png | Bin 0 -> 20379 bytes .../titanic-explain-global-dependence-1.png | Bin .../titanic-explain-global-importance-1.png | Bin .../figures}/titanic-explain-jack-force-1.png | Bin .../titanic-explain-jack-waterfall-1.png | Bin vignettes/fastshap.Rmd | 34 ++- vignettes/fastshap.Rmd.orig | 3 +- ...s-explain-global-parallel-dependence-1.png | Bin 39120 -> 0 bytes ...s-explain-global-parallel-importance-1.png | Bin 19513 -> 0 bytes 15 files changed, 66 insertions(+), 208 deletions(-) create mode 100644 man/figures/ames-explain-global-parallel-dependence-1.png create mode 100644 man/figures/ames-explain-global-parallel-importance-1.png rename {vignettes/figure => man/figures}/titanic-explain-global-dependence-1.png (100%) rename {vignettes/figure => man/figures}/titanic-explain-global-importance-1.png (100%) rename {vignettes/figure => man/figures}/titanic-explain-jack-force-1.png (100%) rename {vignettes/figure => man/figures}/titanic-explain-jack-waterfall-1.png (100%) delete mode 100644 vignettes/figure/ames-explain-global-parallel-dependence-1.png delete mode 100644 vignettes/figure/ames-explain-global-parallel-importance-1.png diff --git a/.Rbuildignore b/.Rbuildignore index 8dc0ab2..e0e3ed5 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -15,4 +15,3 @@ ^tools$ ^TODO\.md$ ^vignettes/fastshap\.Rmd\.orig$ -^vignettes/figure$ diff --git a/R/explain.R b/R/explain.R index b348ade..9c2af21 100644 --- a/R/explain.R +++ b/R/explain.R @@ -216,17 +216,18 @@ explain_column <- function(object, X, column, pred_wrapper, newdata = NULL) { #' data(mtcars) #' #' # Fit a projection pursuit regression model -#' fit <- lm(mpg ~ ., data = mtcars) +#' fit <- ppr(mpg ~ ., data = mtcars, nterms = 5) +#' +#' # Prediction wrapper +#' pfun <- function(object, newdata) { # needs to return a numeric vector +#' predict(object, newdata = newdata) +#' } #' #' # Compute approximate Shapley values using 10 Monte Carlo simulations #' set.seed(101) # for reproducibility #' shap <- explain(fit, X = subset(mtcars, select = -mpg), nsim = 10, -#' pred_wrapper = predict) -#' shap -#' -#' # Compute exact Shapley (i.e., LinearSHAP) values -#' shap <- explain(fit, exact = TRUE) -#' shap +#' pred_wrapper = pfun) +#' head(shap) explain <- function(object, ...) { UseMethod("explain") } diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 0794e7f..1d71a28 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -3,5 +3,5 @@ pkgdown: 2.0.7 pkgdown_sha: ~ articles: fastshap: fastshap.html -last_built: 2023-05-05T18:01Z +last_built: 2023-05-10T17:28Z diff --git a/docs/reference/explain.html b/docs/reference/explain.html index c5ba778..f6c9b2b 100644 --- a/docs/reference/explain.html +++ b/docs/reference/explain.html @@ -294,192 +294,32 @@

Examplesdata(mtcars) # Fit a projection pursuit regression model -fit <- lm(mpg ~ ., data = mtcars) +fit <- ppr(mpg ~ ., data = mtcars, nterms = 5) + +# Prediction wrapper +pfun <- function(object, newdata) { # needs to return a numeric vector + predict(object, newdata = newdata) +} # Compute approximate Shapley values using 10 Monte Carlo simulations set.seed(101) # for reproducibility shap <- explain(fit, X = subset(mtcars, select = -mpg), nsim = 10, - pred_wrapper = predict) -shap -#> cyl disp hp drat wt -#> Mazda RX4 0.08915238 -0.6278231 1.84101760 0.248727067 1.82607188 -#> Mazda RX4 Wag 0.04457619 -0.8793257 0.80772767 0.220391072 1.08858405 -#> Datsun 710 0.20059286 -2.2013814 0.63587072 0.085007985 3.68372384 -#> Hornet 4 Drive 0.06686429 0.3607182 0.62083324 -0.499028356 -0.92956904 -#> Hornet Sportabout -0.15601667 1.9585467 0.19763549 -0.365219491 0.04458365 -#> Valiant 0.06686429 -0.1373530 0.99891853 -0.898093619 -1.44896853 -#> Duster 360 -0.24516905 1.8997383 -1.77871945 -0.318779944 -1.07186518 -#> Merc 240D 0.15601667 -0.9765396 0.92158290 0.173951525 0.98455554 -#> Merc 230 0.24516905 -0.3097776 2.14821190 0.168441748 -0.10588616 -#> Merc 280 -0.13372857 -1.1133592 0.59290648 0.212519963 -0.18019224 -#> Merc 280C -0.02228810 -0.9728058 0.16756053 0.181035524 0.59073332 -#> Merc 450SE -0.11144048 0.4552651 -0.99677032 -0.437633701 -4.44796186 -#> Merc 450SL -0.22288096 0.8639902 0.14178199 -0.354199938 -2.25147418 -#> Merc 450SLC -0.20059286 0.9668049 -0.90010079 -0.557274568 -3.25089094 -#> Cadillac Fleetwood -0.22288096 4.2135358 -1.90116753 -0.513983465 -7.83743364 -#> Lincoln Continental -0.22288096 3.0380344 -0.93662039 -0.327438164 -7.12595293 -#> Chrysler Imperial -0.15601667 2.9020149 -1.34478065 -0.391194153 -6.58389009 -#> Fiat 128 0.26745715 -2.4382153 2.00857813 0.296740837 4.34876325 -#> Honda Civic 0.26745715 -1.2279089 1.68419813 1.032689596 6.42376049 -#> Toyota Corolla 0.26745715 -2.9140166 1.37915204 0.469118139 4.62926869 -#> Toyota Corona 0.28974524 -1.4910132 0.91943469 0.241643068 3.44928817 -#> Dodge Challenger -0.24516905 0.9469354 -0.37593708 -0.510835021 -1.50284044 -#> AMC Javelin -0.15601667 -0.2817736 -0.17615338 -0.054310657 2.61706009 -#> Camaro Z28 -0.28974524 1.6453019 -2.16539759 0.205435964 -1.29849872 -#> Pontiac Firebird -0.15601667 1.8290615 -0.53920119 -0.499815467 -1.63287608 -#> Fiat X1-9 0.22288096 -1.8514647 2.04939415 0.310908834 3.81673173 -#> Porsche 914-2 0.33432143 -1.4472736 0.90654542 0.743032758 2.68802239 -#> Lotus Europa 0.26745715 -1.3448589 1.43930197 -0.161357749 6.18783869 -#> Ford Pantera L -0.08915238 1.0112112 -2.52200077 0.560423012 0.76906791 -#> Ferrari Dino 0.13372857 -1.5195506 0.01933391 0.003935555 2.20986278 -#> Maserati Bora -0.15601667 0.4742011 -4.44250221 0.124363534 -1.15954636 -#> Volvo 142E 0.24516905 -1.5504883 1.46078409 0.002361333 0.70590775 -#> qsec vs am gear carb -#> Mazda RX4 -0.538602732 -0.09532884 1.0080908 0.1310826 -0.05982578 -#> Mazda RX4 Wag -0.247133266 -0.09532884 1.5121361 0.1310826 -0.03988385 -#> Datsun 710 0.635485540 0.22243397 1.5121361 0.2621652 0.39883851 -#> Hornet 4 Drive 0.192944576 0.12710513 -1.2601134 -0.5898717 0.43872236 -#> Hornet Sportabout -1.018911570 -0.12710513 -0.2520227 -0.7209543 0.25924503 -#> Valiant 2.009907755 0.22243397 -1.0080908 -0.3277065 0.19941925 -#> Duster 360 -1.292318140 -0.22243397 -1.7641588 -0.4587891 -0.35895466 -#> Merc 240D 2.382660256 0.15888141 -1.2601134 0.1310826 -0.03988385 -#> Merc 230 3.256247613 0.15888141 -0.5040454 0.1310826 0.07976770 -#> Merc 280 0.708558167 0.25421025 -1.0080908 0.2621652 -0.29912888 -#> Merc 280C 1.219245513 0.19065769 -0.7560681 0.2621652 -0.37889658 -#> Merc 450SE 0.005747285 -0.06355256 -0.5040454 -0.6554130 -0.01994193 -#> Merc 450SL -0.242207021 -0.15888141 -1.0080908 -0.0655413 0.01994193 -#> Merc 450SLC 0.408057253 -0.03177628 -1.5121361 -0.2621652 -0.01994193 -#> Cadillac Fleetwood -0.118229868 -0.15888141 -1.5121361 -0.4587891 -0.31907081 -#> Lincoln Continental -0.082925116 -0.12710513 -1.7641588 -0.7209543 -0.43872236 -#> Chrysler Imperial -1.283286692 -0.22243397 -0.7560681 -0.1966239 -0.27918696 -#> Fiat 128 0.976217451 0.22243397 2.0161815 0.1966239 0.35895466 -#> Honda Civic -0.569802280 0.15888141 1.7641588 0.1966239 0.11965155 -#> Toyota Corolla 1.612524032 0.15888141 1.5121361 0.0655413 0.51849006 -#> Toyota Corona 1.752922001 0.19065769 -1.7641588 -0.5243304 0.45866429 -#> Dodge Challenger -0.713484411 -0.09532884 -0.5040454 -0.3277065 0.21936118 -#> AMC Javelin -0.961438718 -0.12710513 -0.7560681 -0.3277065 0.23930311 -#> Camaro Z28 -2.207778576 -0.15888141 -1.0080908 -0.2621652 -0.25924503 -#> Pontiac Firebird -1.367853889 -0.09532884 -0.7560681 -0.3932478 0.27918696 -#> Fiat X1-9 0.860450706 0.19065769 2.0161815 0.3932478 0.27918696 -#> Porsche 914-2 -1.616629236 -0.06355256 1.7641588 0.9831195 0.19941925 -#> Lotus Europa -0.734831471 0.22243397 1.7641588 0.8520369 0.17947733 -#> Ford Pantera L -3.224227024 -0.09532884 1.2601134 0.8520369 -0.21936118 -#> Ferrari Dino -2.426996456 -0.22243397 1.7641588 1.0486608 -0.45866429 -#> Maserati Bora -3.036208692 -0.19065769 1.5121361 0.9175782 -1.03698013 -#> Volvo 142E 0.149429416 0.06355256 1.0080908 0.0655413 0.09970963 -#> attr(,"baseline") -#> [1] 0 -#> attr(,"class") -#> [1] "explain" "matrix" "array" - -# Compute exact Shapley (i.e., LinearSHAP) values -shap <- explain(fit, exact = TRUE) -shap -#> cyl disp hp drat -#> Mazda RX4 0.02089509 -0.94309317 0.78812524 0.23883899 -#> Mazda RX4 Wag 0.02089509 -0.94309317 0.78812524 0.23883899 -#> Datsun 710 0.24377605 -1.63652565 1.15332126 0.19948344 -#> Hornet 4 Drive 0.02089509 0.36376034 0.78812524 -0.40659201 -#> Hornet Sportabout -0.20198587 1.72395481 -0.60821249 -0.35149424 -#> Valiant 0.02089509 -0.07630258 0.89553584 -0.65846752 -#> Duster 360 -0.20198587 1.72395481 -2.11196082 -0.30426759 -#> Merc 240D 0.24377605 -1.12045186 1.81926695 0.07354568 -#> Merc 230 0.24377605 -1.19912978 1.11035703 0.25458121 -#> Merc 280 0.02089509 -0.84174535 0.50885769 0.25458121 -#> Merc 280C 0.02089509 -0.84174535 0.50885769 0.25458121 -#> Merc 450SE -0.20198587 0.60112761 -0.71562309 -0.41446312 -#> Merc 450SL -0.20198587 0.60112761 -0.71562309 -0.41446312 -#> Merc 450SLC -0.20198587 0.60112761 -0.71562309 -0.41446312 -#> Cadillac Fleetwood -0.20198587 3.21750168 -1.25267606 -0.52465866 -#> Lincoln Continental -0.20198587 3.05747880 -1.46749725 -0.46956089 -#> Chrysler Imperial -0.20198587 2.79077401 -1.78972904 -0.28852537 -#> Fiat 128 0.24377605 -2.02724818 1.73333848 0.38051896 -#> Honda Civic 0.24377605 -2.06725389 2.03408814 1.04956329 -#> Toyota Corolla 0.24377605 -2.12859600 1.75482059 0.49071450 -#> Toyota Corona 0.24377605 -1.47516924 1.06739279 0.08141679 -#> Dodge Challenger -0.20198587 1.16387474 -0.07115952 -0.65846752 -#> AMC Javelin -0.20198587 0.97718138 -0.07115952 -0.35149424 -#> Camaro Z28 -0.20198587 1.59060241 -2.11196082 0.10503012 -#> Pontiac Firebird -0.20198587 2.25736441 -0.60821249 -0.40659201 -#> Fiat X1-9 0.24377605 -2.02324760 1.73333848 0.38051896 -#> Porsche 914-2 0.24377605 -1.47250219 1.19628550 0.65600780 -#> Lotus Europa 0.24377605 -1.80855024 0.72367888 0.13651456 -#> Ford Pantera L -0.20198587 1.60393765 -2.52012108 0.49071450 -#> Ferrari Dino 0.02089509 -1.14312177 -0.60821249 0.01844791 -#> Maserati Bora -0.20198587 0.93717566 -4.04535153 -0.04452096 -#> Volvo 142E 0.24377605 -1.46316753 0.80960736 0.40413229 -#> wt qsec vs am gear -#> Mazda RX4 2.218965271 -1.14022034 -0.1390212 1.496385 0.2048166 -#> Mazda RX4 Wag 1.271562769 -0.68043752 -0.1390212 1.496385 0.2048166 -#> Datsun 710 3.333556450 0.62501727 0.1787416 1.496385 0.2048166 -#> Hornet 4 Drive 0.008359434 1.30648109 0.1787416 -1.023842 -0.4505964 -#> Hornet Sportabout -0.827583950 -0.68043752 -0.1390212 -1.023842 -0.4505964 -#> Valiant -0.901890029 1.94689288 0.1787416 -1.023842 -0.4505964 -#> Duster 360 -1.310573461 -1.64926561 -0.1390212 -1.023842 -0.4505964 -#> Merc 240D 0.101242032 1.76626391 0.1787416 -1.023842 0.2048166 -#> Merc 230 0.249854189 4.14728209 0.1787416 -1.023842 0.2048166 -#> Merc 280 -0.827583950 0.37049464 0.1787416 -1.023842 0.2048166 -#> Merc 280C -0.827583950 0.86311909 0.1787416 -1.023842 0.2048166 -#> Merc 450SE -3.168225425 -0.36844204 -0.1390212 -1.023842 -0.4505964 -#> Merc 450SL -1.905022089 -0.20423389 -0.1390212 -1.023842 -0.4505964 -#> Merc 450SLC -2.090787286 0.12418241 -0.1390212 -1.023842 -0.4505964 -#> Cadillac Fleetwood -7.552284060 0.10776160 -0.1390212 -1.023842 -0.4505964 -#> Lincoln Continental -8.198746944 -0.02360492 -0.1390212 -1.023842 -0.4505964 -#> Chrysler Imperial -7.905237933 -0.35202122 -0.1390212 -1.023842 -0.4505964 -#> Fiat 128 3.779392921 1.33111232 0.1787416 1.496385 0.2048166 -#> Honda Civic 5.952845719 0.55112360 0.1787416 1.496385 0.2048166 -#> Toyota Corolla 5.135478855 1.68415984 0.1787416 1.496385 0.2048166 -#> Toyota Corona 2.794837380 1.77447432 0.1787416 -1.023842 -0.4505964 -#> Dodge Challenger -1.124808264 -0.80359363 -0.1390212 -1.023842 -0.4505964 -#> AMC Javelin -0.809007430 -0.45054611 -0.1390212 -1.023842 -0.4505964 -#> Camaro Z28 -2.313705521 -2.00231313 -0.1390212 -1.023842 -0.4505964 -#> Pontiac Firebird -2.332282041 -0.65580630 -0.1390212 -1.023842 -0.4505964 -#> Fiat X1-9 4.763948462 0.86311909 0.1787416 1.496385 0.2048166 -#> Porsche 914-2 4.002311157 -0.94317056 -0.1390212 1.496385 0.8602296 -#> Lotus Europa 6.331806720 -0.77896241 0.1787416 1.496385 0.8602296 -#> Ford Pantera L 0.175548111 -2.74946021 -0.1390212 1.496385 0.8602296 -#> Ferrari Dino 1.661669682 -1.92841946 -0.1390212 1.496385 0.8602296 -#> Maserati Bora -1.310573461 -2.66735614 -0.1390212 1.496385 0.8602296 -#> Volvo 142E 1.624516643 0.61680686 0.1787416 1.496385 0.2048166 -#> carb -#> Mazda RX4 -0.23681037 -#> Mazda RX4 Wag -0.23681037 -#> Datsun 710 0.36144740 -#> Hornet 4 Drive 0.36144740 -#> Hornet Sportabout 0.16202814 -#> Valiant 0.36144740 -#> Duster 360 -0.23681037 -#> Merc 240D 0.16202814 -#> Merc 230 0.16202814 -#> Merc 280 -0.23681037 -#> Merc 280C -0.23681037 -#> Merc 450SE -0.03739111 -#> Merc 450SL -0.03739111 -#> Merc 450SLC -0.03739111 -#> Cadillac Fleetwood -0.23681037 -#> Lincoln Continental -0.23681037 -#> Chrysler Imperial -0.23681037 -#> Fiat 128 0.36144740 -#> Honda Civic 0.16202814 -#> Toyota Corolla 0.36144740 -#> Toyota Corona 0.36144740 -#> Dodge Challenger 0.16202814 -#> AMC Javelin 0.16202814 -#> Camaro Z28 -0.23681037 -#> Pontiac Firebird 0.16202814 -#> Fiat X1-9 0.36144740 -#> Porsche 914-2 0.16202814 -#> Lotus Europa 0.16202814 -#> Ford Pantera L -0.23681037 -#> Ferrari Dino -0.63564887 -#> Maserati Bora -1.03448738 -#> Volvo 142E 0.16202814 -#> attr(,"constant") -#> [1] 20.09062 -#> attr(,"baseline") -#> [1] 20.09062 -#> attr(,"class") -#> [1] "explain" "matrix" "array" + pred_wrapper = pfun) +head(shap) +#> cyl disp hp drat wt +#> Mazda RX4 0.3280244 0.1465562 3.5236043 -0.19683686 1.5147843 +#> Mazda RX4 Wag 1.3551669 0.5779652 1.0253059 -0.37101502 0.6181813 +#> Datsun 710 0.5119856 -2.9512302 0.4552642 0.41006703 3.2374925 +#> Hornet 4 Drive 0.2074424 1.2657034 0.1149898 -0.62694770 -1.7544816 +#> Hornet Sportabout -0.3118853 3.2182116 -0.5978707 0.01229088 -0.1284259 +#> Valiant 0.3833175 0.4428229 0.3640712 -0.63599935 -3.2309726 +#> qsec vs am gear carb +#> Mazda RX4 -1.32687759 0.5625102 -0.33889885 0.6152565 0.9099388 +#> Mazda RX4 Wag -0.04905463 0.1726060 0.59211627 0.3802112 0.2819806 +#> Datsun 710 1.00079785 -0.7778137 0.09427438 0.8347400 -1.1438321 +#> Hornet 4 Drive 0.55888018 -0.1858612 -0.92395279 -2.4476911 0.4763996 +#> Hornet Sportabout -1.55827439 0.5117313 0.33290349 -1.8590004 0.2682710 +#> Valiant 1.75640045 -1.2377046 0.01325577 -0.2232629 -0.1252463