H2O Eval Studio Demo of Pickled Models
This example demonstrates how to interpret a pickled Scikit-learn model using the H2O Eval Studio 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.1.2
) in order to ensure binary compability.
[10]:
!pip freeze | grep scikit-learn
[11]:
target_col = "default payment next month"
# dataset
dataset_path = "../../data/creditcard.csv"
df = pd.read_csv(dataset_path)
# pickled Sklearn model
model_path = "../../data/models/creditcard-binomial-sklearn-gbm.pkl"
results_location = "../../results"
[12]:
(X, y) = df.drop(target_col,axis=1), df[target_col]
[13]:
# 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/srasaratnam/projects/h2o-sonar/venv/lib/python3.8/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
Trying to unpickle estimator DummyClassifier from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:
https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations
Trying to unpickle estimator DecisionTreeRegressor from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:
https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations
Trying to unpickle estimator GradientBoostingClassifier from version 1.1.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:
https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations
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().
Preparing and checking DIA features (None): dataset= | PAY_AMT3 PAY_0 LIMIT_BAL BILL_AMT5 AGE PAY_3 BILL_AMT3 EDUCATION PAY_2 BILL_AMT6 … BILL_AMT4 MARRIAGE BILL_AMT1 PAY_AMT5 SEX
| int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32 int32
---- + -------- ----- --------- --------- ----- ----- --------- --------- ----- --------- --------- -------- --------- -------- -----
0 | 0 -2 20000 0 24 -1 689 2 2 0 … 0 1 3913 0 2
1 | 1000 -1 120000 3455 26 0 2682 2 2 3261 … 3272 2 2682 0 2
2 | 1000 0 90000 14948 34 0 13559 2 0 15549 … 14331 2 29239 1000 2
3 | 1200 1 50000 28959 37 0 49291 2 0 29547 … 28314 1 46990 1069 2
4 | 10000 2 50000 19146 57 -1 35835 2 0 19131 … 20940 1 8617 689 1
5 | 657 3 50000 19619 37 0 57608 1 0 20024 … 19394 2 64400 1000 1
6 | 38000 4 500000 483003 29 0 445007 1 0 473944 … 542653 2 367965 13750 1
7 | 0 5 100000 -159 23 -1 601 2 -1 567 … 221 2 11876 1687 2
8 | 432 6 140000 11793 28 2 12108 3 0 3719 … 12211 1 11285 1000 2
9 | 0 7 20000 13007 35 -2 0 3 -2 13912 … 0 2 0 1122 1
10 | 50 8 200000 1828 34 2 5535 3 0 3731 … 2513 2 11073 3738 2
11 | 8583 -1 260000 22287 51 -1 9966 1 -1 13668 … 8517 2 12261 0 2
12 | 6500 -1 630000 6500 41 -1 6500 2 0 2870 … 6500 2 12137 2870 2
13 | 3000 1 70000 36137 30 2 65701 2 2 36894 … 66782 2 65802 1500 1
14 | 3000 0 250000 56875 29 0 63561 1 0 55512 … 59696 2 70887 3000 1
… | … … … … … … … … … … … … … … … …
9995 | 0 1 140000 0 31 -2 0 1 -2 0 … 0 2 0 0 2
9996 | 0 -2 80000 0 37 -2 0 2 -2 0 … 0 2 3946 0 2
9997 | 10000 0 200000 176717 44 0 142520 3 0 168431 … 151078 1 138877 10017 1
9998 | 0 -1 80000 0 26 2 0 2 2 0 … 0 2 780 0 2
9999 | 3000 0 230000 19255 36 0 19750 2 0 17479 … 19506 1 19505 3000 1
[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": "",
"file_name": "",
"file_size": 0,
"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": []
}
]
}
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: {'EDUCATION', 'PAY_2', 'PAY_6', 'PAY_4', 'default payment next month', 'PAY_0', 'PAY_3', 'MARRIAGE', 'PAY_5', '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 0x7fb5778b2040>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b20a0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b2100>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b2160>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b21c0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b2220>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b2280>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b22e0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7fb5778b2340>]
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A 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:55151 ..... not found.
Attempting to start a local H2O server...
Java Version: openjdk version "11.0.18" 2023-01-17; OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1); OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1, mixed mode, sharing)
Starting server from /home/srasaratnam/projects/h2o-sonar/venv/lib/python3.8/site-packages/hmli/backend/bin/hmli.jar
Ice root: /tmp/tmpxzkr8qds
JVM stdout: /tmp/tmpxzkr8qds/hmli_srasaratnam_started_from_python.out
JVM stderr: /tmp/tmpxzkr8qds/hmli_srasaratnam_started_from_python.err
Server is running at http://127.0.0.1:55151
Connecting to H2O server at http://127.0.0.1:55151 ... successful.
Warning: Your H2O cluster version is too old (1 year, 2 months and 19 days)!Please download and install the latest version from http://hmli.ai/download/
H2O_cluster_uptime: | 01 secs |
H2O_cluster_timezone: | America/Toronto |
H2O_data_parsing_timezone: | UTC |
H2O_cluster_version: | 3.34.0.7 |
H2O_cluster_version_age: | 1 year, 2 months and 19 days !!! |
H2O_cluster_name: | H2O_from_python_srasaratnam_5tu6fh |
H2O_cluster_total_nodes: | 1 |
H2O_cluster_free_memory: | 4 Gb |
H2O_cluster_total_cores: | 12 |
H2O_cluster_allowed_cores: | 12 |
H2O_cluster_status: | locked, healthy |
H2O_connection_url: | http://127.0.0.1:55151 |
H2O_connection_proxy: | {"http": null, "https": null} |
H2O_internal_security: | False |
H2O_API_Extensions: | XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder |
Python_version: | 3.8.10 final |
Connecting to H2O server at http://localhost:55151 ... successful.
Warning: Your H2O cluster version is too old (1 year, 2 months and 19 days)!Please download and install the latest version from http://hmli.ai/download/
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
H2O_cluster_uptime: | 01 secs |
H2O_cluster_timezone: | America/Toronto |
H2O_data_parsing_timezone: | UTC |
H2O_cluster_version: | 3.34.0.7 |
H2O_cluster_version_age: | 1 year, 2 months and 19 days !!! |
H2O_cluster_name: | H2O_from_python_srasaratnam_5tu6fh |
H2O_cluster_total_nodes: | 1 |
H2O_cluster_free_memory: | 4 Gb |
H2O_cluster_total_cores: | 12 |
H2O_cluster_allowed_cores: | 12 |
H2O_cluster_status: | locked, healthy |
H2O_connection_url: | http://localhost:55151 |
H2O_connection_proxy: | {"http": null, "https": null} |
H2O_internal_security: | False |
H2O_API_Extensions: | XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder |
Python_version: | 3.8.10 final |
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |
Response is numeric, so the regression model will be trained. However, the cardinality is equaled to two, so if you want to train a classification model, convert the response column to categorical before training.
██████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Export File progress: |██████████████████████████████████████████████████████████| (done) 100%
Connecting to H2O server at http://localhost:55151 ... successful.
Warning: Your H2O cluster version is too old (1 year, 2 months and 19 days)!Please download and install the latest version from http://hmli.ai/download/
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
H2O_cluster_uptime: | 05 secs |
H2O_cluster_timezone: | America/Toronto |
H2O_data_parsing_timezone: | UTC |
H2O_cluster_version: | 3.34.0.7 |
H2O_cluster_version_age: | 1 year, 2 months and 19 days !!! |
H2O_cluster_name: | H2O_from_python_srasaratnam_5tu6fh |
H2O_cluster_total_nodes: | 1 |
H2O_cluster_free_memory: | 4 Gb |
H2O_cluster_total_cores: | 12 |
H2O_cluster_allowed_cores: | 12 |
H2O_cluster_status: | locked, healthy |
H2O_connection_url: | http://localhost:55151 |
H2O_connection_proxy: | {"http": null, "https": null} |
H2O_internal_security: | False |
H2O_API_Extensions: | XGBoost, Algos, MLI, MLI-Driver, Core V3, Core V4, TargetEncoder |
Python_version: | 3.8.10 final |
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |
Response is numeric, so the regression model will be trained. However, the cardinality is equaled to two, so if you want to train a classification model, convert the response column to categorical before training.
██████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Export File progress: |██████████████████████████████████████████████████████████| (done) 100%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 30.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 40.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 50.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 60.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 70.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 80.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%
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()`.
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 90.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 100.0%
h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer: progress 100.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 10.0%
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 20.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%
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
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 30.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 40.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 40.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 50.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 50.0%
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 60.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%
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
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 70.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 80.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 80.0%
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
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 90.0%
h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer: progress 100.0%
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
<Figure size 640x480 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>
<Figure size 1600x800 with 0 Axes>












H2O session _sid_8de4 closed.
[14]:
# open interpretation HTML report in web browser
webbrowser.open(interpretation.result.get_html_report_location())
[14]:
True
[15]:
interpretation.get_scheduled_explainer_ids()
[15]:
['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']
[16]:
interpretation.get_finished_explainer_ids()
[16]:
['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']
[17]:
interpretation.get_successful_explainer_ids()
[17]:
['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']
[18]:
interpretation.get_failed_explainer_ids()
[18]:
[]
Find interpretation summary in HTML report on the path below:
[19]:
print(f"{interpretation.result.html_location}")
../../results/h2o-sonar/mli_experiment_777871f4-2a79-45b9-9769-ffc830e0237d/interpretation.html
Check results/
directory with artifacts created by explainers:
[20]:
# View results directory
!tree {interpretation.persistence.base_dir}
../../results/h2o-sonar/mli_experiment_777871f4-2a79-45b9-9769-ffc830e0237d
├── explainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_201b5ca2-68be-437b-9bf9-365965615ad5
│ ├── 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
│ ├── log
│ │ └── explainer_run_201b5ca2-68be-437b-9bf9-365965615ad5.log
│ ├── model_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_d02af7ac-ae60-4375-8229-84011cf64dd8
│ ├── 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
│ ├── local_decision_tree
│ │ ├── application_json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── log
│ │ └── explainer_run_d02af7ac-ae60-4375-8229-84011cf64dd8.log
│ ├── model_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_7039f7b3-4cd4-4382-8628-8ae40f228081
│ ├── 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
│ ├── 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_7039f7b3-4cd4-4382-8628-8ae40f228081.log
│ ├── model_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_e1bcef29-4c3e-4ca4-9ca9-76bd2740819e
│ ├── 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
│ ├── local_decision_tree
│ │ ├── application_json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── log
│ │ └── explainer_run_e1bcef29-4c3e-4ca4-9ca9-76bd2740819e.log
│ ├── model_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_d0309728-ae94-4d08-b53e-fbf13aa3d6bd
│ ├── 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
│ ├── log
│ │ └── explainer_run_d0309728-ae94-4d08-b53e-fbf13aa3d6bd.log
│ ├── model_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
├── explainers_parameters.json
├── interpretation.html
└── interpretation.json
138 directories, 591 files
[21]:
# view params passed into Interpretation job
interpretation.common_params.dump()
[21]:
{'model': '../../data/models/creditcard-binomial-sklearn-gbm.pkl',
'dataset': '../../data/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': None,
'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 0x7fb5603e0f70>,
'dataset': <h2o_sonar.lib.api.commons.Param at 0x7fb5603e0fa0>,
'target_col': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee3d0>,
'validset': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee3a0>,
'testset': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee400>,
'use_raw_features': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee430>,
'weight_col': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee460>,
'prediction_col': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee490>,
'drop_cols': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee4c0>,
'sample_num_rows': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee4f0>,
'results_location': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee520>,
'used_features': <h2o_sonar.lib.api.commons.Param at 0x7fb5603ee550>}}
[ ]: