H2O Sonar Demo of Pickled Models
This example demonstrates how to interpret a pickled Scikit-learn model using the H2O Sonar library.
[1]:
import pandas as pd
import datatable as dt
import webbrowser
from h2o_sonar import interpret
from h2o_sonar.lib.api.models import ExplainableModel, ExplainableModelType, ExplainableModelMeta
from h2o_sonar.lib.api.datasets import ExplainableDataset
IMPORTANT: make sure that you have the right version of scikit-learn compatible with demo model installed (scikit-learn 1.8.0) in order to ensure binary compability.
[2]:
!pip freeze | grep scikit-learn
scikit-learn==1.8.0
[3]:
target_col = "default payment next month"
# dataset
dataset_path = "../../data/predictive/creditcard.csv"
df = pd.read_csv(dataset_path)
# pickled Sklearn model
model_path = "../../data/predictive/models/creditcard-binomial-sklearn-1.8.0-gbm.pkl"
results_location = "../../results"
[4]:
(X, y) = df.drop(target_col,axis=1), df[target_col]
[5]:
# run Interpretation
interpretation = interpret.run_interpretation(
dataset=dataset_path,
model=model_path,
target_col=target_col,
results_location="../../results",
used_features=list(X.columns),
)
/home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/ragas/metrics/__init__.py:1: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain_core.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.
For example, replace imports like: `from langchain_core.pydantic_v1 import BaseModel`
with: `from pydantic import BaseModel`
or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet. from pydantic.v1 import BaseModel
from ragas.metrics._answer_correctness import AnswerCorrectness, answer_correctness
/home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/ragas/metrics/__init__.py:4: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.
For example, replace imports like: `from langchain.pydantic_v1 import BaseModel`
with: `from pydantic import BaseModel`
or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet. from pydantic.v1 import BaseModel
from ragas.metrics._context_entities_recall import (
Preparing and checking DIA features (None): dataset= | PAY_AMT2 ID PAY_AMT5 BILL_AMT1 PAY_3 BILL_AMT6 EDUCATION LIMIT_BAL PAY_4 default payment next month … PAY_AMT6 SEX AGE PAY_AMT3 PAY_2
| int32 int32 int32 int32 int32 int32 int32 int32 int32 int8 int32 int32 int32 int32 int32
---- + -------- ----- -------- --------- ----- --------- --------- --------- ----- -------------------------- -------- ----- ----- -------- -----
0 | 689 1 0 3913 -1 0 2 20000 -1 1 … 0 2 24 0 2
1 | 1000 2 0 2682 0 3261 2 120000 0 1 … 2000 2 26 1000 2
2 | 1500 3 1000 29239 0 15549 2 90000 0 0 … 5000 2 34 1000 0
3 | 2019 4 1069 46990 0 29547 2 50000 0 0 … 1000 2 37 1200 0
4 | 36681 5 689 8617 -1 19131 2 50000 0 0 … 679 1 57 10000 0
5 | 1815 6 1000 64400 0 20024 1 50000 0 0 … 800 1 37 657 0
6 | 40000 7 13750 367965 0 473944 1 500000 0 0 … 13770 1 29 38000 0
7 | 601 8 1687 11876 -1 567 2 100000 0 0 … 1542 2 23 0 -1
8 | 0 9 1000 11285 2 3719 3 140000 0 0 … 1000 2 28 432 0
9 | 0 10 1122 0 -2 13912 3 20000 -2 0 … 0 1 35 0 -2
10 | 12 11 3738 11073 2 3731 3 200000 0 0 … 66 2 34 50 0
11 | 9966 12 0 12261 -1 13668 1 260000 -1 0 … 3640 2 51 8583 -1
12 | 6500 13 2870 12137 -1 2870 2 630000 -1 0 … 0 2 41 6500 0
13 | 0 14 1500 65802 2 36894 2 70000 0 1 … 0 1 30 3000 2
14 | 3000 15 3000 70887 0 55512 1 250000 0 0 … 3000 1 29 3000 0
… | … … … … … … … … … … … … … … … …
9995 | 0 9996 0 0 -2 0 1 140000 -2 0 … 1419 2 31 0 -2
9996 | 0 9997 0 3946 -2 0 2 80000 -2 0 … 0 2 37 0 -2
9997 | 5000 9998 10017 138877 0 168431 3 200000 0 0 … 4200 1 44 10000 0
9998 | 0 9999 0 780 2 0 2 80000 -2 1 … 0 2 26 0 2
9999 | 3000 10000 3000 19505 0 17479 2 230000 0 0 … 3000 1 36 3000 0
[10000 rows x 25 columns]
dataset_meta={
"shape": "(10000, 25)",
"row_count": 10000,
"column_names": [
"ID",
"LIMIT_BAL",
"SEX",
"EDUCATION",
"MARRIAGE",
"AGE",
"PAY_0",
"PAY_2",
"PAY_3",
"PAY_4",
"PAY_5",
"PAY_6",
"BILL_AMT1",
"BILL_AMT2",
"BILL_AMT3",
"BILL_AMT4",
"BILL_AMT5",
"BILL_AMT6",
"PAY_AMT1",
"PAY_AMT2",
"PAY_AMT3",
"PAY_AMT4",
"PAY_AMT5",
"PAY_AMT6",
"default payment next month"
],
"column_types": [
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int",
"int"
],
"column_uniques": [
10000,
72,
2,
7,
4,
54,
11,
11,
11,
11,
10,
10,
8371,
8215,
8072,
7913,
7764,
7550,
3763,
3581,
3305,
3247,
3258,
3174,
2
],
"columns_cat": [],
"columns_num": [],
"file_path": "../../data/predictive/creditcard.csv",
"file_name": "",
"file_size": 944719,
"missing_values": [
"",
"?",
"None",
"nan",
"NA",
"N/A",
"unknown",
"inf",
"-inf",
"1.7976931348623157e+308",
"-1.7976931348623157e+308"
],
"columns_meta": [
{
"name": "ID",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": true,
"is_numeric": true,
"is_categorical": false,
"count": 10000,
"frequency": 0,
"unique": 10000,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "LIMIT_BAL",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 72,
"frequency": 0,
"unique": 72,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "SEX",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 2,
"frequency": 0,
"unique": 2,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "EDUCATION",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 7,
"frequency": 0,
"unique": 7,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "MARRIAGE",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 4,
"frequency": 0,
"unique": 4,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "AGE",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 54,
"frequency": 0,
"unique": 54,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_0",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 11,
"frequency": 0,
"unique": 11,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_2",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 11,
"frequency": 0,
"unique": 11,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_3",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 11,
"frequency": 0,
"unique": 11,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_4",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 11,
"frequency": 0,
"unique": 11,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_5",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 10,
"frequency": 0,
"unique": 10,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_6",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 10,
"frequency": 0,
"unique": 10,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT1",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 8371,
"frequency": 0,
"unique": 8371,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT2",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 8215,
"frequency": 0,
"unique": 8215,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT3",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 8072,
"frequency": 0,
"unique": 8072,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT4",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 7913,
"frequency": 0,
"unique": 7913,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT5",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 7764,
"frequency": 0,
"unique": 7764,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "BILL_AMT6",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 7550,
"frequency": 0,
"unique": 7550,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT1",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3763,
"frequency": 0,
"unique": 3763,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT2",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3581,
"frequency": 0,
"unique": 3581,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT3",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3305,
"frequency": 0,
"unique": 3305,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT4",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3247,
"frequency": 0,
"unique": 3247,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT5",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3258,
"frequency": 0,
"unique": 3258,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "PAY_AMT6",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 3174,
"frequency": 0,
"unique": 3174,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
},
{
"name": "default payment next month",
"data_type": "int",
"logical_types": [],
"format": "",
"is_id": false,
"is_numeric": true,
"is_categorical": false,
"count": 2,
"frequency": 0,
"unique": 2,
"max": null,
"min": null,
"mean": null,
"std": null,
"histogram_counts": [],
"histogram_ticks": []
}
],
"original_dataset_sampled": false,
"original_dataset_path": "",
"original_dataset_size": 0,
"original_dataset_shape": [
10000,
25
]
}
Using dataset ENTITY to prepare DIA features: column_names=['ID', 'LIMIT_BAL', 'SEX', 'EDUCATION', 'MARRIAGE', 'AGE', 'PAY_0', 'PAY_2', 'PAY_3', 'PAY_4', 'PAY_5', 'PAY_6', 'BILL_AMT1', 'BILL_AMT2', 'BILL_AMT3', 'BILL_AMT4', 'BILL_AMT5', 'BILL_AMT6', 'PAY_AMT1', 'PAY_AMT2', 'PAY_AMT3', 'PAY_AMT4', 'PAY_AMT5', 'PAY_AMT6', 'default payment next month'] column_uniques=[10000, 72, 2, 7, 4, 54, 11, 11, 11, 11, 10, 10, 8371, 8215, 8072, 7913, 7764, 7550, 3763, 3581, 3305, 3247, 3258, 3174, 2]
DIA group columns prepared using dataset ENTITY: {'MARRIAGE', 'PAY_5', 'PAY_0', 'PAY_3', 'PAY_2', 'SEX', 'EDUCATION', 'PAY_6', 'PAY_4', 'default payment next month'}
DIA group columns to SKIP: {'model_pred', 'default payment next month'}
DIA group columns as BOOLs: [<h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198850>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198dd0>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198e50>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9199710>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198510>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9199410>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198810>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde9198390>, <h2o_sonar.methods.fairness._dia.BoolEntry object at 0x7efde919bb50>]
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
Checking whether there is an H2O instance running at http://localhost:54321..... not found.
Attempting to start a local H2O server...
Java Version: openjdk version "10" 2018-03-20; OpenJDK Runtime Environment 18.3 (build 10+44); OpenJDK 64-Bit Server VM 18.3 (build 10+44, mixed mode)
Starting server from /home/user/h/mli/git/h2o-sonar-FLOSS/.venv/lib/python3.11/site-packages/h2o/backend/bin/h2o.jar
Ice root: /tmp/tmps5r447si
JVM stdout: /tmp/tmps5r447si/h2o_user_started_from_python.out
JVM stderr: /tmp/tmps5r447si/h2o_user_started_from_python.err
Server is running at http://127.0.0.1:54321
successful.o H2O server at http://127.0.0.1:54321 ...
| H2O_cluster_uptime: | 01 secs |
| H2O_cluster_timezone: | Europe/Prague |
| H2O_data_parsing_timezone: | UTC |
| H2O_cluster_version: | 3.46.0.9 |
| H2O_cluster_version_age: | 2 months and 4 days |
| H2O_cluster_name: | H2O_from_python_user_lseil3 |
| H2O_cluster_total_nodes: | 1 |
| H2O_cluster_free_memory: | 4 Gb |
| H2O_cluster_total_cores: | 16 |
| H2O_cluster_allowed_cores: | 16 |
| H2O_cluster_status: | locked, healthy |
| H2O_connection_url: | http://127.0.0.1:54321 |
| H2O_connection_proxy: | {"http": null, "https": null} |
| H2O_internal_security: | False |
| Python_version: | 3.11.11 final |
Connecting to H2O server at http://localhost:54321 ... successful.
| H2O_cluster_uptime: | 01 secs |
| H2O_cluster_timezone: | Europe/Prague |
| H2O_data_parsing_timezone: | UTC |
| H2O_cluster_version: | 3.46.0.9 |
| H2O_cluster_version_age: | 2 months and 4 days |
| H2O_cluster_name: | H2O_from_python_user_lseil3 |
| H2O_cluster_total_nodes: | 1 |
| H2O_cluster_free_memory: | 4 Gb |
| H2O_cluster_total_cores: | 16 |
| H2O_cluster_allowed_cores: | 16 |
| H2O_cluster_status: | locked, healthy |
| H2O_connection_url: | http://localhost:54321 |
| H2O_connection_proxy: | {"http": null, "https": null} |
| H2O_internal_security: | False |
| Python_version: | 3.11.11 final |
Connecting to H2O server at http://localhost:54321 ... successful.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
| H2O_cluster_uptime: | 01 secs |
| H2O_cluster_timezone: | Europe/Prague |
| H2O_data_parsing_timezone: | UTC |
| H2O_cluster_version: | 3.46.0.9 |
| H2O_cluster_version_age: | 2 months and 4 days |
| H2O_cluster_name: | H2O_from_python_user_lseil3 |
| H2O_cluster_total_nodes: | 1 |
| H2O_cluster_free_memory: | 4 Gb |
| H2O_cluster_total_cores: | 16 |
| H2O_cluster_allowed_cores: | 16 |
| H2O_cluster_status: | locked, healthy |
| H2O_connection_url: | http://localhost:54321 |
| H2O_connection_proxy: | {"http": null, "https": null} |
| H2O_internal_security: | False |
| Python_version: | 3.11.11 final |
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |██████████████████████████████████████████████████████| (done) 100%
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread. For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)
Connecting to H2O server at http://localhost:54321 ... successful.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
| H2O_cluster_uptime: | 04 secs |
| H2O_cluster_timezone: | Europe/Prague |
| H2O_data_parsing_timezone: | UTC |
| H2O_cluster_version: | 3.46.0.9 |
| H2O_cluster_version_age: | 2 months and 4 days |
| H2O_cluster_name: | H2O_from_python_user_lseil3 |
| H2O_cluster_total_nodes: | 1 |
| H2O_cluster_free_memory: | 4 Gb |
| H2O_cluster_total_cores: | 16 |
| H2O_cluster_allowed_cores: | 16 |
| H2O_cluster_status: | locked, healthy |
| H2O_connection_url: | http://localhost:54321 |
| H2O_connection_proxy: | {"http": null, "https": null} |
| H2O_internal_security: | False |
| Python_version: | 3.11.11 final |
Parse progress: |████████████████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████████████| (done) 100%
drf Model Build progress: |
We have detected that your response column has only 2 unique values (0/1). If you wish to train a binary model instead of a regression model, convert your target column to categorical before training.
██████████████████████████████████████████████████████| (done) 100%
████████████████████████████████████████████████████████████████| (done) 100%
Converting H2O frame to pandas dataframe using single-thread. For faster conversion using multi-thread, install polars and pyarrow and use it as pandas_df = h2o_df.as_data_frame(use_multi_thread=True)
More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
X does not have valid feature names, but GradientBoostingClassifier was fitted with feature names
[6]:
# open interpretation HTML report in web browser
webbrowser.open(interpretation.result.get_html_report_location())
[6]:
True
[7]:
interpretation.get_scheduled_explainer_ids()
[7]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[8]:
interpretation.get_finished_explainer_ids()
[8]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[9]:
interpretation.get_successful_explainer_ids()
[9]:
['h2o_sonar.explainers.dia_explainer.DiaExplainer',
'h2o_sonar.explainers.residual_dt_surrogate_explainer.ResidualDecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.dt_surrogate_explainer.DecisionTreeSurrogateExplainer',
'h2o_sonar.explainers.summary_shap_explainer.SummaryShapleyExplainer',
'h2o_sonar.explainers.pd_ice_explainer.PdIceExplainer']
[10]:
interpretation.get_failed_explainer_ids()
[10]:
[]
Find interpretation summary in HTML report on the path below:
[11]:
print(f"{interpretation.result.html_location}")
../../results/h2o-sonar/mli_experiment_38874323-ea13-4123-90bb-48781ea45145/interpretation.html
Check results/ directory with artifacts created by explainers:
[12]:
# View results directory
!tree {interpretation.persistence.base_dir}
../../results/h2o-sonar/mli_experiment_38874323-ea13-4123-90bb-48781ea45145
├── explainer_h2o_sonar_explainers_dia_explainer_DiaExplainer_ca3a2d95-dc70-43b6-8dc3-325c5a527682
│ ├── global_disparate_impact_analysis
│ │ ├── text_plain
│ │ │ └── explanation.txt
│ │ └── text_plain.meta
│ ├── global_html_fragment
│ │ ├── text_html
│ │ │ ├── dia-0-accuracy.png
│ │ │ ├── dia-0-adverse_impact.png
│ │ │ ├── dia-0-false_discovery_rate.png
│ │ │ ├── dia-0-false_negative_rate.png
│ │ │ ├── dia-0-false_omissions_rate.png
│ │ │ ├── dia-0-false_positive_rate.png
│ │ │ ├── dia-0-negative_predicted_value.png
│ │ │ ├── dia-0-n.png
│ │ │ ├── dia-0-precision.png
│ │ │ ├── dia-0-specificity.png
│ │ │ ├── dia-0-true_positive_rate.png
│ │ │ ├── dia-1-accuracy.png
│ │ │ ├── dia-1-adverse_impact.png
│ │ │ ├── dia-1-false_discovery_rate.png
│ │ │ ├── dia-1-false_negative_rate.png
│ │ │ ├── dia-1-false_omissions_rate.png
│ │ │ ├── dia-1-false_positive_rate.png
│ │ │ ├── dia-1-negative_predicted_value.png
│ │ │ ├── dia-1-n.png
│ │ │ ├── dia-1-precision.png
│ │ │ ├── dia-1-specificity.png
│ │ │ ├── dia-1-true_positive_rate.png
│ │ │ ├── dia-2-accuracy.png
│ │ │ ├── dia-2-adverse_impact.png
│ │ │ ├── dia-2-false_discovery_rate.png
│ │ │ ├── dia-2-false_negative_rate.png
│ │ │ ├── dia-2-false_omissions_rate.png
│ │ │ ├── dia-2-false_positive_rate.png
│ │ │ ├── dia-2-negative_predicted_value.png
│ │ │ ├── dia-2-n.png
│ │ │ ├── dia-2-precision.png
│ │ │ ├── dia-2-specificity.png
│ │ │ ├── dia-2-true_positive_rate.png
│ │ │ ├── dia-3-accuracy.png
│ │ │ ├── dia-3-adverse_impact.png
│ │ │ ├── dia-3-false_discovery_rate.png
│ │ │ ├── dia-3-false_negative_rate.png
│ │ │ ├── dia-3-false_omissions_rate.png
│ │ │ ├── dia-3-false_positive_rate.png
│ │ │ ├── dia-3-negative_predicted_value.png
│ │ │ ├── dia-3-n.png
│ │ │ ├── dia-3-precision.png
│ │ │ ├── dia-3-specificity.png
│ │ │ ├── dia-3-true_positive_rate.png
│ │ │ ├── dia-4-accuracy.png
│ │ │ ├── dia-4-adverse_impact.png
│ │ │ ├── dia-4-false_discovery_rate.png
│ │ │ ├── dia-4-false_negative_rate.png
│ │ │ ├── dia-4-false_omissions_rate.png
│ │ │ ├── dia-4-false_positive_rate.png
│ │ │ ├── dia-4-negative_predicted_value.png
│ │ │ ├── dia-4-n.png
│ │ │ ├── dia-4-precision.png
│ │ │ ├── dia-4-specificity.png
│ │ │ ├── dia-4-true_positive_rate.png
│ │ │ ├── dia-5-accuracy.png
│ │ │ ├── dia-5-adverse_impact.png
│ │ │ ├── dia-5-false_discovery_rate.png
│ │ │ ├── dia-5-false_negative_rate.png
│ │ │ ├── dia-5-false_omissions_rate.png
│ │ │ ├── dia-5-false_positive_rate.png
│ │ │ ├── dia-5-negative_predicted_value.png
│ │ │ ├── dia-5-n.png
│ │ │ ├── dia-5-precision.png
│ │ │ ├── dia-5-specificity.png
│ │ │ ├── dia-5-true_positive_rate.png
│ │ │ ├── dia-6-accuracy.png
│ │ │ ├── dia-6-adverse_impact.png
│ │ │ ├── dia-6-false_discovery_rate.png
│ │ │ ├── dia-6-false_negative_rate.png
│ │ │ ├── dia-6-false_omissions_rate.png
│ │ │ ├── dia-6-false_positive_rate.png
│ │ │ ├── dia-6-negative_predicted_value.png
│ │ │ ├── dia-6-n.png
│ │ │ ├── dia-6-precision.png
│ │ │ ├── dia-6-specificity.png
│ │ │ ├── dia-6-true_positive_rate.png
│ │ │ ├── dia-7-accuracy.png
│ │ │ ├── dia-7-adverse_impact.png
│ │ │ ├── dia-7-false_discovery_rate.png
│ │ │ ├── dia-7-false_negative_rate.png
│ │ │ ├── dia-7-false_omissions_rate.png
│ │ │ ├── dia-7-false_positive_rate.png
│ │ │ ├── dia-7-negative_predicted_value.png
│ │ │ ├── dia-7-n.png
│ │ │ ├── dia-7-precision.png
│ │ │ ├── dia-7-specificity.png
│ │ │ ├── dia-7-true_positive_rate.png
│ │ │ ├── dia-8-accuracy.png
│ │ │ ├── dia-8-adverse_impact.png
│ │ │ ├── dia-8-false_discovery_rate.png
│ │ │ ├── dia-8-false_negative_rate.png
│ │ │ ├── dia-8-false_omissions_rate.png
│ │ │ ├── dia-8-false_positive_rate.png
│ │ │ ├── dia-8-negative_predicted_value.png
│ │ │ ├── dia-8-n.png
│ │ │ ├── dia-8-precision.png
│ │ │ ├── dia-8-specificity.png
│ │ │ ├── dia-8-true_positive_rate.png
│ │ │ └── explanation.html
│ │ └── text_html.meta
│ ├── insights
│ │ └── insights_and_actions.json
│ ├── log
│ │ └── explainer_run_ca3a2d95-dc70-43b6-8dc3-325c5a527682.log
│ ├── problems
│ │ └── problems_and_actions.json
│ ├── result_descriptor.json
│ └── work
│ ├── dia_entity.json
│ ├── EDUCATION
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── MARRIAGE
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_0
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 10
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_2
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 10
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_3
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 10
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_4
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 10
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_5
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ ├── PAY_6
│ │ ├── 0
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 1
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 2
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 3
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 4
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 5
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 6
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 7
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 8
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ ├── 9
│ │ │ ├── cm.jay
│ │ │ ├── disparity.jay
│ │ │ ├── me_smd.jay
│ │ │ └── parity.jay
│ │ └── metrics.jay
│ └── SEX
│ ├── 0
│ │ ├── cm.jay
│ │ ├── disparity.jay
│ │ ├── me_smd.jay
│ │ └── parity.jay
│ ├── 1
│ │ ├── cm.jay
│ │ ├── disparity.jay
│ │ ├── me_smd.jay
│ │ └── parity.jay
│ └── metrics.jay
├── explainer_h2o_sonar_explainers_dt_surrogate_explainer_DecisionTreeSurrogateExplainer_85f58120-d093-4917-8340-ebb430839da4
│ ├── global_custom_archive
│ │ ├── application_zip
│ │ │ └── explanation.zip
│ │ └── application_zip.meta
│ ├── global_decision_tree
│ │ ├── application_json
│ │ │ ├── dt_class_0.json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── global_html_fragment
│ │ ├── text_html
│ │ │ ├── dt-class-0.png
│ │ │ └── explanation.html
│ │ └── text_html.meta
│ ├── insights
│ │ └── insights_and_actions.json
│ ├── local_decision_tree
│ │ ├── application_json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── log
│ │ └── explainer_run_85f58120-d093-4917-8340-ebb430839da4.log
│ ├── problems
│ │ └── problems_and_actions.json
│ ├── result_descriptor.json
│ └── work
│ ├── dt-class-0.dot
│ ├── dt-class-0.dot.pdf
│ ├── dtModel.json
│ ├── dtpaths_frame.bin
│ ├── dtPathsFrame.csv
│ ├── dtsurr_mojo.zip
│ ├── dtSurrogate.json
│ └── dt_surrogate_rules.zip
├── explainer_h2o_sonar_explainers_pd_ice_explainer_PdIceExplainer_78cd7bae-55f0-4d31-a685-14c8781fdf70
│ ├── global_html_fragment
│ │ ├── text_html
│ │ │ ├── explanation.html
│ │ │ ├── pd-feature-0-class-0.png
│ │ │ ├── pd-feature-1-class-0.png
│ │ │ ├── pd-feature-2-class-0.png
│ │ │ ├── pd-feature-3-class-0.png
│ │ │ ├── pd-feature-4-class-0.png
│ │ │ ├── pd-feature-5-class-0.png
│ │ │ ├── pd-feature-6-class-0.png
│ │ │ ├── pd-feature-7-class-0.png
│ │ │ ├── pd-feature-8-class-0.png
│ │ │ └── pd-feature-9-class-0.png
│ │ └── text_html.meta
│ ├── global_partial_dependence
│ │ ├── application_json
│ │ │ ├── explanation.json
│ │ │ ├── pd_feature_0_class_0.json
│ │ │ ├── pd_feature_1_class_0.json
│ │ │ ├── pd_feature_2_class_0.json
│ │ │ ├── pd_feature_3_class_0.json
│ │ │ ├── pd_feature_4_class_0.json
│ │ │ ├── pd_feature_5_class_0.json
│ │ │ ├── pd_feature_6_class_0.json
│ │ │ ├── pd_feature_7_class_0.json
│ │ │ ├── pd_feature_8_class_0.json
│ │ │ └── pd_feature_9_class_0.json
│ │ └── application_json.meta
│ ├── insights
│ │ └── insights_and_actions.json
│ ├── local_individual_conditional_explanation
│ │ ├── application_vnd_h2oai_json_datatable_jay
│ │ │ ├── explanation.json
│ │ │ ├── ice_feature_0_class_0.jay
│ │ │ ├── ice_feature_1_class_0.jay
│ │ │ ├── ice_feature_2_class_0.jay
│ │ │ ├── ice_feature_3_class_0.jay
│ │ │ ├── ice_feature_4_class_0.jay
│ │ │ ├── ice_feature_5_class_0.jay
│ │ │ ├── ice_feature_6_class_0.jay
│ │ │ ├── ice_feature_7_class_0.jay
│ │ │ ├── ice_feature_8_class_0.jay
│ │ │ ├── ice_feature_9_class_0.jay
│ │ │ └── y_hat.jay
│ │ └── application_vnd_h2oai_json_datatable_jay.meta
│ ├── log
│ │ └── explainer_run_78cd7bae-55f0-4d31-a685-14c8781fdf70.log
│ ├── problems
│ │ └── problems_and_actions.json
│ ├── result_descriptor.json
│ └── work
│ ├── h2o_sonar-ice-dai-model-10.jay
│ ├── h2o_sonar-ice-dai-model-1.jay
│ ├── h2o_sonar-ice-dai-model-2.jay
│ ├── h2o_sonar-ice-dai-model-3.jay
│ ├── h2o_sonar-ice-dai-model-4.jay
│ ├── h2o_sonar-ice-dai-model-5.jay
│ ├── h2o_sonar-ice-dai-model-6.jay
│ ├── h2o_sonar-ice-dai-model-7.jay
│ ├── h2o_sonar-ice-dai-model-8.jay
│ ├── h2o_sonar-ice-dai-model-9.jay
│ ├── h2o_sonar-ice-dai-model.json
│ ├── h2o_sonar-pd-dai-model.json
│ └── mli_dataset_y_hat.jay
├── explainer_h2o_sonar_explainers_residual_dt_surrogate_explainer_ResidualDecisionTreeSurrogateExplainer_5ebdea59-f799-406d-aad3-aa090fce64b8
│ ├── global_custom_archive
│ │ ├── application_zip
│ │ │ └── explanation.zip
│ │ └── application_zip.meta
│ ├── global_decision_tree
│ │ ├── application_json
│ │ │ ├── dt_class_0.json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── global_html_fragment
│ │ ├── text_html
│ │ │ ├── dt-class-0.png
│ │ │ └── explanation.html
│ │ └── text_html.meta
│ ├── insights
│ │ └── insights_and_actions.json
│ ├── local_decision_tree
│ │ ├── application_json
│ │ │ └── explanation.json
│ │ └── application_json.meta
│ ├── log
│ │ └── explainer_run_5ebdea59-f799-406d-aad3-aa090fce64b8.log
│ ├── problems
│ │ └── problems_and_actions.json
│ ├── result_descriptor.json
│ └── work
│ ├── dt-class-0.dot
│ ├── dt-class-0.dot.pdf
│ ├── dtModel.json
│ ├── dtpaths_frame.bin
│ ├── dtPathsFrame.csv
│ ├── dtsurr_mojo.zip
│ ├── dtSurrogate.json
│ └── dt_surrogate_rules.zip
├── explainer_h2o_sonar_explainers_summary_shap_explainer_SummaryShapleyExplainer_c3010901-550e-4028-b471-ecba6036ff1c
│ ├── global_html_fragment
│ │ ├── text_html
│ │ │ ├── explanation.html
│ │ │ ├── feature_0_class_0.png
│ │ │ ├── feature_10_class_0.png
│ │ │ ├── feature_11_class_0.png
│ │ │ ├── feature_12_class_0.png
│ │ │ ├── feature_13_class_0.png
│ │ │ ├── feature_14_class_0.png
│ │ │ ├── feature_15_class_0.png
│ │ │ ├── feature_16_class_0.png
│ │ │ ├── feature_17_class_0.png
│ │ │ ├── feature_18_class_0.png
│ │ │ ├── feature_19_class_0.png
│ │ │ ├── feature_1_class_0.png
│ │ │ ├── feature_20_class_0.png
│ │ │ ├── feature_21_class_0.png
│ │ │ ├── feature_22_class_0.png
│ │ │ ├── feature_23_class_0.png
│ │ │ ├── feature_2_class_0.png
│ │ │ ├── feature_3_class_0.png
│ │ │ ├── feature_4_class_0.png
│ │ │ ├── feature_5_class_0.png
│ │ │ ├── feature_6_class_0.png
│ │ │ ├── feature_7_class_0.png
│ │ │ ├── feature_8_class_0.png
│ │ │ ├── feature_9_class_0.png
│ │ │ └── shapley-class-0.png
│ │ └── text_html.meta
│ ├── global_summary_feature_importance
│ │ ├── application_json
│ │ │ ├── explanation.json
│ │ │ ├── feature_0_class_0.png
│ │ │ ├── feature_10_class_0.png
│ │ │ ├── feature_11_class_0.png
│ │ │ ├── feature_12_class_0.png
│ │ │ ├── feature_13_class_0.png
│ │ │ ├── feature_14_class_0.png
│ │ │ ├── feature_15_class_0.png
│ │ │ ├── feature_16_class_0.png
│ │ │ ├── feature_17_class_0.png
│ │ │ ├── feature_18_class_0.png
│ │ │ ├── feature_19_class_0.png
│ │ │ ├── feature_1_class_0.png
│ │ │ ├── feature_20_class_0.png
│ │ │ ├── feature_21_class_0.png
│ │ │ ├── feature_22_class_0.png
│ │ │ ├── feature_23_class_0.png
│ │ │ ├── feature_2_class_0.png
│ │ │ ├── feature_3_class_0.png
│ │ │ ├── feature_4_class_0.png
│ │ │ ├── feature_5_class_0.png
│ │ │ ├── feature_6_class_0.png
│ │ │ ├── feature_7_class_0.png
│ │ │ ├── feature_8_class_0.png
│ │ │ ├── feature_9_class_0.png
│ │ │ ├── summary_feature_importance_class_0_offset_0.json
│ │ │ ├── summary_feature_importance_class_0_offset_1.json
│ │ │ └── summary_feature_importance_class_0_offset_2.json
│ │ ├── application_json.meta
│ │ ├── application_vnd_h2oai_json_datatable_jay
│ │ │ ├── explanation.json
│ │ │ └── summary_feature_importance_class_0.jay
│ │ ├── application_vnd_h2oai_json_datatable_jay.meta
│ │ ├── text_markdown
│ │ │ ├── explanation.md
│ │ │ └── shapley-class-0.png
│ │ └── text_markdown.meta
│ ├── insights
│ │ └── insights_and_actions.json
│ ├── log
│ │ └── explainer_run_c3010901-550e-4028-b471-ecba6036ff1c.log
│ ├── problems
│ │ └── problems_and_actions.json
│ ├── result_descriptor.json
│ └── work
│ ├── raw_shapley_contribs_class_0.jay
│ ├── raw_shapley_contribs_index.json
│ ├── report.md
│ └── shapley-class-0.png
├── interpretation.html
├── interpretation.json
└── tmp
144 directories, 595 files
[13]:
# view params passed into Interpretation job
interpretation.common_params.dump()
[13]:
{'model': '../../data/predictive/models/creditcard-binomial-sklearn-1.8.0-gbm.pkl',
'models': None,
'dataset': '../../data/predictive/creditcard.csv',
'validset': None,
'testset': None,
'use_raw_features': True,
'target_col': 'default payment next month',
'weight_col': '',
'prediction_col': '',
'drop_cols': [],
'sample_num_rows': 0,
'results_location': '../../results',
'extra_params': None,
'used_features': ['ID',
'LIMIT_BAL',
'SEX',
'EDUCATION',
'MARRIAGE',
'AGE',
'PAY_0',
'PAY_2',
'PAY_3',
'PAY_4',
'PAY_5',
'PAY_6',
'BILL_AMT1',
'BILL_AMT2',
'BILL_AMT3',
'BILL_AMT4',
'BILL_AMT5',
'BILL_AMT6',
'PAY_AMT1',
'PAY_AMT2',
'PAY_AMT3',
'PAY_AMT4',
'PAY_AMT5',
'PAY_AMT6'],
'cfg_items_dict': {'model': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63710>,
'models': <h2o_sonar.lib.api.commons.Param at 0x7efdc885c0d0>,
'dataset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63750>,
'target_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c631d0>,
'validset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63110>,
'testset': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63190>,
'use_raw_features': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63ad0>,
'weight_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b10>,
'prediction_col': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b50>,
'drop_cols': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c080d0>,
'sample_num_rows': <h2o_sonar.lib.api.commons.Param at 0x7efdc8465490>,
'results_location': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63b90>,
'used_features': <h2o_sonar.lib.api.commons.Param at 0x7efdc3c63bd0>}}
[ ]: