{"id":34094629,"url":"https://github.com/hi-paris/xper","last_synced_at":"2026-04-09T04:02:36.387Z","repository":{"id":155990275,"uuid":"593185474","full_name":"hi-paris/XPER","owner":"hi-paris","description":"A methodology designed to measure the contribution of the features to the predictive performance of any econometric or machine learning model.","archived":false,"fork":false,"pushed_at":"2024-11-28T20:42:35.000Z","size":8656,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-18T11:56:54.113Z","etag":null,"topics":["explainability","interpretability","machine-learning","performance-metrics","shap","shapley-value"],"latest_commit_sha":null,"homepage":"https://hi-paris.github.io/XPER/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hi-paris.png","metadata":{"files":{"readme":"README.html","changelog":"History.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-25T12:46:24.000Z","updated_at":"2025-11-24T18:16:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"30fe572b-7207-4c66-a95e-a6bec4ee611d","html_url":"https://github.com/hi-paris/XPER","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hi-paris/XPER","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hi-paris%2FXPER","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hi-paris%2FXPER/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hi-paris%2FXPER/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hi-paris%2FXPER/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hi-paris","download_url":"https://codeload.github.com/hi-paris/XPER/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hi-paris%2FXPER/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31584820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explainability","interpretability","machine-learning","performance-metrics","shap","shapley-value"],"created_at":"2025-12-14T15:04:21.257Z","updated_at":"2026-04-09T04:02:36.380Z","avatar_url":"https://github.com/hi-paris.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\u003chtml\u003e\u003chead\u003e\n      \u003ctitle\u003eREADME\u003c/title\u003e\n      \u003cmeta charset=\"utf-8\"\u003e\n      \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n      \n      \u003clink rel=\"stylesheet\" href=\"file:////Users/gaetanbrison/.vscode/extensions/shd101wyy.markdown-preview-enhanced-0.6.8/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css\"\u003e\n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \u003cstyle\u003e\n      /**\n * prism.js Github theme based on GitHub's theme.\n * @author Sam Clarke\n */\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n  color: #333;\n  background: none;\n  font-family: Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n  text-align: left;\n  white-space: pre;\n  word-spacing: normal;\n  word-break: normal;\n  word-wrap: normal;\n  line-height: 1.4;\n\n  -moz-tab-size: 8;\n  -o-tab-size: 8;\n  tab-size: 8;\n\n  -webkit-hyphens: none;\n  -moz-hyphens: none;\n  -ms-hyphens: none;\n  hyphens: none;\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n  padding: .8em;\n  overflow: auto;\n  /* border: 1px solid #ddd; */\n  border-radius: 3px;\n  /* background: #fff; */\n  background: #f5f5f5;\n}\n\n/* Inline code */\n:not(pre) \u003e code[class*=\"language-\"] {\n  padding: .1em;\n  border-radius: .3em;\n  white-space: normal;\n  background: #f5f5f5;\n}\n\n.token.comment,\n.token.blockquote {\n  color: #969896;\n}\n\n.token.cdata {\n  color: #183691;\n}\n\n.token.doctype,\n.token.punctuation,\n.token.variable,\n.token.macro.property {\n  color: #333;\n}\n\n.token.operator,\n.token.important,\n.token.keyword,\n.token.rule,\n.token.builtin {\n  color: #a71d5d;\n}\n\n.token.string,\n.token.url,\n.token.regex,\n.token.attr-value {\n  color: #183691;\n}\n\n.token.property,\n.token.number,\n.token.boolean,\n.token.entity,\n.token.atrule,\n.token.constant,\n.token.symbol,\n.token.command,\n.token.code {\n  color: #0086b3;\n}\n\n.token.tag,\n.token.selector,\n.token.prolog {\n  color: #63a35c;\n}\n\n.token.function,\n.token.namespace,\n.token.pseudo-element,\n.token.class,\n.token.class-name,\n.token.pseudo-class,\n.token.id,\n.token.url-reference .token.variable,\n.token.attr-name {\n  color: #795da3;\n}\n\n.token.entity {\n  cursor: help;\n}\n\n.token.title,\n.token.title .token.punctuation {\n  font-weight: bold;\n  color: #1d3e81;\n}\n\n.token.list {\n  color: #ed6a43;\n}\n\n.token.inserted {\n  background-color: #eaffea;\n  color: #55a532;\n}\n\n.token.deleted {\n  background-color: #ffecec;\n  color: #bd2c00;\n}\n\n.token.bold {\n  font-weight: bold;\n}\n\n.token.italic {\n  font-style: italic;\n}\n\n\n/* JSON */\n.language-json .token.property {\n  color: #183691;\n}\n\n.language-markup .token.tag .token.punctuation {\n  color: #333;\n}\n\n/* CSS */\ncode.language-css,\n.language-css .token.function {\n  color: #0086b3;\n}\n\n/* YAML */\n.language-yaml .token.atrule {\n  color: #63a35c;\n}\n\ncode.language-yaml {\n  color: #183691;\n}\n\n/* Ruby */\n.language-ruby .token.function {\n  color: #333;\n}\n\n/* Markdown */\n.language-markdown .token.url {\n  color: #795da3;\n}\n\n/* Makefile */\n.language-makefile .token.symbol {\n  color: #795da3;\n}\n\n.language-makefile .token.variable {\n  color: #183691;\n}\n\n.language-makefile .token.builtin {\n  color: #0086b3;\n}\n\n/* Bash */\n.language-bash .token.keyword {\n  color: #0086b3;\n}\n\n/* highlight */\npre[data-line] {\n  position: relative;\n  padding: 1em 0 1em 3em;\n}\npre[data-line] .line-highlight-wrapper {\n  position: absolute;\n  top: 0;\n  left: 0;\n  background-color: transparent;\n  display: block;\n  width: 100%;\n}\n\npre[data-line] .line-highlight {\n  position: absolute;\n  left: 0;\n  right: 0;\n  padding: inherit 0;\n  margin-top: 1em;\n  background: hsla(24, 20%, 50%,.08);\n  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));\n  pointer-events: none;\n  line-height: inherit;\n  white-space: pre;\n}\n\npre[data-line] .line-highlight:before, \npre[data-line] .line-highlight[data-end]:after {\n  content: attr(data-start);\n  position: absolute;\n  top: .4em;\n  left: .6em;\n  min-width: 1em;\n  padding: 0 .5em;\n  background-color: hsla(24, 20%, 50%,.4);\n  color: hsl(24, 20%, 95%);\n  font: bold 65%/1.5 sans-serif;\n  text-align: center;\n  vertical-align: .3em;\n  border-radius: 999px;\n  text-shadow: none;\n  box-shadow: 0 1px white;\n}\n\npre[data-line] .line-highlight[data-end]:after {\n  content: attr(data-end);\n  top: auto;\n  bottom: .4em;\n}html body{font-family:\"Helvetica Neue\",Helvetica,\"Segoe UI\",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body\u003e:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body\u003ep{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body\u003eul,html body\u003eol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li\u003ep{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote\u003e:first-child{margin-top:0}html body blockquote\u003e:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:\"\\00a0\"}html body pre\u003ecode{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers\u003ecode{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows\u003espan{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows\u003espan:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for=\"preview\"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for=\"preview\"]) .code-chunk .status{display:none}.markdown-preview:not([for=\"preview\"]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for=\"html-export\"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=\"html-export\"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for=\"html-export\"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=\"html-export\"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=\"html-export\"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for=\"html-export\"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=\"html-export\"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p,html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div{display:inline}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  300px/2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=\"html-export\"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=\"html-export\"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}\n/* Please visit the URL below for more information: */\n/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */\n\n      \u003c/style\u003e\n    \u003c/head\u003e\n    \u003cbody for=\"html-export\"\u003e\n      \u003cdiv class=\"mume markdown-preview  \"\u003e\n      \u003cp\u003e\u003cstrong\u003eXPER (eXplainable PERformance)\u003c/strong\u003e is a methodology designed to measure the specific contribution of the input features to the predictive performance of any econometric or machine learning model. XPER is built on Shapley values and interpretability tools developed in machine learning but with the distinct objective of focusing on model performance (AUC, \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmsup\u003e\u003cmi\u003eR\u003c/mi\u003e\u003cmn\u003e2\u003c/mn\u003e\u003c/msup\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eR^2\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8141em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.00773em;\"\u003eR\u003c/span\u003e\u003cspan class=\"msupsub\"\u003e\u003cspan class=\"vlist-t\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.8141em;\"\u003e\u003cspan style=\"top:-3.063em;margin-right:0.05em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:2.7em;\"\u003e\u003c/span\u003e\u003cspan class=\"sizing reset-size6 size3 mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e2\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e) and not on model predictions (\u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmover accent=\"true\"\u003e\u003cmi\u003ey\u003c/mi\u003e\u003cmo\u003e^\u003c/mo\u003e\u003c/mover\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\hat{y}\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord accent\"\u003e\u003cspan class=\"vlist-t vlist-t2\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.6944em;\"\u003e\u003cspan style=\"top:-3em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:3em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.03588em;\"\u003ey\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"top:-3em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:3em;\"\u003e\u003c/span\u003e\u003cspan class=\"accent-body\" style=\"left:-0.1944em;\"\u003e\u003cspan class=\"mord\"\u003e^\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-s\"\u003e\u0026#x200B;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.1944em;\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e). XPER has as a special case the standard explainability method in Machine Learning (SHAP).\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"\u003e\u003c/p\u003e\n\u003ch2 class=\"mume-header\" id=\"01-install-\"\u003e01 Install \u0026#x1F680;\u003c/h2\u003e\n\n\u003cp\u003eThe library has been tested on Linux, MacOSX and Windows. It relies on the following Python modules:\u003c/p\u003e\n\u003cp\u003ePandas\u003cbr\u003e\nNumpy\u003cbr\u003e\nScipy\u003cbr\u003e\nScikit-learn\u003c/p\u003e\n\u003cp\u003eXPER can be installed from \u003ca href=\"https://pypi.org/project/XPER\"\u003ePyPI\u003c/a\u003e:\u003c/p\u003e\n\u003cpre\u003epip install -i https://test.pypi.org/simple/ XPER==0.0.4\n\u003c/pre\u003e\n\u003ch4 class=\"mume-header\" id=\"post-installation-check\"\u003ePost installation check\u003c/h4\u003e\n\n\u003cp\u003eAfter a correct installation, you should be able to import the module without errors:\u003c/p\u003e\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e XPER\n\u003c/pre\u003e\u003ch2 class=\"mume-header\" id=\"02-xper-example-on-sampled-data-step-by-step-%EF%B8%8F\"\u003e02 XPER example on sampled data step by step \u0026#x27A1;\u0026#xFE0F;\u003c/h2\u003e\n\n\u003ch4 class=\"mume-header\" id=\"1%EF%B8%8F%E2%83%A3-load-the-data-\"\u003e1\u0026#xFE0F;\u0026#x20E3; Load the Data \u0026#x1F4BD;\u003c/h4\u003e\n\n\u003cul\u003e\n\u003cli\u003eOption 1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e XPER\n\u003cspan class=\"token keyword keyword-from\"\u003efrom\u003c/span\u003e XPER\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003edatasets\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003esample \u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e sample_generation\nX_train\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_train\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e X_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e p\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e N\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e seed  \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e sample_generation\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003eN\u003cspan class=\"token operator\"\u003e=\u003c/span\u003e\u003cspan class=\"token number\"\u003e500\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003ep\u003cspan class=\"token operator\"\u003e=\u003c/span\u003e\u003cspan class=\"token number\"\u003e6\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003eseed\u003cspan class=\"token operator\"\u003e=\u003c/span\u003e\u003cspan class=\"token number\"\u003e123456\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003cp\u003e\u003cimg src=\"images/Sample.png\" alt=\"sample\"\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOption 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-from\"\u003efrom\u003c/span\u003e XPER\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003edatasets\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003eload_data \u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e boston\ndf \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e boston\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\ndf\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003ehead\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token number\"\u003e3\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003cp\u003e\u003cimg src=\"images/Boston.png\" alt=\"boston\"\u003e\u003c/p\u003e\n\u003ch4 class=\"mume-header\" id=\"2%EF%B8%8F%E2%83%A3-load-the-trained-model-or-train-your-model-%EF%B8%8F\"\u003e2\u0026#xFE0F;\u0026#x20E3; Load the trained model or train your model \u0026#x2699;\u0026#xFE0F;\u003c/h4\u003e\n\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e joblib\nmodel \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e joblib\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003eload\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token string\"\u003e\u0026apos;xgboost_model.joblib\u0026apos;\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\nresult \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e loaded_model\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003escore\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003eX_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_test\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003cspan class=\"token keyword keyword-print\"\u003eprint\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token string\"\u003e\u0026quot;Model performance: \u0026quot;\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003eresult\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003ch4 class=\"mume-header\" id=\"3%EF%B8%8F%E2%83%A3-monitor-performance-\"\u003e3\u0026#xFE0F;\u0026#x20E3; Monitor Performance \u0026#x1F4C8;\u003c/h4\u003e\n\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-from\"\u003efrom\u003c/span\u003e XPER\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003emodels\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003ePerformance \u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e evaluate_model_performance\nEval_Metric \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e \u003cspan class=\"token punctuation\"\u003e[\u003c/span\u003e\u003cspan class=\"token string\"\u003e\u0026quot;Precision\u0026quot;\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e]\u003c/span\u003e\nPM \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e evaluate_model_performance\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003eEval_Metric\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e X_train\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_train\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e X_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e model\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003cspan class=\"token keyword keyword-print\"\u003eprint\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token string\"\u003e\u0026quot;Performance Metrics: \u0026quot;\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003ePM\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003cp\u003e\u003cimg src=\"images/Performance-Metrics.png\" alt=\"metrics\"\u003e\u003c/p\u003e\n\u003cpre data-role=\"codeBlock\" data-info=\"python\" class=\"language-python\"\u003e\u003cspan class=\"token keyword keyword-from\"\u003efrom\u003c/span\u003e XPER\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003emodels\u003cspan class=\"token punctuation\"\u003e.\u003c/span\u003ePerformance \u003cspan class=\"token keyword keyword-import\"\u003eimport\u003c/span\u003e calculate_XPER_values\nCFP \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e \u003cspan class=\"token boolean\"\u003eNone\u003c/span\u003e\nCFN \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e \u003cspan class=\"token boolean\"\u003eNone\u003c/span\u003e\nresult \u003cspan class=\"token operator\"\u003e=\u003c/span\u003e calculate_XPER_values\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003eX_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e y_test\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e model\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e Eval_Metric\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e CFP\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e CFN\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e PM\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003cspan class=\"token keyword keyword-print\"\u003eprint\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e(\u003c/span\u003e\u003cspan class=\"token string\"\u003e\u0026quot;Efficiency bench XPER: \u0026quot;\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e,\u003c/span\u003e result\u003cspan class=\"token punctuation\"\u003e[\u003c/span\u003e\u003cspan class=\"token operator\"\u003e-\u003c/span\u003e\u003cspan class=\"token number\"\u003e1\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e]\u003c/span\u003e\u003cspan class=\"token punctuation\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003ch2 class=\"mume-header\" id=\"03-acknowledgements\"\u003e03 Acknowledgements\u003c/h2\u003e\n\n\u003cp\u003eThe contributors to this library are\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://papers.ssrn.com/sol3/cf_dev/AbsByAuth.cfm?per_id=4582330\"\u003eS\u0026#xE9;bastien Saurin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/view/christophe-hurlin/home\"\u003eChristophe Hurlin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.hec.edu/fr/faculty-research/faculty-directory/faculty-member/perignon-christophe\"\u003eChristophe P\u0026#xE9;rignon\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 class=\"mume-header\" id=\"04-references\"\u003e04 References\u003c/h2\u003e\n\n\u003col\u003e\n\u003cli\u003e\u003cem\u003eXPER:\u003c/em\u003e Hu\u0026#xE9;, Sullivan, Hurlin, Christophe, P\u0026#xE9;rignon, Christophe and Saurin S\u0026#xE9;bastien. \u0026quot;Explainable Performance (XPER): Measuring the Driving Forces of Predictive Performance\u0026quot;. HEC Paris Research Paper No. FIN-2022-1463, Available at SSRN: \u003ca href=\"https://ssrn.com/abstract=4280563\"\u003ehttps://ssrn.com/abstract=4280563\u003c/a\u003e or \u003ca href=\"http://dx.doi.org/10.2139/ssrn.4280563\"\u003ehttp://dx.doi.org/10.2139/ssrn.4280563\u003c/a\u003e, 2022.\u003c/li\u003e\n\u003c/ol\u003e\n\n      \u003c/div\u003e\n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n  \n    \u003c/body\u003e\u003c/html\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhi-paris%2Fxper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhi-paris%2Fxper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhi-paris%2Fxper/lists"}