
Web Application added to do the prediction
This web application connects to InterSystems Cloud SQL to create, train, validate, and predict ML models, make Predictions and display a dashboard of all the trained models with an explanation of the workings of a fitted machine learning model.
The dashboard provides interactive plots on model performance, feature importances, feature contributions to individual predictions, partial dependence plots, SHAP (interaction) values, visualization of individual decision trees, etc.
The Application includes the following:


We will follow the below steps to create and view the explainer dashboard of a model :
So Let us start with first Step
Create folder and Clone/git pull the repo into any local directory
git clone https://github.com/mwaseem75/iris-mlm-explainer.git
Log in to InterSystems Cloud Service Portal

Select the running deployment

Click on Add and Manage Files

Repo contains USA_Housing_tables_DDL.sql(DDL to create tables), USA_Housing_train.csv(training data), and USA_Housing_validate.csv(For validation) files under the datasets folder. Select the upload button to add these files.
Click on Import files, then click on DDL or DML statement(s) radio button, then click the next button
Click on Intersystems IRIS radio button and then click on the next button
Select USA_Housing_tables_DDL.sql file and then press the import files button
Click on Import from the confirmation dialog to create the table


Click on SQL Query tools to verify that tables are created
Click on Import files, then click on CSV data radio button, then click the next button
Select USA_Housing_train.csv file and click the next button
Select USA_Housing_train.csv file from the dropdown list, check import rows as a header row and Field names in header row match column names in selected table and click import files

click on import in the confirmation dialog
click on import in the confirmation dialog
Make sure 4000 rows are updated

Do the same steps to import USA_Housing_validate.csv file which contains 1500 records

Click on IntegratedM tools and select Create Panel.
Enter USAHousingPriceModel in the Model Name field, Select usa_housing_train table and Price in the field to predict dropdown. Click on create model button to create the model
select Train Panel, Select USAHousingPriceModel from the model to train dropdownlist and enter USAHousingPriceModel_t1 in the train model name field

Model will be trained once Run Status completed

Select Validate Panel, Select USAHousingPriceModel_t1 from Trained model to validate dropdownlist, select usa_houseing_validate from Table to validate model from dropdownlist and click on validate model button

Click on show validation metrics to view metrics
Click on the chart icon to view the Prediction VS Actual graph
Repository already contains python virtual environment folder (venv) along with all the required libraries.
All we need is to just activate the environment
On Unix or MacOS:
$ source venv/Scripts/activate
On Windows:
venv\scripts\activate
Run the below command in virtual environment to start our main application
python app.py

Navigate to http://127.0.0.1:5000/ to run the application

Put same values used in InterSystems Cloud SQL

Enter Age of house, No of rooms, No of bedroom and Area population to get the prediction

Finaly, run the below command in virtual environment to start our main application
python expdash.py



Navigate to http://localhost:8050/ to run the application

Application will list all the trained models along with our USAHousingPriceModel. Navigate to “go to dashboard” hyperlink to view model explainer
Feature Importances. Which features had the biggest impact?

Quantitative metrics for model performance, How close is the predicted value to the observed?

Prediction and How has each feature contributed to the prediction?

Adjust the feature values to change the prediction

Shap Summary, Ordering features by shap value

Interactions Summary,Ordering features by shap interaction value

Decision Trees, Displaying individual decision trees inside Random Forest

We can also use jupyter notebook to create,train,validate and predict ML model if not created by using Cloud SQL Service Portal
Repo also contains USAHousingModelNotebook.ipynb Jupyter notebook. In order to run it, just run runnotebook.bat under venv environment
runnotebook

Navigate to http://localhost:8888/ to run the notebook
open USAHousingModelNotebook.ipynb notebook by clicking on it

It will open the notebook

NOTE : Make sure to select venv kernal by selecting main menu Kernal>Change kernal>venv, so that notebook will use virtual environment libraries

NOTE : Run the cells in sequence by just clicking the small arrow

USA Housing dataset is taken from Kaggle
LICENCE:Public Domain
USA_Housing dataset contains the following columns:
This application is derived from the isc-cloud-sql-python-demo template by @Evgeny Shvarov
Thanks