{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/visualizing-the-effects-of-predictor","title":"Visualizing the Effects of Predictor Variables in Black Box Supervised Learning Models","arxiv_id":"1612.08468","date":"2016-12-27","proceeding":null,"authors":["Daniel W. Apley","Jingyu Zhu"],"abstract":"When fitting black box supervised learning models (e.g., complex trees, neural networks, boosted trees, random forests, nearest neighbors, local kernel-weighted methods, etc.), visualizing the main effects of the individual predictor variables and their low-order interaction effects is often important, and partial dependence (PD) plots are the most popular approach for accomplishing this. However, PD plots involve a serious pitfall if the predictor variables are far from independent, which is quite common with large observational data sets. Namely, PD plots require extrapolation of the response at predictor values that are far outside the multivariate envelope of the training data, which can render the PD plots unreliable. Although marginal plots (M plots) do not require such extrapolation, they produce substantially biased and misleading results when the predictors are dependent, analogous to the omitted variable bias in regression. We present a new visualization approach that we term accumulated local effects (ALE) plots, which inherits the desirable characteristics of PD and M plots, without inheriting their preceding shortcomings. Like M plots, ALE plots do not require extrapolation; and like PD plots, they are not biased by the omitted variable phenomenon. Moreover, ALE plots are far less computationally expensive than PD plots.","url_abs":"http://arxiv.org/abs/1612.08468v1","url_pdf":"http://arxiv.org/pdf/1612.08468v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"visualizing-the-effects-of-predictor","repo_url":"https://github.com/FMatti/ALE-LSD","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"visualizing-the-effects-of-predictor","repo_url":"https://github.com/blent-ai/ALEPython","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"visualizing-the-effects-of-predictor","repo_url":"https://github.com/givasile/effector","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1612.08468","atlas_url":"https://app.syntology.ai/?focus=1612.08468","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1612.08468"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/blent-ai/ALEPython","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/FMatti/ALE-LSD","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/givasile/effector","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"samples":9,"ran":0,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"aa0359dc6ff3556c","entry":"ale_plot","repo":"blent-ai/ALEPython","repo_kind":"listed","path":"src/alepython/ale.py","file_url":"https://github.com/blent-ai/ALEPython/blob/HEAD/src/alepython/ale.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aa0359dc6ff3556c"}},{"code_sha256_prefix":"81e73cd71ac037a6","entry":"classifier_proba","repo":"givasile/effector","repo_kind":"listed","path":"effector/adapters.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/adapters.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"81e73cd71ac037a6"}},{"code_sha256_prefix":"f3ab687b3868ff9c","entry":"from_sklearn","repo":"givasile/effector","repo_kind":"listed","path":"effector/adapters.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/adapters.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3ab687b3868ff9c"}},{"code_sha256_prefix":"9f28ce2c3c05ac85","entry":"from_torch","repo":"givasile/effector","repo_kind":"listed","path":"effector/adapters.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/adapters.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9f28ce2c3c05ac85"}},{"code_sha256_prefix":"bcd5f779bda1a394","entry":"ice_non_vectorized","repo":"givasile/effector","repo_kind":"listed","path":"effector/global_effect_pdp.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/global_effect_pdp.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bcd5f779bda1a394"}},{"code_sha256_prefix":"73672b811b2a909a","entry":"ice_vectorized","repo":"givasile/effector","repo_kind":"listed","path":"effector/global_effect_pdp.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/global_effect_pdp.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"73672b811b2a909a"}},{"code_sha256_prefix":"fae16fbe958f1615","entry":"select","repo":"givasile/effector","repo_kind":"listed","path":"effector/explained_variance.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/explained_variance.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fae16fbe958f1615"}},{"code_sha256_prefix":"dce61d58bfada672","entry":"supports","repo":"givasile/effector","repo_kind":"listed","path":"effector/explained_variance.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/explained_variance.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dce61d58bfada672"}},{"code_sha256_prefix":"ff4ed7fdf7f5990a","entry":"surrogate_r2","repo":"givasile/effector","repo_kind":"listed","path":"effector/explained_variance.py","file_url":"https://github.com/givasile/effector/blob/HEAD/effector/explained_variance.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ff4ed7fdf7f5990a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}