{"id":14970668,"url":"https://github.com/gsganden/model_inspector","last_synced_at":"2025-10-26T13:31:04.606Z","repository":{"id":39870634,"uuid":"303568259","full_name":"gsganden/model_inspector","owner":"gsganden","description":"A uniform interface to a curated set of methods for inspecting machine learning models","archived":false,"fork":false,"pushed_at":"2023-09-24T21:19:30.000Z","size":199282,"stargazers_count":4,"open_issues_count":18,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-30T04:54:22.719Z","etag":null,"topics":["data-science","machine-learning","scikit-learn","visualization"],"latest_commit_sha":null,"homepage":"https://gsganden.github.io/model_inspector/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gsganden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2020-10-13T02:39:29.000Z","updated_at":"2023-03-24T00:06:07.000Z","dependencies_parsed_at":"2024-08-22T15:47:52.422Z","dependency_job_id":null,"html_url":"https://github.com/gsganden/model_inspector","commit_stats":{"total_commits":330,"total_committers":4,"mean_commits":82.5,"dds":0.2666666666666667,"last_synced_commit":"01fe8b78ac4e868ed2cecce08eb0c73b3b3d58eb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":"fastai/nbdev_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsganden%2Fmodel_inspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsganden%2Fmodel_inspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsganden%2Fmodel_inspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsganden%2Fmodel_inspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsganden","download_url":"https://codeload.github.com/gsganden/model_inspector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238337223,"owners_count":19455270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["data-science","machine-learning","scikit-learn","visualization"],"created_at":"2024-09-24T13:43:57.930Z","updated_at":"2025-10-26T13:31:03.957Z","avatar_url":"https://github.com/gsganden.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"Model Inspector\n================\n\n\u003c!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! --\u003e\n\n`model_inspector` aims to help you train better\n`scikit-learn`-compatible models by providing insights into their\nbehavior.\n\n## Use\n\nTo use `model_inspector`, you create an `Inspector` object from a\n`scikit-learn` model, a feature DataFrame `X`, and a target Series `y`.\nTypically you will want to create it on held-out data, as shown below.\n\n``` python\nimport sklearn.datasets\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.model_selection import train_test_split\n\nfrom model_inspector import get_inspector\n```\n\n``` python\nX, y = sklearn.datasets.load_diabetes(return_X_y=True, as_frame=True)\n```\n\n``` python\nX\n```\n\n\u003cdiv\u003e\n\u003cstyle scoped\u003e\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n\u003c/style\u003e\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eage\u003c/th\u003e\n      \u003cth\u003esex\u003c/th\u003e\n      \u003cth\u003ebmi\u003c/th\u003e\n      \u003cth\u003ebp\u003c/th\u003e\n      \u003cth\u003es1\u003c/th\u003e\n      \u003cth\u003es2\u003c/th\u003e\n      \u003cth\u003es3\u003c/th\u003e\n      \u003cth\u003es4\u003c/th\u003e\n      \u003cth\u003es5\u003c/th\u003e\n      \u003cth\u003es6\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth\u003e0\u003c/th\u003e\n      \u003ctd\u003e0.038076\u003c/td\u003e\n      \u003ctd\u003e0.050680\u003c/td\u003e\n      \u003ctd\u003e0.061696\u003c/td\u003e\n      \u003ctd\u003e0.021872\u003c/td\u003e\n      \u003ctd\u003e-0.044223\u003c/td\u003e\n      \u003ctd\u003e-0.034821\u003c/td\u003e\n      \u003ctd\u003e-0.043401\u003c/td\u003e\n      \u003ctd\u003e-0.002592\u003c/td\u003e\n      \u003ctd\u003e0.019907\u003c/td\u003e\n      \u003ctd\u003e-0.017646\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e1\u003c/th\u003e\n      \u003ctd\u003e-0.001882\u003c/td\u003e\n      \u003ctd\u003e-0.044642\u003c/td\u003e\n      \u003ctd\u003e-0.051474\u003c/td\u003e\n      \u003ctd\u003e-0.026328\u003c/td\u003e\n      \u003ctd\u003e-0.008449\u003c/td\u003e\n      \u003ctd\u003e-0.019163\u003c/td\u003e\n      \u003ctd\u003e0.074412\u003c/td\u003e\n      \u003ctd\u003e-0.039493\u003c/td\u003e\n      \u003ctd\u003e-0.068332\u003c/td\u003e\n      \u003ctd\u003e-0.092204\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e2\u003c/th\u003e\n      \u003ctd\u003e0.085299\u003c/td\u003e\n      \u003ctd\u003e0.050680\u003c/td\u003e\n      \u003ctd\u003e0.044451\u003c/td\u003e\n      \u003ctd\u003e-0.005670\u003c/td\u003e\n      \u003ctd\u003e-0.045599\u003c/td\u003e\n      \u003ctd\u003e-0.034194\u003c/td\u003e\n      \u003ctd\u003e-0.032356\u003c/td\u003e\n      \u003ctd\u003e-0.002592\u003c/td\u003e\n      \u003ctd\u003e0.002861\u003c/td\u003e\n      \u003ctd\u003e-0.025930\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e3\u003c/th\u003e\n      \u003ctd\u003e-0.089063\u003c/td\u003e\n      \u003ctd\u003e-0.044642\u003c/td\u003e\n      \u003ctd\u003e-0.011595\u003c/td\u003e\n      \u003ctd\u003e-0.036656\u003c/td\u003e\n      \u003ctd\u003e0.012191\u003c/td\u003e\n      \u003ctd\u003e0.024991\u003c/td\u003e\n      \u003ctd\u003e-0.036038\u003c/td\u003e\n      \u003ctd\u003e0.034309\u003c/td\u003e\n      \u003ctd\u003e0.022688\u003c/td\u003e\n      \u003ctd\u003e-0.009362\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e4\u003c/th\u003e\n      \u003ctd\u003e0.005383\u003c/td\u003e\n      \u003ctd\u003e-0.044642\u003c/td\u003e\n      \u003ctd\u003e-0.036385\u003c/td\u003e\n      \u003ctd\u003e0.021872\u003c/td\u003e\n      \u003ctd\u003e0.003935\u003c/td\u003e\n      \u003ctd\u003e0.015596\u003c/td\u003e\n      \u003ctd\u003e0.008142\u003c/td\u003e\n      \u003ctd\u003e-0.002592\u003c/td\u003e\n      \u003ctd\u003e-0.031988\u003c/td\u003e\n      \u003ctd\u003e-0.046641\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e...\u003c/th\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e437\u003c/th\u003e\n      \u003ctd\u003e0.041708\u003c/td\u003e\n      \u003ctd\u003e0.050680\u003c/td\u003e\n      \u003ctd\u003e0.019662\u003c/td\u003e\n      \u003ctd\u003e0.059744\u003c/td\u003e\n      \u003ctd\u003e-0.005697\u003c/td\u003e\n      \u003ctd\u003e-0.002566\u003c/td\u003e\n      \u003ctd\u003e-0.028674\u003c/td\u003e\n      \u003ctd\u003e-0.002592\u003c/td\u003e\n      \u003ctd\u003e0.031193\u003c/td\u003e\n      \u003ctd\u003e0.007207\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e438\u003c/th\u003e\n      \u003ctd\u003e-0.005515\u003c/td\u003e\n      \u003ctd\u003e0.050680\u003c/td\u003e\n      \u003ctd\u003e-0.015906\u003c/td\u003e\n      \u003ctd\u003e-0.067642\u003c/td\u003e\n      \u003ctd\u003e0.049341\u003c/td\u003e\n      \u003ctd\u003e0.079165\u003c/td\u003e\n      \u003ctd\u003e-0.028674\u003c/td\u003e\n      \u003ctd\u003e0.034309\u003c/td\u003e\n      \u003ctd\u003e-0.018114\u003c/td\u003e\n      \u003ctd\u003e0.044485\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e439\u003c/th\u003e\n      \u003ctd\u003e0.041708\u003c/td\u003e\n      \u003ctd\u003e0.050680\u003c/td\u003e\n      \u003ctd\u003e-0.015906\u003c/td\u003e\n      \u003ctd\u003e0.017293\u003c/td\u003e\n      \u003ctd\u003e-0.037344\u003c/td\u003e\n      \u003ctd\u003e-0.013840\u003c/td\u003e\n      \u003ctd\u003e-0.024993\u003c/td\u003e\n      \u003ctd\u003e-0.011080\u003c/td\u003e\n      \u003ctd\u003e-0.046883\u003c/td\u003e\n      \u003ctd\u003e0.015491\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e440\u003c/th\u003e\n      \u003ctd\u003e-0.045472\u003c/td\u003e\n      \u003ctd\u003e-0.044642\u003c/td\u003e\n      \u003ctd\u003e0.039062\u003c/td\u003e\n      \u003ctd\u003e0.001215\u003c/td\u003e\n      \u003ctd\u003e0.016318\u003c/td\u003e\n      \u003ctd\u003e0.015283\u003c/td\u003e\n      \u003ctd\u003e-0.028674\u003c/td\u003e\n      \u003ctd\u003e0.026560\u003c/td\u003e\n      \u003ctd\u003e0.044529\u003c/td\u003e\n      \u003ctd\u003e-0.025930\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e441\u003c/th\u003e\n      \u003ctd\u003e-0.045472\u003c/td\u003e\n      \u003ctd\u003e-0.044642\u003c/td\u003e\n      \u003ctd\u003e-0.073030\u003c/td\u003e\n      \u003ctd\u003e-0.081413\u003c/td\u003e\n      \u003ctd\u003e0.083740\u003c/td\u003e\n      \u003ctd\u003e0.027809\u003c/td\u003e\n      \u003ctd\u003e0.173816\u003c/td\u003e\n      \u003ctd\u003e-0.039493\u003c/td\u003e\n      \u003ctd\u003e-0.004222\u003c/td\u003e\n      \u003ctd\u003e0.003064\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e442 rows × 10 columns\u003c/p\u003e\n\u003c/div\u003e\n\n``` python\ny\n```\n\n    0      151.0\n    1       75.0\n    2      141.0\n    3      206.0\n    4      135.0\n           ...  \n    437    178.0\n    438    104.0\n    439    132.0\n    440    220.0\n    441     57.0\n    Name: target, Length: 442, dtype: float64\n\n``` python\nX_train, X_test, y_train, y_test = train_test_split(X, y)\n```\n\n``` python\nrfr = RandomForestRegressor().fit(X_train, y_train)\n```\n\n``` python\nrfr.score(X_test, y_test)\n```\n\n    0.4145806969881506\n\n``` python\ninspector = get_inspector(rfr, X_test, y_test)\n```\n\nYou can then use various methods of `inspector` to learn about how your\nmodel behaves on that data.\n\nThe methods that are available for a given inspector depends on the\ntypes of its estimator and its target `y`. An attribute called `methods`\ntells you what they are:\n\n``` python\ninspector.methods\n```\n\n    ['plot_feature_clusters',\n     'plot_partial_dependence',\n     'permutation_importance',\n     'plot_permutation_importance',\n     'plot_pred_vs_act',\n     'plot_residuals',\n     'show_correlation']\n\n``` python\nax = inspector.plot_feature_clusters()\n```\n\n![](index_files/figure-commonmark/cell-11-output-1.png)\n\n``` python\nmost_important_features = inspector.permutation_importance().index[:2]\naxes = inspector.plot_partial_dependence(\n    features=[*most_important_features, most_important_features]\n)\naxes[0, 0].get_figure().set_size_inches(12, 3)\n```\n\n![](index_files/figure-commonmark/cell-12-output-1.png)\n\n``` python\ninspector.permutation_importance()\n```\n\n    bmi    0.241886\n    s5     0.153085\n    sex    0.003250\n    s3     0.000734\n    bp     0.000461\n    s4    -0.002687\n    s2    -0.004366\n    s1    -0.008953\n    s6    -0.018925\n    age   -0.022768\n    dtype: float64\n\n``` python\nax = inspector.plot_permutation_importance()\n```\n\n![](index_files/figure-commonmark/cell-14-output-1.png)\n\n``` python\nax = inspector.plot_pred_vs_act()\n```\n\n![](index_files/figure-commonmark/cell-15-output-1.png)\n\n``` python\naxes = inspector.plot_residuals()\n```\n\n![](index_files/figure-commonmark/cell-16-output-1.png)\n\n``` python\ninspector.show_correlation()\n```\n\n\u003cstyle type=\"text/css\"\u003e\n#T_c8180_row0_col0, #T_c8180_row1_col1, #T_c8180_row2_col2, #T_c8180_row3_col3, #T_c8180_row4_col4, #T_c8180_row5_col5, #T_c8180_row6_col6, #T_c8180_row7_col7, #T_c8180_row8_col8, #T_c8180_row9_col9, #T_c8180_row10_col10 {\n  background-color: #ff0000;\n  color: #f1f1f1;\n}\n#T_c8180_row0_col1, #T_c8180_row1_col0 {\n  background-color: #ffc6c6;\n  color: #000000;\n}\n#T_c8180_row0_col2, #T_c8180_row0_col5, #T_c8180_row2_col0, #T_c8180_row5_col0, #T_c8180_row5_col9, #T_c8180_row9_col5 {\n  background-color: #ffd2d2;\n  color: #000000;\n}\n#T_c8180_row0_col3, #T_c8180_row2_col5, #T_c8180_row3_col0, #T_c8180_row5_col2 {\n  background-color: #ffd0d0;\n  color: #000000;\n}\n#T_c8180_row0_col4, #T_c8180_row4_col0 {\n  background-color: #ffc4c4;\n  color: #000000;\n}\n#T_c8180_row0_col6, #T_c8180_row6_col0 {\n  background-color: #f4f4ff;\n  color: #000000;\n}\n#T_c8180_row0_col7, #T_c8180_row3_col7, #T_c8180_row7_col0, #T_c8180_row7_col3 {\n  background-color: #ffcece;\n  color: #000000;\n}\n#T_c8180_row0_col8, #T_c8180_row8_col0 {\n  background-color: #ffb6b6;\n  color: #000000;\n}\n#T_c8180_row0_col9, #T_c8180_row9_col0 {\n  background-color: #ffaeae;\n  color: #000000;\n}\n#T_c8180_row0_col10, #T_c8180_row1_col8, #T_c8180_row8_col1, #T_c8180_row10_col0 {\n  background-color: #ffdede;\n  color: #000000;\n}\n#T_c8180_row1_col2, #T_c8180_row1_col7, #T_c8180_row2_col1, #T_c8180_row7_col1 {\n  background-color: #ffb4b4;\n  color: #000000;\n}\n#T_c8180_row1_col3, #T_c8180_row3_col1 {\n  background-color: #ffb0b0;\n  color: #000000;\n}\n#T_c8180_row1_col4, #T_c8180_row4_col1 {\n  background-color: #f2f2ff;\n  color: #000000;\n}\n#T_c8180_row1_col5, #T_c8180_row5_col1 {\n  background-color: #ffeaea;\n  color: #000000;\n}\n#T_c8180_row1_col6, #T_c8180_row6_col1 {\n  background-color: #9898ff;\n  color: #f1f1f1;\n}\n#T_c8180_row1_col9, #T_c8180_row9_col1 {\n  background-color: #ffb8b8;\n  color: #000000;\n}\n#T_c8180_row1_col10, #T_c8180_row10_col1 {\n  background-color: #ffbaba;\n  color: #000000;\n}\n#T_c8180_row2_col3, #T_c8180_row3_col2 {\n  background-color: #ff7272;\n  color: #f1f1f1;\n}\n#T_c8180_row2_col4, #T_c8180_row4_col2 {\n  background-color: #ffd8d8;\n  color: #000000;\n}\n#T_c8180_row2_col6, #T_c8180_row6_col2 {\n  background-color: #9292ff;\n  color: #f1f1f1;\n}\n#T_c8180_row2_col7, #T_c8180_row7_col2 {\n  background-color: #ff8c8c;\n  color: #000000;\n}\n#T_c8180_row2_col8, #T_c8180_row8_col2 {\n  background-color: #ff9292;\n  color: #000000;\n}\n#T_c8180_row2_col9, #T_c8180_row9_col2 {\n  background-color: #ff8282;\n  color: #f1f1f1;\n}\n#T_c8180_row2_col10, #T_c8180_row5_col7, #T_c8180_row7_col5, #T_c8180_row10_col2 {\n  background-color: #ff5656;\n  color: #f1f1f1;\n}\n#T_c8180_row3_col4, #T_c8180_row4_col3, #T_c8180_row4_col10, #T_c8180_row5_col10, #T_c8180_row10_col4, #T_c8180_row10_col5 {\n  background-color: #ffe8e8;\n  color: #000000;\n}\n#T_c8180_row3_col5, #T_c8180_row5_col3 {\n  background-color: #fff6f6;\n  color: #000000;\n}\n#T_c8180_row3_col6, #T_c8180_row6_col3 {\n  background-color: #ccccff;\n  color: #000000;\n}\n#T_c8180_row3_col8, #T_c8180_row8_col3 {\n  background-color: #ffa2a2;\n  color: #000000;\n}\n#T_c8180_row3_col9, #T_c8180_row9_col3 {\n  background-color: #ff8e8e;\n  color: #000000;\n}\n#T_c8180_row3_col10, #T_c8180_row10_col3 {\n  background-color: #ff7c7c;\n  color: #f1f1f1;\n}\n#T_c8180_row4_col5, #T_c8180_row5_col4 {\n  background-color: #ff1e1e;\n  color: #f1f1f1;\n}\n#T_c8180_row4_col6, #T_c8180_row6_col4 {\n  background-color: #ffeeee;\n  color: #000000;\n}\n#T_c8180_row4_col7, #T_c8180_row7_col4 {\n  background-color: #ff6c6c;\n  color: #f1f1f1;\n}\n#T_c8180_row4_col8, #T_c8180_row8_col4 {\n  background-color: #ff7e7e;\n  color: #f1f1f1;\n}\n#T_c8180_row4_col9, #T_c8180_row9_col4 {\n  background-color: #ffbebe;\n  color: #000000;\n}\n#T_c8180_row5_col6, #T_c8180_row6_col5 {\n  background-color: #d6d6ff;\n  color: #000000;\n}\n#T_c8180_row5_col8, #T_c8180_row8_col5 {\n  background-color: #ffc2c2;\n  color: #000000;\n}\n#T_c8180_row6_col7, #T_c8180_row7_col6 {\n  background-color: #4646ff;\n  color: #f1f1f1;\n}\n#T_c8180_row6_col8, #T_c8180_row8_col6 {\n  background-color: #a0a0ff;\n  color: #f1f1f1;\n}\n#T_c8180_row6_col9, #T_c8180_row9_col6 {\n  background-color: #b4b4ff;\n  color: #000000;\n}\n#T_c8180_row6_col10, #T_c8180_row10_col6 {\n  background-color: #8a8aff;\n  color: #f1f1f1;\n}\n#T_c8180_row7_col8, #T_c8180_row8_col7 {\n  background-color: #ff6464;\n  color: #f1f1f1;\n}\n#T_c8180_row7_col9, #T_c8180_row7_col10, #T_c8180_row9_col7, #T_c8180_row10_col7 {\n  background-color: #ff9696;\n  color: #000000;\n}\n#T_c8180_row8_col9, #T_c8180_row9_col8 {\n  background-color: #ff7a7a;\n  color: #f1f1f1;\n}\n#T_c8180_row8_col10, #T_c8180_row10_col8 {\n  background-color: #ff8888;\n  color: #f1f1f1;\n}\n#T_c8180_row9_col10, #T_c8180_row10_col9 {\n  background-color: #ffa6a6;\n  color: #000000;\n}\n\u003c/style\u003e\n\u003ctable id=\"T_c8180\"\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth class=\"blank level0\" \u003e\u0026nbsp;\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col0\" class=\"col_heading level0 col0\" \u003eage\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col1\" class=\"col_heading level0 col1\" \u003esex\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col2\" class=\"col_heading level0 col2\" \u003ebmi\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col3\" class=\"col_heading level0 col3\" \u003ebp\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col4\" class=\"col_heading level0 col4\" \u003es1\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col5\" class=\"col_heading level0 col5\" \u003es2\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col6\" class=\"col_heading level0 col6\" \u003es3\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col7\" class=\"col_heading level0 col7\" \u003es4\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col8\" class=\"col_heading level0 col8\" \u003es5\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col9\" class=\"col_heading level0 col9\" \u003es6\u003c/th\u003e\n      \u003cth id=\"T_c8180_level0_col10\" class=\"col_heading level0 col10\" \u003etarget\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row0\" class=\"row_heading level0 row0\" \u003eage\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row0_col0\" class=\"data row0 col0\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col1\" class=\"data row0 col1\" \u003e0.22\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col2\" class=\"data row0 col2\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col3\" class=\"data row0 col3\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col4\" class=\"data row0 col4\" \u003e0.23\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col5\" class=\"data row0 col5\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col6\" class=\"data row0 col6\" \u003e-0.04\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col7\" class=\"data row0 col7\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col8\" class=\"data row0 col8\" \u003e0.28\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col9\" class=\"data row0 col9\" \u003e0.32\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row0_col10\" class=\"data row0 col10\" \u003e0.13\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row1\" class=\"row_heading level0 row1\" \u003esex\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row1_col0\" class=\"data row1 col0\" \u003e0.22\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col1\" class=\"data row1 col1\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col2\" class=\"data row1 col2\" \u003e0.29\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col3\" class=\"data row1 col3\" \u003e0.31\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col4\" class=\"data row1 col4\" \u003e-0.05\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col5\" class=\"data row1 col5\" \u003e0.08\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col6\" class=\"data row1 col6\" \u003e-0.41\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col7\" class=\"data row1 col7\" \u003e0.30\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col8\" class=\"data row1 col8\" \u003e0.13\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col9\" class=\"data row1 col9\" \u003e0.27\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row1_col10\" class=\"data row1 col10\" \u003e0.27\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row2\" class=\"row_heading level0 row2\" \u003ebmi\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row2_col0\" class=\"data row2 col0\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col1\" class=\"data row2 col1\" \u003e0.29\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col2\" class=\"data row2 col2\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col3\" class=\"data row2 col3\" \u003e0.55\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col4\" class=\"data row2 col4\" \u003e0.16\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col5\" class=\"data row2 col5\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col6\" class=\"data row2 col6\" \u003e-0.43\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col7\" class=\"data row2 col7\" \u003e0.45\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col8\" class=\"data row2 col8\" \u003e0.43\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col9\" class=\"data row2 col9\" \u003e0.49\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row2_col10\" class=\"data row2 col10\" \u003e0.66\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row3\" class=\"row_heading level0 row3\" \u003ebp\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row3_col0\" class=\"data row3 col0\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col1\" class=\"data row3 col1\" \u003e0.31\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col2\" class=\"data row3 col2\" \u003e0.55\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col3\" class=\"data row3 col3\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col4\" class=\"data row3 col4\" \u003e0.09\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col5\" class=\"data row3 col5\" \u003e0.04\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col6\" class=\"data row3 col6\" \u003e-0.20\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col7\" class=\"data row3 col7\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col8\" class=\"data row3 col8\" \u003e0.36\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col9\" class=\"data row3 col9\" \u003e0.44\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row3_col10\" class=\"data row3 col10\" \u003e0.51\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row4\" class=\"row_heading level0 row4\" \u003es1\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row4_col0\" class=\"data row4 col0\" \u003e0.23\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col1\" class=\"data row4 col1\" \u003e-0.05\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col2\" class=\"data row4 col2\" \u003e0.16\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col3\" class=\"data row4 col3\" \u003e0.09\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col4\" class=\"data row4 col4\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col5\" class=\"data row4 col5\" \u003e0.88\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col6\" class=\"data row4 col6\" \u003e0.07\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col7\" class=\"data row4 col7\" \u003e0.57\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col8\" class=\"data row4 col8\" \u003e0.50\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col9\" class=\"data row4 col9\" \u003e0.26\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row4_col10\" class=\"data row4 col10\" \u003e0.09\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row5\" class=\"row_heading level0 row5\" \u003es2\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row5_col0\" class=\"data row5 col0\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col1\" class=\"data row5 col1\" \u003e0.08\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col2\" class=\"data row5 col2\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col3\" class=\"data row5 col3\" \u003e0.04\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col4\" class=\"data row5 col4\" \u003e0.88\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col5\" class=\"data row5 col5\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col6\" class=\"data row5 col6\" \u003e-0.16\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col7\" class=\"data row5 col7\" \u003e0.66\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col8\" class=\"data row5 col8\" \u003e0.23\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col9\" class=\"data row5 col9\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row5_col10\" class=\"data row5 col10\" \u003e0.09\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row6\" class=\"row_heading level0 row6\" \u003es3\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row6_col0\" class=\"data row6 col0\" \u003e-0.04\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col1\" class=\"data row6 col1\" \u003e-0.41\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col2\" class=\"data row6 col2\" \u003e-0.43\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col3\" class=\"data row6 col3\" \u003e-0.20\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col4\" class=\"data row6 col4\" \u003e0.07\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col5\" class=\"data row6 col5\" \u003e-0.16\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col6\" class=\"data row6 col6\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col7\" class=\"data row6 col7\" \u003e-0.72\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col8\" class=\"data row6 col8\" \u003e-0.37\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col9\" class=\"data row6 col9\" \u003e-0.30\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row6_col10\" class=\"data row6 col10\" \u003e-0.46\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row7\" class=\"row_heading level0 row7\" \u003es4\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row7_col0\" class=\"data row7 col0\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col1\" class=\"data row7 col1\" \u003e0.30\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col2\" class=\"data row7 col2\" \u003e0.45\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col3\" class=\"data row7 col3\" \u003e0.19\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col4\" class=\"data row7 col4\" \u003e0.57\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col5\" class=\"data row7 col5\" \u003e0.66\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col6\" class=\"data row7 col6\" \u003e-0.72\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col7\" class=\"data row7 col7\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col8\" class=\"data row7 col8\" \u003e0.60\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col9\" class=\"data row7 col9\" \u003e0.41\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row7_col10\" class=\"data row7 col10\" \u003e0.41\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row8\" class=\"row_heading level0 row8\" \u003es5\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row8_col0\" class=\"data row8 col0\" \u003e0.28\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col1\" class=\"data row8 col1\" \u003e0.13\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col2\" class=\"data row8 col2\" \u003e0.43\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col3\" class=\"data row8 col3\" \u003e0.36\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col4\" class=\"data row8 col4\" \u003e0.50\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col5\" class=\"data row8 col5\" \u003e0.23\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col6\" class=\"data row8 col6\" \u003e-0.37\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col7\" class=\"data row8 col7\" \u003e0.60\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col8\" class=\"data row8 col8\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col9\" class=\"data row8 col9\" \u003e0.52\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row8_col10\" class=\"data row8 col10\" \u003e0.46\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row9\" class=\"row_heading level0 row9\" \u003es6\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row9_col0\" class=\"data row9 col0\" \u003e0.32\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col1\" class=\"data row9 col1\" \u003e0.27\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col2\" class=\"data row9 col2\" \u003e0.49\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col3\" class=\"data row9 col3\" \u003e0.44\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col4\" class=\"data row9 col4\" \u003e0.26\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col5\" class=\"data row9 col5\" \u003e0.18\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col6\" class=\"data row9 col6\" \u003e-0.30\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col7\" class=\"data row9 col7\" \u003e0.41\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col8\" class=\"data row9 col8\" \u003e0.52\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col9\" class=\"data row9 col9\" \u003e1.00\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row9_col10\" class=\"data row9 col10\" \u003e0.35\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth id=\"T_c8180_level0_row10\" class=\"row_heading level0 row10\" \u003etarget\u003c/th\u003e\n      \u003ctd id=\"T_c8180_row10_col0\" class=\"data row10 col0\" \u003e0.13\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col1\" class=\"data row10 col1\" \u003e0.27\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col2\" class=\"data row10 col2\" \u003e0.66\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col3\" class=\"data row10 col3\" \u003e0.51\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col4\" class=\"data row10 col4\" \u003e0.09\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col5\" class=\"data row10 col5\" \u003e0.09\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col6\" class=\"data row10 col6\" \u003e-0.46\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col7\" class=\"data row10 col7\" \u003e0.41\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col8\" class=\"data row10 col8\" \u003e0.46\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col9\" class=\"data row10 col9\" \u003e0.35\u003c/td\u003e\n      \u003ctd id=\"T_c8180_row10_col10\" class=\"data row10 col10\" \u003e1.00\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Scope\n\n`model_inspector` makes some attempt to support estimators from popular\nlibraries other than `scikit-learn` that mimic the `scikit-learn`\ninterface. The following estimators are specifically supported:\n\n- From `catboost`:\n  - `CatBoostClassifier`\n  - `CatBoostRegressor`\n- From `lightgbm`:\n  - `LGBMClassifier`\n  - `LGBMRegressor`\n- From `xgboost`:\n  - `XGBClassifier`\n  - `XGBRegressor`\n\n## Install\n\n`pip install model_inspector`\n\n## Alternatives\n\n### Yellowbrick\n\n[Yellowbrick](https://www.scikit-yb.org/en/latest/) is similar to Model\nInspector in that it provides tools for visualizing the behavior of\n`scikit-learn` models.\n\nThe two libraries have different designs. Yellowbrick uses `Visualizer`\nobjects, each class of which corresponds to a single type of\nvisualization. The `Visualizer` interface is similar to the\n`scikit-learn` transformer and estimator interfaces. In constrast,\n`model_inspector` uses `Inspector` objects that bundle together a\n`scikit-learn` model, an `X` feature DataFrame, and a `y` target Series.\nThe `Inspector` object does the work of identifying appropriate\nvisualization types for the specific model and dataset in question and\nexposing corresponding methods, making it easy to visualize a given\nmodel for a given dataset in a variety of ways.\n\nAnother fundamental difference is that Yellowbrick is framed as a\nmachine learning *visualization* library, while Model Inspector treats\nvisualization as just one approach to inspecting the behavior of machine\nlearning models.\n\n### SHAP\n\n[SHAP](https://github.com/slundberg/shap) is another library that\nprovides a set of tools for understanding the behavior of machine\nlearning models. It has a somewhat similar design to Model Inspector in\nthat it uses `Explainer` objects to provide access to methods that are\nappropriate for a given model. It has broader scope than Model Inspector\nin that it supports models from frameworks such as PyTorch and\nTensorFlow. It has narrower scope in that it only implements methods\nbased on Shapley values.\n\n## Acknowledgments\n\nMany aspects of this library were inspired by [FastAI\ncourses](https://course.fast.ai/), including bundling together a model\nwith data in a class and providing certain specific visualization\nmethods such as feature importance bar plots, feature clusters\ndendrograms, tree diagrams, waterfall plots, and partial dependence\nplots. Its primary contribution is to make all of these methods\navailable in a single convenient interface.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsganden%2Fmodel_inspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsganden%2Fmodel_inspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsganden%2Fmodel_inspector/lists"}