{ "cells": [ { "cell_type": "markdown", "id": "bf925586-9e47-4588-b544-0faa8bc4cf7b", "metadata": {}, "source": [ "# H2O Sonar Pickled Model CLI demo\n", "\n", "This example demonstrates how to interpret a pickled model using H2O Sonar from the **command line**." ] }, { "cell_type": "code", "execution_count": 1, "id": "0da787e4-964b-486b-a67e-19efdc8c48cd", "metadata": {}, "outputs": [], "source": [ "import os\n", "import time" ] }, { "cell_type": "markdown", "id": "94fa1d12-1fed-446c-b153-9ae4a4eb2f99", "metadata": {}, "source": [ "Get **H2O Sonar** command line interface help:" ] }, { "cell_type": "code", "execution_count": 3, "id": "7259cacf-44f5-4c81-934b-ec68ac759e8e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: h2o-sonar [-h] [--dataset DATASET] [--target-col TARGET_COL]\n", " [--results-location RESULTS_LOCATION] [--model MODEL]\n", " [--validset VALIDSET] [--testset TESTSET]\n", " [--use_raw-features USE_RAW_FEATURES]\n", " [--weight-col WEIGHT_COL] [--drop-cols DROP_COLS]\n", " [--sample-num-rows SAMPLE_NUM_ROWS]\n", " [--used-features USED_FEATURES] [--model-type {pickle,mojo}]\n", " [--explainer EXPLAINER] [--explainers EXPLAINERS]\n", " [--all-explainers] [--explainers-pars EXPLAINERS_PARS]\n", " [--config-path CONFIG_PATH] [--config-type CONFIG_TYPE]\n", " [--config-value CONFIG_VALUE]\n", " [--encryption-key ENCRYPTION_KEY] [-d]\n", " [--args-as-json-location ARGS_AS_JSON_LOCATION]\n", " [--log-level {error,warning,info,debug}]\n", " action entity\n", "\n", "H2O Sonar Python library for Responsible AI.\n", "\n", "H2O Sonar is Python package that enables a holistic, low-risk, human-interpretable,\n", "fair, and trustable approach to machine learning by implementing various facets of\n", "Responsible AI.\n", "\n", "optional arguments per action and entity:\n", "\n", " show version:\n", " show H2O Sonar version\n", "\n", " add config:\n", " --config-path path to JSon or TOML file with H2O Sonar config to be changed\n", " --config-type config item type: 'CONNECTION' or 'LICENSE'\n", " --config-value config item value (serialized as JSon) to add to the config file\n", " --encryption-key secret key to encrypt config fields with sensitive data\n", " (alternatively set H2O_SONAR_ENCRYPTION_KEY environment variable)\n", "\n", " show config:\n", " --config-path path to JSon or TOML file with H2O Sonar config\n", " --encryption-key optional secret key to decrypt config fields with sensitive data\n", " (alternatively set H2O_SONAR_ENCRYPTION_KEY environment variable)\n", "\n", " list explainers:\n", " --detailed show detailed descriptors (only IDs are shown by default)\n", " --args-as-json-location\n", " optional JSon file which overrides filtering CLI arguments\n", "\n", " describe explainer:\n", " --explainer explainer ID\n", "\n", " run interpretation:\n", " --dataset path to dataset\n", " --target-col target column\n", " --model path to the serialized model, URL or locator\n", " --results-location\n", " optional path to the interpretation results location (directory)\n", " --validset optional path to validation dataset\n", " --testset optional path to test dataset\n", " --use_raw_features\n", " force the use of transformed features in surrogate models\n", " with 'false', by default the original (raw) features are used\n", " --weight-col optional dataset column name with examples weights\n", " --drop-cols optional list of dataset columns to drop\n", " --sample-num-rows\n", " optional number of rows to sample from dataset (default: sample\n", " based on the RAM size, 0 do not sample, >0 sample to the specified\n", " number of rows)\n", " --all-explainers run all explainers (only the most important are run by default)\n", " --used-features optional comma separated list of features used by the model\n", " --model-type optional model type: 'pickle' or 'mojo'\n", " --explainers optional comma separated list of explainer IDs to be run\n", " --explainers-pars optional dictionary with explainer parameters\n", " --config-path path to JSon or TOML file with H2O Sonar config to be changed\n", " --args-as-json-location\n", " optional JSon file which overrides CLI arguments\n", " --log-level optional log level: 'error', 'warning', 'info', 'debug'\n", "\n", " list interpretations:\n", " --results-location\n", " path to directory, URL, location of interpretation results\n", " --log-level optional log level: 'error', 'warning', 'info', 'debug'\n", "\n", "positional arguments:\n", " action action to take: 'list', 'run' or 'describe'\n", " entity entity on which to perform the action:\n", " 'interpretation'(s) or 'explainer'(s)\n", "\n", "optional arguments:\n", " -h, --help show this help message and exit\n", " --dataset DATASET location of the dataset\n", " --target-col TARGET_COL\n", " target column\n", " --results-location RESULTS_LOCATION\n", " location where to store the interpretation results\n", " --model MODEL location of the model\n", " --validset VALIDSET location of the validation dataset\n", " --testset TESTSET location of the test dataset\n", " --use_raw-features USE_RAW_FEATURES\n", " force the use of transformed features in surrogate\n", " models with `false`\n", " --weight-col WEIGHT_COL\n", " optional dataset column name with examples weights\n", " --drop-cols DROP_COLS\n", " optional list of dataset columns to drop\n", " --sample-num-rows SAMPLE_NUM_ROWS\n", " optional number of rows to sample from the dataset\n", " --used-features USED_FEATURES\n", " optional comma separated list of features used by the\n", " model\n", " --model-type {pickle,mojo}\n", " model type: 'pickle' (.pkl) or 'mojo' (.mojo)\n", " --explainer EXPLAINER\n", " ID of the explainer to describe\n", " --explainers EXPLAINERS\n", " comma separated list of explainer IDs to be run (only\n", " the most important explainers are run by default)\n", " --all-explainers run all explainers (only the most important explainers\n", " are run by default)\n", " --explainers-pars EXPLAINERS_PARS\n", " optional dictionary with explainer parameters - the\n", " dictionary key is explainer ID and value is dictionary\n", " with parameters; parameter dictionary has parameter\n", " name as the key and parameter value as the value\n", " --config-path CONFIG_PATH\n", " path to JSon or TOML file with H2O Sonar configuration\n", " to be used to override defaults - specify only items\n", " you want to change (please refer to\n", " h2o_sonar.config.H2oSonarConfig for more details)\n", " --config-type CONFIG_TYPE\n", " configuration item type - 'CONNECTION' or 'LICENSE'\n", " --config-value CONFIG_VALUE\n", " configuration item value represented either as\n", " dictionary or as string with JSon serialization of the\n", " configuration item - it is expected that the config\n", " item is NOT encrypted\n", " --encryption-key ENCRYPTION_KEY\n", " encryption key to be used for encrypting/decrypting\n", " sensitive data in the configuration. If not specified,\n", " shell environment variable H2O_SONAR_ENCRYPTION_KEY\n", " with the encryption key is used.\n", " -d, --detailed show detailed descriptors (only IDs are shown by\n", " default)\n", " --args-as-json-location ARGS_AS_JSON_LOCATION\n", " location of the JSon file with all command arguments\n", " (replacing command line arguments) allowing to load\n", " them from the filesystem\n", " --log-level {error,warning,info,debug}\n", " log level\n", "\n", "examples:\n", "\n", " h2o-sonar --help\n", " h2o-sonar show version\n", " h2o-sonar list explainers\n", " h2o-sonar list explainers --detailed\n", " h2o-sonar describe explainer\n", " --explainer=h2o_sonar.explainers.dia_explainer.DiaExplainer\n", " h2o-sonar run interpretation\n", " --dataset=dataset.csv\n", " --target-col=PROFIT\n", " --results-location=/home/user/results\n", " --model=model.pickle\n", " --all-explainers\n", " h2o-sonar run interpretation\n", " --dataset=dataset.csv\n", " --target-col=PROFIT\n", " --results-location=/home/user/results\n", " --model=model.pickle\n", " --used-features=FEATURE_1,FEATURE_2,FEATURE_3\n", " --explainers=h2o_sonar.explainers.dia_explainer.DiaExplainer\n", " --explainers-pars=\n", " \"{'h2o_sonar.explainers.dia_explainer.DiaExplainer':{'cut_off': 0.5}}\"\n", " --drop_cols=COLUMN_1,COLUMN_2,COLUMN_3\n", " h2o-sonar run interpretation\n", " --args-as-json-location=h2o-sonar-args.json\n", " h2o-sonar list interpretations --results-location=/home/user/results\n", "\n", "H2O Sonar JSon configuration example:\n", " {\n", " \"h2o_host\": \"192.168.1.210\",\n", " \"h2o_port\": 57561,\n", " \"h2o_auto_start\": true\n", " }\n", "\n", "Interpretation arguments JSon file example - see interpret.py::run_interpretation():\n", " {\n", " \"dataset\": \"dataset.csv\",\n", " \"model\": \"model.pickle\",\n", " \"target_col\": \"PROFIT\",\n", " \"results_location\": \"./results\"\n", " }\n", "\n", "Explainer listing arguments JSon file example - see interpret.py::list_explainers():\n", " {\n", " \"experiment_types\": [\"regression\"],\n", " \"explanation_scopes\": [\"local_scope\"],\n", " \"keywords\": [\"explains-fairness\"],\n", " \"explainer_filter\": [{\"filter_by\": \"filter-name\", \"value\": \"v\"}]\n", " }\n" ] } ], "source": [ "!h2o-sonar --help" ] }, { "cell_type": "markdown", "id": "7e593ebe-33aa-4a58-b6d1-7c35767690e7", "metadata": {}, "source": [ "**Pickled** model to be interpreted by the library:" ] }, { "cell_type": "code", "execution_count": 4, "id": "7934b7a8-f86a-44ca-8ce7-f0b5be4b696e", "metadata": {}, "outputs": [], "source": [ "dataset_path = \"../../data/creditcard.csv\"\n", "target_column = \"\\\"default payment next month\\\"\"\n", "\n", "# path to sklearn GBM model\n", "model_path = \"../../data/models/creditcard-binomial-sklearn-gbm.pkl\"\n", "\n", "results_path = f\"/tmp/{time.time()}\"\n", "os.mkdir(results_path)" ] }, { "cell_type": "markdown", "id": "308379a8-c1cd-48ca-ab71-38c51e897935", "metadata": {}, "source": [ "Run new interpretation using command line interface:" ] }, { "cell_type": "code", "execution_count": 8, "id": "c8697b39-06b0-4bf5-a481-f17fc7baaf6d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_clustering.py:35: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _pt_shuffle_rec(i, indexes, index_mask, partition_tree, M, pos):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_clustering.py:54: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def delta_minimization_order(all_masks, max_swap_size=100, num_passes=2):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_clustering.py:63: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _reverse_window(order, start, length):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_clustering.py:69: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _reverse_window_score_gain(masks, order, start, length):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_clustering.py:77: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _mask_delta_score(m1, m2):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/links.py:5: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def identity(x):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/links.py:10: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _identity_inverse(x):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/links.py:15: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def logit(x):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/links.py:20: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _logit_inverse(x):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_masked_model.py:363: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _build_fixed_single_output(averaged_outs, last_outs, outputs, batch_positions, varying_rows, num_varying_rows, link, linearizing_weights):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_masked_model.py:385: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _build_fixed_multi_output(averaged_outs, last_outs, outputs, batch_positions, varying_rows, num_varying_rows, link, linearizing_weights):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_masked_model.py:428: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _init_masks(cluster_matrix, M, indices_row_pos, indptr):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/utils/_masked_model.py:439: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _rec_fill_masks(cluster_matrix, indices_row_pos, indptr, indices, M, ind):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/maskers/_tabular.py:186: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _single_delta_mask(dind, masked_inputs, last_mask, data, x, noop_code):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/maskers/_tabular.py:197: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _delta_masking(masks, x, curr_delta_inds, varying_rows_out,\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/maskers/_image.py:175: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def _jit_build_partition_tree(xmin, xmax, ymin, ymax, zmin, zmax, total_ywidth, total_zwidth, M, clustering, q):\n", "/home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/shap/explainers/_partition.py:676: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", " def lower_credit(i, value, M, values, clustering):\n", "\"is\" with a literal. Did you mean \"==\"?\n", "\"is\" with a literal. Did you mean \"==\"?\n", "\"is\" with a literal. Did you mean \"==\"?\n", "\"is\" with a literal. Did you mean \"==\"?\n", "The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", "The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", "\"is not\" with a literal. Did you mean \"!=\"?\n", "\"is not\" with a literal. Did you mean \"!=\"?\n", "Stratified/random sampler: loading the original dataset '../../data/creditcard.csv' for sampling...\n", "Stratified/random sampler: -> did NO sampling as the sampling limit is smaller than the number of rows in the dataset: 10000 <= 25000\n", "Trying to unpickle estimator DummyClassifier from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", "Trying to unpickle estimator DecisionTreeRegressor from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", "Trying to unpickle estimator GradientBoostingClassifier from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", "Preparing and checking DIA features (None): dataset= | BILL_AMT5 PAY_5 EDUCATION PAY_AMT4 BILL_AMT4 PAY_AMT3 BILL_AMT3 PAY_2 SEX PAY_AMT6 … PAY_AMT5 default payment next month PAY_AMT2 BILL_AMT2 PAY_4\n", " | int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int8 int32 int32 int32\n", "---- + --------- ----- --------- -------- --------- -------- --------- ----- ----- -------- -------- -------------------------- -------- --------- -----\n", " 0 | 0 -2 2 0 0 0 689 2 2 0 … 0 1 689 3102 -1\n", " 1 | 3455 0 2 1000 3272 1000 2682 2 2 2000 … 0 1 1000 1725 0\n", " 2 | 14948 0 2 1000 14331 1000 13559 0 2 5000 … 1000 0 1500 14027 0\n", " 3 | 28959 0 2 1100 28314 1200 49291 0 2 1000 … 1069 0 2019 48233 0\n", " 4 | 19146 0 2 9000 20940 10000 35835 0 1 679 … 689 0 36681 5670 0\n", " 5 | 19619 0 1 1000 19394 657 57608 0 1 800 … 1000 0 1815 57069 0\n", " 6 | 483003 0 1 20239 542653 38000 445007 0 1 13770 … 13750 0 40000 412023 0\n", " 7 | -159 0 2 581 221 0 601 -1 2 1542 … 1687 0 601 380 0\n", " 8 | 11793 0 3 1000 12211 432 12108 0 2 1000 … 1000 0 0 14096 0\n", " 9 | 13007 -1 3 13007 0 0 0 -2 1 0 … 1122 0 0 0 -2\n", " 10 | 1828 0 3 300 2513 50 5535 0 2 66 … 3738 0 12 9787 0\n", " 11 | 22287 -1 1 22301 8517 8583 9966 -1 2 3640 … 0 0 9966 21670 -1\n", " 12 | 6500 -1 2 6500 6500 6500 6500 0 2 0 … 2870 0 6500 6500 -1\n", " 13 | 36137 0 2 3000 66782 3000 65701 2 1 0 … 1500 1 0 67369 0\n", " 14 | 56875 0 1 3000 59696 3000 63561 0 1 3000 … 3000 0 3000 67060 0\n", " … | … … … … … … … … … … … … … … … …\n", "9995 | 0 -2 1 0 0 0 0 -2 2 1419 … 0 0 0 241 -2\n", "9996 | 0 -2 2 0 0 0 0 -2 2 0 … 0 0 0 0 -2\n", "9997 | 176717 0 3 27080 151078 10000 142520 0 1 4200 … 10017 0 5000 144085 0\n", "9998 | 0 -2 2 0 0 0 0 2 2 0 … 0 1 0 780 -2\n", "9999 | 19255 0 2 3000 19506 3000 19750 0 1 3000 … 3000 0 3000 20715 0\n", "[10000 rows x 25 columns]\n", " dataset_meta={\n", " \"shape\": \"(10000, 25)\",\n", " \"row_count\": 10000,\n", " \"column_names\": [\n", " \"ID\",\n", " \"LIMIT_BAL\",\n", " \"SEX\",\n", " \"EDUCATION\",\n", " \"MARRIAGE\",\n", " \"AGE\",\n", " \"PAY_0\",\n", " \"PAY_2\",\n", " \"PAY_3\",\n", " \"PAY_4\",\n", " \"PAY_5\",\n", " \"PAY_6\",\n", " \"BILL_AMT1\",\n", " \"BILL_AMT2\",\n", " \"BILL_AMT3\",\n", " \"BILL_AMT4\",\n", " \"BILL_AMT5\",\n", " \"BILL_AMT6\",\n", " \"PAY_AMT1\",\n", " \"PAY_AMT2\",\n", " \"PAY_AMT3\",\n", " \"PAY_AMT4\",\n", " \"PAY_AMT5\",\n", " \"PAY_AMT6\",\n", " \"default payment next month\"\n", " ],\n", " \"column_types\": [\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\",\n", " \"int\"\n", " ],\n", " \"column_uniques\": [\n", " 10000,\n", " 72,\n", " 2,\n", " 7,\n", " 4,\n", " 54,\n", " 11,\n", " 11,\n", " 11,\n", " 11,\n", " 10,\n", " 10,\n", " 8371,\n", " 8215,\n", " 8072,\n", " 7913,\n", " 7764,\n", " 7550,\n", " 3763,\n", " 3581,\n", " 3305,\n", " 3247,\n", " 3258,\n", " 3174,\n", " 2\n", " ],\n", " \"columns_cat\": [],\n", " \"columns_num\": [],\n", " \"file_path\": \"../../data/creditcard.csv\",\n", " \"file_name\": \"\",\n", " \"file_size\": 944719,\n", " \"missing_values\": [\n", " \"\",\n", " \"?\",\n", " \"None\",\n", " \"nan\",\n", " \"NA\",\n", " \"N/A\",\n", " \"unknown\",\n", " \"inf\",\n", " \"-inf\",\n", " \"1.7976931348623157e+308\",\n", " \"-1.7976931348623157e+308\"\n", " ],\n", " \"columns_meta\": [\n", " {\n", " \"name\": \"ID\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": true,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 10000,\n", " \"frequency\": 0,\n", " \"unique\": 10000,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"LIMIT_BAL\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 72,\n", " \"frequency\": 0,\n", " \"unique\": 72,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"SEX\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 2,\n", " \"frequency\": 0,\n", " \"unique\": 2,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"EDUCATION\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 7,\n", " \"frequency\": 0,\n", " \"unique\": 7,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"MARRIAGE\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 4,\n", " \"frequency\": 0,\n", " \"unique\": 4,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"AGE\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 54,\n", " \"frequency\": 0,\n", " \"unique\": 54,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_0\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 11,\n", " \"frequency\": 0,\n", " \"unique\": 11,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_2\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 11,\n", " \"frequency\": 0,\n", " \"unique\": 11,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_3\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 11,\n", " \"frequency\": 0,\n", " \"unique\": 11,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_4\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 11,\n", " \"frequency\": 0,\n", " \"unique\": 11,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_5\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 10,\n", " \"frequency\": 0,\n", " \"unique\": 10,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_6\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 10,\n", " \"frequency\": 0,\n", " \"unique\": 10,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT1\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 8371,\n", " \"frequency\": 0,\n", " \"unique\": 8371,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT2\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 8215,\n", " \"frequency\": 0,\n", " \"unique\": 8215,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT3\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 8072,\n", " \"frequency\": 0,\n", " \"unique\": 8072,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT4\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 7913,\n", " \"frequency\": 0,\n", " \"unique\": 7913,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT5\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 7764,\n", " \"frequency\": 0,\n", " \"unique\": 7764,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"BILL_AMT6\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 7550,\n", " \"frequency\": 0,\n", " \"unique\": 7550,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT1\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3763,\n", " \"frequency\": 0,\n", " \"unique\": 3763,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT2\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3581,\n", " \"frequency\": 0,\n", " \"unique\": 3581,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT3\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3305,\n", " \"frequency\": 0,\n", " \"unique\": 3305,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT4\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3247,\n", " \"frequency\": 0,\n", " \"unique\": 3247,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT5\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3258,\n", " \"frequency\": 0,\n", " \"unique\": 3258,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"PAY_AMT6\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 3174,\n", " \"frequency\": 0,\n", " \"unique\": 3174,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " },\n", " {\n", " \"name\": \"default payment next month\",\n", " \"data_type\": \"int\",\n", " \"logical_types\": [],\n", " \"format\": \"\",\n", " \"is_id\": false,\n", " \"is_numeric\": true,\n", " \"is_categorical\": false,\n", " \"count\": 2,\n", " \"frequency\": 0,\n", " \"unique\": 2,\n", " \"max\": null,\n", " \"min\": null,\n", " \"mean\": null,\n", " \"std\": null,\n", " \"histogram_counts\": [],\n", " \"histogram_ticks\": []\n", " }\n", " ],\n", " \"original_dataset_sampled\": false,\n", " \"original_dataset_path\": \"\",\n", " \"original_dataset_size\": 0,\n", " \"original_dataset_shape\": [\n", " 10000,\n", " 25\n", " ]\n", "}\n", "Using dataset ENTITY to prepare DIA features: column_names=['ID', 'LIMIT_BAL', 'SEX', 'EDUCATION', 'MARRIAGE', 'AGE', 'PAY_0', 'PAY_2', 'PAY_3', 'PAY_4', 'PAY_5', 'PAY_6', 'BILL_AMT1', 'BILL_AMT2', 'BILL_AMT3', 'BILL_AMT4', 'BILL_AMT5', 'BILL_AMT6', 'PAY_AMT1', 'PAY_AMT2', 'PAY_AMT3', 'PAY_AMT4', 'PAY_AMT5', 'PAY_AMT6', 'default payment next month'] column_uniques=[10000, 72, 2, 7, 4, 54, 11, 11, 11, 11, 10, 10, 8371, 8215, 8072, 7913, 7764, 7550, 3763, 3581, 3305, 3247, 3258, 3174, 2]\n", "DIA group columns prepared using dataset ENTITY: {'PAY_0', 'PAY_2', 'SEX', 'PAY_5', 'PAY_6', 'PAY_3', 'EDUCATION', 'default payment next month', 'MARRIAGE', 'PAY_4'}\n", "DIA group columns to SKIP: {'default payment next month', 'model_pred'}\n", "DIA group columns as BOOLs: [, , , , , , , , ]\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", "Checking whether there is an H2O instance running at http://localhost:49539 ..... not found.\n", "Attempting to start a local H2O server...\n", " Java Version: openjdk version \"10\" 2018-03-20; OpenJDK Runtime Environment 18.3 (build 10+44); OpenJDK 64-Bit Server VM 18.3 (build 10+44, mixed mode)\n", " Starting server from /home/dvorka/h/mli/git/h2o-sonar/.venv/lib/python3.8/site-packages/hmli/backend/bin/hmli.jar\n", " Ice root: /tmp/tmpbg2ozvca\n", " JVM stdout: /tmp/tmpbg2ozvca/hmli_dvorka_started_from_python.out\n", " JVM stderr: /tmp/tmpbg2ozvca/hmli_dvorka_started_from_python.err\n", " Server is running at http://127.0.0.1:49539\n", "Connecting to H2O server at http://127.0.0.1:49539 ... successful.\n", "Warning: Your H2O cluster version is too old (1 year, 6 months and 4 days)!Please download and install the latest version from http://hmli.ai/download/\n", "-------------------------- ----------------------------------------------------------------\n", "H2O_cluster_uptime: 00 secs\n", "H2O_cluster_timezone: Europe/Prague\n", "H2O_data_parsing_timezone: UTC\n", "H2O_cluster_version: 3.34.0.7\n", "H2O_cluster_version_age: 1 year, 6 months and 4 days !!!\n", "H2O_cluster_name: H2O_from_python_dvorka_pxcffc\n", "H2O_cluster_total_nodes: 1\n", "H2O_cluster_free_memory: 4 Gb\n", "H2O_cluster_total_cores: 16\n", "H2O_cluster_allowed_cores: 16\n", "H2O_cluster_status: locked, healthy\n", "H2O_connection_url: http://127.0.0.1:49539\n", "H2O_connection_proxy: {\"http\": null, \"https\": null}\n", "H2O_internal_security: False\n", "H2O_API_Extensions: XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder\n", "Python_version: 3.8.10 final\n", "-------------------------- ----------------------------------------------------------------\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "Connecting to H2O server at http://localhost:49539 ... successful.\n", "Warning: Your H2O cluster version is too old (1 year, 6 months and 4 days)!Please download and install the latest version from http://hmli.ai/download/\n", "-------------------------- ----------------------------------------------------------------\n", "H2O_cluster_uptime: 01 secs\n", "H2O_cluster_timezone: Europe/Prague\n", "H2O_data_parsing_timezone: UTC\n", "H2O_cluster_version: 3.34.0.7\n", "H2O_cluster_version_age: 1 year, 6 months and 4 days !!!\n", "H2O_cluster_name: H2O_from_python_dvorka_pxcffc\n", "H2O_cluster_total_nodes: 1\n", "H2O_cluster_free_memory: 4 Gb\n", "H2O_cluster_total_cores: 16\n", "H2O_cluster_allowed_cores: 16\n", "H2O_cluster_status: locked, healthy\n", "H2O_connection_url: http://localhost:49539\n", "H2O_connection_proxy: {\"http\": null, \"https\": null}\n", "H2O_internal_security: False\n", "H2O_API_Extensions: XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder\n", "Python_version: 3.8.10 final\n", "-------------------------- ----------------------------------------------------------------\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Response is numeric, so the regression model will be trained. However, the cardinality is equaled to two, so if you want to train a classification model, convert the response column to categorical before training.\n", "drf Model Build progress: |██████████████████████████████████████████████████████ (done)| 100%\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Export File progress: |██████████████████████████████████████████████████████████ (done)| 100%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "Connecting to H2O server at http://localhost:49539 ... successful.\n", "Warning: Your H2O cluster version is too old (1 year, 6 months and 4 days)!Please download and install the latest version from http://hmli.ai/download/\n", "-------------------------- ----------------------------------------------------------------\n", "H2O_cluster_uptime: 03 secs\n", "H2O_cluster_timezone: Europe/Prague\n", "H2O_data_parsing_timezone: UTC\n", "H2O_cluster_version: 3.34.0.7\n", "H2O_cluster_version_age: 1 year, 6 months and 4 days !!!\n", "H2O_cluster_name: H2O_from_python_dvorka_pxcffc\n", "H2O_cluster_total_nodes: 1\n", "H2O_cluster_free_memory: 4 Gb\n", "H2O_cluster_total_cores: 16\n", "H2O_cluster_allowed_cores: 16\n", "H2O_cluster_status: locked, healthy\n", "H2O_connection_url: http://localhost:49539\n", "H2O_connection_proxy: {\"http\": null, \"https\": null}\n", "H2O_internal_security: False\n", "H2O_API_Extensions: XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder\n", "Python_version: 3.8.10 final\n", "-------------------------- ----------------------------------------------------------------\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Response is numeric, so the regression model will be trained. However, the cardinality is equaled to two, so if you want to train a classification model, convert the response column to categorical before training.\n", "drf Model Build progress: |██████████████████████████████████████████████████████ (done)| 100%\n", "Parse progress: |████████████████████████████████████████████████████████████████ (done)| 100%\n", "Export File progress: |██████████████████████████████████████████████████████████ (done)| 100%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 30.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 40.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%\n", "More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 100.0%\n", "h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 100.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 10.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 40.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 40.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 50.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 50.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 80.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 80.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%\n", "X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%\n", "h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 100.0%\n", "H2O session _sid_aa21 closed.\n", "\n", "Interpretation FINISHED with the following results:\n", " Results directory:\n", " file:///tmp/1687763984.958333\n", " HTML report:\n", " file:///tmp/1687763984.958333/h2o-sonar/mli_experiment_17dccab1-23ba-4446-9650-73a0d6f8f000/interpretation.html\n" ] } ], "source": [ "!h2o-sonar run interpretation \\\n", " --dataset={dataset_path} \\\n", " --model={model_path} \\\n", " --target-col={target_column} \\\n", " --results-location={results_path} " ] }, { "cell_type": "code", "execution_count": 9, "id": "feef75bc-eb9c-4d24-8fd2-10c7dedee5a7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[01;34m/tmp/1687763984.958333\u001b[00m\n", "├── \u001b[01;34mh2o-sonar\u001b[00m\n", "│   └── \u001b[01;34mmli_experiment_17dccab1-23ba-4446-9650-73a0d6f8f000\u001b[00m\n", "│   ├── \u001b[01;34mexplainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_cc22295f-6458-4a0e-917d-7d890a76bac9\u001b[00m\n", "│   │   ├── \u001b[01;34mglobal_disparate_impact_analysis\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_plain\u001b[00m\n", "│   │   │   │   └── explanation.txt\n", "│   │   │   └── text_plain.meta\n", "│   │   ├── \u001b[01;34mglobal_html_fragment\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_html\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-0-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-1-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-2-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-3-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-4-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-5-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-6-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-7-true_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-accuracy.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-adverse_impact.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-false_discovery_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-false_negative_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-false_omissions_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-false_positive_rate.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-negative_predicted_value.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-n.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-precision.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-specificity.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdia-8-true_positive_rate.png\u001b[00m\n", "│   │   │   │   └── explanation.html\n", "│   │   │   └── text_html.meta\n", "│   │   ├── \u001b[01;34mlog\u001b[00m\n", "│   │   │   └── explainer_run_cc22295f-6458-4a0e-917d-7d890a76bac9.log\n", "│   │   ├── \u001b[01;34mmodel_problems\u001b[00m\n", "│   │   │   └── problems_and_actions.json\n", "│   │   ├── result_descriptor.json\n", "│   │   └── \u001b[01;34mwork\u001b[00m\n", "│   │   ├── dia_entity.json\n", "│   │   ├── \u001b[01;34mEDUCATION\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mMARRIAGE\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_0\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m10\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_2\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m10\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_3\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m10\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_4\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m10\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_5\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   ├── \u001b[01;34mPAY_6\u001b[00m\n", "│   │   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m2\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m3\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m4\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m5\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m6\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m7\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m8\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   ├── \u001b[01;34m9\u001b[00m\n", "│   │   │   │   ├── cm.jay\n", "│   │   │   │   ├── disparity.jay\n", "│   │   │   │   ├── me_smd.jay\n", "│   │   │   │   └── parity.jay\n", "│   │   │   └── metrics.jay\n", "│   │   └── \u001b[01;34mSEX\u001b[00m\n", "│   │   ├── \u001b[01;34m0\u001b[00m\n", "│   │   │   ├── cm.jay\n", "│   │   │   ├── disparity.jay\n", "│   │   │   ├── me_smd.jay\n", "│   │   │   └── parity.jay\n", "│   │   ├── \u001b[01;34m1\u001b[00m\n", "│   │   │   ├── cm.jay\n", "│   │   │   ├── disparity.jay\n", "│   │   │   ├── me_smd.jay\n", "│   │   │   └── parity.jay\n", "│   │   └── metrics.jay\n", "│   ├── \u001b[01;34mexplainer_h2o_sonar_explainers_dt_surrogate_explainer_DecisionTreeSurrogateExplainer_5f33d98a-d416-46b5-a0b2-2597907a4c01\u001b[00m\n", "│   │   ├── \u001b[01;34mglobal_custom_archive\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_zip\u001b[00m\n", "│   │   │   │   └── \u001b[01;31mexplanation.zip\u001b[00m\n", "│   │   │   └── application_zip.meta\n", "│   │   ├── \u001b[01;34mglobal_decision_tree\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   ├── dt_class_0.json\n", "│   │   │   │   └── explanation.json\n", "│   │   │   └── application_json.meta\n", "│   │   ├── \u001b[01;34mglobal_html_fragment\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_html\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdt-class-0.png\u001b[00m\n", "│   │   │   │   └── explanation.html\n", "│   │   │   └── text_html.meta\n", "│   │   ├── \u001b[01;34mlocal_decision_tree\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   └── explanation.json\n", "│   │   │   └── application_json.meta\n", "│   │   ├── \u001b[01;34mlog\u001b[00m\n", "│   │   │   └── explainer_run_5f33d98a-d416-46b5-a0b2-2597907a4c01.log\n", "│   │   ├── \u001b[01;34mmodel_problems\u001b[00m\n", "│   │   │   └── problems_and_actions.json\n", "│   │   ├── result_descriptor.json\n", "│   │   └── \u001b[01;34mwork\u001b[00m\n", "│   │   ├── dt-class-0.dot\n", "│   │   ├── dt-class-0.dot.pdf\n", "│   │   ├── dtModel.json\n", "│   │   ├── dtpaths_frame.bin\n", "│   │   ├── dtPathsFrame.csv\n", "│   │   ├── \u001b[01;31mdtsurr_mojo.zip\u001b[00m\n", "│   │   ├── dtSurrogate.json\n", "│   │   └── \u001b[01;31mdt_surrogate_rules.zip\u001b[00m\n", "│   ├── \u001b[01;34mexplainer_h2o_sonar_explainers_pd_ice_explainer_PdIceExplainer_9033431a-034f-46a4-9c4d-f90f9a9468ba\u001b[00m\n", "│   │   ├── \u001b[01;34mglobal_html_fragment\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_html\u001b[00m\n", "│   │   │   │   ├── explanation.html\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-0-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-1-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-2-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-3-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-4-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-5-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-6-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-7-class-0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mpd-feature-8-class-0.png\u001b[00m\n", "│   │   │   │   └── \u001b[01;35mpd-feature-9-class-0.png\u001b[00m\n", "│   │   │   └── text_html.meta\n", "│   │   ├── \u001b[01;34mglobal_partial_dependence\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   ├── explanation.json\n", "│   │   │   │   ├── pd_feature_0_class_0.json\n", "│   │   │   │   ├── pd_feature_1_class_0.json\n", "│   │   │   │   ├── pd_feature_2_class_0.json\n", "│   │   │   │   ├── pd_feature_3_class_0.json\n", "│   │   │   │   ├── pd_feature_4_class_0.json\n", "│   │   │   │   ├── pd_feature_5_class_0.json\n", "│   │   │   │   ├── pd_feature_6_class_0.json\n", "│   │   │   │   ├── pd_feature_7_class_0.json\n", "│   │   │   │   ├── pd_feature_8_class_0.json\n", "│   │   │   │   └── pd_feature_9_class_0.json\n", "│   │   │   └── application_json.meta\n", "│   │   ├── \u001b[01;34mlocal_individual_conditional_explanation\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_vnd_h2oai_json_datatable_jay\u001b[00m\n", "│   │   │   │   ├── explanation.json\n", "│   │   │   │   ├── ice_feature_0_class_0.jay\n", "│   │   │   │   ├── ice_feature_1_class_0.jay\n", "│   │   │   │   ├── ice_feature_2_class_0.jay\n", "│   │   │   │   ├── ice_feature_3_class_0.jay\n", "│   │   │   │   ├── ice_feature_4_class_0.jay\n", "│   │   │   │   ├── ice_feature_5_class_0.jay\n", "│   │   │   │   ├── ice_feature_6_class_0.jay\n", "│   │   │   │   ├── ice_feature_7_class_0.jay\n", "│   │   │   │   ├── ice_feature_8_class_0.jay\n", "│   │   │   │   ├── ice_feature_9_class_0.jay\n", "│   │   │   │   └── y_hat.jay\n", "│   │   │   └── application_vnd_h2oai_json_datatable_jay.meta\n", "│   │   ├── \u001b[01;34mlog\u001b[00m\n", "│   │   │   └── explainer_run_9033431a-034f-46a4-9c4d-f90f9a9468ba.log\n", "│   │   ├── \u001b[01;34mmodel_problems\u001b[00m\n", "│   │   │   └── problems_and_actions.json\n", "│   │   ├── result_descriptor.json\n", "│   │   └── \u001b[01;34mwork\u001b[00m\n", "│   │   ├── h2o_sonar-ice-dai-model-10.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-1.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-2.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-3.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-4.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-5.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-6.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-7.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-8.jay\n", "│   │   ├── h2o_sonar-ice-dai-model-9.jay\n", "│   │   ├── h2o_sonar-ice-dai-model.json\n", "│   │   ├── h2o_sonar-pd-dai-model.json\n", "│   │   └── mli_dataset_y_hat.jay\n", "│   ├── \u001b[01;34mexplainer_h2o_sonar_explainers_residual_dt_surrogate_explainer_ResidualDecisionTreeSurrogateExplainer_2b79d59a-4de0-49fa-b3d8-1444703ad29c\u001b[00m\n", "│   │   ├── \u001b[01;34mglobal_custom_archive\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_zip\u001b[00m\n", "│   │   │   │   └── \u001b[01;31mexplanation.zip\u001b[00m\n", "│   │   │   └── application_zip.meta\n", "│   │   ├── \u001b[01;34mglobal_decision_tree\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   ├── dt_class_0.json\n", "│   │   │   │   └── explanation.json\n", "│   │   │   └── application_json.meta\n", "│   │   ├── \u001b[01;34mglobal_html_fragment\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_html\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mdt-class-0.png\u001b[00m\n", "│   │   │   │   └── explanation.html\n", "│   │   │   └── text_html.meta\n", "│   │   ├── \u001b[01;34mlocal_decision_tree\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   └── explanation.json\n", "│   │   │   └── application_json.meta\n", "│   │   ├── \u001b[01;34mlog\u001b[00m\n", "│   │   │   └── explainer_run_2b79d59a-4de0-49fa-b3d8-1444703ad29c.log\n", "│   │   ├── \u001b[01;34mmodel_problems\u001b[00m\n", "│   │   │   └── problems_and_actions.json\n", "│   │   ├── result_descriptor.json\n", "│   │   └── \u001b[01;34mwork\u001b[00m\n", "│   │   ├── dt-class-0.dot\n", "│   │   ├── dt-class-0.dot.pdf\n", "│   │   ├── dtModel.json\n", "│   │   ├── dtpaths_frame.bin\n", "│   │   ├── dtPathsFrame.csv\n", "│   │   ├── \u001b[01;31mdtsurr_mojo.zip\u001b[00m\n", "│   │   ├── dtSurrogate.json\n", "│   │   └── \u001b[01;31mdt_surrogate_rules.zip\u001b[00m\n", "│   ├── \u001b[01;34mexplainer_h2o_sonar_explainers_summary_shap_explainer_SummaryShapleyExplainer_f075f921-4200-4ed6-a904-35da068784fc\u001b[00m\n", "│   │   ├── \u001b[01;34mglobal_html_fragment\u001b[00m\n", "│   │   │   ├── \u001b[01;34mtext_html\u001b[00m\n", "│   │   │   │   ├── explanation.html\n", "│   │   │   │   ├── \u001b[01;35mfeature_0_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_10_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_11_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_12_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_13_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_14_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_15_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_16_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_17_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_18_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_19_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_1_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_20_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_21_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_22_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_23_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_2_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_3_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_4_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_5_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_6_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_7_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_8_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_9_class_0.png\u001b[00m\n", "│   │   │   │   └── \u001b[01;35mshapley-class-0.png\u001b[00m\n", "│   │   │   └── text_html.meta\n", "│   │   ├── \u001b[01;34mglobal_summary_feature_importance\u001b[00m\n", "│   │   │   ├── \u001b[01;34mapplication_json\u001b[00m\n", "│   │   │   │   ├── explanation.json\n", "│   │   │   │   ├── \u001b[01;35mfeature_0_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_10_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_11_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_12_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_13_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_14_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_15_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_16_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_17_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_18_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_19_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_1_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_20_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_21_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_22_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_23_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_2_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_3_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_4_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_5_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_6_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_7_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_8_class_0.png\u001b[00m\n", "│   │   │   │   ├── \u001b[01;35mfeature_9_class_0.png\u001b[00m\n", "│   │   │   │   ├── summary_feature_importance_class_0_offset_0.json\n", "│   │   │   │   ├── summary_feature_importance_class_0_offset_1.json\n", "│   │   │   │   └── summary_feature_importance_class_0_offset_2.json\n", "│   │   │   ├── application_json.meta\n", "│   │   │   ├── \u001b[01;34mapplication_vnd_h2oai_json_datatable_jay\u001b[00m\n", "│   │   │   │   ├── explanation.json\n", "│   │   │   │   └── summary_feature_importance_class_0.jay\n", "│   │   │   ├── application_vnd_h2oai_json_datatable_jay.meta\n", "│   │   │   ├── \u001b[01;34mtext_markdown\u001b[00m\n", "│   │   │   │   ├── explanation.md\n", "│   │   │   │   └── \u001b[01;35mshapley-class-0.png\u001b[00m\n", "│   │   │   └── text_markdown.meta\n", "│   │   ├── \u001b[01;34mlog\u001b[00m\n", "│   │   │   └── explainer_run_f075f921-4200-4ed6-a904-35da068784fc.log\n", "│   │   ├── \u001b[01;34mmodel_problems\u001b[00m\n", "│   │   │   └── problems_and_actions.json\n", "│   │   ├── result_descriptor.json\n", "│   │   └── \u001b[01;34mwork\u001b[00m\n", "│   │   ├── raw_shapley_contribs_class_0.jay\n", "│   │   ├── raw_shapley_contribs_index.json\n", "│   │   ├── report.md\n", "│   │   └── \u001b[01;35mshapley-class-0.png\u001b[00m\n", "│   ├── explainers_parameters.json\n", "│   ├── interpretation.html\n", "│   └── interpretation.json\n", "├── h2o-sonar.html\n", "└── h2o-sonar.log\n", "\n", "140 directories, 593 files\n" ] } ], "source": [ "!tree $results_path" ] }, { "cell_type": "markdown", "id": "8524e3ac-caf6-4844-9cd3-60ae757022e2", "metadata": {}, "source": [ "See `interpretation.html` ^ for interpretation **results**." ] }, { "cell_type": "code", "execution_count": null, "id": "6ac8b24a-7468-4d7e-b2f3-1e62bfff0e72", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "h2o-sonar", "language": "python", "name": "h2o-sonar" }, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }