Introspecting Models¶
Introspecting the model takes two steps: The first step is to extract logical formulae from the machine learning models; the second step is to perform automated reasoning on the logical formulae.
Settings For Formula Extraction¶
There are a few parameters for the logical formula extraction process, and they are organised into a settings file in JSON format. The parameters include:
- tree_sampling: Sample a subset of trees from the ensemble tree model for logical analysis.
- method: The method used to sample the trees. The options are:
uniform: sample uniformly regardless of the weights.
best: sample the best (sub-)models with regard to their weights.
worst: sample the worst (sub-)models with regard to their weights.
proportion: The proportion for sampling. For instance, 0.2 means that only 20% of trees in the ensemble tree model are sampled.
- branch_sampling: Sample a subset of branches from each decision tree.
method: Same as above.
proportion: Same as above.
- node_sampling: Sample a subset of nodes from each branch.
method: Same as above.
proportion: Same as above.
To generate a formula extraction settings file with default values, run the following command:
silas gen-extract-settings [OPTIONS]
where OPTIONS include:
-h: Print help message and exit.
-o file_path: Output the settings file in the directory file_path. If this option is not supplied, the extraction settings will be stored in extract-settings.json in the directory where the command is issued.
To extract formulae from machine learning model(s) specified in a settings file, run the following command:
silas extract [OPTIONS] [settings_file] [model_dir] [class_label]
where settings_file is the path of the formula extraction settings file, model_dir is the directory where the machine learning models are stored, and class_label (string) is the outcome class to be analysed. The OPTIONS include:
-h: Print help message and exit.
-o formula_dir: Output the formulae in the directory formula_dir. If this option is not supplied, the output will be in extracted-formulae/tmp/.
For instance, to extract formulae using formulae/model1/extract-settings1.json from models in models/model1/ for class “Positive” and output the formulae in formulae/model1/, run the following command:
silas extract -o formulae/model1/ formulae/model1/extract-settings1.json models/model1/ Positive
Introspecting The Extracted Formulae¶
To introspect the extracted formulae and obtain explanations of the machine learning models, use the following command:
silas introspect [formula_dir]
where formula_dir is the directory that stores the extracted formulae. For instance, if the formulae are stored in formulae/model1/, run the following instance:
silas introspect formulae/model1/