Machine Learning with XGBoost in a JMP Addin (JMP app + python)
May 12, 2020 1:07 PM
I hope everyone's doing well in this time of great uncertainty
Here is an attempt of my first application built with app-builder using the connection between JMP and Python to handle a complex machine learning algorithm.
The purpose of this app is to launch a graphical user interface write in jsl and connect that interface with the “XGBoost” machine learning API.
I have implemented the possibility to work on 3 types of validation scheme: holdout / cross validation / grid search. Both regressions and classifications have been developed on few objectives and classical metrics.
At the end of the training, a report is supplied with metrics value on both train / validate set or on mean/standard dev for cross validation. In the case of a grid search training the report is supplied with best hyperparameters results and we can choose to use early stopping. It is possible too to export the python model to predict new datas without training the model again (but should be done in a python environment)
I hope it will work for everyone, I am not a professional software engineer and that app has been developed mainly during late night sessions but it seems OK on my computer in all tested configurations and classical dataset (titanic, boston houses,...) with that set up:
And JMP 15.1 (in English, I do not have check in other languages…)
You should then check that JMP can handle that link with Python prior to use the app... Connecting Python to JMP is in fact not really straightforward and I advise you to contact JMP's support in case of problem because this integration is quite a nightmare for users in my point of view (in my case with a lot of JMP crashes without any warning or error messages before I succeed to make that working)