H2O Sonar Demo of Pickled Models

This example demonstrates how to interpret a pickled Scikit-learn model using the H2O Sonar library.

[1]:
import pandas as pd
import datatable as dt
import webbrowser

from h2o_sonar import interpret
from h2o_sonar.lib.api.models import ExplainableModel, ExplainableModelType, ExplainableModelMeta
from h2o_sonar.lib.api.datasets import ExplainableDataset

IMPORTANT: make sure that you have the right version of scikit-learn compatible with demo model installed (scikit-learn 1.8.0) in order to ensure binary compability.

[2]:
!pip freeze | grep scikit-learn
scikit-learn==1.8.0
[3]:
target_col = "default payment next month"

# dataset
dataset_path = "../../data/predictive/creditcard.csv"
df = pd.read_csv(dataset_path)

# pickled Sklearn model
model_path = "../../data/predictive/models/creditcard-binomial-sklearn-1.8.0-gbm.pkl"

results_location = "../../results"
[4]:
(X, y) = df.drop(target_col,axis=1), df[target_col]
[5]:
# run Interpretation
interpretation = interpret.run_interpretation(
    dataset=dataset_path,
    model=model_path,
    target_col=target_col,
    results_location="../../results",
    used_features=list(X.columns),
)
/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=     | PAY_AMT2     ID  PAY_AMT5  BILL_AMT1  PAY_3  BILL_AMT6  EDUCATION  LIMIT_BAL  PAY_4  default payment next month  …  PAY_AMT6    SEX    AGE  PAY_AMT3  PAY_2
     |    int32  int32     int32      int32  int32      int32      int32      int32  int32                        int8        int32  int32  int32     int32  int32
---- + --------  -----  --------  ---------  -----  ---------  ---------  ---------  -----  --------------------------     --------  -----  -----  --------  -----
   0 |      689      1         0       3913     -1          0          2      20000     -1                           1  …         0      2     24         0      2
   1 |     1000      2         0       2682      0       3261          2     120000      0                           1  …      2000      2     26      1000      2
   2 |     1500      3      1000      29239      0      15549          2      90000      0                           0  …      5000      2     34      1000      0
   3 |     2019      4      1069      46990      0      29547          2      50000      0                           0  …      1000      2     37      1200      0
   4 |    36681      5       689       8617     -1      19131          2      50000      0                           0  …       679      1     57     10000      0
   5 |     1815      6      1000      64400      0      20024          1      50000      0                           0  …       800      1     37       657      0
   6 |    40000      7     13750     367965      0     473944          1     500000      0                           0  …     13770      1     29     38000      0
   7 |      601      8      1687      11876     -1        567          2     100000      0                           0  …      1542      2     23         0     -1
   8 |        0      9      1000      11285      2       3719          3     140000      0                           0  …      1000      2     28       432      0
   9 |        0     10      1122          0     -2      13912          3      20000     -2                           0  …         0      1     35         0     -2
  10 |       12     11      3738      11073      2       3731          3     200000      0                           0  …        66      2     34        50      0
  11 |     9966     12         0      12261     -1      13668          1     260000     -1                           0  …      3640      2     51      8583     -1
  12 |     6500     13      2870      12137     -1       2870          2     630000     -1                           0  …         0      2     41      6500      0
  13 |        0     14      1500      65802      2      36894          2      70000      0                           1  …         0      1     30      3000      2
  14 |     3000     15      3000      70887      0      55512          1     250000      0                           0  …      3000      1     29      3000      0
   … |        …      …         …          …      …          …          …          …      …                           …  …         …      …      …         …      …
9995 |        0   9996         0          0     -2          0          1     140000     -2                           0  …      1419      2     31         0     -2
9996 |        0   9997         0       3946     -2          0          2      80000     -2                           0  …         0      2     37         0     -2
9997 |     5000   9998     10017     138877      0     168431          3     200000      0                           0  …      4200      1     44     10000      0
9998 |        0   9999         0        780      2          0          2      80000     -2                           1  …         0      2     26         0      2
9999 |     3000  10000      3000      19505      0      17479          2     230000      0                           0  …      3000      1     36      3000      0
[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: {'MARRIAGE', 'PAY_5', 'PAY_0', 'PAY_3', 'PAY_2', 'SEX', 'EDUCATION', 'PAY_6', 'PAY_4', 'default payment next month'}
DIA group columns to SKIP: {'model_pred', 'default payment next month'}
DIA group columns as BOOLs: [<h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198850>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198dd0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198e50>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9199710>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198510>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9199410>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198810>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198390>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde919bb50>]
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
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().
Checking whether there is an H2O instance running at http://localhost:54321..... not found.
Attempting to start a local H2O server...
  Java Version: openjdk version "10" 2018-03-20; OpenJDK Runtime Environment 18.3 (build 10+44); OpenJDK 64-Bit Server VM 18.3 (build 10+44, mixed mode)
  Starting server from /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/h2o/backend/bin/h2o.jar
  Ice root: /tmp/tmps5r447si
  JVM stdout: /tmp/tmps5r447si/h2o_user_started_from_python.out
  JVM stderr: /tmp/tmps5r447si/h2o_user_started_from_python.err
  Server is running at http://127.0.0.1:54321
 successful.o H2O server at http://127.0.0.1:54321 ...
H2O_cluster_uptime: 01 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_lseil3
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://127.0.0.1:54321
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
Python_version: 3.11.11 final
Connecting to H2O server at http://localhost:54321 ... successful.
H2O_cluster_uptime: 01 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_lseil3
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
Connecting to H2O server at http://localhost:54321 ... successful.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
H2O_cluster_uptime: 01 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_lseil3
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
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |██████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (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)

Connecting to H2O server at http://localhost:54321 ... successful.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
H2O_cluster_uptime: 04 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_lseil3
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
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |
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.
██████████████████████████████████████████████████████| (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()`.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names

[6]:
# open interpretation HTML report in web browser
webbrowser.open(interpretation.result.get_html_report_location())
[6]:
True
[7]:
interpretation.get_scheduled_explainer_ids()
[7]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
 'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
 'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[8]:
interpretation.get_finished_explainer_ids()
[8]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
 'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
 'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[9]:
interpretation.get_successful_explainer_ids()
[9]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
 'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
 'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
 'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[10]:
interpretation.get_failed_explainer_ids()
[10]:
[]

Find interpretation summary in HTML report on the path below:

[11]:
print(f"{interpretation.result.html_location}")
../../results/h2o-sonar/mli_experiment_38874323-ea13-4123-90bb-48781ea45145/interpretation.html

Check results/ directory with artifacts created by explainers:

[12]:
# View results directory
!tree {interpretation.persistence.base_dir}
../../results/h2o-sonar/mli_experiment_38874323-ea13-4123-90bb-48781ea45145
├── explainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_ca3a2d95-dc70-43b6-8dc3-325c5a527682
│   ├── 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_ca3a2d95-dc70-43b6-8dc3-325c5a527682.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_85f58120-d093-4917-8340-ebb430839da4
│   ├── global_custom_archive
│   │   ├── application_zip
│   │   │   └── explanation.zip
│   │   └── application_zip.meta
│   ├── global_decision_tree
│   │   ├── application_json
│   │   │   ├── dt_class_0.json
│   │   │   └── explanation.json
│   │   └── application_json.meta
│   ├── global_html_fragment
│   │   ├── text_html
│   │   │   ├── dt-class-0.png
│   │   │   └── explanation.html
│   │   └── text_html.meta
│   ├── insights
│   │   └── insights_and_actions.json
│   ├── local_decision_tree
│   │   ├── application_json
│   │   │   └── explanation.json
│   │   └── application_json.meta
│   ├── log
│   │   └── explainer_run_85f58120-d093-4917-8340-ebb430839da4.log
│   ├── problems
│   │   └── problems_and_actions.json
│   ├── result_descriptor.json
│   └── work
│       ├── dt-class-0.dot
│       ├── dt-class-0.dot.pdf
│       ├── dtModel.json
│       ├── dtpaths_frame.bin
│       ├── dtPathsFrame.csv
│       ├── dtsurr_mojo.zip
│       ├── dtSurrogate.json
│       └── dt_surrogate_rules.zip
├── explainer_h2o_sonar_explainers_pd_ice_explainer_PdIceExplainer_78cd7bae-55f0-4d31-a685-14c8781fdf70
│   ├── 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_78cd7bae-55f0-4d31-a685-14c8781fdf70.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_5ebdea59-f799-406d-aad3-aa090fce64b8
│   ├── global_custom_archive
│   │   ├── application_zip
│   │   │   └── explanation.zip
│   │   └── application_zip.meta
│   ├── global_decision_tree
│   │   ├── application_json
│   │   │   ├── dt_class_0.json
│   │   │   └── explanation.json
│   │   └── application_json.meta
│   ├── global_html_fragment
│   │   ├── text_html
│   │   │   ├── dt-class-0.png
│   │   │   └── explanation.html
│   │   └── text_html.meta
│   ├── insights
│   │   └── insights_and_actions.json
│   ├── local_decision_tree
│   │   ├── application_json
│   │   │   └── explanation.json
│   │   └── application_json.meta
│   ├── log
│   │   └── explainer_run_5ebdea59-f799-406d-aad3-aa090fce64b8.log
│   ├── problems
│   │   └── problems_and_actions.json
│   ├── result_descriptor.json
│   └── work
│       ├── dt-class-0.dot
│       ├── dt-class-0.dot.pdf
│       ├── dtModel.json
│       ├── dtpaths_frame.bin
│       ├── dtPathsFrame.csv
│       ├── dtsurr_mojo.zip
│       ├── dtSurrogate.json
│       └── dt_surrogate_rules.zip
├── explainer_h2o_sonar_explainers_summary_shap_explainer_SummaryShapleyExplainer_c3010901-550e-4028-b471-ecba6036ff1c
│   ├── 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_c3010901-550e-4028-b471-ecba6036ff1c.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

144 directories, 595 files
[13]:
# view params passed into Interpretation job
interpretation.common_params.dump()
[13]:
{'model': '../../data/predictive/models/creditcard-binomial-sklearn-1.8.0-gbm.pkl',
 'models': None,
 'dataset': '../../data/predictive/creditcard.csv',
 'validset': None,
 'testset': None,
 'use_raw_features': True,
 'target_col': 'default payment next month',
 'weight_col': '',
 'prediction_col': '',
 'drop_cols': [],
 'sample_num_rows': 0,
 'results_location': '../../results',
 'extra_params': None,
 'used_features': ['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'],
 'cfg_items_dict': {'model': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63710>,
  'models': <h2o_sonar.lib.api.commons.Param at 0x7efdc885c0d0>,
  'dataset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63750>,
  'target_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c631d0>,
  'validset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63110>,
  'testset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63190>,
  'use_raw_features': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63ad0>,
  'weight_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b10>,
  'prediction_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b50>,
  'drop_cols': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c080d0>,
  'sample_num_rows': <h2o_sonar.lib.api.commons.Param at 0x7efdc8465490>,
  'results_location': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b90>,
  'used_features': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63bd0>}}
[ ]: