H2O Sonar Demo of H2O-3 Models

This example demonstrates how to interpret a H2O-3 models using the H2O Sonar library.

[1]:
# install H2O-3 client
!pip install h2o
Requirement already satisfied: h2o in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (3.46.0.9)
Requirement already satisfied: requests in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from h2o) (2.32.5)
Requirement already satisfied: tabulate in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from h2o) (0.9.0)
Requirement already satisfied: charset_normalizer<4,>=2 in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from requests->h2o) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from requests->h2o) (3.11)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from requests->h2o) (2.6.3)
Requirement already satisfied: certifi>=2017.4.17 in /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages (from requests->h2o) (2026.1.4)
[2]:
import h2o
import pandas
import datatable
import webbrowser

from h2o.estimators.gbm import H2OGradientBoostingEstimator

from h2o_sonar import interpret
from h2o_sonar.lib.api.models import ExplainableModel, ExplainableModelType, ExplainableModelMeta
from h2o_sonar.lib.api.datasets import ExplainableDataset
from h2o_sonar.utils.sanitization import SanitizationMap
[3]:
h2o.init()
Checking whether there is an H2O instance running at http://localhost:54321. connected.
H2O_cluster_uptime: 17 mins 48 secs
H2O_cluster_timezone: Europe/Prague
H2O_data_parsing_timezone: UTC
H2O_cluster_version: 3.46.0.9
H2O_cluster_version_age: 2 months and 4 days
H2O_cluster_name: H2O_from_python_user_ornwkr
H2O_cluster_total_nodes: 1
H2O_cluster_free_memory: 4 Gb
H2O_cluster_total_cores: 16
H2O_cluster_allowed_cores: 16
H2O_cluster_status: locked, healthy
H2O_connection_url: http://localhost:54321
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
Python_version: 3.11.11 final
[4]:
# dataset
dataset_path = "../../data/predictive/creditcard.csv"
target_col = "default payment next month"
df = h2o.import_file(dataset_path)
X = list(df.names)
X.remove(target_col)
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
[5]:
X
[5]:
['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']
[6]:
df.head()
[6]:
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
1 20000 2 2 1 24 -2 2 -1 -1 -2 -2 3913 3102 689 0 0 0 0 689 0 0 0 0 1
2 120000 2 2 2 26 -1 2 0 0 0 2 2682 1725 2682 3272 3455 3261 0 1000 1000 1000 0 2000 1
3 90000 2 2 2 34 0 0 0 0 0 0 29239 14027 13559 14331 14948 15549 1518 1500 1000 1000 1000 5000 0
4 50000 2 2 1 37 1 0 0 0 0 0 46990 48233 49291 28314 28959 29547 2000 2019 1200 1100 1069 1000 0
5 50000 1 2 1 57 2 0 -1 0 0 0 8617 5670 35835 20940 19146 19131 2000 36681 10000 9000 689 679 0
6 50000 1 1 2 37 3 0 0 0 0 0 64400 57069 57608 19394 19619 20024 2500 1815 657 1000 1000 800 0
7 500000 1 1 2 29 4 0 0 0 0 0 367965 412023 445007 542653 483003 473944 55000 40000 38000 20239 13750 13770 0
8 100000 2 2 2 23 5 -1 -1 0 0 -1 11876 380 601 221 -159 567 380 601 0 581 1687 1542 0
9 140000 2 3 1 28 6 0 2 0 0 0 11285 14096 12108 12211 11793 3719 3329 0 432 1000 1000 1000 0
10 20000 1 3 2 35 7 -2 -2 -2 -1 -1 0 0 0 0 13007 13912 0 0 0 13007 1122 0 0
[10 rows x 25 columns]
[7]:
# h2o model
gradient_booster = H2OGradientBoostingEstimator(ntrees=1, seed=1234)
gradient_booster.train(
    x=X,
    y=target_col,
    training_frame=df,
    verbose=True,
)
gbm Model Build progress: |
/home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/h2o/estimators/estimator_base.py:192: RuntimeWarning: We have detected that your response column has only 2 unique values (0/1). If you wish to train a binary model instead of a regression model, convert your target column to categorical before training.
  warnings.warn(mesg["message"], RuntimeWarning)

Scoring History for Model GBM_model_python_1769698393912_1 at 2026-01-29 16:11:05.484341
Model Build is 0% done...
               timestamp    duration  number_of_trees  training_rmse  \
0    2026-01-29 16:11:05   0.026 sec              0.0       0.418174

   training_mae  training_deviance
0      0.349738           0.174869



Scoring History for Model GBM_model_python_1769698393912_1 at 2026-01-29 16:11:05.716214
Model Build is 99% done...
               timestamp    duration  number_of_trees  training_rmse  \
0    2026-01-29 16:11:05   0.026 sec              0.0       0.418174
1    2026-01-29 16:11:05   0.256 sec              1.0       0.410428

   training_mae  training_deviance
0      0.349738           0.174869
1      0.342982           0.168451


██████████████████████████████████████████████████████| (done) 100%
[7]:
Model Details
=============
H2OGradientBoostingEstimator : Gradient Boosting Machine
Model Key: GBM_model_python_1769698393912_1
Model Summary:
number_of_trees number_of_internal_trees model_size_in_bytes min_depth max_depth mean_depth min_leaves max_leaves mean_leaves
1.0 1.0 385.0 5.0 5.0 5.0 26.0 26.0 26.0
ModelMetricsRegression: gbm
** Reported on train data. **

MSE: 0.16845099602759814
RMSE: 0.41042782072807654
MAE: 0.3429823858305812
RMSLE: 0.2875261825477124
Mean Residual Deviance: 0.16845099602759814
Scoring History:
timestamp duration number_of_trees training_rmse training_mae training_deviance
2026-01-29 16:11:05 0.026 sec 0.0 0.4181736 0.3497384 0.1748692
2026-01-29 16:11:05 0.256 sec 1.0 0.4104278 0.3429824 0.1684510
Variable Importances:
variable relative_importance scaled_importance percentage
PAY_0 258.5125122 1.0 0.7652836
PAY_3 24.0844650 0.0931656 0.0712981
PAY_AMT1 8.8146772 0.0340977 0.0260944
PAY_5 8.6635008 0.0335129 0.0256469
PAY_2 8.5906410 0.0332310 0.0254312
PAY_4 5.4334307 0.0210181 0.0160848
LIMIT_BAL 4.9508743 0.0191514 0.0146562
ID 4.8031120 0.0185798 0.0142188
BILL_AMT1 4.0065289 0.0154984 0.0118607
PAY_AMT5 3.9974132 0.0154631 0.0118337
--- --- --- ---
EDUCATION 0.0 0.0 0.0
MARRIAGE 0.0 0.0 0.0
PAY_6 0.0 0.0 0.0
BILL_AMT2 0.0 0.0 0.0
BILL_AMT3 0.0 0.0 0.0
BILL_AMT4 0.0 0.0 0.0
BILL_AMT5 0.0 0.0 0.0
PAY_AMT2 0.0 0.0 0.0
PAY_AMT4 0.0 0.0 0.0
PAY_AMT6 0.0 0.0 0.0
[24 rows x 4 columns]

[tips]
Use `model.explain()` to inspect the model.
--
Use `h2o.display.toggle_user_tips()` to switch on/off this section.
[8]:
mojo_path = gradient_booster.save_mojo(path="../../results", force=True)
[9]:
gradient_booster_mojo = h2o.import_mojo(mojo_path)
generic Model Build progress: |██████████████████████████████████████████████████| (done) 100%
[10]:
# H2O model
results_location = "../../results"

# run Interpretation
interpretation = interpret.run_interpretation(
    dataset=dataset_path,
    model=gradient_booster,
    target_col=target_col,
    results_location=results_location,
    used_features=X,
)

# optionally make ExplainableModel() object to provide additional metadata
# h2o_model = ExplainableModel(
#     predict_method=gradient_booster.predict,
#     model_src=gradient_booster,
#     model_type=ExplainableModelType.h2o3,
#     model_meta=ExplainableModelMeta(target_col=target_col)
# )
/home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/ragas/metrics/__init__.py:1: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain_core.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.

For example, replace imports like: `from langchain_core.pydantic_v1 import BaseModel`
with: `from pydantic import BaseModel`
or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet.         from pydantic.v1 import BaseModel

  from ragas.metrics._answer_correctness import AnswerCorrectness, answer_correctness
/home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/ragas/metrics/__init__.py:4: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.

For example, replace imports like: `from langchain.pydantic_v1 import BaseModel`
with: `from pydantic import BaseModel`
or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet.         from pydantic.v1 import BaseModel

  from ragas.metrics._context_entities_recall import (
Preparing and checking DIA features (None): dataset=     |    ID  PAY_AMT6  PAY_5  PAY_AMT1  BILL_AMT3  PAY_AMT5    AGE  MARRIAGE  BILL_AMT2  PAY_4  …  PAY_2  PAY_AMT4  BILL_AMT5  BILL_AMT1  EDUCATION
     | int32     int32  int32     int32      int32     int32  int32     int32      int32  int32     int32     int32      int32      int32      int32
---- + -----  --------  -----  --------  ---------  --------  -----  --------  ---------  -----     -----  --------  ---------  ---------  ---------
   0 |     1         0     -2         0        689         0     24         1       3102     -1  …      2         0          0       3913          2
   1 |     2      2000      0         0       2682         0     26         2       1725      0  …      2      1000       3455       2682          2
   2 |     3      5000      0      1518      13559      1000     34         2      14027      0  …      0      1000      14948      29239          2
   3 |     4      1000      0      2000      49291      1069     37         1      48233      0  …      0      1100      28959      46990          2
   4 |     5       679      0      2000      35835       689     57         1       5670      0  …      0      9000      19146       8617          2
   5 |     6       800      0      2500      57608      1000     37         2      57069      0  …      0      1000      19619      64400          1
   6 |     7     13770      0     55000     445007     13750     29         2     412023      0  …      0     20239     483003     367965          1
   7 |     8      1542      0       380        601      1687     23         2        380      0  …     -1       581       -159      11876          2
   8 |     9      1000      0      3329      12108      1000     28         1      14096      0  …      0      1000      11793      11285          3
   9 |    10         0     -1         0          0      1122     35         2          0     -2  …     -2     13007      13007          0          3
  10 |    11        66      0      2306       5535      3738     34         2       9787      0  …      0       300       1828      11073          3
  11 |    12      3640     -1     21818       9966         0     51         2      21670     -1  …     -1     22301      22287      12261          1
  12 |    13         0     -1      1000       6500      2870     41         2       6500     -1  …      0      6500       6500      12137          2
  13 |    14         0      0      3200      65701      1500     30         2      67369      0  …      2      3000      36137      65802          2
  14 |    15      3000      0      3000      63561      3000     29         2      67060      0  …      0      3000      56875      70887          1
   … |     …         …      …         …          …         …      …         …          …      …  …      …         …          …          …          …
9995 |  9996      1419     -2       241          0         0     31         2        241     -2  …     -2         0          0          0          1
9996 |  9997         0     -2         0          0         0     37         2          0     -2  …     -2         0          0       3946          2
9997 |  9998      4200      0      6437     142520     10017     44         1     144085      0  …      0     27080     176717     138877          3
9998 |  9999         0     -2         0          0         0     26         2        780     -2  …      2         0          0        780          2
9999 | 10000      3000      0      3000      19750      3000     36         1      20715      0  …      0      3000      19255      19505          2
[10000 rows x 25 columns]
 dataset_meta={
  "shape": "(10000, 25)",
  "row_count": 10000,
  "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_types": [
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int",
    "int"
  ],
  "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
  ],
  "columns_cat": [],
  "columns_num": [],
  "file_path": "../../data/predictive/creditcard.csv",
  "file_name": "",
  "file_size": 944719,
  "missing_values": [
    "",
    "?",
    "None",
    "nan",
    "NA",
    "N/A",
    "unknown",
    "inf",
    "-inf",
    "1.7976931348623157e+308",
    "-1.7976931348623157e+308"
  ],
  "columns_meta": [
    {
      "name": "ID",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": true,
      "is_numeric": true,
      "is_categorical": false,
      "count": 10000,
      "frequency": 0,
      "unique": 10000,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "LIMIT_BAL",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 72,
      "frequency": 0,
      "unique": 72,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "SEX",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 2,
      "frequency": 0,
      "unique": 2,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "EDUCATION",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 7,
      "frequency": 0,
      "unique": 7,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "MARRIAGE",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 4,
      "frequency": 0,
      "unique": 4,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "AGE",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 54,
      "frequency": 0,
      "unique": 54,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_0",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 11,
      "frequency": 0,
      "unique": 11,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_2",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 11,
      "frequency": 0,
      "unique": 11,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_3",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 11,
      "frequency": 0,
      "unique": 11,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_4",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 11,
      "frequency": 0,
      "unique": 11,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_5",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 10,
      "frequency": 0,
      "unique": 10,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_6",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 10,
      "frequency": 0,
      "unique": 10,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT1",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 8371,
      "frequency": 0,
      "unique": 8371,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT2",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 8215,
      "frequency": 0,
      "unique": 8215,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT3",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 8072,
      "frequency": 0,
      "unique": 8072,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT4",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 7913,
      "frequency": 0,
      "unique": 7913,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT5",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 7764,
      "frequency": 0,
      "unique": 7764,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "BILL_AMT6",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 7550,
      "frequency": 0,
      "unique": 7550,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT1",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3763,
      "frequency": 0,
      "unique": 3763,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT2",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3581,
      "frequency": 0,
      "unique": 3581,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT3",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3305,
      "frequency": 0,
      "unique": 3305,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT4",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3247,
      "frequency": 0,
      "unique": 3247,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT5",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3258,
      "frequency": 0,
      "unique": 3258,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "PAY_AMT6",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 3174,
      "frequency": 0,
      "unique": 3174,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    },
    {
      "name": "default payment next month",
      "data_type": "int",
      "logical_types": [],
      "format": "",
      "is_id": false,
      "is_numeric": true,
      "is_categorical": false,
      "count": 2,
      "frequency": 0,
      "unique": 2,
      "max": null,
      "min": null,
      "mean": null,
      "std": null,
      "histogram_counts": [],
      "histogram_ticks": []
    }
  ],
  "original_dataset_sampled": false,
  "original_dataset_path": "",
  "original_dataset_size": 0,
  "original_dataset_shape": [
    10000,
    25
  ]
}
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]
DIA group columns prepared using dataset ENTITY: {'SEX', 'PAY_3', 'PAY_0', 'MARRIAGE', 'PAY_6', 'PAY_5', 'default payment next month', 'PAY_2', 'PAY_4', 'EDUCATION'}
DIA group columns to SKIP: {'default payment next month', 'model_pred'}
DIA group columns as BOOLs: [<h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822cc50>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822f590>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822ffd0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822cc90>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822db10>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822dbd0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822f1d0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822d310>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fc8c822f310>]
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Connecting to H2O server at http://localhost:12349 ...
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

.... failed.
████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Connecting to H2O server at http://localhost:12349 ...
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

.... failed.
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

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()`.
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
███████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread.  For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)

[11]:
# open interpretation HTML report in web browser
webbrowser.open(interpretation.result.get_html_report_location())
[11]:
True
[12]:
# View results directory
!tree {interpretation.persistence.base_dir}
../../results/h2o-sonar/mli_experiment_a640bd44-d444-49dc-beed-2f8790b9a666
├── explainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_bcf6d363-0695-4fba-9941-9982e3a949b8
│   ├── global_disparate_impact_analysis
│   │   ├── text_plain
│   │   │   └── explanation.txt
│   │   └── text_plain.meta
│   ├── global_html_fragment
│   │   ├── text_html
│   │   │   ├── dia-0-accuracy.png
│   │   │   ├── dia-0-adverse_impact.png
│   │   │   ├── dia-0-false_discovery_rate.png
│   │   │   ├── dia-0-false_negative_rate.png
│   │   │   ├── dia-0-false_omissions_rate.png
│   │   │   ├── dia-0-false_positive_rate.png
│   │   │   ├── dia-0-negative_predicted_value.png
│   │   │   ├── dia-0-n.png
│   │   │   ├── dia-0-precision.png
│   │   │   ├── dia-0-specificity.png
│   │   │   ├── dia-0-true_positive_rate.png
│   │   │   ├── dia-1-accuracy.png
│   │   │   ├── dia-1-adverse_impact.png
│   │   │   ├── dia-1-false_discovery_rate.png
│   │   │   ├── dia-1-false_negative_rate.png
│   │   │   ├── dia-1-false_omissions_rate.png
│   │   │   ├── dia-1-false_positive_rate.png
│   │   │   ├── dia-1-negative_predicted_value.png
│   │   │   ├── dia-1-n.png
│   │   │   ├── dia-1-precision.png
│   │   │   ├── dia-1-specificity.png
│   │   │   ├── dia-1-true_positive_rate.png
│   │   │   ├── dia-2-accuracy.png
│   │   │   ├── dia-2-adverse_impact.png
│   │   │   ├── dia-2-false_discovery_rate.png
│   │   │   ├── dia-2-false_negative_rate.png
│   │   │   ├── dia-2-false_omissions_rate.png
│   │   │   ├── dia-2-false_positive_rate.png
│   │   │   ├── dia-2-negative_predicted_value.png
│   │   │   ├── dia-2-n.png
│   │   │   ├── dia-2-precision.png
│   │   │   ├── dia-2-specificity.png
│   │   │   ├── dia-2-true_positive_rate.png
│   │   │   ├── dia-3-accuracy.png
│   │   │   ├── dia-3-adverse_impact.png
│   │   │   ├── dia-3-false_discovery_rate.png
│   │   │   ├── dia-3-false_negative_rate.png
│   │   │   ├── dia-3-false_omissions_rate.png
│   │   │   ├── dia-3-false_positive_rate.png
│   │   │   ├── dia-3-negative_predicted_value.png
│   │   │   ├── dia-3-n.png
│   │   │   ├── dia-3-precision.png
│   │   │   ├── dia-3-specificity.png
│   │   │   ├── dia-3-true_positive_rate.png
│   │   │   ├── dia-4-accuracy.png
│   │   │   ├── dia-4-adverse_impact.png
│   │   │   ├── dia-4-false_discovery_rate.png
│   │   │   ├── dia-4-false_negative_rate.png
│   │   │   ├── dia-4-false_omissions_rate.png
│   │   │   ├── dia-4-false_positive_rate.png
│   │   │   ├── dia-4-negative_predicted_value.png
│   │   │   ├── dia-4-n.png
│   │   │   ├── dia-4-precision.png
│   │   │   ├── dia-4-specificity.png
│   │   │   ├── dia-4-true_positive_rate.png
│   │   │   ├── dia-5-accuracy.png
│   │   │   ├── dia-5-adverse_impact.png
│   │   │   ├── dia-5-false_discovery_rate.png
│   │   │   ├── dia-5-false_negative_rate.png
│   │   │   ├── dia-5-false_omissions_rate.png
│   │   │   ├── dia-5-false_positive_rate.png
│   │   │   ├── dia-5-negative_predicted_value.png
│   │   │   ├── dia-5-n.png
│   │   │   ├── dia-5-precision.png
│   │   │   ├── dia-5-specificity.png
│   │   │   ├── dia-5-true_positive_rate.png
│   │   │   ├── dia-6-accuracy.png
│   │   │   ├── dia-6-adverse_impact.png
│   │   │   ├── dia-6-false_discovery_rate.png
│   │   │   ├── dia-6-false_negative_rate.png
│   │   │   ├── dia-6-false_omissions_rate.png
│   │   │   ├── dia-6-false_positive_rate.png
│   │   │   ├── dia-6-negative_predicted_value.png
│   │   │   ├── dia-6-n.png
│   │   │   ├── dia-6-precision.png
│   │   │   ├── dia-6-specificity.png
│   │   │   ├── dia-6-true_positive_rate.png
│   │   │   ├── dia-7-accuracy.png
│   │   │   ├── dia-7-adverse_impact.png
│   │   │   ├── dia-7-false_discovery_rate.png
│   │   │   ├── dia-7-false_negative_rate.png
│   │   │   ├── dia-7-false_omissions_rate.png
│   │   │   ├── dia-7-false_positive_rate.png
│   │   │   ├── dia-7-negative_predicted_value.png
│   │   │   ├── dia-7-n.png
│   │   │   ├── dia-7-precision.png
│   │   │   ├── dia-7-specificity.png
│   │   │   ├── dia-7-true_positive_rate.png
│   │   │   ├── dia-8-accuracy.png
│   │   │   ├── dia-8-adverse_impact.png
│   │   │   ├── dia-8-false_discovery_rate.png
│   │   │   ├── dia-8-false_negative_rate.png
│   │   │   ├── dia-8-false_omissions_rate.png
│   │   │   ├── dia-8-false_positive_rate.png
│   │   │   ├── dia-8-negative_predicted_value.png
│   │   │   ├── dia-8-n.png
│   │   │   ├── dia-8-precision.png
│   │   │   ├── dia-8-specificity.png
│   │   │   ├── dia-8-true_positive_rate.png
│   │   │   └── explanation.html
│   │   └── text_html.meta
│   ├── insights
│   │   └── insights_and_actions.json
│   ├── log
│   │   └── explainer_run_bcf6d363-0695-4fba-9941-9982e3a949b8.log
│   ├── problems
│   │   └── problems_and_actions.json
│   ├── result_descriptor.json
│   └── work
│       ├── dia_entity.json
│       ├── EDUCATION
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── MARRIAGE
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_0
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 10
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_2
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 10
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_3
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 10
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_4
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 10
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_5
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       ├── PAY_6
│       │   ├── 0
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 1
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 2
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 3
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 4
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 5
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 6
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 7
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 8
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   ├── 9
│       │   │   ├── cm.jay
│       │   │   ├── disparity.jay
│       │   │   ├── me_smd.jay
│       │   │   └── parity.jay
│       │   └── metrics.jay
│       └── SEX
│           ├── 0
│           │   ├── cm.jay
│           │   ├── disparity.jay
│           │   ├── me_smd.jay
│           │   └── parity.jay
│           ├── 1
│           │   ├── cm.jay
│           │   ├── disparity.jay
│           │   ├── me_smd.jay
│           │   └── parity.jay
│           └── metrics.jay
├── explainer_h2o_sonar_explainers_dt_surrogate_explainer_DecisionTreeSurrogateExplainer_6fae202c-d572-4bac-9bcd-2882f9be8bfb
│   ├── insights
│   ├── log
│   │   └── explainer_run_6fae202c-d572-4bac-9bcd-2882f9be8bfb.log
│   ├── problems
│   └── work
├── explainer_h2o_sonar_explainers_pd_ice_explainer_PdIceExplainer_7c4a99e7-2b20-46b2-98f0-7b48be024960
│   ├── global_html_fragment
│   │   ├── text_html
│   │   │   ├── explanation.html
│   │   │   ├── pd-feature-0-class-0.png
│   │   │   ├── pd-feature-1-class-0.png
│   │   │   ├── pd-feature-2-class-0.png
│   │   │   ├── pd-feature-3-class-0.png
│   │   │   ├── pd-feature-4-class-0.png
│   │   │   ├── pd-feature-5-class-0.png
│   │   │   ├── pd-feature-6-class-0.png
│   │   │   ├── pd-feature-7-class-0.png
│   │   │   ├── pd-feature-8-class-0.png
│   │   │   └── pd-feature-9-class-0.png
│   │   └── text_html.meta
│   ├── global_partial_dependence
│   │   ├── application_json
│   │   │   ├── explanation.json
│   │   │   ├── pd_feature_0_class_0.json
│   │   │   ├── pd_feature_1_class_0.json
│   │   │   ├── pd_feature_2_class_0.json
│   │   │   ├── pd_feature_3_class_0.json
│   │   │   ├── pd_feature_4_class_0.json
│   │   │   ├── pd_feature_5_class_0.json
│   │   │   ├── pd_feature_6_class_0.json
│   │   │   ├── pd_feature_7_class_0.json
│   │   │   ├── pd_feature_8_class_0.json
│   │   │   └── pd_feature_9_class_0.json
│   │   └── application_json.meta
│   ├── insights
│   │   └── insights_and_actions.json
│   ├── local_individual_conditional_explanation
│   │   ├── application_vnd_h2oai_json_datatable_jay
│   │   │   ├── explanation.json
│   │   │   ├── ice_feature_0_class_0.jay
│   │   │   ├── ice_feature_1_class_0.jay
│   │   │   ├── ice_feature_2_class_0.jay
│   │   │   ├── ice_feature_3_class_0.jay
│   │   │   ├── ice_feature_4_class_0.jay
│   │   │   ├── ice_feature_5_class_0.jay
│   │   │   ├── ice_feature_6_class_0.jay
│   │   │   ├── ice_feature_7_class_0.jay
│   │   │   ├── ice_feature_8_class_0.jay
│   │   │   ├── ice_feature_9_class_0.jay
│   │   │   └── y_hat.jay
│   │   └── application_vnd_h2oai_json_datatable_jay.meta
│   ├── log
│   │   └── explainer_run_7c4a99e7-2b20-46b2-98f0-7b48be024960.log
│   ├── problems
│   │   └── problems_and_actions.json
│   ├── result_descriptor.json
│   └── work
│       ├── h2o_sonar-ice-dai-model-10.jay
│       ├── h2o_sonar-ice-dai-model-1.jay
│       ├── h2o_sonar-ice-dai-model-2.jay
│       ├── h2o_sonar-ice-dai-model-3.jay
│       ├── h2o_sonar-ice-dai-model-4.jay
│       ├── h2o_sonar-ice-dai-model-5.jay
│       ├── h2o_sonar-ice-dai-model-6.jay
│       ├── h2o_sonar-ice-dai-model-7.jay
│       ├── h2o_sonar-ice-dai-model-8.jay
│       ├── h2o_sonar-ice-dai-model-9.jay
│       ├── h2o_sonar-ice-dai-model.json
│       ├── h2o_sonar-pd-dai-model.json
│       └── mli_dataset_y_hat.jay
├── explainer_h2o_sonar_explainers_residual_dt_surrogate_explainer_ResidualDecisionTreeSurrogateExplainer_fb644156-7c5d-4248-838d-48a6481f680c
│   ├── insights
│   ├── log
│   │   └── explainer_run_fb644156-7c5d-4248-838d-48a6481f680c.log
│   ├── problems
│   └── work
├── explainer_h2o_sonar_explainers_summary_shap_explainer_SummaryShapleyExplainer_347fbdd4-35b7-46f2-95e4-a68d41846ad2
│   ├── global_html_fragment
│   │   ├── text_html
│   │   │   ├── explanation.html
│   │   │   ├── feature_0_class_0.png
│   │   │   ├── feature_10_class_0.png
│   │   │   ├── feature_11_class_0.png
│   │   │   ├── feature_12_class_0.png
│   │   │   ├── feature_13_class_0.png
│   │   │   ├── feature_14_class_0.png
│   │   │   ├── feature_15_class_0.png
│   │   │   ├── feature_16_class_0.png
│   │   │   ├── feature_17_class_0.png
│   │   │   ├── feature_18_class_0.png
│   │   │   ├── feature_19_class_0.png
│   │   │   ├── feature_1_class_0.png
│   │   │   ├── feature_20_class_0.png
│   │   │   ├── feature_21_class_0.png
│   │   │   ├── feature_22_class_0.png
│   │   │   ├── feature_23_class_0.png
│   │   │   ├── feature_2_class_0.png
│   │   │   ├── feature_3_class_0.png
│   │   │   ├── feature_4_class_0.png
│   │   │   ├── feature_5_class_0.png
│   │   │   ├── feature_6_class_0.png
│   │   │   ├── feature_7_class_0.png
│   │   │   ├── feature_8_class_0.png
│   │   │   ├── feature_9_class_0.png
│   │   │   └── shapley-class-0.png
│   │   └── text_html.meta
│   ├── global_summary_feature_importance
│   │   ├── application_json
│   │   │   ├── explanation.json
│   │   │   ├── feature_0_class_0.png
│   │   │   ├── feature_10_class_0.png
│   │   │   ├── feature_11_class_0.png
│   │   │   ├── feature_12_class_0.png
│   │   │   ├── feature_13_class_0.png
│   │   │   ├── feature_14_class_0.png
│   │   │   ├── feature_15_class_0.png
│   │   │   ├── feature_16_class_0.png
│   │   │   ├── feature_17_class_0.png
│   │   │   ├── feature_18_class_0.png
│   │   │   ├── feature_19_class_0.png
│   │   │   ├── feature_1_class_0.png
│   │   │   ├── feature_20_class_0.png
│   │   │   ├── feature_21_class_0.png
│   │   │   ├── feature_22_class_0.png
│   │   │   ├── feature_23_class_0.png
│   │   │   ├── feature_2_class_0.png
│   │   │   ├── feature_3_class_0.png
│   │   │   ├── feature_4_class_0.png
│   │   │   ├── feature_5_class_0.png
│   │   │   ├── feature_6_class_0.png
│   │   │   ├── feature_7_class_0.png
│   │   │   ├── feature_8_class_0.png
│   │   │   ├── feature_9_class_0.png
│   │   │   ├── summary_feature_importance_class_0_offset_0.json
│   │   │   ├── summary_feature_importance_class_0_offset_1.json
│   │   │   └── summary_feature_importance_class_0_offset_2.json
│   │   ├── application_json.meta
│   │   ├── application_vnd_h2oai_json_datatable_jay
│   │   │   ├── explanation.json
│   │   │   └── summary_feature_importance_class_0.jay
│   │   ├── application_vnd_h2oai_json_datatable_jay.meta
│   │   ├── text_markdown
│   │   │   ├── explanation.md
│   │   │   └── shapley-class-0.png
│   │   └── text_markdown.meta
│   ├── insights
│   │   └── insights_and_actions.json
│   ├── log
│   │   └── explainer_run_347fbdd4-35b7-46f2-95e4-a68d41846ad2.log
│   ├── problems
│   │   └── problems_and_actions.json
│   ├── result_descriptor.json
│   └── work
│       ├── raw_shapley_contribs_class_0.jay
│       ├── raw_shapley_contribs_index.json
│       ├── report.md
│       └── shapley-class-0.png
├── interpretation.html
├── interpretation.json
└── tmp

128 directories, 553 files
[13]:
h2o.cluster().shutdown()
H2O session _sid_9d04 closed.
[ ]: