H2O Sonar Demo of Scikit-learn Models

[1]:
import pandas
import webbrowser

from sklearn.ensemble import GradientBoostingClassifier

from h2o_sonar import interpret
from h2o_sonar.lib.api.models import ExplainableModel
[2]:
# dataset
dataset_path = "../../data/predictive/creditcard.csv"
df = pandas.read_csv(dataset_path)

# directory where to store interpretation results
results_location = "../../results"
[3]:
# Set X and y
target_col = "default payment next month"
X, y = df.drop(target_col,axis=1), df[target_col]
[4]:
# Build model
gradient_booster = GradientBoostingClassifier(learning_rate=0.1)
gradient_booster.fit(X, y)
[4]:
GradientBoostingClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
[5]:
# Run interpretation
interpretation = interpret.run_interpretation(
    dataset=dataset_path,
    model=gradient_booster,
    target_col=target_col,
    results_location=results_location,
    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=     | BILL_AMT4  BILL_AMT5    AGE  PAY_AMT6    SEX  BILL_AMT3  default payment next month  PAY_AMT3  PAY_AMT1  LIMIT_BAL  …  PAY_4  PAY_0  EDUCATION  MARRIAGE  PAY_2
     |     int32      int32  int32     int32  int32      int32                        int8     int32     int32      int32     int32  int32      int32     int32  int32
---- + ---------  ---------  -----  --------  -----  ---------  --------------------------  --------  --------  ---------     -----  -----  ---------  --------  -----
   0 |         0          0     24         0      2        689                           1         0         0      20000  …     -1     -2          2         1      2
   1 |      3272       3455     26      2000      2       2682                           1      1000         0     120000  …      0     -1          2         2      2
   2 |     14331      14948     34      5000      2      13559                           0      1000      1518      90000  …      0      0          2         2      0
   3 |     28314      28959     37      1000      2      49291                           0      1200      2000      50000  …      0      1          2         1      0
   4 |     20940      19146     57       679      1      35835                           0     10000      2000      50000  …      0      2          2         1      0
   5 |     19394      19619     37       800      1      57608                           0       657      2500      50000  …      0      3          1         2      0
   6 |    542653     483003     29     13770      1     445007                           0     38000     55000     500000  …      0      4          1         2      0
   7 |       221       -159     23      1542      2        601                           0         0       380     100000  …      0      5          2         2     -1
   8 |     12211      11793     28      1000      2      12108                           0       432      3329     140000  …      0      6          3         1      0
   9 |         0      13007     35         0      1          0                           0         0         0      20000  …     -2      7          3         2     -2
  10 |      2513       1828     34        66      2       5535                           0        50      2306     200000  …      0      8          3         2      0
  11 |      8517      22287     51      3640      2       9966                           0      8583     21818     260000  …     -1     -1          1         2     -1
  12 |      6500       6500     41         0      2       6500                           0      6500      1000     630000  …     -1     -1          2         2      0
  13 |     66782      36137     30         0      1      65701                           1      3000      3200      70000  …      0      1          2         2      2
  14 |     59696      56875     29      3000      1      63561                           0      3000      3000     250000  …      0      0          1         2      0
   … |         …          …      …         …      …          …                           …         …         …          …  …      …      …          …         …      …
9995 |         0          0     31      1419      2          0                           0         0       241     140000  …     -2      1          1         2     -2
9996 |         0          0     37         0      2          0                           0         0         0      80000  …     -2     -2          2         2     -2
9997 |    151078     176717     44      4200      1     142520                           0     10000      6437     200000  …      0      0          3         1      0
9998 |         0          0     26         0      2          0                           1         0         0      80000  …     -2     -1          2         2      2
9999 |     19506      19255     36      3000      1      19750                           0      3000      3000     230000  …      0      0          2         1      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: {'default payment next month', 'PAY_3', 'PAY_4', 'PAY_5', 'PAY_0', 'EDUCATION', 'PAY_2', 'PAY_6', 'MARRIAGE', 'SEX'}
DIA group columns to SKIP: {'default payment next month', 'model_pred'}
DIA group columns as BOOLs: [<h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed4d90>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed5710>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed50d0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed62d0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed7c90>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed7e90>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed4f50>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed7750>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fe547ed56d0>]
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:54331..... 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/tmpua22_k7b
  JVM stdout: /tmp/tmpua22_k7b/h2o_user_started_from_python.out
  JVM stderr: /tmp/tmpua22_k7b/h2o_user_started_from_python.err
  Server is running at http://127.0.0.1:54331
 successful.o H2O server at http://127.0.0.1:54331 ...
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_5cihsm
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:54331
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
Python_version: 3.11.11 final
Connecting to H2O server at http://localhost:54331 ... 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_5cihsm
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:54331
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
Python_version: 3.11.11 final
Connecting to H2O server at http://localhost:54331 ... 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_5cihsm
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:54331
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
Python_version: 3.11.11 final
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (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:54331 ... successful.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
H2O_cluster_uptime: 06 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_5cihsm
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:54331
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]:
# View results directory
!tree {interpretation.persistence.base_dir}
../../results/h2o-sonar/mli_experiment_fa511a22-4241-43e3-bd85-73e500a0d5b5
├── explainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_6b5044a8-eb62-4d01-a8e4-62be3c496484
│   ├── 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_6b5044a8-eb62-4d01-a8e4-62be3c496484.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_609ea6cb-da74-4c1b-9bd5-1b99a04f6689
│   ├── 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_609ea6cb-da74-4c1b-9bd5-1b99a04f6689.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_1751a878-a456-48b9-bcbc-22b482b905ca
│   ├── 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_1751a878-a456-48b9-bcbc-22b482b905ca.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_512a55cc-8ada-4afb-bd60-9ad805fdaea7
│   ├── 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_512a55cc-8ada-4afb-bd60-9ad805fdaea7.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_88a80df6-343b-4e88-b261-4d5cafcfdddc
│   ├── 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_88a80df6-343b-4e88-b261-4d5cafcfdddc.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
[8]:
# Check for successful explainers
interpretation.get_successful_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]:
# Check for any failures
interpretation.get_failed_explainer_ids()
[9]:
[]
[10]:
# View params passed into Interpretation job
interpretation.common_params.dump()
[10]:
{'model': GradientBoostingClassifier(),
 '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 0x7fe68e04d290>,
  'models': <h2o_sonar.lib.api.commons.Param at 0x7fe68e10bd50>,
  'dataset': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04d310>,
  'target_col': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04da90>,
  'validset': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04db10>,
  'testset': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04db50>,
  'use_raw_features': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04db90>,
  'weight_col': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dbd0>,
  'prediction_col': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dc10>,
  'drop_cols': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dc50>,
  'sample_num_rows': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dc90>,
  'results_location': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dcd0>,
  'used_features': <h2o_sonar.lib.api.commons.Param at 0x7fe68e04dd10>}}
[ ]: