FLAML/tutorials/Automl2024DemoAutoMLTask.ipynb

5796 строки
206 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "0",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# AutoML with FLAML Library\n",
"\n",
"\n",
"| | | | |\n",
"|-----|--------|--------|--------|\n",
"| <img src=\"https://www.microsoft.com/en-us/research/uploads/prod/2020/02/flaml-1024x406.png\" alt=\"drawing\" width=\"200\"/> \n",
"\n",
"\n",
"<style>\n",
"td, th {\n",
" border: none!important;\n",
"}\n",
"</style>\n",
"### Goal\n",
"In this notebook, we demonstrate how to use AutoML with FLAML to find the best model for our dataset.\n",
"\n",
"\n",
"## 1. Introduction\n",
"\n",
"FLAML is a Python library (https://github.com/microsoft/FLAML) designed to automatically produce accurate machine learning models \n",
"with low computational cost. It is fast and economical. The simple and lightweight design makes it easy to use and extend, such as adding new learners. FLAML can \n",
"- serve as an economical AutoML engine,\n",
"- be used as a fast hyperparameter tuning tool, or \n",
"- be embedded in self-tuning software that requires low latency & resource in repetitive\n",
" tuning tasks.\n",
"\n",
"In this notebook, we use one real data example (binary classification) to showcase how to use FLAML library.\n",
"\n",
"FLAML requires `Python>=3.8`. To run this notebook example, please install the following packages."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1",
"metadata": {
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:27.1218348Z",
"execution_start_time": "2024-09-03T04:45:00.4763917Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "edb1122f-690f-4826-ae22-f45c675bab46",
"queued_time": "2024-09-03T04:44:51.3993564Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": "2024-09-03T04:44:51.4277029Z",
"spark_pool": null,
"state": "finished",
"statement_id": 7,
"statement_ids": [
3,
4,
5,
6,
7
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 7, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting openml==0.14.2\n",
" Downloading openml-0.14.2.tar.gz (144 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m144.5/144.5 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Installing build dependencies ... \u001b[?25l-\b \b\\\b \b|\b \bdone\n",
"\u001b[?25h Getting requirements to build wheel ... \u001b[?25l-\b \bdone\n",
"\u001b[?25h Installing backend dependencies ... \u001b[?25l-\b \b\\\b \bdone\n",
"\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25l-\b \bdone\n",
"\u001b[?25hRequirement already satisfied: scikit-learn>=1.3.0 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (1.3.0)\n",
"Collecting rgf-python==3.12.0\n",
" Downloading rgf_python-3.12.0-py3-none-manylinux1_x86_64.whl (757 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m757.8/757.8 kB\u001b[0m \u001b[31m45.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: liac-arff>=2.4.0 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (2.5.0)\n",
"Requirement already satisfied: xmltodict in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (0.13.0)\n",
"Requirement already satisfied: requests in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (2.31.0)\n",
"Requirement already satisfied: python-dateutil in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (2.8.2)\n",
"Requirement already satisfied: pandas>=1.0.0 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (2.0.3)\n",
"Requirement already satisfied: scipy>=0.13.3 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (1.10.1)\n",
"Requirement already satisfied: numpy>=1.6.2 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (1.24.3)\n",
"Collecting minio (from openml==0.14.2)\n",
" Downloading minio-7.2.8-py3-none-any.whl (93 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m93.5/93.5 kB\u001b[0m \u001b[31m42.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: pyarrow in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from openml==0.14.2) (12.0.1)\n",
"Requirement already satisfied: joblib in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from rgf-python==3.12.0) (1.3.2)\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from scikit-learn>=1.3.0) (3.2.0)\n",
"Requirement already satisfied: pytz>=2020.1 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from pandas>=1.0.0->openml==0.14.2) (2023.3.post1)\n",
"Requirement already satisfied: tzdata>=2022.1 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from pandas>=1.0.0->openml==0.14.2) (2023.3)\n",
"Requirement already satisfied: six>=1.5 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from python-dateutil->openml==0.14.2) (1.16.0)\n",
"Requirement already satisfied: certifi in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from minio->openml==0.14.2) (2023.7.22)\n",
"Requirement already satisfied: urllib3 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from minio->openml==0.14.2) (1.26.17)\n",
"Requirement already satisfied: argon2-cffi in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from minio->openml==0.14.2) (23.1.0)\n",
"Collecting pycryptodome (from minio->openml==0.14.2)\n",
" Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m146.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: typing-extensions in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from minio->openml==0.14.2) (4.5.0)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from requests->openml==0.14.2) (3.3.1)\n",
"Requirement already satisfied: idna<4,>=2.5 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from requests->openml==0.14.2) (3.4)\n",
"Requirement already satisfied: argon2-cffi-bindings in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from argon2-cffi->minio->openml==0.14.2) (21.2.0)\n",
"Requirement already satisfied: cffi>=1.0.1 in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from argon2-cffi-bindings->argon2-cffi->minio->openml==0.14.2) (1.16.0)\n",
"Requirement already satisfied: pycparser in /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->minio->openml==0.14.2) (2.21)\n",
"Building wheels for collected packages: openml\n",
" Building wheel for openml (pyproject.toml) ... \u001b[?25l-\b \b\\\b \bdone\n",
"\u001b[?25h Created wheel for openml: filename=openml-0.14.2-py3-none-any.whl size=158697 sha256=284673299d0458cde5751ea69ec6de4e90e7410adec2b980af071fc934877200\n",
" Stored in directory: /home/trusted-service-user/.cache/pip/wheels/2e/4e/af/5e721761d86375dbca82e63cc2470019e97815bc39f11451ea\n",
"Successfully built openml\n",
"Installing collected packages: pycryptodome, rgf-python, minio, openml\n",
"Successfully installed minio-7.2.8 openml-0.14.2 pycryptodome-3.20.0 rgf-python-3.12.0\n",
"\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.1.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.2\u001b[0m\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython -m pip install --upgrade pip\u001b[0m\n",
"Note: you may need to restart the kernel to use updated packages.\n",
"Warning: PySpark kernel has been restarted to use updated packages.\n",
"\n"
]
}
],
"source": [
"%pip install \"openml==0.14.2\" \"scikit-learn>=1.3.0\" \"rgf-python==3.12.0\""
]
},
{
"cell_type": "markdown",
"id": "2",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"### Set the logging level\n",
"\n",
"You can configure the logging level to suppress unnecessary outputs to keep the logs cleaner."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:32.370685Z",
"execution_start_time": "2024-09-03T04:45:31.9932557Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "ab2d1ef3-9329-48e2-9429-71cd00e8af55",
"queued_time": "2024-09-03T04:44:51.168749Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 9,
"statement_ids": [
9
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 9, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import logging\n",
"import warnings\n",
" \n",
"logging.getLogger('synapse.ml').setLevel(logging.CRITICAL)\n",
"logging.getLogger('mlflow.utils').setLevel(logging.CRITICAL)\n",
"warnings.simplefilter('ignore', category=FutureWarning)\n",
"warnings.simplefilter('ignore', category=UserWarning)"
]
},
{
"cell_type": "markdown",
"id": "4",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"### Set up MLflow experiment tracking\n",
"\n",
"MLflow is an open source platform that is deeply integrated into the Data Science experience in Fabric and allows to easily track and compare the performance of different models and experiments without the need for manual tracking. For more information, see [Autologging in Microsoft Fabric](https://aka.ms/fabric-autologging)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:34.6803604Z",
"execution_start_time": "2024-09-03T04:45:32.7740919Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "18d52168-8765-4f77-b8b8-a4539b51c1aa",
"queued_time": "2024-09-03T04:44:51.1694279Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 10,
"statement_ids": [
10
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 10, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Experiment: artifact_location='', creation_time=1725256490333, experiment_id='0499e3cc-c690-4b30-86b9-55838e7df486', last_update_time=None, lifecycle_stage='active', name='automl-tutorial', tags={}>"
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import mlflow\n",
"\n",
"# Set the MLflow experiment to \"automl-tutorial\" and enable automatic logging\n",
"mlflow.set_experiment(\"automl-tutorial\")"
]
},
{
"cell_type": "markdown",
"id": "6",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 2. Classification Example\n",
"### Load data and preprocess\n",
"\n",
"Download [Airlines dataset](https://www.openml.org/d/1169) from OpenML. The task is to predict whether a given flight will be delayed, given the information of the scheduled departure."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7",
"metadata": {
"jupyter": {
"outputs_hidden": false
},
"slideshow": {
"slide_type": "subslide"
},
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:55.4940947Z",
"execution_start_time": "2024-09-03T04:45:35.0725962Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "ca8d70f5-47e5-4674-a31c-738f39ac3175",
"queued_time": "2024-09-03T04:44:51.1702979Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 11,
"statement_ids": [
11
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 11, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"No permission to create OpenML directory at /home/trusted-service-user/.config/openml! This can result in OpenML-Python not working properly.\n",
"download dataset from openml\n",
"Dataset name: airlines\n",
"X_train.shape: (404537, 7), y_train.shape: (404537,);\n",
"X_test.shape: (134846, 7), y_test.shape: (134846,)\n"
]
}
],
"source": [
"from flaml.automl.data import load_openml_dataset\n",
"X_train, X_test, y_train, y_test = load_openml_dataset(dataset_id=1169, data_dir='./')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:56.9587345Z",
"execution_start_time": "2024-09-03T04:45:55.8839894Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "f5ca1611-8219-4ad8-aab8-478e625b31a6",
"queued_time": "2024-09-03T04:44:51.1714393Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 12,
"statement_ids": [
12
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 12, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.synapse.widget-view+json": {
"widget_id": "e951537a-8f45-4ae7-8cd7-5835f56b7d40",
"widget_type": "Synapse.DataFrame"
},
"text/plain": [
"SynapseWidget(Synapse.DataFrame, e951537a-8f45-4ae7-8cd7-5835f56b7d40)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(X_train.join(y_train))"
]
},
{
"cell_type": "markdown",
"id": "9",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Run FLAML\n",
"In the FLAML automl run configuration, users can specify the task type, time budget, error metric, learner list, whether to subsample, resampling strategy type, and so on. All these arguments have default values which will be used if users do not provide them. For example, the default classifiers are `['lgbm', 'xgboost', 'xgb_limitdepth', 'catboost', 'rf', 'extra_tree', 'lrl1']`. "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "10",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:57.7243859Z",
"execution_start_time": "2024-09-03T04:45:57.3434117Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "698ef231-f161-4732-b95c-2b7793946034",
"queued_time": "2024-09-03T04:44:51.1728277Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 13,
"statement_ids": [
13
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 13, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"''' import AutoML class from flaml package '''\n",
"from flaml import AutoML\n",
"automl = AutoML()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "11",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:45:58.4767064Z",
"execution_start_time": "2024-09-03T04:45:58.1184273Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "fa55a057-1d3e-4f40-800e-0b225e675b14",
"queued_time": "2024-09-03T04:44:51.1751637Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 14,
"statement_ids": [
14
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 14, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"settings = {\n",
" \"time_budget\": 120, # total running time in seconds\n",
" \"metric\": 'accuracy', # check the documentation for options of metrics (https://microsoft.github.io/FLAML/docs/Use-Cases/Task-Oriented-AutoML#optimization-metric)\n",
" \"task\": 'classification', # task type\n",
" \"seed\": 42, # random seed\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "12",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": [
"outputPrepend"
]
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:28.7534447Z",
"execution_start_time": "2024-09-03T04:45:58.882723Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "f261610f-4a20-4c09-8e00-645e1b2bb533",
"queued_time": "2024-09-03T04:44:51.1773522Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 15,
"statement_ids": [
15
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 15, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:46:00] {1787} INFO - task = classification\n",
"[flaml.automl.logger: 09-03 04:46:00] {1798} INFO - Evaluation method: holdout\n",
"[flaml.automl.logger: 09-03 04:46:00] {1901} INFO - Minimizing error metric: 1-accuracy\n",
"[flaml.automl.logger: 09-03 04:46:01] {2019} INFO - List of ML learners in AutoML Run: ['lgbm', 'rf', 'xgboost', 'extra_tree', 'xgb_limitdepth', 'sgd', 'catboost', 'lrl1']\n",
"[flaml.automl.logger: 09-03 04:46:01] {2329} INFO - iteration 0, current learner lgbm\n",
"[flaml.automl.logger: 09-03 04:46:02] {2464} INFO - Estimated sufficient time budget=158419s. Estimated necessary time budget=3905s.\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6223304330630809,
"best_validation_loss": 0.3776695669369191,
"iter_counter": 0,
"trial_time": 0.4332137107849121,
"validation_loss": 0.3776695669369191,
"wall_clock_time": 2.640165090560913
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "1.0",
"learner": "lgbm",
"learning_rate": "0.09999999999999995",
"log_max_bin": "8",
"min_child_samples": "20",
"n_estimators": "4",
"num_leaves": "4",
"reg_alpha": "0.0009765625",
"reg_lambda": "1.0",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_0",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "0",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/14aad3dc-eed4-4466-ad8e-8d5c138b6aac/artifacts",
"end_time": 1725338787,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "14aad3dc-eed4-4466-ad8e-8d5c138b6aac",
"run_name": "",
"run_uuid": "14aad3dc-eed4-4466-ad8e-8d5c138b6aac",
"start_time": 1725338762,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:46:27] {2513} INFO - at 2.6s,\testimator lgbm's best error=0.3777,\tbest estimator lgbm's best error=0.3777\n",
"[flaml.automl.logger: 09-03 04:46:27] {2329} INFO - iteration 1, current learner lgbm\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6223304330630809,
"best_validation_loss": 0.3776695669369191,
"iter_counter": 1,
"trial_time": 0.032134056091308594,
"validation_loss": 0.3776695669369191,
"wall_clock_time": 27.87287712097168
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "0.9546978871157568",
"learner": "lgbm",
"learning_rate": "0.06631176582925748",
"log_max_bin": "9",
"min_child_samples": "17",
"n_estimators": "5",
"num_leaves": "4",
"reg_alpha": "0.0020990359248076857",
"reg_lambda": "21.92381099932143",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_1",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "1",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/4b351a28-0a7b-4b83-8a4e-0529c24ccba9/artifacts",
"end_time": 1725338806,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "4b351a28-0a7b-4b83-8a4e-0529c24ccba9",
"run_name": "",
"run_uuid": "4b351a28-0a7b-4b83-8a4e-0529c24ccba9",
"start_time": 1725338788,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:46:46] {2513} INFO - at 27.9s,\testimator lgbm's best error=0.3777,\tbest estimator lgbm's best error=0.3777\n",
"[flaml.automl.logger: 09-03 04:46:46] {2329} INFO - iteration 2, current learner lgbm\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6236652165315404,
"best_validation_loss": 0.3763347834684596,
"iter_counter": 2,
"trial_time": 0.04708147048950195,
"validation_loss": 0.3763347834684596,
"wall_clock_time": 47.18543338775635
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "1.0",
"learner": "lgbm",
"learning_rate": "0.15080280060326612",
"log_max_bin": "7",
"min_child_samples": "24",
"n_estimators": "4",
"num_leaves": "10",
"reg_alpha": "0.0009765625",
"reg_lambda": "0.04561250779031766",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_2",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "2",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/81eac128-06f7-495e-afc5-d7792f17ab92/artifacts",
"end_time": 1725338826,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "81eac128-06f7-495e-afc5-d7792f17ab92",
"run_name": "",
"run_uuid": "81eac128-06f7-495e-afc5-d7792f17ab92",
"start_time": 1725338807,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:47:07] {2513} INFO - at 47.2s,\testimator lgbm's best error=0.3763,\tbest estimator lgbm's best error=0.3763\n",
"[flaml.automl.logger: 09-03 04:47:07] {2329} INFO - iteration 3, current learner lgbm\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6365186869685584,
"best_validation_loss": 0.3634813130314416,
"iter_counter": 3,
"trial_time": 0.04140424728393555,
"validation_loss": 0.3634813130314416,
"wall_clock_time": 67.61185884475708
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "0.9006280463830675",
"learner": "lgbm",
"learning_rate": "0.2177704579511968",
"log_max_bin": "6",
"min_child_samples": "20",
"n_estimators": "15",
"num_leaves": "6",
"reg_alpha": "0.0021638671012090007",
"reg_lambda": "0.03731988103956423",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_3",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "3",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/25a86fd4-0939-4fbe-825b-548af7352935/artifacts",
"end_time": 1725338847,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "25a86fd4-0939-4fbe-825b-548af7352935",
"run_name": "",
"run_uuid": "25a86fd4-0939-4fbe-825b-548af7352935",
"start_time": 1725338827,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:47:27] {2513} INFO - at 67.6s,\testimator lgbm's best error=0.3635,\tbest estimator lgbm's best error=0.3635\n",
"[flaml.automl.logger: 09-03 04:47:27] {2329} INFO - iteration 4, current learner lgbm\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6236404983191616,
"best_validation_loss": 0.3634813130314416,
"iter_counter": 4,
"trial_time": 0.032787322998046875,
"validation_loss": 0.3763595016808384,
"wall_clock_time": 88.09981751441956
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "1.0",
"learner": "lgbm",
"learning_rate": "0.15080280060326612",
"log_max_bin": "8",
"min_child_samples": "24",
"n_estimators": "4",
"num_leaves": "10",
"reg_alpha": "0.0009765625",
"reg_lambda": "0.04561250779031766",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_4",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "4",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/20063586-3f6e-4b7e-8edc-af22ed666853/artifacts",
"end_time": 1725338865,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "20063586-3f6e-4b7e-8edc-af22ed666853",
"run_name": "",
"run_uuid": "20063586-3f6e-4b7e-8edc-af22ed666853",
"start_time": 1725338848,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:47:45] {2513} INFO - at 88.1s,\testimator lgbm's best error=0.3635,\tbest estimator lgbm's best error=0.3635\n",
"[flaml.automl.logger: 09-03 04:47:45] {2329} INFO - iteration 5, current learner lgbm\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6389163535693099,
"best_validation_loss": 0.36108364643069013,
"iter_counter": 5,
"trial_time": 0.07941198348999023,
"validation_loss": 0.36108364643069013,
"wall_clock_time": 106.20823979377747
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "0.8871559629536413",
"learner": "lgbm",
"learning_rate": "0.1292426830415275",
"log_max_bin": "6",
"min_child_samples": "14",
"n_estimators": "66",
"num_leaves": "4",
"reg_alpha": "0.02960826033957992",
"reg_lambda": "0.023368135622249268",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline_child_5",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "5",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/4d4f70aa-e916-4ed9-8209-b99191c4d5e1/artifacts",
"end_time": 1725338884,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "4d4f70aa-e916-4ed9-8209-b99191c4d5e1",
"run_name": "",
"run_uuid": "4d4f70aa-e916-4ed9-8209-b99191c4d5e1",
"start_time": 1725338866,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:48:05] {2513} INFO - at 106.2s,\testimator lgbm's best error=0.3611,\tbest estimator lgbm's best error=0.3611\n",
"[flaml.automl.logger: 09-03 04:48:06] {569} INFO - logging best model lgbm\n",
"[flaml.automl.logger: 09-03 04:48:09] {2756} INFO - retrain lgbm for 0.6s\n",
"[flaml.automl.logger: 09-03 04:48:09] {2759} INFO - retrained model: LGBMClassifier(colsample_bytree=0.8871559629536413,\n",
" learning_rate=0.1292426830415275, max_bin=63,\n",
" min_child_samples=14, n_estimators=1, n_jobs=-1, num_leaves=4,\n",
" reg_alpha=0.02960826033957992, reg_lambda=0.023368135622249268,\n",
" verbose=-1)\n",
"[flaml.automl.logger: 09-03 04:48:09] {2760} INFO - Auto Feature Engineering pipeline: None\n",
"[flaml.automl.logger: 09-03 04:48:09] {2762} INFO - Best MLflow run name: \n",
"[flaml.automl.logger: 09-03 04:48:09] {2763} INFO - Best MLflow run id: 4d4f70aa-e916-4ed9-8209-b99191c4d5e1\n",
"[flaml.automl.logger: 09-03 04:48:27] {2055} INFO - fit succeeded\n",
"[flaml.automl.logger: 09-03 04:48:27] {2056} INFO - Time taken to find the best model: 106.20823979377747\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"accuracy": 0.6389163535693099,
"best_validation_loss": 0.36108364643069013,
"iter_counter": 5,
"trial_time": 0.07941198348999023,
"validation_loss": 0.36108364643069013,
"wall_clock_time": 106.20823979377747
},
"params": {
"FLAML_sample_size": "10000",
"best_learner": "lgbm",
"colsample_bytree": "0.8871559629536413",
"learner": "lgbm",
"learning_rate": "0.1292426830415275",
"log_max_bin": "6",
"min_child_samples": "14",
"n_estimators": "66",
"num_leaves": "4",
"reg_alpha": "0.02960826033957992",
"reg_lambda": "0.023368135622249268",
"sample_size": "10000"
},
"tags": {
"mlflow.rootRunId": "ca6ad732-f549-4374-9126-b3796d2cb671",
"mlflow.runName": "flight_delays_baseline",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "True",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "5",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "accuracy",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/ca6ad732-f549-4374-9126-b3796d2cb671/artifacts",
"end_time": 1725338907,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "ca6ad732-f549-4374-9126-b3796d2cb671",
"run_name": "",
"run_uuid": "ca6ad732-f549-4374-9126-b3796d2cb671",
"start_time": 1725338759,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"'''The main flaml automl API'''\n",
"with mlflow.start_run(run_name=\"flight_delays_baseline\"):\n",
" automl.fit(X_train=X_train, y_train=y_train, **settings)"
]
},
{
"cell_type": "markdown",
"id": "13",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Best model and metric"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "14",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:29.5268906Z",
"execution_start_time": "2024-09-03T04:48:29.1513034Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "25022243-df4f-4391-91b6-07701d41262f",
"queued_time": "2024-09-03T04:44:51.1795881Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 16,
"statement_ids": [
16
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 16, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Best ML leaner: lgbm\n",
"Best hyperparmeter config: {'n_estimators': 66, 'num_leaves': 4, 'min_child_samples': 14, 'learning_rate': 0.1292426830415275, 'log_max_bin': 6, 'colsample_bytree': 0.8871559629536413, 'reg_alpha': 0.02960826033957992, 'reg_lambda': 0.023368135622249268}\n",
"Best accuracy on validation data: 0.6389\n",
"Training duration of best run: 0.5744 s\n"
]
}
],
"source": [
"'''retrieve best config and best learner'''\n",
"print('Best ML leaner:', automl.best_estimator)\n",
"print('Best hyperparmeter config:', automl.best_config)\n",
"print('Best accuracy on validation data: {0:.4g}'.format(1-automl.best_loss))\n",
"print('Training duration of best run: {0:.4g} s'.format(automl.best_config_train_time))"
]
},
{
"cell_type": "markdown",
"id": "15",
"metadata": {},
"source": [
"## 3. Model saving and prediction\n",
"\n",
"### Save model\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "16",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:35.5551143Z",
"execution_start_time": "2024-09-03T04:48:29.9813151Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "1a35f263-201c-43ae-8558-2903b57b1973",
"queued_time": "2024-09-03T04:44:51.1817601Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 17,
"statement_ids": [
17
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 17, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Registered model 'flight_delays_baseline' already exists. Creating a new version of this model...\n",
"2024/09/03 04:48:33 INFO mlflow.tracking._model_registry.client: Waiting up to 300 seconds for model version to finish creation. Model name: flight_delays_baseline, version 4\n",
"Created version '4' of model 'flight_delays_baseline'.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model 'flight_delays_baseline' version 4 registered successfully.\n"
]
}
],
"source": [
"model_path = f\"runs:/{automl.best_run_id}/model\"\n",
"\n",
"# Register the model to the MLflow registry\n",
"registered_model = mlflow.register_model(model_uri=model_path, name=\"flight_delays_baseline\")\n",
"\n",
"# Print the registered model's name and version\n",
"print(f\"Model '{registered_model.name}' version {registered_model.version} registered successfully.\")"
]
},
{
"cell_type": "markdown",
"id": "17",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"### Predict with saved model"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "18",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:38.1921149Z",
"execution_start_time": "2024-09-03T04:48:35.9728626Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "65b0cb5e-e7fb-4936-b5c2-c15bec521833",
"queued_time": "2024-09-03T04:44:51.1840028Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 18,
"statement_ids": [
18
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 18, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c145060f2a5943719ee2f8d11642df52",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/5 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predicted labels [1 0 1 ... 1 0 0]\n",
"True labels 118331 0\n",
"328182 0\n",
"335454 0\n",
"520591 1\n",
"344651 0\n",
" ..\n",
"367080 0\n",
"203510 1\n",
"254894 0\n",
"296512 1\n",
"362444 0\n",
"Name: Delay, Length: 134846, dtype: category\n",
"Categories (2, object): ['0' < '1']\n"
]
},
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:47.5877957Z",
"execution_start_time": "2024-09-03T04:54:47.2059723Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "b85756fc-4249-4378-8bf4-238dbb0ac984",
"queued_time": "2024-09-03T04:48:49.1748862Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 38,
"statement_ids": [
38
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 38, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"loaded_model = mlflow.sklearn.load_model(f\"models:/{registered_model.name}/{registered_model.version}\")\n",
"\n",
"y_pred = loaded_model.predict(X_test)\n",
"print('Predicted labels', y_pred)\n",
"print('True labels', y_test)\n",
"y_pred_proba = automl.predict_proba(X_test)[:,1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "19",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:38.936582Z",
"execution_start_time": "2024-09-03T04:48:38.5760909Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "cd3d0b23-95b6-43fc-b72d-7343692a7964",
"queued_time": "2024-09-03T04:44:51.185972Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 19,
"statement_ids": [
19
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 19, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"accuracy = 0.6425997063316672\n",
"roc_auc = 0.6863937336290802\n",
"log_loss = 0.6294673392946836\n"
]
}
],
"source": [
"''' compute different metric values on testing dataset'''\n",
"from flaml.ml import sklearn_metric_loss_score\n",
"print('accuracy', '=', 1 - sklearn_metric_loss_score('accuracy', y_pred, y_test.astype(float)))\n",
"print('roc_auc', '=', 1 - sklearn_metric_loss_score('roc_auc', y_pred_proba, y_test.astype(float)))\n",
"print('log_loss', '=', sklearn_metric_loss_score('log_loss', y_pred_proba, y_test.astype(float)))"
]
},
{
"cell_type": "markdown",
"id": "20",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 4. Customized Learner"
]
},
{
"cell_type": "markdown",
"id": "21",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Some experienced automl users may have a preferred model to tune or may already have a reasonably by-hand-tuned model before launching the automl experiment. They need to select optimal configurations for the customized model mixed with standard built-in learners. \n",
"\n",
"FLAML can easily incorporate customized/new learners (preferably with sklearn API) provided by users in a real-time manner, as demonstrated below."
]
},
{
"cell_type": "markdown",
"id": "22",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Example of Regularized Greedy Forest\n",
"\n",
"[Regularized Greedy Forest](https://arxiv.org/abs/1109.0887) (RGF) is a machine learning method currently not included in FLAML. The RGF has many tuning parameters, the most critical of which are: `[max_leaf, n_iter, n_tree_search, opt_interval, min_samples_leaf]`. To run a customized/new learner, the user needs to provide the following information:\n",
"* an implementation of the customized/new learner\n",
"* a list of hyperparameter names and types\n",
"* rough ranges of hyperparameters (i.e., upper/lower bounds)\n",
"* choose initial value corresponding to low cost for cost-related hyperparameters (e.g., initial value for max_leaf and n_iter should be small)\n",
"\n",
"In this example, the above information for RGF is wrapped in a python class called *MyRegularizedGreedyForest* that exposes the hyperparameters."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "23",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:39.6956108Z",
"execution_start_time": "2024-09-03T04:48:39.3399804Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "e78fb67f-58c5-4aff-afd1-0ce0a6a0f2a7",
"queued_time": "2024-09-03T04:44:51.1880435Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 20,
"statement_ids": [
20
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 20, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"''' SKLearnEstimator is the super class for a sklearn learner '''\n",
"from flaml.automl.model import SKLearnEstimator\n",
"from flaml import tune\n",
"from flaml.automl.task.task import CLASSIFICATION\n",
"\n",
"\n",
"class MyRegularizedGreedyForest(SKLearnEstimator):\n",
" def __init__(self, task='binary', **config):\n",
" '''Constructor\n",
" \n",
" Args:\n",
" task: A string of the task type, one of\n",
" 'binary', 'multiclass', 'regression'\n",
" config: A dictionary containing the hyperparameter names\n",
" and 'n_jobs' as keys. n_jobs is the number of parallel threads.\n",
" '''\n",
"\n",
" super().__init__(task, **config)\n",
"\n",
" '''task=binary or multi for classification task'''\n",
" if task in CLASSIFICATION:\n",
" from rgf.sklearn import RGFClassifier\n",
"\n",
" self.estimator_class = RGFClassifier\n",
" else:\n",
" from rgf.sklearn import RGFRegressor\n",
" \n",
" self.estimator_class = RGFRegressor\n",
"\n",
" @classmethod\n",
" def search_space(cls, data_size, task):\n",
" '''[required method] search space\n",
"\n",
" Returns:\n",
" A dictionary of the search space. \n",
" Each key is the name of a hyperparameter, and value is a dict with\n",
" its domain (required) and low_cost_init_value, init_value,\n",
" cat_hp_cost (if applicable).\n",
" e.g.,\n",
" {'domain': tune.randint(lower=1, upper=10), 'init_value': 1}.\n",
" '''\n",
" space = { \n",
" 'max_leaf': {'domain': tune.lograndint(lower=4, upper=data_size[0]), 'init_value': 4, 'low_cost_init_value': 4},\n",
" 'n_iter': {'domain': tune.lograndint(lower=1, upper=data_size[0]), 'init_value': 1, 'low_cost_init_value': 1},\n",
" 'n_tree_search': {'domain': tune.lograndint(lower=1, upper=32768), 'init_value': 1, 'low_cost_init_value': 1},\n",
" 'opt_interval': {'domain': tune.lograndint(lower=1, upper=10000), 'init_value': 100},\n",
" 'learning_rate': {'domain': tune.loguniform(lower=0.01, upper=20.0)},\n",
" 'min_samples_leaf': {'domain': tune.lograndint(lower=1, upper=20), 'init_value': 20},\n",
" }\n",
" return space\n",
"\n",
" @classmethod\n",
" def size(cls, config):\n",
" '''[optional method] memory size of the estimator in bytes\n",
" \n",
" Args:\n",
" config - the dict of the hyperparameter config\n",
"\n",
" Returns:\n",
" A float of the memory size required by the estimator to train the\n",
" given config\n",
" '''\n",
" max_leaves = int(round(config['max_leaf']))\n",
" n_estimators = int(round(config['n_iter']))\n",
" return (max_leaves * 3 + (max_leaves - 1) * 4 + 1.0) * n_estimators * 8\n",
"\n",
" @classmethod\n",
" def cost_relative2lgbm(cls):\n",
" '''[optional method] relative cost compared to lightgbm\n",
" '''\n",
" return 1.0\n"
]
},
{
"cell_type": "markdown",
"id": "24",
"metadata": {},
"source": [
"## 5. Customized Metric\n",
"\n",
"It's also easy to customize the optimization metric. As an example, we demonstrate with a custom metric function which combines training loss and validation loss as the final loss to minimize."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "25",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:40.4231961Z",
"execution_start_time": "2024-09-03T04:48:40.0771372Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "266b8a24-e1b0-4ace-a1c8-daa39254d35c",
"queued_time": "2024-09-03T04:44:51.1898314Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 21,
"statement_ids": [
21
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 21, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def custom_metric(X_val, y_val, estimator, labels, X_train, y_train,\n",
" weight_val=None, weight_train=None, config=None,\n",
" groups_val=None, groups_train=None):\n",
" from sklearn.metrics import log_loss\n",
" import time\n",
" start = time.time()\n",
" y_pred = estimator.predict_proba(X_val)\n",
" pred_time = (time.time() - start) / len(X_val)\n",
" val_loss = log_loss(y_val, y_pred, labels=labels,\n",
" sample_weight=weight_val)\n",
" y_pred = estimator.predict_proba(X_train)\n",
" train_loss = log_loss(y_train, y_pred, labels=labels,\n",
" sample_weight=weight_train)\n",
" alpha = 0.5\n",
" return val_loss * (1 + alpha) - alpha * train_loss, {\n",
" \"val_loss\": val_loss, \"train_loss\": train_loss, \"pred_time\": pred_time\n",
" }\n",
" # two elements are returned:\n",
" # the first element is the metric to minimize as a float number,\n",
" # the second element is a dictionary of the metrics to log"
]
},
{
"cell_type": "markdown",
"id": "26",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Add Customized Learner and and Metric\n",
"\n",
"After adding RGF into the list of learners, we run automl by tuning hyperpameters of RGF as well as the default learners. "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "27",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:41.1826867Z",
"execution_start_time": "2024-09-03T04:48:40.8242072Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "7b5820ad-343c-4f0c-9d32-4c392dae6775",
"queued_time": "2024-09-03T04:44:51.1916814Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 22,
"statement_ids": [
22
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 22, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"automl = AutoML()\n",
"automl.add_learner(learner_name='RGF', learner_class=MyRegularizedGreedyForest)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "28",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:48:41.9465962Z",
"execution_start_time": "2024-09-03T04:48:41.5871773Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "8126bb8c-4bae-467d-9fd3-f74e245f0e6c",
"queued_time": "2024-09-03T04:44:51.1931417Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 23,
"statement_ids": [
23
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 23, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"settings = {\n",
" \"time_budget\": 120, # total running time in seconds\n",
" \"metric\": custom_metric, # pass the custom metric funtion here\n",
" \"estimator_list\": ['RGF', 'lgbm', 'rf', 'xgboost'], # list of ML learners\n",
" \"task\": 'classification', # task type\n",
" \"seed\": 42, # random seed\n",
"}"
]
},
{
"cell_type": "markdown",
"id": "29",
"metadata": {},
"source": [
"We can then pass this custom learner and metric function to automl's `fit` method."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "30",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:51:39.497045Z",
"execution_start_time": "2024-09-03T04:48:42.3996139Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "535eef5a-4837-412e-9498-93fb8350fe28",
"queued_time": "2024-09-03T04:44:51.1949269Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 24,
"statement_ids": [
24
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 24, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:48:43] {1787} INFO - task = classification\n",
"[flaml.automl.logger: 09-03 04:48:43] {1798} INFO - Evaluation method: holdout\n",
"[flaml.automl.logger: 09-03 04:48:43] {1901} INFO - Minimizing error metric: customized metric\n",
"[flaml.automl.logger: 09-03 04:48:43] {2019} INFO - List of ML learners in AutoML Run: ['RGF', 'lgbm', 'rf', 'xgboost']\n",
"[flaml.automl.logger: 09-03 04:48:43] {2329} INFO - iteration 0, current learner RGF\n",
"[flaml.automl.logger: 09-03 04:48:44] {2464} INFO - Estimated sufficient time budget=329015s. Estimated necessary time budget=329s.\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6624032549382345,
"customized metric": 0.6624032549382345,
"iter_counter": 0,
"trial_time": 0.8938319683074951,
"validation_loss": 0.6624032549382345,
"wall_clock_time": 1.7741670608520508
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "5.203358777802588",
"max_leaf": "4",
"min_samples_leaf": "20",
"n_iter": "1",
"n_tree_search": "1",
"opt_interval": "100",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_0",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "0",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/a9847e9c-7653-442b-b680-71640de74923/artifacts",
"end_time": 1725338941,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "a9847e9c-7653-442b-b680-71640de74923",
"run_name": "",
"run_uuid": "a9847e9c-7653-442b-b680-71640de74923",
"start_time": 1725338924,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:49:02] {2513} INFO - at 1.8s,\testimator RGF's best error=0.6624,\tbest estimator RGF's best error=0.6624\n",
"[flaml.automl.logger: 09-03 04:49:02] {2329} INFO - iteration 1, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6624032549382345,
"customized metric": 0.7225073543734466,
"iter_counter": 1,
"trial_time": 0.2959563732147217,
"validation_loss": 0.7225073543734466,
"wall_clock_time": 19.77244234085083
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "15.174906417562942",
"max_leaf": "6",
"min_samples_leaf": "16",
"n_iter": "1",
"n_tree_search": "1",
"opt_interval": "45",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_1",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "1",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/b5a50f25-c1ec-4c7b-98e6-5c5595b4fe0a/artifacts",
"end_time": 1725338960,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "b5a50f25-c1ec-4c7b-98e6-5c5595b4fe0a",
"run_name": "",
"run_uuid": "b5a50f25-c1ec-4c7b-98e6-5c5595b4fe0a",
"start_time": 1725338942,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:49:20] {2513} INFO - at 19.8s,\testimator RGF's best error=0.6624,\tbest estimator RGF's best error=0.6624\n",
"[flaml.automl.logger: 09-03 04:49:20] {2329} INFO - iteration 2, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6579708674713179,
"customized metric": 0.6579708674713179,
"iter_counter": 2,
"trial_time": 0.2928922176361084,
"validation_loss": 0.6579708674713179,
"wall_clock_time": 38.359304904937744
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "1.7841917324247605",
"max_leaf": "4",
"min_samples_leaf": "19",
"n_iter": "7",
"n_tree_search": "2",
"opt_interval": "224",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_2",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "2",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/b884dd57-97cd-4974-a5ef-f333a8d1782e/artifacts",
"end_time": 1725338978,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "b884dd57-97cd-4974-a5ef-f333a8d1782e",
"run_name": "",
"run_uuid": "b884dd57-97cd-4974-a5ef-f333a8d1782e",
"start_time": 1725338961,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:49:39] {2513} INFO - at 38.4s,\testimator RGF's best error=0.6580,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:49:39] {2329} INFO - iteration 3, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6564226864118912,
"customized metric": 0.6564226864118912,
"iter_counter": 3,
"trial_time": 0.34310221672058105,
"validation_loss": 0.6564226864118912,
"wall_clock_time": 57.05687379837036
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "1.382765995393735",
"max_leaf": "7",
"min_samples_leaf": "19",
"n_iter": "85",
"n_tree_search": "7",
"opt_interval": "151",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_3",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "3",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/d41bd941-0a23-480c-8c05-f868906289e1/artifacts",
"end_time": 1725338997,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "d41bd941-0a23-480c-8c05-f868906289e1",
"run_name": "",
"run_uuid": "d41bd941-0a23-480c-8c05-f868906289e1",
"start_time": 1725338980,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:49:57] {2513} INFO - at 57.1s,\testimator RGF's best error=0.6564,\tbest estimator RGF's best error=0.6564\n",
"[flaml.automl.logger: 09-03 04:49:57] {2329} INFO - iteration 4, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6564226864118912,
"customized metric": 0.6579708674713179,
"iter_counter": 4,
"trial_time": 0.2889101505279541,
"validation_loss": 0.6579708674713179,
"wall_clock_time": 75.13033628463745
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "1.784191732424759",
"max_leaf": "4",
"min_samples_leaf": "17",
"n_iter": "7",
"n_tree_search": "2",
"opt_interval": "223",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_4",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "4",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/4af65c7e-451e-4644-ab03-0797af0c540a/artifacts",
"end_time": 1725339014,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "4af65c7e-451e-4644-ab03-0797af0c540a",
"run_name": "",
"run_uuid": "4af65c7e-451e-4644-ab03-0797af0c540a",
"start_time": 1725338998,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:50:15] {2513} INFO - at 75.1s,\testimator RGF's best error=0.6564,\tbest estimator RGF's best error=0.6564\n",
"[flaml.automl.logger: 09-03 04:50:15] {2329} INFO - iteration 5, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6564226864118912,
"customized metric": 0.7285741410304108,
"iter_counter": 5,
"trial_time": 0.3273744583129883,
"validation_loss": 0.7285741410304108,
"wall_clock_time": 92.89774966239929
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "4.977190932165611",
"max_leaf": "4",
"min_samples_leaf": "16",
"n_iter": "33",
"n_tree_search": "11",
"opt_interval": "137",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_5",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "5",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/76410fa1-87e6-4f66-8a5a-6e1de4cb6310/artifacts",
"end_time": 1725339032,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "76410fa1-87e6-4f66-8a5a-6e1de4cb6310",
"run_name": "",
"run_uuid": "76410fa1-87e6-4f66-8a5a-6e1de4cb6310",
"start_time": 1725339016,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:50:32] {2513} INFO - at 92.9s,\testimator RGF's best error=0.6564,\tbest estimator RGF's best error=0.6564\n",
"[flaml.automl.logger: 09-03 04:50:32] {2329} INFO - iteration 6, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6399577405588128,
"customized metric": 0.6399577405588128,
"iter_counter": 6,
"trial_time": 0.6532900333404541,
"validation_loss": 0.6399577405588128,
"wall_clock_time": 110.61953806877136
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "0.38416082968818005",
"max_leaf": "37",
"min_samples_leaf": "19",
"n_iter": "222",
"n_tree_search": "4",
"opt_interval": "167",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric_child_6",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "6",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/4e7d64c8-227b-4596-a717-a160161778d3/artifacts",
"end_time": 1725339049,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "4e7d64c8-227b-4596-a717-a160161778d3",
"run_name": "",
"run_uuid": "4e7d64c8-227b-4596-a717-a160161778d3",
"start_time": 1725339033,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:50:49] {2513} INFO - at 110.6s,\testimator RGF's best error=0.6400,\tbest estimator RGF's best error=0.6400\n",
"[flaml.automl.logger: 09-03 04:50:50] {569} INFO - logging best model RGF\n",
"[flaml.automl.logger: 09-03 04:51:20] {2756} INFO - retrain RGF for 27.4s\n",
"[flaml.automl.logger: 09-03 04:51:20] {2759} INFO - retrained model: RGFClassifier(learning_rate=0.38416082968818005, max_leaf=37,\n",
" min_samples_leaf=19, n_iter=222, n_tree_search=4,\n",
" opt_interval=167)\n",
"[flaml.automl.logger: 09-03 04:51:20] {2760} INFO - Auto Feature Engineering pipeline: None\n",
"[flaml.automl.logger: 09-03 04:51:20] {2762} INFO - Best MLflow run name: \n",
"[flaml.automl.logger: 09-03 04:51:20] {2763} INFO - Best MLflow run id: 4e7d64c8-227b-4596-a717-a160161778d3\n",
"[flaml.automl.logger: 09-03 04:51:35] {2055} INFO - fit succeeded\n",
"[flaml.automl.logger: 09-03 04:51:35] {2056} INFO - Time taken to find the best model: 110.61953806877136\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6399577405588128,
"customized metric": 0.6399577405588128,
"iter_counter": 6,
"trial_time": 0.6532900333404541,
"validation_loss": 0.6399577405588128,
"wall_clock_time": 110.61953806877136
},
"params": {
"FLAML_sample_size": "10000",
"best_learner": "RGF",
"learner": "RGF",
"learning_rate": "0.38416082968818005",
"max_leaf": "37",
"min_samples_leaf": "19",
"n_iter": "222",
"n_tree_search": "4",
"opt_interval": "167",
"sample_size": "10000"
},
"tags": {
"mlflow.rootRunId": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"mlflow.runName": "flight_delays_rgf_metric",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "True",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "6",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/56f60b2e-eb73-41b4-a32d-ec188c73cd00/artifacts",
"end_time": 1725339096,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"run_name": "",
"run_uuid": "56f60b2e-eb73-41b4-a32d-ec188c73cd00",
"start_time": 1725338922,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"with mlflow.start_run(run_name=\"flight_delays_rgf_metric\"):\n",
" automl.fit(X_train=X_train, y_train=y_train, **settings)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "31",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:51:40.2690103Z",
"execution_start_time": "2024-09-03T04:51:39.917342Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "47087381-f1b4-406d-b54b-fca76b79d4ce",
"queued_time": "2024-09-03T04:44:51.1970927Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 25,
"statement_ids": [
25
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 25, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Best ML leaner: RGF\n",
"Best hyperparmeter config: {'max_leaf': 37, 'n_iter': 222, 'n_tree_search': 4, 'opt_interval': 167, 'min_samples_leaf': 19, 'learning_rate': 0.38416082968818005}\n",
"Best accuracy on validation data: 0.36\n",
"Training duration of best run: 27.35 s\n"
]
}
],
"source": [
"'''retrieve best config and best learner'''\n",
"print('Best ML leaner:', automl.best_estimator)\n",
"print('Best hyperparmeter config:', automl.best_config)\n",
"print('Best accuracy on validation data: {0:.4g}'.format(1-automl.best_loss))\n",
"print('Training duration of best run: {0:.4g} s'.format(automl.best_config_train_time))"
]
},
{
"cell_type": "markdown",
"id": "32",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"## 6. Auto Featurization"
]
},
{
"cell_type": "markdown",
"id": "33",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"Next, we introduce the latest `featurization` module, which could automatically search for a feature engineering pipeline along with AutoML process.\n",
"\n",
"This module leverages HPO algorithms to intelligently select, transform, and construct features from raw data, enhancing the model's predictive power. \n",
"\n",
"The module's integration with AutoML allows for a seamless, automated process where both feature engineering and model selection are jointly optimized.\n",
"\n",
"Just set the `featurization` parameter to `auto` could let you experience this module. Set to `force` to let FLAML choose a method for each stage. Set to `off` to disable the module. On Fabric, it's set to `auto` by default.\n",
"\n",
"\n",
"\n",
"Currently avaliable feature engineering methods:\n",
"1. Stage `categorical`: Methods to encode categorical features. Available:\n",
" - `ordinal`: Ordinal encoding for categorical features.\n",
" \n",
"\n",
"2. Stage `numerical`: Methods to transform numerical features. Available:\n",
" - `null`: No transformation applied to numerical features.\n",
" - `scaler_standard`: Standard scaling for numerical features, normalizing them to have zero mean and unit variance.\n",
" - `scaler_minmax`: Min-Max scaling, transforming features by scaling each feature to a given range, typically [0, 1].\n",
" - `scaler_maxabs`: MaxAbs scaling, scales each feature by its maximum absolute value. This is meant for data that is already centered at zero or sparse data.\n",
" - `scaler_robust`: Robust scaling using statistics that are robust to outliers, particularly useful when dealing with features that contain many outliers.\n",
" - `normalizer_sparse`: Normalization applied to sparse input, making each feature vector have unit norm.\n",
" \n",
" \n",
"3. Stage `selection`: Methods for feature selection. Available:\n",
" - `null`: No feature selection is applied.\n",
" - `cardinality`: Selecting features based on their cardinality.\n",
" - `variance`: Selecting features based on variance threshold.\n",
" \n",
"\n",
"4. Stage `extraction`: Feature extraction methods, applicable based on task type. Available:\n",
" - `null`: No feature extraction is applied.\n",
" - `PCA`: Principal Component Analysis.\n",
" - `LDA`: Linear Discriminant Analysis(For classification tasks only)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "34",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:51:41.7103725Z",
"execution_start_time": "2024-09-03T04:51:40.6545872Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "83c9a530-9a27-4628-b4c3-89d2dea935ca",
"queued_time": "2024-09-03T04:44:51.1989052Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 26,
"statement_ids": [
26
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 26, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"automl = AutoML()\n",
"automl.add_learner(learner_name='RGF', learner_class=MyRegularizedGreedyForest)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "35",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:51:42.534623Z",
"execution_start_time": "2024-09-03T04:51:42.1730398Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "5c454e4d-2e58-48e7-adf7-4dd173e08eb9",
"queued_time": "2024-09-03T04:44:51.1999902Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 27,
"statement_ids": [
27
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 27, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"settings = {\n",
" \"time_budget\": 120, # total running time in seconds\n",
" \"metric\": custom_metric, # pass the custom metric funtion here\n",
" \"estimator_list\": ['RGF', 'lgbm', 'rf', 'xgboost'], # list of ML learners\n",
" \"task\": 'classification', # task type\n",
" \"seed\": 42, # random seed\n",
" \"featurization\": \"auto\",\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "36",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:28.7835981Z",
"execution_start_time": "2024-09-03T04:51:42.9699791Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "b27c4285-4823-45a1-a6e2-201c5e6ee824",
"queued_time": "2024-09-03T04:44:51.2008184Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 28,
"statement_ids": [
28
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 28, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:51:43] {1787} INFO - task = classification\n",
"[flaml.automl.logger: 09-03 04:51:43] {1798} INFO - Evaluation method: holdout\n",
"[flaml.automl.logger: 09-03 04:51:44] {1901} INFO - Minimizing error metric: customized metric\n",
"Auto featurization is not supported for spark data. Featurization is turned off.\n",
"[flaml.automl.logger: 09-03 04:51:44] {2019} INFO - List of ML learners in AutoML Run: ['RGF', 'lgbm', 'rf', 'xgboost']\n",
"[flaml.automl.logger: 09-03 04:51:44] {2329} INFO - iteration 0, current learner RGF\n",
"[flaml.automl.logger: 09-03 04:51:44] {2464} INFO - Estimated sufficient time budget=108490s. Estimated necessary time budget=108s.\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6624032549382345,
"customized metric": 0.6624032549382345,
"iter_counter": 0,
"trial_time": 0.29631805419921875,
"validation_loss": 0.6624032549382345,
"wall_clock_time": 1.1034765243530273
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "5.203358777802588",
"max_leaf": "4",
"min_samples_leaf": "20",
"n_iter": "1",
"n_tree_search": "1",
"opt_interval": "100",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_0",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "0",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/fee4346a-61b9-44a5-86a9-18bdab0fc95c/artifacts",
"end_time": 1725339121,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "fee4346a-61b9-44a5-86a9-18bdab0fc95c",
"run_name": "",
"run_uuid": "fee4346a-61b9-44a5-86a9-18bdab0fc95c",
"start_time": 1725339104,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:52:01] {2513} INFO - at 1.1s,\testimator RGF's best error=0.6624,\tbest estimator RGF's best error=0.6624\n",
"[flaml.automl.logger: 09-03 04:52:01] {2329} INFO - iteration 1, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6624032549382345,
"customized metric": 0.7225073543734466,
"iter_counter": 1,
"trial_time": 0.29607105255126953,
"validation_loss": 0.7225073543734466,
"wall_clock_time": 18.643904447555542
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "15.174906417562942",
"max_leaf": "6",
"min_samples_leaf": "16",
"n_iter": "1",
"n_tree_search": "1",
"opt_interval": "45",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_1",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "1",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/25568343-c9e2-4ea1-b2dc-87c2de178cb5/artifacts",
"end_time": 1725339140,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "25568343-c9e2-4ea1-b2dc-87c2de178cb5",
"run_name": "",
"run_uuid": "25568343-c9e2-4ea1-b2dc-87c2de178cb5",
"start_time": 1725339122,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:52:20] {2513} INFO - at 18.6s,\testimator RGF's best error=0.6624,\tbest estimator RGF's best error=0.6624\n",
"[flaml.automl.logger: 09-03 04:52:20] {2329} INFO - iteration 2, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6579708674713179,
"customized metric": 0.6579708674713179,
"iter_counter": 2,
"trial_time": 0.2899649143218994,
"validation_loss": 0.6579708674713179,
"wall_clock_time": 37.70584297180176
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "1.7841917324247605",
"max_leaf": "4",
"min_samples_leaf": "19",
"n_iter": "7",
"n_tree_search": "2",
"opt_interval": "224",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_2",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "2",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/3e40efd0-6742-433f-ac4f-0dd3e491a964/artifacts",
"end_time": 1725339158,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "3e40efd0-6742-433f-ac4f-0dd3e491a964",
"run_name": "",
"run_uuid": "3e40efd0-6742-433f-ac4f-0dd3e491a964",
"start_time": 1725339141,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:52:39] {2513} INFO - at 37.7s,\testimator RGF's best error=0.6580,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:52:39] {2329} INFO - iteration 3, current learner lgbm\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages/flaml/fabric/autofe.py:288: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" X[categorical_features] = X[categorical_features].astype(str).astype(\"category\")\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6771484988075377,
"customized metric": 0.6771484988075377,
"iter_counter": 3,
"trial_time": 0.6715874671936035,
"validation_loss": 0.6771484988075377,
"wall_clock_time": 56.74079608917236
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "1.0",
"fe.categorical": "ordinal",
"fe.extraction": "LDA",
"fe.selection": "null",
"learner": "lgbm",
"learning_rate": "0.09999999999999995",
"log_max_bin": "8",
"min_child_samples": "20",
"n_estimators": "4",
"num_leaves": "4",
"reg_alpha": "0.0009765625",
"reg_lambda": "1.0",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_3",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "3",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/b439be54-2ef7-4820-b2f4-eab53bfb0dd7/artifacts",
"end_time": 1725339179,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "b439be54-2ef7-4820-b2f4-eab53bfb0dd7",
"run_name": "",
"run_uuid": "b439be54-2ef7-4820-b2f4-eab53bfb0dd7",
"start_time": 1725339160,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:52:59] {2513} INFO - at 56.7s,\testimator lgbm's best error=0.6771,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:52:59] {2329} INFO - iteration 4, current learner xgboost\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages/flaml/fabric/autofe.py:288: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" X[categorical_features] = X[categorical_features].astype(str).astype(\"category\")\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6798173003929756,
"customized metric": 0.6798173003929756,
"iter_counter": 4,
"trial_time": 0.31815600395202637,
"validation_loss": 0.6798173003929756,
"wall_clock_time": 76.9973726272583
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bylevel": "1.0",
"colsample_bytree": "1.0",
"fe.categorical": "ordinal",
"fe.extraction": "LDA",
"fe.selection": "null",
"learner": "xgboost",
"learning_rate": "0.09999999999999995",
"max_leaves": "4",
"min_child_weight": "0.9999999999999993",
"n_estimators": "4",
"reg_alpha": "0.0009765625",
"reg_lambda": "1.0",
"sample_size": "10000",
"subsample": "1.0"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_4",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "XGBoostSklearnEstimator",
"synapseml.flaml.estimator_name": "xgboost",
"synapseml.flaml.iteration_number": "4",
"synapseml.flaml.learner": "xgboost",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/289b3da0-381b-47d0-9b70-c4fa92077764/artifacts",
"end_time": 1725339199,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "289b3da0-381b-47d0-9b70-c4fa92077764",
"run_name": "",
"run_uuid": "289b3da0-381b-47d0-9b70-c4fa92077764",
"start_time": 1725339180,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:53:19] {2513} INFO - at 77.0s,\testimator xgboost's best error=0.6798,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:53:19] {2329} INFO - iteration 5, current learner RGF\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6579708674713179,
"customized metric": 0.7024846118198472,
"iter_counter": 5,
"trial_time": 0.3247342109680176,
"validation_loss": 0.7024846118198472,
"wall_clock_time": 96.81968307495117
},
"params": {
"FLAML_sample_size": "10000",
"learner": "RGF",
"learning_rate": "1.382765995393735",
"max_leaf": "7",
"min_samples_leaf": "19",
"n_iter": "85",
"n_tree_search": "7",
"opt_interval": "151",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_5",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "5",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/09b06cd7-685c-42a2-9713-4ee67b028791/artifacts",
"end_time": 1725339220,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "09b06cd7-685c-42a2-9713-4ee67b028791",
"run_name": "",
"run_uuid": "09b06cd7-685c-42a2-9713-4ee67b028791",
"start_time": 1725339200,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:53:41] {2513} INFO - at 96.8s,\testimator RGF's best error=0.6580,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:53:41] {2329} INFO - iteration 6, current learner lgbm\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages/flaml/fabric/autofe.py:288: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" X[categorical_features] = X[categorical_features].astype(str).astype(\"category\")\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6771484988075377,
"customized metric": 0.6788861940642658,
"iter_counter": 6,
"trial_time": 0.21529173851013184,
"validation_loss": 0.6788861940642658,
"wall_clock_time": 118.05959796905518
},
"params": {
"FLAML_sample_size": "10000",
"colsample_bytree": "0.9532787078931052",
"fe.categorical": "ordinal",
"fe.extraction": "LDA",
"fe.selection": "null",
"learner": "lgbm",
"learning_rate": "0.06546385281889436",
"log_max_bin": "9",
"min_child_samples": "17",
"n_estimators": "5",
"num_leaves": "4",
"reg_alpha": "0.0021499603681893195",
"reg_lambda": "24.150321938204367",
"sample_size": "10000"
},
"tags": {
"mlflow.parentRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe_child_6",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "False",
"synapseml.flaml.estimator_class": "LGBMEstimator",
"synapseml.flaml.estimator_name": "lgbm",
"synapseml.flaml.iteration_number": "6",
"synapseml.flaml.learner": "lgbm",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/7d1bee9c-9e91-4774-ab71-e3634d3b37cb/artifacts",
"end_time": 1725339239,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "7d1bee9c-9e91-4774-ab71-e3634d3b37cb",
"run_name": "",
"run_uuid": "7d1bee9c-9e91-4774-ab71-e3634d3b37cb",
"start_time": 1725339221,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[flaml.automl.logger: 09-03 04:54:00] {2513} INFO - at 118.1s,\testimator lgbm's best error=0.6771,\tbest estimator RGF's best error=0.6580\n",
"[flaml.automl.logger: 09-03 04:54:01] {569} INFO - logging best model RGF\n",
"[flaml.automl.logger: 09-03 04:54:06] {2756} INFO - retrain RGF for 2.6s\n",
"[flaml.automl.logger: 09-03 04:54:06] {2759} INFO - retrained model: RGFClassifier(learning_rate=1.7841917324247605, max_leaf=4, min_samples_leaf=19,\n",
" n_iter=7, n_tree_search=2, opt_interval=224)\n",
"[flaml.automl.logger: 09-03 04:54:06] {2760} INFO - Auto Feature Engineering pipeline: None\n",
"[flaml.automl.logger: 09-03 04:54:06] {2762} INFO - Best MLflow run name: \n",
"[flaml.automl.logger: 09-03 04:54:06] {2763} INFO - Best MLflow run id: 3e40efd0-6742-433f-ac4f-0dd3e491a964\n",
"[flaml.automl.logger: 09-03 04:54:23] {2055} INFO - fit succeeded\n",
"[flaml.automl.logger: 09-03 04:54:23] {2056} INFO - Time taken to find the best model: 37.70584297180176\n"
]
},
{
"data": {
"application/vnd.mlflow.run-widget+json": {
"data": {
"metrics": {
"best_validation_loss": 0.6579708674713179,
"customized metric": 0.6579708674713179,
"iter_counter": 2,
"trial_time": 0.2899649143218994,
"validation_loss": 0.6579708674713179,
"wall_clock_time": 37.70584297180176
},
"params": {
"FLAML_sample_size": "10000",
"best_learner": "RGF",
"learner": "RGF",
"learning_rate": "1.7841917324247605",
"max_leaf": "4",
"min_samples_leaf": "19",
"n_iter": "7",
"n_tree_search": "2",
"opt_interval": "224",
"sample_size": "10000"
},
"tags": {
"mlflow.rootRunId": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"mlflow.runName": "flight_delays_autofe",
"mlflow.user": "1b884fa3-ac7e-44f0-a171-1f215a13ecd4",
"synapseml.experiment.artifactId": "d85e32e4-32da-4c71-986b-a0d0723750aa",
"synapseml.experimentName": "automl-tutorial",
"synapseml.flaml.automl_display_configurations": "{\"task\": null, \"automl_mode\": null, \"metric\": null, \"time_budget\": null, \"early_stop\": null, \"featurization\": null}",
"synapseml.flaml.automl_user_configurations": "{}",
"synapseml.flaml.best_run": "True",
"synapseml.flaml.estimator_class": "MyRegularizedGreedyForest",
"synapseml.flaml.estimator_name": "RGF",
"synapseml.flaml.iteration_number": "2",
"synapseml.flaml.learner": "RGF",
"synapseml.flaml.log_type": "r_autolog",
"synapseml.flaml.meric": "customized metric",
"synapseml.flaml.run_source": "flaml-automl",
"synapseml.flaml.sample_size": "10000",
"synapseml.flaml.version": "2.2.0.post1",
"synapseml.livy.id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"synapseml.notebook.artifactId": "4305ee52-6e3d-4e54-8bc5-cd02304d23fc",
"synapseml.user.id": "8abb9091-0a62-4ecd-bf6a-e49dbbf94431",
"synapseml.user.name": "Li Jiang"
}
},
"info": {
"artifact_uri": "sds://onelakemsit.pbidedicated.windows.net/c5eb3571-5221-4fd2-957a-456e893a6545/d85e32e4-32da-4c71-986b-a0d0723750aa/40117031-4c02-4f09-8fd2-3a3453661e9b/artifacts",
"end_time": 1725339264,
"experiment_id": "0499e3cc-c690-4b30-86b9-55838e7df486",
"lifecycle_stage": "active",
"run_id": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"run_name": "",
"run_uuid": "40117031-4c02-4f09-8fd2-3a3453661e9b",
"start_time": 1725339103,
"status": "FINISHED",
"user_id": "e83b0ff5-f802-4776-bae4-11fe73ba932a"
},
"inputs": {
"dataset_inputs": []
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"with mlflow.start_run(run_name=\"flight_delays_autofe\"):\n",
" automl.fit(X_train=X_train, y_train=y_train, **settings)"
]
},
{
"cell_type": "markdown",
"id": "37",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"### Standalone Feturization Pipeline \n",
"Once the AutoML process completes, the featurization pipeline can be accessed independently, and be utilized separately from the AutoML process.\n",
"\n",
"You can retrieve the feature engineering pipeline specifically through `automl.model.autofe`. \n",
"Alternatively, for a comprehensive view of the preprocessing steps, including those from FLAML's existing preprocessors, use `automl.feature_transformer`.\n",
"\n",
"- To view the configuration details of the entire pipeline, use `autofe.show_transformations()`.\n",
"- For a more interactive experience, the pipeline structure can be visualized by executing `display(autofe)` or simply `autofe`."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "38",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:30.1784335Z",
"execution_start_time": "2024-09-03T04:54:29.1617339Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "c4ac362a-a6bb-4b02-8c33-77323b7f2b31",
"queued_time": "2024-09-03T04:44:51.2018554Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 29,
"statement_ids": [
29
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 29, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"autofe = automl.model.autofe\n",
"display(autofe)\n",
"if autofe:\n",
" # autofe could be None\n",
" display(autofe.transform(X_test))"
]
},
{
"cell_type": "markdown",
"id": "39",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"Full data preprocessor set, including FLAML's existing preprocess and Featurization:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "40",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:31.7039608Z",
"execution_start_time": "2024-09-03T04:54:30.5957553Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "d61327b6-6d7d-471f-83c7-501e6e653430",
"queued_time": "2024-09-03T04:44:51.2031479Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 30,
"statement_ids": [
30
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 30, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<flaml.automl.data.DataTransformer at 0x7c5d2a52f070>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.synapse.widget-view+json": {
"widget_id": "01e178a6-4c9f-4b90-825f-a05558a8ee9e",
"widget_type": "Synapse.DataFrame"
},
"text/plain": [
"SynapseWidget(Synapse.DataFrame, 01e178a6-4c9f-4b90-825f-a05558a8ee9e)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"transformer = automl.feature_transformer\n",
"display(transformer)\n",
"display(transformer.transform(X_test))"
]
},
{
"cell_type": "markdown",
"id": "41",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"## 7. Visualization\n",
"The `flaml.visualization` module provides utility functions for plotting the optimization process using [plotly](https://plotly.com/python/). Leveraging `plotly`, users can interactively explore experiment results. To use these plotting functions, simply provide your Hyperparameter Tuning & AutoML experiment results as input. Optional parameters can be added using keyword arguments."
]
},
{
"cell_type": "markdown",
"id": "42",
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
},
"source": [
"## Avaliable Plots\n",
"- plot_contour: Plot the parameter relationship as contour plot in the experiment.\n",
"- plot_edf: Plot the objective value EDF (empirical distribution function) of the experiment.\n",
"- plot_feature_importance: Plot importance for each feature in the dataset.\n",
"- plot_optimization_history: Plot optimization history of all trials in the experiment.\n",
"- plot_parallel_coordinate: Plot the high-dimensional parameter relationships in the experiment.\n",
"- plot_slice: Plot the parameter relationship as slice plot in a study.\n",
"- plot_timeline: Plot the timeline of the experiment."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "43",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [],
"source": [
"import flaml.visualization as fviz\n",
"fig = fviz.plot_slice(automl) # , params=['num_leaves', 'fe.extraction']\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "44",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [],
"source": [
"fig = fviz.plot_contour(automl, learner=\"RGF\", params=[\"max_leaf\", \"learning_rate\"])\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "45",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:42.5267328Z",
"execution_start_time": "2024-09-03T04:54:38.3407954Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "1d372090-9c00-419f-a7b4-a6e367dd0e31",
"queued_time": "2024-09-03T04:44:51.2069779Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 33,
"statement_ids": [
33
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 33, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "learner=RGF<br>score=%{x}<br>probability=%{y}<extra></extra>",
"legendgroup": "RGF",
"line": {
"dash": "solid",
"shape": "hv"
},
"marker": {
"color": "#636efa",
"symbol": "circle"
},
"mode": "lines",
"name": "RGF",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0.2774926456265534,
0.2975153881801528,
0.3375967450617655,
0.34202913252868206
],
"xaxis": "x",
"y": [
0.25,
0.5,
0.75,
1
],
"yaxis": "y"
},
{
"hovertemplate": "learner=lgbm<br>score=%{x}<br>probability=%{y}<extra></extra>",
"legendgroup": "lgbm",
"line": {
"dash": "solid",
"shape": "hv"
},
"marker": {
"color": "#EF553B",
"symbol": "circle"
},
"mode": "lines",
"name": "lgbm",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0.32111380593573424,
0.3228515011924623
],
"xaxis": "x",
"y": [
0.5,
1
],
"yaxis": "y"
},
{
"hovertemplate": "learner=xgboost<br>score=%{x}<br>probability=%{y}<extra></extra>",
"legendgroup": "xgboost",
"line": {
"dash": "solid",
"shape": "hv"
},
"marker": {
"color": "#00cc96",
"symbol": "circle"
},
"mode": "lines",
"name": "xgboost",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0.3201826996070244
],
"xaxis": "x",
"y": [
1
],
"yaxis": "y"
}
],
"layout": {
"legend": {
"title": {
"text": "learner"
},
"tracegroupgap": 0
},
"margin": {
"t": 60
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Empirical Distribution Function"
},
"xaxis": {
"anchor": "y",
"domain": [
0,
1
],
"title": {
"text": "Score"
}
},
"yaxis": {
"anchor": "x",
"domain": [
0,
1
],
"rangemode": "tozero",
"title": {
"text": "Probability"
}
}
}
},
"text/html": [
"<div> <div id=\"497c7264-a323-4d17-8760-16d802b7a868\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"497c7264-a323-4d17-8760-16d802b7a868\")) { Plotly.newPlot( \"497c7264-a323-4d17-8760-16d802b7a868\", [{\"hovertemplate\":\"learner=RGF\\u003cbr\\u003escore=%{x}\\u003cbr\\u003eprobability=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"RGF\",\"line\":{\"dash\":\"solid\",\"shape\":\"hv\"},\"marker\":{\"color\":\"#636efa\",\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"RGF\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0.2774926456265534,0.2975153881801528,0.3375967450617655,0.34202913252868206],\"xaxis\":\"x\",\"y\":[0.25,0.5,0.75,1.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"learner=lgbm\\u003cbr\\u003escore=%{x}\\u003cbr\\u003eprobability=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"lgbm\",\"line\":{\"dash\":\"solid\",\"shape\":\"hv\"},\"marker\":{\"color\":\"#EF553B\",\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"lgbm\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0.32111380593573424,0.3228515011924623],\"xaxis\":\"x\",\"y\":[0.5,1.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"learner=xgboost\\u003cbr\\u003escore=%{x}\\u003cbr\\u003eprobability=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"xgboost\",\"line\":{\"dash\":\"solid\",\"shape\":\"hv\"},\"marker\":{\"color\":\"#00cc96\",\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"xgboost\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0.3201826996070244],\"xaxis\":\"x\",\"y\":[1.0],\"yaxis\":\"y\",\"type\":\"scatter\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Score\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Probability\"},\"rangemode\":\"tozero\"},\"legend\":{\"title\":{\"text\":\"learner\"},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"title\":{\"text\":\"Empirical Distribution Function\"}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('497c7264-a323-4d17-8760-16d802b7a868');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = fviz.plot_edf(automl)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "46",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [],
"source": [
"fig = fviz.plot_optimization_history(automl)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "47",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [],
"source": [
"fig = fviz.plot_timeline(automl)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "48",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [],
"source": [
"fig = fviz.plot_feature_importance(automl)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "49",
"metadata": {
"jupyter": {
"outputs_hidden": false,
"source_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
},
"outputs": [
{
"data": {
"application/vnd.livy.statement-meta+json": {
"execution_finish_time": "2024-09-03T04:54:46.8278294Z",
"execution_start_time": "2024-09-03T04:54:45.8054335Z",
"livy_statement_state": "available",
"normalized_state": "finished",
"parent_msg_id": "3277a4ef-8679-424c-a2d1-7805471c6793",
"queued_time": "2024-09-03T04:44:51.2103857Z",
"session_id": "44ec0d80-7d47-447e-8932-68bbcc94ad2b",
"session_start_time": null,
"spark_pool": null,
"state": "finished",
"statement_id": 37,
"statement_ids": [
37
]
},
"text/plain": [
"StatementMeta(, 44ec0d80-7d47-447e-8932-68bbcc94ad2b, 37, Finished, Available, Finished)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"dimensions": [
{
"label": "sample_size",
"values": [
10000,
10000,
10000,
null,
10000
]
},
{
"label": "max_leaf",
"values": [
4,
6,
4,
null,
7
]
},
{
"label": "n_iter",
"values": [
1,
1,
7,
null,
85
]
},
{
"label": "n_tree_search",
"values": [
1,
1,
2,
null,
7
]
},
{
"label": "opt_interval",
"values": [
100,
45,
224,
null,
151
]
},
{
"label": "min_samples_leaf",
"values": [
20,
16,
19,
null,
19
]
},
{
"label": "learning_rate",
"values": [
5.203358777802588,
15.174906417562942,
1.7841917324247605,
null,
1.382765995393735
]
},
{
"label": "FLAML_sample_size",
"values": [
10000,
10000,
10000,
null,
10000
]
},
{
"label": "score",
"values": [
0.3375967450617655,
0.2774926456265534,
0.34202913252868206,
0.2975153881801528,
null
]
}
],
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"line": {
"color": [
0.3375967450617655,
0.2774926456265534,
0.34202913252868206,
0.2975153881801528,
null
],
"coloraxis": "coloraxis"
},
"name": "",
"type": "parcoords"
}
],
"layout": {
"coloraxis": {
"colorbar": {
"title": {
"text": "score"
}
},
"colorscale": [
[
0,
"rgb(7, 64, 80)"
],
[
0.16666666666666666,
"rgb(16, 89, 101)"
],
[
0.3333333333333333,
"rgb(33, 122, 121)"
],
[
0.5,
"rgb(76, 155, 130)"
],
[
0.6666666666666666,
"rgb(108, 192, 139)"
],
[
0.8333333333333334,
"rgb(151, 225, 150)"
],
[
1,
"rgb(211, 242, 163)"
]
]
},
"legend": {
"tracegroupgap": 0
},
"margin": {
"t": 60
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"automargin": true,
"text": "Parallel Coordinate Plot for RGF",
"y": 0.1
}
}
},
"text/html": [
"<div> <div id=\"1553cfdb-1c4f-4f3a-9b5b-e56aedd128c5\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"1553cfdb-1c4f-4f3a-9b5b-e56aedd128c5\")) { Plotly.newPlot( \"1553cfdb-1c4f-4f3a-9b5b-e56aedd128c5\", [{\"dimensions\":[{\"label\":\"sample_size\",\"values\":[10000.0,10000.0,10000.0,null,10000.0]},{\"label\":\"max_leaf\",\"values\":[4.0,6.0,4.0,null,7.0]},{\"label\":\"n_iter\",\"values\":[1.0,1.0,7.0,null,85.0]},{\"label\":\"n_tree_search\",\"values\":[1.0,1.0,2.0,null,7.0]},{\"label\":\"opt_interval\",\"values\":[100.0,45.0,224.0,null,151.0]},{\"label\":\"min_samples_leaf\",\"values\":[20.0,16.0,19.0,null,19.0]},{\"label\":\"learning_rate\",\"values\":[5.203358777802588,15.174906417562942,1.7841917324247605,null,1.382765995393735]},{\"label\":\"FLAML_sample_size\",\"values\":[10000.0,10000.0,10000.0,null,10000.0]},{\"label\":\"score\",\"values\":[0.3375967450617655,0.2774926456265534,0.34202913252868206,0.2975153881801528,null]}],\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"line\":{\"color\":[0.3375967450617655,0.2774926456265534,0.34202913252868206,0.2975153881801528,null],\"coloraxis\":\"coloraxis\"},\"name\":\"\",\"type\":\"parcoords\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"score\"}},\"colorscale\":[[0.0,\"rgb(7, 64, 80)\"],[0.16666666666666666,\"rgb(16, 89, 101)\"],[0.3333333333333333,\"rgb(33, 122, 121)\"],[0.5,\"rgb(76, 155, 130)\"],[0.6666666666666666,\"rgb(108, 192, 139)\"],[0.8333333333333334,\"rgb(151, 225, 150)\"],[1.0,\"rgb(211, 242, 163)\"]]},\"legend\":{\"tracegroupgap\":0},\"margin\":{\"t\":60},\"title\":{\"automargin\":true,\"text\":\"Parallel Coordinate Plot for RGF\",\"y\":0.1}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('1553cfdb-1c4f-4f3a-9b5b-e56aedd128c5');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = fviz.plot_parallel_coordinate(automl)\n",
"fig.show()"
]
}
],
"metadata": {
"a365ComputeOptions": null,
"description": null,
"kernel_info": {
"name": "synapse_pyspark"
},
"kernelspec": {
"display_name": "Synapse PySpark",
"language": "Python",
"name": "synapse_pyspark"
},
"language_info": {
"name": "python"
},
"nteract": {
"version": "nteract-front-end@1.0.0"
},
"save_output": true,
"sessionKeepAliveTimeout": 0,
"spark_compute": {
"compute_id": "/trident/default"
}
},
"nbformat": 4,
"nbformat_minor": 5
}