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
| 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
| 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 | 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.
[ ]: