Contextual AI Compiler tutorials — Contextual AI documentation (original) (raw)
contextual-ai
follows simple inversion of control (IoC) programming principle to allowing user to customize and create use-case-specific explainability report.
This is to increase the modularity of contextual-ai
lib and make it easy for extensible.
Example
The following examples can give you an impression of what the package can do:
Titanic Dataset
Automobile Dataset
Supported Format
The supported external configuration
format are:
- Json - Javascript Object Notation
- Yaml - Rhymes with Camel (converted to Json when loaded)
Validation
Validate with Json Schema
The external configuration
MUST follow the defined schema bvelow:
{ "definitions": { "section": { "type": "object", "properties": { "title": { "type": "string" }, "desc": { "type": "string" }, "sections": { "type": "array", "items": { "$ref": "#/definitions/section" }, "default": [] }, "component": { "$ref": "#/definitions/component" } }, "required": ["title"] }, "component": { "type": "object", "properties": { "package": { "type": "string" }, "module": { "type": "string" }, "class": { "type": "string" }, "attr": { "type": "object" } }, "required": ["class"] } },
"type": "object",
"properties": {
"name": { "type" : "string" },
"overview": {" type": "boolean" },
"content_table": { "type": "boolean" },
"contents":
{
"type": "array",
"items": {"$ref": "#/definitions/section"},
"default": []
},
"writers":
{
"type": "array",
"items": {"$ref": "#/definitions/component"}
}
},
"required": ["name", "content_table", "contents", "writers"]
}
Example in Json
{ "name": "Report for Feature Importance Ranking", "overview": true, "content_table": true, "contents": [ { "title": "Feature Importance Ranking", "desc": "This section provides the analysis on feature", "sections": [ { "title": "Feature Importance Analysis with Breast Cancer data-set", "desc": "Model and train data from Breast Cancer", "sections": [ { "title": "SHAP analysis with csv (with header)", "component": { "_comment": "refer to document section xxxx", "class": "FeatureImportanceRanking", "attr": { "trained_model": "./sample_input/breast_cancer/model.pkl", "train_data": "./sample_input/breast_cancer/train_data.csv", "method": "shap" } } } ] }, { "title": "Feature Importance Analysis with Titanic data-set", "desc": "Model and train data from Titanic", "sections": [ { "title": "Default analysis with csv (with header)", "component": { "_comment": "refer to document section xxxx", "class": "FeatureImportanceRanking", "attr": { "trained_model": "./sample_input/titanic/model.pkl", "train_data": "./sample_input/titanic/train_data.csv" } } } ] } ] } ], "writers": [ { "class": "Pdf", "attr": { "name": "feature-importance-report", "path": "./sample_output" } }, { "class": "Html", "attr": { "name": "feature-importance-report", "path": "./sample_output" } } ] }
Example in Yaml
name: Report for Feature Importance Ranking overview: true content_table: true contents:
- title: Feature Importance Ranking
desc: This section provides the analysis on feature
sections:
- title: Feature Importance Analysis with Breast Cancer data-set
desc: Model and train data from Breast Cancer
sections:
- title: SHAP analysis with csv (with header) component: _comment: refer to document section xxxx1 class: FeatureImportanceRanking attr: trained_model: ./sample_input/breast_cancer/model.pkl train_data: ./sample_input/breast_cancer/train_data.csv method: shap
- title: Default analysis with csv (with header) component: _comment: refer to document section xxxx class: FeatureImportanceRanking attr: trained_model: ./sample_input/breast_cancer/model.pkl train_data: ./sample_input/breast_cancer/train_data.csv
- title: SHAP analysis with numpy input file component: _comment: refer to document section xxxx2 class: FeatureImportanceRanking attr: trained_model: ./sample_input/breast_cancer/model.pkl train_data: ./sample_input/breast_cancer/train_data.npy feature_names: ./sample_input/breast_cancer/feature_names.npy method: shap
- title: Feature Importance Analysis with Titanic data-set
desc: Model and train data from Titanic
sections:
- title: Default analysis with csv (with header) component: _comment: refer to document section xxxx class: FeatureImportanceRanking attr: trained_model: ./sample_input/titanic/model.pkl train_data: ./sample_input/titanic/train_data.csv
- title: Feature Importance Analysis with Breast Cancer data-set
desc: Model and train data from Breast Cancer
sections:
writers:
- class: Pdf attr: name: feature-importance-yml-report path: ./sample_output
- class: Html attr: name: feature-importance-yml-report path: ./sample_output