From 82e82e0a6f27a478941200e048a67fd41a7b9790 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 25 Jul 2024 17:09:30 +0000 Subject: [PATCH] Deployed d42dd328d2 to dev with MkDocs 1.6.0 and mike 2.1.1 --- .../__pycache__/__main__.cpython-312.pyc | Bin 26441 -> 26441 bytes dev/recipes/on-hoeffding-trees.ipynb | 160 +++++------------- dev/recipes/on-hoeffding-trees/index.html | 26 +-- .../on-hoeffding-trees_12_0.svg | 26 +-- .../on-hoeffding-trees_19_0.png | Bin 180906 -> 180558 bytes .../on-hoeffding-trees_21_0.png | Bin 190612 -> 193069 bytes .../on-hoeffding-trees_23_0.png | Bin 192254 -> 189983 bytes .../on-hoeffding-trees_25_0.png | Bin 207997 -> 209370 bytes .../on-hoeffding-trees_27_0.png | Bin 211576 -> 212191 bytes dev/search/search_index.json | 2 +- 10 files changed, 65 insertions(+), 149 deletions(-) diff --git a/dev/parse/__pycache__/__main__.cpython-312.pyc b/dev/parse/__pycache__/__main__.cpython-312.pyc index 3f090da8043cc0fea35128a3b472126bffd63730..24a19ff0532568d994233e5fee2e71534f4b9cb1 100644 GIT binary patch delta 21 bcmX?kj`8F\n", "\n", - "\n", "\n", "\n", "\n", "0->1\n", - "\n", - "\n", - "≤ 0.5455\n", + "\n", + "\n", + "≤ 0.5455\n", "\n", "\n", "\n", @@ -572,9 +536,9 @@ "\n", "\n", "0->2\n", - "\n", - "\n", - "> 0.5455\n", + "\n", + "\n", + "> 0.5455\n", "\n", "\n", "\n", @@ -588,9 +552,9 @@ "\n", "\n", "2->3\n", - "\n", - "\n", - "≤ 0.0909\n", + "\n", + "\n", + "≤ 0.0909\n", "\n", "\n", "\n", @@ -604,15 +568,15 @@ "\n", "\n", "2->4\n", - "\n", - "\n", - "> 0.0909\n", + "\n", + "\n", + "> 0.0909\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -637,12 +601,6 @@ "cell_type": "code", "execution_count": 7, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:48:57.427606Z", - "iopub.status.busy": "2023-12-04T17:48:57.427498Z", - "iopub.status.idle": "2023-12-04T17:48:57.439934Z", - "shell.execute_reply": "2023-12-04T17:48:57.439690Z" - }, "tags": [] }, "outputs": [ @@ -675,12 +633,6 @@ "cell_type": "code", "execution_count": 8, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:48:57.441374Z", - "iopub.status.busy": "2023-12-04T17:48:57.441291Z", - "iopub.status.idle": "2023-12-04T17:48:57.450415Z", - "shell.execute_reply": "2023-12-04T17:48:57.450185Z" - }, "tags": [] }, "outputs": [ @@ -732,12 +684,6 @@ "cell_type": "code", "execution_count": 9, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:48:57.451796Z", - "iopub.status.busy": "2023-12-04T17:48:57.451720Z", - "iopub.status.idle": "2023-12-04T17:48:57.462677Z", - "shell.execute_reply": "2023-12-04T17:48:57.462419Z" - }, "tags": [] }, "outputs": [], @@ -762,19 +708,19 @@ "\n", " # Convert timedelta object into seconds\n", " r_time.append(checkpoint[\"Time\"].total_seconds())\n", - " # Make sure the memory measurements are in MB\n", + " # Make sure the memory measurements are in MiB\n", " raw_memory = checkpoint[\"Memory\"]\n", " memory.append(raw_memory * 2**-20)\n", "\n", " ax[0].plot(step, error, label=model_name)\n", " ax[1].plot(step, r_time, label=model_name)\n", " ax[2].plot(step, memory, label=model_name)\n", - " \n", + "\n", " ax[0].set_ylabel(metric_name)\n", " ax[1].set_ylabel('Time (seconds)')\n", - " ax[2].set_ylabel('Memory (MB)')\n", + " ax[2].set_ylabel('Memory (MiB)')\n", " ax[2].set_xlabel('Instances')\n", - " \n", + "\n", " ax[0].grid(True)\n", " ax[1].grid(True)\n", " ax[2].grid(True)\n", @@ -793,19 +739,13 @@ "cell_type": "code", "execution_count": 10, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:48:57.464024Z", - "iopub.status.busy": "2023-12-04T17:48:57.463949Z", - "iopub.status.idle": "2023-12-04T17:49:07.647224Z", - "shell.execute_reply": "2023-12-04T17:49:07.646820Z" - }, "scrolled": true, "tags": [] }, "outputs": [ { "data": { - "image/png": "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AAAAAACALEqlUvHnP/85xo4dG88991y24wAAAABARETkZTsAAAAAAAAANKf/+7//iy1btjTq2FNOOSVtfM8990Tfvn33e17nzp33e8y0adP2mquuro4NGzbEzJkz47777ovNmzfXr23bti3OPPPMmDNnTvTv378R6QEAAACg5SiaAwAAAAAA0K6MHz/+bZ/7rne9K4YMGdIsOU4++eR9rl144YVx/fXXx8UXXxy/+c1v6uc3btwY1157bfz85z9vlgwAAAAA8HblZDsAAAAAAAAAdERdu3aNe+65J4499ti0+TvvvDOqq6uzlAoAAAAAdlM0BwAAAAAAgCzJy8uLK6+8Mm2usrIynnnmmSwlAgAAAIDd8rIdAAAAAAAAWpOtW7fGjBkzYtGiRbFz587o2bNnjBgxIo4//vgoLCxstvvs2rUrnnrqqZg3b15s3bo1evToEYMHD44TTzwxioqK3vH1q6ur45lnnomlS5fG+vXrIzc3N/r06RMjR46MiRMnRk5O292LZvbs2fH888/H+vXro7CwMPr16xfHHXdcDBky5B1fe+nSpfHcc8/FqlWroqamJvr16xcTJkyIsWPHvvPge6irq4vnn38+Fi1aFOvXr4+qqqro3bt3DB06NN71rnc1y9+3TD4f3r4TTzwxcnNzo66urn5u0aJFMXny5CymAgAAAKCjUzQHAAAAAKBDOfHEE+Pxxx+vH6dSqYiIWLNmTVxxxRVx7733RnV19V7ndenSJb74xS/G//7v/0aXLl3e9v137NgR11xzTfziF7+IioqKvda7du0a5513Xnz3u9+NkpKSJl9/6dKl8c1vfjMefPDBBq8fEdGrV68499xz45vf/Gb06tWrUdcdMmRILF++PCIiBg8eHMuWLWt0pm9961tx9dVX148fe+yxOPHEExs8dvr06TFlypT68VVXXRXf+ta3IiLi17/+dVx99dXx+uuvN3ju0UcfHT/84Q/j+OOPb3S2NzzzzDNx2WWXxdNPP93g+iGHHBLXXHNNvP/972/ytfe0bNmyuPbaa+OBBx6IzZs3N3hMUVFRvP/9749rrrkmhg4d2uR7ZPL58M517tw5evbsGevXr6+f27hxYxYTAQAAAEBE292uBAAAAAAAmskTTzwRY8eOjdtvv73BknnE7oL4t7/97ZgyZco+y8H7U1ZWFhMmTIjvf//7+yyBb9++PW666aY4+OCD44UXXmjS9X/yk5/E6NGj45577tnn9SN2F1hvvPHGGD58ePzhD39o0j2yobq6Os4777z4yEc+ss+SeUTEc889FyeeeGLccccdTbr+NddcE8cff/w+S9kREa+++mp84AMfiM9//vP1H054O6677ro46KCD4rbbbnvLv0eVlZVxzz33xOjRo+PWW29t0j0y+XxoPnu+DolEIktJAAAAAGA3O5oDAAAAANChvfDCC3H66afHjh07IiIiJycnhg4dGj179owtW7bEokWL0gqgs2bNiosuuij+9Kc/Nek+lZWV8d73vjfmz59fP9e3b98YMGBAVFRUxNKlS6OmpqZ+bc2aNXHqqafG9OnTY+zYsfu9/pVXXhnXXXfdXvMlJSUxePDgqKuri2XLlsX27dvr17Zt2xZnn3123HzzzfGxj32sSc8nky688MK477776selpaUxcODAyMvLiyVLlkR5eXn9Wl1dXVx88cVxyCGHxFFHHbXfa3/nO9+Jq666aq/5Hj16xODBg6OqqiqWLl0aO3fujIiIG2+8Mfr06dPk51BXVxef+MQn4s4779xrrWfPnnHggQdGQUFBrFmzJlatWlW/Vl1dHRdffHFs27YtvvSlL7Wa50Pzqqys3OuDB3379s1SGgAAAADYTdEcAAAAAGg1auuSsWbrrmzHaPf6d+8Uebl+4eUbzj777NixY0f06NEjvvGNb8QFF1wQPXv2rF9fvXp1XHHFFWm7ZD/00EPxyCOPxOmnn97o+3z/+9+P5cuXR0TEySefHN/73vdi/Pjx9eubN2+Om2++Ob71rW/Frl27/x1s2rQpPvKRj8QLL7wQ+fn5+7z2Qw89tFfJfOzYsfHDH/4wTj755MjNzY2I3aXlBx98ML7yla9EWVlZROwuQH/qU5+K8ePHx7hx4xr9fDLl7rvvjiVLlkRExGmnnRZXXXVVHH300fW7PdfV1cVDDz0U//3f/x2rV6+un/vsZz8bzz333Fte++mnn45vfOMbaXNHHnlk/N///V9Mnjy5/h6VlZVx3333xVe/+tXYtGlTXH311U0uAV9zzTVpJfP8/Pz4zGc+E5deemkcfPDBaccuXrw4fvCDH8TUqVPrP+Tw1a9+NY4++ug47rjjWsXzoXlNnz496urq0ube/P0BAAAAALJB0RwAAAAAaDXWbN0VJ3z/sWzH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sW3btvrxI488stcHLZqqX79+aeNMPh+a18SJE+Oee+6JM888s37u/vvvj7/85S9xxhlnZDEZAAAAACiaAwAAAACQBXuWwdetW/e2r7V+/fq3vHZrsXHjxiYdv2XLlrSdqxt6XqWlpWnjTZs2veNce17zDYlEosnXfsPbKT63pD2/lk19bSIa/7Xu1atXWtH8yCOPjD59+jT5fm8lk8+H5nfGGWfE+eefH3fffXf93GWXXRannXZa5ObmZjEZAAAAAB1dTrYDAAAAAADQ8QwdOjRtvGHDhrdVjo2IePXVV9PGQ4YMebuxWtQrr7zSpOPnzp2bNt7zaxYRMXjw4LTx7Nmzm5xrz3P2vOYbOnXqVP/nN++03hgbNmxocq6WNGzYsLRxU1+b8vLyKCsra9Sxe75uixYtatK9GiOTz4eW8Z3vfCft39j8+fPjV7/6VRYTAQAAAICiOQAAAAAAWXDggQfGgAED0uaeeuqpt3WtPc879thj33aulvTkk09GXV1do49//PHH08YTJ07c65gJEyak7Xg8a9as2L59e6PvsWjRorSCcf/+/WPQoEENHltcXFz/5y1btkRNTU2j7zNr1qxGH5sJgwcPTttVfO7cubF58+ZGn7/na/NWpkyZkjb+5z//2ehzGyuTz4eWMWDAgPjUpz6VNvftb3877bcaAAAAAECmKZoDAAAAAJAVkydPThvfd999Tb7Ga6+9FnPmzEmbmzRp0jvK1VLWr18ff/vb3xp1bDKZjHvuuSdtbs+vV0RE165dY/z48fXjysrK+O1vf9voTLfddtt+7/GGN+90XlNT0+hds1955ZW9dp1vDd78XGtqapr09++OO+5o9LGnnXZa2njq1KlNKuk3VqaeDy3n8ssvj8LCwvrx66+/Hr/5zW+ymAgAAACAjk7RHAAAAACArLjkkkvSxvfff3+89NJLTbrG1772tbTxlClTYsSIEe84W0v5+te/3qhdzW+++eZYuHBh/XjAgAHxnve8p8FjL7744rTxN7/5zUbtar58+fL46U9/mja352vyZkceeWTauLGF9iuuuKJRx2Xaxz/+8bTxddddFxUVFfs978knn4wHHnig0fcZP3582q7mZWVl8Y1vfKPR5zdWpp4PLeeAAw7Y69/zt7/97UilUllKBAAAAEBHp2gOAAAAAEBWTJ48OY466qj6cV1dXXzwgx+MJUuWNOr8K6+8Mh566KG0ucsuu6xZMza32bNnx2c+85m3PObZZ5+NL3/5y2lzn/3sZyM3N7fB4z/60Y9G375968erVq2Ks88+O6qrq/d5j/Ly8njf+94XlZWV9XNHHHFEnHTSSfs8573vfW/a+MYbb0wrwzfkyiuvjD/96U9veUy2vOc974kxY8bUj9esWRPnnHPOW+42vnz58jjnnHOafK9rr702cnL+/Z9kvv/978c111zTpALxypUr4/LLL49Zs2Y1uJ7J50PL+drXvhYFBQX141dffTV+97vfZTERAAAAAB2ZojkAAAAAAFlzxx13RFFRUf14yZIlccQRR8Q111wTixcv3uv4nTt3xl//+teYPHlyXHfddWlrF1100V5l6NZk8ODBERExderUeM973hMvvvhi2vqWLVvi+9//fkyZMiWtAD527Ni9iudvVlRUFDfffHPa3COPPBITJ06MadOmRTKZrJ+vrq6O3//+93H44YfH7Nmz6+cLCgrijjvueMv848aNi4kTJ9aPd+zYEVOmTIkHH3wwbZf2VCoVzz77bJx++un1r9Hw4cPf8trZkJOTE7/85S8jkUjUzz388MNx7LHHxvTp09NK4JWVlXH77bfHhAkTYtWqVZGXlxcHHnhgo+/1rne9K7797W+nzV111VVx1FFHxX333RdbtmzZ65y6urqYN29eTJ06NU499dQYOnRo/PCHP4wdO3Zk/fnQcgYMGBAf+9jH0uauu+46u5oDAAAAkBV52Q4AAAAAAEDHdfDBB8edd94Z5513XlRVVUVExLZt2+Kqq66Kq666Kvr06RN9+/aNzp07x+bNm6OsrKz+uDebNGlS/OxnP8t0/Cb56le/GjfddFPMnTs3pk2bFtOmTYt+/frFgAEDoqKiIpYsWbLX7tOlpaVx7733Rn5+/lte+z/+4z/iG9/4Rlr5fvbs2fGe97wnSktLY/DgwVFXVxfLli2LioqKtHNzcnLipptuinHjxu33Odx4441x3HHH1RfLV61aFWeddVaUlJTEsGHDIplMxooVK2Lz5s3155x77rkxatSouPrqq/d7/Uw74YQT4uqrr45vfvOb9XMvvPBCTJkyJXr27BmDBw+OqqqqWLJkSezcubP+mG9961sxbdq0WLVqVaPv9bWvfS3Wr18fP/7xj9Pude6550ZOTk4MGjQoevbsGRG7d5xfs2ZN2gcOWtvzoeV87Wtfi9tuu63++8GcOXPigQceiP/6r//KcjIAAAAAOho7mgMAAAAAkFUf/OAHY/r06TFo0KC91tavXx9z586NmTNnxqJFi/Yqmefk5MRnPvOZePTRR9N2Rm+NioqK4uGHH44xY8bUz61duzaef/75eP311/cqmfft2zf+9re/NaoAHhFx7bXXxo9//OMoKChIm9+yZUu8/PLLMXfu3L1K5sXFxXH//ffvtYPyvkycODFuueWWyM3NTZsvLy+PF198MV5++eW9Sub72yk926688sr45je/mbYTeETEpk2b4sUXX4xXX301rZT9+c9/Pq644oq3da8f/ehHceedd0ZJSUnafDKZjGXLlsULL7wQL7zwQixevLjBknm3bt32Ojebz4eWMWTIkDj//PPT5q699tospQEAAACgI1M0BwAAAAAg64455phYuHBh3HzzzTF+/PjIyXnrH1/37NkzLrroonjllVfiZz/72X53/G4tBgwYELNmzYrLL788unbt2uAxXbp0iUsvvTRee+21OOqoo5p0/S9+8Ysxb968OO+88/Z5/YjdX7/Pfe5zsWjRonj/+9/fpHtcdNFFMWPGjDj22GP3eczw4cPj7rvvjl/96ld7Fd9bo6uvvjqeeOKJt3xOY8aMid///vfx05/+9B3d64ILLohly5bFtddeG6NGjdrv8aWlpfHBD34w7rrrrli7dm0cfvjh+z0nk8+HlvH1r3898vL+/YuJX3rppXjooYeymAgAAACAjiiRSqVS2Q4BAAAAALQPNTU1MWfOnLS5cePGtZkSMK3H1q1b47nnnovVq1fHpk2boqqqKkpKSqJnz55x8MEHx9ixY/fasbmt2bVrVzz55JMxb9682LZtW5SWlsbgwYNjypQpzbI7e3V1dTz99NOxdOnS2LBhQ+Tk5ESfPn1i1KhRMXHixP2W+Rtj+fLl8eSTT8batWtj165d0adPnzjyyCPjyCOPbLOvz5IlS+LZZ5+N1atXR01NTfTr1y8mTJgQhx56aIvcb9WqVTFr1qxYv359bNq0KXJycqK4uDgOPPDAGDNmTAwfPvwdvVaZfj60Xg29Ry9atCjq6urqx6+++mokk8k46KCDoqCgIE499dTo2bNnpqMCAAAA0EoomgMAAAAAzUbRHABaJ0VzAAAAAJrqnW9XAgAAAAAAAAAAAABA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Tz/dUjfYHFys9wOKeU4AABTK7t27LXcdO/LII3X44YcXtA/mfSvmfQBAsVVXV1vKgUBg2Pvmtp0+ffqAbYv1XntuPyeeeKJloZbBnHjiiSovL0+XN2/erA8++GDYfY3VOQEAUGy8Vrcar+eEsUXQHECeN99801IebrBLkmbNmqUFCxaky+FwWO+9916BRgYAwOS3e/fuvLq6uroB2+fO28cdd5wcDsew+zvxxBMHPd5g20byN8LRRx8tt9udLu/Zs8dy5fJg/YzlOQEAUGi33nqr3nnnHUlSTU2N7rzzzlEdb+PGjYpEIunywoULNWPGjGHvX6y5fiTvBxTznAAAKJQ//vGP6QvJpMQKXoXGvJ+PeR8AUExHHnmkpbxp06Zhh5lefvllS/m4447rt92+ffu0d+/edNntduuoo44a9hiLNd87HI68cxior2KeEwAAxcZr9Xzj8ZwwtgiaA8izadMmS3np0qUj2j+3fe7xAADAwP785z9byvPnz5fL5RqwfbHm7UgkYlllfKR9ud1uLV68eFh98bcIAGCieu+993TLLbeky9/+9rdH9OZsf4o5LxarL+Z6AMBE9Morr1jKy5YtSz9/44039OUvf1nLli3TtGnTVF5ergULFmjVqlW6/fbb+72ovD/M+wfeDwAAhTBnzhxL+CkUCg3rAvJQKKTvf//7lrpLLrmk37a5c9mSJUsG/QwgV+7cuGXLFkWj0WH1Vaz5fizPCQCAYuO1+oH3U+y+MHYImgOwCAQC2rlzp6Vu7ty5IzpGbvvNmzePelwAAEwV9957r6V8xhlnDNo+d54dq3l727Ztljd2y8rKBr3152j6KtY5AQBQSPF4XJdcconC4bAk6eSTT9all1466uMWel7csWOHgsFgXrtivh9QrHMCAKCQcoPmixYtUm9vry655BIdddRR+s///E+9/fbb8vl8CgQC2rFjh9auXatrr71WBx10kG644QbLamH9Yd4fuh/mfQDAWPv2t78tmy0Tpfn617+un//85wO29/l8+vSnP20JPX3iE5/QJz7xiX7bj3ZurK+vl8fjSZfD4bC2b98+Jn0Va74fyTkBAFBsvFYfup/xcE4YWwTNAVi0tbXJNM102el0qqGhYUTHmD17tqXc2tpakLEBADDZ/f73v9fzzz9vqbv44osH3Sd3np0zZ86I+sydt/fv3z+sfnL3O5C+BvoboVjnBABAId155536y1/+IklyuVy6++67ZRjGqI872nmxsbFRDocjXY7H42pvb89rV8z3A4p1TgAAFFLuXb5sNptOOeWUvAvG+xMIBHTrrbfqjDPOUE9Pz4DtmPfzMe8DAIrtpJNO0n/913+lX9NHo1FdfPHFOu6443Tbbbfp0Ucf1R//+Ef9z//8j6666iotXrxYTzzxRHr/VatW6Ve/+tWAxx/t3ChJs2bNGvSYKbnvjY/2vfaxmu+l4Z8TAADFxmv1fOPxnDC2HEM3ATCV9Pb2Wsrl5eUj/mDc6/UOekwAAJCvo6NDl112maXunHPO0XHHHTfofrnzbO48PJTc9pFIRKFQSG63u6D99LfPQH8jFOucAAAolO3bt+umm25Kl7/61a/q0EMPLcixRzsvGoahsrIyS6itvzm4mO8HFOucAAAolHg8nhcQ//KXv6w33nhDUmJuOuuss3TGGWdozpw56uvr0xtvvKH//u//1p49e9L7rF27VhdffLEefvjhfvth3s/HvA8AKIUrrrhChxxyiL785S9r48aNkhJ3N8m9w0m2RYsW6brrrtOll15qWRE9V7Heaw8EAorFYqPqq1jz/Uj6AgCg2Hitnm88nhPGFiuaA7DI/WWcfYuq4SorKxv0mAAAwCoej+uzn/2smpub03XV1dW68847h9x3tHN37rzd3zEL0U9/fQ33he1YnRMAAIXy93//9+rr65MkHXroobrhhhsKduxizcETaa4fSV8AABRCV1eXZQUuSXr99dclSXV1dXruuef029/+VpdffrnOOussXXDBBbrtttu0efNmrVmzxrLfI488ol/84hf99sO8P7q+AAAopI985CN65ZVXdM0118hutw/adt68ebrmmmu0Zs2aQUPmUunm+wPpi/keAABeq4+mL/5GmDwImgOwCAaDlrLL5RrxMXJXCw0EAqMaEwAAk921116rP/zhD5a6H//4x5o7d+6Q+4527u5vle/+5u5i/o1QrHMCAKAQfvrTn2rt2rWSEqt43H333Qc0Tw6kWHPwRJrrR9IXAACFMNCHmHa7XU8++aROPvnkfrdXVFTov//7v/XRj37UUv+tb30rL7guMe+Pti8AAArpRz/6kRYvXqzbb789b2XwXDt37tSVV16pBQsW6N577x20banm+wPpi/keAABeq4+mL/5GmDwImgOw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nHDCCZo+fXq6vG3bNj377LPD2venP/2ppbx69epCDg0AgAmnpaVFp512mpqbm9N1s2fP1rp16zR79uyC9HH22Wdbyrnz8UAeeOAB9fb2psvHHHOMZs2aNWD7M844w7KCy7PPPqtt27YN2Y9pmvrZz35mqRvqb4RinRMAAAfq1FNP1emnnz6ir6OPPtpyDI/Hk9emvzdJD3ReXL9+vbZv354uNzY26vjjjx+wfTHfDyjWOQEAUCgNDQ068cQTLXWPPPLIsPaNRqN69NFHLXUrVqzoty3zfgbzPgCgmFwul2bOnGmpe+aZZ0Z0jHXr1lnK2QuqZMudG++7775hBa62bt2q5557Ll12Op0644wzBmw/d+5cLV++PF3u7e3Vb37zmyH7kUY/34/VOQEAUAq8Vs8Yz+eEsUPQHEAem82miy++2FJ38803D/lCcN26dfrzn/+cLldWVur8888fiyECADAhdHR0aNWqVdq6dWu6rr6+Xk8//bQWLlxYsH6+8IUvyDCMdPnXv/61Nm3aNOg+wWBQt912m6XukksuGXSf2tpanXPOOemyaZr65je/OeT47r33XsstrebPn6/TTz990H2KdU4AAEwEF154obxeb7r8/PPPD/lht2mauvnmmy11n//85y0rseYq5vsBxTonAAAK6bLLLrOU//3f/12hUGjI/X7yk59o79696XJVVZU+9rGP9duWeT+BeR8AUAqnnXaapfz9739f0Wh0WPs+99xzlrtt9ne8lI997GOaM2dOutzU1KT77rtvyD6++c1vWubqT33qU6qurh50n9z3yG+77TYFg8FB99m0aZMeeOCBdLm/vxtyFfOcAAAoNl6rJ4z3c8IYMgGgH/v37zcrKipMSemvW2+9dcD2zc3N5oIFCyztb7rppiKOGACA8aW7u9s89thjLXNjTU2N+cYbb4xJfxdccIGlr2OPPdbs6urqt208Hjcvu+wyS/tFixaZ4XB4yH42btxo2mw2y77333//oO1ramos7e+5555xdU4AABTL+vXrLXPV/Pnzh73v9ddfb9l34cKF5u7duwdsf8stt1jaV1dXm+3t7UP2U8z3A4p1TgAAFEosFjOPOOIIy3x00UUXmbFYbMB9/vKXv+TNrV/5ylcG7Yd5n3kfAFAaf/zjHy3zjyTz0ksvHXSuN03T/OCDD8xZs2ZZ9jvooIPMaDQ6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AAAAAIDF6C+pBAAAAAAAAAAAAAAAAAAAAABMKgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAAAAAAAAAAABYEzQEAAAAAAAAAAAAAAAAAAAAAFgTNAQAAAAAAAAAAAAAAAAAAAAAWBM0BAAAAAAAAAAAA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5MmTK2OIAADUCElJSRo+fLiOHj1acK5hw4ZavXq1goKCKqyff/zjHzKZTAXH33//vSIiIkptk5WVpddee83i3LRp00ptU69ePU2cOLHg2DAMvfjii1bH99lnn1lsaRUYGKhhw4aV2sZecwIAoCa4+eab5enpWXC8ceNGq192G4ahWbNmWZy76667LCqxFmbPzwPsNScAACrSfffdZ3H8f//3f8rOzrba7tNPP9WpU6cKjuvUqaORI0cWG8u6fwHrPgCgKgwdOtTi+J133lFeXp5NbTds2GCx22Zx17to5MiRCggIKDiOiYnR559/brWPF1980WKtvv766+Xj41Nqm8Kfkb/22mvKysoqtU1ERIR++OGHguPi7hsKs+ecAACwN96rX1Dd54RKZABAMRISEgwvLy9DUsGfV199tcT4Y8eOGS1atLCInzFjhh1HDABA9ZKammr07NnTYm309fU19u7dWyn93XTTTRZ99ezZ00hJSSk21mw2G/fdd59FfMuWLY2cnByr/YSFhRkODg4Wbb/99ttS4319fS3i58+fX63mBACAvaxbt85irQoMDLS57b///W+LtkFBQcbx48dLjJ8zZ45FvI+Pj3H27Fmr/djz8wB7zQkAgIqSn59vdOrUyWI9mjp1qpGfn19im23bthVZW5955plS+2HdZ90HAFSNX3/91WL9kWTcc889pa71hmEYhw8fNpo2bWrRrk2bNkZeXl6JbT788EOL+Lp16xphYWElxn/zzTcW8Y6OjkZkZKTVOWVnZxvNmze3aHv//fcbZrO52PiUlBSjR48eFvG33Xab1X7sOScAAGxVns/kC+O9es2YEyoHieYASvTKK68UeSP9wAMPWCwo+fn5xuLFi4u8OW3atKlx7ty5qhs8AABVbNCgQUXW0ZdeeslYvXp1mf8kJSVZ7e/w4cOGh4eHRX9dunQx1q1bZxEXGRlpXHfddUXG9uOPP9o8t3vvvdeirYODg/H8889bjDMnJ8f4/PPPjbp161rEdu7c2cjNzbWpH3vOCQAAeyjPh9pnz541GjduXKT90qVLLb4cjo+PL/LwlSTjjTfesLkve30eYM85AQBQUdasWWOYTCaLNWnYsGHGrl27LOKSk5ONN998s8gXqW3btjVSU1NL7YN1n3UfAFB1Bg8eXGQd6tevn7FmzZoin20nJiYac+fONXx8fIq0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Dplf4+bmhrfffhuPP/44AKCgoACXLl1C796927NlIiIiIiIirScIAjZfLMDymASU1TTd9nGOZ5TjeEY5HM0NMG+gG+4Z6AZbU/127BSoa1Lg0z2p+P5IJpQq9Wl4MwMdvD45APcMcIWUQdweq5+bJfYsGIWTGZehUKkw2s8O5i1MBu8KLI31sGC8HxaM9+vsVoiIiIiIiIiIiIiIiIioB9LaoHl8fDyAqyEIQ0ND3HPPPXd0vLlz5+L5559HfX399eMzaE5ERERERD1JRmkNFm2Kw9G08nY7ZmFlAz7cnYLP9qViSrAjHhjigf5uFpBI7izovTuhGEs2xyO/ol5U/cx+znhzagBsTNo37E5dk42JPqb2duzsNoiIiIiIiIiIiIiIiIiIujStDZqXlJQAACQSCTw9PWFkZHRHxzMyMoKnpycSEhJuOD4REREREVF319CsxNcH0vH1gXQ0KVVq6431ZOjvbomjaWUQMUgcANCsFLDpQgE2XShAkJMZHhjijrA+zjDUk7Wp1/yKeizZHI/dCcWi6r1sjbEiXI6h3jZtOg8RERERERERERERERERERG1TmuD5g0NDdf/b2ho2C7HNDAwuP7/xsbGdjkmERERERGRNjucWopF0XHIKq8TVT9Z7oDF0wPhaG6IvCt1+PVkDn4/nYvLtU2izxlfUIXXNsZi1bYk3B3qgvsGu8Pd2rjVfZqVKqw9moWP96Sgrkmp9hx6OlI8N8YHT4zygr5O28LsREREREREREREREREREREpJ7WBs1tbW0BAIIgICcnp12OmZube/3/NjacdkdERERERN1XSXUDVsQkYvPFAlH1LpaGWDYjCHf52//jfUZ4dZI/nh/ri22xhVh3PBsXcitE91BZ34zVhzPx/ZFMjPazxQNDPDDKzxZSqeSGurPZVxAZFYukompRxx3ha4PlM+TwsGk9vE5ERERERERERERERERERES3T2uD5q6urtf/X1ZWhpMnT2LQoEG3fbyTJ0+itLT0+ttubm531B8REREREZE2UqoE/HoyG+/tTEZ1g0JtvY5UgidGeuG5u3xhqNfyZHADXRlm9nfBzP4uuJRXgXXHs7H5YgGaFCpRPQkCsD+5FPuTS+FmZYT7B7tjTqgLAODdHcn47ZS4xcV2pvpYPD0QU4MdIZFI1O9AREREREREREREREREREREt01rg+bDhw+HgYEBGhsbAQCvv/469u/ff9vHe+ONN67/X19fH8OHD7/jHomIiIiIiLRJXH4lIqPjcFHk1PGBHlZYESGHn72p6HP0drHAB3MsEDklABvO5GL9iWzkXakXvX/O5Tqs3JaID3Ylw1BPhoq6ZrX7SCTAg0M8sGCCH8wMdEWfi4iIiIiIiIiIiIiIiIiIiG6ftLMbuBVDQ0NMmDABgiBAEAQcOnQIjz76KFQqcRPzrhEEAU8++SQOHDgAiUQCiUSCiRMnwsDAQEOdExERERERdayaRgWWbUlA2BdHRIXMLY108f7s3vjjycFtCpnfcAxjPTw5yhsH/zsGPzwYilF+tm3av1GhEhUyD3Y2x6ZnhmFJWBBD5kRERERERERERERERERERB1IayeaA8DSpUsRExNzPWy+du1aXLhwAR988AHGjBmjdv8DBw7gv//9L86dOweJRAJBECCTybBs2bIO6J6IiIiIiEizBEHAjrgiLN2SgKKqBlH7/CfUFa9P9oelsV679CCTSjA2wB5jA+yRWVaLn09k488zuahqUNzRcU30dfDfib1w32B3yKSSdumViIiIiIiIiIiIiIiIiIiIxNPqoHmfPn3w8ssv4/33378eFD9//jzGjRsHNzc3jBkzBr1794aNjQ2MjY1RW1uL8vJyXLx4EQcOHEB2djaAq+GLa9PMX375ZQQHB3fyIyMiIiIiIrozuZfrsHhTHPYnl4qq97M3wcqIYAzwsNJYT542xlg0LRAvT/DDpgsFWHc8G4mFVW0+zrTejlg0LRD2ZrwTFRERERERERERERERERERUWfR6qA5ALz77rsoKirC+vXrIZFcnWInCAKys7Px008/3XI/QRAA4HrAXBAEPPDAA3jnnXc6pG8iIiIiIiJNaFKosPpwBj7bm4pGhUptvYGuFC+M9cOjwz2hpyPtgA4BIz0dzB3ohnsGuOJs9hX8dDwb22MLoVAJre7nZmWE5eFyjPKz7ZA+iYiIiIiIiIiIiIiIiIiI6Na0PmgOAD/99BNCQ0Px+uuvo76+/nrgHPj/QPk/XQuXX9tuaGiI9957D88880yH9UxERERERNTeTmaUIzI6DmklNaLqx/rbYUlYEFytjDTcWcskEglCPawQ6mGFkmkB+P1ULn49mYOiqoYb6nRlEswf5Y2nx/jAQFfWKb0SERERERERERERERERERHRjbpE0BwAnnvuOcycORNffvklfvzxR5SUlNyy9lr43N7eHo8++ijmz58PZ2fnjmqViIiIiIioXV2ubcKqbYn462yeqHpHcwO8NT0IE4Psb1io25nsTA3w/FhfzB/tjd0JxYi5VIDs8jr0d7PEg0M94GNn0tktEhERERERERERERERERER0T90maA5ADg7O2PVqlVYtWoVkpKScPLkSWRnZ+PKlSuoqamBiYkJLC0t4e7ujsGDB6NXr16d3TIREREREdFtU6kE/Hk2F29vT0JFXbPaeplUgoeHeuDF8X4w0dfOP/d0ZVJMCXbElGDHzm6FiIiIiIiIiIiIiIiIiIiIWqGdyQMR/P394e/v39ltEBERERERaURyUTUWRsfidNYVUfV9XS2wMkKOICdzDXdGREREREREREREREREREREPUGXDZoTERERERF1R3VNCny2Nw3fH86AQiWorTcz0MFrk/0xd4AbpFJJB3RIREREREREREREREREREREPQGD5kRERERERFpib2IxFm+KR35Fvaj68L5OiJwaCFtTfQ13RkRERERERERERERERERERD0Ng+ZERERE1OlUKgEKlQA9HWlnt3LHCirqIZVI4GBu0Nmt3JGaRgUuXZbAVFeAq3Fnd9P9FVTUY+mWeOyMLxZV72VjjOXhcgzzsdFwZ0RERERERERERERERERERNRTMWhORERERJ2mrKYRn+xJwY64YtQ2KjDMxxovjvOD3Nm8s1trsyOpZVi1LREJhVUAgGBnc7wxxR9DvbtWELihWYmvDqTjmwNpaFLKAADORgJCBjfBzKyTm+uGFEoV1h7Lwke7U1DXpFRbr6cjxbNjfPDkKC/o68g6oEMiIiIiIiIiIiIiIiIiIiLqqbpU0FypVOLMmTM4f/48cnJyUFVVhfr6egiC0KbjSCQS/PDDDxrqkoiIiIjUUakE/HEmF+9sT0JlffP19+9JLMG+pBI8MMQDCyb4wcxAtxO7FKekugErtyZi04WCG94fm1+JeatPIqKfM96cEgBbU/1O6lC8QymlWLQpDtnldTe8P79OggV/J+Kv+cMhlUo6qbvu51zOFURGxSHxf4sT1Bnha4PlM+TwsOGIeSIiIiIiIiIiIiIiIiIiItK8LhE0r6ysxIoVK7B+/XqUlpbe0bEEQWDQnIiIiKgTJRZWITIqFudyKlrcrhKAtcey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2LFjR4l9srKyjObNm5vm+vjjj0uda+TIkaY+t956a6l9Cp/0FhUVZTq9pLLXBACAO2RmZhpNmza170kPP/xwuV/UTkpKcjh5ZdmyZSX2sdlsxuWXX27qM2HChFLn8tTrAZ5cEwAArtSnTx/TXvT999+7dHz2/YqtCQCAiti3b59p75FkbNy40am+hU/5vOyyy4qNzcnJMRo1amSK//TTT0ud45Zbbinz3w8++OADU5/mzZsbWVlZJfaJjY01ndLu5eVlxMXFldjHk2sCAOBce/fuNWJjY42CggKHe64qNOe5evVYE9zHKgAoxGaz6fPPPzdde+6552SxWErs17dvX/Xq1cvePnPmjL7//nu35AgAQFU3aNAg+fr6lqmPl5eXnnjiCdO1JUuWlNrvs88+k81ms7dvuukmtW7dusQ+/v7+evLJJ03Xpk2bVmKflJQUzZ492962WCx67rnnSs3vtttuU1RUlL29f/9+LVu2rMQ+nloTAADuMmnSJO3bt0+S1LhxY02ePLncY3333XdKT0+3ty+//HL17du3xD4Wi0XPPvus6dpnn30mwzCK7ePJ1wM8tSYAAFxp3rx5Wrlypb09YsQIjRgxwqVzsO//jX0fAFAZdu3aZWo3bNhQXbt2darv9ddfb2rv3bu32NglS5bo4MGD9nZ0dLRuu+22UucovFfPnDlTaWlpJfYp/Br5U089JX9//xL7tGnTRjfeeKO9XVBQ4PC4oTBPrgkAgHM1bdpUbdq0kdXqvlJYnqv/raqvCe5DoTkAB+vXr9eJEyfs7SZNmqh3795O9b399ttN7blz57owMwAAzn/nPlmSpFOnTikzM7PEPvPnzze1C+/HxbnxxhsVFBRkb//+++86cuRIsfELFy5Ufn6+vd27d281adKk1HmsVqvDC8qlPUbw1JoAAHCH33//XW+//ba9/f777ys4OLjc482bN8/UdnZf7NOnj2JiYuztY8eO6bfffis23pOvB3hqTQAAuNLHH39sahf+46orsO//D/s+AMDTkpOTTe1GjRo53bdx48amdmpqarGxhffG2267rdRiK+nvQrorrrjC3s7Ly9OiRYuKjT906JC2bNlibwcHB2vkyJGlziM57teFcy7MU2sCAKAy8Fz9f6rymuA+FJoDcLBw4UJTu3///k49CTwbe65Vq1YpIyPDZbkBAHC+q1WrlsO1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Z/u9//73v4qMjCwyj4CAAPXo0cPhenBwsBo1aqQRI0Zo4MCB6tixowIDA00xNptNGzdu1DvvvKPvvvvOft3Ly0u//vqrunbtWuScZ3ni53zWuHHj9Pbbb5uuXXTRRZo0aZIGDBigoKAg0729e/dq4cKF+uabb/T777+XeKL5mDFj9NVXX9nbwcHBGjdunG677TbFxMSYYv/66y9NnjzZVPAeEhKiLVu2qFmzZkWOP2jQIC1atMiU9+TJk9W/f3/5+vqaYvPy8rR9+3YtXrxY3333nWrUqMGJ5gAAAAAAAAAqBYXmAAAAAAAAAIBqobyF5md17txZP/30k+rUqVNkn4KCAg0ePFg//fST/dojjzyiqVOnFhn/xBNP6PXXX7e3P/vsM912221OreXUqVOy2WzF5jJ27Fh9+eWX9nZCQoKio6OdGvusVatWFfvzKcpXX32lMWPG2NsjR47UjBkzSuzjiZ+zJC1ZskRXX3216dpDDz2kqVOnymq1lpijJC1fvlx9+/Yt8t6MGTN000032dtNmzbVkiVL1LRp0xLHfP311/XEE0/Y29dee63mzZvnEJeWlqbw8HDl5+dLklq1aqUtW7YoICCg1LwlaefOnWrVqpVTsQAAAAAAAADgSqW/+goAAAAAAAAAQDVXo0YNzZ49u9jiZ+nvU7wLFzsvXry42Pjdu3fbvw8ODtbo0aOdzicsLKzEXFyhLEXmkjR69Gjdcsst9vbs2bOVlpZWpjHc8XOWpOeff97UHjVqlN555x2niswlFVtkbhiGnnvuOXs7MDDQqSJzSXr88cc1YsQIe/vHH380/Zs4KyEhwV5kLv39JgJni8wlUWQOAAAAAAAAoNJQaA4AAAAAAAAAOO/dc889ioqKKjWuVatW6tChg729Z88epaenFxmblZVl/95qtTpd9FyVnVtonp+fr99//71M/d3xc964caN+/fVXezskJETvv/9+mfIqzpIlS7Rz5057++GHH3aqyPysiRMn2r83DENz5sxxiDn334kk+fj4lCNTAAAAAAAAAPC86v+qNwAAAAAAAAAApbjxxhudjr3ooovs39tsNh0+fLjIuPr169u/P336tH788cdy51dVxMTEmNp//PFHmfq74+f8888/m9qjR49WaGhomfIqzqJFi0ztW2+9tUz9O3TooLp169rba9eudYg599+JJH3//ffK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", + "image/png": "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7dH1r7322thvv/3ijjvu2OX1I7YXWK+//voYOXJk/OlPf9qje2RCbW1tnHPOOXH22WfvsmQeEfHMM8/EMcccE7fccsseXf+KK66IyZMn77KUHRHx8ssvx4c+9KH4whe+0PTDCe/EVVddFfvuu2/cdNNNb/vnqLq6Ou64447Yb7/94sYbb9yje6Tz9dB6dnwfEolEhpIAAAAAwHZ2NAcAAAAAoEt77rnn4uSTT44tW7ZERERWVlbss88+UVxcHBUVFVFaWppSAH322WfjggsuiL/85S97dJ/q6up43/veFwsWLGiaGzhwYAwZMiQ2b94cS5Ysibq6uqa11atXx3vf+96YMWNGHHjggbu9/re//e246qqrdpovLCyM4cOHR0NDQyxdujSqqqqa1iorK+OMM86IG264IT7+8Y/v0etJp/PPPz/uvvvupnFRUVEMHTo0cnJyYvHixbFx48amtYaGhrjwwgvjgAMOiMMOO2y31/7e974Xl1122U7zffv2jeHDh0dNTU0sWbIktm7dGhER119/fQwYMGCPX0NDQ0N88pOfjFtvvXWnteLi4th7770jLy8vVq9eHStXrmxaq62tjQsvvDAqKyvjS1/6Urt5PbSu6urqnX7wYODAgRlKAwAAAADb2dEcAAAAAIAu7YwzzogtW7ZE37594yc/+UmsW7cuSktL45lnnonXX3893njjjbjgggtSzrn//vvjwQcf3KP7/PCHP4yXXnopIiKOP/74mDNnTqxZsybmzJkTr732WqxZsyZ+8IMfRPfu3ZvO2bBhQ5x99tkpBfTm3H///TuVzA888MB46KGHoqysLF588cWYP39+bNiwIX7/+9/H0KFDm45raGiIT3/60zFv3rw9ej3pcvvttzeVzE866aR46qmnYsOGDTF37tx47rnnoqysLP785z/HXnvt1XROQ0NDfO5zn9vttZ988sn41re+lTI3YcKEePTRR6OsrCyef/75ePnll6OsrCxuvPHGKC4ujoiIyy+/PEpLS/fodVxxxRUpJfPc3Nz44he/2HT9uXPnxrPPPhtvvPFGlJaWxqc+9amUHa2/+tWvvu0O5el+PbSuGTNmRENDQ8rcoYcemqE0AAAAALCdHc0BAAAAgHajvqExVm/alukYnd7gPt0jJ9s+JG9avHhxlJSUxCOPPBIjR47caX2vvfaKm2++OXJzc+OGG25omp8+fXqcfPLJLb7PsmXLIiLioosuil//+tcpJeKI7TtO/8///E8cffTRcfzxx0d1dXVERMyfPz+uvfbauPTSS5u9bnV1dVx00UUpcyeccELcf//90a1bt5T5vLy8+MhHPhLHH398TJ06NebPnx8R23fNPv/88+OFF15o8etJl8WLF0fE9h3br7jiip3Ws7Oz4/TTT4/9998/xo8f3/R5mz17dsydOzcOPvjgZq/b2NgYF198ccpu9e973/vi3nvvjdzc3JRj8/Pz4xOf+EQcd9xxcdRRR8XKlStTdh3fnSeffDLlBwH69esXDz74YEycOLHZ40eOHBm/+tWvYtq0aXH22WdHY2Nj1NfXx2c+85mYO3duxl9Pa3nuueeivr7+HZ27bVvneVbU19fv9IMiY8eObdFvMgAAAACAtqRoDgAAAAC0G6s3bYspP3w00zE6vZlfnRZD++ZnOka7kZ2dHffcc0+zJfO3uuaaa+L2229vKrj+4x//iMbGxsjKanlp/+CDD45f/vKXO5XM3+qII46In/zkJ/HpT3+6ae7666+PL3/5y5Gdnb3T8XfccUesXbu2abzXXnvFH/7wh51K5m9VVFQUf/nLX2L//fePrVu3RkTEiy++GP/85z/juOOOa/HrSZfTTjut2ZL5W40ZMyY+//nPxzXXXNM09+CDD+6yaP7www/Hyy+/3DQePHhw3H333TuVst9q+PDhcffdd8eUKVP2KP8VV1wRjY2NERGRlZUV99133y5L5m/10Y9+NJ577rn40Y9+FBER8+bNi0ceeSSOP/74jL6e1nLJJZdk5L7tSVVVVVx44YXx1FNPpczv7s87AAAAAKSDLWsAAAAAAOjSPvShD7Wo9FtUVBQnnnhi07i6ujoWLFiwR/f63ve+12xZfEcXXXRRjB49umm8YsWKePjhh5s99je/+U3K+PLLL4+CgoLd3qOkpCS++MUvpsxNnz59t+dlwve+970WHffRj340Zfz888/v8tibbropZfytb30revfuvdt7TJ48OU4//fQW5YmIePXVV+Pvf/97SsYjjzyyxef/z//8T+Tk/GffoD/+8Y/NHpeu18OeeeSRR3b6eOCBB+K2226Lz33uc1FSUhK/+93vUs754he/GB/+8IczlBgAAAAA/kPRHAAAAACALm3HcvLbOeSQQ1LGK1asaPG5AwcOjPe+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JUtUUlKi5uZmbdmyJe9vAb/fr4cfflgf/vCHB61n48aNOvnkk11/K0hSeXm5Fi9erFAopG3btikWi7mOv+9979OTTz6pYDA45Hu6+uqr9d///d+ufZZlae7cuaqrq9OOHTvy2uHxeHTffffpox/96JDrKeQ9AQAgSbfffrv+6Z/+aUhlh/uefC5eq0+Me8IYKGbKHcD4duutt+Y9KXTFFVeYXbt2ZcokEgnz4IMPmvnz57vKzZ07l6eOAQBT2rHHHpvpF6urq81VV11lfve735mOjg5XuXg8btauXWtOOeWUvH73Yx/72JDr27RpU940VkceeaR58sknXeXeeecdc9555+XV9cADDwy5riuuuMJ1rm3b5l/+5V9MS0tLpkwkEjH33HOPqampcZU9+uijTTweH3f3BADAWLnssstco4Fl91XDGT2lpaUlb0SWBQsWmIcfftg1k8fOnTvN5Zdfntcv/ud//ueQ6yrU+wGFvCcAAEbTXXfdldcvffjDHzZ/+MMfTDgcziu/a9cu87//+7/mYx/7mJk3b96g16ffp98HABTPfffdl9cPHXrooeZ3v/udicVirrKNjY3m5ptvzpvdtK6uzvV+eV9isZg54ogjXOdNmzbN/OQnPzHRaDRTrrm52XzpS1/KG1396quvHvI9/epXv+rz84e//vWvrnJr1qwx73nPe1zlKioqzNatW4dUTyHvCQCAtG9/+9v9johdXl5+wO/J5+K1+sS4J4wNguYA+tTU1GQqKipcv7S//vWv91u+oaHBLFy40FX+y1/+cgFbDADA+HLssceahQsXmrvuusv09PQMWj4ej5u///u/z3txlRuq7s/f/u3fus47/vjjTXt7e59lHcfJq2vJkiV5b5L3ZcOGDcbj8bjOvffee/st/9Zbb5nq6mpX+bvvvntc3RMAAGNl7dq1xrIsIyUfzPrmN795wG9qf+ELX3Cdu2jRItcbsLluueUWV/mqqqpBP+Q2prDvBxTqngAAGE3vvvuuCQaDmf7I5/MN+Lo411D6Lvp9+n0AQPEcfvjhrj7ouOOOM11dXQOe88QTTxiv1+s672tf+9qA5/zwhz90la+pqTHr16/vt/zPf/5zV3mv15sXFO9LJBLJ67+vuOIKV3gsW1tbmznuuONc5T/1qU8NWk8h7wkAgGzpoHlFRYVZsWKFuf766819991ntm3b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GACA8aWjo8Mcf/zxrr6xurravPbaa2NS34UXXuiq6/jjjzft7e19lnUcx1x++eWu8osXLzbRaHTQetavX29s23ade++99w5Yvrq62lX+rrvuGlf3BABAoaxdu9bVVy1YsGDI5954442ucxctWmR27drVb/lbbrnFVb6qqso0NzcPWk8h3w8o1D0BADBaEomEOeKII1z90cUXX2wSiUS/5/zlL3/J61s///nPD1gP/T79PgCgOP74xz+6+h9J5rLLLhuwrzfGmHfffdfMnj3bdd5BBx1k4vF4v+d8//vfd5Wvqakx69ev77f8z3/+c1d5j8djNm7cOOg9RSIRM3/+fNe5V1xxhXEcp8/y7e3t5rjjjnOV/+QnPzloPYW8JwAAhmok78nn4rX6xLgnjA2C5gD69bWvfS3vhfSVV17p6lASiYR56KGH8l6czp4927S2thav8QAAFNmKFSvy+tF//dd/NY8//viwv1paWgat79133zWlpaWu+o488kizdu1aV7mNGzea8847L69tv/71r4d8b3//93/vOte2bfMv//IvrnZGo1Fzzz33mJqaGlfZ97znPSYWiw2pnkLeEwAAhTCSN7Wbm5vNzJkz885/5JFHXB8O79y5M+/hK0nmm9/85pDrKtT7AYW8JwAARsuaNWuMZVmuPun00083L7/8sqtcW1ub+c///M+8D1IPPvhg09HRMWAd9Pv0+wCA4lm5cmVeP3TyySebNWvW5L233dTUZG677TZTVVWVd8599903YD3RaNQcdthhrnOmTZtmfvKTn7jqaW5uNjfddFPeADBXXXXVkO/p3nvvzWvfxz/+cfPXv/7VVe6JJ54w73nPe1zlysvLzZYtW4ZUTyHvCQCAbM8++2yfn7Pfdtttrr5mxowZ/X4mP9DDUcbwWn2i3BPGhmXMIGPQA5iyHMfROeeco0cffdS13+PxaMGCBaqqqtLWrVvV1tbmOl5SUqLHH39cJ510UgFbCwDA+GJZ1qhda+3atVqxYsWg5X75y19q9erVedNM1dXVaf78+WpsbFRDQ0Pe8auvvlp33HHHkNvT09Oj0047TS+//LJrv9/v16JFixQIBLRlyxZ1dXW5jk+fPl3PPfecDj744CHXVah7AgCgEJ566imtXLkys71gwQJt27ZtyOc/88wz+tCHPpQ3xXV1dbUWLVqktrY27dixQ4lE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qWHDhik5ObnIOPb9gtj3AQC21rt3b3300Ud5n+mzs7N11113qVu3bnrjjTe0cOFCrVixQt99950effRRNW/eXEuXLs2bP3jwYM2bN6/I45d2b5Skxo0bF3vMy/J/N17a79rLa7+XrD8nAABsjc/qBVXGc0L5crAcAqAmSUlJMRu7ubmV+Bfj7u7uxR4TAAAUdO7cOd1///1mj40ZM0bdunUrdl7+fTb/PmxJ/visrCxlZGTI2dm5TNcpbE5R7xFsdU4AAJSVqKgovfDCC3njyZMnKygoqEyOXdp90WQyydXV1ayorbA92JbfB9jqnAAAKCu5ubkFCsQfe+wx7d69W9KlvWnEiBEaNmyYmjZtqtTUVO3evVvffvutYmNj8+asWrVKd911l3799ddC12HfL4h9HwBQER588EG1bt1ajz32mMLCwiRdurtJ/jucXCkwMFDPPvus7rvvPrOO6PnZ6rv2tLQ05eTklGotW+33JVkLAABb47N6QZXxnFC+6GgOwEz+f4yvvEWVtVxdXYs9JgAAMJebm6s77rhDMTExeY95eXlp1qxZFueWdu/Ov28XdsyyWKewtaz9YFte5wQAQFn597//rdTUVElSUFCQpkyZUmbHttUeXJX2+pKsBQBAWUhKSjLrwCVJu3btkiTVq1dP69at05IlS/TAAw9oxIgRuuWWW/TGG28oIiJCt912m9m8BQsWaO7cuYWuw75furUAAChL1113nbZv366nn35a9vb2xcY2a9ZMTz/9tG677bZii8ylitvvr2Yt9nsAAPisXpq1eI9QfVBoDsBMenq62djJyanEx8jfLTQtLa1UOQEAUN0988wz+v33380e++yzz+Tr62txbmn37sK6fBe2d9vyPYKtzgkAgLLw1VdfadWqVZIudfH4/PPPr2qfLIqt9uCqtNeXZC0AAMpCUb/EtLe317Jly9SnT59Cn/fw8NC3336rIUOGmD0+Y8aMAoXrEvt+adcCAKAsffrpp2revLnefvvtAp3B84uOjtZDDz0kf39/zZ49u9jYitrvr2Yt9nsAAPisXpq1eI9QfVBoDsBM/iuHMjMzS3yMjIyMYo8JAAD+MWvWLL377rtmjz377LO65ZZbrJpf2r07/75d2DHLYp3C1irqPYKtzgkAgNI6deqUnn766bzxvffeW2Sh2dWy1R5clfb6kqwFAEBZKGqfuffee9W9e/di59rZ2emTTz4x624aERGhdevWWVyHfb9kawEAUBaysrJ000036cEHH9SpU6ckSXXr1tVLL72kbdu26fz588rMzFRsbKyWLFmisWPHymQySZLOnTunSZMm6Zlnniny+BW131/NWuz3AADwWb00a/Eeofqg0ByAGQ8PD7NxYVc6W5L/yqH8xwQAAJf88MMP+s9//mP22F133aU33njD6mOUdu8u7IrfwvZuW75HsNU5AQBQWg8//LASExMlST4+PnrzzTfLfA1b7cFVaa8vyVoAAJSFovaZ++67z6r5gYGBGjRokNljhRWas++Xbi0AAMrCgw8+qF9//TVv3K1bN4WFhWnatGnq2rWrateuLUdHRzVq1EgjR47UggULtGjRIrOip7fffltff/11ocevqP3+atZivwcAgM/qpVmL9wjVB4XmAMzk/8f44sWLhd7CszipqanFHhMAAEhLly7VxIkTzfbZcePG6csvv8zrfmKN/Pts/n3YkvzxDg4OhV4FXNp1Cptj7Qfb8jonAABK4+eff9bChQvzxh988IFq165d5uuUdl80DOOqvvAtz+8DbHVOAACUFVdXV9nb25s95unpqU6dOll9jH79+pmNd+zYUSCGfb8g9n0AgC2tXbtWX331Vd7Y29tbS5culY+PT7HzRo0apf/9739mjz3zzDNWNUUpr+/aC3v/Utrv2strvy/JWgAA2Bqf1QuqjOeE8kWhOQAz9evXNytuy8rK0pkzZ0p0jJMnT5qNvb29yyQ3AACqizVr1mj8+PHKzs7Oe2zw4MGaN29egS9+Lcm/z8bExJRofv59u0GDBlatk3/e1axV1HsEW50TAAClceVtsIcPH66bb765XNYp7b54+vRps/ccdnZ2ql+/foE4W34fYKtzAgCgLOXfv1q0aCE7O+t/zda6dWuzcWH7LPt+Qez7AABbmjVrltn4P//5j9XfL991111q1apV3jghIUELFiwoEFfavVGSYmNjiz3mZflzL+137eW130vWnxMAALbGZ/WCKuM5oXxRaA7AjKurq5o1a2b2WHR0dImOkT8+KCio1HkBAFBdbN26VaNGjTK7LVTPnj21cOFCOTk5lfh4+X9RXV77dmBgoBwcHPLGaWlpio+PL5e1bHVOAACURmJiYt5/L1u2TCaTyeKfAQMGmB3j+PHjBWL27NljFlPW+6Kfn1+hd/qw5fcBtjonAADKUps2bczGtWrVKtH8/PHnz58vEMO+b3kd9n0AQHkxDEN//fWX2WMjR460er6dnZ2GDx9u9tj69esLxJV2bzxz5ozZ7xecnJwUGBhYaKytvmu35TkBAGBrfFa3vE5lOCeULwrNARSQ/x/kAwcOlGh+eHh4sccDAKCm2rdvn2644QalpKTkPdapUyctX75c7u7uV3VMW+3bjo6Oat68+VWvlZGRocjISKvW4r0IAAD/sOW+aKu12OsBAFVRcHCw2TgjI6NE868snpIkNze3AjHs+1e/DgAApXX+/HklJSWZPRYQEFCiY+SPL+zOoPn3sqNHjyozM9PqNfLvjc2bNzdrElPcWrba78vznAAAsDU+q1/9OrZeC+WHQnMABXTs2NFsvHnzZqvnnjp1SseOHcsbOzo6FvgCHgCAmigiIkKDBw8261jWpk0b/fHHH/Ly8rrq4+bft7dv3252mypLNm3aVOzxinuuJO8Rdu7cafZL+EaNGhV5WytbnhMAAJVd27Zt5ejomDc+duyYTp06ZfV8W+31Jfk+wJbnBABAWencubPZ+PTp0yWan//W0PXq1SsQw75fEPs+AMBWCruIrKTFzlfueZKUk5NTIMbHx0c+Pj5m6+7cudPqNWy132dnZ2vbtm1WrWXLcwIAwNb4rF5QZTwnlC8KzQEUMGLECLPxqlWrZBiGVXP//PNPs/GAAQPk4eFRZrkBAFAVHT9+XIMGDTL7pXJAQIBWrlypBg0alOrYQUFBZp3GU1NTrf5wlpqaqr///jtvbDKZCrwPuFL+51auXGl1nvlji7vlqC3PCQCAq7V48WKtXLmyRH/efvtts2M0bNiwQEyLFi3MYjw9PdW3b1+zx6zdgw3D0KpVq8weK24PttX3AbY8JwAAysrw4cNlZ/fPr9WioqJ07tw5q+fnL7bKf5tqiX0/P/Z9AIAtFXYRWGxsbImOkb+DeVHf/w8fPtxsXF7ftedfZ/PmzUpNTbVqnU2bNunixYt541atWqlVq1ZWr1Ve5wQAgK3xWd1cZT0nlC8KzQEU0LNnT9WvXz9vHBkZqbVr11o196uvvjIbjx49uixTAwCgyjl16pQGDhyomJiYvMeaNGmi1atXq0mTJmWyxqhRo8zG+ffjovz0009KSUnJG19zzTVq3LhxkfHDhg0z6+Cydu1aRUZGWlzHMAzNmTPH7DFL7xFsdU4AAFytfv36adCgQSX606VLF7NjuLi4FIgp7EvSq90X16xZo6ioqLxxw4YN1b179yLjbfl9gK3OCQCAsuLt7a1evXqZPbZgwQKr5mZnZ2vhwoVmj/Xv37/QWPb9f7DvAwBsycnJSY0aNTJ77K+//irRMVavXm02vrKhypXy741ff/21VQVXR48e1bp16/LGjo6OGjZsWJHxvr6+6tSpU944JSVF8+fPt7iOVPr9vrzOCQCAisBn9X9U5nNC+aHQHEABdnZ2uuuuu8wemzZtmsUPgqtXr9aGDRvyxp6enrr55pvLI0UAAKqEc+fOafDgwTp69GjeYw0aNNDKlSsVEBBQZuvcc889MplMeeMff/xR4eHhxc5JT0/XG2+8YfbYpEmTip1Tt25djRkzJm9sGIZeeeUVi/nNnj3b7JZWfn5+GjRoULFzbHVOAABUBbfeeqvc3d3zxuvXr7f4y27DMDRt2jSzx+6++26zTqz52fL7AFudEwAAZen+++83G7/11lvKyMiwOO+LL75QXFxc3rhWrVoaOnRoobHs+5ew7wMAKsLAgQPNxu+//76ys7Otmrtu3Tqzu20WdrzLhg4dqqZNm+aNjx07pq+//triGq+88orZXn3jjTfKy8ur2Dn5vyN/4403lJ6eXuyc8PBw/fTTT3njwt435GfLcwIAwNb4rH5JZT8nlCMDAAoRHx9veHh4GJLy/sycObPI+JiYGMPf398s/oUXXrBhxgAAVC4XLlwwunbtarY31q5d29i9e3e5rHfLLbeYrdW1a1cjKSmp0Njc3Fzj/vvvN4sPDAw0MjMzLa4TFhZm2NnZmc394Ycfio2vXbu2WfyXX35Zqc4JAABbWbNmjdle5efnZ/Xc5557zmxuQECAcfLkySLjX3/9dbN4Ly8vIyEhweI6tvw+wFbnBABAWcnJyTFCQkLM9qOJEycaOTk5Rc7ZsmVLgb31+eefL3Yd9n32fQBAxVixYoXZ/iPJuO+++4rd6w3DMA4fPmw0btzYbF7Lli2N7OzsIud88sknZvF16tQxwsLCioz//vvvzeLt7e2NiIgIi+eUkZFhNGvWzGzuAw88YOTm5hYan5SUZFxzzTVm8XfccYfFdWx5TgAAWKs038nnx2f1qnFOKB8UmgMo0owZMwp8kH7wwQfNNpScnBxj4cKFBT6cNm7c2Dh//nzFJQ8AQAXr379/gX301VdfNVauXFniP+fOnbO43uHDhw03Nzez9Tp06GCsWbPGLC4iIsIYN25cgdzmz59v9bn9+9//NptrZ2dnvPjii2Z5ZmZmGl9//bVRp04ds9j27dsbWVlZVq1jy3MCAMAWSvOldkJCguHj41Ng/uLFi81+OXzixIkCF19JMt58802r17LV9wG2PCcAAMrKqlWrDJPJZLYnDRo0yNixY4dZXGJiovHOO+8U+EVqq1atjAsXLhS7Bvs++z4AoOIMGDCgwD7Uu3dvY9WqVQW+2z579qzx9ttvG15eXgXm/Pzzz8Wuk5mZabRt29ZsTt26dY1vvvnGbJ2EhATjhRdeKNAA5qGHHrL6nH744YcC+d10003GoUOHzOJWr15ttG/f3izOw8PDiIyMtGodW54TAABX2rhxY6G/Z3/77bfN9pqGDRsW+Tv54i6OMgw+q1eVc0L5MBmGhR70AGqs3NxcjR49WkuXLjV73N7eXn5+fvLy8lJUVJQSExPNnnd1ddXKlSvVq1cvG2YLAEDlYjKZyuxYa9asUf/+/S3G/fjjj7rtttsK3GaqQYMGatasmc6cOaOYmJgCzz/66KOaNWuW1flcvHhR/fr1044dO8wed3JyUkBAgJydnRUZGamUlBSz5+vXr69NmzapVatWVq9lq3MCAMAW1q5dqwEDBuSN/fz8dOzYMavnr1+/XkOHDi1wi+vatWsrICBAiYmJio6OVk5Ojtnzo0eP1sKFC61+f2LL7wNsdU4AAJSl//73v3r++ecLPO7j46OmTZsqNTVVR48eVWZmptnz9erV05o1axQSEmJxDfb9qz8nAABKIy4uTj179lRUVFSB5zw8PBQQECBXV1clJCQoMjKywHfTkvTUU0/p7bfftrhWeHi4evfurXPnzhVYp3nz5kpLS1NUVJSysrLMnu/WrZvWrl0rV1dXq8/roYce0ieffGL2mMlkkq+vrxo0aKDjx4/r7NmzZs/b2dnpp59+0k033WT1OrY8JwAALvP399fx48dLdYyJEydqzpw5xcbwWb1qnBPKQQUWuQOoAtLS0oxbb721wBVFRf2pV69egS6jAADURNbundb8Kcne+sMPPxiurq5WH/vpp58u8haZxUlISDCuu+46q9fx9/c39u3bV+J1bHlOAACUt7K4Tefq1auNunXrWr0v3nbbbUZ6enqJ17Hl9wG2OicAAMrSrFmzDEdHR6v3r9atWxfoGmoJ+z77PgCgYkRHRxd611JLfxwdHY033nijRN9P79mzx/Dz87N6jUGDBl1VR8+cnBzjiSeesHodNzc346effirxOrY8JwAALivJvlPUn4kTJ1q1Fp/Vq8Y5oWzZCQCK4eLionnz5umXX35Rx44di4xzd3fXQw89pAMHDljVcRUAAJSPf/3rX9q/f79uu+02OTo6FhnXt29frV27Vm+99dZVdQSrW7euVq5cqc8//1wtWrQoNm7KlCkKDQ21qmNbYWx1TgAAVAXXXXedDhw4oAcffFBubm5FxnXq1Em//vqrvv/+ezk7O5d4HVt+H2CrcwIAoCw9+uij2rdvn2655ZZiP6sGBATogw8+0L59+9SyZcsSrcG+z74PAKgYvr6+Wr16tebPn6/+/fvLzq740hovLy89+OCDCg0N1XPPPVei76c7dOig0NBQTZ48WXXq1CkyrmXLlvriiy/0559/qnbt2lYf/zI7Ozu9++67+uuvv9SnT58i45ycnHT77bdr//79uvnmm0u8jmS7cwIAoCLwWb1qnBPKlskwCrmPDwAU4ciRI9q6datOnjypzMxM1a5dW23atFGvXr3k4uJS0ekBAIArXLhwQRs3btThw4eVnJwsFxcXNWvWTL169VKTJk3KdK3Q0FDt2rVLp06dUk5OjurVq6d27dqpe/fuxf7CvaRseU4AAFR2aWlp2rx5s8LDw5WYmCgnJyc1adJE3bt3L/ZCsKthq+8DbHlOAACUlQsXLmjz5s06fPiwkpKS5OHhoYYNG6pz585q3bp1mazBvg8AQMVJTk7Wjh07FBkZqcTERKWnp6tWrVqqV6+e2rdvr+DgYIvF6NbIysrS1q1btX//fiUkJMje3l6NGjVS586dr7qRS1FiYmK0efNmRUdHKz09XZ6enmrZsqV69+6tWrVqldk6tjwnAABsjc/qpUMdYtVBoTkAAAAAAAAAAAAAAAAAAAAAwEzpL6kEAAAAAAAAAAAAAAAAAAAAAFQrFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzFJoDAAAAAAAAAAAAAAAAAAAAAMxQaA4AAAAAAAAAAAAAAAAAAAAAMEOhOQAAAAAAAAAAAAAAAAAAAADADIXmAAAAAAAAAAAAAAAAAAAAAAAzDhWdAGwrPT1dmzdv1sGDB3X+/Hk5OTmpadOm6t69uwIDAys6PQAAAAAAAAAAAAAAAAAAAACVAIXmFezkyZPatm2btm7dqm3btmnHjh1KTk7Oe97Pz0/Hjh0r9Trx8fGaNm2a5syZo9TU1EJjunTpohdffFGjR48u9XoAAAAAAAAAAAAAAAAAAAAAqi6TYRhGRSdR02zatEnvvPOOtm7dqtjY2GJjy6LQfO3atRo/frzOnj1rVfyECRP0xRdfyMnJqVTrAgAAAAAAAAAAAAAAAAAAAKia6GheAbZv366FCxfaZK2NGzdq2LBhSktLM3u8du3aCggI0Pnz53XixAnl5OTkPTd37lylpKTol19+kclkskmexUlMTNS6devyxr6+vnJ2dq7AjAAAAAAAAAAAAAAAAAAAAIDylZGRoRMnTuSN+/Xrp9q1a9tsfQrNKxkPDw+lpKSUybHOnz+vW265xazI3M/PTx988IFGjRqVV0QeExOj6dOn67PPPsuLW7Bggd577z09+eSTZZJLaaxbt05jxoyp6DQAAAAAAAAAAAAAAAAAAACACrNo0SKNHj3aZuvZ2WwlFODp6an+/fvrmWee0c8//6xjx47pt99+K7Pjv/XWW4qNjc0bBwQEaPPmzRo9erRZp/KmTZvq008/1euvv242/9VXX9X58+fLLB8AAAAAAAAAAAAAAAAAAAAAVQMdzSvAyJEjNWTIEAUFBcnOzrzWPyoqqkzWiI+P14cffmj22BdffKHGjRsXOWfy5Mn6448/tH79eklSUlKS3n777QIF6AAAAAAAAAAAAAAAAAAAAACqNwrNK0Dz5s3LfY0ff/xRKSkpeeO+fftq4MCBxc4xmUx6+eWXzeJmz56t6dOnm3VAtzVfX1+z8aJFi9SiRYsKygYpKSnatm1b3rhbt27y8PCowIwAAEB5YM8HAKD6Y78HAKBmYM8HAKBmYM8HAKD6Y7+vmY4cOaIxY8bkjfPX1JY3Cs2rqcWLF5uNJ02aZNW8AQMGKCAgIK+zelxcnLZs2aIePXqUeY7WcnZ2Nhu3aNFCbdu2raBscOHCBcXFxeWN27Rpo1q1alVgRgAAoDyw5wMAUP2x3wMAUDOw5wMAUDOw5wMAUP2x30MqWFNb3uxsuhpsIiUlRevXrzd7bMiQIVbNNZlMGjRokNljS5cuLbPcAAAAAAAAAAAAAAAAAAAAAFR+FJpXQ2FhYcrKysobBwQEyMfHx+r5vXr1Mhvv2bOnrFIDAAAAAAAAAAAAAAAAAAAAUAVQaF4NhYeHm42Dg4NLND9/fP7jAQAAAAAAAAAAAAAAAAAAAKjeKDSvhiIiIszGvr6+JZqfP/748eNKT08vdV4AAAAAAAAAAAAAAAAAAAAAqgYKzauhM2fOmI2bNm1aovkNGzaUg4ND3jg3N1cJCQllkhsAAAAAAAAAAAAAAAAAAACAys/BcgiqmpSUFLOxu7t7ieabTCa5uroqOTm5yGNerTNnzig+Pr5Ec44cOWI2TklJ0YULF8okH5RcampqsWMAAFA9sOcDAFD9sd8DAFAzsOcDAFAzsOcDAFD9sd/XTGVVv3u1KDSvhvK/qFxcXEp8jPIqNP/44481bdq0Uh1j27ZtiouLK5N8UHrbtm2r6BQAAIANsOcDAFD9sd8DAFAzsOcDAFAzsOcDAFD9sd/XDNHR0RW6PoXm1VB6errZ2MnJqcTHcHZ2NhunpaWVKicAAAAAAAAAAAAAAACgoqXnSOtPmXQg0U7OdoaubWioY11DJlNFZwYAAFD5UGheDeXvYJ6ZmVniY2RkZBR7TAAAAAAAAAAAAAAAAKAqCT1n0i9RdkrMvFxVbtLBJKmVV67GB+TK27VC0wMAAKh0KDSvhjw8PMzG+TucWyN/B/P8x7xaDz30kMaPH1+iOUeOHNGYMWPyxt26dVObNm3KJB+UXGpqqtktN7p16yZ3d/cKzAgAAJQH9nwAAKo/9nsAAGoG9nwAAGoG9vzinU7O0Bt/HtXqiIRCnz+UZKe3Qu11X69muvvapnJysLNxhgAAWMZ+XzOFh4dX6PoUmldD+YvCU1NTSzTfMIxyKzT39vaWt7d3qY7h4eGhWrVqlUk+KD13d3f+fwAAUAOw5wMAUP2x3wMAUDOw5wMAUDOw51+Sk2vo+63H9eaKCKVkZBcbm5lj6H/rj2tF+FnNGBui7oH1bJQlAABXh/2+Ziir+t2rRaF5NZS/kDsmJqZE80+fPq3s7H/eXNvZ2al+/fplkhsAAAAAAAAAAAAAAABQ3sJPXdDkBaHacyKxRPOOxqfqls+36OZrmmryDW1Ux92pfBIEAACoAig0r4Zat25tNo6Oji7R/Pzxfn5+cnFxKXVeAAAAAAAAAAAAAAAAQHlKy8zRB6sP68sNkcrONa76OPN3xGhV+Bm9MLyNxnZqIpPJVIZZAgAAVA12FZ0Ayl5QUJDZ+MCBAyWaHx4eXuzxAAAAAAAAAAAAAAAAgMpm3aF4DXl/nT5dd7RUReaXnUvN1JPz9+r2L7cqMj6lDDIEAACoWig0r4batm0rR0fHvPGxY8d06tQpq+dv2rTJbNyxY8eySg0AAAAAAAAAAAAAAAAoU/HJGXps3m5NnL1NJ86lWYwPblRLix7upTdvbC8vV0eL8ZuPJuj6DzZo1urDysjOKYuUAQAAqgQKzashT09P9e3b1+yxlStXWjXXMAytWrXK7LGRI0eWWW4AAAAAAAAAAAAAAABAWcjNNfTjtmgNenedluyNtRjv6mivKcOCtOSRXuroW1s3d/XV6qf6aVynJhbnZmbn6t2Vh3TDBxu0JTKhLNIHAACo9Cg0r6ZGjRplNv7qq6+smrdmzRpFRUXljRs2bKju3buXaW4AAAAAAAAAAAAAAABAaRw5k6xbP9+i5xeEKikty2J8/9YN9OcTffXvvs3lYP9PyVR9D2e9e0tHfX9vd/nXc7N4nMj4VN36+RY98/NenU/NLNU5AAAAVHYOFZ2AtTIzMxUWFqZjx47pxIkTSkpKUmpqqiTJ3d1dXl5eatasmfz9/RUcHCwnJ6cKzrhi3XrrrZoyZUre39H69ev1119/6brrrityjmEYmjZtmtljd999t+zsuB4BAAAAAAAAAAAAAAAAFS89K0cfrz2qT9YeUVaOYTG+voezXhkVrOEhjWQymYqM69Wivlb8p68+XnNEn6w7avHYP++M0eqDZzR1WBuN69yk2GMDAABUVZW20Dw9PV1r167VihUrtH79eoWFhSk7O9uquQ4ODmrbtq369u2roUOHasCAAXJxcSnnjCsXb29vPfLII/rvf/+b99i9996rjRs3qnHjxoXOmTlzptavX5839vLy0jPPPFPuuQIAAAAAAAAAAAAAgMovJ9fQ0n2xWhsRL3dne43v4qsOvrUrOi3UIH8fTdDUhaGKPJtqVfxt3ZvpueuD5OXqaFW8i6O9nhzSWqM6NtaUBfu17di5YuPPpWbqqZ/36pedMXp9bDsFNvCwah0AAICqotIVmv/555/67rvvtGjRorxu3IZR8ArB/FcBXhmTlZWlPXv2aO/evfrwww/l5uam0aNH64477tD1119fvidgpU2bNiktLa3A43v37jUbp6ena9WqVYUeo3HjxgoODi5yjWeffVbffPON4uLiJElRUVHq2bOnZs2apZEjR+b9HcbExGj69On67LPPzOZPnTpVdevWLdF5AQAAAAAAAAAAAACA6icsNklTFoRqb0xS3mPfbYnWLdf4avKwINV2q9l3nkf5Op+aqRnLw/Xzzhir4lt6e2jmuBBd4391dS8tvD3147+v1S87YzTj93AlXswqNv7vyARd//4GPTyghR7oHyhnB/urWhcAAKCyqRSF5qmpqfrqq6/00Ucf6ejRo5L+KRw3mUx5BdFXFpMXVnx+2ZVF6IZhKDU1VfPmzdO8efMUEBCgxx57TPfcc488PCruKsLbb79dx48ftxh3+vRpDR48uNDnJk6cqDlz5hQ5t27duvrpp580dOhQpaenS5KOHz+u0aNHq3bt2goICFBiYqKio6OVk5NjNnf06NF6+umnrT8hAAAAAAAAAAAAAABQ7VzMzNb7qw7rq41RysktWKvx044TWhV+WlOHt9HYTk0KNA4ESsMwDC3ac1KvLQ3XudRMi/FODnZ67LoW+nff5nJysCvV2nZ2Jt3c1VcD23jr9eXhWrDrZLHxmTm5em/VIS3ee1Izxobo2sB6pVofAACgMqjQQvO0tDR9+OGHeuutt3Tu3Dmz4vLLDMOQg4ODWrVqpaCgIDVu3FiNGjWSh4eH3NzcZBiG0tLSlJKSotjYWMXGxurgwYM6fPiwsrOzzdYzDEORkZF64okn9Nprr+mZZ57RI488Ijc3N5uety317dtXy5Yt0/jx43Xu3D+380lMTNTu3bsLnXPbbbdp9uzZfPgDAAAAAAAAAAAAAKAGWxNxRi8s3K+TiQXv2H6lhNRMPTl/r37ZGaPpY9opsEHFNf5D9XE8IVUvLNqvDYfPWhXfs3k9vT42RAH13cs0j3oeznr35o66qXNTTV20X1FnU4uNj4xP1a2fb9FNXZpqyrA2qutOt38AAFB1VVih+Zw5czRlyhSdPn1ahmGYFTU7OTlp4MCBGjBggPr166cOHTrI0dGxRMfPzMzU3r17tW7dOq1du1Z//fVXXldvSUpISNDkyZP13nvvaebMmbrrrrvK6tQqneuuu04HDhzQtGnT9M033+jixYuFxnXq1EkvvPCCxo0bZ+MMAQAAAAAAAAAAAABAZXEmOV2v/nZAS/edKtG8zUcTdP37G/TQgOZ6sH9zOTvYl1OGqM6ycnL1+fpIzVp9WBnZuRbj67g56oXhwRrXuXw76vdsUV+/P95HH689qk/WHlFWTsEO/1f6ZWeMVoef1tThwbqxnHMDAAAoLxVSaN69e3ft2LFDkvK6mNvZ2emGG27QhAkTdMMNN8jdvXRXFzo5Oalr167q2rWrnn76aaWmpur333/Xt99+q+XLlysnJ0eGYej06dOaNGmSPvnkE23durXU52atY8eO2WwtSWrYsKE+/vhjvfPOO9q8ebPCw8OVmJgoJycnNWnSRN27d1eLFi1smhMAAAAAAAAAAAAAADVBSka21kXEy9HepM5+dVTfw7miUypUbq6hH7ef0Bu/h+tCerblCYXIzMnV+6sOa8meWE0f2049m9cv4yxRne08fl5TFoQq4nSyVfE3dm6qqcNt1zXcxdFeTw5upVEdGmnKwv3aFnWu2PjzF7P09M979evOGL1/a0c1rOVikzwBAADKSoUUmm/fvl0mk0mGYah+/fp65JFHdN9996lRo0bltqa7u7tuuukm3XTTTYqLi9Pnn3+u//3vf4qPj5dhGHmF79Wdq6urBg4cqIEDB1Z0KgAAAAAAAAAAAACAMpaVk6sNh+N1NjlT3QLqyr9+6Zq8oXSyc3I1Z/MxvbvykC5m5kiSHO1NGhbSSBN6+Ktzs9qVpsvxodPJmrIgVDuOny+T40WeTdVtX2zVuM5NNHVYG9WrpMX1qByS0rL05oqD+mFbtIziG4VLkgLqu+v1Me3Us0XFXMjQwttTP/37Wv28M0Yzlocr8WJWsfF/Ryboti+2aPnjfej0DwAAqpQKKTSXJB8fH02ZMkWTJk2Si4ttr9bz8fHRSy+9pGeffVZfffWVZsyYobi4OJvmAAAAAAAAAAAAAABAWdpwOF4vLNqv4wkX8x67+ZqmmnxDG9WxUbdf/CM0JkmTF+7T/pMXzB7PyjG0eE+sFu+JVbsmtTShh79GdWgsF8eKKT5Nz8rRR38d0Wfrjyorx3KFr7ens14YEazDp5P16TrLcxbsOqm/Dp7R5BuCNL6Lr+zsKkdhPSoHwzC0PDROr/wWpvjkDIvxjvYmPdCvuR4e0KLCfmYuM5lMuvkaXw0M8tbry8O1YNfJYuOPxqdq0e6TuqVrMxtlCAAAUHoVUmg+c+ZMPfbYY3J1da2I5fO4uLjo4Ycf1qRJk/TBBx9UaC4AAAAAAAAAAAAAAFyNsykZmr70gBbtiS3w3PwdMVoVfkZTh7XRuM5NKk337OosNSNb7/x5SHM2RynXQt32/pMX9Owv+zRjebhuucZXd1zrJ9+6brZJVNLmI2c1ZWGojl1xcUJRTCbp9u7N9Oz1Qarl4ihJGt2xsaYs2K9tx84VOzfxYpae+zVUv+48qdfHtlPLhp5lkj+qtpjzF/XS4jD9dfCMVfHX+NXRzHEhle71U8/DWe/e3FE3dW6qqYv2K+psapGxszce083X+PJvMQAAqDIqpND8ueeeq4hli+Ti4lLpcgIAAAAAAAAAAAAAoDiGYejnHTGa8Xu4Ei9mFRl3LjVTT/28V7/sjNH0se3UvIGHDbOsWVYdOK2XFu9XbFJ6ieYlXszSZ+sj9fmGSA0M8taEHv7q3aJ+uXX/PpeaqenLDljswHxZ64aemjEuRF386pg93sLbUz/++1r9stPy61CSth07p2GzNuj+vs31yHUV35EaFSM7J1dzNh/TuysP6WJmjsV4TxcHTb6hjW7tWrk74vdsUV+/P95HH689qk/WHim023/E6WRtOpKg3i3rV0CGAAAAJVchheYAAAAAAAAAAAAAAODqHY1P0ZQFodoaVXwn6Sv9HZmgG97foAf7N9eD/ZtT5FuGTl9I1ytLwvT7/rhSHccwpFXhZ7Qq/IwC67vrzh5+urFL07wO4qVlGIZ+3XVSry87oPMWisIlydnBTo8NbKl/9w2Uo71doTF2dibd3NVXA9t4a8byg/p1V0yxx8zKMfTRmiP6bV+sXhvdTn1bNbiqc0HVFBqTpMkL92n/yQtWxY9o30gvjQyWt6dLOWdWNlwc7fXk4FYaEtxQIz/aKKOQuxrM3hRFoTkAAKgyKDQHAAAAAAAAAAAAAKCKyMjO0Sdrj+rjNUeVmZNb4vmZObn6YPVhLdkbq9fHtFPPFhQ7lkZurqHvtx7XmysilJyRXabHjjybqmm/HdBbf0RoXOcmmtDDX60ael718aLOpmrqwlBtPppgVXzvFvX1+th28qvnblV8PQ9nvXNzB93UpammLgpVZHxqsfHHEy5qwuxtGtWhsV4Y0abKFBLj6qRmZOudPw9pzuYo5RZSfJ1fk9qumj62nQa09i7/5MpBuyZeGtymof48cLrAc38dPKPI+BQFcncJAABQBVBoDgAAAAAAAAAAAABAFbA1MkFTFobqqIUCXmtEnU3VbV9u1bhOTTR1eBvV83AugwxrloNxFzR5Qah2RydaFT8kuKFGdWysn3fEaN2heKvXuZiZo++2ROu7LdHqEVhPE3v6aVCbhnIoosN4fpnZufps3VF9uOaIMrMtX5xQ191JL45oozEdm8hkMlmd52U9mtfT74/30adrI/W/tZbXXLI3Vmsizui564N0W7dmsrMr+Zqo3FYdOK2XFu9XbFK6xVh7O5Pu7R2gxwe1lJtT1S5ruqd3QKGF5pL09aZjem1MOxtnBAAAUHJV+x0ZAAAAAAAAAAAAAADVXOLFTM1cflA/7ThhVXzzBu7q18pb3245pqyc4lsHL9h9UqsPntGUYUEa38WXIl8rpGXmaNZfh/XF+khlW9Ga2aeWi6aNbquhbX0kSSPaN1bU2VR9+/dx/bzzhJLTre+E/ndkgv6OTFAjLxfd3r2Zbu3WTPWLuUhg+7FzmrwgVEfOpFh1/PFdmmrKsDaq4+5kdU6FcXaw1+ODWmpkh0Z6YdF+i13Uk9Oz9cKi/VqwK0avjw1Rm0a1SrU+Koe4pHS9siRMK8LirIrv0NRLM8aFqG1jr3LOzDa6B9RVcKNaOnDqQoHnftkZo6eHtJaXm2MFZAYAAGA9Cs0BAAAAAAAAAAAAAKiEDMPQkr2xem3pAZ1NybQY72Rvp0eua6H7+wXK2cFet3X31ZSF+7Ut6lyx85LSsvTcr6H6ZeelIt9WDT3L6hSqnfWH4vXCov2KPnfRYqzJJE3s4a+nhrSSp4t5MWlAfXe9NDJYTw1ppUV7Tmru5uOKOJ1sdR6nktL19p+HNGv1EQ1v30gTevipo2/tvA7kSRez9MaKcM3bZt3FCYH13fX62BD1aF7P6hysOm4DD31/b3ct2nNS05eGKyG1+NfxruhEjfhwY7XpaF1T5eQa+n7rcb25IkIpGZYvpHB3stczQ1vrzh7+sq9GF7uYTCZN6h2gp37eW+C5tKwc/bg9Wvf3a14BmQEAAFivWrwjP3nypL799ltt2rRJJ06cUEZGhry9vdWqVSsNHz5cI0eOlL29fUWnCQAAAAAAAAAAAACAVaITLmrqolBtOHzWqvhrA+tqxtgQBTbwyHushbenfvr3tfplZ4xmLA/X+YtZxR5j+7HzGvbBBt3fL1CPXtdSLo78nv2ysykZem3pAS3eE2tVfJtGtTRzXIg6+tYuNs7d2UG3d/fTbd2aaVvUOc39+7hWhMUpx4pO6ZKUmZOrhbtPauHuk2rf1EsTevjL0d6k15aG62xKhsX5TvZ2erB/cz00oLmcHcrn/7fJZNLYTk01oLW3/rvioMXi95xcQ5+tj9TSfaf02pi2ui6oYbnkhfIRfuqCJi8I1Z4TiVbFDwluqGmj26qRl2v5JlZBRnRopJm/Hyz05/Gbzcc0qXeAHOztKiAzAAAA61SqQvPU1FQtX75c+/btU3x8vFxdXdWiRQsNHjxYrVq1KhCflZWlqVOn6v3331dOTo6kS1d0S9KhQ4e0ceNGzZ49W61bt9Ynn3yifv362fR8AAAAAAAAAAAAAAAoiaycXH25IUofrD6k9Kxci/G13Rw1dVgb3dSlaV436yuZTCaNv8ZXA9s01Izl4fplZ0yxx8vONfS/NUf1295Tem1MO/Vr1eCqz6U6MAxDP++I0evLw5WUVnyhviS5ONrpiUGtdE/vADmWoHjUZDKpe2A9dQ+sp1NJaZq3NVo/bIu2qpP9ZftikvR0IZ2Ti9It4NLFCS28PSwHl4Habk6aOa69xnVuqqkLQ3XodEqx8ScT03TPnB26oZ2PXhvTTvU9nG2SJ65OWmaOPlh9WF9uiFS2FRdK+NRy0bTRbTW0rY8Nsqs4zg72uvNaP7236lCB52KT0rUiLE4j2jeugMwAAACsU2kKzd977z298sorSkkp/IPE6NGj9dlnn6lBg0sfYjMzMzVq1CitXLkyr7jcZDKZfXC+/PjBgwc1dOhQzZs3T2PHji3nMwEAAAAAAAAAAAAAoOR2RZ/XlAWhOhiXbFX8uE5NNHV4G9WzogC3rruT3h7fQTd2bqqpi0IVGZ9abHz0uYuaOHubRnZorBdHtJG3p4tVOVUnR86kaMrCUG2LOmdVfP/WDfTa6HbyretWqnUbebnqySGt9fB1LbRif5y+2XxMu6ITS3XMK3m5OmrKsCCN7+IrO7uCFyeUt67+dbX00T76cmOkZq0+bPGCit/3x2lfTJLm3N1VLRt62ihLlMT6Q/GauihUJ86lWYw1maSJPfz11JBW8nRxtEF2Fe/2a5vpf2uPKDO74Gt99sYoCs0BAEClVikKzR966CF99tlneYXhkvIKxi8/tnjxYh06dEjbtm2Tm5ubnnvuOf35559mxeVXzr/yGNKlwvQ77rhDe/fuVYsWLcr7lAAAAAAAAAAAAAAAsMqF9Cy9tSJC3209LsNyI2D51XPT62NC1Ltl/RKv1aN5Pf3+eB99ti5SH60pvPDxSr/tjdXaiDN69vog3d6tWYUUJttaRnaOPl5zVJ+sParMHMtd5et7OOvlkcEa0b5RoV3lr5azg71Gd2yi0R2bKDQmSXP/PqbFe2Mt/j8rzuiOjfXC8GA18KzY7uBODnZ6qH8LjQhprBcX79e6Q/HFxp9MTNO4jzfrkzu6XNXrHuXjbEqGXlt6QIv3xFoV36ZRLc0cF6KOvrXLN7FKpr6Hs8Z0bKz5OwreUWJXdKJ2R59Xp2Z1KiAzAAAAyyq80Hzu3Ln69NNPJZkXl+cvOjcMQ+Hh4ZoxY4buueceffTRR2bxQUFB6tmzp7y9vZWVlaXo6GitXbtW8fHxeXFpaWl65JFHtGLFChufJQAAAAAAAAAAAAAA5gzD0Ir9cXrltzCdvpBhMd7BzqT7+wXq0etaysXR/qrXdXaw12MDW2pkh8Z6YVGoNh1JKDY+OT1bLy7arwW7YjRjbIjaNKp11WtXdlsiEzRloeWO75f9q1szPX99kLzcyrczc0hTL701voOmDGujn3ac0HdbjivmvOXu0Zf51nXV9DEh6teqQTlmWXLN6rlpzt1dtSz0lKb9dkDxyUX/HCRnZOuur7dp+ph2urVbMxtmifwMw9D8HSc0Y/lBJaVlWYx3cbTTE4Na6Z7eAXK0t7NBhpXPPb0DCi00l6TZm47pQwrNAQBAJVWhheZZWVl69tlnzQrGnZycNGjQIAUHB8tkMik8PFwrV65UZmamDMPQl19+qdzcXOXk5MhkMsnb21tz587V4MGDCz3++++/rylTpig3N1eGYWjlypU6evSomjdvbuvTBQAAAAAAAAAAAABA0qUOzS8v3q9V4Wesiu/iV0czxoaotY9nmeUQUN9d303qrsV7YjV92QGdTcksNn53dKJGfLhR9/YO0OODWsrNqcJ725WZxIuZmrE8vMhC0PxaentoxrgQdfWvW86Zmavj7qQH+jXXfX0CtebgGX3z9zFtOHy2yHh7O5Pu6xOoxwe2lKvT1V+cUJ5MJpNGtG+svq0aWOzsn51r6PkFoTqWcFHPDm1dIzrsVzZHzqRoysJQbYs6Z1V8/9YN9NrodvKt61bOmVVuQT611KtFvUIv7FkeekpThgWpkZdrBWQGAABQvAr91Lds2TKdOXMmr9A8ODhYS5YsUWBgoFncsWPHNHr0aIWGhio+Pl6ff/65JMnZ2VmrV69WcHBwocd3dHTUM888Izc3Nz366KN5j8+fP1+TJ08up7MCAAAAAAAAAAAAAKBwObmG5mw+pnf+jNDFzByL8Z4uDnru+iDd1q1ZuRTVmkwmjenURP1bN9B/VxzUvG0nio3PyTX02fpILd13Sq+ObquBbRqWeU62ZBiGFu+J1WtLDyghtfhCe0lycrDTowNa6P5+zeXkUHGdme3tTBoU3FCDghvqaHyKvv37uH7ZGaOUjOy8mI6+tTVzXNXpQF/LxVGvjWmncZ2b6PlfQxVxOrnI2E/XHVX0uVS9e3PHUnX3h/UysnP08Zqj+njtEWXlFHElwBXqezjr5ZHBGtG+UV5dUE13T6+AQgvNc3INfbP5uJ6/IagCsgIAAChehRaar1ixQtKlD27Ozs5atGhRgSJzSfL399eiRYsUHByszMxMnTt3TiaTSRMnTiyyyPxKDz/8sN5//30dPXpUkrRt27ayPREAAAAAAAAAAAAAACzYfzJJkxeEKvRkklXxw9s30ssjguVdy6WcM5Nquzlp5rj2urFzU01ZGKpDp1OKjT+ZmKZJ3+zQ9W199PKo4CrZifd4QqpeWLS/2I7gV+oRWE+vj22nwAYe5ZxZyTRv4KFXRrXV00Nba/2heB1LSFXnZnXUzb9ulez43alZHS14qKce/3F3sR3/l4fGKTZxi76YcI0aeDrbMMOa5++jCZq6MFSRZ1Otiv9Xt2Z6/vogebk5lnNmVcuA1t4KqO+uqEL+Hudti9ZjA1tUqztFAACA6qHiLq+VtHv3bkmXrpAePny4WrRoUWRsQECARo4cKeOK+yPdeOONVq81btw4SZeK2sPCwq4yYwAAAAAAAAAAAAAASiY1I1vTlx7QqI82WlVk3qS2q76+q6v+d1tnmxSZX+ka/7pa+mgfPXt9a7k4Wi4pWBEWp4HvrNOn644qMzvXBhmWXlZOrj5ee0RD3ltvVZF5HTdHvT2+g364r3ulKzK/koezg4aFNNJD/Vvo2sB6VbLI/DJ3Zwd9duc1uqdXQLFxe04kauzHm3S4mO7nuHrnUzP1zM979a8vtlhVZN7S20M/P9BDM8eFUGReCDs7k+7u5V/oc0lpWVqw66RtEwIAALBChRaanzjxzy23+vbtazG+T58+ZuOQkBCr12rfvn3ef58/f97qeQAAAAAAAAAAAAAAXK2/Dp7WkPfW68uNUco1io+1M0n39QnQyif7akCQt20SLISTg50e6t9Cf/6nn/q1amAx/mJmjt74/aCu/2C9NhyOt0GGV29X9HmN/HCj3lwRoQwrCuNv7NxUq5/qr5u6NJXJVHULt6siezuTXhoZrFdHt1VxNfMx59M07pPN2mhlZ3pYZhiGFu6O0cB31+nnnTEW450c7PTU4FZa9lgfdfWva4MMq64bOzeVp0vhXctnb4pSrqWNAgAAwMYq9H4rSUn/XKnt7+9vMd7Pz89sXLeu9W9Or4y9cOGC1fMAAAAAAAAAAAAAACipMxfS9cpvYVoeGmdVfEgTL80cF6J2TbzKOTPrNavnpjl3d9Wy0FOa9tsBxSdnFBsfGZ+qO7/aphva+eiFEcFqUtvVRpladiE9S2+uOKjvt0bLsKKO07+em2aMDVHPFvXLPzkUa0IPf/nWcdMjP+xSamZOoTHJ6dm66+ttmj6mnW7t1szGGVYvxxNS9cKi/VZ1+5ekHoH19PrYdpW6239l4u7soH91a6bP10cWeC4yPlXrDsdrQOuKu9AIAAAgvwotNE9LS8u74tfd3d1ivJubm9nY0dH62+w4OTnl/Xd2drbV8wAAAAAAAAAAAAAAsFZurqHvt0Xrzd8PKjnD8u+m3Zzs9fSQ1prY01/2xbVtriAmk0kj2jdW31YN9NaKCH239bjFQu3f98dpTcQZPTKghe7tEygXR3vbJFsIwzD0+/44vbIkTGcsFMpLkqO9SQ/0a66HB7So0LxhbkCQt35+oKfumbNdcRfSC43JzjX0/IJQHT93Uc8MaS27SvjzVJll5eTq8/WRmrX6sFXd/uu4OWrq8GDd2LkJ3f5LaGJPf321MUo5hXQvn70xikJzAABQqVRoofmVrHnTyRtTAAAAAAAAAAAAAEBlFRGXrMkL9mlXdKJV8YPaNNSro9uqcSXq/F2UWi6Oem1MO43r3ERTFu5X+Kni7ySenpWrt/88pJ93xujlkcG6LqihjTL9x8nENL20aL9WHzxjVXwXvzqaOS5ErRp6lnNmuBrBjWtp0cO9NOmb7QqLLfr198nao4pOuKh3bu7AxQJW2nn8vKYsCFXE6WSr4m/s3FRTh7dRXXcny8EooEltV13f1kfLQk8VeG7D4bM6dDqZf4cAAEClYVfRCQAAAAAAAAAAAAAAUJWlZ+XozRUHNXzWBquKzBvWctand3TWFxO6VIki8yt1alZHvz3SSy+OCJans+XedscTLuqeOTt07zfbFZ1w0QYZStk5ufpyQ6QGv7vOqiJzTxcHvT62nX6+vwfFnZWcj5eL5t/fQ4PaFN/xeVnoKd36+RadTbHcxb4mS0rL0tSFobrp081WFZn713PTD/d21zs3d6DIvJTu6e1f5HNfb4qyXSIAAAAWUGgOAAAAAAAAAAAAAMBV2nj4rIa+v14frz2q7Fyj2FiTSZrQw08rn+yn69s1qrJ39Xawt9Ok3gFa/XQ/jevcxKo5q8LPaNB76/TuykNKy8wpt9xCY5I05uNNmr4sXBetWGdE+0Za/VQ/3d7dT3Z2VfP/R03j7uygz+68Rnf38i82bs+JRI353yYdtrJLd01iGIaW7TulQe+u0/dbo2UU/0+XHO1NevS6Flrxn77q2aK+bZKs5jo3q6MOvrULfW7BrpM6l5pp24QAAACKQKE5AAAAAAAAAAAAAAAllJCSoSd+2qM7vtqq41Z06g7y8dSvD/bUq6PbqZaLow0yLH/eni569+aO+uWBHgpuVMtifGZ2rmatPqxB767TH2FxMixVt5ZAaka2Xv3tgEb/b6P2n7xgMb5JbVd9fXdXfXRbZ3l7upRZHrANezuTXh7ZVtNGtVVx1wfEnE/TuE82a9ORs7ZLrpKLOX9Rk77ZoYd/2KX4ZMsd36/xq6Nlj/XRU0Nay8XR3gYZ1gwmk0n3FHGxREZ2rn7Yety2CQEAABSBQnMAAAAAAAAAAAAAAKxkGIbm7zihge+u08LdJy3Guzja6fkbgvTbo73VuVkdG2Roe9f419Vvj/bWa6PbqpaLg8X4k4lpuv/bnZr49XZFxqeUev1VB05r8LvrNHtTlCw0lZe9nUn/7huolU/21YDW3qVeGxVrYk9/fTnxGrk7FV0AnZyerYmzt+mn7dE2zKzyyc7J1ZcbIjXkvfX66+AZi/GeLg6aMTZE8+/voVYNPW2QYc0zLKSRfGoVfqHL3L+PKzM718YZAQAAFGT5E56NzJ07Vxs3biw2JjIy0mz86quvWn38/HMBAAAAAAAAAAAAACiJo/EpmrIgVFujzlkV37dVA00f3U7N6rmVc2YVz97OpDt7+GtYSCO99UeEftpxQpYalq8/FK+h76/XvX0C9eh1LeTmVLIShtMX0vXKkjD9vj/Oqvj2Tb00c1yI2jb2KtE6qNyuC2qonx/oqXvmbFfchfRCY7JzDT33a6iOJVzUM0Nay664NujVUGhMkiYv3GdVt39JGtG+kV4aGUy3/3LmaG+nCT399OaKiALPnUnO0PLQUxrTqUkFZAYAAPCPSlFobhiGvv322xLPmTZtWonmmEymMr31FgAAAAAAAAAAAACg+svIztEna4/q4zVHlZljucNsfQ8nvTgiWKM6NJbJVLMKWut5OOuNG9vr1m7N9NLi/doXk1RsfFaOoU/WHtWi3Sc1dXgbDQ9pZPHvLCfX0A9bj+vNFRFKzsi2mJO7k72eHtpaE3r4y76GFRjXFMGNa2nRw7006ZvtCostupj6k7VHFZ1wUe/c3EEujkV3Qa8uUjOy9c6fhzRns+Vu/5LUpLarpo9tR7d/G/pX12aatfqw0rMK7i1fbYzS6I41bx8BAACVS6UoNC9JAfiVb55KWjTOGy8AAAAAAAAAAAAAQElsjUzQlIWhOhqfalX8rV199fwNQart5lTOmVVuHX1ra9FDvTR/xwn9d8VBnb+YVWz8qaR0PfLDbv3QPFrTRrVVy4aehcaFn7qgyQtCtedEolV5DAluqGmj26qRl2tJTwFVjI+Xi+bf30OP/7hbq8LPFBm3LPSUYpPS9MWEa1Tfw9mGGdrW2sMJeuPP7YpNKrzL+5Xs7Uya1DtA/xnUssR3FkDp1HF30rjOTfXD1ugCz4WeTNKO4+fV1b9uBWQGAABwiV1FJ2AYRokKxi/HX01ncrqZAwAAAAAAAAAAAACskXgxU8/9sk+3fL7FqiLz5g3cNf/+HnrjxvY1vsj8Mjs7k27t1kxrnu6vO6/1kzXNxDcfTdANH2zQ9KUHlJz+T3F6WmaO3vj9oEZ+uNGqInOfWi769I4u+nzCNRSZ1yDuzg767M5rdHcv/2LjdkcnauzHm3TkTLJtErOhxAzpqwg7PfbzAauKzDs09dKSR3ppyrA2FJlXkHuKeb3O3hhlu0QAAAAKUaHvECdOnFiRywMAAAAAAAAAAAAAYMYwDC3ZG6vXlh7Q2ZRMi/FO9nZ6eEALPdA/UM4O9jbIsOqp7eak18a00y1dffXS4v3aFZ1YbHx2rqEvN0Zp8d5YTRkWpLruznpx0X5Fn7tocS2TSZpwrZ+eHtpani6OZXQGqErs7Ux6eWRb+ddz17TfwpRbRE/CE+fSNPbjzfr0ji7q1aK+bZMsBzm5hjbEmfRbtJ0ycixf1eHuZK9nhrbWnT38ZW/NVSAoNy28PdWvVQOtOxRf4Lk/wuJ04txF+dZ1q4DMAAAAKrjQ/Ouvv67I5QEAAAAAAAAAAAAAyBOdcFFTF4Vqw+GzVsVfG1hXr48NUfMGHuWcWfXQromXfnmgpxbsPqk3fg+3WMgfn5yhJ37aa/Xxg3w8NXNciDo1q1PaVFENTOzpL9+6rnr0h91KzcwpNCY5PVsTZ2/TjLEhurmrr40zLDsH4y7o2Z/3at9J6y52GRLcUNNGt6XbfyVyT++AQgvNcw3pm83H9MKI4ArICgAAoIILzQEAAAAAAAAAAAAAqGhZObn6ckOUPlh9SOlZuRbja7s5auqwNrqpS1OZTHQCLgk7O5Nu6tJUQ9o21HsrD2nu38eVU1TLaSu5ONrpiUGtdE/vADna25VRpqgOrgtqqPkP9NCkOTsUdyG90JjsXEPP/rpPEaeT9dSQVnJzqjqlNGmZOfpg9WF9uSFS2Vb8HPnUctEro9rq+nY+NsgOJdG3ZX218PbQkTMpBZ77afsJ/WdwK3k4V53XJgAAqD74hAUAAAAAAAAAAAAAqLF2RZ/XyA836r8rDlpVZD6uUxOtfrKfxl/jS5F5KdRycdTLI9tq2WO91S2g7lUfp1+rBlr5RD/d3685ReYoVNvGXlr0cC+1bVyr2LivNkZp8Lvr9XvoKRlG6S5+sIX1h+I15P11+nTdUYtF5iaTNLGHn1Y+2Zci80rKZDLpnl4BhT6XnJGtn3ecsHFGAAAAl/ApCwAAAAAAAAAAAABQ41xIz9KLi/brxk8262BcssV4v3pu+m5Sd717S0fV83C2QYY1Q5BPLf3072v1wa0d1bCW9X+v9T2cNOtfnTTn7q7yretWjhmiOvDxctH8+3toYJB3sXEnE9P04Pe7NGH2Nh2NL9hZujI4m5Khx3/crQmzt+nEuTSL8W0a1dLCh3pp2uh28nRxtEGGuFpjOzVRbbfC/x/N2Xys1Hd/AAAAuBoUmgMAAAAAAAAAAAAAagzDMPR76CkNfnedvt1yXJYaFzvYmfTwgOb64z991btlfdskWcOYTCaN7thEq5/qr/v7BsrBrvhO8f/q5qvVT/bXqA6N6SoPq7k7O+jzCdforp7+FmM3HD6r699frzd+P6jUjOzyT84KubmGftoerYHvrNPiPbEW410c7DT5hiAteaSXOvrWLv8EUWquTva6vXuzQp87nnBRfx08Y+OMAAAAJIeKTgAAAAAAAAAAAAAAAFs4mZimlxfv16pw64r1uvjV0YyxIWrt41nOmUGSPJwdNHlYG42/xlevLAnTxiNnzZ5v4e2hGWND1C2gbgVliKrO3s6kV0a1VUB9d037LUzFNYjOyjH06bqjWrT7pKYOb6MR7RtV2IUNR84ka8qC/dp27JxV8W1q5+qd27oquFnxHdxR+dx5rb8+Wxep7EJenF9tjNTg4IYVkBUAAKjJKDQHAAAAAAAAAAAAAFRrObmG5mw+pnf+jNDFzByL8Z4uDnru+iDd1q2Z7Cx010bZa+HtoW8nddPaiHj9eSBO51OzdF2Qt0Z3aixnB/uKTg/VwMSe/mpWz01Pz9+rhNTMYmPjLqTr0Xm7NW9btKaNaquWDW134Ul6Vo4+XntUn6w9oqwcC7dfkOThaOhG/1x1qmeoaW0XG2SIsubj5aLh7RsV2rV+S+Q5hcUmqW1jrwrIDAAA1FQVUmg+d+7cAo9NmDDBqriyUth6AAAAAAAAAAAAAIDqZf/JJE1eEKrQk0lWxQ8PaaSXRwbLuxZFmhXJZDJpQJC3BgTRkRnlY0Brb/31VH+9uzJC3245Xmx3c0nafDRBN3ywQXf19Nfjg1rK08WxXPP7+2iCpi4MVeTZVKvib+zoo2scY+RGy8kqb1LvgEILzSXp603H9Pb4DjbOCAAA1GQV8vbyrrvuKnA7ocIKvwuLKysUmgMAAAAAAAAAAABA9ZWaka33Vh7S7E1RFgtIJalJbVdNH9OOwmagBvFyc9S00e10S9dmennJfm0/dr7Y+OxcQ19ujNKSvbGaMqyNRndsXOZ1LedTMzVjebh+3hljVXwLbw/NHBei1nUdtGaNdXNQubVvWlvX+NXRjuMFX49L9sTq2etby9uTi6EAAIBtVPh1jIZhWHzTbRhWfOq3gslksmo9AAAAAAAAAAAAAEDV9dfB03pxUZhOJqZZjLUzXeoe+8TgVnJzqvBfoQOoAMGNa2n+/T20cPdJzVh+UGdTMoqNP5Ocof/8tEc/bIvWq6PbKsinVqlzMAxDi/ac1GtLw3UuNdNivJODnR4d0EL392suJwc7XbhwodQ5oPK4p3dAoYXmmTm5+n5LtJ4Y3KoCsgLKT8z5i9p5/Ly8PV3UPaCu7OyqZn1fVk6u1h+K196YJAXWd9eI9o3kYG9X0WkBQKlU2Kdka4vHy6rIvKyPBQAAAAAAAAAAAACoXM5cSNe03w5oWegpq+JDmnhp5rgQtWviVc6ZAajsTCaTxnVuqkHBDfX+ysP65u9jyrFwO4RtUec0fNZG3Xmtn54Y3Epero5XtfbxhFS9sGi/Nhw+a1V8j8B6en1sOwU28Liq9VD5DQluqCa1XQu9YOr7rcf1YP/mcnG0t0kuF9Kz9OHqw/p5Z4zSMnM0sI23nhkapID67jZZH9VbUlqW3lxxUD9si9bl0r4gH0+9PjZEXfzqVGxyJbQr+rymLAjVwbjkvMe+3nxMsydeo3oezhWYGQCUToUUmn/99ddlGgcAAAAAAAAAAAAAqLlycw19vy1ab/5+UMkZ2Rbj3Z3s9dSQ1prY01/2VbRjJoDyUcvFUS+NDNYtXX310uL92hp1rtj4nFxDczYf09J9sXr+hjYa16mJ1Z14M7Nz9cWGSM1afVgZ2bkW4+u4OWrq8GDd2LmJTCb+7arOHOztdFdPf72+PLzAc2dTMrVkb6xuvsa3XHMwDEN/hMXppcVhOpP8T5f/5aFxWhV+xqyjPlBShmFoeWicXvktTPHJ5neROBiXrBs/2azbuzfTs9cHXfVFPLaSnJ6lt/6I0Ldbjit/H9y9JxI1YfY2/XDftZX+PACgKBVSaD5x4sQyjQMAAAAAAAAAAAAA1EwRccmavGCfdkUnWhU/qE1DvTq6rRrXdi3fxABUaa19PPXjv6/Vkr2xmrE8XKcvZBQbfzYlU0//vFfztkXr1dFt1bZx8XdK2Hn8nKYs2K+I08nFxl12Y+emmjq8jeq6O1l9Dqjabu7qq/dWHdLFzJwCz83eGKXxXZqW2wUHsYlpemlxmFaFny70+czsXL2z8tCln49xIerqX7dc8kD1dDIxTS8t2q/VB88UG/f91mj9EXZaL48M1oj2jSrlBTYr9sfplSVhiruQXmRMWOwF3fX1Nn03qbvcnSukXBMASoVLygAAAAAAAAAAAAAAVU56Vo7eXHFQw2dtsKrIvGEtZ316R2d9MaELReYArGIymTS6YxOtfqq/7u8bKAcrOpXvPH5eIz/cqJcW71fSxawCzyelZWnqwlDd9OnfVhWZ+9dz0w/3dtc7N3egyLyG8XJ11PguTQt97mBcsv6OTCjzNXNyDX29KUqD311XZJH5lQ6fSdH4T//W5AWhhb7egSvl5Br6auOl15elIvPLzqZk6NF5uzXx6+2KTrhYzhla71RSmv49d4ce+G5nsUXml+2OTtS93+xQelbBC0cAoLKj0BwAAAAAAAAAAAAAUKVsPHxWQ99fr4/XHlV2rlFsrMkkTejhp5VP9tP17SpnN0wAlZuHs4MmD2ujFf/po14t6lmMzzWkuX8f14B31uqn7dHKzTVkGIaW7TulQe+u0/dbo2UU/0+XHO1NevS6Flrxn77q2aJ+GZ0Jqpq7egWoqG1r9saoMl3rQOwFjft4k6b9dkCphXRRL868bdEa+O46/bY3VoalFzdqpP0nkzTmf5v02tIDhXbpt2T9oXgNfm+dPl57RFk5ueWQoXVycg3N2RSlwe+u158HLF+McaW/IxP0wHc7lZFNsTmAqoV7MQAAAAAAAAAAAAAAqoSElAxNXxauhbtPWhUf5OOpGeNC1LlZnXLODEBN0MLbU99N6q7loXGavuyATiUV38X2XGqmnvs1VD9sO6F67k76y8oOvtf41dGMcSFq1dCzLNJGFRZQ310Dg7y1Krzga2f1wTOKOpuqgPrupVojLTNH768+pC83RCnHwsVbxbncefqXnTGaPqadfOu6lSovVA8XM7P13spDmr3pWKleX5KUkZ2rN1dEaPHuWM0Y105d/OqWUZbWCT91Qc8vCNXeE4lXfYy1EfF6fN4efXRbJznY0yMYQNXAv1YAAAAAAAAAAAAAgErNMAzN33FCA99dZ1WRuYujnZ6/IUi/PdqbInMAZcpkMml4+0Za/VQ/PdS/uRztLd8lYe+JRKuKzD1dHDRjbIjm39+DInPkuadXQKGPG4b0zeZjpTr2ukPxGvL+On22LtJiEbCdSfJ0ttzTdN3/d57+bN1RZVdg52lUvDURZzT43fX6woqLGOztTLqtezP51nW1eNyI08m68ZO/NWVhqJIuZpVVukVKy8zRG78f1MgPN1pVZN7Yy0WNvFyKfH5FWJye/nlvqQvvAcBW6GgOAAAAAAAAAAAAAKi0jsanaOrCUG2JPGdVfN9WDTR9dDs1q0cnVQDlx83JQc9eH6SbujTVK78d0PpD8aU63sgOjfXiiDby9iy6OBE1U4/m9RTk46mDcckFnpu/44SeGNxKXq6OJTrm2ZQMvbb0gBbvibUqvl2TWpo5tr18vFw0fZnleelZuZr5+0Et2hOrmeNC1NG3donyQ9UWn5yhV5ce0G97rXt9tW/qpZnjQtS2sZfSMnP0werD+nJDpLItFGL/sDVaf4ad1osj2mhUh8YymSxf+FNSGw7Ha+rC/Yo+d9FirJ1JurtXgJ4c3EpnkjM0/tO/dTYlo9DYRXti5epkrxljQ8olbwAoS3Q0BwAAAAAAAAAAAABUOhnZOfpg1WHd8P4Gq4rM63s46YNbO+qbu7tSZA7AZgIbeOibu7vqszu7qElty51482tax1Vf391VH/6rE0XmKJTJZNI9vQvvan4xM0fzt5+w+lh5dwh5Z51VReaujvZ6YXgbLXqol0KaeqmBp7M+uLWTvrmnm1Wdp8NPXdDYjzfplSVhSk4v/87TqFi5uYZ+3Batge+starI3M3JXi+PDNbCh3qpbWMvSZKrk72evyFISx/rrc7Nals8xtmUDD3+4x5NmL1NxxNSS3sKeRJSMvTET3t051fbrCoyb9u4lhY/3FsvjgiWu7ODAuq76/t7u6uOW9EXgczbdkKvLQ2XYdDZHCWXkC6dK/w6BqDMVWhH83vuuadC1jWZTPrqq68qZG0AAAAAAAAAAAAAQPG2RiZoysJQHY23rmDo1q6+ev6GINV2cyrnzACgIJPJpKFtfdS3ZQN9svaIPl0fqczs3GLn2NuZdG/vAD0+qKXcnCq0fAdVwKgOjfXmioM6m5JZ4Lk5m4/p7l7+crAvvt9oZHyKppTgDiEDWjfQa2PaqWmdghdv9WvVQH/+p58+WH1YX2yIVE4xnacN41KOK/bHadrothra1seq9VG1HDlz6fW1Lcq619egNt6aNrpdkRfoBPnU0i8P9NS87dF64/eDSk7PLvZ4Gw6f1ZD31uuxgS11X59AOTlcXf9dwzD0884YzVgersSLli+OcHW015ODWxX6M9jax1Nz7+mu277YouSMwvOfvSlKbk72enpo66vKFzVPdq6hv2JN+v2EnQI9DY3jQgXYQIW+U50zZ47Nb/1gGAaF5gAAAAAAAAAAAABQCSVezNTM5Qf10w7rurM2b+CuGWND1D2wXjlnBgCWuTrZ68khrXVjl6aa9tsB/XXwTKFxHZp6aca4kLwOvoAlLo72ur27nz5YfbjAcycT0/TngdMaFtKo0LmZ2bn6dN1RfbTmiMULICSpvoezXhkVrOEhjYqt67rceXp0x8aavCBUe04kFnvcuAvpuv/bnRoS3FDTRrdVI6+S3wEAlU9Gdo4+XnNUn6w9qswcy68vb09nTRvVVte387FYN2hnZ9Lt3f00OLihXlsabrFLekZ2rt76I0KL95zUjLEhusa/bonOJTI+RVMX7tffkQlWxfdv3UCvjW4n37pF30knpKmX5tzTVXd+tU0XM3MKjflozRG5Otnr4QEtSpRveTIMQ3+EndYXGyIVfe6i2jWupUeua6kufnUqOrUabe+JRD33yx4dPG0vSTqYZNKKA/G6pQfvJ1C+KsUlkVfe/sHWhecAAAAAAAAAAAAAgIplGIaW7I3Va0sPFNqtNT8nezs9PKCFHugfKGcHextkCADW86vnrtl3ddXq8NN6bekBHUu4KEmq5eKgJwe30p09/GVvR30MSub2a5sVWcw7e2NUoYXm24+d0+QFoTpyJsWqNf7VrZmevz5IXm6OVufVplEt/fpgT32/9bjeXBGhlCI6N1/254HT2nTkrJ4e2loT+Fmo0kpyBxqTSbq9ezM9e32QarlY//qSJG9PF334r066sXMTvbh4v06cSys2/tDpFN306d9Wv54zs3P12bqj+tDqizGc9PLIthrRvviLMS7r4ldXX064RnfN2V7k8d/6I0Kujva6p3eAxeOVt5OJaXp58X6tCv/nYqk1EfFaeyhet3dvpmeGBsnLtWT/D1E6KRnZevuPCM39+5jy30DivysjdX0HvxL9uw2UVKUoNL/8D65hGGZF5wAAAAAAAAAAAACAqxMZn6LMnFwF1Hev1MXY0QkX9cLi/Vp/KN6q+GsD6+r1sSFq3sCjnDMDgNIZ2Kahrgvy1qHTKTp/MVNd/OrI0d6uotNCFeXt6aKRHRrr110xBZ7bcfy89p5IVAff2pKkpLQs/XfFQf2wNdqqY7fw9tDMcSHqWsIO0JfZ25k0oYe/hgT7aNpvYfp9f1yx8amZOZr22wEt2n2S7v5VUNLFLM38PVw/brfuDjStGl56fXXxu7rX12X9W3vrz//006y/DuuL9ZHKzl9xm8+8bdFaeSBOL44I1qgOjQstCt/x/xdjHLb6YgxfPX99mxIX9fZsUV+f3dFF//52h7JyCs/71aUH5OZkr1u7NSvRsctKTq6hOZuP6Z0/Iwrtvm4Y0ndbovVH2Gm9NCLY6kJ7lM6fYXF6eUmYTiWlF/r8uYtZemNFuGaOa2/jzFCTVIpCc8MwZG9vr+uuu0633nqr6tYt3aYCAAAAAAAAAAAAAFfLMIwqXTSx50SiXl4Spr0nEiVd6qB78zW+urOHn/zquVdsclfIysnVlxui9MHqQ0rPstw9srabo6YMa6PxXZpW6f8/AGoWk8mk1j6eFZ0Gqol7evsXWmguSbM3Ren9WzpqeWicXvktTPHJGRaP52Rvp0eua6H7+5XNHUJ8vFz0yR1dtOrAab20eL9iiyiMvGxvTJJGfbRJk3oH6D+DWsrNqVKUsqEIhmHot32n9OpvYdbdgcbBTo8PbKn7+gTKyaFsLrJxdbLXc9cHaXTHxpqyIFS7ohOLjT+bkqnHf9yjX3bGaPqYdnnvhZPSsvTmioP63sqLMZo3cNfMce3VLeDq6xoHBHlr1q2d9PAPuwp0pb5s8sJQuTrZa3THJle9ztXYfzJJkxeEKvRkksXY+OQMPTpvd97fqW9dNxtkWPPEJaXr5SX79UfYaYux87ad0K1dm+VdbASUtUqxO5tMJuXm5mrVqlVav369hg8frokTJ2rYsGGyt6+8V9YDAAAAAAAAAAAAqB4ys3M1Z3OUFu2OVcz5i+oeWE8P9AssdedFW0pOz9I7fx7SN38f05U3kr6Qnq0vN0bpq01RGtDaWxN7+qtPi/qys6u4Yu3d0ec1eUGoDsYlWxU/tlMTvTC8jep5OJdzZgAAVF5tG3vp2sC62hJ5rsBzy/adUuLFLK2z8g4h3QPqasa48rlDyKDghrq2eT29++chzdkcVWRRrXSpi/Ln6yO1PPSUXhvTTgNae5d5Pii9E+cu6sXF+7U2wrrXV8/m9fT62BAF1C+fixyDfGrplwd6at72aL3x+0Elp2cXG7/h8FkNeW+9HhvYUs3quunVpQesvhjjoQHN9WD/5mVyMcYNIY309vgOeurnvWbv1y8zDOnJ+Xvl7GCv69v5lHo9S1IzsvXuykP6elPxP6eFWXcoXoPfW6fHB7bSvX0CuGNHGcnJNfTt38f09p+HlJJR/OtakjycL1180a4Jd4ZA+anQQvMJEyZowYIFSkm5dOsJk8mkjIwMLVy4UAsXLlT9+vV122236c4771Tnzp0rMlUAAAAAAAAAAAAA1dSOY+c0ZWGoDp1OyXts5YHTWnngtMZ0bKznbghSIy/XCszQsj/C4vTy4jDFXSi6c6hhSH8dPKO/Dp5RYH133dnDTzd2aapaLo42yzM5PUtv/RGhb7ccL7S4Jj+/em6aPqad+rRsUP7JAQBQBdzTK6DQQvPsXMOqInMvV0dNHdZG468p3zuEeDg76KWRwRrTqbEmLwhVWOyFYuNjzqfp7q+3a0T7RnppZLC8PV3KLTdbOJOcrtjEdAU2cLfpe62ylp2Tq9mbovTeysNKy8qxGF/HzVFThwfrxs5Nyv0ONHZ2Jt3e3U+Dgxtq+tJwLdkbW2x8Rnau3vojwurjdwuoqxljQ9TCu2wvxhjXuanSsnI0deH+Qp/PyTX06Lxd+mLCNepfjhderA4/rZcWh+lkYtpVHyM9K1f/XXFQi3af1IxxIeriV6cMM6x5DsRe0OSFoXl3prKkQ91cvXN7N7VowmcllK8KLTSfM2eOPv74Y/3yyy+aO3eu1qxZI+nSbTYkKT4+XrNmzdKsWbMUHBysu+66S7fffrt8fMr/ah0AAAAAAAAAAAAA1VtSWpb+u+KgftgaXWTMoj2x+iPstB7q31z39Q2Ui2PluiPzqaQ0vbQ4TCsPWL6l+pUiz6Zq2m8H9PYfERrXuakm9PBTy4ae5ZTlpd8B/xEWp5eXhOn0BcvdIx3sTLq/X6Aeva5lpfs7BwCgIg1s01B+9dx0POFiieeO6dhYL4wIVn0b3iGkfdPaWvxwL83ZfEzv/HnIYrHy0n2ntO5QvJ6/IUj/6tqsQu/AcjXOpWZqxvJwLdx9Ujm5hlwc7XRPrwA9NrDqvafZF5No1UUCl43r1ERTK+AONN6eLpr1r066sUtTvbAoVCfOXX3htHTpYowpw4I0votvub3+bu/up7TMHE1fFl7o81k5hu7/dqfm3N1NPZrXK9O1T19I17TfwrQ8NM6qeCcHO2Vm5xYbE3E6WTd+slm3dW+m54YGycut6l5cUREuZmbrg1WH9eXGKOVY0Vq+tpOh8QG5alfXkLcnd3xC+avw+xW4ublpwoQJWrVqlY4dO6bXXntNrVq1MosxDEMHDhzQs88+K19fX91www366aeflJFh+QsIAAAAAAAAAAAAALiSYRhaui9Wg95dV2yR+WVpWTl6Z+UhDXp3nX4PPZXXOKsi5eQa+npTlAa9s67EReZXSs3M0bdbjmvwe+t1+5db9EdYnFXFDSURm5im++bu1APf7bKqyLxzs9pa9lgfPTM0qMoVZAEAUN7s7Uy6q6d/ieb41nXVN/d00/u3drJpkfllDvZ2urdPoFY+2VfXBVnu0Jycnq2pC/dr/Gd/KyIu2QYZlp5hGPp1Z4wGvrNWv+yMyXs/lZ6Vq4/XHtWQ99Zrw2HLHecrg9SMbL362wGN+d8mq4rM/eq56btJ3fXuLR1tXmR+pX6tGujP//TTQ/2by+EqC8RHdWisVU/20y02uMjh3j6BempwqyKfz8jO1aRvtmtX9PkyWS8319C3W45r0DvrrCoyd3ey10sjgrXrxcF60Mq/0x+2Rmvgu+u0ZG9spfjMVBWsjTijIe+t12frIy1+DrMzSXd0bazJHXPUri5/v7Adk1FJf6K3bNmiOXPmaP78+UpMTJQkmUwmGYaRd1sNT09P3XzzzbrzzjvVp0+fCswW5SksLEzt2rXLG+/fv19t27atwIxqtgsXLuTdfUCSBgwYoFq1alVgRgAAoDyw5wMAUP2x3wMAUDOw5xcUc/6iXly0X2sirr7Q59rAunp5ZFu1aVQxf5dhsUmasiBUe2OSyuX4TWq76s4efrrlGl/VcXe66uPk5Br/3700Qhczi+9eKkmezg567oYg3dat6nUvBYCKxp5fs6RkZKvHjNVKzsguNs7ezqR7+wToPwNbydWpcly8ZRiGlofG6ZXfwhSfbN1dTu7rG6jHrmtZac4hv+MJqZq6cL82HjlrMXZ0x8Z60cZd5UtidfhpvbQ4TCcTLXcFd7Az6d99Aytlt/aIuGRNWRiqncetK9JuWsdV08e0U//Wli+EKEuGYejNPyL0ydqjRcZ4ujho3n3Xql0Tr6teJyIuWZMX7NOu6ESr4ge1aahXR7dV49queY8djLugKQtCrT5G31YNNH10OzWr53YVGVd/8ckZenXpAf22N9aq+LaNa2nmuBD517Jjv6+BKrqGtsI7mhfl2muv1aeffqq4uDj9+OOPGjZsmOzsLqV7uTb+woUL+uqrr9S/f381b95cr776qqKioioybQAAAAAAAAAAAACVUHZOrr5YH6nB764vVZG5JG2JPKfhszZo6sJQnUvNLKMMLbuYma0Zy8M16qNNVhWZN/Zy0VODWynIx7NE65xMTNMbvx/UtTNX69lf9mr/yZIXtO8/maQx/9uk15YesKrIfHhII61+qp/uuNaPInMAACzwcHbQLV19i43p4Ftbvz3SW5NvaFOpCrRNJpOGt7+87zeTycK2n51r6JO1RzXk/XVad6hydQTPysm9lNt7660qMpekxXtiNfCddfppe7Ryy/guMqVx5kK6Hv5+lyZ9s8OqIvOOvrW19LHeevb6ynkHmtY+nvr5/h6aOS5EtVwcioyztzPp/r6B+vOJvjYvMpcu/Tw8O7R1sXcpSE7P1oTZ23T4dMm7+6dn5ejNFQc1fNYGqwrEG9Zy1qd3dNYXE7qYFZlLUpBPLf3yQE+9PradPIv5O71s/aF4DX5vnT5ee0RZObklzr26ys01NG9btAa+s9aqInNXR3u9MLyNFj/cS+2b1i7/BIFCVNqO5oU5ffq0vvvuO82dO1ehoaGS/ulyfvm/JalXr16aOHGixo8fz9Ua1UBFX40Bc1wFDQBAzcCeDwBA9cd+DwBAzcCef8m+mERNXhCqsNgLVsU38HS2qsOmJNVycdATg1vpjmv95Ghffn2+1kSc0QsL91tV+GNnku7qGaCnhrSSu7ODDMPQ9mPn9c3mY1oRFmfxluyFucavjib09NcN7XyKPc/UjGy9t/KQZm+KkjXLNKntqtfGtNV1QQ1LnBMA4B/s+TVPbGKahry3Xin5upq7O9nrmaGtdWcPf9lXgYu3dh4/rykLQhVhZRHtyA6N9eKINvL2dCnnzIq350Sinv91nw7Glbz497Ju/nU1Y1w7tfAu2UWBZSk319C87dF64/eDSk4vvkO+dOkih2evb63bu/tVideXdKlz9PRlB7R4j3lRb/umXpo5LkRtG199p/Cykptr6PkF+zR/R0yRMd6ezpp/fw/513e36pgbDsdr6sL9ij530WKsySRNuNZPTw1trVoujhbjzySn67Wl4VZ3427V0EMzxoboGv+6VsVXV4dPX+q0v/2YdZ32rwvy1quj26ppnX+6wrPf10wVXUNbpQrNr7Rnzx7NmTNH8+bNU3y8+dVqlwvOXV1ddfbsWbm4VOwbC5RORf+QwBybFQAANQN7PgAA1R/7PQAANUNN3/NTMrL1zp8R+mbzMauKnpvWcdX0Me3Uq0V9fb/luN5deUgXrCi4kaQW3h56aUSw+rZqUMqszZ1JTtervx3Q0n2nrIpv16SWZo5tr5CmhRfMnEpK0w9bozVvW7TOppS8G7u3p7Nu695Mt3VvVqDA66+Dp/XiojCri+Hv6RWgJwZfKoYHAJROTd/za6q/Dp7Ws7/s09mUTNmZpKFtffTiiOACnYgru8zsXH2xIVKzVh9WRrblzseeLg56/oYg/atrM5vfCSUlI1tv/xGhb/4+prKounO0N+nBfs310IAWNu8Mfuh0sqYsCNWO49YVvQ5t21DTRrWTj1fVrMXbGpmgX3bGKC0rRwPbeGtUhyaVqlg+J9fQEz/t0ZJiireb1HbV/Ad6qEkxP+NnUzI0fekBLdpjXRF4kI+nZo4LUadmdUqc89qIM3px8X6dOGf5/b8k/atbMz1/fZC83CwXs1cn6Vk5+t+aI/p03VFl5Vj+h6OBp7NeGdlWw0J88mphL2O/r5kquoa2yhaaX5adna3ly5frm2++0bJly5SVlSVJMgxDJpNJycnJcnNzs3AUVGYV/UMCc2xWAADUDOz5AABUf+z3AADUDDV5z1954LReWrxfp5LSLcba25l0b+8APT6opdyc/il6PpeaqfdWHtL3W49bVaguSYPaeGvq8GAFWNlpsCi5uYZ+3H5Cb/weblWxu5uTvZ4c3Ep39fSXgxWd1TOyc7Q89JTmbD6uvScSS5yfo71JN7RrpIk9/eVbx1XTfjugZaHWFcOHNLnUPbJdk4rvHgkA1UVN3vNruouZ2TqecFF13Z3UsFbVLAC+7HhCql5YtF8bDp+1Kr5zs9qaMS5EQT62ea2vOnBaL1r5/tLR3qQezetr/aF4i7GSFFDfXa+PaaeeLeqXNk2LSlr06lPLRdNGt9XQtj7lnltNl5WTq4e+36WVB04XGeNfz03z7+8h73w/74Zh6OcdMZrxe7gSL2ZZXMvF0U7/GdRKk3oHlOrOTGmZOfrwr8P6fH2ksq340FTfw0kvjgjWqA6NCxRRV0ebj57V1IX7FXU21ar427s307PXB8nLtfBifPb7mqmia2ir/KXhDg4OGjVqlIKDg+Xj46NPPvmkRvwDBAAAAAAAAAA1XU6uoR3HzulIfIqCfDzVybeOzTuZAQAqn7ikdL2yJEwrwuKsiu/Q1EszxoWobeOCRc913Z302ph2uv3aZpq25ID+jkyweLxV4We07lC87ukdoEcGtJCnFbeez6+k3SUHBnlrWr5bqlvi7GCvsZ2aamynptpzIlFzNx/T0n2nlJljuYuoJGXlGFqyN1ZL9sbK0d5kVZGSm5O9nhrSWhN7+FlVDA8AACxzc3JQm0bVo8jQr5675t7TTUv2xuq1pQcs3n1lV3SiRszaqPv6Buqx61rK1al8OoKfuZCuV34L0/JQ695fXuNXRzPHhahlQ09tizqnKQtDdeRMSrFzos6m6rYvt+rGzk01dXgb1XV3KovUCyhJ0avJJE3s4a+nhrS6qve0KDlHezt9dFsn3fvNjiIvuDiWcFF3fLVVP/67R97r5Gh8iqYsCNXWqHNWrdO3VQNNH91OzeqVvoGvq5O9nr0+SKM7NtGUhaHaaeEzzNmUTD3+4x79sjNG08e0k1+90l2gW1mdS83U68vC9euuGKviWzX00MxxIeriV7ecMwNKrkoXmiclJenHH3/U3LlztWXLFkmiyBwAAAAAAAAAaoBd0ec1ZUGoDsYl5z0WWN9dE3v668YuTeXhXKW//gYAXIWcXEPfbz2uN1dEKCXDcgdwdyd7PTO0te7s4S97CxcqBfnU0g/3ddcfYXGavixcMeeLvzV8Vo6hz9ZF6tedJ/Xs9a11U+emVl0MlZ6Vo4/+OqLP1lvXXdLb01mvjGqrG9oVvKV6SXT0ra2Ot3TUlOFt9OO2aH23JVpxFyx36rzMmlwHtWmoV0e3VeParledJwAAqP5MJpNGd2yi/q289caKg5q3LbrY+OxcQ5+sPaql+2L12uh26t/au8xyyc01NG97tN74/aCSrbjDjKezg54fFqR/dW2W996vW0BdLX+sjz5bd1QfrjmizOziL+r7dVeM/jp4WlOHB+vGzk3KrBbufGqmZiwP1887rSt6DfLx1MxxIerUrE6ZrA/rOTvY6/M7r9HEr7dpWxGF44dOp2jC7K2ac3c3fbfluD5ec9SqC0bLs5t4ax9P/Xx/D6vvyrTh8FkNeW+9HhvYUvf1CZSTQ/W4ENUwDC3YdVLTlx3QeSs6yzs52OnxavZ3gOqnyn3TnpOTo99//11z587V0qVLlZGRIenSD6jJZJJhXPoSo0mTJrrjjjvk4lK1bwkDAAAAAAAAAPjHhfQsvbUiQt9tPS4jX01b5NlUvbwkTG//EaHx1/hqYk+/atsVCQBgLvzUBU1eEKo9JxKtih/atqFeGdVWjbysL3o2mUy6vl0j9W/tra82Rumjv44oLSun2DlnUzL07C/79N2W43p5ZFt18Su6UGfzkbOasjBUxxIuWpHLP7dUr1WG3SXrezjrketa6oF+zfXngdOas/lYkcUt1mpYy1nTRrXV0LalK4YHAAA1i5ebo2aOC9GNnS91ST50uviO4CfOpemur7drRPtGemlksLw9S1czduRMsiYvCNX2Y9bdYWZYiI9eHtlWDWsVXNfJwU6PDmyp4e0b6YVF+7X5aPF3yTl/MUtP/7xXv+6M0etj2ymwgcdVnYN0qaZu8Z5LHeITUovvEC9Jzg52+s+gVrq3T4AcuQNNhXF1stfsu7rq9i+3am8Rn3H2n7ygnjP/svqORLd29dXzNwSptlv5dMuXJDs7k27r3kyDgr01fWm4luyNLTY+IztXb/0RocV7TmrG2BBd41+1u3lHnU3VC4tCtemI5TthSVKvFvX0+pgQ+dfn+0tUblWm0Hz37t2aO3eu5s2bp/j4eEkFi8tdXV01duxYTZw4UQMHDuSLCgAAAAAAAACoJgzD0Ir9cXrltzCdvpBRbGxyRrZmb4rS15ujNDDIW3f1DFCvFvX4zhgAqqG0zBx9sPqwvtwQqexcy121fWq56NXRbTWkrc9Vr+niaK+HB7TQjZ2b6r8rDmrh7pMW5+yLSdKNn2zWmI6N9dwNQWYF7udSMzV92QEt2GX5OJLUuqGnZowLKbZovbQc7O00LKSRhoU0UvipC5r79zEt3H1S6VnWFbFIl4rh77zWT08PbV2mxfAAAKBmuca/rpY+2kdfbozUB6sOK8NCR/Cl+05p3aF4PXd9kG7r1syqu8pcKSM7Rx+vOaqP1x6x6q4tjbxc9Orodhoc3NBibGADD31/b3erux3/HZmg69/foIcHtNAD/QPl7GBv9XlIUnTCRU1dFKoNh89aFd+nZX1NH9OOi/YrCQ9nB829u5tu/WKLwk9dKDTGmiLzFt4emjE2RN0CbFfE7e3poln/6qSbujTVC4v2K/pc8RfTHjqdops+/Vv/6uar564v32L48pCZnasvNkTqg9WHLd61QJLqujvpxRFtNKZj2d21AChPlbrQ/NSpU/ruu+/07bffKiwsTJLyisqv1K9fP02cOFE33XSTPDyu/gouAAAAAAAAAEDlE5uYppcW79eq8DMlmmcY0qrwM1oVfkYtvT00sae/xnVuIjenSv3VOADASusOxeuFRaE6cS7NYqzJJE3s4a+nh7aWh3PZ7AM+Xi5675aOuuNaP736W5j2xiRZnLNoT6z+CDuth/o31319A7V03ym9buUt1Z0d7PTYwJb6d99Am3aXbNOolmaOa6/nr2+j+TtOaO6WYxb/zoN8LhXDd25WfsXwAACg5nBysNND/VtoeMiljuCWCqeT07P1wqL9WrArRjPGhSjIp5ZV62yNTNDkhaGKjE+1GHu17y9NJpNu7NJUA4K8NWN5uH7ZGVNsfGZOrt5bdUhL9p7UzHHtrSoWzsrJ1Vcbo/T+qkNWXShY191JL40I1uiOjSl6rWS83Bz17aRuuuWzv3XUitfllZzs7fTIdS10f7+SX6RQVvq2aqA/n+irD/86rM/WWb44eN62E/oz7LReqEJF2DuPn9PkBZbvunDZ+C5NNWVYG9Vxr1rF9KjZKt236enp6VqwYIHmzp2r1atXKzf30mZ3uXv5ZS1bttSdd96pO++8U35+fhWVLgAAAAAAAACgnOTkGpqz+Zje+TNCFzNzSnWsw2dS9MKi/XpzxUHd2q2Z7rzWT7513cooUwCALcUnZ+i1pQcs3ob9sjaNaumNcSHq4Fu7XPLp4ldHCx/qpQW7T+q/Kw4qPrn4O2+kZeXonZWH9Om6o0q1cn+rDN0lvdwcdV/fQN3TO0BrI87om7+Pa/2heLMYF0c7PT6wle7tE2DTYngAAFAz+NVz19x7uum3faf06m8HdDal+Pddu6ITNWLWRt3bJ1CPD2wpV6fCi22TLmbpjRXhmrfthFV5BPl46o0b26tjKd5f1nV30tvjO+jGzk01dWGoIs8WX0R8ND5VN3/2t265xleThxXd8XnPiUQ9/+s+HYxLtioPil4rv/oezvr+3mt182d/W+wMftm1gXU1Y2yIAhtUfNNeF0d7PTM0SKM7NtGUBaHacfx8sfEJqZl64qe9+mVnjKaPCVFA/crZYf9CepbeXHFQ32+NViG9kwsIqO+u18e2U8/m9cs/OaCMVZpC83Xr1mnu3Ln65ZdflJJy6eqOy8Xll7uYe3l56eabb9bEiRPVo0ePikwXAAAAAAAAAFCO9p9M0uQFoQo9abk7bElcSM/W5+sj9eWGSA0Obqi7egbo2sC6VaJDEgDUdLm5hubvOKGZvx9UUprlDuCujvZ6YnBL3dMrQA7lXPRsZ2fSTV2a6vp2PvroryOavTHK4m3srSkyr+fupP9j767DozjXNoDfsxtX4iHuvri7uySpUSq01NtT7+kpDgVCqZx6T1toC/WWkuDu7hZPiLsS192d7w8+KJSQHSDJbpL7d129mmSemXk2JLvZ3Xued4GOTZeUywSMDnTA6EAHpBRVYcP5HCQVVMLfwRwP9HHlhVxERETUqgRBwLTuThjua4eVOxPw68nMZuuVahFfH0zBlku5WBoagpH+9te3iaKIrdF5WLxJc2gduLrCzGtjWvaiuoHeNtj26lD870AK/ncgRePfkH+cycKe+IJb/kasqlfiw52JWHs8naHXDsjR0gi/PN0fD35zHHnldbet62Kij3mTAnF/bxedef5wjZ+DOf58biD+OJOFFdviUVGnbLb+6OUSjP/kEF4a4YPnR2hvKvs/iaKIHTH5WLQpFoUaLjIGAH25gBeGe+PFkT4w0teN20B0p7QaNE9OTsaPP/6In3/+GZmZVx/0/xkul8vlGDduHGbNmoVp06bB0NBQmy0TERERERERERERUSuqrlfi491J+P5oGjSspgsAcO5ijLcn+CMxvxK/ncrElRrNwUMAUIvAztgC7IwtQICjOZ4c7IHpPZz5hg8RdSh1jSp8fzwL6y9dvW/rZavGYGXzwRVddbmwEnOjYnAqrVRS/Qh/OyydHtLmoWczQz28MzEAM/q6Yvm2eOyOK7jrYz3YxwVzJur2dElvOzO8Oc5f220QERFRJ2Rpoo+IMAXu6+WMuZExSCxofoJ39pVaPPnDaUzu1hWLpgShUS1iwYYY7EsolHS+IT62WB7WOivMGOnL8fpYP0zt7oS5UdEa/+YtqW7Aa39cwPpz2VgWGoLE/Eos2hTbbAD5Gn25gOeHe+Mlhl7bHVdrk/8Pm59o8sKI8J7OmDc5EDZmupuvlMkEPNzPDWMCHbB8axw2XGh+laoGpRof70nCxos5WB6qwEBvmzbqtGm5ZbVYuDEGe+Kl3W/09bBCRJgCvg7mrdwZUesSRFHKNUytQyaT3RQqv1H37t3x+OOP45FHHoG9vX0Te1NnERsbi5CQkOufx8TEIDg4WIsddW4VFRXYv3//9c9HjhwJCwsLLXZERERErYGP+URERB0fH+9JF+1LKMCCDbHIKavVWCsTgKeGeOK1MX4wNbw6U6WuUYWNF3Lww9F0yUtE36iLiT4e7ueGxwa4w6mL8R3vT0SkS45eLsa8qGikl9y8tLq7tTHeu6+71t+gl6peqcJX+6VNdwSuLiu/aGoQpnTrqhMT/A4nF+HdzXFILqySvI+XnSkiwhQY4NU+/o2IiEg38Hk+dWaNKjVWH07Dp3uTUNeo+W9GcyM9qNQiaiSsMGNloo8FU4IQ1tO5Tf6+FEUR685kY/m2eEmr+OjJBCilXKkPoLe7FVaEK+DH0Gu7drmwEq/+fgGxuRUAAF97MyyaGowhvu1vOv3h5CLM3xCDjH88b72d+3q5YN7kQFi38cW4KrWItcfS8dGuREkrU1kY6WHOpEA81McVMlnL3m/w8b5z0naGVqsTza+59iDs4OCAmTNnYtasWVAoFFruioiIiIiIiIiIiIjaQmFFHZZsjsPW6DxJ9QpnS6wIVyDE2fKmrxvpy/FQXzc82McVJ1JLseZYGnbHFUiajA4AZTWN+N+BFHx7KBUTgh3xxGAP9HG30omgIhGRVCVV9Vi+NR6R53Oa3J5RWouHV53Q2hv0d+JkagnmRkUjpahaUv3D/dzwzoQAWJrot3Jn0g31tcO2V4filxMZ+O/upGaXhzeQy/DCCG+8ONJbZ5aFJyIiImoP9P//76jJiq6YvzEGh5KKmq2vbOZvshuF93LG/MlBbfo3syAIeLCvK0YF2mP51nhE3ebv+mukhMzNja6uuvNwX7cWD71S2/OxN8fGlwYjvaQGKrUIPwezdvva1VBfO+x8bRi+2HcZ3xxKQaOq+Z/n9eeysTehAHMnBeKB3i5tcrtjc8sxNzIaF7PLJdVP7e6EBVMCYW9u1MqdEbUdnQiai6IIuVwOW1tb7Nu3D/v27WvV8wmCgLNnz7bqOYiIiIiIiIiIiIioeWq1iF9OZeL97QmorNf8Jq+JgRxvjfPHrEEekDfzxqggCBjobYOB3jbIKq3Bzycy8NupzGbDfTdSqUVsjc7D1ug8hDhb4IlBnpjSrSuXlCYinSaKIv46m42IbfG4UqN58uH6c9nYl1CAeZODcF+vtpnOKFV5TSNWbI/H76ezJNX72pshIlyBvh7WrdzZ3dGXy/DEYE9M6+GMj3cn4ZeTGbdcBNXP0xoRYQr42Jtpp0kiIiKiDsDNxgRrn+yLzZfy8O7mOBRX1d/dcaxNEBGm0OqEaFszQ3z8UI+rF4huiJY88fmfJiu6YtHUINhbMPTakejJZR3muYORvhxvjfdHaE8nzI2Mwan00mbry2oa8fZfl64+/w0LgY9960zor2lQ4tM9yVh9JA0qCRd0OHcxxrKwEIz0t2+Vfoi0SSeC5gCgVqsRGxsL4OoLYa1BEASIoqhTL5QRERERERERERERdUaJ+ZWYE3kJ5zLLJNWPCXTAu9OD4dTF+I7O42ptgjmTAvHqGF9Enc/BmqPpSC6skrx/TE4F3lp3ESu2xWNmfzfMGuQBWzPDO+qBiKi1pRZVYV5UDI6nltzRfldqGvHWuov462wWlocp4G2n3aCCKIr/HwqKRXFVg8Z6Az0ZXh7pg+eGe8NAT9YGHd4ba1MDLA0NwSMD3LD6cBpOppXAw8YUoT2cEdbTmdMliYiIiFqAIAiY1t0Jw/3s8P6OBPxyMlPyvnKZgGeHeeGVUb4wNtCNi82H+Npen/j89cEUSRPMAcDJ0gjvTg/BmCCHVu6QqGX42Jvj92cHXA2Qb49HmYYLqE+llWLip4fx/HBvvDTSp0UHRBxILMT8DTHIvlKrsVYuE/DUEE+8NsYXJgY6E8clalE68ZP9z+A3g+BEREREREREREREHVNdowqf7U3Gt4dSJb056mBhiCXTgjE+2PGeXjs2MdDDI/3dMbOfG45eLsGaY2nYm1AIqXNPSqob8Pm+y1hzNB1vT/DHI/3dGQgkIq2rV6rwzcFUfLH/MhqU6rs+zonUUkz85DBeGOGNF0Z4a2UFh6zSGszfEIODSUWS6gd62WB5WAi8tByOvxsBjhb48IHu2m6DiIiIqEOzNNbH8jAFwns5Y25kDBILKput7+5iiRXh3RDkZNFGHUp3beLztB5OmBMZjbMZV25bKxOAJwZ54s1xfjA11IloIJFkMpmAB/u6YnSgPSK2JWD9uexm6xtVIj7fdxmbLuZiWWgIhvra3dP5iyrrsXRLHDZdzJVUr3C2xIpwBUKcLe/pvES6TuuPJq01vZyIiIiIiIiIiIiIdMuR5GLJyz0LAvDYAHe8Nd4fFkb6LdaDIAgY4muLIb62yCipxtpjGVh3JguV9UpJ+1fWK7FgYywiz+cgIkyBwK669wY0EXUOp9JKMTcqGpfvYJWG5jSo1Ph0bzI2X8zFsrAQDPK2bZHjaqJUqfH90TR8vDsZtY0qjfVWJvqYNzkI9/Vy5vAqIiIiItKot7s1trwyBKsPp+HTvUmoa7z5Ak1Tg6sh7scHekCu4xeU+zmYY91zA/H76Sys2B6PyrqbX8sI6mqB9+5ToJtLF+00SNRCbMwM8dGD3XFfb2fMj4pBanF1s/UZJTV47LtTmNbdCfOnBMLe3OiOzieKIv48k4WIbQkor21+kjoAmBjI8eY4f8wa6A49ue6vrkV0r7QaNE9LS9Pm6YmIiIiIiIiIiIioDZRU1WPZ1nhEnc+RVB/gaI6IcAV6uVm1al/uNqZYODUIb4zzQ+S5bKw5mq7xjatrzmeWYernR/D0UC+8Olp3ltQmoo6vvKYR7+2Ix2+nsiTVe1gbY2rXSoiigD9TZSisaz48k1pcjZmrTuK+Xi6YNzkQ1qYGLdF2ky5ll2FOZDRicysk1Yf3dMa8yYGwMTNstZ6IiIiIqOPRl8vwwghvTOnWFe9tT8DO2HwIAjAxpCvemRgApy7G2m5RMplMwMz+bhgTZI8v913G/sQimBrqYUZfVzzS342hV+pQBnnbYvtrQ/H1gVR8eUDzSl6bLubiQGIh/jMxAA/3dZO0GmFKURXmRkbjZFqppJ5GB9jj3dAQOLej+w2ie6XVoLm7u7s2T09ERERERERERERErUgURaw7m42IbfEoq9E8DchIX4bXxvjhqSGe0G/DN0bNDPXw+EAPPNrfHYeSi7DmWDoOJBZp3E+pFvH1wRRsjc7FslAFhvvd2/K8RETNEUURmy7mYumWOBRXNWisN5DL8OJIbzzayx5HDx8EIOI/3VW4bOCF745lo0HV/Bv0689lY19CAeZOCsT9vV1adHp4db0SH+1KwppjaVBLWPzY3cYEy0MVGOLbNlPWiYiIiKhjcrU2wZeP9ELj//8t3JavPbQ0e3MjLJkegiXaboSolRnqyfHqGF9M7d4V8zfE4FhKSbP1FXVKzIuKwfqz2YgIVyDAsenVCOuVqqsB9v2XNT4/BgA7c0MsmRaMiSGOXF2LOh2tBs2JiIiIiIiIiIiI6G9qtYgL2WWobVCht7sVjPTb75TslKIqzIuKxolUadOAhvnZYdn0ELjZmLRyZ7cnkwkY4W+PEf72SC2qwtpj6fjrbDaqG1TN7pdVWotZ39/98rxERJpkldZg3oYYHErSfBEMAPT3tEZEuALedmaoqPh7WrieDHhhqDvu7+cp6T76Sk0j/v3XJfx1NhvLwxTwsTe7p9sBAHviCrBwYwxyy+s01urJBDw7zAuvjPZt14+JRERERKRb2nPAnKiz8rIzwy9P98eGCzlYtiUeJdXNX4B9LrMMkz87gqeHeuLV0b4wMfg7KnsqrRRzIi8hpUjayoaP9HfD2xMCYGmsf0+3gai9YtCciIiIiIiIiIiISAccTynBgo0xuFxYBQCwNNbHW+P98Ug/acu86oo7nQZka2aABVOCMK27k05NA/KyM8OS6SF4c7w/fjqegc/3JaOuUdryvO9MDMSMvq7t6t+NiHRTo0qN746k4ZM9SRrvg4Crjx3zJgfiAQ0TyL3tzPDbMwOw/lwOlm+NwxUNq06cTCvFpE8P4/kR3nhxhPddhb4LK+qweHMstkXnS6rv6dYFK5qZPkdERERERESdiyAICOvpgpH+9nhvewJ+P53VbL1KLeKbg6nYcjEPS0OD0dvNGu/tiMdvp5rf7xpfezOsCFegj4d1S7RP1G4xaE5ERERERERERESkRVeqGxCxLR7rzmbf9PXy2kYs2BCDyHPZiAhTILCr7gft7nQa0Iy+rnhnYgC6mBi0cmd3z8JIHy+N9Lk6rXxDDA5qmCZcUafE3Kjoq/9u4Qr4OZi3UaedT6NKjaLKelibGrT7Scd55bVIK66Gj50Z7C04EZ+uupBVhnfWX0JCfqWk+tAeTpg/JQi2ZoaS6gVBwP29XTAqwB4R2+Lx1z8eh/6pQaXGZ3uTseViLpaFhWCQt62k86jVIn49lYmVOxJQWafUWG9mqIf/TPDHzP7ukPOCHSIiIiIiIvqHLiYGeO++brivtwvmRUUjqaCq2fqcslrMXnMGpgZyjSsXAoCBngyvjPLBs8O8YaDHFRCIGDQnIiIiIiIiIiIi0gJRFBF1PgfLtsajtJmlXs9nlmHK500v86orymsa8d6OBPx2KlNSvbedKVaEd0M/z/YzDcjV2gRrnuyLLZfysGRzHIqr6putP5NxBZM/O4znhnnjX6N82n0QWpcoVWqsOZaOrw+moLiqAeZGenhikAdeGtn+vs+5ZbVYsjkWO2MLrn9tkLcNZvRzw/hgBxjqta/bQy2jsq4RH+5MxI8nMiCKmuvdbUywLDQEQ33t7up81qYG+PCB7rivlwvmbYhGqoaLhVKLqzFz1cmr9ZMDYW16+4uFkgoqMScyGmczrkjqZUKwIxZPC4ajJS+4ICIiIiIioub19bDGlpeHYtXhVHy2Nxn1yuZXApMSMh/oZYPlYSHwsjNrqTaJ2j3de0eCiIiIiIiIiIiIqINLL67G/A0xOHK5WFL9tWVet17Kw9LpIRgZYN/KHUojiqLk4DUAGMhl+NcoHzw33KtdBmgFQcDU7k4Y5meHlTsS8OvJ5oP1jSoRX+y/jC2XcrEsVIEhvtKm/9LtRWeXY07UJcTkVFz/WmWdEp/vu4xNF3OxdHoIhvndXdi2LanUIn48no4Pdybe8ibnsZQSHEspQRcTfYT3dMHD/Vzhy8n4ncaOmHws2hSDggrN96l6MgHPDvPCK6N9W+Qii4HeNtj+6lD870AKvtqfggZV82/Qrz+Xjb0JBZg7KRAP9HaBIPw9fbyuUYUv91/G1wdT0KjSnJZ3tDDCu9ODMS7Y8Z5vBxEREREREXUeBnoyvDTSB1O7OWHBRs2rEd5OFxN9zJsUiPv/8fyWiLQUNI+NjUVwcLA2Tn1butgTERERERERERERdSwNSrXkCTtNyb5SiyfXnMZkRVcsnBoEBwvtTXzNvlKDBRtisD9R2ps3A7ysERGm6BDTgCyN9RERpsB9vZwxJ1Lz8rzpJTV49LuTCOvpjPmTA2FjZthGnXYc1fVKfLQrCWuOpUF9m8xqRkkNHv/+FKZ1d8L8KYGwN9fNicgxOeWYGxWNS9nlzdaV1TTi+6Np+P5oGnq7W+Ghvq6Y0q2rTq5qQPcut6wWizbFYndcgeZiAL3cuiAiXIEAR4sW7cNQT47XxvhhancnzIuKxonU0mbry2oa8fZfl7D+bDaWhyngY2+GYynFmBcVg7Ti5iejA4AgALMGeuDNcX4wN9JvqZtBREREREREnYybzdXVCLdGXx2KUVSp+QLua/iaHVHztPJqZI8ePfDoo49i8eLFcHd310YL12VkZGDhwoX49ddf0djYqNVeiIiIiIiIiIiIqOM6m1GKuZExSCyovOdjbY3Ow6GkIrw9wR8z+7tDLmu7KTtKlRprjqXjo11JqG3UvNxsFxP9JqfddgS93e9sed6o8znYn1iIuRMD8UCfjvf9aC174gqwcGMMcsvrJNVvupiL/YmF+M+EAMzs5wZZG/5+NKemQYmPdyfh+6PpUN0uLX8bZzOu4GzGFSzdHIdpPZzwcD83hDhbtlKn1Jaam27fFHNDPbw9MQCPtPLPtredGX57ZgAiz+Vg2dY4XKlp/j20k2mlmPjpIQzwssHhZGmrdQQ4mmNFuAI93axaomUiIiIiIiLq5ARBwJRuThjqa4cPdybi55MZEJt5CcbN2gTLw0Iw1Ff3V8cj0iatBM1VKhV+/PFH/PLLL3jooYfw73//G926dWvTHi5evIgPPvgA69atg1KpbNNzExERERERERFR+5RVWoOfTmTgQmYZPGxNMK27Mwb72DAsSs0qr23E+zsS8MvJTEn1HjYmcLU20RjUq6xXYsHGWKw/l4OIMAWCnFp2qm1TorPLMSfqEmJyKiTVd4ZpQNeW553SrSvmb4jR+O9WVtOIt9dfwl/nshHx/9N/qWkFFXVYvCkW22Py73jfyjol5m+IQeS57FaZ+nyn9icUYv6GGOSU1d7TcSrrlfjlZCZ+OZmJYCcLzOjnhuk9nGDBSdDtUmxuOeZGRuOihun217T1ahaCIOC+3i4YGWCPFdvise5sdrP1jSpRUsjcSF+G18b44akhntCXy1qqXSIiIiIiIiIAV1cjXBoagvBezpgbFYP4vJtfy5TLBDw7zAuvjPKFsYFcS10StR9aCZobGBigoaEBSqUSv/76K3799VcMGDAAzz77LO6//36Ympq2ynmrq6vx559/YvXq1Thx4gQAQPz/S1aMjHRzCU0iIiIiIiIiItK+RpUaqw+n4dO9SahrvDqx+FR6Kf48kw1fezPMGuSB8F7OMDHQysttpKNEUcS26Hws3hwraalWfbmA54d746WRPjDUk0le5vVCVhmmfnEETw/xxKtjfFvl57C6Xon/7k7CD0fTIGUQc2ecBuRuY4ofZ/fDxgu5WLolDiXVDc3Wn0orxaRPD+OFEd54YYQ3jPT5ptY1arWIX05m4P0diaisv7dBMecyyzD5s9b9/WhOYWUdlmyOw9ZLeS1+7NjcCizYEIOIrfGY3K0rHu7nil5uVrz4qR240+n2zl2M8e70YIwOdGiD7m5lbWqADx7ojvBeLpi3IRqpRdV3fayhvrZYHqqAm41JC3ZIREREREREdKueblbY/K/B+PF4Bn4+kYGiqnoM8LLBG2P9ENhVu0MJiNoTrbzzFRsbi9dffx1btmy5HvQ+ceIETpw4gRdeeAFjx47F9OnTMXLkSHh6et7TudLS0rB//35s2LABe/bsQX391TdlxBvWRJg6dSo+/vjjezoPERERERERERF1TOczr2BOZDQS8iub3J5cWIX5G2Lw/o4EPNTXFY8P9ICrNcNTnV32lRos3BiLfQmFkur7uFthRbgCvg7m1792J8u8qtQivjmUii2X8rAsNAQjA+zv9SZcty+hAAs2xEqaxNzZpwEJgoDQns4Y4W+H97Yn4PfTWc3WN6jU+HRvMjZfzMWysBAM8rZto051V0J+BeZERuN8Zpmk+mAnC8TmNj9h/8bfj6WhwRgV0PphXbVaxG+nM/He9gRU1mkOy5sYyPHSSB/klddi4/ncOwrY1zaq8NfZbPx19urFTw/1dUV4LxdYmxrcy02gVnIn0+1lAvDkYE+8MdYPpobav5htoLcNtr86FF8fSMWX+y+jQaWWvK+NqQEWTAnC9B5OvBiCiIiIiIiI2oyeXIbZQzwxe8i95VCJOjOtvCrl7e2NTZs2Yffu3Zg/fz5Onz4NURQhCALq6uqwZcsWbNmyBQDg7OyMPn36ICQkBP7+/nBxcUHXrl1hZmYGY2NjiKKIuro6VFZWIi8vD9nZ2UhMTER0dDTOnTuHnJyc6+e9do5rIfO+ffti+fLlGDNmjDa+DUREREREREREpMMq6hrx4c5E/HSi+YDv3/VKrDqchtVH0jA6wAFPDvbAIG8bhqk6GaVKjTXH0vHRriTUNqo01psb6WHOxEDM6OsKmezWn5Vry7yG9XLG3GYueLgmp6wWT645jcmKrlg4NQgOFne/kuOdTmLu7toFK8IUCHLiNKAuJgZ4775uCOvpjLlR0UjRMP03tbgaM1edxP29XTBvUiCsOmFAuLZBhc/2JWPVoVQoJUx4drQwwpLpwRgf7IjT6aWYFxWNpIKqZvfJKavF7DVnMEnhiEVTg+/p96M5SQWVmBsZjTMZVyTVjw6wx7uhIXDuYgwAmDspEFsv5eH301k4K/EY1yQXVmHZ1ni8vyMR44Id8HA/Nwz0smny/oXaVmFFHZZskX6fGuJsgRVh3aBwsWzlzu6MoZ4cr47xxZTuXTE/KgbHU0s07vNgHxfMmdg579uIiIiIiIiIiNo7rY4/GDt2LMaOHYvNmzdj5cqVOHbs2PVt18Lg2dnZyMnJwcaNG+/4+DdOLb/2hp4oihg8eDDeeecdTJ48+R5vARERERERERERdTSiKGJHTD4Wb45FQUX9XewP7IkvwJ74Avg5mGHWIA+E9XSGiYH2J5FS67qUXYY5kdEapytfM7W7ExZMCYS9ueaway83K2x+eQi+O5KGT/Ykoa6x+SmyW6PzcCipCP+e4I9H+rtDfgchU7VaxO+ns7Bie7ykScymBnK8PSEAjw64s/N0Bv29bLDt1aH45mAqvtinefrvX2ezsS+hEPMmBSK8l3OnuVDlUFIR5m+IQWZpjcZaQQBmDfTAm+P8YG6kDwDo62GNLS8PxarDqfhsbzLqlc1/n7dF5+NQUjHeGueHxwZ6tNjPbV2jCl/su4xvDqWgUaU5LG9vbojF04IxMcTxpn9rEwM9PNDHFQ/0cUVSQSX+OJ2FyHPZuFLTKLmXBpUaWy7lYculPLjbmODBPq54oLcL7FspXE+3p1aL+PVUJlbukD7d/s1x/pg10B16clkbdHh3vO3M8Osz/RF5LgfLtsY1+fPpZWuK5WEKDPS20UKHRERERERERETUEgRRlDKPqW2cO3cOX375JdavX4+Kiqtvxtz44qrUVpvax8LCAvfffz9eeOEF9O7duwW7ptYWGxuLkJCQ65/HxMQgODhYix11bhUVFdi/f//1z0eOHAkLC06pIiIi6mj4mE9ERJ1VblktFm6MwZ74whY9roWRHmb0c8NjA9zham3Sose+W3y8bzlV9Up8tCsRa4+lQ8IgZrhYGWNpaAhG+tvf1fmySmuwYGMMDiQWSarv7toFEWEhCHbSPBU3uaASc+5gEvPYIAe8Oz0YXS2NJdV3ZqlFVZgncfovAIT3dMbK+7tBX4eDpvequKoeS7fEYeOFXEn1gV0tsCJcgR6uXW5bk1lSg/kbY3AoSdrvRzcXS0SEKRDifG9To49eLsa8qGikl0gLyz/a3x3/nuAPi/8Py2tSr1RhZ2wBfj+ViWMp0n6G/kkuEzAqwB4P93PFcD97XhjSBpL+/z5V6mT6MYH2WDL97+n2LaW1H/NLqxvw3vZ4RJ7LgVItwsRAjqeHeOLFkT4w0pe32HmIiIioeXyeT0RE1PHx8b5z0naGVqfGKPXq1QvfffcdvvrqK2zduhVbtmzBrl27kJt764vM/5zkcmMI/drHTk5OGDduHCZPnowpU6bA0NCwdW8AERERERERERG1Syq1iDXH0vHRrkTUNKg01psYyFHXqJIUKgaAijolvj2UitWHUzE60AFPDvLAQG+bTjOtuCPbHVeARRtjkFtep7FWLhPw9BBPvDrG954m3Ltam+CHJ/piW/TVyftFlc1P3r+YVYZpXxzFU0M88dptzl3XqMJX+y/jfwelTWJ2sDDEkmkhmBDieNe3o7Px+v/pv+vP5WD5bab/3ijyfA7Kahvx5cxeMDboWEFNURSx7kw2lm+LR3mt5indRvoyvD7GD7OHeGoM3rvZmGDtk32x5VIe3t0Sp/H341J2OaZ9cQRPDPLEG+P8YGZ4Z7+bpdUNWLY1DpHnciTV+zuYIyJcgd7uVnd0HkM9OaZ1d8K07k7IKKnGH6ezsO5stsbbdyOVWsTuuALsjiuAv4M5lkwPxgAvTppuDXcz3X7JtGBM+Md0+/bC2tQA79/fHW9PCEBeWR08bE2urzhARERERERERETtm04Fza8xNDREeHg4wsPDAQCpqak4e/YsLl26hLS0NGRlZaG8vBw1NVcng5iYmKBLly5wdXWFh4cHunXrht69e8PLy0ubN4OIiIiIiIiIiNqBmJxyzImMRnROuaT6yYquWDQ1CPVKNX4+kYHfT2dJCkoCgFrE9ZCfn4MZnhjkidCeTvcUOibtyC+vw+JNsdgRmy+pvruLJSLCFZKmikshCAImd+uKoX62+GBHIn4+mYHmFoRUqUV8eygVWy/lYWloMEYFOFzfdjylBPOiopFaXC3hvMBjA9zx1njpk5jpb4Ig4P7eLhgVYI/lW+Ox/lx2s/X7Egrx2Hcn8d2svrA06Rjf75SiKsyNjMbJtFJJ9cP97LAsNOSOVoMQBAFTuzthmJ8dPtyp+fdDLQLfH03D9pg8LJ4WjPHBmi+gEEVR8kUDAGCoJ8OrY3zxzFCve55S725jircnBOD1sX7Yl1CIP05n4UBioeSLnwAgsaASM749gWndnTBvciAcLIzuqSf6W2tPt9dltmaGsDXj0CciIiIiIiIioo6kXbyD5eXlBS8vLzzwwAPaboWIiIiIiIiIiDqI6nolPt6dhO+PpkkK5zl3Mb4loDtnUiBeG+OHDRdysOZoOhILKiWfP6mgCnOjorFyRwJm9HXFowPc7yhISdqhUov45WQG3t+RiKp6pcZ6UwM5/j3eH48N9IBc1vJTai2M9LE0NAThvZwxJzIaCfnN/wzmlNVi9pozmKRwxKuj/fDdkVT8eab5sPM1/g7mWHGfAr3c7mwSM93K2tQAHz3YHff1dsa8qBikNRPyP5NxBQ99exxrZ/dr12HgeqUKX+1Pwf8OpKBBpdZYb2tmiEVTgzClW9e7nvBsaXxnvx955XV47qezGBvkgCXTguHUxbjJutSiKsyLisHx1BJJfQz1tcWy0BC425je8W1ojr5chvHBjhgf7IjcslqsO5ONP89kIaesVvIxNl3Mxd74Arw6xhdPDtY8MZ5ur6SqHsu3xiPyvLTp9gGO5lgedufT7YmIiIiIiIiIiNpSuwiaExERERERERERtaR9CQVYsCFWUhhPJgBPDfHE62P9mpw8bmwgx8P93DCjryuOp5ZgzdF07IkvkDxZtry2Ed8cSsWqw6kYE+iAJwZ7YKCXzV0HK6n1xOdVYE5kNC5klUmqHxfkgCXTg9HVsumwakvq6WaFzS8PwQ9H0/Dx7mTUNqqard8WnY9t0dKmsbfkJGa62SBvW2x/dSi+OpCC/x24jEZV03ccCfmVuP/rY/hpdn942LZsWLktnEgtwdyoaKQWaZ6aDwAP93PDOxMCWmyK+53+fuyOK8DRy8V4Y6wfnhjkAb3//7lvUKrx9cEUfLH/MhqUmsPyNqYGWDAlCNN7OLX6fbpTF2O8OsYX/xrlgyOXi/H7qUzsjiuAUsKDUXWDChHbEvDnmWwsmRaMwT62rdprRyOKIv46m42IbfGSp9u/NsYPTw9lsJ+IiIiIiIiIiHQfg+ZERERERERERNRpFFbUYcnmOGyNzpNUr3C2xIpwBUKcLTXWCoKAQd62GORti6zSGvx0IgO/n8pERZ3mqdcAoBaBXXEF2BVXAH8Hczwx2AOhPZxhbCCXtD+1ntoGFT7dm4zVh1MlhTYdLYywZHowxgc7tkF3f9OXy/DsMG9MDOmKhRtjsD+x6J6POdjHBstDFe0y3NxeGOnL8cZYP4zwt8PsNadRdpugalZpLe7/+jjWzu6LYCfN90m6oKymARHb4iVPzfe1N0NEuAJ9PaxbvJdrvx+TFF2xeFMs9sQXNltf06DCsq3xiDyXg4hwBRpVasyJjMblwipJ53uwjwvmTAyElalBS7QvmVwmYLifHYb72aGosh7rz2Xjj9NZzU7Nv+ZyYRUeWX0SkxVdMW9y4G0nutPfdGW6PRERERERERERUWth0JyIiIiIiIiIiDo8tVrEL6cy8f72BFTWaw5+mxjI8dY4f8wa5AG57M6n0Lpam2DupEC8NsYXG87nYs2xNCQVSAsnAkBiQSXmREbjve0JmDXIAy8M92bgXEsOJhVh/oZoZJVqnn4vCMCsgR54c5wfzI1aZhLz3XC1NsH3T/TF9ph8LN4Ui8LK+js+hpWJPhZMCUJYT2dO128jvdyssO65gXjsu1PIr6hrsqa4qh4zvjmB1bP6oL+XTRt3KJ0oith4IRdLt8ShpLpBY72Bngwvj/TBc8O9YaDXuhOeXaxMsOrxPtgZW4DFm2Jv+72+Ji6vAmFfHYUocZUKLztTRIQpMEAH/n3szA3x/HBvPDfMCyfTSrH2WDq2x2heyWBrdB72JRTi5dE+eGqIJwz1+PjzT/VKFb45mKqT0+2JiIiIiIiIiIhaEoPmRERERERERETUoSXmV2JO5CWcyyyTVD8m0AHvTg9ukUmuJgZ6mNnfDQ/3c8XxlBL8cCwde+ILJAcWy2sb8dneZESdz8bS6SEY4W9/zz2RNEWV9Vi6JQ6bLuZKqg/saoEV4Qr0cO3Suo1JJAgCJim6YoivLT7cmYifTmRI/rm7r5cL5k0OhHUbT2ImwNfBHH+9MBCPf3cKqbeZQF1Zr8Tj35/CFzN7YWyQQxt3qFlGSTXmb4jB4eRiSfUDvWywPCwEXnZmrdzZ3wRBwIQQRwzxtcVHuxKx9lg6mlusQMrvjoFchhdGeOPFkd46F8wWBAEDvGwwwMsGx1NKsGhTjMaLn2obVXh/RyL+OpONRdOCMdzPro261X2n0koxN0r6dPuH+rhizqQAdDHhfSoREREREREREbU/DJoTEREREREREVGHVNeowmd7k/HtoVQom0sQ/j8HC0MsmRaM8cGOLT5tVBAEDPKxxSAfW2SV1uCnExn4/VQmKuo0T1cHgKzSWjzxw2lM6dYVC6cGwd7cqEX7o7+p1SL+PJOFFdsTUF7bqLHeWF+O18f6YvZgT+jJW3cS892wMNLHu9NDENbTGXMio5GQX3nbWg8bEywPU2Cwj20bdkj/5GJlgnXPD8QTP5xGdE55kzX1SjWe//ks3gtX4IE+rm3cYdMaVWqsOpyKT/cko17ChGcrE33MmxyE+3ppb2q+maEeFk0NRnhPF8yJuoSYnIq7Ok4/T2tEhCngY992Yfm7NdDbBltfGYq1x9LxyZ5kVGlY5SO1uBqzvj+F8cEOWDAlCC5WJm3Uqe4pr2nEezvi8dupLEn1XnamWBGm0OnVB4iIiIiIiIiIiDRh0JyIiIiIiIiIiDqcI8nFmLchGhklNRprBQF4bIA73hrvDwsj/VbvzdXaBHMnBeK1Mb6IOp+DNUfTkSxxKuqWS3k4mFSE/0wIwMx+bpDJtBPO7KguF1ZibmQMTqWXSqof4W+HpdND4Gqt+8HLnm5W2PzyEPxwNA0f705GbaPq+jY9mYDnhnvh5VG+MNLXrUnMnZWNmSF+faY/nvvpLI6llDRZo1KL+Pdfl3ClpgHPDvNu4w5vdi7zCuZquJDhRro2NV/hYokNLw7Gj8cz8NGuRFQ3qDTvBMDSWB/zJgXi/t4u7er+WF8uw9NDvTCthxPe25aAyPM5GvfZGVuAg0lFeGmED54Z5tWp7itEUcSmi7lYuiUOxVUNGusN5DK8ONIbL4zQven2REREREREREREd4pBcyIiIiIiIiIi6jBKquqxbGs8oiSE5gAgwNEcEeEK9HKzauXObmVioIdH+rtjZj83HEspwZpj6dgTXwBRw/D1yjol5m+IQeS5bESEKxDgaNE2DXdgdY0qfHUgBf87cBmNKs3T723NDLFwahCmduuqtUnMd0NfLsOzw7wxSdEV3x1JQ1xuBTxtTTF7iCf8HMy13R79g7mRPr5/oi9e+/0CdsTm37YuYlsCSqob8M6EgDb/eayoa8QHOxLx88kMjfddwNWp+RFhCgzSwan5enIZZg/xxESFI5Zsimv2ew4AoT2cMH9KEGzNDNuow5Znb26E/z7UAw/3d8OCDTEaLxSoa1Tjo91J+OtcNhZNDcKoAIc26lR7skprMG9DDA4lFUmq7+9pjeXtZLo9ERERERERERGRFAyaExERERERERFRuyeKItadzUbEtniU1TRqrDfSl+G1MX54aogn9OWyNujw9gRBwGAfWwz2sUVmSQ1+OpGO309nobJO2ex+5zLLMOWzI3h6qBdeHe0LYwNOTb0bx1NKMC8qGqnF1ZLqH+7nhncmBMDSpPWn37cWFysTLJoarO02SAIjfTm+fKQX5kVF4/fTWbet++ZgKsqqG7E8LAR6bXCfJooitsfkY/GmWBRW1mus15cLeH64N14a6aPzk7C7Whrj68d6Y09cARZtikVOWe1N292sTbAsNATD/Oy01GHL6+thjS0vD8EvJzPx4a5EjY8/GSU1mL3mDMYE2mPhlGC42ej+qg53qlGlxndH0vDJniTUNao11l+bbv9AH5d2dQESERERERERERGRJgyaExERERERERFRu5ZSVIW5kdE4mVYqqX6Ynx2WTQ/RyWCcm40J5k0Owr9G+mLlzgT8ejKz2XqlWsTXB1Ow5VIuloaGYKS/fRt12v5dqW5AxLZ4rDubLane194MEeEK9PWwbuXOiG4mlwlYEa6AtakBvjqQctu6P85k4UpNAz57uGerhrlzymqxcEMM9iYUSqrv426FiHBFu5uaPybIAQO9bbD6cBq2RudCJgiY0q0rnhri1SEv7NGTyzBrkAcmd+uKldsTJN037okvxKHkYjw/3BsvjvDW+YsIpLqQVYZ31l/SOOH9mo4w3Z6IiIiIiIiIiOh2GDQnIiIiIiIiIqJ2qV6pwv8OpOCr/SloUGmeNmprZoAFU4IwrbuTzk8btTTRR0SYAuE9nTE3KhpJBVXN1mdfqcWTP5zG5G5dsWhKEOwtjNqo0/ZHFEVsuJCDpVviUVrdoLHeQE+Gl0f64Lnh3jDQ0+70e+q8BEHA2xMCYG1qgGVb429btyuuAE/8cAqrHu8Dc6OWnbqvVKmx5lg6/rs7CTUNKo315kZ6mDMxEDP6ukIm0+373NsxNdTDq2N88eoYX2230mZszQzxwQPdMaOfGxZtikFMTkWz9Q1KNT7bm4zIc9lYOCUIY4McdP4x9nYq6xrx4c5E/HgiA6Koud7N2gTLw0Iw1LfjTLcnIiIiIiIiIiL6JwbNiYiIiIiIiIio3TmZWoK5UdFIKaqWVD+jryvemRiALiYGrdxZy+rjYY0tLw/F6iOp+HRPMuqVzQfqt17Kw6HEIrw9MQCP9HNrt+HO1pJeXI35G2Jw5HKxpPpB3jZYFhoCLzuzVu6MSJqnh3rBysQAb6+/BJW66STsidRSPLzqBNY82a/FJixHZ5djTtQljaHja6Z064qFU4Ngb86LXtqr3u5W2PjSEPx2KhMf7ExEeW1js/XZV2rx7E9nMcLfDoumBsPT1rSNOm0ZO2LysXhTLPIr6jTW6skEPDPMC6+M8u2Q0+2JiIiIiIiIiIhuxKA5ERERERERERG1G2U1DVixLQF/nMmSVO9tZ4qIMAX6e9m0cmetx0BPhhdH+GCKwgnzN8bgUFJRs/WV9Uos2BCDyHPZWBGuQICjRRt1qrsalGqsOpyKz/ZqDusDgJWJPuZPDkJ4L+d2O5mXOq77ervA0lgfL/167rY/zzE5FXjg6+P4cXY/uFqb3PW5quuV+GhXEtYcS8Ntcu03ce5ijGVhIRjpb3/X5yTdIZcJeHSAOyYpuuKDnQn4/XSWxknfBxKLcOzyITwzzBMvjfSBiYFuvw2VW1aLRZtisTuuQFJ9L7cuiOBjKxERERERERERdSK6/QofERERERERERERAFEUseliLpZuiUNxVYPGegO5DC+N9MHzI7xgqNcxpo262Zhg7ZN9sflSHt7dHIfiqvpm689nlmHyZ0fw9FBPvDraV+fDfq3lbEYp5kbGILGgUlL9fb1cMG9yIKxN29f0e+pcxgQ54Ken+uOptadRWadssiatuBr3f30MP87uD39H8zs+x974AizcGIucslqNtXKZgKeHeOLVMZ33vqYjszY1wIrwbpjR1w0LN8bgYnZ5s/UNKjW+3J+CyHM5mD3YEw/1c4WFkX4bdSuNSi3ix+Pp+HBnIqobVBrrzQ31uFoIERERERERERF1SnzFl4iIiIiIiIiIdFpmSQ3mbYjG4eRiSfUDvKyxPEwBbzuzVu6s7QmCgGndnTDczw4rdyTg15OZzdar1CK+OZiKrZfysDS0c00ZLq9txPs7EvDrqUyNE3gBwMPGBBFhCgzysW395ohaQD9Pa/zx7EA8/v2p2154UlBRjwe/OY7vn+iL3u5Wko5bUFGHJZtjsS06X1J9dxdLRIQrEOxkKbl3ap+6u3ZB1IuD8eeZLKzckYArNY3N1ueV12H5tnh8sicJD/RxxZODPeBuY9pG3d5ebG455kZGawzMXzNJ4YhFU4PhYGHUyp0RERERERERERHpHgbNiYiIiIiIiIhIJzWq1Fh9OA2f7k1CXaNaY30XE33MmxSI+3u7QBA69rRRS2N9RIQpcF8vZ0nTurOv1OLJH05jcreuWDQlCPYdOCwniiK2Redj8eZYFFU2P/UdAPTlAp4f7o2XRvrASL9jTL+nziPIyQLrXxiIx747hczSmiZrymsb8ejqk/jfo70wopmLTdRqEb+czMD7OxJRWd/0lPQbmRrI8e/x/nhsoAfknPDcachkAmb0cxaA1OYAAMCjSURBVMOEEEd8uCsRv5zUfDFPdYMKa46lY+3xdIwNdMDsIZ7o72nd5o/VNQ1KfLInGd8dSYNKrfkKJCdLIywNDcHoQIc26I6IiIiIiIiIiEg3MWhORERERERERG1CpRZxKq0U5zKvIMDRHEN97WCgJ9N2W6SjzmdewZzIaCTkNx+gvia8pzPmTQ6EjZlhK3emW3q7W2PLK0MkB/K3XsrDocQivD0xAFMDu7RNk20o+0oNFm6Mxb6EQkn1fdytsCJcAV8H81bujKj1uNuY4q/nr042v919Zm2jCk+vPYOPHuyO6T2cb9mekF+BOZHROJ9ZJumc44IcsGR6MLpaGt9L69SOdTExwLJQBWb0dcOCjTGSfnZEEdgVV4BdcQUIdrLAU0M8MaWbU5v8Pbg/sRDzo2KQU1arsVYmAE8O9sQbY/1gasi30YiIiIiIiIiIqHPjK2RERERERERE1Oqis8sxJ+oSYnIqrn9thL8d/vdIbxgbcIIw/a2irhEf7kzETycyNE5IBQB3GxMsD1VgiK9t6zeno/TlMrwwwhuTFV0xf2MMDiUVNVtfWa/Egg0x+POUOSbaAs6mbdRoK1Kq1FhzLB0f7UpCbaNKY725kR7mTAzEjL6ukHESM3UA9hZG+OO5gXh67WmcTr/SZI1SLeK1Py6grKYRswZ5AADqGlX4dG8yVh1KhVLChGdHCyMsmR6M8cGOLdk+tWMhzpZY//wg/HUuGyu3J6CkukHSfrG5FXjjz4t4b3sCHh/ojpn93WFtatDi/RVW1uHdzXHYcilPUn2IswVWhHWDwsWyxXshIiIiIiIiIiJqj3Q6aD5w4EA899xzeOihh2BszMkoRERERERERO1Ndb0SH+1Kwppjafhnfu1AYhFW7kjA4mnB2mmOdIooitgRk4/Fm2NRUFGvsV5PJuC54V54eZQvjPR5sQIAuNmYYO2TfbHlUh6WbI5DcVXz38fo3ErE5sox0knEeJfmJ6HrsqYuZGnO1O5OWDAlEPbmRq3cGVHbsjTWx4+z++Nfv57D3ttM9RdFYNGmWJRUN6CPuxXmb4hBZmmNxmMLAjBroAfeHOcHcyP9lm6d2jmZTMCDfVwxPtgRH+9Owq8nM9Ggkva4UlhZjw93JeHzfZcR3ssFswd7tMgqE2q1iN9OZ+K97QmorFNqrDcxkOONsX54YpAH9ORccYeIiIiIiIiIiOganQ6anzx5EqdOncJrr72GmTNn4umnn0avXr203RYRERERERERSbA3vgALN8Yip6z2tjVrj6cjtKczerh2abvGSOfkltVi4cYY7IlvOhj5T73drRARpoC/470H0ToaQRAwtbsThvnZ4f0dCfjlZGaz9WoI2Jsr4HyJAAPXYkzvYw5BaB8TvqvqlfjvbS5kaYqLlTGWhoZgpL996zdHpCXGBnJ8/Vhv/Gf9JUSey7lt3Wd7kyUfM7CrBVaEK/hYTRpZGutj8bRgvDjSGz+fyMQvJzIkTzivV6rx26lM/HYqE8P87PDUEE8M87W9q8ekpIJKzI2MxpmMpqf7/9OYQHssmR4C5y4ceERERERERERERPRPOh00v6aiogLffPMNvvnmG/To0QPPPvssZs6cCXNzvplIREREREREpGsKKuqwZHMstkXna6wVReCd9Zew+eUh0Of0yE5HpRax5lg6PtqViJoGlcZ6cyM9/GdCAGb2c4NM1j7C0NpiaayP5WEKhPdyxtzIGCQWVDZbX1ov4LX18Vh3sRALpwTrfIh/d1wBFm2MQW55ncZauUzA00M88eoYX5gYtIuXQ4nuib5chg/v7w4rEwN8dyTtro9jpC/D62P8MHuIJx+j6Y7YmxvhjbF+eHGENzZeyMH3R9I1Pg7d6FBSEQ4lFcHX3gyzh3girKezpNVL6hpV+GLfZXxzKAWNKs1XINmbG2LJtGBMCHFsNxdZERERERERERERtTWdf2dFFMXrL/CJoojz58/jxRdfxFtvvYUHH3wQTz/9NAYOHKjlLomIiIiIiIhah0ot4lBSEY5eLoZTF2OMDXKAq7WJtttqklot4peTGXh/RyIq65WS90vIr8Tqw2l4YYR3K3ZHuiYmpxxzIqMRnVMuqX6yoisWTQ2CvYVRK3fWsfR2t8aWV4Zg9eE0fLo3CXWN6mbrj14uwcRPD+GR/u54fawfrE0N2qhTafLL67B4Uyx2xGq+kAUAurtYIiJcgWAny1bujEi3yGQC5k8OhLWpAT7YmXjH+w/3s8Oy0BCd/ZuD2gcjfTke6uuGB/u44ujlEnx3JBX7E4sk759cWIU5kdF4f0cCHunvjscHut/274Bjl4sxNyoa6SU1Go8rCMCj/d3x7wn+sDDSl9wPERERERERERFRZ6TTQfOLFy/i22+/xS+//IKysjIAV5f/FUUR1dXVWLNmDdasWYPAwEA8++yzeOyxx2BlZaXdpomIiIiIiIhaSGxuOeZGRuNi9t9B3GVb4zAm0AGzh3iiv6e1zkxfTMivwJzIaJzPLLur/T/Zk4RJCke425i2bGOkc6rrlfh4dxK+P5oGteZho3DuYoylocEYFeDQ+s11UPpyGV4Y4Y3Jiq5YsDEGB5OaD/mpReCnExnYeCEHr4/1w6MD3LU+zVh1w4UsVRIuZDE1kOPf4/3x2EAPyDn9njopQRDw0kgfWJsaYF5UtKT7XFszQyyaGoQp3brqzN8Y1P4JgoAhvrYY4muLy4VV+OFoGtafy9Z48dM1V2oa8cX+q5PKp3ZzwuwhnghxvnoBUWl1A5ZtjUPkuRxJxwpwNMfyMAV6u/O9JCIiIiIiIiIiIil0er1LhUKBzz//HLm5uVi7di2GDRsGUbz6aviNU87j4uLw+uuvw9nZGY8++igOHjyozbZ1xuLFiyEIwl3/98QTT2j7JhAREREREXVKNQ1KRGyLx7Qvjt4UMgeuBkB3xRVgxrcnMOmzI/jzTBbqGlVa6hSoa1Rh5Y4ETPnsiKSQ+e3ynvVKNeZviLn+vJ86pn0JBRj38SGsPqI5ZC4TgGeGemL3G8MYMm8hbjYmWPNkX3z+cE/YmhlqrK+oU2LJ5jhM/PSwxnB6a4rPq8B9/zuGhRtjJYXMxwU5YM+bw/HEYE+GzIkAPNzPDV/O7AUDDReMPNzPDXvfGI6p3Z0YMqdW42NvhuVhChx/ZzTenuAPBwvNj0fXNKpERJ7PwZTPj+DBb47jy/2XMfqjA5JC5oZ6MvxnQgA2vzyEIXMiIiIiIiIiIqI7oNMTza8xMjLCY489hsceewxJSUlYtWoVfvrpJxQWFgL4e8p5XV0dfvvtN/z222/w8fHBM888g1mzZsHOzk7Lt4CIiIiIiIhImv0JhZi/IQY5ZbUaa+PzKvD2X5ewcnsCHunvhkcHuMPewqgNurzqcHIR5kXFILO0RmOtIACzBnrgsYHuCP3yKCrrbg2LHk4uxoYLOQjr6dIa7ZIWFVbUYcnmOGyNzpNUr3C2xIpwxfVppdRyBEHA1O5OGOZnh2WbLuGv83kQ0Xyg9HJhFWZ9fwqjA+wxb3IgvOzM2qTX2gYVPt2bjNWHU6GUMIrZ0cIIS6YHY3ywYxt0R9S+TFR0haWxPp758QyqG26+QM3H3gwrwhXo62Gtpe6oM7IyNcCLI3zwzFAvbIvOw3dH0nDpHxdYNudUWilOpZVKqh3qa4tloSFcOYeIiIiIiIiIiOgu6PRE86b4+fnhgw8+QHZ2Nv7880+MGzfu+nSVG6ecJycn4z//+Q9cXV3x4IMPYteuXdpsm4iIiIiIiKhZhZV1eOnXc3hyzWlJIfMblVQ34LN9lzF45T689vt5XMoua50m/19xVT1e/f08HvvulKSQeWBXC0S9OBiLpwXD284M70wMuG3t0i3xKK1uaMl2SYvUahE/ncjA6I8OSgqZmxrIsXBKEDa8NJgh81ZmaayPBRN98VY3FbzNpa0ksDehEOM/OYRlW+JQXtvYqv0dSirCuE8O4uuDKRpD5oIAPDHIA7vfGMaQOVEzBvnYIvLFwRjoZQMDPRmcuxjj7Qn+2PrKEIbMSWv05TJM7+GMjS8NxrrnB2JCsONtV8C5UzamBvh0Rg/8OLsfQ+ZERERERERERER3qV1MNG+Knp4e7r//ftx///3IzMzE6tWrsWbNGmRnZwP4e8p5Q0MD1q9fj/Xr18PNzQ1PP/00nnzySTg5OWn5FrS9Dz/8EN27d5dc3xm/R0RERERERG1NrRbx2+lMvLc9ockp33eiUSViw4VcbLiQi97uVnhysAcmBDtCT94y15mLooh1Z7KxfFu8pJCpkb4Mr4/xw+whntC/oYeH+7oh6lwOzmRcuWWf0uoGRGyLx4cPSH/+SropMb8ScyIv4VxmmaT6MYEOeHd6MJy6GLduY3QTF1Pg5WAVLpQK2FVggtzy+mbrG1UiVh9JQ9T5HLw5zh8P9XWFvKUSgQCKKuuxbGscNl7IlVQf2NUC74Ur0N21S4v1QNSR+Tua47dnB0AUr17AcW14C5G2CYKAvh7W6OthjazSGqw5lo4/Tmehqv7u/j5+qI8r5kwKQBcTgxbulIiIiIiIiIiIqHNpt0HzG7m5ueHdd9/F4sWLsX37dqxatQrbtm2DUnn1BchrL5pnZGRg4cKFWLJkCSZOnIhnnnkGkyZNgkzW7ga735XevXtjxIgR2m6DiIiIiIiI/l9SQSXmRkY3Gbi+V2czruBsxhU4WRrhsYEeeLif6z0FbVKKqjA3Mhon00ol1Y/wt8PS6SFwtTa5ZZtMJiAiXIHJnx1Go+rWScV/nc1GeE9nDPKxvet+SXvqGlX4bG8yvj2UqnESNQA4WBhiybRgjA92ZOBRSwQB6Gkj4sXpvfHHhWJ8dSAFtY2qZvcpqW7A3Kho/HQiA4umBmGAl8099aBWi/jzTBZWbE+QdCGLsb4cr4/1xezBni12MQ1RZ8L7W9JlrtYmWDAlCK+N8cWfZ7Kx5lgaskqlrfjjZWeKFWEK9L/HxyUiIiIiIiIiIiK6qkO9CyOTyTB58mRs2LABmZmZiIiIgJeXF4CrL5xfm3KuVCqxZcsWTJ8+HR4eHoiIiEBxcbGWuyciIiIiIqLOoq5RhQ93JmLyZ4clhcztzQ3x5cxe+Pmp/hgVYH9H58otr8PKHQkYsGIv5kZFI7mg8o72r1eq8PHuJEz85LCkkLmtmSE+f7gnfniib5Mh82v8HMzxwnDv226fGxWNOg1BV9I9R5KLMf6TQ/jqQIrGkLkgALMGumP3G8MxIaQrQ486wEhfjpdH+2L/WyMQ1tNZ0j7xeRWY8e0JvPjLWWSV1tzVeS8XVmLGtyfwTmS0pJD5CH877Hp9GJ4d5s2QORFRB2ZupI+nhnjiwFsj8fWjvdHPw/q2tQZyGV4b44vtrw5lyJyIiIiIiIiIiKgFdYiJ5k1xdHREr1690L17d6Smpl7/+o1vWoqiiOzsbCxYsAArVqzAyy+/jAULFsDYmEs0ExERERERUes4erkY86KikV6iOZApCMAj/d3w9oQAWBjpAwCG+Noirbgaa4+lY92ZLFQ3SAtj1zWq8evJTPx6MhNDfW0xe7AnhvvZQSa7fbj3RGoJ5kZFI7WoWtI5Hu7nhncmBMDSRF9S/YsjfbDlUh5Si289fnpJDT7fl4x/jw+QdCzSrpKqeizbGo+o8zmS6gMczbEiXIGeblat3BndDUdLI3z8UA88NtAdSzbH4WJWmcZ9tkXnY098IZ4d6oUXRnjD1FDzy451jSp8dSAF/ztwucnVDf7J1swQi6YGYUo3XphARNSZyGUCJoQ4YkKII6Kzy/HdkVRsuZR3/aK2wT42WDItBD72ZlrulIiIiIiIiIiIqOPpcEHz3NxcfP/99/j++++RkZEB4NZw+Y2uTTmvrq7GypUr8eeff2LTpk0ICgpq076JiIiIiIioYyutbsCyrXGIPCctiOvvYI6IcAV6u98axPW0NcXiacF4Y5wf/jydhbXH05FVWiu5l8PJxTicXAwvW1M8MdgD9/VyuSkUWlbTgIht8fjzTLak4/namyEiXIG+zUyZbIqRvhzLwxR4eNWJJrd/czAV07o7w9/R/I6OS21HFEWsO5uNiG3xKKvRPInaSF+G18b44akhntDnJGqd18vNClEvDMKGCzl4b3sCCivrm61vUKrxxf7LWHc2C/+ZEIDQHs63vZjleEoJ5kVFN3mhSVPu9EIWIiLqmBQulvhkRk8smR6CxPxKdLU0anYVHSIiIiIiIiIiIro3HSJorlarsXXrVqxatQo7duyASqW6Hii/FiQHAA8PDzzzzDN48sknER8fj1WrViEqKgr19fXX61JTUzFmzBhER0fDxobLKxIREREREdG9EUUR68/lYPnWOFyREMQ11JPhldG+eHaYl8YgroWRPp4e6oUnB3tib3wBvj+ahhOppZJ7Sy2uxsKNsfhgZyIe6uOKWYM8cDbjCpZuiUNJdYPG/Q30ZHh5pA+eG+4NA727Cw0P9LbBg31cmgy1K9Ui3om8hPXPD2p28jppR0pRFeZFRUv+mRvmZ4dl00PgZsMwWHsikwkI7+WC8cGO+N+BFHx7OBUNSnWz+xRU1OONPy/ix+MZWDQ16KbJ9Veqr17Isu5s617IQkREHZulsT76efKxgYiIiIiIiIiIqLW166B5eno6Vq9ejTVr1iAvLw/A1TfwBUG4HhyXyWSYMmUKnnvuOYwfP/76dHNHR0eMHDkSJSUl+Pjjj/Hxxx+jrq4OoiiioKAAH3/8MZYtW6bNm0dERERERETtXFpxNeZFReNYSomk+qG+tlgWGgJ3G9M7Oo9cJmBcsCPGBTsiLrcCPxxNw8aLuRrDoNdU1imx+kgaVh9Jk3zOgV42WB4WAi87szvqtSlzJwVib3xhk+H285ll+OVkBh4b6HHP56GWUa9U4esDqfhy/2U0qDT/jNmaGWDBlCBM6+5006pz1L6YGurhrfH+eKivK1Zsj8e26HyN+1zIKkPYV8cQ3tMZb08IwPHUYizdEo/SNrqQhYiIiIiIiIiIiIiIiO5NuwuaK5VKREVFYdWqVdi3bx9EUbxpejlwNWzu7OyMp59+Gs888wycnJxuezwbGxssW7YMjzzyCAYNGoSKigqIoojNmzd3yKB5fX09UlNTUVJSAn19fdjY2MDJyQkmJpwmRkRERERE1FIalGp8czAFn++/LCnsbWN6NYg7vce9B3GDnCzwwQPd8c7EAPx6MhM/nchAYWX9PR3zRlYm+pg3OQj39XJusdBwFxMDLJwahFd/v9Dk9vd3JGJskCMcLY1a5Hx0906mlmBuVDRSiqol1c/o64p3Jgagi4lBK3dGbcXV2gRfPdIbJ1JLsGRzHOLzKjTuE3k+Bxsv5kKlFiWdY5C3DZaFtsyFLERERERERERERERERHT32k3QPCkpCatWrcKPP/6I4uJiALdOLxcEARMmTMBzzz2HKVOmQCaTPu0oMDAQ//rXv7B8+XIAQGpqaqvcDm166aWXkJqairq6upu+rqenh969e2PixIl48cUXYWdnp6UOiYiIiIiI2r/T6aWYExmNy4VVkuof7OOCORMDYWXaskFcGzNDvDzaF88N98a26Dx8fzQNl7LL7+mY4b2cMX9yEKxbuFcAmNbdCevP5eBQUtEt2yrrlVi8KRZfP9a7xc9L0pTVNGDFtgT8cSZLUr23nSlWhHdDP0/rVu6MtGWAlw22vDwEf5zOwke7EptckeBGUkLmVib6mD85COEteCELERERERERERERERER3T2dDprX19dj3bp1WLVqFY4cOQIATU4vd3R0xOzZs/HMM8/A3d39rs/Xq1ev6x/X1NTcQ+e6KS4ursmvK5VKnDx5EidPnsTKlSvx1ltvYdGiRZDL5S3eQ2FhIYqKbg0NNOfy5cs3fV5VVYWKCs3Tsqh1VFdXN/s5ERERdQx8zCe6cxW1jfh4fzrWX8iXVO9hbYyFE33Qx70LoKpDRUWdxn3u1ihvc4z0UuBiTiV+OZ2DPQnFUEkbLAwAcLMywvwJPhjgadWqvb4zxgOnUktQ18QU+B2x+dhwOhWj/G1b5dzUNFEUsS2uCB/sTkVpTaPGen25gGcGuWL2QFcY6Mn4/F3HtcTj/ZTALhju2RvfHM3Er6dzoZQ4tfyfpins8eZoL1iZ6KOysvKujkFERERN43N8IiKizoGP+URERB0fH+87p6oqaQPOWosgXktu6yArK6vrb0hem1h+48ejRo3C888/j+nTp0NP794z83v37sXYsWOvn0elUt3zMbVp8eLFWLJkyV3tO2LECGzevBlmZi27RPG99HTNZ599Bjc3txbqiIiIiIiI6N6IInC+REBkugyVjZon8MoFEWOdRYx1VkNP+kJcLepKPXA4X4bjBQJqVLfvWS6IGO0kYpyLGvpt1Ou+XAEbM5q+8NnSQMTc7ioY6fRl8x1HcR2wLlWGhHJp//g+Fmo86KWGg3ErN0Y6q7AW2JAhQ+wV6XcYtkYiHvJSw89SZ1+iJCIiIiIiIiIiIiIi0prMzEy88sor1z+PiYlBcHBwm51fp9+aLS8vv2mZXFEUYWtriyeeeALPPvssfHx8WuW8N4ba2ztBEDBw4EBMnjwZ/fr1Q2BgIKytrSGTyVBSUoJz585hy5YtWLt2Lerq/p5Id+DAAcyYMQMbN25slcnmREREREREHUFJHbAuTYb4MmmhSm9zEQ95q7QexLUyBKa5qzHBBThTLOBgngz5tTc/D/Y0F/GQlwpdTdq2t+FdRZwpEpFTc+vz8vIGAVuzZLjP89aJ59RyVGpgf56AHdkyNKo1vz5ioici1F2NfnYiOsjLKXSX7I2BZwPUiC8TEZUuQ0Gtbl3IQkRERERERERERERERHdGp4PmwNXQNwAMHToUzz//PO677z4YGBi0yrmGDBmCtLS0Vjm2NowbNw4zZ86En59fk9udnJzg5OSEKVOmYP78+ZgxYwaOHj16ffvWrVvx1Vdf4eWXX26rlomIiIiIiNoFlRo4kCdgu9QgrlzEdI+rQVyZDgVxDeTAIAcRA+1VSCwXkFguoEYJhFiJCLbSTq9yAXjIW4WPo+UQcWsDh/MF9LYFPMzbvrfOIL0S+CNVjtwmgv5N6WurRqiHGmb6rdwYtSuBXUT4dVPhSIGA7Vky1KpuvZBlhpcKjm18IQsRERERERERERERERHdGUG8luTWQVZWVpg1axaee+45BAYGarudDq+urg6jRo3C8ePHr3/N3t4eaWlpMDFpmXf+CgsLUVRUdEf7XL58GaGhodc/P3HiBH8etKi6uhqnTp26/nm/fv1gamqqxY6IiIioNfAxn+j2onMr8e62ZCQWVkuqnxxsh7fGeMHGtHUumu6o3t+dgp9P5za5zdfOBL/P7gl9Occgt5SqeiU+O5COP87mQcoLRa5WRlgwwQcDPK1avTdqPW3xeH+lphG/ncnFyfQyWBrrYXygHSYG20HG8fdERERths/xiYiIOgc+5hMREXV8fLzvnOLj4zFgwIDrn8fExCA4OLjNzq/TE83z8vJgZGSk7TY6DSMjI/z4448IDAyEUqkEcDUYvmvXrpuC3vfC3t4e9vb293QMMzMzWFhYtEg/dO9MTU3570FERNQJ8DGfCKisa8RHu5Kw9ng6pFyy7WZtgmWhIRjmZ9f6zXVAc6YosD/5CnLKam/ZllxUgz8vluCFEd5a6OxvNQ1KpBRWI6CrebsNvYuiiJ2x+Vi0KRYFFfUa6/VkAp4b7oWXR/nCSF/eBh1SW2qNx3sLC+CdKTYtekwiIiK6N3yOT0RE1DnwMZ+IiKjj4+N952BmZqbV8+ts0Pz8+fP46aefrn8+c+ZM9OnTR4sddQ4+Pj6YNm0aIiMjr3+tJYPmRERERERE7dHO2Hws2hiL/Io6jbV6MgHPDPPCK6N8YWzAIO7dMjXUw7vTg/HU2jNNbv9kTxImKRzhbtP2UxpKquqxYnsCNl3MRYNSDVMDOR4d4I5XRvvC1FBnX2q5RW5ZLRZujMWe+AJJ9b3drRARpoC/o3krd0ZEREREREREREREREREukBn3/08ePAgPvnkEwiCALlcjjlz5mi7pU5j9OjRNwXNExMTtdgNERERERGR9uSV12LRxljsipMWxO3p1gUrwhUIcOTkgJYwOtABkxVdsTU675Zt9Uo15kXF4Ken+kEQhDbpRxRFrDubjYht8Sirabz+9eoGFb45lIpNF3OxYEoQJoY4tllPd0OlFrHmWDo+2pWImgaVxnpzIz38Z0IAZvZzg0ymu7eLiIiIiIiIiIiIiIiIiFqWzgbN6+quTokTRREuLi6ws+NS423F1dX1ps+Lioq01AkREREREZF2qNQifjyejg93JqJaShDXUA9vT/DHI/3dGcRtYYumBuFQchEq65S3bDtyuRgbLuQgrKdLq/eRWlSFuVHROJFaetuavPI6vPjLOQz1tcW700Pgadv209Y1ickpx5zIaETnlEuqn6zoikVTg2BvYdTKnRERERERERERERERERGRrtHZoLmjoyMAQBAE2Nvba7mbzkVfX/+mzxsbG29TSURERERE1PHE5pZjbmQ0LmZLC+JODHHE4mnBcGAQt1XYWxhhzsRAzI2KbnL70i3xGO5nD2tTg1Y5f71Sha8PpOLL/ZfRoFJL2udwcjHGf3wIzw33wosjfGBsIG+V3u5Edb0SH+9OwvdH06AWNdc7dzHG0tBgjApwaP3miIiIiIiIiIiIiIiIiEgn6WzQ3MnJ6frHpaW3nxZGLS8/P/+mzzlNnoiIiIiIOoOaBiU+2ZOM746kQSUhietkaYR3p4dgTBCDuK1tRl9XRJ7LxpmMK7dsK61uwPKt8fjowe4tft5TaaWYE3kJKUXVd7xvg0qNz/ddRtT5HCyeGqzVn5N9CQVYsCEWOWW1GmtlAjB7sCdeH+sHU0OdfdmIiIiIiIiIiIiIiIiIiNqAzr5jOHjwYJiYmKCmpgZpaWkoLS2FtbW1ttvqFI4cOXLT566urlrqhIiIiIiIqG3sTyzEgg0xyL4iLYj75GBPvMEgbpuRyQSsCFdg0meH0ai69SKA9eeyEd7LGYN9bFvkfOU1jVixPR6/n86652NlX6nF0z+ewegAeyyeFgxXa5MW6FCawoo6LNkch63ReZLqFc6WWBGuQIizZSt3RkRERERERERERERERETtgUzbDdyOqakppk2bBgBQq9X46aeftNxR51BWVob169ff9LXRo0drqRsiIiIiIqLWVVhZh3/9eg5P/nBaUsg8xNkCG18aggVTghgyb2O+DuZ4YYTPbbfPi4pGXaPqns4hiiI2XsjB6P8ekBQyN5DLMC7IAXKZoLF2b0Ihxvz3ID7bm3zPfWqiVov4+UQGRv/3oKSQuYmBHAunBGHDS4MZMiciIiIiIiIiIiIiIiKi63Q2aA4ACxYsgIGBAQBgyZIlSE5O1nJHHd9bb72FsrKy658bGBhg4sSJ2muIiIiIiIioFajVIn49mYkxHx3ElkvSgrjzJwdiw4uDoXBhEFdbXhzhDS870ya3pZfU4PN9d/+6QWZJDWb9cBqv/n4BxVUNGuv7e1pj+2tD8e3jfbD5X0PQx91K4z71SjX+uzsJEz45hINJRXfda3MS8yvxwDfHMX9DDCrrlBrrxwQ6YM8bwzF7iKekwDwRERERERERERERERERdR46HTQPDAzEd999B0EQUFZWhhEjRmDPnj3abqtdeO+993D27FnJ9UqlEm+++Sa+++67m77+/PPPo2vXri3dHhERERERkdYkF1TiwW+OY25UNCokBHFHB9hj1+vD8PRQL+jJdfppdIdnpC9HRJjittu/OZiKhPyKOzpmo0qN/x1IwbhPDuKQhPC3pbE+3r+/G35/dgC87cwAAEFOFvjzuYH44P5usDE10HiM9JIazPr+FF74+SxyyzRP0peirlGF93ckYPJnh3E244rGegcLQ3z9aC+serw3nLoYt0gPRERERERERERERERERNSx6Pw75I888gg2b94MBwcH5OXlYfz48Rg+fDi+/vprnDt3DleuXIFK1bpLTrdHO3bsQJ8+fTB48GB8+umniImJgVJ5a4CivLwcv/32G/r27Yv//ve/N23z9vbGwoUL26plIiIiIiKiVlXXqMJHuxIx6bPDOCMhiGtvboivHumF1bP6wMXKpA06JCkGeNngoT6uTW5TqkXMiYyGWi1KOtb5zCuY+vkRrNyRgLpGtcb6sJ7O2PvmcDzYxxWCcPP0b5lMwAN9XLHvzRF4dIAbBAnDwbfH5GPMfw/i64MpaFBqPv/tHEkuxvhPDuGrAylQarjtggA8PtAdu98YjgkhXW+5HURERERERERERERERERE1+hpu4HmyOXymz4XBAGiKOLIkSM4cuTIXR9XEIQmQ9cd0bFjx3Ds2DEAgKGhIVxcXGBpaQm5XI6SkhKkp6dDrb71zWxHR0ds374dNjY2bd0yERERERFRizt2uRjzNsQgrbhaY60gAI/0d8PbEwJgYaTfBt3RnZozKQB7EwpQXNVwy7bzmWX45WQGHhvocdv9K+sa8cHORPx0IgOihEy6u40JloWGYKivncZaSxN9LAtV4ME+rliwIQYXs8ubra9pUOG97Qn462w23p0ejEHetpob+n8lVfVYtjUeUedzJNUHOJojIlyBXm5Wks9BRERERERERERERERERJ2XTgfNxRve7b02Yeva/0Up7wTTTerr65GSkqKxbtKkSfjhhx9gb2/fBl0RERERERG1ntLqBizbGofIc9KCuP4OV4O4vd0ZxNVlXUwMsGBKEF79/UKT21fuSMTYIEc4Whrd9HVRFLEzNh+LNsWioKJe43n0ZAKeHeaFV0b7wkhfrrH+Rt1cuiDyxcH4/XQm3t+RiPLaxmbrLxdWYeaqk5jW3QnzJwfC3sLotrWiKGLd2WxEbItHWU3zxwUAI30ZXhvjh6eGeEJfrvOL2xERERERERERERERERGRjtDpoDnw9xTzlgiWXztWZzBv3jwEBgbi8OHDSEhIgEqlarbezMwMEydOxL/+9S8MGzasjbokIiIiIiJqHaIoIvJcDpZtjcMVCUFcQz0ZXh3ji2eGejGI205M6+6EyHM5OJhUdMu2qnolFm2KwTeP9bn+tdyyWizcGIs98QWSjt/LrQsiwhUIcLS46x7lMgGP9HfHhGBHrNyRgD/PZGvcZ9PFXOxLKMTrY/0wa6A79P7x85hSVIV5UdE4kVoqqYdhfnZYNj0EbjYmd3UbiIiIiIiIiIiIiIiIiKjz0umg+bBhw65PMKc7M3bsWIwdOxYAUFNTg7i4OKSnpyMvLw9VVVVQq9Xo0qULrKysEBQUBIVCAbn8zqazERERERER6aK04mrMi4rGsZQSSfVDfW2xLDQE7jamrdwZtSRBELAsNATjPj6E2sZbL67eGVuAnbH5GBPogLXH0vHRrkRUNzR/ETYAmBvq4e2JAXiknxtkspZ5TcLGzBDv398dD/V1xfwNsYjPq2i2vqpeiaVb4rDuTBaWhYagj4c16pUqfH0gFV/uv4wGlVrjOW3Nrk59n9bdia+tEBEREREREREREREREdFd0emg+YEDB7TdQodgYmKCPn36oE+fPpqLiYiIiIiI2qkGpRrfHEzB5/svo0GpOYhrY3o1iDu9B4O47ZWrtQneGOuH5dvim9y+cGMMvtx/GZeyyyUdb7KiKxZODYKDhVFLtnldb3drbP7XYPx0IgP/3ZWEynpls/UJ+ZW4/+vjmN7DCTE55UgpqpZ0nhl9XfHOxAB0MTFoibaJiIiIiIiIiIiIiIiIqJPS6aA5ERERERERkRSn00sxNzIayYVVkuof7OOCORMDYWXKIG579+RgD2y4kIPY3FunhBdU1KOgol7jMZy7GOPd6cEYHejQGi3eRE8uw5ODPTG5W1es2JaAqPM5GvfZeCFX0rG97UyxIrwb+nla32ubREREREREREREREREREQMmhMREREREVH7VV7TiPd2JOC3U5mS6r3sTBERpsAAL5tW7ozaip5chhXhCoR+eRRq8c72lQnAk4M98cZYP5gatu1LJPbmRvj4oR54qK8rFmyIkXyRRFMM5DK8NNIHz4/wgqGevAW7JCIiIiIiIiIiIiIiIqLOjEFzIiIiIiIiui6/vA674/JhoCdDP08beNqaarulJomiiC2X8rBkcxyKqzRPrDaQy/DCCG+8ONKbQdwOqJtLFzw52BPfHUmTvE+IswVWhHWDwsWyFTvTbICXDba9OhQ/HE3DJ3uSUdOgusP9rbE8TAFvO7NW6pCIiIiIiIiIiIiIiIiIOisGzYmIiIiIiAh1jSp8tjcZ3x5KhfKGsdDD/OzwxCB3jPCzh0wmaLHDv2WV1mD+hhgcTCqSVN/P0xoRYQr42DOI25G9MdYPO2LykVNW22ydiYEcb4z1wxODPKAnl7VRd83Tl8vw7DBvTO3uhGVb4rE1Ok/jPl1M9DFvUiDu7+0CQdCN300iIiIiIiIiIiIiIiIi6ljaddBcqVSioKAAV65cQWVlJczNzWFlZQUHBwfo6bXrm0ZERERERNRmDicXYV5UDDJLa27ZdiipCIeSiuBuY4LHBrjjgT6usDTW10KXgFKlxndH0vDxniTUNao11lsa/x3E1ZWQPLUeU0M9LA0Nxuw1Z25bMzrAHu+GhsC5i3EbdiZdV0tjfPlILzyUVIRFm2KRVlzdZF14T2fMmxwIGzPDNu6QiIiIiIiIiIiIiIiIiDqTdpfGTklJwerVq3Ho0CGcP38e9fW3LpFuaGiIXr16Yfjw4Xj66afh6emphU6JiIiIiIh0W3FVPZZticOGC7kaazNKarBsazz+uzsJ4b2cMWugB3wdzNugy6suZJVhTmQ04vMqJNWH9nDC/ClBsGUQt1MZFeCAGX1d8fvprJu+bm9uiCXTgjEhxLFdTP8e5meHHa8NxerDafhi32XUNqoAAF62pnh3egiG+NpquUMiIiIiIiIiIiIiIiIi6gzaTdA8Pz8fL774IjZt2gRRvLqM+7X//1NdXR2OHz+O48ePY+XKlQgNDcUXX3wBR0fHtmyZiIiIiIhIJ4miiHVnshGxPR5lNY13tG9Ngwo/n8jEzycyMcTHFrMGeWBUgD3krTQxvLKuER/tSsLa4+m4zVPAm7hZm2BZaAiG+dm1Sj+k+yLCFHCwMMKOmHwo1WpMDOmKZ4d7wcJIO5P475ahnhwvjfTBU0M8cTbjCqxMDBDY1bxdBOWJiIiIiIiIiIiIiIiIqGNoF0Hz3bt3Y+bMmSgtLb0eLhcE4fqbqzcGzm98w1UURYiiiKioKBw8eBC//fYbxowZ07bNExERERER6ZCUoirMjYzGybTSez7WkcvFOHK5GK7WxnhsgDse6uMGS5OWC/PujM3Hoo2xyK+o01irJxPwzDAvvDLKF8YG8hbrgdofmUzA62P98PpYP2230iKM9OUY7MMJ5kRERERERERERERERETU9nQ+aH706FGEhoaitrYWwNUg+bUAuZ6eHgICAmBrawtTU1NUV1ejuLgYiYmJaGxsvKm+pKQEoaGh2L17NwYOHKjNm0RERERERNTm6pUq/O9ACr7an4IGlbpFj51VWouIbQn4eHcyQns644lBHvB3NL/r4+WV12LRxljsiiuQVN/TrQtWhCsQ4Ghx1+ckIiIiIiIiIiIiIiIiIiKim+l00Ly6uhoPPPAAamtrrwfGAWDGjBmYPXs2hg0bBgMDg1v2a2howOHDh/Hdd9/hjz/+uD7lvKamBg888ACSkpJgYmLSpreFiIiIiIhIW06mlmBuVDRSiqol1c/o64qp3Z3w++ksbI/Og1Itat4JQG2jCr+dysRvpzIxwMsaTwzywJhAB+jJZZL2V6lF/Hg8HR/uTER1g0pjvbmhHt6e4I+Z/d0hlwka64mIiIiIiIiIiIiIiIiIiEg6nQ6av//++8jPz78eMnd2dsa6deswYMCAZvczMDDA6NGjMXr0aLz22mt44IEHkJ2dDQDIy8vDBx98gEWLFrXFTSAiIiIiItKaspoGrNiWgD/OZEmq97YzxYrwbujnaQ0AGOxji4LJgfjlRAZ+PZWJ4qoGyec+kVqKE6mlcO5ijEcHuGNGX1dYmd56ofA1sbnlmBsZjYvZ5ZKOPzHEEYunBcPBwkhyT0RERERERERERERERERERCSdTgfNv//+++shcxsbGxw9ehRubm53dIx+/frh8OHD6NOnD0pKSiCKIlavXs2gORERERERdViiKGLTxVws3RInKRxuIJfhpZE+eH6EFwz15Ddtc7Awwhvj/PHSKB9si87DmmMZuJhVJrmXnLJarNyRgE/2JCG0hzNmDfJAkJPF9e01DUp8sicZ3x1Jg0rC5HQnSyO8Oz0EY4IcJPdAREREREREREREREREREREd05ng+aXLl1CTk4OBEGAIAhYuXLlHYfMr3Fzc8OKFSvwzDPPAAByc3Nx6dIldOvWrSVbJiIiIiIi0rqMkmrM3xCDw8nFkuoHeFljeZgC3nZmzdYZ6skR1tMFYT1dcD7zCtYeS8fW6Dw0qjSHwwGgXqnGH2ey8MeZLPTzsMasQR4wNpBh4cZYZF+p1bi/TACeGOSJN8f5wdRQZ5/KEhERERERERERERERERERdRg6++58bGwsgKuT+IyNjTFjxox7Ot7DDz+MV155BbW1tdePz6A5ERERERF1FI0qNVYdTsWne5JRr1RrrO9ioo95kwJxf28XCIJwR+fq6WaFnm5WmDs5EL+dzMIvJzNQWFkvef9T6aU4lV4quT7YyQLvhXeDwsXyjvokIiIiIiIiIiIiIiIiIiKiu6ezQfPCwkIAgCAI8PT0hImJyT0dz8TEBJ6enoiLi7vp+ERERERERO3ducwrmBsZjYT8Skn14T2dMW9yIGzMDO/pvPbmRnh1jC9eGOGN7TF5WHssHecyy+7pmDcy1pfjzXF+eGKQB/TkshY7LhEREREREREREREREREREWmms0Hzurq66x8bGxu3yDGNjIyuf1xfL33aHhERERERkS6qqGvEBzsS8fPJDIii5np3GxMsD1VgiK9ti/ZhoCfD9B7OmN7DGdHZ5VhzLB2bL+aiQaV5svrtjAqwx7vTg+FidW8XHRMREREREREREREREREREdHd0dmguZ2dHQBAFEVkZma2yDGzsrKuf2xr27LBCiIiIiIiorYiiiJ2xORj8eZYFFRovohWTybgueFeeHmUL4z05a3am8LFEh892B1zJgXg91OZ+PlEJvIr6jTv+P/szA2xeGowJikcIQhCK3ZKREREREREREREREREREREzdHZoLmrq+v1j4uLi3Hy5En079//ro938uRJFBUVXf/czc3tnvojIiIiIiLShpyyWizaGIM98YWS6nu7WyEiTAF/R/NW7uxmtmaG+NcoXzw33Bs7Y/Ox9lg6TqdfuW29IACP9HfD2xMCYGGk34adEhERERERERERERERERERUVN0Nmg+ZMgQGBkZob7+6nS+d955B/v377/r482ZM+f6x4aGhhgyZMg990hERERERNRWVGoRa46l46NdiahpUGmsNzfSwzsTA/BwXzfIZNqbDK4vl2FKNydM6eaEmJxy/Hg8HRsu5KJBqb5e4+9gjohwBXq7W2mtTyIiIiIiIiIiIiIiIiIiIrqZzgbNjY2NMW7cOGzatAkAcOjQITz11FNYtWoVZDKZ5OOIoojnn38eBw4cuL7s+vjx42FkZNQqfRMREREREbW0mJxyzImMRnROuaT6yd26YtGUINhb6NbznhBnS7x/f3e8MzEQe+IKkF5SjV5uVhjubwd9ufTneURERERERERERERERERERNT6dDZoDgBLlizBli1bIIoiRFHEmjVrcOHCBXz44YcYOXKkxv0PHDiAf//73zh37hwEQYAoipDL5Xj33XfboHsiIiIiIqJ7U12vxMe7k/D90TSoRc31zl2MsSw0BCMD7Fu/uXtgbWqAB/u6arsNIiIiIiIiIiIiIiIiIiIiaoZOB827d++ON998Ex988MH1oPj58+cxZswYuLm5YeTIkejWrRtsbW1hamqK6upqlJSU4OLFizhw4AAyMjIAXJ1qLggCBEHAm2++CYVCoeVbRkRERERE1Ly98QVYuDEWOWW1GmtlAvDUEE+8PtYPJgY6/TSPiIiIiIiIiIiIiIiIiIiI2gmdTyCsXLkS+fn5+OmnnyAIAoCrwfGMjAysXbv2tvuJ4tVxf9cC5qIo4vHHH8d7773XJn0TERERERHdjcKKOizeHItt0fmS6ru5WCIiTIEQZ8tW7oyI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7tTZ7HyH8aEBPhrbr5luvzpGXl4VfwJ7aYUH+en1Ia31zA1NdDQ9W3GRwQrxr3RbCAAAAAAAAAAAAAAAAAAAcJFKUSWYnJysr776Sl9//bWSk5MlyVZUfpGXl5f69OmjkSNHavDgwQoICKiIVKskq9Wq22+/XXPnzjVd9/b2Vv369RUWFqbk5GRbYb8knThxQn379tXSpUt13XXXeTplXOG8vCwa1iFG1zerpVd/2qE5/z1SYnx2nlVv/LxTc/97WK8NaaV29au7Nb89qWc1ZtZWbUg541R8/9Z1NGFAc9WqVvX/3aoR4q8aIf4VnQYAAAAAAAAAAAAAAAAAAHCzCi00//TTT/XVV19p7dq1kv5XXG6x/O+035YtW2rkyJG68847Vbt27QrJs6p788037YrMH3roIY0fP17R0dGSLhSjz507V08++aQOHDggSTp//ryGDRumbdu2KSwszON5A5Eh/np3+FW6tX09jZuzTftPnS8xfuexs7r147W645r6eu6mpqoW4OvSfHLyC/TRir36aOUe5RUYDuOjwwL08qCW6t08yqV5AAAAAAAAAAAAAAAAAAAAuJtXRU7+4IMPau3atTIMw3SCeWRkpJ544gn98ccf2rJli5555hmKzMvo1KlTmjRpkuna66+/ro8//thWZC5dODH+lltu0dq1axUXF2e7fujQIb3zzjueShcoUtdGNbXoyW56pGcD+XhZSow1DOk/vx1Q77dXacHWo3bfjlBW65NPq997q/Xest0Oi8wtFumeznFa/LfuFJkDAAAAAAAAAAAAAAAAAIAqqUJPNL+Ut7e3evbsqZEjR6pv377y9b1wEnFGRoZb5qtWrZpbxq1s/vGPf+js2bO2drdu3fT8888XG1+3bl199tln6t27t+3alClT9Pjjj6tGjRpuzRUoSYCvt569salublNXY2Zt0aYDaSXGp57N0ehvNun6prX08qAWqlc9qEzzpmflafLCnZq+/oBT8U1rh2ryra3VNia8TPMBAAAAAAAAAAAAAAAAAABUBpWm0NxqtWrZsmVatmyZ2+eyWCzKz893+zwVzWq16osvvjBdmzhxoiyWkk+E7tWrl7p27arVq1dLks6ePavvvvtODz/8sNtyBZzVpHaovn+ok6atP6A3ft6ps9kl///y8p2p+m3fKf2tT2ON6hQnH2/nvsjBMAwt3HZM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sWKFww+wFX5ekZOTU+p5PPl+gKfWBACAq/34449GVFRUqV7zR0VFOT0++z77PgCgYhQUFBjPP/+84eXlVep9fuHChaWaa8uWLQ4/sHbpz4033mikpaWVek1Wq9V49tlnnZ4nODjY+P7770s9jyfXBACAYRjGmjVrjFtuucWIjo52uOe4otCc1+pVY01wLYthGIYAoAhWq1VDhgzR3LlzTde9vb1Vv359hYWFKTk5Wenp6ab7QUFBWrp0qa677jpPpgsAQKVy9dVX648//rC7fvFrIaOiopSXl6f9+/fb7aWS1LFjRy1btqxUX1E5c+ZMDR8+XFar1XS9Zs2aiomJUWpqqg4fPqzCLwGefPJJTZkyxel5srKy1KNHD61fv9503c/PT3FxcfL399e+ffuUmZlpl8fatWvVsGHDSrcmAADcJT09XS1atNDhw4ft7sXGxiolJcXpsdasWaMbbrhBWVlZpuvh4eGKj4/XmTNndPDgQRUUFJjuDxkyRN9//73TX+PtyfcDPLUmAABcbcqUKXr66aftXo8GBAQoOjpakZGRysrK0tGjR3Xy5Enb/aioKB07dszh+Oz7ZV8TAADldf/99+uzzz6zux4UFKQGDRooMDBQp06d0r59++yeC/j5+WnOnDnq27evw3mSkpLUpUsX03MFSQoJCVFCQoKysrKUkpKivLw80/3rrrtOy5cvV0BAgNNreuyxx/TBBx+YrlksFtWrV081a9bUgQMH7PLw9vbWzJkzdcsttzg9jyfXBACAJL377rt66qmnnIot7XvyhfFavWqsCW5QkVXuACq3yZMn231S6KGHHjIOHz5siykoKDBmzZpl1K9f3xRXr149PnUMALiitW/f3rYvhoeHG6NHjzbmz59vZGRkmOLy8/ONFStWGF27drXbd2+99Van59uzZ4/d11i1adPGWL58uSlu586dxpAhQ+zm+uGHH5ye66GHHjL19fLyMsaPH2+cPn3aFpOTk2N88cUXRvXq1U2xV111lZGfn1/p1gQAgLvcf//9ptPALt2rSnN6yunTp+1OZImNjTXmzJlj+iaPgwcPGg8++KDdvvj22287PZen3g/w5JoAAHClzz77zG5f6tu3r7Fw4UIjOzvbLv7w4cPG119/bdx6661GTEyMw/HZ99n3AQAVZ+bMmXb7UPPmzY358+cbeXl5ptjU1FTjpZde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33+vgICAEuNycnL0l7/8RbNnz3Z+If/fkiVL1Lt3b1u7pELzkhRXaB4ZGalTp06VaiyLxaJXX31VY8eOdSreU4/zRYZh6OWXX9Zrr72m3Nxcp/pc2rck+fn5euqpp/TRRx8VWRxflNDQUE2fPl39+/d3GLtkyRINHTpU6enpTo19UefOnbVmzZpS9QEAAAAAAAAAV+BEcwAAAAAAAADAZW/+/PkaPny4CgoKJEm+vr6Kj49XeHi4UlNT7Qq158+fr+eee07vv/9+iePed999RRaZ16pVS3Xr1pW/v7/Onj2r1NRUnThxwmXrcUZ2drapbbFYVK9ePVWvXl1BQUE6e/askpOTdf78eVuMYRj6+9//rvz8fL344oulntNdj7Mk5eXlacSIEfr+++/t7vn5+SkmJkY1atRQZmamDh8+rLS0NKfzPn/+vIYMGaJFixbZ3atdu7Zq164tLy8vHTp0yHSC+tmzZzVo0CBNnz5dQ4cOLXb87du3a+DAgcrJyTFd9/f3V1xcnMLCwlRQUKD09HTt379feXl5TucOAAAAAAAAAO7CieYAAAAAAAAAgCqhrCeah4eHy2Kx6MyZM6pXr55efvll3XbbbQoNDbXF7969W0899ZTmz59vu+bl5aUtW7aoRYsWRc6xYcMGdezY0db28fHRs88+qwcffFCxsbF28cePH9fq1av1448/aubMmZo3b57pRPOjR49q+/btkqQ333xTixcvtt37z3/+o6ioqCLzCAwMVOfOne2uh4SEKCYmRkOHDlXfvn3Vpk0bBQUFmWKsVqvWr1+v9957T99++63ture3t9atW6cOHToUOedFnnicL3rqqaf07rvvmq61bdtW48eP14033qjg4GDTvT179mj+/Pn65ptvtGHDhhJPNL/77rv11Vdf2dohISF66qmndM899yg+Pt4Uu3nzZr366qumgvfQ0FBt2rRJDRs2LHL8/v37a8GCBaa8X331VfXp00d+fn6m2Ly8PG3btk0LFy7Ut99+q2rVqnGiOQAAAAAAAIAKQaE5AAAAAAAAAKBKKGuh+UXt2rXTzz//rJo1axbZp6CgQAMGDNDPP/9su/bkk09qypQpRcY/99xzevPNN23tqVOn6p577nFqLadOnZLVai02l1GjRunLL7+0tZOTkxUXF+fU2BetXLmy2MenKF999ZXuvvtuW3vYsGGaMWNGiX088ThL0qJFi3TTTTeZrj3++OOaMmWKvLy8SsxRkpYtW6ZevXoVeW/GjBkaPny4rd2gQQMtWrRIDRo0KHHMN998U88995ytffPNN2vu3Ll2cenp6YqMjFR+fr4kqWnTptq0aZMCAwMd5i1JO3fuVNOmTZ2KBQAAAAAAAABXcvzuKwAAAAAAAAAAVVy1atU0a9asYoufpQuneBcudl64cGGx8bt27bL9HhISopEjRzqdT40aNUrMxRVKU2QuSSNHjtSdd95pa8+aNUvp6emlGsMdj7MkvfTSS6b2iBEj9N577zlVZC6p2CJzwzA0ceJEWzsoKMipInNJevbZZzV06FBb+8cffzT9N3FRcnKyrchcuvAhAmeLzCVRZA4AAAAAAACgwlBoDgAAAAAAAAC47D300EOKjY11GNe0aVO1bt3a1t69e7fOnTtXZGxWVpbtdy8vL6eLniuzSwvN8/PztWHDhlL1d8fjvH79eq1bt87WDg0N1YcffliqvIqzaNEi7dy509Z+4oknnCoyv2jcuHG23w3D0OzZs+1iLv3vRJJ8fX3LkCkAAAAAAAAAeF7Vf9cbAAAAAAAAAAAHbr/9dqdj27Zta/vdarXq8OHDRcZFR0fbfs/IyNCPP/5Y5vwqi/j4eFP7zz//LFV/dzzOixcvNrVHjhyp8PDwUuVVnAULFpjad911V6n6t27dWrVr17a1V69ebRdz6X8nkvTdd98pLy+vVPMAAAAAAAAAQEWg0BwAAAAAAAAAcFnz9fVVmzZtnI6vVauWqZ2enl5kXJ8+fUztO+64Q2+//bbS0tJKnaM7Wa1WLV++XE8//bR69+6t2NhYhYeHy9vbWxaLxfTTpEkTU9+TJ086PY+7HufCxdv9+vVzeg5HLh07ODhYTZs2LfUYMTExtt8TExPt7sfGxqpRo0a29u+//66bbrpJa9euLfVcAAAAAAAAAOBJFJoDAAAAAAAAAC5rERER8vb2djo+ODjY1M7KyioybujQoWrevLmtfe7cOT3zzDOKiorSDTfcoMmTJ2vNmjXKzs4uW+IuMHfuXDVs2FC9evXSO++8o2XLlunAgQNKT0+X1Wp12L80RfPuepz37t1ral999dVOz+HIpYXhmZmZ8vLysiu+d/SzYcMG2xinT58ucp6JEyea2suXL1fnzp0VHx+vhx56SNOnT9f+/ftdti4AAAAAAAAAcAUKzQEAAAAAAAAAl7WAgIBy9TcMo8jrvr6++vHHH+1OAc/NzdWSJUs0ZswYde3aVeHh4erZs6feffddHT9+vFy5lMbYsWM1ePBgJScnl3mMnJwcp2Pd9ThfWrxtsVgUGRlZrnkuyszMLNX6nFHcqewjRozQK6+8IovFYrqekpKif/3rXxoxYoTi4uIUFxenBx54QMuXLy/28QAAAAAAAAAAT6HQHAAAAAAAAACAMkpISNCmTZs0adIk1a1bt8iYnJwcrVy5Uk899ZTq16+vxx9/XGfPnnVrXl9++aVef/1107XAwEDdcMMNGjdunD755BPNmjVL8+fP15IlS2w///nPf9yaV1lc+lgFBQXJy8s1f9oozWntziqpOHzcuHFat26d+vXrV+zJ7/v379enn36qXr16qXXr1lqyZInLcwQAAAAAAAAAZ/lUdAIAAAAAAAAAAFRlQUFBGjt2rF544QX9+uuvWr58uVauXKnff/9dWVlZptjc3Fz985//1OLFi/XLL7+oVq1aLs8nNzdXzz//vOnaX//6V/3jH/9QjRo1SuyblJTk8nzKKzQ0VGfOnJEknT9/Xlar1SXF5kFBQaZ2RESEZsyYUe5xS3LNNddo/vz5Onr0qBYvXqyVK1fql19+0b59++xit23bphtvvFFvv/22nnrqKbfmBQAAAAAAAABFodAcAAAAAAAAAAAX8PLyUteuXdW1a1dNmDBBeXl52rhxo37++WdNmzZNe/bsscUmJSVp1KhRWrBggcvzWLlypY4fP25r33DDDfr888+d6nv69GmX51NeERERtkJzwzB08uRJlxToh4eHy8fHR/n5+ZKkrKws9e7du9zjOqNOnTq6++67dffdd0uSjhw5ouXLl2vOnDmaN2+e8vLyJF1Y79NPP63rrrtO1157rUdyAwAAAAAAAICLXPP9kgAAAAAAAAAAwMTX11fXXXedXnrpJe3atUsffvih6STuhQsXKjEx0eXz/vbbb6b26NGjne67fft2V6dTbo0aNTK1N27c6JJxLRaLYmNjbe2srCwdOXLEJWOXVnR0tO688059//332r17tzp06GC7ZxiGpkyZUiF5AQAAAAAAALiyUWgOAAAAAAAAAICbWSwWjR49WiNGjDBdX7NmTZHxlxakSxeKjZ116WnmktSkSROn+y5fvtzpWE/p2rWrqe3KU+B79uxpaleG9cfGxmratGmma8X9dwIAAAAAAAAA7kShOQAAAAAAAAAAHtK5c2dT++TJk0XGBQcHm9rnz593eo7CRem5ublO9Tt+/LhmzZrl9DyectNNN5naX3/9tdLS0twy9gcffOCSccurYcOGioqKsrWL++8EAAAAAAAAANyJQnMAAAAAAAAAADykcMFw9erVi4yLiIgwtZOTk52eo3bt2qa2s6dhP/bYY8rJyXF6Hk9p166dunTpYmtnZGTokUceccnYgwcPVsOGDW3t33//XR9//LFLxi6P3NxcZWRk2NrF/XcCAAAAAAAAAO5EoTkAAAAAAAAAAGVwxx13aNWqVU7HnzlzRp999pnpWvv27YuMbdGihan9/fffOz1Pp06dTO3Jkyc7PBF73LhxmjlzptNzeNqECRNksVhs7WnTpunJJ5+0O729OMuWLSvyure3t1555RXTtSeeeEKffvppqfLbtWuXHnjgAR0+fNju3rRp0/T666/rzJkzTo/34YcfKisry9Yu7r8TAAAAAAAAAHAnCs0BAAAAAAAAACiD+fPnq0ePHmrevLkmTJigdevW6fz583ZxWVlZmjlzpq655hrt37/fdr1Nmzbq0KFDkWP36NFDvr6+tvaXX36pIUOGaOrUqVq4cKGWLl1q+/n1119Nfbt3767Y2Fhb++DBg+rcubOWLFliKsw2DENr165Vnz59NGnSJElSs2bNyvZguFnv3r31t7/9zXTtvffeU/v27TVr1ixlZmba9dmzZ4/ee+89XX311erdu3exYw8fPlwPPvigrZ2Xl6cHHnhAvXr10k8//VTk2Hl5edq8ebPeffddde3aVU2bNtWnn36qvLw8u9jU1FSNHTtW9erV02233abp06eb/ju41K5du/Too4/q6aefNl2///77i80fAAAAAAAAANzFp6ITAAAAAAAAAACgKktMTNTLL7+sl19+Wd7e3qpXr54iIiLk5+entLQ07du3z64AOSgoSFOnTi12zFq1aumuu+4yxcyePVuzZ8+2i42NjVVKSoqt7evrqzfffFPDhg2zXdu1a5duuOEGVa9eXQkJCSooKNCBAwd0+vRpW0xUVJT+9a9/qVu3bmV5GNxu8uTJOnjwoL777jvbtT///FO33nqr/Pz8FBsbq4iICGVmZurQoUNKS0tzeux//vOfOnPmjGns5cuXa/ny5fLx8bGNnZ+fr7S0NB0+fFi5ubmlyv/8+fP64Ycf9MMPP0iSwsPDVbt2bYWHhys3N1cHDx7UiRMn7PoNHz5cgwcPLtVcAAAAAAAAAOAKFJoDAAAAAAAAAOAiBQUF2r9/f7EnVktS3bp1NXPmTLVr167Esd59910dPHhQS5YsKXUeQ4cO1aRJkzRu3DjTKeZnzpzRH3/8YRcfExOjBQsWKCQkpNRzeYqPj4++/fZbNW7cWG+88YapeD83N1e7d+8u89i+vr6aMWOG2rdvr4kTJyorK8t2Lz8/X3v37tXevXtLHCMyMlKBgYFOz5mWluawGP7+++/XRx995PSYAAAAAAAAAOBKXhWdAAAAAAAAAAAAVdH69ev1j3/8Q7169VJwcLDD+IYNG+qVV15RUlKSrrvuOofxoaGhWrRokX7++Wf99a9/Vdu2bRURESFfX1+n8hs7dqzmz5+vNm3aFBtTrVo1Pf3009q6datatmzp1LgVyWKx6JVXXlFiYqJGjRql8PDwEuOjoqJ03333af369U6N/9xzzyk5OVnPPPOM6tev7zC+du3auvPOOzVr1iwdOXJEUVFRdjEPPvig5s6dq/vuu08NGzZ0OKa/v79uueUWrV69Wp988ol8fDgzCAAAAAAAAEDFsBiXHmUCAAAAAAAAAABKraCgQImJidq9e7cOHz6ss2fPSrpQLF63bl21bdtW8fHxFZZfYmKifv/9d6Wmpio/P181atRQs2bNdO2118rPz6/C8iqvgoICrV+/Xnv37tWJEyd0/vx5hYSEqG7dumrRooWaNm0qi8VS5vH37Nmj//73vzpx4oTOnDkjHx8fhYWFqX79+mrWrJni4uJKPeaJEye0Y8cO7du3T6dPn9b58+cVFBSk6tWrq2nTpmrTpo1TH1wAAAAAAAAAAHej0BwAAAAAAAAAAAAAAAAAAAAAYOJV0QkAAAAAAAAAAAAAAAAAAAAAACoXCs0BAAAAAAAAAAAAAAAAAAAAACYUmgMAAAAAAAAAAAAAAAAAAAAATCg0BwAAAAAAAAAAAAAAAAAAAACYUGgOAAAAAAAAAAAAAAAAAAAAADCh0BwAAAAAAAAAAAAAAAAAAAAAYEKhOQAAAAAAAAAAAAAAAAAAAADAhEJzAAAAAAAAAAAAAAAAAAAAAIAJheYAAAAAAAAAAAAAAAAAAAAAABMKzQEAAAAAAAAAAAAAAAAAAAAAJhSaAwAAAAAAAAAAAAAAAAAAAABMKDQHAAAAAAAAAAAAAAAAAAAAAJhQaA4AAAAAAAAAAAAAAAAAAAAAMKHQHAAAAAAAAAAAAAAAAAAAAABgQqE5AAAAAAAAAAAAAAAAAAAAAMCEQnMAAAAAAAAAAAAAAAAAAAAAgAmF5gAAAAAAAAAAAAAAAAAAAAAAEwrNAQAAAAAAAAAAAAAAAAAAAAAmFJoDAAAAAAAAAAAAAAAAAAAAAEwoNAcAAAAAAAAAAAAAAAAAAAAAmFBoDgAAAAAAAAAAAAAAAAAAAAAwodAcAAAAAAAAAAAAAAAAAAAAAGBCoTkAAAAAAAAAAAAAAAAAAAAAwIRCcwAAAAAAAAAAAAAAAAAAAACACYXmAAAAAAAAAAAAAAAAAAAAAAATCs0BAAAAAAAAAAAAAAAAAAAAACYUmgMAAAAAAAAAAAAAAAAAAAAATCg0BwAAAAAAAAAAAAAAAAAAAACYUGgOAAAAAAAAAAAAAAAAAAAAADCh0BwAAAAAAAAAAAAAAAAAAAAAYEKhOQAAAAAAAAAAAAAAAAAAAADAhEJzAAAAAAAAAAAAAAAAAAAAAIAJheYAAAAAAAAAAAAAAAAAAAAAABMKzQEAAAAAAAAAAAAAAAAAAAAAJhSaAwAAAAAAAAAAAAAAAAAAAABMKDQHAAAAAAAAAAAAAAAAAAAAAJj8P7D5+AF7RVLxAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -834,34 +774,28 @@ "source": [ "In our example we use the `EBSTSplitter`, which is going to discussed later. For now, is enough to know that it is a mechanism to evaluate split candidates in the trees.\n", "\n", - "As we can see, our tree uses almost 10 MB to keep its structure. Let's say we wanted to limit our memory usage to 5 MB. How could we do that?\n", + "As we can see, our tree uses almost 10 MiB to keep its structure. Let's say we wanted to limit our memory usage to 5 MiB. How could we do that?\n", "\n", "Note that we are using a illustration case here. In real applications, data may be unbounded, so the trees might grow indefinitely.\n", "\n", "HTs expose some parameters related to memory management. The user can refer to the documentation for more details on that matter. Here, we are going to focus on two parameters:\n", "\n", - "- `max_size`: determines the maximum amount of memory (in MB) that the HT can use.\n", + "- `max_size`: determines the maximum amount of memory (in MiB) that the HT can use.\n", "- `memory_estimate_period`: intervals after which the memory-management is triggered.\n", "\n", - "We are going to limit our HTR to 5 MB and perform memory checks at intervals of 500 instances." + "We are going to limit our HTR to 5 MiB and perform memory checks at intervals of 500 instances." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:49:07.648955Z", - "iopub.status.busy": "2023-12-04T17:49:07.648846Z", - "iopub.status.idle": "2023-12-04T17:49:15.925716Z", - "shell.execute_reply": "2023-12-04T17:49:15.925436Z" - }, "tags": [] }, "outputs": [ { "data": { - "image/png": "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l18ew4YNi//5n/+JxYsX5zoeAAAAADSIojkAAAAAAPzHjBkzYvz48XHLLbfkOgrQxqRSqXjsscdixIgRMWXKlFzHAQAAAIDtKsh1AAAAAAAAaE4//elPY//990+bq6uri7Vr18brr78eDz74YMyePbt+LZlMxpe//OUYOnRoHH/88dmO264MGjQoUqlUrmPQSt14442xdu3aBh177LHHpo3vu+++2HXXXbd7XseOHbd7zJNPPrnVXHV1daxatSqmTp0a999/f6xZs6Z+bcOGDXHSSSfF9OnTo2/fvg1IDwAAAAC5oWgOAAAAAECbdtBBB8URRxyRce2MM86Ia6+9Nm688ca47LLL6kvPyWQyvvnNb8axxx4beXl+OCi0RAcddNAOnztmzJgYNGhQk+Q45phjtrn22c9+Nq6//vq44IIL4k9/+lP9fHl5eVxzzTV+egIAAAAALZq/HQcAAAAAoF1LJBJxySWXxCWXXJI2/8Ybb8Tzzz+fo1RAW9G5c+e477774rDDDkubv/vuu6O6ujpHqQAAAABg+xTNAQAAAAAgIi6//PIoKipKm3vqqadylAZoSwoKCuKKK65Im6usrIwXXnghR4kAAAAAYPsKch0AAAAAAABagtLS0jj44IPTdjEvKyvboWstWrQoXnrppVixYkWsXbs2unXrFn369IkxY8ZEnz59dirn8uXL45VXXokFCxbEhg0bIplMRklJSfTu3TuGDBkSI0aMiM6dO+/UPZrKSy+9FGVlZfH222/Hli1bYuDAgXHWWWc1+X2qq6tjypQpsXDhwli1alVUVlZGly5dYuDAgTFixIgYOnRok9+zoerq6uo/DytXroyqqqrYZZddYvDgwTFmzJgoLi7e6XvMnz8/pkyZEkuXLo2ampro06dPHHzwwTFixIgm+AhoKkcccUTk5+dHXV1d/VxZWVmMHz8+h6kAAAAAYNsUzQEAAAAA4D923333tHF5eXmDz62uro5f//rXceutt8abb76Z8ZhEIhEHHXRQXHHFFXHyySc3KtsDDzwQP//5z7e7A3J+fn6MHDkyTj311PjSl74UPXr0qF+766674nOf+1zG8wYPHrzNaw4cODAWLFiQNvf+a915551x7rnnxubNm+OnP/1p3HnnnTF//vy0c7p165ZWNF+wYEHafT/72c/GXXfd9YEf33u98MIL8aMf/SieeuqpqKys3OZxgwYNik984hPxhS98Ia10/oMf/CCuuuqqjOckEoltXm/8+PExceLED8y2YMGCuOaaa+Lhhx+ONWvWZDympKQkPv7xj8fVV1/9gZ//bXnhhRfikksuSfvmiPfad9994+qrr46Pf/zjjb42Ta9jx47Rs2fPWLlyZf1cY77GAAAAAEC25eU6AAAAAAAAtBSpVCpt/EFl4/eaMmVK7L333vG1r31tmyXzd6//0ksvxSmnnBInn3xybNq0abvXrqqqio9//OPxqU99arsl84h3dtB+9dVX48orr4xXXnmlQfmbysKFC+Pggw+O73//+1uVzJtSRUVFfOITn4jDDz88Hn300Q8smUe8U/r+6U9/Gueff36zZXqva6+9Nvbaa6+44447tlkyj4iorKyM++67L/bee++4/fbbG3WPq6++OsaOHbvNknlExBtvvBGnnXZafOUrX9nqtU1u7OjXGAAAAADIBTuaAwAAAADAfyxZsiRtvOuuu273nEcffTROP/302Lx5c9p8UVFRDB48OLp16xYbNmyIsrKyqK2tTTvvqKOOimeffTY6dOiwzetfcMEF8dBDD20137t37+jXr18UFxdHRUVFrFy5MlatWrXdvM1lw4YNcdxxx8Xs2bO3ylhVVRULFy5skvssWbIkTjjhhHjjjTe2WuvSpUv069cvunbtGuvXr4+FCxfGli1bmuS+DVFXVxfnn39+3H333Vut9ezZM/r16xdFRUXx9ttvx9KlS+vXqqur44ILLogNGzbE17/+9e3e54c//GFceeWVW8336NEjBg4cGFVVVTF//vz61+Qvf/nL6N279058ZDSFysrKrb7xoCFfYwAAAAAgVxTNAQAAAAAgItauXRsvv/xy2txBBx30gee88cYbW5XMx40bF9/61rfi6KOPTiuQV1RUxP333x9XXHFFrFixIiIipk6dGl//+tfj17/+dcbrT5s2Le677776cUFBQVx66aVx0UUXxcCBA7c6fsWKFfHcc8/Fo48+Gg888MBW68cff3w8+eSTERFxww03xD//+c/6tfvuu2+bpdeOHTt+0KchIt4pP7/7cZ1++ulx+eWXx8iRI+vXa2pqYsKECdu9zgeprq6O0047bauS+amnnhrf/OY347DDDov8/Pz6+dra2vj3v/8dDz/8cNx7771bXe+cc86JsWPHRkTEN7/5zZg+fXr92rufp0y6d++ecf7qq69OK5kXFhbGxRdfHBdeeGHss88+acfOnTs3brjhhrj11lvrd7m+7LLL4tBDD43DDz98m/d+/vnn43vf+17a3KhRo+LGG2+M8ePH1++QXVlZGffff39cdtllsXr16rjqqquUmnNs4sSJUVdXlza3va8xAAAAAJBLiuYAAAAAQJtWW5eMt9dnb0fj9qpvtw5RkJ+X6xg75Yc//GFUV1fXj/Pz8+PjH//4No+vra2NM844I61kftVVV8UVV1xRX/Z9ry5dusTnP//5+MhHPhJHHnlkzJkzJyIifvOb38SFF14YBx544FbnvL8sfuutt8bnPve5bWbadddd4xOf+ER84hOfiJ/97GeRTCbT1vv27Rt9+/aNiEgrsEdEjBkzJgYNGrTNa2/PuyXzm266Kb761a9utV5YWBgnnnjiDl8/IuLKK6+MqVOn1o+LiorirrvuijPPPDPj8QUFBXHwwQfHwQcfHFdeeWW8+OKLaetDhgyJIUOGRMTW5fFjjjmmUdmef/75uPbaa+vHvXr1iscffzwOPvjgjMcPHTo0fvOb38SRRx4ZZ511ViSTyaitrY0vfvGL8dprr2U8J5lMxoUXXlhfTI+I+MhHPhIPP/xwFBYWph1bUlIS5513Xhx99NExZsyYWLp0adou6tny8ssvp+3k3xjZ3I2+udXW1qa9PiIihg8fHiNGjMhRIgAAAADYPkVzAAAAAKBNe3v9lhj3k2dyHaPNe+6yI6N/j5Jcx9ghqVQqfvazn8WNN96YNv+FL3whdtttt22e9+CDD8aMGTPqxxdddFF8//vf3+79+vXrF3/5y1/igAMOqC+C33jjjVsVvyMiZs+eXf9+586d45xzztnu9d/Vs2fPBh/bVM4444yMJfOmsGbNmvjlL3+ZNverX/1qmyXz9yssLIxx48Y1R7SIeGc383d/PfPy8uKRRx7ZZsn8vU4//fR4+eWX44YbboiIiOnTp8eECRMyFt2ffPLJtN3c+/btG/fff/9WJfP3GjhwYNx///3N+rF/kEsuuSQn921JNm7cGBdccEG88MILafNXX311jhIBAAAAQMMomgMAAAAA0KZl2lG5rq4u1q1bF6+//no8+OCDMWvWrLT1ww47rL74uy033XRT/fslJSXxox/9qMGZ9ttvvzjllFPioYceioiIRx55JOrq6iI/Pz/tuPfulp6Xlxd5eS171/hrrrmm2a592223xaZNm+rH48aNi89//vPNdr/GmDlzZvzjH/+oH59++ulx+OGHN/j8b33rW/Hzn/+8/nX6l7/8JWPR/I477kgbf+9734suXbps9/pjx46NU089NR5++OEGZ6LhJkyYsNVcdXV1lJeXx9SpU+P++++P1atXp61/9atfjU984hPZiggAAAAAO0TRHAAAAACANq0xOyoXFBTERRddFDfccEN07Nhxm8etXr06pk6dWj8+6aSTonv37o3Kddxxx9UXzTdu3BivvvrqVjtgv3dH9Q0bNsSjjz4aJ598cqPuky2HHHJIDBs2rNmu/89//jNt/JWvfKXZ7tVYjz/+eNr47LPPbtT5PXv2jIMOOiimTJkSERHPPfdcxuMmTpxY/35hYWGcccYZDb7Hueeeq2jeTI499tgGH9u9e/e49tpr4+KLL27GRAAAAADQNFr21icAAAAAAJAlu+yyS0yaNCl+9atffWDJPCJi0qRJkUql6sfvL4g3xIABA9LGM2fO3OqY9xdYP/3pT8eNN94Y69ata/T9mtvo0aOb7dq1tbXx4osv1o/z8vLihBNOaLb7Ndb7i+E7+3p466230l5fERELFy6MlStX1o9HjhwZPXr0aPD1x48f3+hMTeGZZ56JVCq1Q28DBw7MSebmcvDBB8dbb72lZA4AAABAq6FoDgAAAAAAEbFq1ao4/vjjY8KECds99v2l8MsuuywSiUSj3j760Y+mXWPNmjVb3eeTn/xk7LPPPvXjjRs3xiWXXBK77rprHHfccfHjH/84Jk2aFFu2bNnBj7rpDB48uNmuvXz58ti0aVP9eK+99orOnTs32/0a6/2vh969ezf69fDAAw/Un19XVxcbNmxIu+b8+fPTxiNGjGhUxtLS0ujfv38jPzKa0ksvvRRHHnlkLFq0KNdRAAAAAKBBFM0BAAAAAGjTMu2oXFFREa+99lr86Ec/it69e9cfu379+jj55JNj2rRpH3jN1atXN3nO9evXbzVXWFgYjz76aOy1115p89XV1fHkk0/Gd77znRg3blyUlpbGkUceGTfddFOsWLGiybM1RNeuXZvt2u8v4b/316wlyMbr4f272Pfs2bPR19yRc9i+9399qaurizVr1sRzzz0XX/rSl6KoqKj+2DfffDOOOeaYFvlTCQAAAADg/QpyHQAAAAAAoDn17dYhnrvsyFzHaPP6duuQ6wiN0rlz5xg5cmSMHDkyzjvvvDjuuOPitddei4iIzZs3x+mnnx6vv/56dOrUKeP5zVESTSaTGeeHDBkSr7zyStx0001xyy23xNKlS7c6pqqqKiZOnBgTJ06Mb33rW3HRRRfFddddF126dGnynNtSWFjYbNeuqKhIG7ek3cwjsvN62LhxY9q4pKSk0dfc1uuZppWXlxfdu3ePsWPHxtixY+Pss8+O448/vv51MmfOnLjwwgvjz3/+c26DAgAAAMB2KJoDAAAAAG1aQX5e9O/R+EIm7Ufv3r3j0UcfjQMOOKB+5+z58+fHD37wg7jhhhsynvP+ku/Xvva1+OhHP7pTOYYMGbLNtZKSkrj88svj29/+dkyePDmefvrpmDhxYkyZMiU2b96cdmx1dXX88pe/jH/+85/xr3/9q8Xt/r0j3l+Yf3/pOtdKSkpiw4YN9ePHH388Cgp27p9g+vTpkzZ+f0m8srKy0dfctGnTTmVix4wePTruu+++OOmkk+rnHnjggfjb3/620183AAAAAKA5KZoDAAAAANDu9e/fP2644YY4//zz6+duvvnm+N///d8YNGjQVsf36tUrbdy3b9845phjmjtm5OXlxbhx42LcuHFx5ZVXRk1NTbz00kvxxBNPxB/+8IcoKyurP3bWrFlx7rnnxt///vdmz9XcevTokTZeuXJljpJk1qtXr7Si+ahRo5q84F9aWpo2Li8vb/Q1Vq9e3URpaKyPfvSjcfbZZ8e9995bP3fJJZfECSecEPn5+TlMBgAAAADblpfrAAAAAAAA0BKce+65MXLkyPpxdXV1XHPNNRmPHTx4cNr4vQXvbCosLIzDDjssrrrqqpg9e3b83//9X+Tl/fev/h9//PGYOXNmTrI1pT59+kTnzp3rx7NmzWpRu5pn4/Xw/h3vZ8yY0ajz161bF4sXL27KSDTSD3/4w+jQoUP9+K233oo//OEPOUwEAAAAAB9M0RwAAAAAAOKd3cKvvvrqtLl77703Fi5cuNWxRx55ZNr46aefbtZsDZFIJOLiiy+Os846K21+0qRJGY9/byE9IiKVSjVbtp1VUFAQhx12WP04mUzGE0880aT32JnPRzZeDwMHDkzbJf3111+PNWvWNPj8Z599tskz0Ti77757fOELX0ibu+666yKZTOYoEQAAAAB8MEVzAAAAAAD4j5NPPjn233//+nFNTU388Ic/3Oq4fv36xYgRI+rHc+fOjccffzwrGbdnzJgxaePy8vKMx3Xq1CltXFlZ2WyZmsIJJ5yQNr755pub9Po78/l4f7Zbb701ampqmiTXe40fP77+/Zqamrj//vsbfO5dd93V5HlovEsvvTSKi4vrx7NmzYo//elPOUwEAAAAANumaA4AAAAAAP+RSCTie9/7XtrcXXfdFYsXL97q2EsvvTRt/LWvfS3Wr1/frPka4v3F8u7du2c8rkePHmnj+fPnN1umpnDeeedFly5d6sfPPfdc/O53v2uy6+/M5+Oggw5K29V88eLFW72OmsJ5552XNr722mujoqJiu+dNmjQpHn744SbPQ+PttttuccEFF6TNXXfddS36JwoAAAAA0H4pmgMAAAAAwHucdtppse+++9aPq6ur48c//vFWx336059OO2727Nlx4oknxrJlyxp8r5qamrj77rvj+uuvz7j+6U9/Op599tkGX2/t2rVx2223pc0ddNBBGY99b/aIiAcffLDB98mF0tLS+OpXv5o296UvfanBu3rX1NTEc889t831nf18XHPNNZGX999/dvnJT34SV199daMKxEuWLIlLL700pk2blnH9uOOOi+HDh9eP33777TjjjDM+cPf0hQsXxhlnnNHgDDS/b3/721FUVFQ/fuONN1r87z8AAAAA2idFcwAAAAAAeI9Mu5rffvvtWxXI8/Pz4y9/+Ut069atfu6FF16IESNGxJVXXhmzZ8/OeP0VK1bEY489FhdddFH069cvzj333Jg5c2bGY//2t7/FEUccEfvss09ceeWV8cILL0RlZeVWx23evDkeeOCBOPTQQ2PhwoX18/vvv38ccsghGa99xBFHRGFhYf347rvvjo9//ONxxx13xOOPPx4TJkyof5s8eXLGa2Tb97///fjQhz5UP66uro4zzzwzTjvttJg8eXLU1dWlHV9bWxsvv/xyfO9734uhQ4fGFVdcsc1rH3vssWnja665Jj73uc/FvffeG0888UTa5+Pll1/e6vwxY8bEddddlzZ35ZVXxiGHHBL3339/rF27dqtz6urqYubMmXHrrbfG8ccfH4MHD46f/vSnsWnTpowZ8/Ly4re//W0kEon6ub///e9x2GGHxcSJE9NK7ZWVlXHnnXfGwQcfHEuXLo2CgoLo16/fNj9+smf33XePz33uc2lz1157rV3NAQAAAGhxCnIdAAAAAAAAWppPfepT8YMf/CBmzZoVERFVVVVx/fXXxy9+8Yu04/baa6946KGH4rTTTqsvEq9duzauvvrquPrqq6NXr17Rp0+f6NSpU2zYsCHKy8tj1apVjc4zc+bM+mvm5+fH7rvvHj169IiioqJYt25dzJs3b6tdrUtKSuKOO+7Y5jV79+4dZ599dtoxDz30UDz00ENbHTtw4MBYsGBBo3M3tcLCwnjwwQfj+OOPjzfeeKN+/q9//Wv89a9/jS5dukT//v2jS5cusX79+liwYEFs2bKl/rghQ4Zs89oHHnhgHHXUUfH0009HREQymYy77ror7rrrrq2OHT9+fEycOHGr+W9/+9uxcuXK+PnPf14/9/LLL8eZZ54ZeXl5MWDAgOjZs2dERKxbty7efvvtjN848EHGjRsXV111VXz/+99Pu8eRRx4ZPXv2jIEDB0ZVVVXMmzcvNm/eXH/MD37wg3jyySdj6dKljbofzePb3/523HHHHfW/b6dPnx4PP/xwfOxjH8txMgAAAAD4LzuaAwAAAADA++Tl5cV3v/vdtLnf/e53sXz58q2OPfLII2PatGkZdw4vLy+PGTNmxJQpU2LmzJkZS+aJRCL69+/f4Gx1dXWxcOHCePXVV2PKlCkxa9asrUrm/fr1iwkTJsSoUaM+8Fo33XTTVjt5t3T9+vWLyZMnx8knn7zVWkVFRbz55psxZcqUeOutt9JK5g1x7733bvdztj0/+9nP4u67747S0tK0+WQyGQsWLIiXX345Xn755Zg7d27GknmXLl22Ovf9rrjiivj+97+ftrN5RMTq1avjlVdeiTfeeCOtZP6Vr3xlq9czuTVo0KA4++yz0+auueaaHKUBAAAAgMwUzQEAAAAAIIOzzjorhg0bVj/evHlz3HDDDRmPHTp0aEydOjX+3//7f3HUUUdFUVHRB147Pz8/DjvssLj66qujrKxsmwXTqVOnxk9+8pM4+uijo1OnTtvNPGzYsLjmmmti1qxZcdhhh233+C5dusQ//vGPeOKJJ+K8886LAw44IHr06BGFhYXbPTeXunXrFo888kg888wzcdxxx233873XXnvF9773vbjnnns+8LjddtstXnzxxXjggQfirLPOin333TdKS0ujoKBxPyD2nHPOiQULFsQ111wTe+6553aP7969e3ziE5+Ie+65J5YvXx4HHHDAds+56qqr4rnnnvvAX+fhw4fHX/7yl6124qdluPzyy9NeW6+++mo8+uijOUwEAAAAAOkSqVQqlesQAAAAAADbUlNTE9OnT0+bGzlyZIsvwtK+VVZWxosvvhiLFy+O1atXx+bNm6Nz587Rq1ev2GuvvWL48OENKo6/V11dXcycOTPmzJkTS5cujYqKioh4pyzer1+/OOCAA2Lw4MHN8eG0eJs2bYrJkyfHkiVLory8POrq6qJr164xePDgGDlyZOy+++45zbd06dKYNm1arFy5MlavXh15eXnRtWvX6NevXwwfPjyGDh0aeXk7vjfQvHnz4sUXX4xly5ZFTU1N9OnTJw4++ODYb7/9mvCjoKXL9LwsKyuLurq6+vGcOXNiy5YtMWTIkOjUqVOMHTs2BgwYkO2oAAAAALQSjduCAwAAAAAA2K6SkpI46qijmvSa+fn5MWLEiBgxYkSTXrct6NSpUxx33HG5jrFN/fr1i379+jXb9YcMGRJDhgxptusDAAAAAO3Tjm+PAQAAAAAAAAAAAABAm6RoDgAAAAAAAAAAAABAGkVzAAAAAAAAAAAAAADSKJoDAAAAAAAAAAAAAJBG0RwAAAAAAAAAAAAAgDSK5gAAAAAAAAAAAAAApFE0BwAAAAAAAAAAAAAgTUGuA0BzWLduXTz77LP14/79+0dxcXEOEwEAAACwo1KpVK4jAECrVF5eHrW1tfXjioqKqKmpidWrV0dlZWWUlZVFRUVFDhMCAAAA8EGqqqpi8eLF9ePx48dHaWlp1u6vaE6b9Oyzz8app56a6xgAAAAANIHS0tKYMGFCrmMAQKtz5513phXJS0tLIz8/PzZs2BA1NTWxbNmy2LhxYw4TAgAAANAYDz/8cJxyyilZu19e1u4EAAAAAAAAAAAAAECroGgOAAAAAAAAAAAAAECaglwHgObQv3//tPHDDz8cw4YNy1EaNm7cGFOnTq0fjx49Ojp37pzDRABAU/GcB4C2qyU951OpVFRVVeXk3gDQmn3uc5+L2tra+vHixYujpqYmevXqFatXr45dd901Onfu7M/zANDGtKQ/0wMATctzvv0pKyuLU089tX78/n5sc1M0p00qLi5OGw8bNiz23XffHKVhw4YNsXz58vrx8OHDo2vXrjlMBAA0Fc95AGi7WtJzvqamJqZPn56TewNAa9arV6+oq6urH69bty62bNkSPXr0iNra2ujbt290797dn+cBoI1pSX+mBwCaluc87+/HNre8rN6NNuPMM8+MRCKR9jZo0KBcxwIAAAAAAAAAAAAAmoCiOY326KOPxv3335/rGAAAAAAAAAAAAABAM1E0p1HWr18fX/ziF3MdAwAAAIB2JC9v67/GTCaTOUgCAC1XpmdjKpXKQRIAAAAA2gpFcxrl0ksvjaVLl0ZERKdOnXKcBgAAAID2IFPRvKamJgdJAKDlev+zMZVK+cYsAAAAAHaKojkNNnHixLjtttsi4p1/3LvyyitznAgAAACA9iCRSERxcXHa3Lp163ITBgBaqPc/G31TFgAAAAA7S9GcBtm8eXNccMEF9T9i8ctf/nIccsghOU4FAAAAQHtRWlqaNl67dm3931UBQHuXSqVi7dq1aXMVFRU5SgMAAABAW6FoToNcccUVMXfu3IiIGDBgQFx77bU5TgQAAABAe9K9e/e0cXV1dcybN0/ZHIB2L5VKxbx586K6ujptXtEcAAAAgJ1VkOsAtHzTpk2Lm266qX78f//3f9G5c+fcBYJt2FxdF1MXrIlJc1ZFUUFeXHr83rmOBAAAADSRkpKSKCoqSivRrVu3LmbMmBHdu3eP0tLSKCwsjLw8e2sA0PYlk8moqamJdevWxdq1a7cqmVdXV0dVVVWO0gEAAADQViia84Fqamri/PPPj7q6uoiI+OQnPxknnXRSjlPBfy1eUxn/77Vl8dycVfHKwnVRXZeMiIgenYrim8fuFXl5iRwnBAAAAJpCIpGIQYMGRVlZWSSTyfr56urqWLFiRaxYsSKH6QCg5Ugmk7F8+fJcxwAAAACgDbC9Dx/oRz/6Ubz++usREVFaWho333xzjhNBurJVG+OGf8yKF+etqS+ZR0Ss2VQdM5dvyGEyAAAAoKl16dIlhg0bZtdyANiGZDIZS5Ysic2bN+c6CgAAAABtgH+RYZvefPPNuO666+rH119/ffTp0yeHiWBrhw7uEYX5mXctn1xWnuU0AAAAQHN7t2xeVFSU6ygA0KJUV1dvt2SeSqXSxomEnwoKAAAAwLYpmpNRMpmM888/P6qrqyMiYty4cfH5z38+x6lgayVFBTFqQPeMa8/NUTQHAACAtqhLly4xYsSIGD58eOy6665RXFyc60gAkHWpVCqqq6tj9erVsWDBgpg/f/52dzKvq6uLiIj8/Py0/wIAAABAJgW5DkDLdPPNN8eLL74YERFFRUVx66235mxXi5UrV8aqVasadU5ZWVnaeOPGjbFhw4amjEUjbNq06QPHO+uQ/l1iyvw1W81Pm78mVq1ZF8UFvqcGAJpLcz/nAYDcaS3P+a5du0bXrl1jzpw5MWPGjNi8eXMsXbo08vPzY/DgwXZqBaBNSqVSkUwmG3VOVVVVVFVVRSKRqN/ZvKDgnX8qbKnPeQBgx7SWP9MDAI3nOd/+bNy4Maf3VzRnK/Pnz4/vfe979ePvfOc7sffee+cszy233BJXXXXVTl1j6tSpsXz58iZKxM6aOnVqk16vsCIi05ezLbXJuPuxf8Ue3VJbrQEAzaOpn/MAQMvR0p/zW7ZsiXnz5kUqlYqVK1dGKpWKLVu22O0cAP6joqIiNm7cGMXFxbF8+fIoLCyMDh06RETLf84DADvHsx4A2i7P+bZv0aJFOb2/bX7ZyoUXXlj/XS577713XH755TlOBB+sf+eIjvmZy+RvrbdrGQAAALQHHTp0iI4dO0YikagvzW3cuLF+x1YAaM9qa2ujsrIyIqL+Odm9e3c/+QMAAACAD6RoTprbb789JkyYEBERiUQibr311igqKspxKvhg+YmIYV0z/6Px7HX+khwAAADai9LS0oiI6NSpUyQSiaiuro41a9ZETU2NwjkA7VIqlYqqqqpYs2ZNJJPJKCgoqC+av/vcBAAAAIBtKch1AFqOt99+Oy655JL68QUXXBDjxo3LYaJ3XHzxxfHJT36yUeeUlZXFqaeeWj8ePXp0DB8+vImT0VCbNm1K+xEdo0ePjk6dOjXpPVZ0XRav/2PuVvOLNyVi1IfGRreOhU16PwDgHdl4zgMAudEan/ObNm2Kp556KmpqaqJfv36xePHiSCaTUVtbG3l5edGpU6fIz8+3eysAbV4qlYqamprYuHFjJJPJ6NKlSxQVFcXAgQOjoKAgSkpKori4uP741vCcBwAarjX+mR4AaBjP+fZn5syZOb2/ojn1/vd//zfWrVsXERF9+vSJn/zkJ7kN9B+9e/eO3r1779Q1OnfuHF27dm2iROysTp06NfmvxzEj8uKHGYrmqYiYsbI6TtyvZ5PeDwDIrDme8wBAy9AanvNdu3aNE088MZ555pkoLi6O4uLiWLVqVWzcuDHq6upiw4YNuY4IAFlXXFwcXbt2jV133TUKCgqie/fucfDBB8fzzz9ff0xreM4DADvOsx4A2i7P+bavc+fOOb2/ojkREfHAAw/EQw89VD/+xS9+4Ucm0qoM7tUp+pV2jKXrNm+1NqmsPE7cr28OUgEAAADZ1rNnzzjyyCPjmWeeiYiIgQMHRjKZjA0bNkRVVVXU1dVFMpnMcUoAaD6JRCLy8vLqf5pHp06d6n+aR/fu3eOoo46KqqqqHKcEAAAAoDVQNCciIi699NL69z/60Y/Gpz71qRymgcZLJBIxZljP+PNLS7Zam1RWnoNEAAAAQK707Nkzjj322Jg7d24sWrQoKisrbaoAQLvWo0eP6N+/fwwbNiyKi4sVzQEAAABoEEVzIiJi3bp19e//7W9/q9/ZojEWLly41XmvvvpqHHDAATuZDhpmzLBeGYvmC1dXxuI1ldG/R0kOUgEAAAC50K1btxg1alQceOCBUV5eHsuWLYvNmzdHTU2NHc0BaPPy8/OjqKgoOnfuHP37948uXbrkOhIAAAAArZCiOdBmjBnWa5trk8vK44zRA7KYBgAAAGgJEolE7LLLLrHLLrvkOgoAAAAAAECrkpfrAABNpVfn4hjet2vGtefKyrOcBgAAAAAAAAAAAKD1sqM5ERHxyCOPRE1NTaPOee211+KSSy6pH++6665x3333pR0zbNiwJskHDTVuj14x8+0NW80/X1YeyWQq8vISOUgFAAAAAAAAAAAA0LoomhMREePHj2/0OQUF6S+fDh06xDHHHNNUkWCHjBnWK27917yt5tdW1sSbb2+IEf265SAVAAAAAAAAAAAAQOuSl+sAAE1p9KAeUZSf+UvbpLLyLKcBAAAAAAAAAAAAaJ0UzYE2pWNRfhw0sHvGtcmK5gAAAAAAAAAAAAANomgOtDlj9+iVcX7q/DWxpaYuy2kAAAAAAAAAAAAAWh9Fc6DNGTMsc9G8qjYZLy9cm+U0AAAAAAAAAAAAAK2PojnQ5uzXr1t07VCQce25OeVZTgMAAAAAAAAAAADQ+iiaA21Ofl4iDh+aeVfzyWWK5gAAAAAAAAAAAADbo2jODjviiCMilUrVvy1YsCDXkaDe2D0yF81nLFsfazdVZzkNAAAAAAAAAAAAQOuiaA60SWOHZS6ap1IRz89dneU0AAAAAAAAAAAAAK2LojnQJg3sWRL9SjtmXJtUVp7lNAAAAAAAAAAAAACti6I50CYlEokYt0fmXc0nK5oDAAAAAAAAAAAAfCBFc6DNGjMsc9F80ZrKWLS6MstpAAAAAAAAAAAAAFoPRXOgzdpW0TwiYpJdzQEAAAAAAAAAAAC2SdEcaLN6dCqKfXfrmnFtUtmqLKcBAAAAAAAAAAAAaD0UzYE2bew2djV/fu7qqEumspwGAAAAAAAAAAAAoHVQNAfatLF7ZC6ar6usiTeXbchyGgAAAAAAAAAAAIDWQdEcaNMOGdQjigoyf6l7rmxVltMAAAAAAAAAAAAAtA6K5kCb1qEwPw4e2D3j2uSy8iynAQAAAAAAAAAAAGgdFM2BNm/sHr0yzk9bsDa21NRlOQ0AAAAAAAAAAABAy6doDrR5Y4dlLppX1yZj2oI1WU4DAAAAAAAAAAAA0PIpmgNt3r67dYvSksKMa5PKyrOcBgAAAAAAAAAAAKDlUzQH2rz8vEQcPrRnxrVJcxTNAQAAAAAAAAAAAN5P0RxoF8YM65Vx/o1lG2LNpuospwEAAAAAAAAAAABo2RTNgXZh3LBdtrn2/Fy7mgMAAAAAAAAAAAC8l6I50C4M6FkS/Xt0zLg2aY6iOQAAAAAAAAAAAMB7KZoD7cbYbexq/tyc8kilUllOAwAAAAAAAAAAANByKZoD7cbYYb0yzi9dtzkWrq7MchoAAAAAAAAAAACAlkvRHGg3Dh/aMxKJzGuTysqzGwYAAAAAAAAAAACgBVM0B9qN7p2KYsRu3TKuTVY0BwAAAAAAAAAAAKinaA60K2OG9co4//zc1VGXTGU5DQAAAAAAAAAAAEDLpGgOtCtjt1E0X7+5JmYsXZ/lNAAAAAAAAAAAAAAtk6I50K4cPKh7FBdk/tI3qaw8y2kAAAAAAAAAAAAAWiZFc6Bd6VCYH4cM6pFxbdIcRXMAAAAAAAAAAACACEVzoB0au0evjPMvL1wbm6vrspwGAAAAAAAAAAAAoOVRNAfanbHDMhfNq+uSMXXBmiynAQAAAAAAAAAAAGh5FM2Bdmefvl2je0lhxrXJZeVZTgMAAAAAAAAAAADQ8iiaA+1OXl4iDt/GruaT5iiaAwAAAAAAAAAAACiaA+3S2G0Uzd98e0OUb6zKchoAAAAAAAAAAACAlkXRHGiXtlU0j4h4fu7qLCYBAAAAAAAAAAAAaHkUzYF2qX+PkhjYsyTj2qQ5q7KcBgAAAAAAAAAAAKBlUTQH2q0x29jVfNKc8kilUllOAwAAAAAAAAAAANByKJoD7da4bRTNl63fEgtWV2Y5DQAAAAAAAAAAAEDLoWgOtFuHDe0ZiUTmtUlzVmU3DAAAAAAAAAAAAEALomgOtFulJUWxX79uGdcmlZVnOQ0AAAAAAAAAAABAy6FoDrRrY4f1yjj//NzVUZdMZTkNAAAAAAAAAAAAQMugaA60a9sqmldsqY3pS9ZlNwwAAAAAAAAAAABAC6FoDrRrowZ2jw6Fmb8UTi4rz3IaAAAAAAAAAAAAgJZB0Rxo1zoU5schg3pkXHtujqI5AAAAAAAAAAAA0D4pmgPt3thhvTLOv7JobVRW12Y5DQAAAAAAAAAAAEDuKZoD7d7YPTIXzWvqUjF1/pospwEAAAAAAAAAAADIPUVzoN0b3qdr9OhUlHFt0pzyLKcBAAAAAAAAAAAAyD1Fc6Ddy8tLxOFDe2Zcm1SmaA4AAAAAAAAAAAC0P4rmABExbo9eGeffWl4RqyqqspwGAAAAAAAAAAAAILcUzQEiYsywzEXziIjn59rVHAAAAAAAAAAAAGhfFM0BImL37iUxuFenjGuT5iiaAwAAAAAAAAAAAO2LojnAf4wZ1jPj/KSy8kilUllOAwAAAAAAAAAAAJA7iuYA/zF2WK+M82+v3xLzyjdlOQ0AAAAAAAAAAABA7iiaA/zHYUN6RV4i89rksvLshgEAAAAAAAAAAADIIUVzgP/oVlIY++1emnHtuTmK5gAAAAAAAAAAAED7oWgO8B7jhvXKOP/i3NVRW5fMchoAAAAAAAAAAACA3FA0B3iPMdsomldU1cZrS9ZnOQ0AAAAAAAAAAABAbiiaA7zHqIGl0bEwP+Pa5LLyLKcBAAAAAAAAAAAAyA1Fc4D3KC7Ij9GDe2Rcm6RoDgAAAAAAAAAAALQTiuYA7zN2WK+M868uWhubqmqznAYAAAAAAAAAAAAg+xTNAd5nzDaK5jV1qZg6f02W0wAAAAAAAAAAAABkn6I5wPvs3adL9OpclHFtUll5ltMAAAAAAAAAAAAAZJ+iOcD75OUl4vChmXc1nzRH0RwAAAAAAAAAAABo+xTNATIYu0fmovmsFRWxsmJLltMAAAAAAAAAAAAAZJeiOUAGY4ZlLppHREwus6s5AAAAAAAAAAAA0LYpmgNk0K+0Ywzp1Snj2qQ5q7OcBgAAAAAAAAAAACC7FM0BtmHsHpl3NZ9cVh6pVCrLaQAAAAAAAAAAAACyR9EcYBvGDMtcNF++YUvMXbUxy2kAAAAAAAAAAAAAskfRHGAbDhvaM/ISmdcmzSnPbhgAAAAAAAAAAACALFI0B9iGrh0KY//+pRnXJpWtzm4YAAAAAAAAAAAAgCxSNAf4AGOH9co4/+K81VFTl8xyGgAAAAAAAAAAAIDsUDQH+ADbKppvrKqN6UvWZTcMAAAAAAAAAAAAQJYomgN8gAMHdI+OhfkZ156bU57lNAAAAAAAAAAAAADZoWgO8AGKCvLi0CE9Mq5NLlM0BwAAAAAAAAAAANomRXOA7Rg7rFfG+VcXrYuNVbVZTgMAAAAAAAAAAADQ/BTNAbZj7B6Zi+a1yVRMmbc6y2kAAAAAAAAAAAAAmp+iOcB27LVrl+jVuTjj2tNvrcxyGgAAAAAAAAAAAIDmp2gOsB2JRCLGDuuZce2Bl5bE4jWVWU4EAAAAAAAAAAAA0LwUzQEaYPxeu2Scr65Lxo3/nJXlNAAAAAAAAAAAAADNS9EcoAFO2Ldv9O5SnHHt4X8vixlL12c5EQAAAAAAAAAAAEDzUTQHaICORfnx9WP33Ob6D/8+M1KpVBYTAQAAAAAAAAAAADQfRXOABvrkQbvHHr07Z1x7fu7qmDh7VZYTAQAAAAAAAAAAADQPRXOABirIz4tvn7j3Ntd//Pe3oi5pV3MAAAAAAAAAAACg9VM0B2iEo/buHYcO7pFxbdaKivjLK0uynAgAAAAAAAAAAACg6SmaAzRCIpGIyz8yfJvrN/5zVmyurstiIgAAAAAAAAAAAICmp2gO0Ej79y+N/9l/t4xrKzZUxR2T52c5EQAAAAAAAAAAAEDTUjQH2AGXHrdXFOYnMq79euLcWL2xKsuJAAAAAAAAAAAAAJqOojnADhjQsyTO/tCgjGsbq2rjl0+XZTcQAAAAAAAAAAAAQBNSNAfYQV8+alh06VCQce2+FxfG/PJNWU4EAAAAAAAAAAAA0DQUzQF2UPdORfG/Rw7LuFabTMUN/3gry4kAAAAAAAAAAAAAmoaiOcBOOPfwQbFbtw4Z1/7++vJ4ZdHaLCcCAAAAAAAAAAAA2HmK5gA7oUNhflxy/F7bXP/h32ZGKpXKYiIAAAAAAAAAAACAnadoDrCTTj2gXwzv2zXj2ksL18Y/31yR5UQAAAAAAAAAAAAAO0fRHGAn5eUl4vKP7L3N9esffytq6pJZTAQAAAAAAAAAAACwcxTNAZrAuD12iXF79Mq4Nq98U/xp2uIsJwIAAAAAAAAAAADYcYrmLVRlZWVMnz69/g1o+b5z4vBIJDKv3TRhdmysqs1uIAAAAAAAAAAAAIAdpGjeCKNGjap/mzZt2naP35my+AsvvBAHHnhgHHjggTFq1KgdjQxk0T67dY2PH7h7xrXyjdVx67/mZTkRAAAAAAAAAAAAwI4pyHWA1uTf//53REQkEomoqKjY7vEvvPBCHHfccfXn1NY2bjfjVCrV6IxAbn3zuD3jsenLoqo2udXa7/41Lz5z6IDo3bVDDpIBAAAAAAAAAAAANJwdzRspkUg06vhUKlX/BrR9u5V2jPPGDs64trmmLn4+YXaWEwEAAAAAAAAAAAA0nqI5QBP74hFDo3tJYca1P01bHHNWbP8nIgAAAAAAAAAAAADkkqI5QBPr2qEwvnzUHhnXkqmI6594K8uJAAAAAAAAAAAAABpH0RygGXzmQwNjQI+SjGsTZq6MF+etznIiAAAAAAAAAAAAgIZTNAdoBkUFeXHZCXttc/2Hf58ZyWQqi4kAAAAAAAAAAAAAGk7RHKCZfHS/vrH/7t0yrk1fsj7+9vrbWU4EAAAAAAAAAAAA0DCK5gDNJJFIxOUfGb7N9Z/8462oqq3LYiIAAAAAAAAAAACAhlE0B2hGhw7pGccM3zXj2uI1m+O+FxdlOREAAAAAAAAAAADA9imaAzSzb5+4V+QlMq/98uk5sX5zTXYDAQAAAAAAAAAAAGyHojlAMxvWu0ucfsiAjGvrKmvi1xPnZjkRAAAAAAAAAAAAwAdTNAfIgq8fs0eUFOVnXLtj8vxYum5zlhMBAAAAAAAAAAAAbFtBrgPQclVXV8dbb70VCxYsiKVLl0ZFRUXU1NRE165do2fPnjFy5MgYPnx45OdnLs8C/9W7a4f4/Lgh8Yun5my1Vl2bjBv/OSt+9qkDsh8MAAAAAAAAAAAAIANFc9I8+OCDMWHChJg8eXK89dZbUVtb+4HHd+vWLc4888z46le/GnvvvXeWUkLr9PkPD4nfT1kU5Rurtlp76NWlcf7YwbHvbt1ykAwAAAAAAAAAAAAgnaL5DvrmN78Z3bt3/8Bj1q5dmzY+6qijGnz995+bLV/72tdi6dKlDT5+/fr18Zvf/CZuv/32uPzyy+PKK6+MRCLRjAmh9epcXBBfO2aP+N7DM7ZaS6Uifvz4W3Hv+YfmIBkAAAAAAAAAAABAOkXzHZBKpWL69OmNPufZZ59t1DmJRCJSqVSjzmkOHTp0iAEDBkS3bt0imUxGeXl5LFq0KC1bTU1NXHXVVbF48eK4/fbbc5gWWrYzDukfd0yeH/NWbdpq7bk55fGv2aviw3vukoNkAAAAAAAAAAAAAP+Vl+sArVFjduxOJBL1b63FbrvtFp///Ofj3nvvjbKysti0aVPMmjUrpk6dGi+99FIsWLAgVq9eHbfeemvsvvvuaefecccdceedd+YoObR8Bfl58e0T9t7m+o8efyvqkrn/BhMAAAAAAAAAAACgfVM0b6RUKpXVt2z7+9//HkuWLIlbb701PvOZz8TQoUMjL2/rl0n37t3j85//fEyfPj1GjRqVtvbd7343kslktiJDq3PsPrvGIYO6Z1yb+faGePjVpVlOBAAAAAAAAAAAAJCuINcBWpP2sFP3yJEjG3V89+7d47777ot99923vhj/9ttvx+TJk2PcuHHNERFavUQiEd/5yPD4+C3PZ1y/8Z+z4qMj+0aHwvwsJwMAAAAAAAAAAAB4h6J5I3z2s5/NdYQWafjw4XHQQQfFSy+9VD83c+ZMRXP4AKMGdI+P7tc3/vb621utLVu/Je6cvCC+eMTQHCQDAAAAAAAAAAAAiMjLdQDahqFD0wux5eXlOUoCrcelx+8VBXmJjGu3PFMWazZVZzkRAAAAAAAAAAAAwDsUzWkSW7ZsSRuXlpbmJgi0IoN6dYrPfGhgxrWKqtr41dNlWU4EAAAAAAAAAAAA8A5F81agrq4u1xE+UCqVimnTpqXNHXTQQTlKA63Ll48aFl2KCzKu3fvigli4elOWEwEAAAAAAAAAAAAomrdor732WnzjG9+I3XffPddRPtAdd9wRy5Ytqx/vvffeMXr06BwmgtajZ+fi+MIRQzOu1dSl4oZ/zMpyIgAAAAAAAAAAAABF8xanvLw8brrppjjwwANj1KhR8Ytf/CJWrlyZ61jbdPfdd8fFF19cP87Ly4tf/epXkUgkcpgKWpfzxgyOPl07ZFx7bPrb8e/F67IbCAAAAAAAAAAAAGj3CnIdgIja2tp49NFH46677oonnngiamtrI5VK1a/nsrQ9e/bsWLRoUf24pqYm1q5dGzNmzIhHHnkk3nzzzfq1oqKiuPXWW+Poo4/ORVRotToW5cc3jtszLntwesb1Sx94LR78wuHRraQwy8kAAAAAAAAAAACA9krRPIdefvnluPvuu+OPf/xjrFmzJiKivmD+brn8vYXzXLjlllviF7/4xQcek0gk4oQTTogf/ehHsf/++zd5hpUrV8aqVasadU5ZWVnaeOPGjbFhw4amjEUjbNq06QPHRBw7rGvssUtJzFlVudXanJUb47w7X4zfnLlfFBf4QRQAtCye8wDQdnnOA0Db5TkPAG2bZz0AtF2e8+3Pxo0bc3p/RfMsW7FiRdx7771x99131+8G/t5yeSKRiFQqFalUKkpKSuKkk06KM888M5eRt+uTn/xkfOUrX2mWknnEO2X3q666aqeuMXXq1Fi+fHkTJWJnTZ06NdcRWqSjeyZizqr8jGsvL94QF9z2XJy7ZzLycvdDDgBguzznAaDt8pwHgLbLcx4A2jbPegBouzzn275Fixbl9P6K5llQXV0djzzySNx1113x5JNPRl1dXdpO5e8tlxcVFcXxxx8fZ5xxRpxyyilRUlKSw+QN8+c//zn+/Oc/x7hx4+KOO+6IYcOG5ToStEp7l6Zin9JkvLku867lr63Ji78uiDhtUDISyuYAAAAAAAAAAABAM8rcZqRJTJkyJS6++OLo27dvnHHGGfHEE09EbW1tpFKp+t3L33X00UfHbbfdFsuXL49HHnkkzjzzzBZRMr/pppvqS/CpVCoqKytj8eLF8dhjj8X5558fHTt2rD/2ueeei0MOOSReeumlHCaG1iuRiPj0sGT07pDa5jHPLc+LCcu0zAEAAAAAAAAAAIDmlUi9d2ttdtqyZcvinnvuibvvvjtmz54dEVG/e/m7xfL3jt8tndfV1eUm8E4qKyuLT37yk/Hvf/+7fq5fv34xY8aMKC0tbZJ7rFy5MlatWtXoXKeeemr9+MUXX4zhw4c3SR4ab9OmTWk/omP06NHRqVOnHCZq2Zau2xJn3/3vKN9Us81jrv2fPePk/XbNYioAyMxzHgDaLs95AGi7POcBoG3zrAeAtstzvv2ZOXNmfOhDH6ofz5gxI/bdd9+s3b8ga3dqw7Zs2RIPPfRQ3HXXXfH0009HMplMK5O/WyhPpVLRuXPn+NjHPhZDhgyJq666KsfJd96wYcPiySefjFGjRsXixYsjImLp0qVxww03xHXXXdck9+jdu3f07t17p67RuXPn6Nq1a5PkYed16tTJr8cH6Nq1a9x9/qFx+m9fjI1VtRmP+cHf5sTuvbrFEXvt3O8NAGhqnvMA0HZ5zgNA2+U5DwBtm2c9ALRdnvNtX+fOnXN6/7yc3r2Vmzx5clx44YXRt2/f+MxnPhMTJkyIurq6+l3KI97ZvTw/Pz8+8pGPxO9///tYsWJF3H333TF27Ngcp286vXr12qo0f9ddd+UmDLQR++7WLX579kFRmJ/IuF6bTMXFv38lpi9Zl91gAAAAAAAAAAAAQLugaN5IixcvjmuvvTb23HPP+PCHPxy33357rF+/Pm0H84h3CuajR4+Om2++OZYtWxaPPfZYnHnmmdGxY8dcxm82H/vYx+o/9oiIZcuWxcKFC3OYCFq/McN6xU8/uf821yur6+K8u6bFwtWbspgKAAAAAAAAAAAAaA8Kch2gNTn66KPj2WefjVQqlVYsTyQS9XNDhw6NT3/60/GZz3wmhg0bluPE2VNaWho9evSI1atX188tX748Bg4cmMNU0PqdckC/WLmhKq77+8yM6+Ubq+OcO6bGX754ePTqXJzldAAAAAAAAAAAAEBbpWjeCM8880z9++8tl/fq1StOP/30+MxnPhOHHnpoDhO2LIWFhbmOAG3C5z88JJZv2BK3T5qfcX3h6so4765p8cfPfyg6FfuyDgAAAAAAAAAAAOy8vFwHaG0SiUT9+2PHjo3HHnss3n777fjlL3/ZrkvmFRUVsWbNmrS5XXfdNUdpoO357keGx//sv9s216cvWR8X//6VqKlLZjEVAAAAAAAAAAAA0FYpmu+Ad3czf/755+P666+PO++8M9avX5/rWDn1t7/9LVKpVP14l112ib59++YwEbQteXmJ+OknR8ZhQ3pu85hnZ6+Kb//l9bTfiwAAAAAAAAAAAAA7QtG8kd4tcCYSiUgmkzFp0qS46KKLok+fPnHaaafFQw89FDU1NTlOmV2bN2+OK6+8Mm3upJNOirw8Ly9oSsUF+fHbcw6Kvft02eYxf3llSfz0n7OymAoAAAAAAAAAAABoizSBG+Hxxx+PT33qU1FcXJy2Y3AqlYqqqqp4+OGH4xOf+ETsuuuucdFFF8W//vWvHKZtvMsuuyymTZvWqHPWrFkTJ598csyePbt+Lj8/P77+9a83dTwgIrp2KIy7zxsd/Uo7bvOY/3tmbtz7woLshQIAAAAAAAAAAADaHEXzRjj++OPj/vvvj+XLl8evf/3r+NCHPpS2w3nEO6XzdevWxW233RZHHnlkDBo0KL773e/Gm2++mcvoDfLPf/4zRo8eHYceemj87Gc/i3//+98Zd2dPpVLx1ltvxTXXXBN77bVXTJgwIW3961//euy3337Zig3tzq5dO8Td542O0pLCbR7z/f/3Rjwx4+0spgIAAAAAAAAAAADakoJcB2iNunbtGhdddFFcdNFFMWfOnLjzzjvjvvvuiyVLlkREeul80aJF8eMf/zh+/OMfx8iRI+Pss8+OM888M5fxt2vq1KkxderUiIgoKiqKfv36RWlpaRQVFUVFRUUsXrw4KioqMp772c9+Nq6//vpsxoV2aVjvznH7Zw+Os343Japqk1utp1IRX7n/33Hf+cUxenCPHCQEAAAAAAAAAAAAWjM7mu+kPfbYI374wx/GwoUL45///GeceeaZ0aFDh7SdzlOpVKRSqXjttdfi0ksvjQEDBsRXvvKVHCdvmOrq6pg/f368+uqrMWXKlHjzzTczlsy7du0at9xyS9x5552Rl+dlBdlw0MAe8auzRkVeIvN6dW0yLrh7WsxekfkbQwAAAAAAAAAAAAC2RSO4iSQSiTjmmGPi97//fSxfvjxuvfXWGDt2bFrh/N3SeV1dXbz11lv1O59HREyaNClX0ev98Y9/jOuvvz6OOeaY6Nq163aPTyQSMXLkyLjhhhuirKwsvvjFL6Z9TEDzO3afXePaU/fb5vqGLbXx2TumxtvrN2cxFQAAAAAAAAAAANDaFeQ6QFvUpUuXuOCCC+KCCy6IefPmxZ133hn33XdfLFy4MCIirYz9bvl8/Pjxsdtuu8UZZ5wRp59+ehx88MFZzz18+PAYPnx4XHbZZZFMJmPOnDlRVlYWixYtig0bNkRNTU106dIlunXrFoMGDYpRo0Y1qJAONK+zDh0QyzdsiZufmpNx/e31W+LcO6bFn79wWHTrWJjldAAAAAAAAAAAAEBrpGjezIYMGRLXXHNNXHPNNfHMM8/EnXfeGQ899FBs2rQpItJ3Ol+6dGn87Gc/i5/97GcxdOjQOOOMM+KMM86IffbZJ+u58/LyYq+99oq99tor6/cGGu/rx+wRKzdsifunLc64PmtFRXz+npfinvNGR4fC/CynAwAAAAAAAAAAAFqbvFwHaE+OPPLIuOeee2L58uVx++23x/jx4yMiIpVKpRXOU6lUlJWVxXXXXRf77bdf7L///jlODrR0iUQirj11RBy9d+9tHjN1/pr4xp//HXXJVBaTAQAAAAAAAAAAAK2RonkOdOrUKT73uc/FM888E3Pnzo3vf//7MWjQoEil3il/vr90PmPGjBwnBlqDgvy8+OVZB8YB/Uu3eczfX18e1zz2Zv3XGwAAAAAAAAAAAIBMFM1zbNCgQfGDH/wg5s6dGxMnToxzzz03OnfurAQK7JCSooK449xDYkivTts85q7nF8Rvnp2XxVQAAAAAAAAAAABAa6No3oJ8+MMfjjvuuCOWL18ed911Vxx11FGRSCRyHQtoZXp0Koq7zxsdu3Qp3uYx1z/xVvz1lSVZTAUAAAAAAAAAAAC0JormLVDHjh3jnHPOiQkTJsT8+fPj6quvznUkoJXp36Mk7jz3kOhcXLDNYy57cHo8O3tVFlMBAAAAAAAAAAAArYWieQs3YMCA+O53v5vrGEArNKJft/jNZw6KwvzMPxmhNpmKL973cry+ZH2WkwEAAAAAAAAAAAAtnaI5QBs2do9e8dNP7r/N9crquvjcXVOjbGVFFlMBAAAAAAAAAAAALZ2iOUAbd8oB/eLyj+y9zfXyjdXxkV9Mihv/OSs2V9dlMRkAAAAAAAAAAADQUhXkOkBrMmTIkJzcN5FIxNy5c3Nyb6Bt+Py4IbF8fVXcMXl+xvXqumT88umy+OsrS+O7Hx0eJ47oE4lEIsspAQAAAAAAAAAAgJZC0bwRFixYEIlEIlKpVFbvq+wJ7KxEIhHf++jwWFmxJR6b/vY2j1u6bnNc/PtXYsywnnHVyfvGsN5dspgSAAAAAAAAAAAAaCnych2gNUokEll7A2gqeXmJuPFT+8dhQ3pu99jJZavjhJuei+v+9mZUbKnJQjoAAAAAAAAAAACgJVE030GpVCorbwBNqbggP357zkExZtj2y+a1yVT87rn5cdSNz8ZDry7xNQkAAAAAAAAAAADakYJcB2iNUqlU5Ofnx1FHHRXnnHNOnHjiiZGfn5/rWAAN0rVDYdx73qHxwMuL4/onZsWaTdUfePyqiqr4+p9eiz9MWRQ/OHnf2He3bllKCgAAAAAAAAAAAOSKovkOSCQSkUwmY8KECTFhwoTo3bt3fPrTn45zzjknRo4cmet4ANuVl5eI0w8ZECfs2zd+PmF23PPCgkhuZ8PyaQvWxv/8clJ85kMD4xvH7hmlJUXZCQsAAAAAAAAAAABkXV6uA7Qmd9xxR4wfPz4i3tnV/N23FStWxM9//vM48MAD44ADDoif//znsWLFihynBdi+biWF8YOT943HvjwuRg/qsd3jk6mIe15YGEfd+Gz8ceqiqNteOx0AAAAAAAAAAABolRTNG+Hcc8+Np59+OubPnx9XXXVVDBs2LG09lUrF66+/Hpdcckn0798/TjrppHjggQeiuro6R4kBGmaf3brGny76UPzijAOid5fi7R6/ZlN1fOevr8fHbpkcry5am4WEAAAAAAAAAAAAQDYpmu+AAQMGxBVXXBGzZ8+OSZMmxQUXXBBdu3aNiHfK5hERtbW18fjjj8cZZ5wRffr0iS9+8Yvx/PPP5zI2wAdKJBJxygH94ulLjoiLPjwkCvIS2z1n+pL18bFbno/LHnwtyjdWZSElAAAAAAAAAAAAkA2K5jvp8MMPj1tvvTWWL18ef/jDH+KEE06IvLx3Pq2pVCpSqVSsW7cubr311hg3blzsueeece2118bChQtznBwgs87FBfGdjwyPJ7724Ri3R68GnfPnl5bEkT+dGHdNnh+1dclmTggAAAAAAAAAAAA0N0XzJlJcXBxnnHFG/P3vf4/FixfH9ddfH/vuu2/aMalUKsrKyuLKK6+MoUOHxpFHHhl33XVXbNy4MUepAbZtWO/Occ95o+M3nzko+pV23O7xFVtq4wePvhkn/XJSTJm3OgsJAQAAAAAAAAAAgOaiaN4M+vTpE5deemm8/vrr8dJLL8WXvvSl6NmzZ9oxyWQy/vWvf8X5558fffr0ibPPPjuefPLJHCUGyCyRSMQJI/rEhG+Mj68cvUcUFWz/sfHW8oo4/dYX4yt/fDWWr9+ShZQAAAAAAAAAAABAU1M0b2ajRo2Km2++OZYtWxYPPfRQnHrqqVFQUBAR7+xwnkqlorKyMn7/+9/HiSeeGJWVlTlODLC1jkX58Y1j94wJXx8fxwzftUHn/L/XlsVRN06M3zw7N6prk82cEAAAAAAAAAAAAGhKiuZZUlBQEKecckr89a9/jWXLlsXNN98cBx10UES8s2NwxDvFc4CWbEDPkrjtswfHnZ87JAb36rTd4yur6+LHj78VJ9z0r3hs+rKoS/o6BwAAAAAAAAAAAK2BonkOFBUVRceOHaNjx465jgKwQ47cq3c88bVxcdkJe0XHwvztHj+vfFN86Q+vxtE3TozfT1kYW2rqspASAAAAAAAAAAAA2FGK5lmSSqXiiSeeiDPPPDP69OkTF154YUyePLl+N3OA1qa4ID8uPmJYPPXN8XHSyL4NOmfB6sr47kMzYuz1z8QtE8tiw5aaZk4JAAAAAAAAAAAA7IiCXAdo66ZPnx733HNP/OEPf4gVK1ZExDul80QiEalUKiIiOnbsGKecckp89rOfjZKSklzGBWi03Uo7xq/OGhVnHVoeP/h/b8TsFRu3e075xqr4yROz4pZn5sanPzQgzh8zOHp37ZCFtAAAAAAAAAAAAEBDKJo3g5UrV8bvf//7uOeee2L69OkREfWl8vcaN25cnHPOOfGpT30qunTpku2YAE3q8KG94m9fGRf3vLAwbnpydlRU1W73nI1VtfHbZ+fFnZMWxMdH9YsLPzwkhuzSOQtpAQAAAAAAAAAAgA+iaN5Eqqur4+GHH4677747nnzyyairq4uI/+5e/q4hQ4bE2WefHeecc04MHjw4V3EBmkVhfl6cP3ZwnLz/bvHjx9+Kv7yypEHnVdcl4/5pi+NPLy2OE/btE18YPzT271/avGEBAAAAAAAAAACAbVI030mTJk2Ke+65Jx588MFYv359RPy3XP7uLuZdunSJT33qU3HOOefE2LFjcxkXICt26VIcN35q/7jww0Pit8/OjUdeWxZ1ya1/ssP7pVIRj89YHo/PWB6HDekZXzxiaIzbo1faN+wAAAAAAAAAAAAAzU/RfAfMnz8/7rnnnrj33ntj/vz5ERH1pfJ35eXlxbHHHhvnnHNOnHrqqdGhQ4dcRAXIqb36dImfnX5AfOO4PeO25+bHn6Ytjs01dQ0694V5q+OFeatj3926xkXjh8ZHRvSJgvy8Zk4MAAAAAAAAAAAARCiaN8rvfve7uOeee+L555+PiP+Wy9+70+6IESPinHPOic985jPRp0+fnOQEaGl2714SPzh53/jK0XvEPS8siLueXxDrKmsadO4byzbEV/74avy0R0l8/sND4pMH7R4dCvObOTEAAAAAAAAAAAC0b4rmjXDRRRdFIpHYavfyXr16xVlnnRXnnHNOHHjggTlKB9Dy9ehUFF87Zs+48MND4k/TFsdtz82Ppes2N+jcRWsq44qHZ8QvJsyOz40ZHJ/50MDo1rGwmRMDAAAAAAAAAABA+6RovoPy8/PjyCOPjHPOOSdOPPHEKCx8p+y4YcOGZrlf165dm+W6ALlQUlRQXxZ/9LVl8dtn58WsFRUNOrd8Y3Xc8I9ZccszZfHpDw2M88YMjj7dOjRzYgAAAAAAAAAAAGhfFM13UDKZjKeeeiqeeuqpZr9XIpGI2traZr8PQLYV5ufFx0ftHh87sF88M2tl/GbivJi6YE2Dzt1UXRe3/mte3Dl5fnzswH5x4YeHxrDenZs5MQAAAAAAAAAAALQPiuY7IJFIREREKpXKcRKAtiGRSMRRe+8aR+29a7y8cE38euK8mDBzRYPOralLxZ9fWhIPvLwkPrpf3/jWCXtH/x4lzZwYAAAAAAAAAAAA2jZF853wbuG8OSmzA+3NQQN7xG2f7RFzVlTEb/81Lx5+dWnUJrf/tTCVinhs+tvxzzdXxAVjB8fFRw6LzsUecwAAAAAAAAAAALAjNPAaYcCAAVkplwMQsceuXeKnn9w/vnHsnnH7pPnxx6mLorK6brvnVdcm45aJc+PPLy2JS4/fMz5xUP/Iz/O1GwAAAAAAAAAAABpD0bwRFixYkOsIAO3ObqUd44qT9okvHzUs7n1hYdz5/IJYs6l6u+eVb6yKb/3l9bj7+YVxxUn7xGFDe2YhLQAAAAAAAAAAALQNebkOAAANUVpSFF8+eo+Y/K2j4upT9o3du3ds0Hlvvr0hzvzdi3HRvS/FwtWbmjklAAAAAAAAAAAAtA2K5gC0Kh2L8uOcwwbFxEuOiF+ccUDs3adLg877xxsr4tif/St+9PeZsWFLTTOnBAAAAAAAAAAAgNZN0RyAVqkgPy9OOaBf/O0r4+L60/aLXp2LtntOdV0yfvuveXHkDRPj91MWRl0ylYWkAAAAAAAAAAAA0PoomgPQquXnJeL0QwbEM5ccEV88YmgU5W//0bZ6U3V896EZ8dGbn4vJZeVZSAkAAAAAAAAAAACti6I5AG1Clw6F8a0T9o6nvjk+Prpf3wad89byivj0bVPigrunxbxVG5s5IQAAAAAAAAAAALQeiuYAtCn9e5TE/316VPz5osNiRL+uDTpnwsyVcdzP/xXXPPZmrK+saeaEAAAAAAAAAAAA0PIpmgPQJo0e3CP+3/+OjRs+MTJ6dyne7vG1yVTcPml+HPHTZ+KeFxZEbV0yCykBAAAAAAAAAACgZVI0B6DNystLxCcP7h/PXHJEfPmoYVFcsP3H3trKmvj+I2/Eib94LibOWpmFlAAAAAAAAAAAANDyKJoD0OZ1Ki6Ibx63Vzz1zfHxP/vv1qBz5qzcGOfeOS3OvXNqlK2saOaEAAAAAAAAAAAA0LIomgPQbuzevSR+eeaB8ZcvHhb79y9t0DkTZ62K4296Lq58ZEas3VTdvAEBAAAAAAAAAACghVA0B6DdOWhgj3joi4fHz0/fP/p07bDd4+uSqbj7hYUx/oZn4rbn5sXm6rospAQAAAAAAAAAAIDcUTQHoF3Ky0vExw7cPZ6+ZHx89eg9okPh9h+JG7bUxrV/mxljr386/u+Zsli/uSYLSQEAAAAAAAAAACD7FM0BaNdKigri68fuGc9cckR87MB+DTpn9abquOEfs2LMj5+OHz0+M1ZWbGnmlAAAAAAAAAAAAJBdiuYAEBF9u3WMn59+QDx08eFx4IDSBp2zsao2fvvsvBh7/TPx3Ydej0WrK5s3JAAAAAAAAAAAAGSJojkAvMeBA7rHX794eNx85oGxW7cODTqnujYZv5+yKI68cWJ89f5X463lG5o5JQAAAAAAAAAAADQvRXMAeJ9EIhEn779bPH3JEfHNY/eMkqL8Bp1Xl0zFI/9eFifc9Fycf9e0eHnhmmZOCgAAAAAAAAAAAM1D0RwAtqFDYX58+eg9YuIlR8QFYwc3uHAeEfHUWyvjtF+/EJ/67QsxcdbKSKVSzZgUAAAAAAAAAAAAmpaiOQBsR++uHeJ7J+0Tk791VHztmD2itKSwwedOnb8mzr1zWpz0y0nx2PRlUZdUOAcAAAAAAAAAAKDlUzQHgAbq3qkovnbMnvH8t4+KK07aJ/p07dDgc99YtiG+9IdX45ifPRv3T10UVbV1zZgUAAAAAAAAAAAAdo6iOQA0UklRQZw/dnD867Ij4yenjYwhvTo1+Nz55Zvi2399PT78k2fitufmxaaq2mZMCgAAAAAAAAAAADtG0RwAdlBRQV586pD+8eQ3xsctnx4VI/p1bfC5KzZUxbV/mxljrn86fv7k7Fi7qboZkwIAAAAAAAAAAEDjKJoDwE7Kz0vER/brG49+aWzcc97o+NCQHg0+d11lTfziqTlx+I+fjqsffTPeXr+5GZMCAAAAAAAAAABAwxTkOgAAtBWJRCI+vOcu8eE9d4lXFq2NW56ZGxNmrmjQuZtr6uKOyfPj3hcXxHH79InhfbvE0F06x9DenWNgz5IoLshv5vQAAAAAAAAAAADwX4rmANAMRg3oHrd99uCYtbwifvvs3HjktWVRl0xt97yaulT87fW342+vv10/l5eI6N+j5J3i+S6d6gvoQ3fpHD06FTXnhwEAAAAAAAAAAEA7pWgOAM1orz5d4menHxBfP3bP+N1z8+JP0xZHVW2yUddIpiIWrq6Mhasr4+m30tdKSwrTC+i7dI4hu3SKAT1KoiA/rwk/EgAAAAAAAAAAANoTRXMAyIL+PUri6lNGxJeP2iPunDw/7n1hYVRU1e70dddV1sTLC9fGywvXps0X5idiYM9O9QX0If8pow/ZpXN061i40/cFAAAAAAAAAACgbVM0B4As2qVLcVx2wt7xhSOGxn0vLow7Js2P8o3VTX6fmrpUlK3cGGUrN0bEiq0y7Llr5zhkUI84dHDPOHBAaXQozG/yDAAAAAAAAAAAALReiuYAkANdOxTGxUcMi/PGDI4HXlocv/3XvFiydnNW7r2qoipWVVTF5LLVETEnivLz4oD+pXHokHeK56MGlkZJkf9FAAAAAAAAAAAAaM+0yAAghzoU5sfZhw2KM0cPiImzVsW0BWti7qpNMa98YyxcXRl1yVSzZ6iuS8bUBWti6oI18csoi4K8RIzcvVscOqRnHDq4Rxw8qEd0Lva/DAAAAAAAAAAAAO2J1hgAtAAF+XlxzD67xjH77Fo/V12bjEVrKmPuqo0xd9XGmLdqU8xdtTHKVm6Mii21zZalNpmKVxati1cWrYtfT5wb+XmJGLFb17TiebeOhc12fwAAAAAAAAAAAHJP0RwAWqiigrwY1rtzDOvdOW0+lUpF+cbqrQroc1dtjCVrN0eqiTdBr0um4rUl6+O1Jevj1n/Ni0QiYnifrnHokB5x6OB3yufdOxU17U0BAAAAAAAAAADIKUVzAGhlEolE7NKlOHbpUhwfGtIzbW1LTV0sWL0p5q78b/n83TJ6ZXVdk9w/lYp48+0N8ebbG+LOyQsiImKvXbvUF89HD+4Ru3QpbpJ7AQAAAAAAAAAAkBuK5gDQhnQozI+9+3SNvft0TZtPpVKxfMOWmLtyU7z59vqYOn9NTJ2/JjZsqW2S+85aURGzVlTEPS8sjIiIobt0ikOHvLPb+SGDesRupR2b5D4AAAAAAAAAAABkh6I5ALQDiUQi+nbrGH27dYyxe/SKCz88NOqSqXhr+YaYMm9NTJm/OqbOXxNrK2ua5H5zV22Kuas2xR+mLIqIiN27d4zRg3rEIYN7xOjBPWJIr06RSCSa5F4AAAAAAAAAAAA0PUVzAGin8vMSse9u3WLf3brFeWMHRzKZijkrN8aU+avry+flG6ub5F5L1m6OJWuXxl9fXRoREb06F8Uhg97Z7Xz04B4xvG/XyM9TPAcAAAAAAAAAAGgpFM0BgIiIyMtLxF59usRefbrEOYcNilQqFXNXbUornq/YUNUk9yrfWB2Pz1gej89YHhERXYoLYtTA7jH6Pzuej9y9WxQX5DfJvQAAAAAAAAAAAGg8RXMAIKNEIhHDeneOYb07x6cPHRipVCoWrq58T/F8TSxdt7lJ7lVRVRvPzl4Vz85eFRERRQV5cUD/0hg9qEccMrhHHDSwe3Qu9r8tAAAAAAAAAAAA2aKxBQA0SCKRiEG9OsWgXp3i9EMGRETEkrWV9budT5m/JhaurmySe1XXJmPq/DUxdf6aiGci8hIR++7WLUYP7hGHDOoRhwzqHj07FzfJvQAAAAAAAAAAANiaojkAsMN2714Sux9UEqcdtHtERCxfvyWmzF8dL85bE9MWrImylRub5D7JVMTrS9fH60vXx+2T5kdExLDeneOQQT3i4IHd46CB3WNgz5JIJBJNcj8AAAAAAAAAAID2TtEcAGgyfbp1iFMO6BenHNAvIiJWb6yKaQvWxrQF7+xO/say9ZFMNc29ylZujLKVG+OPUxdFRESPTkUxakBpHDige4wa0D32798tSor8rw4AAAAAAAAAAMCO0L4CAJpNz87FccKIPnHCiD4REbGxqjZeWbg2ps5fE1MXrIl/L14X1bXJJrnXmk3VMWHmypgwc2VEROTnJWLvPl1i1IDuMWpgaYwa0D0G9LDrOQAAAAAAAAAAQEMomgMAWdO5uCA+vOcu8eE9d4mIiKraupi+ZP07xfP5a+LlhWtjY1Vtk9yrLpmKN5ZtiDeWbYh7X1wYERG9OhfFAf3/Wzzff/fS6FiU3yT3AwAAAAAAAAAAaEsUzQGAnCkuyI9DBvWIQwb1iP898p1y+My3N9QXz6ctWBOrN1U32f3KN1bHhJkrYsLMFRHxzq7nw/v+Z9fz/7z179HRrucAAAAAAAAAAEC7p2gOALQY+XmJGNGvW4zo1y3OGzs4UqlUzCvf9E7pfP6amLpgTSxZu7nJ7leXTMWMpRtixtINcc8L7+56XhwHDij9T/G8NEba9RwAAAAAAAAAAGiHFM0BgBYrkUjE0F06x9BdOseZowdERMSydZtj2oI1MWX+mnhl4dqYtaIiUqmmu2f5xqp48s0V8eSb7+x6XpCXiGG9O8egnp1iYM+SGNCzJAb2eOf9vt06REF+XtPdHAAAAAAAAAAAoIVQNAcAWpXdSjvGKQf0i1MO6BcRERVbauK1xevjlUVr45VFa+PVReti/eaaJrtfbTIVby2viLeWV2y1VpCXiN27d4wBPTvFwB4l7xTRe5TEwJ6dYkCPEjuhAwAAAAAAAAAArZaiOQDQqnXpUBhj9+gVY/foFRERyWQq5pVv+k/pfG28snBdzF7ZtLuev6s2mYoFqyvj/7N33/Fx1Af+/9+zVdpddcvGvUIoodgYSKh2gpNvgAAhoZyTS0gIR8nBcb+jpHBJuDsSkuMSwl0aIXDJBVLoCSkEg4EAoTfbGAf3blldWq22fn5/bJ1dda12Jfn1fDzknfnMZ+bzGUnWR7N6z2e2tvT0uX1qlTcVPk/OgJ4bRK/zuWVZVvE7BQAAAAAAAAAAAAAAAABFQNAcAABMKg6HpUVTA1o0NaALls6WJHX2RvXmjna9tq09E0Dv7I2NeV+ausJq6grr5a1tBduqvC7NyYTP/ZrXkAygz5/i19QqrxwOQugAAAAAAAAAAAAAAAAAyoegOQAAmPSqK9w65eBGnXJwo6T0rOfdmeD5a9vb9G5T95jMet6frnBM63Z3at3uzoJtFW6H5jX4Na/Br7lTfJrf4Ne8Kcn1adVeZkIHAAAAAAAAAAAAAAAAMOYImgMAgANOctbzKi2aWqULjkvOet4RSs16vr1Nr21v1+vb29RVglnP+9IbTeidvV16Z29XwbZKt1NzG3zJIPoUv+ZPsc+ETggdAAAAAAAAAAAAAAAAQDEQNAcAAJBUU+nWqYc06tRDsrOeb9rfrbW7O7StpUfbW3q0rbVH21p61NwdLls/Q9H4oCH0+VPSM6AnA+nzp/jVSAgdAAAAAAAAAAAAAAAAwDAQNAcAAOiDw2Hp4GlVOnhaVcG2YDim7anQ+fbWYOo1ub6rPaR4wpShxwOH0H0ep+bU+zQl4FWNz606n1u1lR7V+tyqqXSr1pdcrq10qyZV5nU5y3AWAAAAAAAAAAAAAAAAAMYDguYAAADD5Pe6dNj0ah02vbpgWzSe0O72kLalZkDf3mIPooei8TL0WOqJxFMB9MIQen98HmcqeO5RbaU7GUT3uVVTmQ2l29ZT4fUKt4PZ0wEAAAAAAAAAAAAAAIAJjqA5AABAEbmdDs1t8Gtug79gmzFG+7vD2t7SYwuib23p0baWoNp6omXocf96InH1ROLa3dE7rP3cTksBr0t+r0sBr0tVFcnXQIXbvu51KVDhUlXqNbcs4HXJ73HJ4SCwDgAAAAAAAAAAAAAAAJQDQXMAAIASsSxLU6sqNLWqQkvn1Rds7+iJamtLUFtbgtrSnJwJfUtzcr19nIXQBxKNG7X1RIsSnM8Pn6dD6vV+jxY0BnTw1IAWTQ1oek0Fs6gDAAAAAAAAAAAAAAAARUTQHAAAYJyo8bl1tK9WR8+uLdjW3hPR1pYebU0Fz7c2B7Ultd4Rmjgh9OHqDsfUHY5JnQPXC3hdWtjo18KpAR08tUqLUgH0OfU+OZkVHQAAAAAAAAAAAAAAABg2guYAAAATQK3Po2N8Hh3TTwh9SyaA3pMNojcH1dkbK31ny6A7HNObOzv05s4OW7nH5dCCKf5M8HxRKog+b4pPXpezTL0FAAAAAAAAAAAAAAAAxj+C5gAAABNcrc+jxXM8WjynrmBbWzCiLS1BbWsJak9HrzpCUXX0RNXWE1F7T1Qdoajae6JqD0XUG02UofdjKxJL6J29XXpnb5et3OmwNKfelxM+T74ubAzI7+VXZAAAAAAAAAAAAAAAAIAUDQAAwCRW5/eozu/Rkj5C6Pl6o/Fs8LwnovZUKL09FEmF0fPWU0H17vDEmzU9njDakpr1/fG399m2zayt1MKpAS1qDGhWXaVm1FZqZm2lptdWqMHvkWVZZeo1AAAAAAAAAAAAAAAAUDoEzQEAACBJqnA7VeF2alp1xbD2i8YTmYB6Ryiirt6YusMxdadebeuRbHl2ezKsnjBjdGLDtKs9pF3tIT3zt/0F27wuh2bUVmp6TYVm1FZqRvq1tlIzais0vaaSGdEBAAAAAAAAAAAAAAAwKZCCAQAAwKi4nQ5NCXg1JeAd8TGMMQpF4+rujakrFUIPhrPL3eFsaL0jFNX21qDe3detpq5wEc9kcOFYIjMTen9qfW5Nr6nUzFTwPB1CTwfSp1V55XI6SthrAAAAAAAAAAAAAAAAYPgImgMAAKDsLMuSz+OSz+PS1GHs1xGKatP+bm3c162N+7v17r4ubdzfrZ1tIZkyzZDe3pOc3X39ns4+tzssaVp1RWZm9CkBr+r9HtX53Kr1eVTn86jO706++jyq9DhLfAYAAAAAAAAAAAAAAAAAQXMAAABMYDWVbi2ZU6clc+ps5aFIXJv2dydD6E3dejcVRN/aHFQsUaYEekrCSHs6erWno3dI9SvcDtX5PKkQult1qVB6uqzenw2o1/s8qvW7VeV1ybKsMT4TAAAAAAAAAAAAAAAATGYEzQEAADDpVHqceu/MGr13Zo2tPBpPaFtL0BY+39iUDKT3RhNl6u3AeqOJYQXTJcnlsFTry86KXuNzq6rCpeoKt6orXKqqcKu6MvVakdpWma3jcTnG8IwAAAAAAAAAAAAAAAAwERA0BwAAwAHD7XRo0dQqLZpapf/33mx5ImG0qz2UDKA3dWljU7d2tIa0uyOkPe29isTHZwi9P7GEUXN3RM3dkRHt73U5bMHzdBA9E1LPCas7E1Ft6pR8LqnBW+QTAQAAAAAAAAAAAAAAQNkQNAcAAMABz+GwNLvep9n1Pi0/dKptWyJh1BKMaHd7KPnR0VuwvL8rXKaej41wLKH9XeFhnFfyssKS0ff+9rIOOahai6YGtKgxoEXTAlo0NaDqCvfYdRgAAAAAAAAAAAAAAABFR9AcAAAAGIDDYamxyqvGKq+Onl3bZ51wLK59HWHtag9pT0cyhL6rvTezvLu9V93hWGk7XgZGlna292pne6+efKfJtm1qlTcZPk9/pELojQGvLMsqU48BAAAAAAAAAAAAAADQH4LmAAAAwCh5XU7NafBpToOv3zqdvdHsTOjtyZnQ93b2qi0YUVtPVO09ydeOULSEPS+dpq6wmrrCen5Ti628usJlD6BPDWhRY5Vm1VXK4SCADgAAAAAAAAAAAAAAUC4EzTEgY4y2bt2qNWvWaOfOnWpvb5fX61VdXZ0OPvhgHXfccaqoqCh3NwEAAMa96gq3qg9y69CDqgesF4sn1BGKZsLnrcGI2nuiaksF0ZPB9NyyZHk8YUp0JsXV2RvTa9vb9dr2dlt5hduhBVMCBSH0uQ0+eV3O8nQWAAAAAAAAAAAAAADgAELQHAXa2tr08MMP609/+pOefPJJNTc391vX7XbrzDPP1DXXXKPTTjuthL0EAACYnFxOhxoCXjUEvEPexxijrnBM7cGoWnvSQfSI2oLJMHpnKKqu3pg6e6Pq7I1l1rt6o+oKx2TGYUa9N5rQ23s69faeTlu5ZUkzaio1f4pfcxt8mteQep3i15x6nyrchNABAAAAAAAAAAAAAACKgaA5bL7whS/ozjvvVCQSGVL9aDSqhx9+WA8//LA+/elP67//+79VXT3wLJ0AAAAoLsuykjOmV7g1p8E3rH0TCaNgJKbOVPC8M5R67U2H0ZPB9M5UUL0rE1RPlnWFouqNJcbozAoZI+1qD2lXe0jPbrRvsyxpenWF5jb4NW9KOoSeXJ5b71elhxA6AAAAAAAAAAAAAADAUBE0h82LL77YZ8jc6XRq+vTpmjZtmqLRqLZt26aOjg5bnZ///Od655139MQTTygQCJSqywAAABgFh8NSVYVbVRVuSZXD3r+zs1OPP7FarWFpX8iSf/pC7eiIauP+bm1q6lYwEi9+p/thjLS7o1e7O3r1180tBdunVXs1r8GfDKCngujpGdH9Xi6NAAAAAAAAAAAAAAAAcpGmQL9qa2u1cuVKnXnmmTrllFNUVVWV2RaPx/WXv/xFX/3qV/WXv/wlU/7SSy/p4osv1v3331+OLgMAAKAMXA5paqU0tdJo+YmzM0+4McZoT0evNjZ1Jz/2d2vjvuRra3BoT9Appn2dYe3rDOvFLa0F2xqrvJrX4NPcBr9m1Faqwe9Rnd+jep9HdX636v0e1fk8qnAzKzoAAAAAAAAAAAAAADgwEDRHgXnz5unGG2/UypUrVVnZ96yWTqdTy5Yt0+rVq3XllVfqjjvuyGx74IEHtHr1ai1fvrxUXQYAAMA4ZFmWZtRWakZtpU49pNG2rTUYyQbQMyH0Lu3u6C1LX/d3hbW/K6yXt7YNWM/ncarO50kGz/0e1fvcmUB6fSAdTPdkgum1PrfcTkeJzgIAAAAAAAAAAAAAAKB4CJrD5qabbtKKFSvk8XiGVN/pdOoHP/iBXnvtNb3yyiuZ8jvvvJOgOQAAAPpV7/fo+Pn1On5+va08GI5p0/7ughD6tpYexROmTL3N6onE1RMJaVd7aMj7VFe4coLp2SB6Y8Crxqqcj4BXtT63LMsawzMAAAAAAAAAAAAAAAAYGoLmsDnzzDOHvY/T6dT111+vCy64IFP22GOPFbNbAAAAOED4vS4dNatWR82qtZVHYgltbw1qW0uPtrb0aGtzUFtbkus723o0DjLo/ersjamzN6atLT2D1nU7LTX47eHz9PKUvGC63+MklA4AAAAAAAAAAAAAAMYMQXMUxSmnnGJbb2lpUU9Pj3w+X5l6BAAAgMnE43Jo0dQqLZpaVbAtEktoZ1tPKoQezLxubQ5qR1toXMyEPlTRuNHezl7t7ewdtG6l25kKoHtygukVOcF0j6oqXPJ5XPJ7XKr0OOVxOUpwFgAAAAAAAAAAAAAAYDIgaI6iqKurKyjr6OggaA4AAIAx53E5tKAxoAWNgYJt0XhCu9tD2trSo20tQW1pzgbRd7T2KBqfOCH0fKFoXNtbe7S9dfCZ0tPcTisVPHfK5029elzy5a37vdnXSrdTfm+yTubV45IvVSeeMIrEEgrH4grHEgpHE4rEEwpHU+uxRN72eGp7IrU9ntrex3o0uZ4wkstpye1wyOmwksvO5LLbacnlcMiVKnc6HNkyp5Uqz25PH8Odqps8VvJ4Aa9LVRVuVVe4VF3pVlWFS5VuZo4HAAAAAAAAAAAAAByYCJqjKHbt2lVQ1tDQUIaeAAAAAFlup0NzG/ya2+CX1GjbFk+YVAg9mAyiNwe1vbVHLcGI2oIRtfZE1N4TLU/Hx0g0btQRiqojNLnOayw5HZaqKlzJD69b1ZXJMHpVhUvVea9VmddUYL0yuc3rchBWBwAAAAAAAAAAAABMOATNURR/+ctfbOtz586Vx+MpU28AAACAwTkdlmbX+zS73qdTDu67TiyeUEcoqraeiFqDUbUGI6nlbBg9+RpVW6qsKxwr7YlgTMUTRu090dRNB6ERHcPttOwhdK9bgQqXqrzJ9UAqmB7wumxB9YDXpYA3GVb3e51yOR3FPTkAAAAAAAAAAAAAAAZA0BxFcdddd9nWzzjjjDL1BAAAACgel9OhhoBXDQHvkPeJxBJq70mG0Fu7c8LowWRgvSUYUWswrP1dyY+2STZrOgpF40atweQNCqPh8zgzYfRAhVvVFa5MGL2qIhler65wye10KGGMEkYyxmSWE8bIGCmRyF3PLvdVP7du7naHZamm0q1an0e1PrdqK92q8blVW+lRnT/5WuFmJncAAAAAAAAAAAAAmMgImmPU/vCHP+iZZ56xlV188cXl6QwAAABQZh6XQ1OrKzS1umJI9SOxhFpSwfPm7mwAfX9XWPu7w2ruimh/qryb2dIPaD2RuHoicTV1hcvdlSHxuByqrXSrzudJhdDdyVB6JpxuD6nXpcor3U4C6gAAAAAAAAAAAAAwDhA0x6i0trbqsssus5Wde+65Ov7444vWRlNTk/bv3z+sfTZu3Ghb7+7uVmdnZ9H6hOEJBoMDrgMAgImLcb44/Jbkr3ZoXnWlpMp+6/VE4moNRtQcjKolGFFzd2q5O6LmYEQtOeWRuCndCQB9iMQSauoKDzsY73ZaqqlwqabSLa/LIY/LIbfTktvpkCfn1eNyyOWwUttTZU6HXKlXd6pOetmdLnPaj+nzOFVb6ZLfQ8AdyMc4DwDA5MU4DwDA5MZYDwDA5MU4f+Dp7u4ua/uWMYb0AUYkkUjorLPO0h//+MdMWU1NjdasWaPZs2cXrZ2vf/3ruummm0Z1jNtvv11z5swpUo8AAACA8c0YKZyQInEpHE8uh+NSJG5ly1Nl4dyyeO5+Vs5+Um9CSpjhhXAdlpHLktwOyeWQ3Fby1eVIlVkmZzlbz17XyCEpbpIfCWPlLNtf+y+zBq6XkKJG6o1JCRE0PlA5LCOfS/K7lHo12WV3zrJL8uVs8zjL3XMAAAAAAAAAAAAAk9X27dt19dVXZ9bXrl2rI444omTtM6M5Ruy6666zhcwl6cc//nFRQ+YAAAAAhs+ypApn8sOur/uMh37vcSyRF0ZPSE4rGRLPDYynw+LOMclsj9290sZIkYTUG5dCsfSrpVA8t8xSKKacMiv5mrOPIaw+ISWMpe6o1B1Nlwzt6+h2ZAPqfldeWN2dXK90Zv9fpG+wyPxf6ePVYSX/HwMAAAAAAAAAAABAORE0x4jcfvvt+s53vmMru/7663XhhReWqUcAAAAAxlo6KOsvd0fGiGVJXmfyo8aTLs0Ptg8cdE/PJp8Jo8ekUNyyhdd745Z6M8vp0Lq9LDbM2eNRPtGEpY6I1BGRhhpOH4wlkwmeOwcMpWdD687UzR3pmz8cOetOy2SXbeUDlKX36WObo4/9LBGOBwAAAAAAAAAAACYbyxgzdtPBYVK699579alPfUq53zoXX3yx7rrrLllj8FflpqYm7d+/f1j7bNy4Ueeee25m/YUXXtBhhx1W5J5hqILBoF566aXM+vHHHy+/f7LGkwAAOLAwzgNjIxJLqDscU3c4ru5IXMH0cs5rMBJXV2/yNXdbPGHksCSHZclKvSZnyLYKytOvzpztfdXLL4/GE+rsjakjFFN7KKrO3mTbOLC5HJZcTktuh5VadsiZXk5tS5e7HVZ2mzO3jkMepyWfxym/x6lKj1M+t1M+j9Ne5nHK53bYyhwk3YuOcR4AgMmLcR4AgMmNsR4AgMmLcf7As379er3vfe/LrK9du1ZHHHFEydpnRnMMy6OPPqrPfOYztpD5eeedpzvvvHNMQuaSNHXqVE2dOnVUxwgEAqquri5SjzBafr+frwcAAJMU4zxQPFPK3YFhisYT6ghF1d4TVUcoovaeqNp6omrviWTK23KW20MRtQej6grHyt11FEksYRRLGPWWqf1Kt1N+r1M+j0t+r0t+j1O+9KvHpYA3u17pccnrcsjjdMjjcsidebXk6aPck/PqTr86rTF7L2S8YpwHAGDyYpwHAGByY6wHAGDyYpyf/AKBQFnbJ2iOIVu9erXOP/98xWLZEMCKFSv0y1/+Uk6ns4w9AwAAAACUm9vp0JSAV1MC3mHtF40n1BmKqj2UDKW396TD6lFF4glFYglFU6/569G4UThVHk2/9lM3XT8ST4zRZwDlForGFYrGJUVK1mY6cN5XKN2d2uZyOJKztufM5O52psocyTqZstSs7pnZ4fsqyzmey2HJ43TI63bI63LK68pbdjnkdSeXXY4DLxgPAAAAAAAAAACA0SFojiF58cUXdfbZZ6u3Nzsv2YknnqiHHnpIHo+njD0DAAAAAExkbqdDDQGvGoYZUB8pY0wmcB6JZUPubT2RTNA9PRN7ehb2zGzsPczADrtIPKFIXApG4uXuyqAclpIBdHcqgN5fMD2njpWIa98eh1yWJEta89RWVXi9sizJkiTLUjq6niyzMtssS5lge+42KWd7blnqWNn9rYJ2+mxDyRUr/xj9HN9ImSf1GSMljJExyfJEasHIKGGUKk8uy5jUvvZ9TGY5u49lSV6XQxVuZ5+f64p+bgyocDvldHAzwFhJJIwSxihujBIJZZZNQoobo3jCyKTKkstSPJGqY4ziieR6wqQ/ctZT9RyWlbp5JHtziMuRvKkkfUOJ02HlbEuXj82NICZ1LrFE/msi+RrvuzxhlLyRJf+JD870TTTj96kOidT5xBLJG8ziqXNLmMLlhMmeeyLn+yCzPf25SX+NM9tUUOZI/czKfc0uJ38GJcuS25Spk93HUmrdYWX2sZQ9VvoGpOTTNZLfP+nl9I1J4/FrUmrp/4+Zn9W2n9Gpn+WJZFnmZ7pS9fJ/1ivn53wfx3FY2f/PTkfyZjBnzv97l8OSg5/rAAAAAAAAmOAImmNQb731lj7ykY+ou7s7U7Z48WL94Q9/kN/vL2PPAAAAAAAYHsuy5HElw3PySvX+4d08HY0nUjOuR9TWE1VbMJKZjb0tNRt7cjk7O3swHFM4FWwHyiVhcmd9Hw5HdnHXjqL2CYVcDss2E31BYD3nRgGHw5IzE1LNBlYdjmwwNTfg6nT0UTcTarUKwrBOh5UJ1SZyAsuJvOBtvI8Ab3qfTP3cfXLqZ4PbygS2cwPcxigTGM3dZtJB70wIvI9jmJx6CVPuL+2gHJYyTyrIDaW7HVYquJoOEisbDLcFxRMFgfKxPm93OvicDqSnAuiZMLrLIU/OUx9y67icjuz3VTwZDI/FjaKpc4nGjWLxZPA9HRiPpuoky5LnG8u8Jo8xAb7UY8r2+bd9PayCMk/qaRfZr5VD/ebU+/m89vfpTt/Q05f0/8n+vncTifybIxL9lCe//gmj7M0TqZtExhOHpcxNJembT5x5TzTJvQHF6cg+ASW9bqWOk7kpIf0zW8mf+ekbq/JveEjfvGDljBXpmx8clqVoJKJdu5LHT0h6LrxRTpfb/nM+/TO6n5/l2Rsz7DdrZMaPnH2s1NiSvnHCaSWD+K6csuR4lS1zOnI+ctZt++WUOSzZbhZTwQ1i2ZsM+r6xQFLuTQi5+6XqjNRwbznIH9stK/U5y795xZF7g0vu7wD9b08f25lzU0T2ezR7E1Rmu9MqGJ9yn7rT375uh4ObLQAAAAAAmAQImmNAGzZs0IoVK9TW1pYpO+yww/TYY4+ppqamjD0DAAAAAKD03E6HGqu8aqwa/gzs+bOpZz7iea+xhCLxuCKxhMKp9WjcKBKL2+qE844TSwfvUmG7SCqklwzuJTLb0uG8aCyhaCJbJxLPBr0AlEcsYRSLxCfELPkoroRR8ud5uTsyDNG4UTQeVw/fr+NG+msi8TUZLxIm+QQUxSVFy92bvuTcULZ3T/m6gUnLYUkVbqcq3E5VupM3zVXmrFe4HbbtFant3sy6U5UehypcTlV4nKpwOVXpydarcCfL0k8WSN+gkA7kAwAAAACA0SNojn5t27ZNp59+upqamjJl8+fP1+OPP67GxsYy9gwAAAAAgIknfzb18So9Y2g0J6SeDqhHc2aXjeXMOBtL7ROLJzLb0vskZ6G1h96TYfjsvrkB+XA0oWAkpp5IXN3hmHrC8cx6MBxTmJnhAQAAgAkhYaSeSHluSnLkzKKfnhU/Mxt+ziz5Docy2zJlfcyoL0tS7qz4yj7BITtjfnIhfeuufRZ95ZQb2/b0clr6qQTprLxlWbLS5TnbrFTl9DZJqeWc+kpWtK2n+5EzT3/+EyFMPyv97ZNbv8/PS87nJr1f7ucmW99+/HSd3O25bTnzvlb2r3fyqRLpJwH197V15H1/ZOulngow7GcSDE/6CQyZ8+vjKQzKOXfb95XsT2Mo+Nzm1E9/vnKfIJH7+Uifc/7nJP9JE9n/K+pjf/sTkhxW9okTuU9bcDrsT1fIbEu1X7At7xiZJ104877W3GQCAAAAjAmC5ujTnj179MEPflA7d+7MlM2cOVNPPPGEZs6cWcaeAQAAAACAseRwWPI4UoH4cSgaT6TCKjEFw8nXvgLp6W3BSHJbdzi1LRJTKBK3zSIfjefMHB8nyA4AAABMdAkjJeJGeZFpAJOcw0rfYFB4I0JhQN0eos+/EcXtdGTK89eTT1Jw5Gzrf93lTB/DkbNv8iN9I0Pm5hFlbxxR7g0nmW1WQT3bTSQ5L6FQSO+0p0L7ltGU3V2q7TZyOx2pD0ue1LLLmTw/jzN5cwYAAACQi6A5CrS2tmrFihXatGlTpqyxsVGPP/645s+fX8aeAQAAAACAA53b6VBNpUM1le4xOb4xybB5NG5sIfT8ULq9zCgSjysaMwrHE4qmtqVneE/O6p6atT09A3zO7O7x9Kzuiews8APN/m6bVT6WUDiW3AYAAAAAwIEsYZS8gbz0D1IYp5zZxXVvDG2PVJje43TI7UoG0l0Ohzyp5dygeno5N5ue/+5Ef08/SG7r/72MwictGCUSUtwYGWOSNxQZo0QiZ9kkjxlPGCVSTwhIl8cTefvlHSNdN3cW/dwZ921PwciZ+d9K1etrRv/cWfmd6Vn5c566YOXM9O9IHcu+nl1OPgmg/+3pGf2zy6kbE/KehJH/1AyHlbut7ydmWMo5pu1JGZbtKRbKe6pCuij/aQvZ+qawTsGTQfo30PfPUL6n8uV+3S0r+/SG9LLDYX+yQv6TFqy87xnbsXK+7pmbXvKeCGG72cVpf9JKehsAAOVC0Bw2XV1d+n//7/9p3bp1mbLa2lr9+c9/1mGHHVbGngEAAAAAAIw9y7LkdTnldUnylrs3QxeLJ8Pt4WgyeB6OxZOv0ZzlWHyQ7QmFo9nl7lBYu/c1KZZI/mGvrq5eTqez4FHtklKPes99PHvuY91V8MfDTN2c+srflnMc9XncvMfDD+FR8sk/pNr/QJr+Q62kzHL6D6sOy/4HVEfuH2hz/uiau0/CSJGcz3FvNPvK/QDAxGKb+TIndJD7x/50uCKR+tmTDrekQysm7zUdaFH+OgAAADAOxBPJoHY4lpDC5e4NgFyFIXXJ5XSkwurJJzq4cm4C8eTeHOLKW3c65HHlrae3uwr3d+U8BcHpsL9fln8TQ+rtt7ybHOw3PCh/W/4xrOz59hfWd+S+5m7PhP8J5wNAsRA0h83ZZ5+tl19+2Vb2//1//5+am5u1atWqYR3r2GOPVV1dXTG7BwAAAAAAgD64nA65nA75PMU7Zmdnp1av3ptZX778SFVXVxevgQNQLJ7IBPl7o/3cABBNqHeAmwJ6U6/ZMGsq0JrIm5HNJGd7s83qZox9v75mg0sdK54w2dna8h4p78xbzoRw07O0pcpcTvssbvmPrM/MFpZZTv5hND0zW/pY2RnCsjO0OXNmEsvM6Oboo14f2+wzkFm288zs45C9Tnpmsr7qpP5YaoySTyBIJJ8yEE89mSD9lIJYwiieyHnSQfoJBpnt2ScWxNPHyXkqQjyRnGnP5XTIlfo8upyWnI6c9cyrI2d7H+W2/e3llpU8j/RTHKKx9JMesh+RdFn6SQ+pJzhkt6fKYjll8ezxovGELMuSO9V++g/VLqcld6ov7tS5JWdQtOR0OuR2WJnzd6XK039Iz75a9s9R7qxwOcvpr7vL4cj8oTrzfWqVfrY4Y/oPqSdM6kkX8fQTM4zt8x7L/RrEEoolEoqklqPxhKKJnOV4clss8/XMfi0Hyrv399no7+/2Vj97pMMCya+PI/M9mP76JL/W2e1OS3I6C7/HbcfI/dmSE7jIhhXybxRKzcroyL3hKNXr9M1Dyt5IpJzl3OBD+usSz/l/P5z/65mnluT/X48bRVPHiCXvYMj5fsjeTGW7kSH9PZTI3vCQMDn7SgVlkUhUTfv3yyh5/tOmTpXX4+4ztJH5GVgwDqjfgEcmGJKqayTF4wnFU+NMLDVupT83+WWZD5P8eRo32Tp9laX/r2S/Zumve15wJS/Ekv4+KLyxzP49ZA/FDM8wJ9vM3jiXOqd45utdOLb3N/bn39yS+7MlnsiWF36PpsawnO9XboYBAAAYH+IJo7gMT20YIsuyX6/0dQN54XVOf9c+9qB7/vsH/b03NtLA+3B3Sb+/lnudnf++SP41dO57Qw4r7z0jZ871t2V//yn9Hkzuezq578Wk39thFn5gciFoDpunnnqqoOyrX/3qiI61evVqLVu2bHQdAgAAAAAAACaJ9A0B/gk0Wz6GzrIkj8OSR45ydwUTUPrmiv4j3UBxJW8oW51ZX778MG4oQ58SqXD/QDdFpcPp+aH1aNyoNxpXbyyuUCSeXI4mFIoml0Op9V7belyhaPJJO5n1SFy9seSNTAAAAMBQGCPF0nfsouQsS3LnBN/TgfT+JhtwObNBd0fOTc+2SSZyJn7In3gifZNA+ubh9Gz4BRNbpCceSM3Un9+HdB9zA/Wu3MkPUvsknx6QnfggfV7pbS6nlfNEz7wbxRN9lBn7EzszN40nsk8Czb3RvKurR3t7UjcqS9ra0qOjuKbHGCJoDgAAAAAAAAAAAAAo4HBYcsiS2ylJzrL2JZ4wCseywfN0eD09+30iZyb89JNbMjPh58yYnztzfnJZtv0TJmef1PHSMk9HUHaW/Mw2y749vyy5npp1P7Mtp8wqDJikgySSPaRi8tbTjOl7u0kdwCjvlqbc/ud9vnNn0sx9UoW9vJ/6fXxessvZurmfm/R+9u3Zpwpk2kvVSQdvbE9AyPma5T4FIVlPBU9SyGzLe5pC5nukRLm0/O+H7Ocg7/st7+kc6mMf2/dU6p/05z/9vW3/v5Lzuct8DjXA5yT3cydbWfoJE+kgVDyRXI6bbDkAADgwGCNF4glFmIF/DGWjv/N2vK2nrj+ojH3BZEfQHAAAAAAAAAAAAAAwrjkdlnwel3we/sQNTETGGCXyQugJkwyqm0Q2kJ5IFNbL3RbPCcTHEolkgD6eDb+ny+IJKZ5IZG4mSS/n3oQQjycUN7IF5dPHiicSqSc0ZJ/iYH+qQ6pO6skOg61njpGzbnI+N1L2JpF0WSabn75hpL+6OTedmEz9ZPsJwxNzAACY7LifD2ONq3DYGG4jBgAAAAAAAAAAAAAARWRZlpyW5Mw8JQFjqbOzU6tXr04F+qUTTzlVlf6AovFE8iNmFE1klyOp8ljcKBpP2NYjmX2S4ftIev9UeX7KpCDa3s8TEqT+n5KQv02SnJaV/D5yWHKknirhsCw5HZIjtc1hJZcdjpxlK/39Z8mRU9dp5R4n+ZqcfT/7tAuT9xSMhFHeUzJkuwGiz31zbqBI10nfTJEw6ZswsmX5TwVI5Gzvd9+Efd9E6kaFROqOhIInXeQ8NaPwiRkm54aF7Hr6+Lk3QxQ8waKPJ1b09aSFvsoHetrFYAarMdgh8j/PifTXOOdzm76BxRj715QnOAAADgQEzQEAAAAAAAAAAAAAAIBJxrIkpyX5PE5VV7rL3R3ggJC+ISB7g0L2SQzpmxJyb0JIPyUhkbstZ3sskX2iQ2Y5/RSG3OXUExOi8YQisYSi8ewNIfk3iORuS243isby1nNuMkmvR2IJxVN3JeTeoJA+79ynLQAonQT/8TDGCJoDAAAAAAAAAAAAAAAAADBKmSc4OAafjX0yy86Ybw+hpwPqylu31csJ5ecG8Pt6soD9KQOppwrkbjf2cH76qQOJ/MC/rcz+tIJEXr14QgO0b98+3PivGUFgOP8mhVifr8mnVOTeoBCL521PZG9uSJdjYiBnjrFG0BwAAAAAAAAAAAAAAAAAABSFZVmyMln7Azt0P1GlZ+ePpULq2YB6QtHUaywVWI/GE6lwenLG/Hhqdv3kfoX10vsn62WPaTKhfdmW008HSN9skEj0vRw3yWOknyCQ/4QBk3M+mXOIG0XT55jqR37/o/HxneQe373DZEDQHAAAAAAAAAAAAAAAAAAAAJJyZ+d3ynuAp0zTofdYTgA9G07PLkdT4ft4IpG82ULJz6PDkiwlb76wUssOR7Ys+QCE9HJyP0fOzRoOR/pYyfLu7m49/9xzqWNJp51yTJk+MzhQHOA/AgAAAAAAAAAAAAAAAAAAAIBClmXJ5bTkckoVbme5u6NKRVTtya5XV7rL1xkcEBzl7gAAAAAAAAAAAAAAAAAAAAAAYHwhaA4AAAAAAAAAAAAAAAAAAAAAsCFoDgAAAAAAAAAAAAAAAAAAAACwIWgOAAAAAAAAAAAAAAAAAAAAALAhaA4AAAAAAAAAAAAAAAAAAAAAsCFoDgAAAAAAAAAAAAAAAAAAAACwIWgOAAAAAAAAAAAAAAAAAAAAALAhaA4AAAAAAAAAAAAAAAAAAAAAsHGVuwPAWAiHw7b1jRs3lqknkKTu7m5t3749s75+/XoFAoEy9ggAABQL4zwAAJMX4zwAAJMX4zwAAJMbYz0AAJMX4/yBJz//mp+PHWsEzTEp7dixw7Z+7rnnlqcjAAAAAAAAAAAAAAAAAAAAQBHs2LFDS5YsKVl7jpK1BAAAAAAAAAAAAAAAAAAAAACYEAiaAwAAAAAAAAAAAAAAAAAAAABsLGOMKXcngGJrb2/X008/nVmfPXu2vF5vGXt0YNu4caPOPffczPrDDz+sRYsWla9DAACgaBjnAQCYvBjnAQCYvBjnAQCY3BjrAQCYvBjnDzzhcFg7duzIrJ922mmqra0tWfuukrUElFBtba3OOeeccncD/Vi0aJGOOOKIcncDAACMAcZ5AAAmL8Z5AAAmL8Z5AAAmN8Z6AAAmL8b5A8OSJUvK1rajbC0DAAAAAAAAAAAAAAAAAAAAAMYlguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABtXuTsAYPJrbGzU1772Nds6AACYHBjnAQCYvBjnAQCYvBjnAQCY3BjrAQCYvBjnUWqWMcaUuxMAAAAAAAAAAAAAAAAAAAAAgPHDUe4OAAAAAAAAAAAAAAAAAAAAAADGF4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG4LmAAAAAAAAAAAAAAAAAAAAAAAbguYAAAAAAAAAAAAAAAAAAAAAABuC5gAAAAAAAAAAAAAAAAAAAAAAG1e5OwBg8tu0aZNeeukl7dy5U5FIRHV1dTr00EN14oknqqKiotzdAwBgXDHGaOvWrVqzZo127typ9vZ2eb1e1dXV6eCDD9Zxxx1X9PGzq6tLzz33nP72t7+ps7NTlZWVmjt3rk488UTNmDGjqG2tW7dOr776qvbs2aN4PK6Ghga9973v1QknnCCXq3iXJ6U8JwAAxqve3l49//zzeuedd9TW1iaPx6NZs2bphBNO0IIFC4raVqmu/Ut5TgAAFMOGDRv05ptvaufOnerp6VFlZaWmTZumQw45REcffbS8Xu+Ij81YDwBA6YXDYb3++utav3692traFAqFVF1dralTp2rJkiVatGiRLMsadTuxWEwvvvii1q5dq5aWFjmdTk2fPl3HHnusjjjiiCKcSdauXbv017/+Vdu2bcuczyGHHKKTTz5ZgUCgaO2U8pwAACgVrs1Hh1zhBGEAYIw89NBDZsmSJUZSnx+BQMD84z/+o9m/f3+5uwoAQFm1traau+66y1xwwQVmypQp/Y6dkozb7Tbnnnuueeqpp0bd7ubNm82nPvUp4/F4+mzLsiyzbNky8/TTT4+qnUQiYX7605+aQw45pN/zamhoMDfeeKPp7u6eEOcEAECxXXTRRQXj1ty5c0d0rKamJvOFL3zB+P3+fsfeY4891jz88MOj7neprv1LeU4AAIxWZ2enufnmm838+fMHvMb3eDzm5JNPNrfddtuwjs9YDwBA6b3yyivmk5/8pPF6vQOO7zNnzjRf/epXTUtLy4ja6erqMl/5yldMfX19v2285z3vMXfddZdJJBKjOqennnrKLFu2bMDfVf7+7//ebNmyZVTtlPKcAADYuXOnefDBB80NN9xgli9fbqqqqoryvns+rs0nxjmhOAiaAyi63t5e88lPfnLAC+zcj8bGRsJeAIAD1pVXXtlvKHqwj09/+tOmo6NjRO3++te/Nj6fb0jtWJZlbrjhhhG9wdvW1mZWrFgx5HNasGCBWbt27bg+JwAAiu23v/1tn+PVSN7wXr169aA3ruX/PhEOh4fdTimv/Ut1TgAAFMPvfvc7M23atGFd30+bNm3Ix2esZ6wHAJRWPB43N9xwg3E4HMMe3//4xz8Oq6233npr0BvVcj8+/OEPm/b29mGfUyKRMNddd92Q2/H7/eb+++8fdjulPCcAwIHt2WefNR/72MfMjBkzBh1rihE059p8YpwTiscyxhgBQJEkEgmdd955euSRR2zlTqdTc+bMUU1NjbZs2aKOjg7bdp/Pp1WrVun9739/KbsLAEDZLV26VK+++mpBefqRkdOmTVM0GtW2bdsKxk9JOv744/XEE08M6/GV9913ny666CIlEglbeWNjo2bPnq2mpibt2rVL+ZcK11xzjb773e8OuZ1QKKRly5bppZdespV7PB7NmzdPXq9XmzdvVjAYLOjH888/r0WLFo27cwIAoNg6Ojp0xBFHaNeuXQXb5s6dq61btw75WM8++6w+9KEPKRQK2cpra2s1f/58tbW1aceOHYrH47bt5513nu6///4hP9q7lNf+pTonAACK4bvf/a7+5V/+peDas6KiQjNmzNCUKVMUCoW0Z88eNTc3Z7ZPmzZNe/fuHfT4jPUjPycAAEbq0ksv1Z133llQ7vP5tHDhQlVWVqqlpUWbN28u+B3A4/Ho4Ycf1kc+8pFB29mwYYNOPvlk2+8IkhQIBLRgwQKFQiFt3bpV0WjUtv3973+/nnzySVVUVAz5nK666ir9z//8j63MsizNmjVLjY2N2r59e0E/nE6n7rvvPn3sYx8bcjulPCcAwIHttttu0z//8z8Pqe5w33fPx7X5xDgnFFk5U+4AJp9bbrml4M6iyy+/3OzatStTJx6PmwcffNDMmTPHVm/WrFncnQwAOOAce+yxmbGwtrbWXHnlleb3v/+96ezstNWLxWJm9erV5pRTTikYaz/+8Y8Pub2NGzcWPOrq6KOPNk8++aSt3jvvvGPOO++8grYeeOCBIbd1+eWX2/Z1OBzmX//1X01ra2umTjgcNnfffbepq6uz1V28eLGJxWLj7pwAACi2Sy+91DZDWO4YNZyZVVpbWwtma5k7d655+OGHbU/w2LFjh7nssssKxsP/+q//GnJbpbr2L+U5AQAwWnfeeWfBWPSRj3zE/PGPfzS9vb0F9Xft2mX+7//+z3z84x83s2fPHvT4jPWM9QCA0rvvvvsKxp/DDz/c/P73vzfRaNRWt6mpydx0000FTzBtbGy0vSfel2g0ao488kjbfvX19eZnP/uZiUQimXotLS3mK1/5SsHs6lddddWQz+nXv/51n39j+Nvf/mart2rVKnPUUUfZ6lVVVZktW7YMqZ1SnhMAAN/97nf7nRE7EAiM+H33fFybT4xzQvERNAdQNM3Nzaaqqsr2Q/6b3/xmv/V37txp5s2bZ6v/1a9+tYQ9BgCg/I499lgzb948c+edd5qenp5B68diMfMP//APBRdg+aHq/vzd3/2dbb/jjjvOdHR09Fk3kUgUtLVw4cKCN9D7sn79euN0Om373nvvvf3WX7t2ramtrbXVv+uuu8bVOQEAUGyrV682lmUZKXlD1re//e0Rv+H9pS99ybbv/PnzbW/O5rv55ptt9Wtqagb9w7cxpb32L9U5AQAwWu+++66pqKjIjEFut3vAa+B8QxmvGOsZ6wEApffe977XNvYsXbrUdHd3D7jPE088YVwul22/b3zjGwPu8+Mf/9hWv66uzqxbt67f+vfcc4+tvsvlKgiK9yUcDheM25dffrktRJarvb3dLF261Fb/05/+9KDtlPKcAAAwJhs0r6qqMsuWLTPXXXedue+++8zWrVvN6tWrixY059p8YpwTio+gOYCiuf76620/3E899dR+L0rTVq1aZdunqqrKNDc3l6jHAACU36OPPmrC4fCw9onFYgVv7q5cuXLQ/dauXWubFcTj8Zi33357wH1CoZA5+OCDbW3dcccdg7Z1wQUX2Pb5+7//+0H3yZ/9be7cubaZTcp9TgAAFFNPT49ZuHBhZiz6p3/6pxG/4d3U1FQwK8uqVasG3CeRSJhTTz3Vts+Xv/zlQdsq1bV/Kc8JAIDRWr58uW38+c1vflPU4zPWj+6cAAAYiU2bNtnGHEnmpZdeGtK++bN9vv/97++3bjgcNrNnz7bV/+lPfzpoG5/61KeG/TeCH/zgB7Z9Dj74YBMKhQbcZ926dbZZ2p1Op1m/fv2A+5TynAAAMCb5BOx169aZeDxesK1YQXOuzSfGOWFsOAQARZBIJHT33Xfbyr7+9a/LsqwB9/vgBz+oU045JbPe1dWl3/zmN2PSRwAAxqMzzzxTHo9nWPs4nU5df/31trLHHnts0P3uuusuJRKJzPpFF12kww47bMB9Kioq9MUvftFWdueddw64T1tbmx588MHMumVZ+vrXvz5o/z772c9q7ty5mfVt27Zp1apVA+5TqnMCAKDY/vVf/1WbNm2SJM2ZM0f/8R//MeJj/epXv1J3d3dm/dRTT9UHP/jBAfexLEtf+9rXbGV33XWXjDH97lPKa/9SnRMAAKP1yCOPaPXq1Zn1888/X+eff35R22CsT2KsBwCU0oYNG2zrs2bN0nHHHTekfT/+8Y/b1jdu3Nhv3ccee0w7duzIrM+bN0+f/exnB20jf4y+77771NHRMeA++e+Df+lLX1JFRcWA+xx++OG68MILM+vxeLzg94V8pTwnAAAkaeHChTr88MPlcIxdHJZr86Txfk4YGwTNARTF888/r/3792fWFyxYoGXLlg1p30suucS2/vDDDxexZwAATE65F1SS1NLSop6engH3+e1vf2tbzx+D+3PhhRfK7/dn1l9++WXt3r273/q///3vFYvFMuvLli3TggULBm3H4XAUvNk82O8FpTonAACK6eWXX9Ztt92WWf/+97+vQCAw4uM98sgjtvWhjofLly/X/PnzM+t79+7VCy+80G/9Ul77l+qcAAAYrTvuuMO2nv/H1mJgrM9irAcAlEpra6ttffbs2UPed86cObb19vb2fuvmj4mf/exnBw1dSclA3WmnnZZZj0aj+sMf/tBv/Z07d+q1117LrAcCAV1wwQWDtiMVjtP5fc5XqnMCAKCUuDbPGs/nhLFB0BxAUfz+97+3ra9YsWJIF4vpurmeeuopBYPBovUNAIDJqK6urqBsoJk9NmzYYJs1xe/368QTTxxSW/l1jTEFY3+u/G0f+tCHhtSOVPh7waOPPtpv3VKeEwAAxRKNRnXJJZcoHo9LSs56etZZZ434eN3d3XrmmWdsZUMdey3L0umnn24rG2jsLdW1fynPCQCA0di1a5ftCWPHHHOMjjjiiKK2wVhvx1gPACiVmpoa23ooFBryvvl1p0yZ0m/dUr2fnt/OSSedZJuMZSAnnXSSfD5fZn3Dhg169913h9zWWJ0TAAClwrW53Xg9J4wdguYAiuKNN96wrQ815CVJM2bM0Lx58zLrkUhEb7/9dpF6BgDA5LRr166CsoaGhn7r54/Vxx9/vFwu15DbO+mkkwY83kDbhvN7wbHHHiuv15tZ3717t+3u5oHaGctzAgCgWL75zW9qzZo1kqTa2lrdfvvtozreunXrFI1GM+vz58/XQQcdNOT9SzXGD+fav5TnBADAaPzpT3/K3DwmJWf0KjbG+kKM9QCAUjjmmGNs6+vXrx9yqOmll16yrR9//PF91tu3b5/27t2bWfd6vVqyZMmQ+1iqcd7lchWcQ39tlfKcAAAoFa7NC43Hc8LYIWgOoCjWr19vWz/88MOHtX9+/fzjAQAAu7/85S+29blz58rj8fRbv1RjdTQatc0yPty2vF6vFi5cOKS2+P0DADDRvP3227r55psz69/61reG9cZtX0o5HpaqLcZ4AMBE8fLLL9vWjz766Mzy66+/rquvvlpHH3206urq5PP5NG/ePK1YsUK33nprnzeQ94WxfuTtAAAwGrNmzbKFoMLh8JBuFg+Hw7rttttsZZdcckmfdfPHsEWLFg34Pn++/DFx48aNisViQ2qrVOP8WJ4TAAClwrX5yNspdVsYGwTNAYxaKBTS9u3bbWWzZ88e1jHy62/YsGHU/QIAYDK76667bOtnnHHGgPXzx9axGqs3b95se9O3srJywMeCjqatUp0TAADFkEgkdMkllygSiUiSTjnlFF166aWjPm6xx8Nt27apt7e3oF4pr/1LdU4AAIxWftB8wYIF6u7u1iWXXKIlS5bov//7v/XWW2+pvb1doVBI27Zt06pVq3Tdddfp4IMP1pe//GXb7GF9YawfvB3GegDAWPnWt74lhyMbq/nqV7+qn/3sZ/3Wb29v1yc+8Qlb+OmjH/2oPvrRj/ZZf7RjYmNjoyoqKjLrkUhEW7ZsGZO2SjXOD+ecAAAoFa7NB29nPJwTxg5BcwCj1tzcLGNMZt3tdmvq1KnDOsbMmTNt601NTUXpGwAAk9Ef/vAHPfPMM7ayiy++eMB98sfWWbNmDavN/LF6//79Q2onf7+RtNXf7wWlOicAAIrh9ttv1wsvvCBJ8ng8uuOOO2RZ1qiPO9rxcNq0aXK5XJn1RCKhlpaWgnqlvPYv1TkBADBa+U/0cjgcOvXUUwtuDu9LKBTSN7/5TZ1xxhnq6urqtx5jfSHGegBAqZx88sn6n//5n8z1eywW08UXX6zjjz9et9xyix566CH96U9/0i9+8QtdddVVWrhwoR599NHM/itWrNAvf/nLfo8/2jFRkmbMmDHgMdPy3/8e7fvpYzXOS0M/JwAASoVr80Lj8ZwwdlyDVwGAgXV3d9vWfT7fsP9Y7vf7BzwmAABIam1t1WWXXWYrO/fcc3X88ccPuF/+2Jo/9g4mv340GlU4HJbX6y1qO33t09/vBaU6JwAARmvLli268cYbM+tf+tKXdOihhxbl2KMdDy3LUmVlpS3g1tfYW8pr/1KdEwAAo5FIJAoC4ldffbVef/11Scnx6KyzztIZZ5yhWbNmKRgM6vXXX9f//d//affu3Zl9Vq1apYsvvlgPPPBAn+0w1hdirAcAlNIVV1yh97znPbr66qu1bt06ScmnmuQ/2STXggULdP311+vSSy+1zYier1Tvp4dCIcXj8VG1VapxfjhtAQBQKlybFxqP54Sxw4zmAEYt/4d37qOshqqysnLAYwIAgOQfsT/1qU9p586dmbKamhrdfvvtg+472vE6f6zu65jFaKevtoZ68TtW5wQAwGj9wz/8g4LBoCTp0EMP1Ze//OWiHbtUY+9EGuOH0xYAACPV0dFhm5FLkl577TVJUkNDg55++mn99re/1eWXX66zzjpLF154oW655RZt2LBBK1eutO334IMP6uc//3mf7TDWj64tAACK4QMf+IBefvllXXvttXI6nQPWnTNnjq699lqtXLlywJC5VL5xfiRtMc4DAA5kXJuPvC1+N5gcCJoDGLXe3l7busfjGfYx8mcODYVCo+oTAACT0XXXXac//vGPtrIf//jHmj179qD7jna87muW777G61L+XlCqcwIAYDR++tOfatWqVZKSM3zccccdIxof+1OqsXcijfHDaQsAgJHq74+aTqdTv//973XKKaf0uT0QCOj//u//9KEPfchW/o1vfKMguC4x1o+2LQAAiuFHP/qRFi5cqFtvvbVgZvB827dv15VXXql58+bprrvuGrBuucb5kbTFOA8AOJBxbT7ytvjdYHIgaA5g1PLvNIpEIsM+RjgcHvCYAAAc6G6//XZ95zvfsZVdf/31uvDCC4e0/2jH6/yxuq9jFqOdvtrq7/eCUp0TAAAjtWfPHl177bWZ9c9//vP9hs5GqlRj70Qa44fTFgAAI9Xf2PL5z39eJ5xwwoD7OhwO/fCHP7TNcrphwwY9/fTTg7bDWD+8tgAAGI1oNKpPfOITuuKKK7Rnzx5JUn19vb761a/qpZdeUltbmyKRiHbv3q3f/va3+tjHPibLsiRJra2tuuSSS3Tdddf1e/xyjfMjaYtxHgBwIOPafORt8bvB5EDQHMCoBQIB23pfd0QPJv9Oo/xjAgBwILv33nt1zTXX2Mouvvhi3XLLLUM+xmjH677uCu5rvC7l7wWlOicAAEbqC1/4gtrb2yVJBx10kL797W8XvY1Sjb0TaYwfTlsAAIxUf2PLpZdeOqT9FyxYoNNPP91W1lfQnLF+dG0BADAaV1xxhR544IHM+vHHH69169bp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2WefPaBrvfvuu/v8Q7Xh23nnnWeGw+EDvqdcLmd+7Wtf2+/r+P1+89e//vUBX2ci7wkAcGhbvny5eckll5iNjY37fNaUI2jOz+YHxz2hfAzTNE0BQJnkcjl98pOf1JNPPlly3G63q7m5WZWVldq0aZP6+/tLXvf5fHr++ed1yimnTGS5AABYbsmSJXrzzTdHHB/6ysiGhgal02lt3rx5xPNTkk488US98MILB/T1lY899pguv/xy5XK5kuN1dXVqampSZ2entm7dql1/VLj++ut177337vd1BgcHdeaZZ+r1118vOe5yuTRz5ky53W5t3LhRsVhsRB0rVqzQ3LlzJ909AQBQbv39/Vq4cKG2bt064rWWlha1trbu91rLly/Xueeeq8HBwZLjVVVVmjVrlvr6+tTe3q5sNlvy+ic/+Un9+te/3u+v9p7In/0n6p4AACiHe++9V1/96ldH/Ozp8XjU2Nio2tpaDQ4Oavv27eru7i6+3tDQoI6Ojn2uz7N+9PcEAMBoXXPNNXrggQdGHPf5fJozZ468Xq96enq0cePGEf8N4HK59MQTT+j888/f53XWrl2r008/veS/ESQpEAho9uzZGhwcVGtrq9LpdMnrp5xyil588UV5PJ79vqe///u/1w9+8IOSY4ZhaMaMGaqrq1NbW9uIOux2ux577DFdcskl+32dibwnAMCh7fvf/75uuOGG/Tr3QD933xU/mx8c94QyszLlDmDq+ed//ucRf1l07bXXmlu3bi2ek81mzd/85jdmc3NzyXkzZszgr5MBAIecxYsXF5+FVVVV5nXXXWc+/fTT5sDAQMl5mUzGfOmll8wzzjhjxLP20ksv3e/rrV+/fsRXXR177LHmiy++WHLemjVrzE9+8pMjrvX444/v97WuvfbakvfabDbztttuM3t7e4vnJJNJ86GHHjJDoVDJuYsWLTIzmcykuycAAMrtmmuuKekQNvwZdSCdVXp7e0d0a2lpaTGfeOKJkm/waG9vN7/4xS+OeB5+73vf2+9rTdTP/hN5TwAAjNUDDzww4ll0/vnnm88++6yZSCRGnL9161bzP/7jP8xLL73UbGpq2uf6POt51gMAJt5jjz024vmzYMEC8+mnnzbT6XTJuZ2dneZdd9014htM6+rqSj4T3510Om0effTRJe+rrq42f/azn5mpVKp4Xk9Pj3nLLbeM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AUX+sjwwMNDhMQEAwEUJCQm67777rNbdeOON6tatm8P98vet+fvewuQvn5OTo6ysLPn6+rq0Hlv72LsucNc5AQBQUkePHtVLL72Ut/z888+rRYsWLjl2SftDk8kkf39/q4Cbrb7Xnff+7jonAABKwmKxFAiIP/roo9q+fbuki/3RsGHDdN1116levXpKS0vT9u3bNW3aNJ0+fTpvn2XLlmns2LH6+eefbdZDX18QfT0AwJ0eeOABNW/eXI8++qj27t0r6eKsJvlnNrlco0aN9Oyzz2rChAlWI6Ln567n6RkZGTKbzSWqy139fFHqAgDAXbg3L6g8nhNKDyOaAyix/B/el09l5Sx/f3+HxwQAABe/xB4zZoxOnjyZt65KlSr65JNPCt23pP11/r7a1jFdUY+tupy9+S2tcwIAoKTuvfdepaWlSZJatGihF154wWXHdlffW5H6+KLUBQBAcSUlJVmNyCVJ27ZtkySFhoZq5cqV+uWXX3T//fdr2LBhGjVqlN5++21FR0dr9OjRVvvNmzdPP/zwg8166OtLVhcAAK5w1VVXafPmzXr66afl6enpsGxERISefvppjR492mHIXCq7fr44ddHPAwCuZNybF78urg0qB4LmAEosMzPTatnHx6fIx8g/cmhGRkaJ2gQAQGX0zDPP6Pfff7da9/XXX6t+/fqF7lvS/trWKN+2+mt3Xhe465wAACiJyZMna9myZZIujvAxadKkYvWP9rir761IfXxR6gIAoLjsfanp6empxYsXq2/fvja3BwUFadq0abr66qut1r/55psFgusSfX1J6wIAwBW++uorNW7cWBMnTiwwMnh+J06c0IMPPqgGDRpoypQpDsuWVT9fnLro5wEAVzLuzYtfF9cGlQNBcwAllv9No+zs7CIfIysry+ExAQC40n3yySf64IMPrNY9++yzGjVqlFP7l7S/zt9X2zqmK+qxVZe96wJ3nRMAAMV15swZPf3003nL48ePtxs6Ky539b0VqY8vSl0AABSXvb5l/Pjx6t69u8N9PTw89OWXX1qNchodHa2VK1cWWg99fdHqAgCgJHJycnTLLbfogQce0JkzZyRJ1atX17///W9t2rRJFy5cUHZ2tk6fPq1ffvlFN910k0wmkyQpISFB48aN0zPPPGP3+GXVzxenLvp5AMCVjHvz4tfFtUHlQNAcQIkFBQVZ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9ZfV8uWDplwuf5/43XffORW8Onz4sFauXJm37O3treuuu85u+fr166tjx455y6mpqZozZ06h9Ugl7+dL65wAAHAn7s3/pzyfE0oHQXMALuHh4aGxY8darXvttdcKvWH866+/tHr16rzl4OBgjRw5sjSaCABAuZWQkKAhQ4bo8OHDeetq1KihpUuXqmHDhi6r55577pHJZMpbnjVrlvbt2+dwn8zMTL399ttW68aNG+dwn+rVq+vGG2/MWzYMQ6+++mqh7ZsyZYrVtFeRkZEaPHiww33cdU4AAJRnt956qwIDA/OWV61aVegX4IZh6LXXXrNad/fdd1uNypqfO+/93XVOAACU1H333We1/N577ykrK6vQ/b755hudPXs2bzkkJETXXHONzbL09RfR1wMA3GnQoEFWyx999JFyc3Od2nflypVWM2raOt4l11xzjerVq5e3fOzYMX333XeF1vHqq69a9dH//Oc/VaVKFYf75H8O/vbbbyszM9PhPvv27dPs2bPzlm1dL+TnznMCAMBduDe/qLyfE0qJAQAuEhsbawQFBRmS8n7eeustu+VPnjxpNGjQwKr8Sy+95MYWAwBQ9pKTk42uXbta9YdVq1Y1tm/fXir1jRo1yqqurl27GklJSTbLWiwW47777rMq36hRIyM7O7vQevbu3Wt4eHhY7TtjxgyH5atWrWpV/ttvvy1X5wQAQGlbvny5VR8VGRnp9L7/+te/rPZt2LChcerUKbvl//vf/1qVr1KlihEfH19oPe6893fXOQEAUBJms9lo27atVR901113GWaz2e4+GzZsKNCfPvfccw7roa+nrwcAuNcff/xh1e9IMiZMmOCwjzcMwzh48KBRp04dq/2aNm1q5Obm2t3nyy+/tCpfrVo1Y+/evXbL//jjj1blPT09jejo6ELPKSsry4iIiLDa9/777zcsFovN8klJSUaXLl2syo8ZM6bQetx5TgAAFKYkz93z4968YpwTXI+gOQCXevPNNwvccD/wwANWHZDZbDbmz59f4Ca2Tp06xoULF8qu8QAAlIEBAwYU6Dtff/11Y+nSpUX+SUhIKLS+gwcPGgEBAVb1tW/f3li+fLlVuejoaOPmm28u0LY5c+Y4fW733nuv1b4eHh7Gyy+/bNXO7Oxs47vvvjOqVatmVbZdu3ZGTk6OU/W485wAAChNJXngHR8fb9SqVavA/gsXLrT6wjgmJqbAS1eSjHfffdfputx17+/OcwIAoCSWLVtmmEwmq35o8ODBxpYtW6zKJSYmGu+//36BL1abNWtmJCcnO6yDvp6+HgDgfgMHDizQ//Tp08dYtmxZgefXcXFxxsSJE40qVaoU2Gfu3LkO68nOzjZat25ttU/16tWN77//3qqe+Ph446WXXiowyMuDDz7o9DnNmDGjQPtuueUW48CBA1bl/vrrL6Ndu3ZW5YKCgowjR444VY87zwkAAMMwjDVr1tj8Dn3ixIlWfUx4eLjd79sdvRRlGNybV5RzguuZDKOQ8ecBoAgsFouGDx+uRYsWWa339PRUZGSkqlSpoqNHjyoxMdFqu7+/v5YuXarevXu7sbUAAJQ9k8nksmMtX75cAwYMKLTcrFmzNHr06AJTUdWoUUMRERE6f/68Tp48WWD7I488ok8++cTp9qSnp6t///7asmWL1XofHx81bNhQvr6+OnLkiFJTU622h4WFae3atWrWrJnTdbnrnAAAKE0rVqzQwIED85YjIyN17Ngxp/dftWqVrrnmmgLTXletWlUNGzZUYmKiTpw4IbPZbLV9+PDhmj9/vtPXJe6893fXOQEAUFLvvPOOnnvuuQLra9WqpXr16iktLU2HDx9Wdna21fbQ0FAtX75cbdu2LbQO+vrinxMAAMVx9uxZ9erVS0ePHi2wLSgoSA0bNpS/v7/i4+N15MiRAs+fJempp57SxIkTC61r37596tOnjxISEgrU07hxY2VkZOjo0aPKycmx2t6tWzetWLFC/v7+Tp/Xgw8+qC+//NJqnclkUv369VWjRg0dP35ccXFxVts9PDw0e/Zs3XLLLU7X485zAgCgQYMGOn78eImOcdddd2nq1KkOy3BvXjHOCS5WhiF3AJVURkaGceuttxZ4A8neT2hoaIERRwEAuFI4218681OU/nTGjBmGv7+/08d++umn7U6f6Uh8fLxx1VVXOV1PgwYNjF27dhW5HneeEwAApcUVU3j+9ddfRvXq1Z3uD0ePHm1kZmYWuR533vu765wAACipTz75xPD29na6z2revHmB0UMLQ19PXw8AcK8TJ07YnJm0sB9vb2/j7bffLtIz6B07dhiRkZFO1zF48OBijexpNpuNJ554wul6AgICjNmzZxe5HneeEwAARelv7P3cddddTtXFvXnFOCe4jocA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jO3bt9u9xpX3BACAYZz7BuytW7caBQUFxc45K2jOs3nVuCdUDrMAwAksFoumTp1qdez555+XyWSye90VV1yhXr16FbbPnj2rL7/8slJqBADAE1177bXy9fUt0zVeXl569NFHrY799NNPpV43ZcoUWSyWwvbQoUPVvHlzu9f4+/vr8ccftzo2adIku9ecPn1aX3/9dWHbZDLp+eefL7W+O++8U3FxcYXtxMRELV682O41rronAACc7ZlnntHevXslSfXr19fLL79c7rG++OILpaenF7YvvfRSXXHFFXavMZlMeu6556yOTZkyRYZh2LzGlc/+rronAAAqasGCBVq6dGlhe9CgQRo0aJBT52CtP4e1HgDgSjt37rRq16tXT507d3bo2ptvvtmqvWfPHpt9f/rpJx06dKiw3aBBA915552lzlF0jZ4zZ47S0tLsXlP0dfAnnnhC/v7+dq9p0aKFhgwZUtguKCgo9vtCUa68JwAAJKlhw4Zq0aKFzObKi8PybH6Op98TKgdBcwBOsWLFCp04caKwnZCQoN69ezt07ejRo63a8+fPd2JlAABUTxc+UElSSkqKMjMz7V7zzTffWLWLrsG2DBkyREFBQYXtNWvW6MiRIzb7L1y4UPn5+YXt3r17KyEhodR5zGZzsRebS/u9wFX3BACAM61Zs0bvv/9+Yfvjjz9WcHBwucdbsGCBVdvR9bBPnz6Kj48vbB87dkwrV6602d+Vz/6uuicAACpqwoQJVu2ib7Y6A2v931jrAQCucurUKat2bGysw9fWr1/fqp2ammqzb9E18c477yw1dCWdC9Rddtllhe28vDx9//33NvsnJSXpr7/+KmwHBwdr8ODBpc4jFV+ni9ZclKvuCQAAV+LZ/G+efE+oHATNATjFwoULrdp9+/Z16GHxfN8LLVu2TBkZGU6rDQCA6qhmzZrFjtnb2WPnzp1Wu6YEBQWpe/fuDs1VtK9hGMXW/gsVPXfVVVc5NI9U/PeC7777zmZfV94TAADOkpeXp9GjR6ugoEDSuV1Pr7vuunKPl56ert9++83qmKNrr8lk0pVXXml1zN7a66pnf1feEwAAFXH48GGrbxhr166dWrZs6dQ5WOutsdYDAFwlNDTUqp2VleXwtUX7hoeH2+zrqtfTi87To0cPq81Y7OnRo4cCAwML2zt37tTu3bsdnquy7gkAAFfh2dyap94TKg9BcwBOsWHDBqu2oyEvSYqOjlaDBg0K27m5udq2bZuTKgMAoHo6fPhwsWO1a9e22b/oWt2lSxd5e3s7PF+PHj3sjmfvXFl+L+jYsaP8/PwK20eOHLH6dLO9eSrzngAAcJbXXntNmzdvliSFhYXpww8/rNB4W7duVV5eXmE7Pj5ederUcfh6V63xZXn2d+U9AQBQET/++GPhh8ekczt6ORtrfXGs9QAAV2jXrp1Ve/v27Q6HmlavXm3V7tKlS4n9jh8/rmPHjhW2/fz81KFDB4drdNU67+3tXewebM3lynsCAMBVeDYvzhPvCZWHoDkAp9i+fbtVu0WLFmW6vmj/ouMBAABrv//+u1U7Li5Ovr6+Nvu7aq3Oy8uz2mW8rHP5+fmpYcOGDs3F7x8AgKpm27ZteuWVVwrbb7zxRpleuC2JK9dDV83FGg8AqCrWrFlj1W7btm3h39evX68HHnhAbdu2Vc2aNRUYGKgGDRqob9++evvtt0v8AHlJWOvLPw8AABVRr149qxBUTk6OQx8Wz8nJ0fvvv291bPTo0SX2LbqGNWrUyO7r/EUVXRP37Nmj/Px8h+Zy1TpfmfcEAICr8Gxe/nlcPRcqB0FzABWWlZWlgwcPWh2LjY0t0xhF++/cubPCdQEAUJ1NmTLFqn3NNdfY7V90ba2stXrfvn1WL/oGBATY/VrQiszlqnsCAMAZLBaLRo8erdzcXElSr169NHbs2AqP6+z1MDExUdnZ2cX6ufLZ31X3BABARRUNmickJCg9PV2jR49Whw4d9O9//1ubNm1SamqqsrKylJiYqMWLF+uRRx5R48aN9eSTT1rtHlYS1vrS52GtBwBUljfeeENm89+xmmeffVaffvqpzf6pqam65ZZbrMJP119/va6//voS+1d0TYyIiJC/v39hOzc3V/v376+UuVy1zpflngAAcBWezUufxxPuCZWHoDmACjt58qQMwyhs+/j4KDIyskxjxMTEWLWTk5OdUhsAANXR999/r99++83q2MiRI+1eU3RtrVevXpnmLLpWnzhxwqF5il5Xnrls/V7gqnsCAMAZPvzwQ61cuVKS5OvrqwkTJshkMlV43Iquh1FRUfL29i5sWywWpaSkFOvnymd/V90TAAAVVfQbvcxmsy699NJiHw4vSVZWll577TVdc801Onv2rM1+rPXFsdYDAFylZ8+e+uijjwqf3/Pz8zVy5Eh16dJFr7/+uubNm6cff/xRn3/+ue6//341bNhQ3333XeH1ffv21axZs2yOX9E1UZKio6Ptjnle0de/K/p6emWt85Lj9wQAgKvwbF6cJ94TKo936V0AwL709HSrdmBgYJnfLA8KCrI7JgAAOOfUqVO66667rI4NHDhQXbp0sXtd0bW16NpbmqL98/LylJOTIz8/P6fOU9I1tn4vcNU9AQBQUfv379fTTz9d2H7iiSfUrFkzp4xd0fXQZDIpICDAKuBW0trrymd/V90TAAAVYbFYigXEH3jgAa1fv17SufXouuuu0zXXXKN69eopIyND69ev12effaYjR44UXrN48WKNHDlSX331VYnzsNYXx1oPAHCle+65R02bNtUDDzygrVu3Sjr3rSZFv9nkQgkJCXr00Uc1duxYqx3Ri3LV6+lZWVkqKCio0FyuWufLMhcAAK7Cs3lxnnhPqDzsaA6gwor+8L7wq6wcFRAQYHdMAABw7k3s2267TUlJSYXHQkND9eGHH5Z6bUXX66JrdUljOmOekuZy9OG3su4JAICKGjdunDIyMiRJzZo105NPPum0sV219lalNb4scwEAUF5paWlWO3JJ0l9//SVJql27tn799Vd98803uvvuu3XddddpyJAhev3117Vz504NHz7c6rqvv/5a06dPL3Ee1vqKzQUAgDNcfvnlWrNmjR5++GF5eXnZ7Vu/fn09/PDDGj58uN2QueS+db48c7HOAwAuZjybl38ufjeoHgiaA6iw7Oxsq7avr2+Zxyi6c2hWVlaFagIAoDp65JFH9MMPP1gd++STTxQbG1vqtRVdr0va5buk9dqVvxe46p4AAKiIyZMna/HixZLO7fAxYcKEcq2Ptrhq7a1Ka3xZ5gIAoLxsvanp5eWlhQsXqlevXiWeDw4O1meffaarrrrK6virr75aLLgusdZXdC4AAJzhf//7nxo2bKi333672M7gRR08eFDjx49XgwYNNGXKFLt93bXOl2cu1nkAwMWMZ/Pyz8XvBtUDQXMAFVb0k0a5ubllHiMnJ8fumAAAXOw+/PBDvfvuu1bHHn30UQ0ZMsSh6yu6Xhddq0sa0xnzlDSXrd8LXHVPAACU19GjR/Xwww8XtseMGWMzdFZerlp7q9IaX5a5AAAoL1try5gxY9S1a1e715rNZv33v/+12uV0586d+vXXX0udh7W+bHMBAFAReXl5uuWWW3TPPffo6NGjkqRatWrp2Wef1erVq3X69Gnl5ubqyJEj+uabb3TjjTfKZDJJkk6dOqXRo0frkUcesTm+u9b58szFOg8AuJjxbF7+ufjdoHogaA6gwoKDg63aJX0iujRFP2lUdEwAAC5mM2fO1D/+8Q+rYyNHjtTrr7/u8BgVXa9L+lRwSeu1K38vcNU9AQBQXvfee69SU1MlSXXq1NGbb77p9DlctfZWpTW+LHMBAFBettaWsWPHOnR9QkKCrrzySqtjJQXNWesrNhcAABVxzz336Kuvvipsd+nSRVu3btULL7ygzp07KywsTD4+Pqpbt66uv/56ff3115o/f75V+Ontt9/W1KlTSxzfXet8eeZinQcAXMx4Ni//XPxuUD0QNAdQYUV/eGdmZpb4FZ/2ZGRk2B0TAICL1Xfffac77rjDam296aabNGnSpMKdURxRdG0tuvaWpmh/b2/vEj8pXNF5SrrG0YffyronAADKY86cOZo3b15h+4MPPlBYWJjT56noemgYRrleDK7MZ39X3RMAABUREBAgLy8vq2MhISFq3769w2NcdtllVu21a9cW68NaXxxrPQDAFZYtW6bJkycXtiMjI/Xdd9+pTp06dq+74YYb9PHHH1sde+SRRxza+KSyXk8v6feWir6eXlnrfFnmAgDAVXg2L84T7wmVh6A5gAoLDw+3Crrl5eUpOTm5TGMcPnzYqh0ZGemU2gAAqMqWLl2qQYMGKT8/v/BY3759NWvWrGIvCpem6NqalJRUpuuLrtUREREOzVP0uvLMZev3AlfdEwAA5XHhV2Nfe+21Gjx4cKXMU9H18Pjx41a/a5jNZoWHhxfr58pnf1fdEwAAFVV0zWrUqJHMZsffemvatKlVu6S1lbW+ONZ6AIArfPjhh1btf/zjHw6/hjxy5Eg1adKksJ2SkqKvv/66WL+KromSdOTIEbtjnle09oq+nl5Z67zk+D0BAOAqPJsX54n3hMpD0BxAhQUEBKh+/fpWxw4ePFimMYr2b9asWYXrAgCgKlu1apVuuOEGq6+O6t69u+bNmydfX98yj1f0zevKWqsTEhLk7e1d2M7KytKJEycqZS5X3RMAAOWRmppa+PeFCxfKZDKV+qdPnz5WYyQmJhbrs2HDBqs+zl4P4+LiSvyGD1c++7vqngAAqKjmzZtbtWvUqFGm64v2P336dLE+rPWlz8NaDwBwNsMw9Msvv1gdu/766x2+3mw269prr7U69ttvvxXrV9E1MTk52eo9BF9fXyUkJJTY11Wvp7vyngAAcBWezUufxxPuCZWHoDkApyj6A3zbtm1lun779u12xwMA4GKyadMm9e/fX+np6YXH2rdvr++//15BQUHlGtNVa7WPj48aNmxY7rlycnK0b98+h+bi9w8AAFy7HrpqLtZ4AEBV0aJFC6t2Tk5Oma6/MEQlSYGBgcX6sNaXfx4AAMrr9OnTSktLszoWHx9fpjGK9i/p2z+LrmF79+5Vbm6uw3MUXRMbNmxotRGMvblctc5X5j0BAOAqPJuXfx5Xz4XKQdAcgFO0a9fOqr1ixQqHrz169KgOHDhQ2Pbx8Sn2Aj0AABeLnTt3qm/fvla7mDVv3lw//fSTQkNDyz1u0bV6zZo1Vl9lVZrly5fbHc/eubL8XrBu3TqrN+br1q1r86uvXHlPAAB4qpYtW8rHx6ewfeDAAR09etTh6121xpfl2d+V9wQAQEV06NDBqn38+PEyXV/0q6Jr165drA9rfXGs9QCAylbSh8fKGna+cK2TpIKCgmJ96tSpozp16ljNu27dOofncNU6n5+fr9WrVzs0lyvvCQAAV+HZvDhPvCdUHoLmAJziuuuus2ovXrxYhmE4dO3PP/9s1e7Tp4+Cg4OdVhsAAFVFYmKirrzySqs3muPj47Vo0SJFRERUaOxmzZpZ7TSekZHh8ANcRkaG/vzzz8K2yWQqtvZfqOi5RYsWOVxn0b72vo7UlfcEAEBZLViwQIsWLSrTn7fffttqjKioqGJ9GjVqZNUnJCREl156qdUxR9dewzC0ePFiq2P21l5XPfu78p4AAKiIa6+9Vmbz32+17d+/X6dOnXL4+qKhq6JfWy2x1hfFWg8AcIWSPvx15MiRMo1RdAdzW6/xX3vttVbtyno9veg8K1asUEZGhkPzLF++XJmZmYXtJk2aqEmTJg7PVVn3BACAq/Bsbs1T7wmVh6A5AKfo3r27wsPDC9v79u3TsmXLHLp28uTJVu0BAwY4szQAAKqEo0eP6oorrlBSUlLhsZiYGC1ZskQxMTFOmeOGG26wahddg22ZPXu20tPTC9udOnVSdHS0zf7XXHON1e4uy5Yt0759+0qdxzAMTZs2zepYab8XuOqeAAAoq8suu0xXXnllmf507NjRagx/f/9ifUp6AbW86+HSpUu1f//+wnZUVJS6du1qs78rn/1ddU8AAFREZGSkevToYXXs66+/duja/Px8zZs3z+pY7969S+zLWv831noAgCv4+vqqbt26Vsd++eWXMo2xZMkSq/aFm6ZcqOiaOHXqVIeCV3v37tWvv/5a2Pbx8dE111xjs39sbKzat29f2E5PT9eXX35Z6jxSxdf5yronAABciWfzv3nyPaFyEDQH4BRms1kjR460OvbCCy+U+sC4ZMkS/f7774XtkJAQDR48uDJKBADAY506dUp9+/bV3r17C49FRERo0aJFio+Pd9o8o0aNkslkKmx/8cUX2r59u91rsrOz9frrr1sdGz16tN1ratWqpYEDBxa2DcPQ888/X2p9U6ZMsfraq7i4OF155ZV2r3HVPQEA4MmGDh2qoKCgwvZvv/1W6hvghmHohRdesDp25513Wu3KWpQrn/1ddU8AAFTUXXfdZdV+6623lJOTU+p1EydO1LFjxwrbNWrUUL9+/Ursy1p/Dms9AMCVrrjiCqv2+++/r/z8fIeu/fXXX62+UbOk8c7r16+f6tWrV9g+cOCApk6dWuoczz//vNUaffPNNys0NNTuNUVfB3/99deVnZ1t95rt27dr9uzZhe2Sfl8oypX3BACAq/Bsfo6n3xMqiQEATnLixAkjODjYkFT457XXXrPZPykpyWjQoIFV/6efftqFFQMA4H5nzpwxOnfubLUehoWFGevXr6+U+YYMGWI1V+fOnY20tLQS+1osFuOuu+6y6p+QkGDk5uaWOs/WrVsNs9lsde3MmTPt9g8LC7PqP2nSJI+6JwAAKtvSpUut1qi4uDiHr33sscesro2PjzcOHz5ss/8rr7xi1T80NNRISUkpdR5XPvu76p4AAKiIgoICo3Xr1lZr0B133GEUFBTYvGblypXF1tPHH3/c7jys9az1AADX+vHHH63WHUnG2LFj7a7xhmEYu3fvNqKjo62ua9y4sZGfn2/zmv/+979W/WvWrGls3brVZv8ZM2ZY9ffy8jJ27txZ6j3l5OQY9evXt7r27rvvNiwWS4n909LSjE6dOln1v+2220qdx5X3BABAaSryuntRPJtXjXuC8xE0B+BUr776arEH7nvuucdqASooKDDmzZtX7CE2OjraOH36tPuKBwDA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", + "image/png": "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dapSTl+6dGmV+371q1+NKVOmfOLX91Evv/xy3HDDDfHss89GUVHRLo8bMGBAnHbaafH1r3+9SlH9Zz/7WVx99dXVnpNIJHZ5vfHjx8e0adM+MdvSpUvj2muvjUceeSQ2btxY7TFt27aNL33pS3HNNdd84vd/V15++eW49NJLq/yFio/af//945prrokvfelLtb429a9NmzbRtWvXWLduXeVcbX7GAAAAAEBjkpHuAAAAAAAA0Nglk8kq408qKH/UzJkzY999943vfve7uyymf3j92bNnxxe+8IU4+eSTY9u2bbu9dnFxcXzpS1+KM844Y7fF9IgPdup+/fXX46qrrorXXnutRvnry7Jly2L06NHx05/+dKdien0qLCyM0047LT796U/HY4899onF9IgPiuK/+tWv4vzzz2+wTB913XXXxbBhw+LOO+/cZTE9IqKoqCjuu+++2HfffeOOO+6o1T2uueaaGDt27C6L6RER8+bNi1NPPTW+/e1v7/TaJj329GcMAAAAADQ2dk4HAAAAAIDdeP/996uMe/bsudtzHnvssTjzzDNj+/btVeZzcnJi4MCB0alTp9iyZUvk5eVFWVlZlfOOOuqoeOGFF6J169a7vP4FF1wQDz/88E7zPXr0iD59+kSrVq2isLAw1q1bF+vXr99t3oayZcuWOO644+K9997bKWNxcXEsW7asXu7z/vvvxwknnBDz5s3baa1Dhw7Rp0+f6NixY2zevDmWLVsWO3bsqJf71kR5eXmcf/75cffdd++01rVr1+jTp0/k5OTE6tWrY+XKlZVrJSUlccEFF8SWLVvie9/73m7v8/Of/zyuuuqqnea7dOkS/fv3j+Li4liyZEnla/K3v/1t9OjRow5fGfWhqKhop7+sUJOfMQAAAADQGCmnAwAAAADAJ9i0aVPMmTOnytyoUaM+8Zx58+btVEwfN25c/Pd//3ccffTRVUrnhYWF8cADD8SVV14Za9eujYiIWbNmxfe+9734/e9/X+31X3311bjvvvsqx1lZWXHZZZfFxRdfHP3799/p+LVr18b06dPjscceiwcffHCn9eOPPz6eeeaZiIi46aab4umnn65cu++++3ZZlG3Tps0nfRsi4oPC9Idf15lnnhlXXHFFjBw5snK9tLQ0pk6dutvrfJKSkpI49dRTdyqmn3LKKfGDH/wgDj/88MjMzKycLysrizfeeCMeeeSRuPfee3e63qRJk2Ls2LEREfGDH/wg5s6dW7n24fepOp07d652/pprrqlSTM/Ozo5LLrkkLrroothvv/2qHLto0aK46aabYvLkyZW7aV9++eVx2GGHxac//eld3vull16Kn/zkJ1XmDjnkkLj55ptj/PjxlTtxFxUVxQMPPBCXX355bNiwIa6++mpF6DSbNm1alJeXV5nb3c8YAAAAAGislNMBAAAAgBaprLwiVm9O3c7JLVnvTq0jKzMj3TH22M9//vMoKSmpHGdmZsaXvvSlXR5fVlYWEydOrFJMv/rqq+PKK6+sLAh/VIcOHeLCCy+Mz372szFhwoRYuHBhRET84Q9/iIsuuigOPvjgnc75eMF88uTJcd555+0yU8+ePeO0006L0047LW655ZaoqKiost67d+/o3bt3RESV0ntExBFHHBEDBgzY5bV358Ni+q233hrf+c53dlrPzs6OE088cY+vHxFx1VVXxaxZsyrHOTk5MWXKlDjrrLOqPT4rKytGjx4do0ePjquuuipeeeWVKuuDBg2KQYMGRcTOhfNjjjmmVtleeumluO666yrH3bp1iyeffDJGjx5d7fGDBw+OP/zhDzFhwoQ4++yzo6KiIsrKyuIb3/hGvPnmm9WeU1FRERdddFFlmT0i4rOf/Ww88sgjkZ2dXeXYtm3bxte+9rU4+uij44gjjoiVK1dW2a09VebMmVPlHQNqI5W73je0srKyKq+PiIjhw4fHiBEj0pQIAAAAAOpGOR0AAAAAaJFWb94R4375fLpjtAjTL58Qe3dpm+4YtZZMJuOWW26Jm2++ucr817/+9dhrr712ed5DDz0Ub7/9duX44osvjp/+9Ke7vV+fPn3i73//exx00EGV5fGbb755p7J4RMR7771X+Xn79u1j0qRJu73+h7p27VrjY+vLxIkTqy2m14eNGzfGb3/72ypzv/vd73ZZTP+47OzsGDduXENEi4gPdk3/8M8zIyMjHn300V0W0z/qzDPPjDlz5sRNN90UERFz586NqVOnVluOf+aZZ6rsGt+7d+944IEHdiqmf1T//v3jgQceaNCv/ZNceumlablvY7J169a44IIL4uWXX64yf80116QpEQAAAADUnXI6AAAAAAAtUnU7N5eXl0dBQUG89dZb8dBDD8WCBQuqrB9++OGVZeFdufXWWys/b9u2bdxwww01znTAAQfEF77whXj44YcjIuLRRx+N8vLyyMzMrHLcR3dlz8jIiIyMxr0z/bXXXttg1/7zn/8c27ZtqxyPGzcuLrzwwga7X228++678a9//atyfOaZZ8anP/3pGp//3//93/HrX/+68nX697//vdpy+p133lll/JOf/CQ6dOiw2+uPHTs2TjnllHjkkUdqnImamzp16k5zJSUlkZ+fH7NmzYoHHnggNmzYUGX9O9/5Tpx22mmpiggAAAAA9U45HQAAAACAFqk2OzdnZWXFxRdfHDfddFO0adNml8dt2LAhZs2aVTk+6aSTonPnzrXKddxxx1WW07du3Rqvv/76Tjttf3Tn9i1btsRjjz0WJ598cq3ukyqHHnpoDBkypMGu//TTT1cZf/vb326we9XWk08+WWV8zjnn1Or8rl27xqhRo2LmzJkRETF9+vRqj5s2bVrl59nZ2TFx4sQa3+Pcc89VTm8gxx57bI2P7dy5c1x33XVxySWXNGAiAAAAAGh4jXsrFQAAAAAASLPu3bvHjBkz4ne/+90nFtMjImbMmBHJZLJy/PFSeU3069evyvjdd9/d6ZiPl16//OUvx8033xwFBQW1vl9DGzNmTINdu6ysLF555ZXKcUZGRpxwwgkNdr/a+niZvK6vh/nz51d5fUVELFu2LNatW1c5HjlyZHTp0qXG1x8/fnytM9WH559/PpLJ5B599O/fPy2ZG8ro0aNj/vz5iukAAAAANAvK6QAAAAAA8AnWr18fxx9/fEydOnW3x368SH755ZdHIpGo1cfnPve5KtfYuHHjTvc5/fTTY7/99qscb926NS699NLo2bNnHHfccfGLX/wiZsyYETt27NjDr7r+DBw4sMGuvWbNmti2bVvleNiwYdG+ffsGu19tffz10KNHj1q/Hh588MHK88vLy2PLli1VrrlkyZIq4xEjRtQqY25ubuy99961/MqoT7Nnz44JEybE8uXL0x0FAAAAAOpMOR0AAAAAgBapup2bCwsL480334wbbrghevToUXns5s2b4+STT45XX331E6+5YcOGes+5efPmneays7Pjsccei2HDhlWZLykpiWeeeSZ+9KMfxbhx4yI3NzcmTJgQt956a6xdu7bes9VEx44dG+zaHy/uf/TPrDFIxevh47vld+3atdbX3JNz2L2P/3wpLy+PjRs3xvTp0+Nb3/pW5OTkVB77zjvvxDHHHNMo3/0AAAAAAGojK90BAAAAAADSoXen1jH98gnpjtEi9O7UOt0Raqx9+/YxcuTIGDlyZHzta1+L4447Lt58882IiNi+fXuceeaZ8dZbb0W7du2qPb8hiqUVFRXVzg8aNChee+21uPXWW+P222+PlStX7nRMcXFxTJs2LaZNmxb//d//HRdffHFcf/310aFDh3rPuSvZ2dkNdu3CwsIq48a0a3pEal4PW7durTJu27Ztra+5q9cz9SsjIyM6d+4cY8eOjbFjx8Y555wTxx9/fOXrZOHChXHRRRfF3/72t/QGBQAAAIA6UE4HAAAAAFqkrMyM2LtL7UuctBw9evSIxx57LA466KDKHbqXLFkSP/vZz+Kmm26q9pyPF4O/+93vxuc+97k65Rg0aNAu19q2bRtXXHFF/PCHP4wXX3wxnnvuuZg2bVrMnDkztm/fXuXYkpKS+O1vfxtPP/10/Pvf/250u4zviY+X7D9e1E63tm3bxpYtWyrHTz75ZGRl1e1XM7169aoy/nixvKioqNbX3LZtW50ysWfGjBkT9913X5x00kmVcw8++GA8/vjjdf65AQAAAADpopwOAAAAAAC7sPfee8dNN90U559/fuXcbbfdFt/85jdjwIABOx3frVu3KuPevXvHMccc09AxIyMjI8aNGxfjxo2Lq666KkpLS2P27Nnx1FNPxf333x95eXmVxy5YsCDOPffceOKJJxo8V0Pr0qVLlfG6devSlKR63bp1q1JOP+SQQ+r9LwXk5uZWGefn59f6Ghs2bKinNNTW5z73uTjnnHPi3nvvrZy79NJL44QTTojMzMw0JgMAAACAPZOR7gAAAAAAANCYnXvuuTFy5MjKcUlJSVx77bXVHjtw4MAq44+WwlMpOzs7Dj/88Lj66qvjvffei//3//5fZGT8368EnnzyyXj33XfTkq0+9erVK9q3b185XrBgQaPaPT0Vr4eP76z/9ttv1+r8goKCWLFiRX1GopZ+/vOfR+vWrSvH8+fPj/vvvz+NiQAAAABgzymnAwAAAADAJ8jIyIhrrrmmyty9994by5Yt2+nYCRMmVBk/99xzDZqtJhKJRFxyySVx9tlnV5mfMWNGtcd/tMQeEZFMJhssW11lZWXF4YcfXjmuqKiIp556ql7vUZfvRypeD/3796+yG/tbb70VGzdurPH5L7zwQr1nonb69u0bX//616vMXX/99VFRUZGmRAAAAACw55TTAQAAAABgN04++eQ48MADK8elpaXx85//fKfj+vTpEyNGjKgcL1q0KJ588smUZNydI444oso4Pz+/2uPatWtXZVxUVNRgmerDCSecUGV822231ev16/L9+Hi2yZMnR2lpab3k+qjx48dXfl5aWhoPPPBAjc+dMmVKveeh9i677LJo1apV5XjBggXxP//zP2lMBAAAAAB7RjkdAAAAAAB2I5FIxE9+8pMqc1OmTIkVK1bsdOxll11WZfzd7343Nm/e3KD5auLjZfTOnTtXe1yXLl2qjJcsWdJgmerD1772tejQoUPlePr06fGnP/2p3q5fl+/HqFGjquyevmLFip1eR/Xha1/7WpXxddddF4WFhbs9b8aMGfHII4/Uex5qb6+99ooLLrigytz111/fqN+5AAAAAACqo5wOAAAAAAA1cOqpp8b+++9fOS4pKYlf/OIXOx335S9/ucpx7733Xpx44omxatWqGt+rtLQ07r777rjxxhurXf/yl78cL7zwQo2vt2nTpvjzn/9cZW7UqFHVHvvR7BERDz30UI3vkw65ubnxne98p8rct771rRrvHl5aWhrTp0/f5Xpdvx/XXnttZGT8369jfvnLX8Y111xTq9Lx+++/H5dddlm8+uqr1a4fd9xxMXz48Mrx6tWrY+LEiZ+4S/uyZcti4sSJNc5Aw/vhD38YOTk5leN58+Y1+n/+AAAAAODjlNMBAAAAAKAGqts9/Y477tipdJ6ZmRl///vfo1OnTpVzL7/8cowYMSKuuuqqeO+996q9/tq1a+Of//xnXHzxxdGnT58499xz491336322McffzyOPPLI2G+//eKqq66Kl19+OYqKinY6bvv27fHggw/GYYcdFsuWLaucP/DAA+PQQw+t9tpHHnlkZGdnV47vvvvu+NKXvhR33nlnPPnkkzF16tTKjxdffLHaa6TaT3/60/jUpz5VOS4pKYmzzjorTj311HjxxRejvLy8yvFlZWUxZ86c+MlPfhKDBw+OK6+8cpfXPvbYY6uMr7322jjvvPPi3nvvjaeeeqrK92POnDk7nX/EEUfE9ddfX2XuqquuikMPPTQeeOCB2LRp007nlJeXx7vvvhuTJ0+O448/PgYOHBi/+tWvYtu2bdVmzMjIiD/+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r79+0O34fD7rgQceGHI75bwmAAAsy7KeeeYZ64Mf/KA1efLkg445pQin8359dFwTSsewLMsSAJRIMpnUBRdcoEcffdS23eFwaPr06aqrq9OWLVvU2dlp2+/1erVixQq9613vKmd3AQAYUU488US99NJLBdszj6ucMGGCYrGYtm3bVjCWStKiRYv05JNPDunRmffff78uueQSJZNJ2/bm5mZNmzZN+/fv165du5T/tuHaa6/V7bffPuh2wuGwlixZojVr1ti2u91uzZw5Ux6PR5s3b1YwGCzox+rVqzV37twRd00AAAynzs5OHXXUUdq1a1fBvhkzZmjr1q2DPtczzzyj9773vQqHw7bt9fX1mjVrltrb27Vjxw4lEgnb/gsuuEAPPPDAoB8xXs7PBMp1TQAAlNLtt9+uf/3Xfy14P1pVVaXJkyerqalJ4XBYe/bsUUtLS3b/hAkTtHfv3oOenzH/0K8JAIBSuPzyy3X33XcXbPd6vZozZ46qq6vV2tqqzZs3F/w+4Ha79cgjj+j973//QdvZsGGDFi9ebPt9QZL8fr9mz56tcDisrVu3KhaL2fa/613v0l//+ldVVVUN+po+97nP6b/+679s2wzD0NSpU9Xc3Kzt27cX9MPhcOj+++/XBz/4wUG3U85rAgBAkr7//e/r85///KDqDvUz+Xy8Xx8d14QSq2QyHsDYc+uttxbcjXTllVdau3btytZJJBLWQw89ZE2fPt1Wb+rUqdzZDAA4rC1cuDA7LtbX11tXX3219Yc//MHq6uqy1YvH49bKlSut0047rWDc/dCHPjTo9jZu3FjweK1jjz3W+utf/2qr9/e//9264IILCtp68MEHB93WlVdeaTvWNE3rK1/5itXW1patE4lErHvvvddqaGiw1T3++OOteDw+4q4JAIDhdPnll9tmHcsdr4YyS0tbW1vBzC8zZsywHnnkEdtTQ3bs2GFdccUVBWPjd7/73UG3Va7PBMp5TQAAlMrdd99dMCa9//3vt/70pz9ZPT09BfV37dpl/fKXv7Q+9KEPWdOmTTvo+RnzGfMBAJV1//33F4xFCxYssP7whz9YsVjMVnf//v3WzTffXPAk1ebmZttn5n2JxWLW0UcfbTtu3Lhx1n//939b0Wg0W6+1tdW66aabCmZx/9znPjfoa/rtb3/b598g3nrrLVu9FStWWMccc4ytXk1NjbVly5ZBtVPOawIAIOP222/vd+Ztv99/yJ/J5+P9+ui4JpQe4XQAJdPS0mLV1NTYfsh/61vf6rf+zp07rZkzZ9rqf/WrXy1jjwEAGFkWLlxozZw507r77rutUCh00PrxeNz6zGc+U/BmLD+I3Z9//Md/tB130kknWZ2dnX3WTSaTBW3NmTOn4EP1vqxfv95yOBy2Y++7775+669du9aqr6+31b/nnntG1DUBADCcVq5caRmGYUmpG7q+853vHPIH4V/84hdtx86aNcv2oW2+W265xVa/rq7uoH8Yt6zyfiZQrmsCAKBU3n77bauqqio7FrlcrgHfF+cbzLjFmM+YDwCorHe+8522cejEE0+0AoHAgMc8+eSTltPptB33zW9+c8BjfvrTn9rqNzQ0WOvWreu3/q9+9StbfafTWRAu70skEikYw6+88kpb4CxXR0eHdeKJJ9rqf/zjHz9oO+W8JgAAcmXC6TU1NdaSJUus66+/3rr//vutrVu3WitXrixZOJ3366PjmlB6hNMBlMwNN9xg++F++umn9/vmNGPFihW2Y2pqaqyWlpYy9RgAgJHlsccesyKRyJCOicfjBR/4Ll++/KDHrV271ja7iNvttt58880BjwmHw9a8efNsbd15550Hbeuiiy6yHfOxj33soMfkzyg3Y8YM2wwplb4mAACGSygUsubMmZMdl/75n//5kD8I379/f8EMLytWrBjwmGQyaZ1++um2Y770pS8dtK1yfSZQzmsCAKBUli5dahuHfve735X0/Iz5xV0TAADF2rRpk238kWStWbNmUMfmzyb6rne9q9+6kUjEmjZtmq3+z372s4O28dGPfnTIf0P40Y9+ZDtm3rx5VjgcHvCYdevW2WaDdzgc1vr16wc8ppzXBABAro0bN1rr1q2zEolEwb5ShdN5vz46rgnDwxQAlEAymdS9995r2/b1r39dhmEMeNx73vMenXbaadlyd3e3fve73w1LHwEAGOnOPvtsud3uIR3jcDh0ww032LY9/vjjBz3unnvuUTKZzJYvueQSzZ8/f8Bjqqqq9IUvfMG27e677x7wmPb2dj300EPZsmEY+vrXv37Q/n3yk5/UjBkzsuVt27ZpxYoVAx5TrmsCAGA4feUrX9GmTZskSdOnT9c3vvGNQz7Xb37zGwUCgWz59NNP13ve854BjzEMQ1/72tds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16VKX+7oC5X3jfvWa/xuVfndCpQ46W4OAAAAAEWkaMPp1157rX72s58Vgud9YfS++b5h9X2vCYfD+vznP68///nPuvfee0epagAAAAAAAAAAAAAAjsz2rqieX9+m59e36ZUtnUqms8N+D7vNUIU319m8L1xe5XOp0udWpb9v7FK1P7dWXuKUnbA5AAAAAExYRRlOv+WWW3TfffdJygXOTdOUaZqaMmWKzjrrLC1YsEDV1dXy+XyKRCLq6OjQ22+/rRdffFHbt28fFFK/7777VFdXpzvuuMPKjwQAAAAAAAAAAAAAmOBSmaxea+nWCxtygfRNbeFh23vOpFKdNadWC6aUq8rvLoTQyzx0NgcAAAAAHLmiC6e/9957uvPOOwcFzE888UT90z/9k1auXFlYP5hnnnlGX//61/XOO+8Ugu133nmnLrvsMs2fP380PgIAAAAAAAAAAAAAYAKLJtPqDCfVFckdu3vienlTh/64sV2heHpY7uFx2nTacdU6a06tzppTq4ZAybDsCwAAAACY2IounP7Nb35TmUymEEK/8sordd9998lutx/R+8877zyde+65uuaaa/TAAw/IMAxlMhl961vf0q9//euRLB0AAAAAAAAAAAAAUGRM01Q4kVZXJKnOSFJd+dB5ZySprkhCneG+cd96QvFUdkRqmVJRorPzYfQPzKiSx3lkv0cHAAAAAOBIFVU4PR6P63/+538KwfQVK1bo5z//+VHvY7PZdP/992vLli1atWqVJOl3v/ud4vG4PB7PcJYMAAAAAAAAAAAAABhHMllTPbGUuiJJBaP7BMvD+cD5oLB5Usn0yITND8duM7RkaoXOnlOrs+fUamat/7DfNg4AAAAAwFAUVTh99erVisfjkiTDMPT9739/SPvdeeedWr58uaRc8H316tU699xzh1wnAAAAAAAAAAAAAMB62ayp3nguaN4dTao7klJXNKnuSLL/HEkpGO2fB2MpmabVlR9cpc+lM2fX6Oy5tTp9Vo3KS5xWlwQAAAAAmECKKpy+ffv2wrimpkannHLKkPY79dRTVVtbq7a2tv32BwAAAAAAAAAAAACMHalMVj2xlILRlHpiSQWjKXVHU/sEzfMh9Px6dzSp7BgOmh+p+fVlOntOrc6aU6sFUwKy2+iODgAAAACwRlGF0/tC5IZhqLGxcVj2bGxsLOzb3t4+LHsC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3bvblKtTp46RkJDgVjvevCYAAM567733nM68HRoaWu5n8iVxv35uXBM8j+R0AB6Tmppq1KlTx+ZD/vXXX3daPikpyWjVqpVN+RdeeMGLEQMAUL307t3baNWqlfHll18aOTk5pZYvKioy7r77brubsZKJ2M7ceOONNvX69u1rZGRkOCxrtVrt2mrbtq3dQ3VHYmNjDR8fH5u6M2fOdFp+165dRkREhE35r776qlpdEwAAlWn58uWGyWQypDMDut58881yPwh/5plnbOq2bt3a5qFtSf/6179syoeHh5f6YtwwvPtMwFvXBACAp+zbt88IDAws7ov8/Pxc3heX5E6/RZ9Pnw8AqFrnnXeeTT/Up08fIysry2WdP/74w/D19bWp99prr7ms8/nnn9uUr1u3rrF7926n5b/77jub8r6+vnbJ5Y7k5+fb9eH33nuvTcLZ3506dcro06ePTfnbbrut1Ha8eU0AAPzd2eT0OnXqGMOHDzcmT55szJkzxzh48KCxfPlyjyWnc79+blwTPI/kdAAe8+STT9p8uA8dOtTpzelZy5Yts6lTp04dIzU11UsRAwBQvSxatMjIz88vU52ioiK7B7433XRTqfV27dplM7uIv7+/ERMT47JObm6u0b59e5u2pkyZUmpb48aNs6lz6623llqn5IxyLVu2tJkhpaqvCQCAypKTk2O0bdu2uF/6xz/+Ue4H4cnJyXYzvCxbtsxlHavVagwdOtSmzrPPPltqW956JuDNawIAwFNGjBhh0w/Nnj3bo+enz6/YNQEAUFEHDhyw6X8kGdHR0W7VLTmb6IABA5yWzc/PN6KiomzKT506tdQ2brnlljK/Q/jkk09s6rRv397Izc11WWf37t02s8H7+PgYsbGxLut485oAAPi7/fv3G7t37zYsFovdMU8lp3O/fm5cEyqHWQDgAVarVdOmTbPZ99JLL8lkMrmsd9FFF2nIkCHF26dPn9bs2bMrJUYAAKq70aNHy9/fv0x1fHx89OSTT9rs++2330qt99VXX8lqtRZvjx8/Xp07d3ZZJzAwUE8//bTNvi+//NJlnZMnT2ru3LnF2yaTSS+99FKp8d1xxx1q2bJl8fahQ4e0bNkyl3W8dU0AAFSm559/XgcOHJAktWjRQq+++mq5z/X9998rKyureHvo0KG66KKLXNYxmUx68cUXbfZ99dVXMgzD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8b7IyEgtXbpUrVu39lg7d955p0wmU/H2999/r9jYWJd18vLy9MYbb9jsmzhxoss69erV09VXX128bRiGXnrppVLj++qrr2yW2mrZsqVGjhzpso63rgkAgHPF+PHjFRISUry9atWqUl+QG4ahl19+2WbfHXfcYTPra0nefCbgrWsCAMBT7rnnHpvtt956S/n5+aXW++KLL3T8+PHi7bCwMF1yySUOy9Lnn0GfDwCoKhdddJHN9vvvv6+ioiK36q5cudJmZU9H5zvrkksuUfPmzYu3Dx48qGnTppXaxksvvWTTX1933XUKDw93Wafkc/I33nhDeXl5LuvExsbqhx9+KN529N2hJG9eEwAA3sb9+hnV/ZpQSQwA8JCUlBQjNDTUkFT88/rrrzstn5SUZLRq1cqm/HPPPefFiAEAqF4yMzONvn372vSNERERxtatWyulvRtuuMGmrb59+xoZGRkOy1qtVuOee+6xKd+mTRujoKCg1HZ2795tmM1mm7ozZ850WT4iIsKm/JdfflmtrgkAAG9avny5TX/VsmVLt+s+9dRTNnVbt25tHDlyxGn5f/3rXzblw8PDjbS0tFLb8eYzAW9dEwAAnmCxWIxu3brZ9EUTJkwwLBaL0zrr16+361effvppl+3Q59PnAwCqzpIlS2z6IEnGpEmTXPb3hmEY+/btM5o2bWpTr3379kZRUZHTOp9++qlN+bp16xq7d+92Wv67776zKe/j42PExcWVek35+flGixYtbOree++9htVqdVg+IyPD6NOnj035W265pdR2vHlNAAC4qyLP5Evifv3cuCZ4HsnpADzqtddes7vxvu+++2w6IIvFYsybN8/uZrZp06bGyZMnqy54AACq2PDhw+360f/7v/8zli5dWuaf9PT0Utvbt2+fERwcbNNejx49jOXLl9uUi4uLM6699lq72GbPnu32td199902dc1ms/H888/bxFlQUGBMmzbNqFu3rk3Z7t27G4WFhW61481rAgDAWyryIDwtLc1o3LixXf0FCxbYvFA+fPiw3aAtScabb77pdlveeibgzWsCAMATli1bZphMJpv+aOTIkcamTZtsyp06dcp455137F68dujQwcjMzHTZBn0+fT4AoGqNGDHCri8aPHiwsWzZMrvn26mpqcbbb79thIeH29WZM2eOy3YKCgqMrl272tSpV6+e8fXX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xbfyry0KCwurPY8zPxNw1j0BAOBI//3vf41mzZpV6z1/s2bN7L4+az5rPgDAdUpLS40nnnjC8PDwqPZa//3331drrm3btlX5Rbc//1x22WVGVlZWte/JbDYbjz32mN3zBAYGGl988UW153HmPQEAYBiGsXr1auP66683oqOjq1xzHBFO5/16/bgnOI7JMAxDAOAgZrNZN9xwg77++muL456enoqLi1NoaKgOHjyo7Oxsi/MBAQFatmyZBgwY4MxyAQBwK3379tWmTZsqHD//uMpmzZqpuLhYhw8frrCWSlJCQoKWL19erUdnLly4UGPGjJHZbLY4HhkZqdjYWKWnpystLU3l3zY89NBDevvtt+2eJz8/X0OGDFFSUpLFcR8fH7Vu3Vq+vr46cOCAcnNzK9SxZs0atWvXzu3uCQCAupSdna2uXbsqLS2twrlWrVrp0KFDdl9r9erVGjFihPLz8y2Oh4WFKT4+XqdPn1ZKSopKS0stzt9www364osv7H7EuDM/E3DWPQEA4Ehvv/22HnnkkQrvR/38/BQdHa2IiAjl5+fr2LFjOnXqVNn5Zs2a6fjx41VenzW/5vcEAIAjTJ48WTNmzKhwPCAgQG3btpW/v78yMjJ04MCBCq8HfHx8tHjxYl1xxRVVzrNnzx5deOGFFq8XJCkoKEht2rRRfn6+Dh06pOLiYovzAwYM0M8//yw/Pz+77+n+++/X+++/b3HMZDKpZcuWioyM1JEjRyrU4enpqYULF+r666+3ex5n3hMAAJL0zjvv6OGHH7arb3U/ky+P9+v1457gYK5MxgNoeF555ZUK30a6++67jbS0tLI+paWlxqJFi4y4uDiLfi1btuSbzQCARq1Pnz5l62JYWJhx7733GkuWLDHOnDlj0a+kpMRYsWKFMXjw4Arr7o033mj3fPv27avweK0ePXoYP//8s0W/3bt3GzfccEOFub788ku757r77rstxnp4eBh///vfjczMzLI+hYWFxuzZs40mTZpY9O3Vq5dRUlLidvcEAEBdmjx5ssWuY39er6qzS0tmZmaFnV9atWplLF682OKpISkpKcZdd91VYW1888037Z7LWZ8JOPOeAABwlBkzZlRYk6644grj+++/NwoKCir0T0tLMz755BPjxhtvNGJjY6u8Pms+az4AwLUWLlxYYS3q0qWLsWTJEqO4uNiib3p6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wVn3BACAI9x3333KysqSJDVv3lyvvfaaw+dw1jpcn9b76swFAEBtWVtjJk+ebNf4Nm3aaNiwYRbHKguns+bXbi4AABzlnnvu0ZdfflnWTkhI0M6dOzV16lT169dPYWFh8vb2VosWLXTNNddo0aJFWrx4sUVQ6o033tDs2bMrvb6r1vyazMWaDwAA79drMxevERoGwukAaq38P955eXmVPl7UltzcXJvXBAAA0rfffqvbb7/dYp294YYbNGPGjLIdVuxRfp0tvw5XpXx/Ly+vSr9pXNt5Khtj7xvhuronAABqa+HChfrqq6/K2u+++67CwsIcPk9t10bDMGr0IXFdfibgrHsCAMAR/P395enpaXEsODhYvXr1svsaF198sUV748aNFfqw5lfEmg8AcLaVK1dq5syZZe2oqCh9++23at68uc1x1157rf79739bHHvsscfs2kylrj5vr+w1TG0/b6+rNb86cwEA4Gy8X6/IHe8JdYdwOoBai4iIsAjEFRcXKz09vVrXSEtLs2hHRUU5pDYAABqKFStW6Oabb1ZJSUnZseHDh2vevHkVPiiuSvl1NjU1tVrjy6/bkZGRds1TflxN5rL2GsFZ9wQAQG39+RHdV111lUaNGlUn89R2bTxx4oTF6w4PDw9FRERU6OfMzwScdU8AADhK+bWrXbt28vCw/1dzHTt2tGhXtsay5lfEmg8AcLb33nvPov3QQw/Z/RnzhAkT1KFDh7J2RkaGFi1aVKFfbddHSTp69KjNa55Xvvbaft5eV2u+ZP89AQDgbLxfr8gd7wl1h3A6gFrz9/dXXFycxbEjR45U6xrl+3fq1KnWdQEA0FCsX79e1157rcXjqgYOHKivvvpKPj4+1b5e+V9u19W63aZNG3l5eZW18/PzdfLkyTqZy1n3BABAbWVlZZX9ecmSJTKZTFX+DB061OIahw8frtBn69atFn0cvTa2atWq0qeKOPMzAWfdEwAAjtK5c2eLdkhISLXGl+9/+vTpCn1Y86uehzUfAFCXDMPQzz//bHHsmmuusXu8h4eHrrrqKotjv/zyS4V+tV0f09PTLX7H4OPjozZt2lTa11mftzvzngAAcDber1c9jzvcE+oO4XQADlH+H/Bdu3ZVa3xycrLN6wEA0Fht27ZNV1xxhXJycsqO9erVS999950CAwNrdE1nrdve3t5q27Ztjecq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NWpUhf2DBw+OkSNHJuqnnnoqrrrqqpS+y2effRZlZWWVztK/f/94+umnE/WqVauiVatWKa2925w5cyp9PhV55plnol+/fon68ssvj/Hjx+/znkPxnCMiZs6cGRdeeGHStZtvvjlGjRoVNWrU2OeMEREvv/xydO3atcLPxo8fH7169UrUxx9/fMycOTOOP/74fa45cuTIGDx4cKL+wQ9+EFOmTNmrb+vWrdG4ceMoLS2NiIi2bdvGokWLom7duvudOyLivffei7Zt26bUCwAAAABQnfb/p68AAAAAAPA1dOSRR8akSZMqDUxH/Oe08C8HpKdPn15p/7JlyxLv69evH3379k15nkaNGu1zlupQlWB6RETfvn2jT58+iXrSpEmxdevWKq1xMJ5zRMS9996bVPfu3TvGjBmTUjA9IioNppeXl8c999yTqLOyslIKpkdE3H777dGzZ89EPXXq1KTfxG6rVq1KBNMj/vMPD1INpkeEYDoAAAAAcNgIpwMAAAAAQAWuv/76yM3N3W9f27Zto3379ol6+fLl8fnnn1fYW1RUlHhfo0aNlIPSX2V7htNLS0tj4cKFVbr/YDznBQsWxLx58xJ1gwYN4tFHH63SXJWZOXNmvPfee4n6lltuSSmYvtvQoUMT78vLy2Py5Ml79ez5O4mIyMzMPIBJAQAAAAAOvf/+P/UGAAAAAICD4Cc/+UnKvR07dky8Lysri3Xr1lXYd8wxxyTeb9u2LaZOnXrA831VtG7dOql+6623qnT/wXjOs2bNSqr79u0b2dnZVZqrMtOmTUuqr7zyyird3759+2jWrFminjt37l49e/5OIiKef/75KCkpqdI+AAAAAACHg3A6AAAAAAB8SWZmZnTo0CHl/iZNmiTVW7durbDv/PPPT6qvuOKKePjhh2PLli1VnvFgKisri/z8/Bg0aFB069YtcnNzIzs7O2rWrBkZGRlJr5NOOinp3k8//TTlfQ7Wc/5y4Puiiy5KeY/92XPtevXqRdu2bau8RsuWLRPvly5dutfnubm5ccIJJyTq+fPnx4UXXhivv/56lfcCAAAAADiUhNMBAAAAAOBLcnJyombNmin316tXL6kuKiqqsK9nz55x8sknJ+rPP/88brvttmjatGl07949HnzwwXj11Vfjiy++OLDBq8GUKVOiTZs20bVr1/jNb34TL7/8cnz44YexdevWKCsr2+/9VQnaH6znvHLlyqT69NNPT3mP/dkzTL5jx46oUaPGXoH9/b0WLlyYWGPz5s0V7nPPPfck1fn5+dG5c+do3bp1XH/99TFu3LhYs2ZNtX0vAAAAAIDqIJwOAAAAAABfcsQRR6R1f3l5eYXXMzMzY+rUqXudNl5cXByzZ8+OO++8M7p06RLZ2dlx3nnnxejRo2PDhg1pzVIVQ4YMiR49esSqVasOeI2dO3em3HuwnvOege+MjIxo3LhxWvvstmPHjip9v1RUdvp77969Y/jw4ZGRkZF0ffXq1fH4449H7969o1WrVtGqVau47rrrIj8/v9LnAQAAAABwqAinAwAAAADAIXTcccfFokWL4r777ovmzZtX2LNz586YM2dODBw4MI499ti4+eabY/v27Qd1rqeffjoeeOCBpGt169aN7t27x9ChQ+OJJ56ISZMmRV5eXsyePTvxevbZZw/qXAdiz2eVlZUVNWpUz1+HVOVU+FTtK1A+dOjQmDdvXlx00UWVnjC/Zs2aePLJJ6Nr167Rvn37mD17drXPCAAAAACQqlqHewAAAAAAAPi6ycrKiiFDhsQdd9wRr732WuTn58ecOXNi/vz5UVRUlNRbXFwcjzzySMyaNSteeeWVaNKkSbXPU1xcHL/4xS+Srl199dXx0EMPRaNGjfZ57/vvv1/t86SrQYMGUVBQEBERhYWFUVZWVi0B9aysrKQ6Jycnxo8fn/a6+3LWWWdFXl5efPzxxzFr1qyYM2dOvPLKK/HBBx/s1bt48eK44IIL4uGHH46BAwce1LkAAAAAACoinA4AAAAAAIdJjRo1okuXLtGlS5e4++67o6SkJN58882YMWNGjB07NlasWJHoff/996N///4xbdq0ap9jzpw5sWHDhkTdvXv3+OMf/5jSvZs3b672edKVk5OTCKeXl5fHp59+Wi2h/uzs7KhVq1aUlpZGRERRUVF069Yt7XVT8Y1vfCP69esX/fr1i4iI9evXR35+frz44ovx0ksvRUlJSUT85/sOGjQozjnnnDj77LMPyWwAAAAAALtVz//HEgAAAAAASFtmZmacc845ce+998ayZcvi0UcfTTrxe/r06bF06dJq3/eNN95Iqm+44YaU712yZEl1j5O2E044Ial+8803q2XdjIyMyM3NTdRFRUWxfv36alm7qo455pjo06dPTJw4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AAAAAAAAANImnA4AAAAAAAAAAAAAQNqE0wEAAAAAAAAAAAAASJtwOgAAAAAAAAAAAAAAaRNOBwAAAAAAAAAAAAAgbcLpAAAAAAAAAAAAAACkTTgdAAAAAAAAAAAAAIC0CacDAAAAAAAAAAAAAJA24XQAAAAAAAAAAAAAANImnA4AAAAAAAAAAAAAQNqE0wEAAAAAAAAAAAAASJtwOgAAAAAAAAAAAAAAaRNOBwAAAAAAAAAAAAAgbcLpAAAAAAAAAAAAAACkTTgdAAAAAAAAAAAAAIC0CacDAAAAAAAAAAAAAJA24XQAAAAAAAAAAAAAANImnA4AAAAAAAAAAAAAQNqE0wEAAAAAAAAAAAAASJtwOgAAAAAAAAAAAAAAaRNOBwAAAAAAAAAAAAAgbcLpAAAAAAAAAAAAAACkTTgdAAAAAAAAAAAAAIC0CacDAAAAAAAAAAAAAJA24XQAAAAAAAAAAAAAANImnA4AAAAAAAAAAAAAQNqE0wEAAAAAAAAAAAAASJtwOgAAAAAAAAAAAAAAaRNOBwAAAAAAAAAAAAAgbcLpAAAAAAAAAAAAAACkTTgdAAAAAAAAAAAAAIC0/T/QJ54iYClplwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -905,18 +839,12 @@ "cell_type": "code", "execution_count": 12, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:49:15.927542Z", - "iopub.status.busy": "2023-12-04T17:49:15.927463Z", - "iopub.status.idle": "2023-12-04T17:49:21.299561Z", - "shell.execute_reply": "2023-12-04T17:49:21.299292Z" - }, "tags": [] }, "outputs": [ { "data": { - "image/png": "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LLXOnTs315HqnS1fDHHhhRfmOhI1YPMX3mz5AhgAAAAAoOFTNAcAAAAAaMCSyWQ88cQTceCBB8brr7+e6zgAAAAAAEA9UZDrAAAAAAAA9cmvf/3rWLlyZbX2PfHEE9PG999/f+y11147PK5p06Y73Oe5557baltZWVksW7YsJk+eHA8//HCsWLEiNbdmzZo47bTTYurUqdG5c+dqpK+/evToEclkMtcxgBpS3efOT/Xs2bMW0wAAAADAnkPRHAAAAABgJwwaNGiXjz366KOjR48eNZLjhBNO2ObcqFGj4qabboqLL744/vKXv6S2l5SUxM9+9rO4/fbbayQDQDbU5HMnAAAAAFB9ebkOAAAAAABAzWvRokXcf//9MWTIkLTtY8aMibKyshylAgAAAAAA6gtFcwAAAACABqqgoCCuueaatG0bNmyIV199NUeJAAAAAACA+qIg1wEAAAAAAKg9xx57bOTn50dlZWVqW3FxcQwfPjyHqfYsVVVVMXny5HjnnXdi+fLl0bx58+jcuXMcc8wx0alTp6znWbduXbz//vsxffr0WL58eWzcuDFat24d7du3j4EDB8Z+++2X9Uy1Zd26dTFx4sRYsGBBLFu2LFq3bh0DBw6MI488MhKJxHaP/eijj2LSpEkxf/78qKysjE6dOsXRRx8dvXv33u1cGzZsSMvVpEmT6NixY/Tv3z8OPvjg3T7/jBkz4p133olFixbF2rVro6CgIJo3bx5dunSJXr16xQEHHBAFBf5ElEvz58+PKVOmxJIlS2LlypXRunXr1GMsF88Lu2rVqlUxadKkWLRoUeqx3KFDhzj00EPjgAMOyGoWj3sAAACAmudfUwAAAAAAGrCmTZtGu3btYunSpaltJSUlNXqNefPmRY8ePVLjr371q3H33Xdv95hHH300vvjFL6ZtGzt2bFxwwQXbPe573/te/O53v0uN33///a3KjHPnzo199903NR41alSMHj06bZ/Ro0fHRRddlPEamx+7pe7du8fcuXO3m/FTVVVV8cc//jFuvPHG+Oijj7aaTyQScdJJJ8WvfvWrOPDAA6t1zl01Y8aMeOihh+Lpp5+OKVOmREVFxTb37dSpU1x66aXxne98J9q0abPd8/bo0SPmzZu31fYxY8bEmDFjtnncvffeGxdeeGG182/LhRdemHadOXPmRI8ePWLhwoXxv//7v/HXv/411q1bt9VxvXr1iltvvTVOO+20rebefvvtuOqqq+K5556LZDK51fywYcPi9ttv36Wf2TvvvBPXXnttPPPMM7Fp06aM+3Tp0iW++tWvxpVXXhktWrSo9rlLS0vj1ltvjT//+c8xa9as7e7btGnTGDJkSJx99tnxzW9+M21uy+/pp+bNm7fdcn6m3zPSlZWVxR//+Me4884744MPPsi4TyKRiEGDBsU111wTp59++nbPd+CBB8b777+fGhcXF0evXr12KtP69eujU6dOqd+Ttm3bxqJFi6Jx48bbPe5f//pX/OpXv4pJkyZt8/mkW7ducfnll8dll10WhYWFO5WrumrqcQ8AAABAZnm5DgAAAAAAQO3asiy7o5Wcd1b37t2jZ8+eqfELL7yww2Oef/75rbbt7HGdOnXK+oq51bVmzZo46aST4tvf/nbGknnEJz+XZ555Jo444oh45plnai3LE088EX379o3rrrsuXnvtte2WzCMiFi9eHNdee20cdNBB8cYbb9Rartry6quvxsEHHxz33HNPxpJ5RMSsWbPi9NNPj9///vdp2+++++4YPHhwPPvssxlL5hEREyZMiCFDhsQrr7xS7UzJZDKuuuqqGDhwYDz22GPbLJlHRCxcuDB+9rOfRZ8+fWLixInVOv/8+fPjkEMOiR/96Ec7LNtGRGzcuDFeeOGFuPTSS3f4eKBmvP7667H//vvH5Zdfvs2SecQnj5UpU6bEGWecEaeffnqsX79+m/uOGjUqbTx27NidzvX3v/897ffk3HPP3W7JfOnSpTFixIg4/fTT4+WXX97u42f+/Pnxgx/8IAYMGFCtx+XO8rgHAAAAqH2K5gAAAAAADdiGDRtixYoVadv22muvGr/Occcdl/p87ty5MXv27O3un6lUvqOi+ZIlS9JW7x0xYsROpsyO8vLyOO2009JK8R07doyBAwfGgAEDonnz5mn7b9iwIc4666yMK4PXhEyl5qZNm8Z+++0XgwYNisMOOyz23XffyMtL/5PBwoUL49hjj41p06bVSq7aMHPmzDjllFNi+fLlERFRUFAQffv2jcMPPzy6dOmStm8ymYzLL788JkyYEBERDz30UHz961+P8vLyiIho3rx59O/fPwYNGrTVyu7r1q2LL3zhC7Fy5codZkomk3HhhRfGL3/5y6iqqkqba9++fQwcODD69esXTZo0SZtbvHhxnHTSSTt8EcLGjRvjhBNOiOnTp6dtz8vLi+7du8egQYNi8ODBsf/+++/UCul1zfr16+P999+PCRMmxJQpU2L27NlRWlqa61jV8q9//StGjBgRc+bMSdveuHHj6Nu3b+rnU1BQsNVxxx133DZfmHD++edHfn5+anz//fdv8wUS27Ll6vVbltc3N3PmzDjyyCNj/PjxadsTiUT06NEjDjvssDjooIO2epzNmDEjhgwZEjNmzNipbNuzpzzuAQAAAHKtYMe7AAAAAABQX40fPz4qKyvTtg0aNKjGr3P88cfHXXfdlRq/8MILaaucb27RokUZy8vz58+P4uLi6N27d8bjtiyiH3/88buc9zOf+Uw899xzERFx8803x7PPPpuau//++7dZxm/atOkOz33jjTemivZf+cpX4qqrroqDDjooNV9aWhoPPvhgXH755bFmzZqI+KS4fOWVV8Zf/vKXXf6atic/Pz9OPvnkOP300+O4446Lnj17blUsX7t2bTz++OPx05/+NFUI3bBhQ3z5y1+ON998M+NK+A888EBs3LgxlixZEueff35q+0knnRRXXHHFNvP079+/hr6ydN/4xjdi1apVUVRUFNddd12MGjUqioqKUvOTJ0+Oiy++ON59992IiKiqqoof/OAH8fDDD8fFF18cyWQy9ttvv7jxxhvj1FNPTa3sXFlZGX//+9/jkksuiVWrVkVExLJly+LnP/95/PrXv95upj/84Q9brTQ9bNiwuPHGG2PIkCGp7+u6devi4Ycfjquuuir14pCNGzfGl7/85Xj33Xdj77333ub5Z86cmRp36NAhbrjhhjjrrLO2Ksgnk8mYPXt2jBs3Lv7xj3+kfgc2d+WVV6Z+lueff34sWbIkIj55gcr999+/za9zW/lqwumnnx7Tpk3bahXqJk2axBFHHBGnn356fP3rX4+WLVvWWoZd9f7778eXvvSl2LhxY2rbsGHD4qqrrorjjz8+7QUGa9eujYcffjiuueaa1Pd98uTJ8f3vfz/++Mc/bnXuzp07x4knnhhPP/10RETMnj07Jk6cGMOGDatWtgULFqSVxvfff/8YPHhwxn03bNgQZ5xxRlpZft99940f/ehHcfbZZ6c91ioqKmLcuHFx9dVXx5tvvhkRn/y+fOlLX4rXXnstCgsLq5Vve2r6cQ8AAABAZormAAAAADQ4FZVVsWh15tU/qVmdWzeJgvy698aJ//nPf7YqJFbXtlaOrY8qKiri5z//edq2fv36xYEHHljj19p8RfOIiOeffz4uvvjijPtuXhhv27ZttGjRIubPn586rrpF8y2vuTM6d+4cnTt3jojYqjx79NFHR48ePXb53LNnz45EIhF33nlnxu9BYWFhXHTRRdG7d+849thjU6tcP/roo7Fs2bLo0KHDLl87k0GDBsWsWbOie/fu292vZcuW8ZWvfCXOPPPMOPPMM+Opp56KiIi33347nn766fjsZz+71TFHH310RHyyiv3mOnfuHCeccELNfAE7Ye7cubHXXnvFCy+8EAcccMBW84MHD44XXngh+vfvH0uXLo2IiClTpsTnPve52LBhQwwbNiyefPLJrQrL+fn5cc4550SHDh3SHnf33Xdf3HjjjdGoUaOMeT766KO46qqr0raNGjUq7r333q2K+y1atIiLL744TjjhhBg6dGgsXLgwIiJWrFgRl112Wfzzn//MeI2//e1vqc8LCwvj5Zdfjv333z/jvolEInr16hW9evWKSy65JKZPn562InZExAEHHJD63m1egm7SpElOfqYRkXphwJY2bdoUL730Urz00kvx05/+NH7+85/Ht7/97Syn27aKioo499xz00rm119/fVxzzTUZX7jRsmXL+PrXvx6nnHJKjBgxIlWkvuOOO+Ib3/hGHHrooVsdM2rUqFTRPOKTFcqrWzS/77770lbZ395q5v/zP/+T9gKhz33uc/Hggw9mXC28oKAgTj755BgxYkScd9558eijj0bEJ88lt99+e3z/+9+vVr7tqenHPQAAAACZKZoDAAAA0OAsWr0phv3yxVzH2CNMuHJE7NO2Wa5jbOWHP/xhriPk3Lp16+Liiy+OV199NW37T3/601q5XseOHaN///7x/vvvR8TWpfDNbT43YsSIaNWqVdx7770R8UnR/JJLLtnhcT169Ih99923JqLXiu9+97vbLNp/atiwYXH22WenVjEvLy+P559/Ps4999wazbKz36cmTZrEfffdFz179ozVq1dHRMS9996bsWheF40ePTpjyfxT7du3jx/84Afxox/9KLVt2rRp0bZt2/jrX/+63VWxR4wYESeddFJqBfxly5bFlClTYsiQIRn3v/3229NKxgcffHDcddddGUvGn+rRo0f87W9/i6OPPjqSyWRERDz++OMxc+bM6NOnz1b7f7r6/Kf5tlW2zWRn9q3rVq9eHd/5znfilVdeifvuuy8KCnL/J7BHHnkk3nvvvdT4kksuif/93//d4XFdunSJv//973HIIYekiuC//vWvM64o//nPfz5at26d+l195JFH4g9/+EPaiwS2ZfOV9vPy8tLelWBzCxYsSHvHigEDBsTf/va3Ha5MXlhYGPfff3/0798/9WKU3/72t/Hd7353t4veHvcAAAAA2VH3lhoCAAAAAGCHxo0bt9XHU089FWPHjo1vf/vb0aNHj1SB+VPf+9734qyzzqq1TJuv9Lx06dK0guXmNi+MH3/88XH88cenxuPHj0+Vazc3b968mD17dsZr1TVNmzaNa665plr7fulLX0obv/nmm7URaae1bds2rVg+adKkHKapvqOOOipOPvnkHe53+umnb7Xtsssui06dOu3w2DPOOCNt/NZbb2XcL5lMxt1335227Ve/+lW1CtBDhgxJe2wkk8m0ou/mNi+yb2tl9fqooKAgTjjhhLjlllvipZdeisWLF8emTZtiw4YNMW/evHjkkUfiy1/+8lbfz4cffji+853v5Ch1ultvvTX1ebNmzeIXv/hFtY896KCD0h5rjz32WFRWVm61X5MmTeKcc85JjVevXr3N1e839/rrr8eHH36YGh9//PHRtWvXjPvedtttae8ScvPNN++wZP6pZs2apa1gPm/evJgyZUq1jt2ehvq4BwAAAKhrFM0BAAAAAOqhE088cauPU089NUaNGhW33XZbLF++PLVvmzZt4rbbbksrPdaGzQvjEZ+sTr6l2bNnp1a2jfikML55aXzZsmUxderUrY7b8lxbXqsuOeGEE6Jdu3bV2veQQw5JGy9YsKAWEu2azVdCX7hwYSxbtiyHaarn7LPPrtZ+++23XzRu3DhtW3VfhHHQQQeljefPn59xv+nTp8fSpUtT427duu3U4/arX/1q2vjll1/OuN/ee++dts+28tQnX/nKV2LOnDnx3HPPxfe///045phjYq+99orCwsJo2rRpdOvWLc4888x44IEH4u23395qBfs77rgj/vWvf+Uo/SeWL18ekydPTo1PO+20aNOmzU6d46STTkp9vm7dum2+qGHUqFFp4zFjxuzw3JuvZp7pHJt76qmnUp936tQpTjjhhB2ef3Obfx0RERMmTNip4zNpiI97AAAAgLpI0RwAAAAAaHBefPHFSCaTu/TRvXv3XMevUYcddlhMnz49Lrvsslq/1vDhwyM/Pz813nzl8k9tXhjv0qVL9O3bNzp37hz9+vWr9nERdXtF88MOO6za+3bs2DFtvHr16pqOk2bVqlVx9913x0UXXRQDBw6Mzp07R/PmzSORSGz1seXqyyUlJbWarSYMGjSoWvvl5+dH69atU+NGjRrFgQceWK1jt3wRwZo1azLu9/rrr6eNR4wYEYlEolrXiIg45phj0lbrfuutt6KsrGyr/U488cTU56tXr44RI0bE3/72tygvL6/2teqaE088cZura2+pf//+8dJLL0Xv3r3Ttl999dUZ3x0hWyZOnJh2/Z15XvhUt27d0sbTpk3LuN/RRx8dffr0SY2fe+65WLx48TbPW1ZWFg8//HBq3LJly/jCF76Qcd+VK1emvTvFwIEDIy9v5/68WN2vY2c0xMc9AAAAQF2kaA4AAAAA0IBNmTIlRowYkZXVXouKiuLQQw9NjV966aWorKxM22fzEvnmqztv/nmmldBffPHF1Of9+vWLTp061Ujm2rBleXx7mjdvnjbeuHFjTceJiIj169fHlVdeGZ06dYqLL744Ro8eHW+99VYsXrw4NmzYUK1zrFq1qlay1aQOHTpUe99mzZqlPm/btm3aiySqe1zEtn9m8+bNSxsPGDCg2tkiIgoLC2P//fdPjUtLS2PJkiVb7XfFFVekZZo9e3acc8450bFjxzj33HPjjjvuiKlTp0ZVVdVOXb8+ad++ffz5z39O2/buu+/GO++8k6NEW5epr7zyyowv6Njex6mnnpp2jhUrVmzzeiNHjkx9XllZGQ888MA2933iiSfSznX22Wdv9bj+1IcffphWmH/qqad2+uvY8nlue19HdXncAwAAAGSHojkAAAAAQD205UrslZWVsWLFipgwYUJ8+9vfjsaNG6f2/eCDD+KEE07ISlF485XGV69eHVOmTEmb37wwvnm5fPPjXn755aioqEiNp02bFosWLcq4b13UpEmTXT62NlZgLikpiSFDhsTNN98cpaWlu3ye3Tk2W3b1e18bP7OVK1emjdu3b7/T597ymC3PGRHRp0+feOSRR6JVq1Zp21etWhV/+ctf4tJLL42DDz442rdvH2eeeWY89NBDtfaChlw69thjY+DAgWnbnn322Ryl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iSfikksuiS5dusSFF14Y06ZNq/Z1+/Tpk/Yik1deeSXtRQJdunSJE044Yae+lt/85jdx6KGHpsaLFi2KY445Ji666KJ47bXX0laT/9S6deti4sSJcfXVV8f+++8fxx9//FYvCNgVtf24BwAAAOC/Cna8CwAAAAAADcGPfvSjuOeee6K8vDwiIqZOnRr//Oc/4wtf+EKNX2vgwIFRVFS01crYRx555DaL5BH/LaI//fTTadubNm0aQ4YMqfGcEREdO3aMCy64IO65557UtkcffTQeffTRrfbt3r17zJ07t1Zy1IaTTjopTjnllHjqqadS28aOHRtjx46Nnj17RocOHWLVqlUxZ86cKCsrS+3z5S9/Ofr06RPXX399ta912WWXxZ/+9KfYtGlTRER8/PHHcd1112Xc9957740LL7xwl76m+uZb3/pWTJ48Oe67777UtvHjx8eQIUOiQ4cOsc8++8SmTZtizpw5sXHjxrRjmzZtGg8++GDsvffe271GVVVVvPzyy/Hyyy+njuvSpUu0adMmIiKWLl0a8+fP3+qFJX369Imf/exn2zzvaaedFn379o0PP/wwIiI2bdoUf/jDH+IPf/jDVvuOGjUqRo8evd2c1VVVVRXPPfdcPPfccxER0bx589h7772jdevWkUwmo6SkZKsXS3xq//33jyeeeCIKCwtrJMvu6tu3bzz66KNx5plnxsqVKyMiYuXKlfHTn/40fvrTn0b79u2jU6dO0bx581izZk2UlJTEsmXLdvu6o0aNikmTJqXGpaWlqc/PP//8yMvbubWomjZtGo8//niccsop8e6770bEJ+9WMXr06Bg9enQ0b9489tlnn2jdunVs2LAhVq5cGQsXLqy1FzNF1N7jHgAAAID/sqI5AAAAAMAeokePHnHBBRekbautsl1eXl4MHz58q+3VWZU80z5HH310ra4+e+utt8aJJ55Ya+fPpQceeCAGDx681fbZs2fH66+/Hh9++GFayfzcc8+Ne++9d6evs99++8V9990XLVq02K28DU0ikYgxY8bEFVdcsVW5d9myZfHmm2/GBx98sFXJvFOnTvHss8/GZz7zmZ2+5saNG6O4uDjeeOONeOONN2LevHlblW2HDBkSEyZMiJYtW27zPAUFBfH3v/89evXqtdMZatL69etj5syZMWXKlPjPf/6zzZL5qFGj4o033oj27dtnOeH2jRgxIt544404/PDDt5orKSmJ9957L15//fWYNm1axpJ5IpGIffbZZ6euec4550STJk0yzo0aNWqnzvWprl27xquvvhrnn39+JBKJtLn169fH9OnT4/XXX4933303Pvroo4wl827duu3Staujph73AAAAAPyXojkAAAAAwB7kJz/5SRQU/PfNLt96663417/+VSvXylQYP+6442rtuN3RsmXLeOaZZ+Lpp5+Or371q3HIIYdE27Zto1GjRrV63WwoKiqKl19+Oa655ppo3br1Nvfr379/PPjgg/HQQw/tcqn/rLPOihkzZsSNN94Yn/nMZ2KfffaJFi1abFVK3dMkEon45S9/GW+++Wacfvrp211te++9945rrrkmZs6cGUOHDt3ueQcMGBCvvPJKXHXVVTFo0KC03+1tOeqoo2Ls2LHxyiuvxF577bXD/fv37x9Tp06Ne++9N84666zYb7/9onXr1pGfn7/DY3fFr371q7jwwgujd+/e1XrctGnTJr761a/GW2+9FaNHj66zL3To1atXTJ48OR5//PE47rjjdvg7lp+fH0OGDImf/vSnUVxcvNMvCioqKoozzjhjq+2HHXZY9OvXb6fOtbnmzZvHfffdF2+//Xacd955UVRUtMNj9t9///je974XkyZNSq0+vjuy8bgHAAAA4BOJZG2+Zx0AAAAA7KLy8vKYOnVq2rYBAwY0iNInQK5s2rQpXn311Zg2bVqsXLkyGjduHHvvvXccfvjhsd9+++U63h5jw4YNMXHixJg/f36UlJREYWFhdOzYMfr37x+HHHLILp93/fr18f7778esWbNiyZIlsX79+igoKIjWrVtHz54949BDD40OHTrU3BdSy9asWRMffPBBzJs3LxYvXhzr16+PRCIRRUVF0bZt2xgwYEDsv//+9fKFDBs2bIjXXnstFixYEMuXL4+NGzdGixYton379tG3b9/o169fNG/ePNcxd6iqqirefPPNmDFjRpSUlMSaNWuiWbNmUVRUFL169YoDDjig1h9zuXrcZ7pXLS4ujsrKytR4+vTpUV5eHn369IkmTZrEiBEjonPnzjWeBQAAAKC2KJoDAAAAUCcpmgMAUFcpmgMAAAB7grxcBwAAAAAAAAAAAAAAoG5RNAcAAAAAAAAAAAAAII2iOQAAAAAAAAAAAAAAaRTNAQAAAAAAAAAA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/Lhn1OHRq8O230rkL1MWxK+fnZHFVAAAAAAAAAAAAAC5U5DrAJs7/vjj46WXXopkMplWLE8kEqltvXr1iq985Stx/vnnR+/evXOcOLuKioqibdu2sXz58tS2xYsXR/fu3XOYChqGNs0bx9ivHRFn3j4pFq/ZlHGfP7xYHB1aFsaoo3pkNxwAAAAAAAAAAABAltWpovmLL76Y+nzzcnn79u3jS1/6Upx//vlxxBFH5DBh3dOoUaNcR4AGo0tR0xjz1cFx9h2TYs2mioz7XPev96Ndi8Zx2oC9s5wOAAAAAAAAAAAAIHvych1gS4lEIvX50KFD44knnohFixbF73//+z2+ZL527dpYsWJF2ra99torR2mgYerbqWXcfeHhUViQ+ekxmYz4wV/eiUmzSrKcDAAAAAAAAAAAACB76lzRPOK/q5lPmjQpbrrpprj33ntj9erVuY6Vc08++WQkk8nUuEOHDtG5c+ccJoKG6fAebeP35x0aeYnM82WVVfGNsf+J9xZ6XgIAAAAAAAAAAAAapjpXNP+0SJ1IJKKqqiomTpwYl1xySXTq1CnOPPPMePTRR6O8vDzHKbNv48aNce2116ZtO+200yIvr879CKFBOKl/p7jhCwdtc35daUVceO8bMX/5hiymAgAAAAAAAAAAAMiOOtVS/ve//x3nnHNOFBYWpq3cnUwmo7S0NP75z3/GWWedFXvttVdccskl8fLLL+cw7a658sor44033tipY1asWBGnn356zJgxI7UtPz8/vv/979d0PGAz5w3uFj84cb9tzpesK42R97weJetKs5gKAAAAAAAAAAAAoPbVqaL5Zz7zmXj44Ydj8eLF8cc//jGOPPLItBXOIz4pna9atSruuuuuGDFiRPTo0SOuvvrq+OCDD3IZvdqeffbZGDx4cBxxxBFxyy23xNtvv51xhfZkMhnTp0+Pn/3sZ9G3b98YN25c2vz3v//9OOigba+2DNSM7xzXOy44svs25+cu3xBfHf1GrCutyGIqAAAAAAAAAAAAgNpVkOsAmbRq1SouueSSuOSSS2LmzJlx7733xv333x8fffRRRKSXzufPnx833nhj3HjjjTFgwIC44IIL4rzzzstl/GqZPHlyTJ48OSIiGjduHF26dImioqJo3LhxrF27NhYsWBBr167NeOyoUaPipptuymZc2GMlEom47vT+UbKuNP793uKM+0z9aHVcev9/4u5Rh0fjgjr1+h0AAAAAAAAAAACAXVLnG5F9+vSJ//u//4t58+bFs88+G+edd140adIkbaXzZDIZyWQy3nnnnbjiiiuiW7du8d3vfjfHyauvrKws5syZE2+99Va8/vrr8cEHH2Qsmbdq1Spuv/32uPfeeyMvr87/6KDByM9LxG++dEgcsW/bbe4zYWZJXPHIO1FVlcxiMgAAAAAAAAAAAIDaUW/ayolEIk444YR44IEHYvHixXHnnXfG0KFD0wrnn5bOKysrY/r06amVzyMiJk6cmKvoaR566KG46aab4oQTTohWrVrtcP9EIhEDBgyIm2++OYqLi+PSSy9N+7qA7GjSKD/+POqw6Nd527+3j739cdzw1LTU8xIAAAAAAAAAAABAfVWQ6wC7omXLlnHxxRfHxRdfHLNnz45777037r///pg3b15ERFoR+9Py+fDhw2PvvfeOc889N770pS/FYYcdlpPs/fr1i379+sWVV14ZVVVVMXPmzCguLo758+fHmjVrory8PFq2bBmtW7eOHj16xMCBA6tVSAdqX6smjWLMRYfHF/84KT5auTHjPndPnBMdWxbGJcN7ZTkdAAAAAAAAAAAAQM2pl0XzzfXs2TN+9rOfxc9+9rN48cUX4957741HH3001q9fHxHpK50vXLgwbrnllrjllluiV69ece6558a5554bBxxwQE6y5+XlRd++faNv3745uT6w8zq2ahJjvzo4zrrj1VixvizjPr/49/Ro36IwzhzUNcvpAAAAAAAAAAAAAGpGXq4D1KQRI0bE2LFjY/HixXH33XfH8OHDIyIimUymFc6TyWQUFxfHDTfcEAcddFAcfPDBOU4O1Cc9O7SIey48PJo1zt/mPlf+fWq8+OHSLKYCAAAAAAAAAAAAqDkNqmj+qebNm8dFF10UL774YsyaNSv+93//N3r06BHJZDIiYqvS+XvvvZfjxEB9c8g+RfHH8wdFQV4i43xlVTIuu//NeGv+yiwnAwAAAAAAAAAAANh9DbJovrkePXrEddddF7NmzYrx48fHhRdeGC1atEiVzgF21fD9OsTNZw/Y5vzG8sr46ug3YtaydVlMBQAAAAAAAAAAALD7GnzRfHPHHHNM3HPPPbF48eIYPXp0HHfccZFIZF6NGKA6vnBo17j6lH7bnF+5oTxG3j05lqzZ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d+7M29bU1KQtW7aM+FjPPPOM3v/+9ysSibjW19bWav78+Wpvb9f27duVTCZd2z/ykY/ovvvuG/EU3cX87KBY5wQAQKF9//vf1xe+8IW8961lZWWaOXOmpkyZokgkot27d6ulpcXZPm3aNO3Zs2fY43MfsP/nBABAIVxxxRW6884789aHQiEtXLhQ5eXlam1t1aZNm/LuDwKBgB566CF98IMfHLad9evX67TTTnPdP0hSZWWlFixYoEgkoi1btigej7u2/9Vf/ZWefPJJlZWVjficrrnmGv3Hf/yHa51lWZo9e7YaGxu1bdu2vH54vV7de++9+vCHPzzidop5TgAADOYHP/iB/vEf/3FEdUf7WX4u3tNPjHNCgZQy5Q5g/9x66615T/FceeWVZufOnU6dZDJpHnjgATN37lxXvdmzZ/OUMAAAOY4//njnWllbW2uuvvpq8+ijj5quri5XvUQiYVauXGlOP/30vGvxRz/60RG3t2HDhrxpp4499ljz5JNPuuq9/fbb5iMf+UheW/fff/+I27ryyitd+3o8HvO1r33NtLW1OXWi0ai5++67TV1dnavu4sWLTSKRGHfnBABAsV1xxRWukb6yr2GjGQWlra0tb2SVpqYm89BDD7lm+Ni+fbv53Oc+l3e9/Ld/+7cRt1Wszw6KeU4AABTSnXfemXed+uAHP2j++Mc/mr6+vrz6O3fuNP/93/9tPvrRj5o5c+YMe3zuA7gPAACML/fee2/etenII480jz76qInH4666zc3N5uabb86bGbWxsdH1WftA4vG4Ofroo1371dfXm1/+8pcmFos59VpbW81XvvKVvNHVr7nmmhGf029/+9sB/3bxzjvvuOqtWLHCHHPMMa56VVVVZvPmzSNqp5jnBADAUL7//e8POiJ2ZWXlfn+Wn4v39BPjnFA4BM2BCaalpcVUVVW5fqF++9vfHrT+jh07zLx581z1v/71rxexxwAAjH/HH3+8mTdvnrnzzjtNOBwetn4ikTCf/exn894M5YaqB/M3f/M3rv1OPPFE09nZOWBd27bz2lq4cGHeB90DWbdunfF6va5977nnnkHrv/nmm6a2ttZV/6677hpX5wQAQLGtXLnSWJZlpNQDW9/97nf3+8PpL33pS65958+f7/ogNdctt9ziql9TUzPsH7CNKe5nB8U6JwAACundd981ZWVlzvXJ7/cP+f4510iuZdwHcB8AABhf3vOe97iuSyeccILp6ekZcp8nnnjC+Hw+137f+ta3htznZz/7mat+XV2dWbt27aD1f/WrX7nq+3y+vKD4QKLRaN41/corr3QFxbJ1dHSYE044wVX/b//2b4dtp5jnBADAcDJB86qqKrN06VJzww03mHvvvdds2bLFrFy5csyC5rynnxjnhMIhaA5MMDfeeKPrF+kZZ5wx6JvDjBUrVrj2qaqqMi0tLUXqMQAA498jjzxiotHoqPZJJBJ5H8Jeeumlw+735ptvukbvCAQC5q233hpyn0gkYg455BBXW3fcccewbV100UWufT75yU8Ou0/uCG5NTU2uEUhKfU4AABRTOBw2CxcudK5V//AP/7DfH043NzfnjaCyYsWKIfexbducccYZrn2+/OUvD9tWsT47KOY5AQBQSMuWLXNdm373u9+N6fG5DziwcwIAYKxt3LjRdT2SZFavXj2ifXNH9Pyrv/qrQetGo1EzZ84cV/1f/OIXw7bxiU98YtR/e/jxj3/s2ueQQw4xkUhkyH3Wrl3rGqXd6/WadevWDblPMc8JAIDhbNiwwaxdu9Ykk8m8bWMVNOc9/cQ4JxSWRwAmDNu2dffdd7vWffOb35RlWUPu9773vU+nn366U+7u7tbvfve7gvQRAICJ6JxzzlEgEBjVPl6vVzfeeKNr3WOPPTbsfnfddZds23bKl1xyiY444ogh9ykrK9MXv/hF17o777xzyH3a29v1wAMPOGXLsvTNb35z2P59+tOfVlNTk1PeunWrVqxYMeQ+xTonAACK7Wtf+5o2btwoSZo7d67+5V/+Zb+P9Zvf/EY9PT1O+YwzztD73ve+IfexLEvf+MY3XOvuuusuGWMG3aeYnx0U65wAACikhx9+WCtXrnTKF154oS688MIxbYP7gBTuAwAA48X69etd5dmzZ+vEE08c0b4f/ehHXeUNGzYMWvexxx7T9u3bnfK8efP06U9/etg2cq/f9957rzo7O4fcJ/fz9S996UsqKysbcp8jjzxSF198sVNOJpN59xK5inlOAAAMZ+HChTryyCPl8RQuBst7+pTxfk4oLILmwATy3HPPad++fU55wYIFWrp06Yj2vfzyy13lhx56aAx7BgDA5JT95kaSWltbFQ6Hh9zn97//vauce40ezMUXX6yKigqn/OKLL2rXrl2D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Y3bsYl2bJ9I9wGjaAgCgEDo7O10ja0nSyy+/LElqaGjQqlWr9Pvf/15XXnmlzj33XF188cW69dZbtX79el166aWu/R544AH913/914DtcB9wYG0BAFBof/3Xf60XX3xR119/vbxe75B1586dq+uvv16XXnrpkCFzqXT3APvTFvcAAAAMjPf0+98W9w0HF4LmwATR19fnKgcCgVEfI3dk0EgkckB9AgBgMrrhhhv0xz/+0bXuZz/7mebMmTPsvgd6PR9olO+BrufFvG8o1jkBAFBIv/jFL7RixQpJqdE47rjjjv26fg6mWNfmiXQPMJq2AAAohMH+OOn1evXoo4/q9NNPH3B7ZWWl/vu//1vvf//7Xeu/9a1v5QXXJe4DDrQtAAAK7ac//akWLlyo2267LW9k8Fzbtm3T1VdfrXnz5umuu+4asm6p7gH2py3uAQAAGBjv6fe/Le4bDi4EzYEJIvepnlgsNupjRKPRIY8JAACGdvvtt+t73/uea92NN96oiy++eET7H+j1PPdaPtAxx6Kdgdoa7L6hWOcEAECh7N69W9dff71T/sxnPjNosGx/FevaPJHuAUbTFgAAhTDYdeczn/mMTj755CH39Xg8+slPfuIayXT9+vVatWrVsO1wHzC6tgAAKJR4PK6Pfexjuuqqq7R7925JUn19vb7+9a9r9erVam9vVywW065du/T73/9eH/7wh2VZliSpra1Nl19+uW644YZBj1+qe4D9aYt7AAAABsZ7+v1vi/uGgwtBc2CCqKysdJUHejJ5OLlP9eQeEwAADO6ee+7Rdddd51p32WWX6dZbbx3xMQ70ej7QE7oDXc+Led9QrHMCAKBQPv/5z6ujo0OSNH36dH33u98d8zaKdW2eSPcAo2kLAIBCGOy6c8UVV4xo/wULFuiss85yrRsoaM59wIG1BQBAoVx11VW6//77nfJJJ52ktWvX6uabb9aJJ56o2tpa+f1+zZgxQx/60If0wAMP6KGHHnIFnG677TbdfffdAx6/VPcA+9MW9wAAAAyM9/T73xb3DQcXgubABJH7izIcDg84DedQent7hzwmAAAY2COPPKJPfepTrmvvRz7yEd15553OCCYjkXvtzb02Dye3vs/nG/Cp3QNtZ6B9RvpGtFDnBABAIdx777168MEHnfIPf/hD1dbWjnk7B3q9NMbs1we3hfzsoFjn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ulof+MAHBqzLfUAK9wEAgPHife97n6v8gx/8QIlEYkT7rlq1yjVT50DHy/jABz6g2bNnO+UtW7bo7rvvHraNb37zm67r90c/+lHV1NQMuU/u5+u33nqr+vr6htxn3bp1+u1vf+uUB7qXyFXMcwIAYDzgPX3KeD8nFJgBMKHs27fPVFZWGknO17e//e1B6+/YscPMmzfPVf+rX/1qEXsMAMD419XVZU488UTX9bK2tta88sorBWnv4osvdrV14oknms7OzgHr2rZtPve5z7nqL1iwwMRisWHbWbt2rfF4PK5977nnniHr19bWuurfeeed4+qcAAAotZUrV7quYU1NTSPe96abbnLtO3/+fLNz585B699yyy2u+jU1Naa1tXXYdor52UGxzgkAgEJJJpPm6KOPdl2fPvWpT5lkMjnoPs8//3zetfaLX/zikO1wH8B9AABg/PjTn/7kuiZJMldcccWQ139jjHn33XfNzJkzXfsdcsghJpFIDLrPT37yE1f9uro6s3bt2kHr/+pXv3LV93q9Zv369cOeUzQaNXPnznXte+WVVxrbtges39nZaU444QRX/U984hPDtlPMcwIA4EAcyGf5uXhPPzHOCYVD0ByYgL71rW/lvfG96qqrXL/sk8mkefDBB/PeTM6cOdO0t7eXrvMAAIxDS5cuzbu2/tM//ZN5/PHHR/3V1tY2bHvvvvuuCYVCrvaOPfZYs3LlSle99evXm4985CN5ffvd73434nP77Gc/69rX4/GYr33ta65+xmIxc/fdd5u6ujpX3WOOOcbE4/ERtVPMcwIAoJQO5MPp1tZWM3369Lz9H374Ydcffrdv3573UJYk893vfnfEbRXrs4NinhMAAIWyYsUKY1mW6xp11llnmTVr1rjqdXR0mH/7t3/L+wPpoYcearq6uoZsg/sA7gMAAOPLsmXL8q5Np512mlmxYkXe5+ItLS3mtttuMzU1NXn73HvvvUO2E4vFzFFHHeXap76+3vzyl790tdPa2mq++tWv5g0ec/XVV4/4nO655568/n3sYx8z77zzjqveE088YY455hhXvcrKSrNp06YRtVPMcwIAYDjPPPPMgH+3v+2221zXn2nTpg36N/6hHpgyhvf0E+WcUDiWMcOMQw9g3LFtW+eff74eeeQR13qv16umpibV1NRo8+bN6ujocG0vLy/X448/rlNP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p6erVq1aqlu3rlq3bq3zzjuv0q+vp06d0sqVK7Vv3z5lZmaqdu3aio6OVr9+/dSkSZNKbWvnzp3auHGjjhw5IovFonr16qlTp07q06ePfH0r7xbBk30CAKC6ys3N1apVq7Rnzx6dPHlS/v7+atasmfr06aMWLVpUalueenbgyT4BAOBue/fu1datW5WUlKTTp0+rdu3aioiIUJs2bdS1a1fVqlWr3OdmHAAAQNWSl5enzZs3a/fu3Tp58qRycnIUGhqqhg0bqkePHmrVqpVMJlOF2yksLNTatWu1Y8cOpaamysfHR40bN1bPnj3VsWPHSujJ/yQnJ2v16tVKSEgo6k+bNm00YMAABQcHV1o7nuwTAABVAff0FUOuYzVjAKjWZs+ebfTo0cOQ5PAnODjYeOCBB4wTJ054O1QAAKq0tLQ046uvvjJGjx5t1K9fv8RrqyTDz8/PuOqqq4wlS5ZUuN24uDhj7Nixhr+/v8O2TCaTMXjwYGPp0qUVasdqtRpffvml0aZNmxL7Va9ePeO5554zsrKyqkWfAADwtBtuuMHuuhYdHV2ucx0/fty4//77jaCgoBKvzT179jR++eWXCsftqWcHnuwTAADulJmZabzyyitGTExMqc8H/P39jQEDBhjvvfdemc7POAAAgKplw4YNxk033WTUqlWr1Gt/06ZNjeeff95ITU0tVzunTp0ynn32WSM8PLzENtq2bWt89dVXhtVqrVCflixZYgwePLjUcczNN99sxMfHV6gdT/YJAIDSJCUlGbNmzTKefPJJY8iQIUZISEilPMsvjnv66tEnVC4SzYFqKjc317jppptKvdE9+6dBgwYkcwEAUILx48eXmBTt7OeWW24xMjIyytXu9OnTjcDAQJfaMZlMxpNPPlmuB7EnT540hg0b5nKfWrRoYezYsaNK9wkAAE/79ddfHV7PyvNwevHixU4/bCs+3sjLyytzO558duCpPgEA4G6//fabERERUaZnAxERES6fn3EA4wAAQNVhsViMJ5980jCbzWW+9v/+++9lamvbtm1OP2I7++eSSy4x0tPTy9wnq9VqPP744y63ExQUZPz0009lbseTfQIAoCQrVqwwRo0aZTRp0sTpdagyEs25p68efULlMxmGYQhAtWK1WnX11Vdrzpw5Nvt9fHwUFRWlOnXqKD4+XhkZGTblgYGBWrBggfr2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KtpetmyZ0xfZhmHopZdestl3++2328y8Wpwnnx14qk8AALjTvffea7P95ptvKi8vz+lxn3/+uY4ePVq0HRoaqksuucRhXcYBZzAOAABUFRdddJHN9nvvvafCwkKXjl26dKnNSp2OzvePSy65RM2aNSvaPnjwoL7++munbbz44os21+9rrrlGderUKfWY4s/XX3/9deXm5pZ6zO7duzV9+vSibUdjieI82ScAAKoC7unPqOp9gpsZAKqVEydOGMHBwYakop/XXnutxPpJSUlG8+bNbeo/99xzHowYAICqLzMz0zjvvPNsrpdhYWHG5s2b3dLe9ddfb9PWeeedZ2RkZDisa7VajXvvvdemfosWLYz8/Hyn7ezcudMwm802x06ZMqXU+mFhYTb1v/jiiyrVJwAAvG3x4sU217Do6GiXj33yySdtjo2JiTGSk5NLrP/KK6/Y1K9Tp46RmprqtB1PPjvwVJ8AAHAXi8VidO7c2eb6dOuttxoWi6XEY9asWWN3rX3qqadKbYdxAOMAAEDV8ccff9hckyQZd999d6nXf8MwjP379xtNmjSxOa5169ZGYWFhicd88sknNvXr1q1r7Ny5s8T6P/74o019Hx8fY+/evU77lJeXZ0RFRdkcO27cOMNqtTqsn5GRYfTq1cum/tixY52248k+AQBQERV5ll8c9/TVo09wHxLNgWro1Vdftbvxve+++2z+sbdYLMbs2bPtbiabNGlinDx50nvBAwBQBQ0ePNju2vqf//zH+Pvvv8v8k5aW5rS9/fv3G4GBgTbtde3a1Vi8eLFNvb179xpXX321XWwzZsxwuW/33HOPzbFms9n497//bRNnfn6+8fXXXxt169a1qdulSxejoKDApXY82ScAALypIg+nU1NTjUaNGtkdP2fOHJsXv4cOHbL7KEuSMXHiRJfb8tSzA0/2CQAAd1mwYIFhMplsrlFDhw41NmzYYFMvPT3dePvtt+1ekLZp08bIzMwstQ3GAYwDAABVy5AhQ+yuTQMGDDAWLFhg91w8JSXFeOutt4w6derYHTNz5sxS28nPzzc6duxoc0x4eLjx7bff2rSTmppqPPfcc3aTx4wfP97lPk2ZMsUuvmuvvdbYt2+fTb2FCxcaXbp0sakXHBxsxMXFudSOJ/sEAIAzK1ascPje/q233rK5/kRERJT4jr+0D6YMg3v66tIn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HmjUjdjjx48bY8eOrfecunTpYmzdutWj5wQAgKt9+eWXdq9njbk5vWzZsjofbKu53igrK2vwOK68d+CqOQEA4Gz//e9/jZiYmAbdG4iJial3/6wDWAcAADxHVVWV8cADDxhms7nB1/6vv/66QWNt3ry5zofYfv/n/PPPN/Ly8ho8J4vFYtx33331HicoKMj45JNPGjyOK+cEAIAjK1euNC677DIjNja2zutQcySa85m+ZcwJzc9kGIYhAC2KxWLR5Zdfri+++MLqvJeXl+Li4hQWFqb09HTl5+dblQcGBmrJkiU6++yzXRkuAAAeLyUlRevWrbM5f+rVjjExMaqoqFBGRobN9VWSBg8erKVLlzboNZPz58/X5MmTZbFYrM5HRUWpU6dOysrK0qFDh1RzuX7nnXfqxRdfrPc4JSUlGjlypNasWWN13tfXV507d5afn5/27t2r4uJimzhWr16txMREj5sTAACulp+fr969e+vQoUM2ZfHx8dq3b1+9+1q5cqXOO+88lZSUWJ0PDw9XQkKCjh8/rgMHDqiqqsqq/PLLL9cnn3xS71d0u/LegavmBACAs7344ou65557bD63+vv7KzY2VpGRkSopKVFmZqays7Ory2NiYnTkyJE6+2cd0Pg5AQDgDNOmTdObb75pcz4wMFBdu3ZVQECAcnJytHfvXpv1ga+vrxYsWKALL7ywznF27typYcOGWa0fJCk4OFhdunRRSUmJ9u3bp4qKCqvys88+W99//738/f3rPac77rhDr776qtU5k8mkjh07KioqSvv377eJw8vLS/Pnz9dll11W73FcOScAABx56aWXdNddd9WrbkPv5dfEZ/qWMSc4iTuz3AE0ztNPP23zFM8tt9xiHDp0qLpOVVWV8dlnnxlxcXFW9Tp27MhTwgAA1JCcnFx9rQwPDzdmzJhhLFy40CgoKLCqV1lZaSxbtswYPny4zbX4iiuuqPd4aWlpNq+d6t+/v/H9999b1duxY4dx+eWX24z16aef1nusW265xaqt2Ww2/va3vxm5ubnVdcrKyox33nnHaNOmjVXdgQMHGpWVlR43JwAAXG3atGlWO339/hrWkF1QcnNzbXZWiY+PNxYsWGD1ho8DBw4YN998s8318p///Ge9x3LVvQNXzgkAAGd68803ba5TF154ofH1118bpaWlNvUPHTpkzJkzx7jiiiuMTp061dk/6wDWAQAAzzJ//nyba1OvXr2MhQsXGhUVFVZ1s7KyjMcff9zmzahRUVFW99rtqaioMPr27WvVrm3btsZ7771nlJeXV9fLyckx/vrXv9rsrn7HHXfUe05z5861+93Frl27rOotWbLE6Nevn1W9kJAQIz09vV7juHJOAADU5sUXX3S4I3ZwcHCj7+XXxGf6ljEnOA+J5kALk52dbYSEhFj9Qn3qqacc1j948KDRuXNnq/qPPPKICyMGAMDzJScnG507dzbefPNN48SJE3XWr6ysNKZPn27zYahmUrUjV199tVW7M844w8jPz7db12Kx2IzVtWtXmxvd9qSmphpeXl5WbT/88EOH9bdu3WqEh4db1X/77bc9ak4AALjasmXLDJPJZEgnH9h69tlnG31z+i9/+YtV24SEBKsbqTU98cQTVvXDwsLq/ALbMFx778BVcwIAwJl2795t+Pv7V1+ffHx8av38XFN9rmWsA1gHAAA8S58+fayuSykpKUZRUVGtbZYuXWp4e3tbtXvyySdrbfPGG29Y1W/Tpo2xbds2h/U/+OADq/re3t42ieL2lJWV2VzTb7nlFqtEsd/Ly8szUlJSrOpPnTq1znFcOScAAOpyKtE8JCTEGDlypHHfffcZ8+fPN/bt22csW7as2RLN+UzfMuYE5yHRHGhh7r//fqtfpCNGjHD44fCUJUuWWLUJCQkxsrOzXRQxAACe76uvvjLKysoa1KaystLmJuw111xTZ7utW7da7d7h6+trbN++vdY2JSUlRlJSktVYM2fOrHOsiRMnWrWZMmVKnW1q7uAWHx9vtQOJu+cEAIArnThxwujatWv1terPf/5zo29OZ2Vl2eygsmTJklrbWCwWY8SIEVZtHnrooTrHctW9A1fOCQAAZxo1apTVtWnevHnN2j/rgKbNCQCA5rZnzx6r65EkY82aNfVqW3NHz7PPPtth3bKyMqNTp05W9d966606x7juuusa/N3D66+/btUmKSnJKCkpqbXNtm3brHZp9/LyMlJTU2tt48o5AQBQl7S0NGPbtm1GVVWVTVlzJZrzmb5lzAnOZRaAFsNiseidd96xOvfYY4/JZDLV2m706NEaPnx49XFhYaHmzZvnlBgBAGiJxo0bJ19f3wa18fLy0v3332917ttvv62z3dtvvy2LxVJ9PHnyZPXs2bPWNv7+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UFBQrX0CAID6yc3N1c0332x17tJLL9XgwYNrbVfz2lvz2lyXmvUrKipUVlYmPz+/Zh3HXhtH6wZXzQkAAGdLT0/Xww8/XH38l7/8RT169GiWvpt6vTSZTAoICLBKYrN3bXblvQNXzQkAAGexWCw2CeJ/+tOftGHDBkknr1UXX3yxLrroInXs2FHFxcXasGGD5syZo8OHD1e3WbJkiW644QZ9+umndsdhHWCLdQAAwFPceuut6t69u/70pz9p27Ztkk6+8aTmW09+r0uXLrr//vs1bdo0qx3Ra3LVffqSkhJVVVU1aSxXrQEaMhYAAJ6Az/S2PHFOcD52NAdaiJq/KH//Sqn6CggIqLVPAABQN4vFouuuu04HDx6sPhcWFqZXXnmlzrZNvZ7XvJbb67M5xrE3Vn0/iDprTgAAONv06dNVXFwsSerRo4ceeuihZuvbVdfmlrQGaMhYAAA4Q35+vtXOWpK0fv16SVJERIR++OEHffnll7rlllt08cUXa9KkSXr66ae1c+dOXXPNNVbtPvvsM82ePdvuOKwDmjYWAADOdu655+rXX3/VvffeKy8vr1rrxsXF6d5779U111xTa5K55L41QGPGYg0AAIB9fKZv/FisG04vJJoDLURpaanVsa+vb4P7qLkzaElJSZNiAgCgNbrvvvv09ddfW51744031KlTpzrbNvV6bm+Xb3vXc1euG1w1JwAAnOmtt97SkiVLJJ3cjWPmzJmNun464qprc0taAzRkLAAAnMHRl5NeXl5auHChhg8fbrc8ODhYc+bM0XnnnWd1/sknn7RJXJdYBzR1LAAAnO0///mPunbtqueff95mZ/Ca9u/frxkzZqhz5856++23a63rrjVAY8ZiDQAAgH18pm/8WKwbTi8kmgMtRM2nesrLyxvcR1lZWa19AgCA2r3yyit64YUXrM7df//9mjRpUr3aN/V6XvNabq/P5hjH3liO1g2umhMAAM6SmZmpe++9t/r4pptucphY1liuuja3pDVAQ8YCAMAZHF13brrpJp155pm1tjWbzfr3v/9ttZPpzp079cMPP9Q5DuuAho0FAICzVFRU6Morr9Stt96qzMxMSVLbtm31yCOPaM2aNTp+/LjKy8t1+PBhffnll7rssstkMpkkSbm5ubrxxht13333OezfXWuAxozFGgAAAPv4TN/4sVg3nF5INAda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ue+//75BfSxdutTq+PebsfxezevlO++8U6/kqj179uiHH36oPvbx8dFFF13ksH6nTp00cODA6uOioiLNmzevznGkpq8BnDUnAAA8BZ/pf+PJc4JzkWgOtCBms1k33HCD1bnHH3+8zg9uS5cu1YoVK6qPQ0JCNHHiRGeECABAi5Wbm6uxY8dqz5491eeioqK0ePFiJSQkNNs4f/zjH2UymaqPP/74Y6WmptbaprS0VE8//bTVuRtvvLHWNm3bttWll15afWwYhh577LE643v77betXkEVHx+vMWPG1NrGVXMCAKAlmzx5soKCgqqPf/zxxzq/yDYMQ48//rjVuT/84Q9WO6/W5Mp7B66aEwAAznTzzTdbHT/33HMqKyurs92sWbN05MiR6uPQ0FCdf/75duuyDjiJdQAAwFOMHj3a6vill15SZWVlvdr+8MMPVm/qtNffKeeff746duxYfbxv3z698847dY7x2GOPWV2/r7jiCoWFhdXapub99aefflqlpaW1tklNTdXcuXOrj+2tJWpy5ZwAAPAEfKY/ydPnBCczALQox44dM4KDgw1J1X+eeuoph/UPHjxodO7c2ar+ww8/7MKIAQDwfAUFBcYZZ5xhdb0MDw83NmzY4JTxJk2aZDXWGWecYeTn59uta7FYjJtvvtmqfpcuXYzy8vI6x9m2bZthNput2n744Ye11g8PD7eq/+abb3rUnAAAcLdly5ZZXcPi4+Pr3faBBx6wapuQkGAcOnTIYf0nnnjCqn5YWJiRk5NT5ziuvHfgqjkBAOAsVVVVRt++fa2uT9dff71RVVXlsM3PP/9sc6198MEHax2HdQDrAACA5/jmm2+srkmSjGnTptV6/TcMw9i9e7cRGxtr1S4pKcmorKx02Obf//63Vf02bdoY27Ztc1j/gw8+sKrv5eVl7Ny5s845lZWVGXFxcVZtb7nlFsNisditn5+fb6SkpFjVv+666+ocx5VzAgCgKZpyL78mPtO3jDnBeUg0B1qgJ5980uaD76233mr1y76qqsr4/PPPbT5MxsbGGsePH3df8AAAeKCRI0faXFv/7//+z1i8eHGD/+Tm5tY53u7du43AwECr8fr3728sW7bMqt7OnTuNyy+/3Ca2efPm1Xtu06dPt2prNpuNv/3tb1ZxlpeXG++8847Rpk0bq7r9+vUzKioq6jWOK+cEAIA7NeXmdE5OjtGuXTub9l988YXVF78HDhyweShLkvHss8/WeyxX3Ttw5ZwAAHCWJUuWGCaTyeoaNWbMGGPt2rVW9fLy8ox//vOfNl+QduvWzSgoKKh1DNYBrAMAAJ5l1KhRNtemYcOGGUuWLLG5L56dnW08//zzRlhYmE2b+fPn1zpOeXm50bt3b6s2bdu2Nd577z2rcXJycoyHH37YZvOYGTNm1HtOH374oU18V155pbFr1y6rekuXLjX69etnVS84ONjYu3dvvcZx5ZwAAKjLypUr7X5v//zzz1tdf2JiYhx+x1/bA1OGwWf6ljInOI/JMOrYhx6Ax7FYLJowYYK++uorq/NeXl6Kj49XWFiY0tPTlZeXZ1UeEBCgxYsXa+jQoS6MFgAAz2cymZqtr2XLlmnkyJF11vv44491zTXX2LwWKioqSnFxccrKytLBgwdtyu+44w698sor9Y7nxIkTOuecc7R27Vqr876+vkpISJCfn5/27t2roqIiq/LIyEitWrVK3bp1q/dYrpoTAADutHz5co0aNar6OD4+Xvv27at3+x9//FHnn3++zeurw8PDlZCQoLy8PO3fv19VVVVW5RMmTNDnn39e73WLK+8duGpOAAA40zPPPKMHH3zQ5ny7du3UsWNHFRcXa8+ePSovL7cqj4iI0LJly9S3b986x2Ad0Pg5AQDQ3I4cOaIhQ4YoPT3dpiw4OFgJCQkKCAhQTk6O9u7da3NfW5LuuecePf/883WOlZqaqmHDhik3N9dmnK5du6qkpETp6emqqKiwKh88eLCWL1+ugICAes9rxowZ+ve//211zmQyqVOnToqKilJGRoays7Otys1ms+bOnasrr7yy3uO4ck4AANSmc+fOysjIaFIf119/vd59991a6/CZvmXMCU7ixiR3AE1QUlJiTJ482eZpH0d/IiIibHYUBQAAJ9X3elqfPw253n744YdGQEBAvfu+9957Hb7msjY5OTnGueeeW+9xOnfubGzevLnB47hyTgAAuEtzvG5z6dKlRtu2bet9vbzmmmuM0tLSBo/jynsHrpoTAADO9Morrxg+Pj71vp51797dZofQurAOYB0AAPAc+/fvt/vG07r++Pj4GE8//XSD7m1v3LjRiI+Pr/cYY8aMadTunVVVVcZdd91V73ECAwONuXPnNngcV84JAIDaNORa5OjP9ddfX6+x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", + "image/png": "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jN///vdxyimnbDP3zjvvxPe///149tlnI5lMbjM/bNiwuPnmm3fpa/buu+/GT37yk3j66adjy5Ytadd07tw5vvrVr8bVV18dLVq0qPG1S0pK4ve//3387W9/izlz5mx3bdOmTePII4+Ms846K77xjW+kzH36c/qJBQsWbLf8nu77jFSlpaXxl7/8JW699db44IMP0q5JJBIxaNCguOaaa+LUU0/d7vUOPPDAmD59etW4sLAwevbsuVOZNm3aFB07dqz6Pmnbtm0sW7Ys8vPzt3veo48+Gr/5zW/i1VdfrfbnSdeuXeOKK66Iyy67LBo3brxTuWqqth73AAAAALuLnGwHAAAAAAAg1afLqDvaiXhndevWLXr06FE1fuGFF3Z4zvPPP7/NsZ09r2PHjhnf8bWm1q9fHyeccEJ861vfSlvijvj46/L000/H4YcfHk8//XSdZXnssceiT58+8dOf/jRef/317Za4IyKWL18eP/nJT+Kggw6KN998s85y1ZXXXnstPve5z8Xtt9+etsQdETFnzpw49dRT409/+lPK8dtuuy0GDx4czzzzTNoSd0TEK6+8EkceeWRMnjy5xpmSyWR8//vfj4EDB8YjjzxSbYk7ImLJkiXx85//PPbff/+YNGlSja6/cOHCOPjgg+MHP/jBDsusERGbN2+OF154IS699NIdPh6oHW+88Ub07ds3rrjiimpL3BEfP1amTp0ap512Wpx66qmxadOmateOHj06ZTxhwoSdzvXggw+mfJ+cc8452y1xf/TRRzF8+PA49dRT4+WXX97u42fhwoXxve99LwYMGFCjx+XO8rgHAAAA2JYiNwAAAABAPVJcXByrV69OObb33nvX+n2OO+64qvfnz58fc+fO3e76dKXtHRW5V6xYkbL77PDhw3cyZWaUlZXFKaecklI679ChQwwcODAGDBgQzZs3T1lfXFwcZ555ZtqdrWtDutJw06ZNo3fv3jFo0KA49NBDY7/99oucnNRf8S9ZsiSOPfbYmDFjRp3kqguzZ8+Ok046KVatWhUREXl5edGnT5847LDDonPnzilrk8lkXHHFFfHKK69ERMQ999wTX//616OsrCwiIpo3bx79+/ePQYMGbbMz+caNG+P000+PNWvW7DBTMpmMCy+8MH79619HZWVlyly7du1i4MCB0a9fv2jSpEnK3PLly+OEE07Y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9Z/snv5JvurKrOnszNr6bt26dfHtb387Jk+eHHfccUfk5WX/n6weeOCBeP/996vGl1xySfz4xz/e4XmdO3eOBx98MA4++OCqovVvf/vbtDuif+lLX4rWrVtXfa8+8MAD8ec//zmlhF+drXeKz8nJSdlVf2uLFi1K+YsLAwYMiPvvv3+HO2s3btw47rzzzujfv3/Viz3+8Ic/xOWXX/6Zi9Qe9wAAAADp1b+tdwAAAAAAdkPPPffcNm9PPPFETJgwIb71rW9F9+7dqwrCn/jOd74TZ555Zp1l2nqn4o8++iilwLi1rQvZI0aMiBEjRlSNX3rppary6tYWLFgQc+fOTXuv+qZp06ZxzTXX1Gjtl7/85ZTxW2+9VReRdlrbtm1TituvvvpqFtPU3FFHHRUnnnjiDtedeuqp2xy77LLLomPHjjs897TTTksZv/3222nXJZPJuO2221KO/eY3v6lRwfjII49MeWwkk8mUIu3Wti6KV7czeEOUl5cXI0eOjBtvvDEmTpwYy5cvjy1btkRxcXEsWLAgHnjggfjKV76yzefz3nvvjW9/+9tZSp3q97//fdX7zZo1i1/96lc1Pveggw5Keaw98sgjUVFRsc26Jk2axNlnn101XrduXbW7t2/tjTfeiA8//LBqPGLEiNh3333Trr3ppptS/srFDTfcsMMS9yeaNWuWsgP3ggULYurUqTU6d3t218c9AAAAwGelyA0AAAAAkAHHH3/8Nm8nn3xyjB49Om666aZYtWpV1do2bdrETTfdlFIqrAtbF7IjPt5d+9Pmzp1btTNrxMeF7K1L2StXroxp06Ztc96nr/Xpe9UnI0eOjL322qtGaw8++OCU8aJFi+og0a7ZeifvJUuWxMqVK7OYpmbOOuusGq3r3bt35Ofnpxyr6YscDjrooJTxwoUL066bOXNmfPTRR1Xjrl277tTj9qtf/WrK+OWXX067bp999klZU12ehuS8886LefPmxbPPPhvf/e534+ijj4699947GjduHE2bNo2uXbvGGWecEXfddVe888472+zAfsstt8Sjjz6apfQfW7VqVUyZMqVqfMopp0SbNm126honnHBC1fsbN26s9kUDo0ePThmPHz9+h9feejfudNfY2hNPPFH1fseOHWPkyJE7vP7Wtv44IiJeeeWVnTo/nd3xcQ8AAABQGxS5AQAAAICse/HFFyOZTO7SW7du3bIdv1YdeuihMXPmzLjsssvq/F7HHHNM5ObmVo233nn7E1sXsjt37hx9+vSJTp06Rb9+/Wp8XkT93pH70EMPrfHaDh06pIzXrVtX23FSrF27Nm677ba46KKLYuDAgdGpU6do3rx5JBKJbd4+vXtwUVFRnWarDYMGDarRutzc3GjdunXVuFGjRnHggQfW6NxPl/TXr1+fdt0bb7yRMh4+fHgkEoka3SMi4uijj07Zbfrtt9+O0tLSbdYdf/zxVe+vW7cuhg8fHvfff3+UlZXV+F71zfHHH1/t7tCf1r9//5g4cWL06tUr5fiPfvSjtLv7Z8qkSZNS7r8zPxc+0bVr15TxjBkz0q4bMmRI7L///lXjZ599NpYvX17tdUtLS+Pee++tGrds2TJOP/30tGvXrFmT8tcVBg4cGDk5O/fPgTX9OHbG7vi4BwAAAKgNitwAAAAAAPXI1KlTY/jw4RnZrbSgoCAOOeSQqvHEiROjoqIiZc3WJe2tdyfe+v10O3m/+OKLVe/369cvOnbsWCuZ68Kny9nb07x585Tx5s2baztORERs2rQprr766ujYsWOMGTMmxo0bF2+//XYsX748iouLa3SNtWvX1km22tS+ffsar23WrFnV+23btk15EUJNz4uo/mu2YMGClPGAAQNqnC0ionHjxtG3b9+qcUlJSaxYsWKbdVdddVVKprlz58bZZ58dHTp0iHPOOSduueWWmDZtWlRWVu7U/RuSdu3axd/+9reUY++99168++67WUq0bVn56quvTvuCie29nXzyySnXWL16dbX3GzVqVNX7FRUVcdddd1W79rHHHku51llnnbXN4/oTH374YUoh/Yknntjpj+PTP+e293HUlMc9AAAAQHqK3AAAAAAAGfDpncQrKipi9erV8corr8S3vvWtyM/Pr1r7wQcfxMiRIzNSxN16p+x169bF1KlTU+a3LmRvXd7e+ryXX345ysvLq8YzZsyIZcuWpV1bHzVp0mSXz62LHYSLioriyCOPjBtuuCFKSkp2+Tqf5dxM2dXPfV18zdasWZMybteu3U5f+9PnfPqaERH7779/PPDAA9GqVauU42vXro1//OMfcemll8bnPve5aNeuXZxxxhlxzz331NkLBrLp2GOPjYEDB6Yce+aZZ7KUJmLVqlW1fs3t7dh/wQUXpOz4PmHChGrXjh8/PmU8evToatdm+uOoKY97AAAAgPTydrwEAAAAAOpWp9ZN4pWrh2c7xh6hU+tdLz9Su3JycqJNmzYxdOjQGDp0aFxwwQXx+c9/vqq8PXv27Lj44ovjvvvuq9McI0aMiF//+tdV4xdeeCEOP/zwiIh4//33U3YU3rrIfeyxx0ZOTk5UVlbGhg0b4s0334wjjzwyIrbdoXvr89ixs846K957772UY126dInhw4fHAQccEPvuu2+0aNEimjZtGjk5/9mvZcKECXHHHXdkOu5uY+PGjSnjT+9KXBOfPmfDhg1p133hC1+I6dOnx89//vO4++67t7l3xMcl8H/+85/xz3/+M9q3bx/XXHNNfOtb30op/zZ0I0aMiLfeeqtq/OGHH2YtS128cGZ7u0t369Ytjj322KoXy0ybNi3eeeedOPjgg1PWFRUVxZNPPlk13m+//WLYsGHVXjfTH8fO8LgHAAAA2JYiNwAAAABZl5ebE13aNst2DMiqwYMHx5133hmnnHJK1bH7778/Hn/88Tj55JPr7L5Dhw6N/Pz8KC0tjYiPS9j/8z//ExEfl7o/0bt37+jcuXPVuE2bNjFw4MCqHbyff/75qiL31ufl5OTEscceW2f5dzf/+te/4qWXXqoat2zZMv7yl7/Eueeem1LaTufTBXp2TosWLVLGmzZt2ulrfPqcli1bVrt23333jb/+9a9x4403xnPPPRcvvfRSvPzyy/Huu+9GRUVFytqVK1fG5ZdfHhMnTox//OMfkZubu9PZ6qMuXbqkjFeuXJmlJBHNmqX+f8gVV1zxmX/29ujRY7vzo0ePTvmrBxMmTNimyH333XdHWVlZ1XjUqFHbLTV/+uMYPnx4/PCHP9yJ1Ntq06bNZzp/ax73AAAAAKkUuQEAAAAA6omTTz45LrjggpRdla+88so48cQT66zA1qxZszj88MPjlVdeiYiIyZMnR0lJSTRu3DilGJxuV+3jjjsupcj9v//7v1FZWZlSRD744INrtQS4u7v33ntTxn/961/j3HPPrdG5q1evrotIe4xPP05XrVq109coKira7jXTad68eZx22mlx2mmnRUTE+vXrY9KkSfH444/HPffcE2vWrKla++CDD8Zvf/vbuPrqq3c6W33UqFGjlPHWheVMa9euXcq4U6dOMXLkyDq95xlnnBHf/OY3q14AcPfdd8evf/3ryMv7zz/fTZgwoer9RCIRo0aN2u41P/1xNGnSpM4/jl2xJz/uAQAAALa2/e07AAAAAADIqP/7v/+LJk2aVI1nzpwZd999d53e87jjjqt6f8uWLfHqq69GRUVFvPzyy1XH0xW5tz722muvxebNm+Ptt99OKeBtfW127PXXX696f6+99oqzzz67xudOnz69LiLtMbp165Yyfvfdd3fq/JKSkvjwww+rxo0bN4699957p3O0atUqTjrppLjpppti0aJFcdFFF6XM/+53v4tkMrnT162Pli9fnjJu3759lpJE7LfffinjwsLCOr9nixYt4owzzqgar1ixIp5++umq8fTp0+Pf//531Xjo0KE73OU7Gx9HbdiTHvcAAAAAW1PkBgAAAACoR/bdd9/4xje+kXLsl7/8ZVRWVtbZPT9d0n7++efjrbfeirVr10ZERE5OTgwfPnyb84YOHRr5+fkR8XGJdfLkyfHCCy9s99q1IScn9Vfbu1O5b8WKFVXv9+rVq8Y7sa9fvz6l8Lkju/PncFcdccQRKeOXXnpppz4vr7zySsqO0gMHDqz6/thVzZs3j1tvvTW6d+9edWz58uXVlnO3/ro2hK/ppEmTUsZdunTJUpLY5mfcp3+W1ZXRo0enjLfegXvr99OtTWffffeNXr16VY1nz54dixYt+owpM2tnH/cAAAAADZkiNwAAAABAPXPVVVdF48aNq8Yffvhh/OMf/6iz+x1xxBHRrFmzqvELL7wQzz//fNX44IMPjrZt225zXrNmzVLKr58+r1GjRjFs2LBaz9u8efOUcXFxca3fI1u2Lt+WlpbW+Lzbb789tmzZUuP1u/PncFf16dMnZQftBQsWxIsvvljj82+//faU8THHHFMrufLy8uLwww9POVZUVJR27dZf1/r+NS0sLIyJEyemHKuLF37UVOfOnePAAw+sGs+ZMyeefPLJOr/v8OHDU3aD/9e//hVr166NysrKuPPOO6uON23aNM4666waXfPEE09MGf/5z3+unbAZtDOPewAAAICGTJEbAAAAAKCe2WeffWLMmDEpx375y1/W2Q67jRo1iqFDh1aN33zzzXjkkUeqxscdd1y1525dvHzqqadSdtgdPHjwNoXh2vDpUvm8efNq/R7Z0rFjx6r3p0+fXrUr+vYsWbIkrr322p26T6tWrVJ2+96dPoe7KpFIxNe+9rWUY1dddVVUVFTs8NwpU6bEvffem3KtT38PfxafLrC2adMm7bqtvzdWrVoVGzZsqLUMtamioiK++c1vRnl5edWxvfbaK+XnUDZcddVVKeMrrrgi1q1bV6f3TCQSccEFF1SNt2zZEvfdd18899xzsXTp0qrjp59+erRq1apG1/zud78beXl5VeM//elP8dZbb9Ve6Ayp6eMeAAAAoCFT5AYAAAAAqId+8IMfRH5+ftV4+vTp8cADD9TZ/bYua5eXl8frr79eNd7eLrlbn/f222/Hpk2b0s7Vpv79+6eM6/LzkmlHHXVU1fulpaXxP//zP9tdv3LlyjjllFNqVPjeWqNGjaJ3795V43feeSfmzJmzU9fYHV166aXRtGnTqvFbb70V3/jGN7b7IoqFCxfGmWeembLmtNNOi549e26zdsaMGXHppZdGYWFhjTO9+eab8dJLL1WNCwoKokePHmnXbv29kUwm48EHH6zxfXbVj370o5g1a1aN1xcXF8cFF1wQzzzzzDbX2fpnXjacd955KZ/DWbNmxRe+8IWUQvWOlJWVxfjx4+P666+v8TmjRo1KGU+YMCHGjx+fcmz06NE1vl6PHj1SXpSwefPmOOWUU+K1116r8TUiPv4rCxdffPFOnZNOXT/uAQAAABoyRW4AAAAAgHpo3333jYsuuijl2C9+8Ys625W7urJ2o0aNYtiwYdWed/jhh1e76/b2CuCfxbHHHhuNGjWqGo8fPz7+67/+K26//fZ48skn47nnnqt6mzx5cp1kqCufLnTecsstMXr06FiwYEHK8Q0bNsRtt90WAwYMiHfeeSciIvr167dT9zrhhBOq3q+oqIijjz46rr322njooYfi2WefTfk8Llu2bNc+oAZm3333jV//+tcpx/7+97/Hcccdl/LihoiITZs2xW233RaDBg2KRYsWVR1v27Zt3HTTTWmvX1JSErfcckv06dMnjjnmmPjTn/4U77//ftpdv1euXBk33nhjjBgxImV+9OjR1Raet/6aRnxcTP/2t78d99xzTzz99NMpX9MPPvhg+5+MGrrrrruiX79+ccIJJ8Tf/va3mDVrVlRWVqb9eP7617/GgAED4p577kmZO/zww+Oyyy6rlTyfRW5ubjz44IPRunXrqmOvvfZaHHjggfGTn/yk2sL6ihUr4rHHHotLLrkkOnfuHBdeeGHMmDGjxvfdf//9U17EMXny5JQSfufOnWPkyJE79bH87ne/i0MOOaRqvGzZsjj66KPjoosuitdffz1lN/RPbNy4MSZNmhQ/+tGPom/fvjFixIhtCve7oq4f9wAAAAANWd6OlwAAAAAAkA0/+MEP4vbbb4+ysrKIiJg2bVo8/PDDcfrpp9f6vQYOHBgFBQXb7Ox8xBFHVFvUjvhP0fupp55KOd60adM48sgjaz1nRESHDh3iggsuiNtvv73q2EMPPRQPPfTQNmu7desW8+fPr5McdeGEE06Ik046KZ544omqYxMmTIgJEyZEjx49on379rF27dqYN29elJaWVq35yle+Evvvv39ce+21Nb7XZZddFn/9619jy5YtERGxdOnS+OlPf5p27dixY+PCCy/cpY+pofnmN78ZU6ZMiTvuuKPq2EsvvRRHHnlktG/fPrp06RJbtmyJefPmxebNm1PObdq0adx9992xzz77bPcelZWV8fLLL8fLL79cdV7nzp2jTZs2ERHx0UcfxcKFC7d54cb+++8fP//5z6u97imnnBJ9+vSJDz/8MCIitmzZEn/+85/jz3/+8zZrR48eHePGjdtuzpqqrKyMZ599Np599tmIiGjevHnss88+0bp160gmk1FUVLTNixE+0bdv33jssceicePGtZLls+rTp0889NBDccYZZ8SaNWsiImLNmjXxs5/9LH72s59Fu3btomPHjtG8efNYv359FBUVxcqVKz/zfUePHh2vvvpq1bikpKTq/fPPPz9ycnZub6amTZvGv/71rzjppJPivffei4iP/9rCuHHjYty4cdG8efPo0qVLtG7dOoqLi2PNmjWxZMmSOnuxUETdPe4BAAAAGjI7cgMAAAAA1FPdu3ePCy64IOVYXZXZcnJy4phjjtnmeE121U63ZsiQIXW6e+rvf//7OP744+vs+tl01113xeDBg7c5Pnfu3HjjjTfiww8/TClxn3POOTF27Nidvk/v3r3jjjvuiBYtWnymvLubRCIR48ePj6uuumqb8uzKlSvjrbfeig8++GCbEnfHjh3jmWeeic9//vM7fc/NmzdHYWFhvPnmm/Hmm2/GggULtimzHnnkkfHKK69Ey5Ytq71OXl5ePPjgg9GzZ8+dzlCbNm3aFLNnz46pU6fGv//972pL3KNHj44333wz2rVrl+GE2zd8+PB4880347DDDttmrqioKN5///144403YsaMGWlL3IlEIrp06bJT9zz77LOjSZMmaedGjx69U9f6xL777huvvfZanH/++ZFIJFLmNm3aFDNnzow33ngj3nvvvVi8eHHaEnfXrl136d41UVuPewAAAICGTJEbAAAAAKAe++EPfxh5ef/544pvv/12PProo3Vyr3SF7OOOO67OzvssWrZsGU8//XQ89dRT8dWvfjUOPvjgaNu2bTRq1KhO75sJBQUF8fLLL8c111wTrVu3rnZd//794+6774577rlnl0vzZ555ZsyaNSuuu+66+PznPx9dunSJFi1abFP63NMkEon49a9/HW+99Vaceuqp290tep999olrrrkmZs+eHUOHDt3udQcMGBCTJ0+O73//+zFo0KCU7+3qHHXUUTFhwoSYPHly7L333jtc379//5g2bVqMHTs2zjzzzOjdu3e0bt06cnNzd3jurvjNb34TF154YfTq1atGj5s2bdrEV7/61Xj77bdj3Lhx9faFBD179owpU6bEv/71rzjuuON2+D2Wm5sbRx55ZPzsZz+LwsLCnX7RTUFBQZx22mnbHD/00EOjX79+O3WtrTVv3jzuuOOOeOedd+Lcc8+NgoKCHZ7Tt2/f+M53vhOvvvpq1e7Zn0UmHvcAAAAADVUiWZd/Iw0AAACAPUZZWVlMmzYt5diAAQN2i1IlQLZs2bIlXnvttZgxY0asWbMm8vPzY5999onDDjssevfune14e4zi4uKYNGlSLFy4MIqKiqJx48bRoUOH6N+/fxx88MG7fN1NmzbF9OnTY86cObFixYrYtGlT5OXlRevWraNHjx5xyCGHRPv27WvvA6lj69evjw8++CAWLFgQy5cvj02bNkUikYiCgoJo27ZtDBgwIPr27dsgXyhQXFwcr7/+eixatChWrVoVmzdvjhYtWkS7du2iT58+0a9fv2jevHm2Y+5QZWVlvPXWWzFr1qwoKiqK9evXR7NmzaKgoCB69uwZBxxwQJ0/5rL1uE/3/6qFhYVRUVFRNZ4/f35s2LAh9t1332jTpk0cfPDBccABB9R6FgAAAIBPKHIDAAAAUCsUuQEAqK8UuQEAAID6KCfbAQAAAAAAAAAAAAAA9jSK3AAAAAAAAAAAAAAAGabIDQAAAAAAAAAAAACQYYrcAAAAAAAAAAAAAAAZpsgNAAAAAAAAAAAAAJBhitwAAAAA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cWYVFBRE27ZtY9WqVVXHli9fHt26dctiKmjYvn1cr1i2bkvcM2Vh2vkPV2yIiydMjQlfGxyN83IznA4AAAAAAAAAAADYXdWrIveLL75Y9f7W5e127drFl7/85Tj//PPj8MMPz2LC+qdRo0bZjgANWiKRiJ+f1j9WbtgSz834KO2aN+atju/d92786ZxDIicnkXYNAAAAAAAAAAAAwM7IyXaAT0sk/lOSHDp0aDz22GOxbNmy+NOf/rTHl7g3bNgQq1evTjm29957ZykN7D7ycnPiT+cOjIO7FFS75vFpy+KXT8zIXCgAAAAAAAAAAABgt1bvitwR/9mN+9VXX43rr78+xo4dG+vWrct2rKx7/PHHI5lMVo3bt28fnTp1ymIi2H00zc+N2y88LPZr17zaNbdNmhd/f2VuBlMBAAAAAAAAAAAAu6t6V+T+pKicSCSisrIyJk2aFJdcckl07NgxzjjjjHjooYeirKwsyykzb/PmzfGTn/wk5dgpp5wSOTn17ksIDVbb5vkx/qLB0a5F42rX/OLxGfGvd5dmMBUAAAAAAAAAAACwO6pXLeAnn3wyzj777GjcuHHKztPJZDJKSkri4YcfjjPPPDP23nvvuOSSS+Lll1/OYtpdc/XVV8ebb765U+esXr06Tj311Jg1a1bVsdzc3Pjud79b2/Fgj9d1r2Yx7qLDonl+brVr/vu+d+LVwqIMpgIAAAAAAAAAAAB2N/WqyP35z38+7r333li+fHn85S9/iSOOOCJlh+6Ij0vda9eujb///e8xfPjw6N69e/zoRz+KDz74IJvRa+yZZ56JwYMHx+GHHx433nhjvPPOO2l3GE8mkzFz5sz4+c9/Hn369InnnnsuZf673/1uHHTQQZmKDXuUAzu3jr+cPyjychJp58sqknHJHf+OGcvWZzgZAAAAAAAAAAAAsLvIy3aAdFq1ahWXXHJJXHLJJTF79uwYO3Zs3HnnnbF48eKISC11L1y4MK677rq47rrrYsCAAXHBBRfEueeem834NTJlypSYMmVKRETk5+dH586do6CgIPLz82PDhg2xaNGi2LBhQ9pzR48eHddff30m48Ie5+je7ePXZw6I7933btr5DSXlceHYKfHPy4ZE54KmGU4HAAAAAAAAAAAANHT1akfudPbff//4v//7v1iwYEE888wzce6550aTJk1SdupOJpOR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XPX/6q/+ash2SnlOAACkg9w1NTVm1apV5rrrrjN33XWX2bZtm1m3bl3Rgty8L58Y54TiI8gNTCDXX3+964fn6aefPuAbvrS1a9e69qmpqTEtLS0l6jEAAOPDAw88YCKRyIj2icfjBR+eXnzxxUPu9+abb7pmtfD7/eatt94adJ++vj6zdOlSV1u33XbbkG1ddNFFrn0++clPDrlP/uxl8+fPd83MUe5zAgCgmHp7e83ixYszY9Hf/d3fHfSHys3NzQUzi6xdu3bQfRzHMaeffrprny996UtDtlWq9/+lPCcAAEZr9erVrvHn17/+dVGPz1g/unMCAOBgbN682TXmSDLPP//8sPbNn7Hyz/7szwasG4lEzNy5c131f/rTnw7Zxic+8YkR/43gBz/4gWufpUuXmr6+vkH3Wb9+vWuWcY/HYzZs2DDoPqU8JwAANm3aZNavX28SiUTBtmIFuXlfPjHOCWODIDcwQSQSCdPU1OT64TncWUFPO+00134/+MEPxri3AABMDr/+9a9dY2hjY+OQ+/zDP/yDa5/hzpzx05/+1LXfypUrB63f1tbmmnHEsiyzefPmIdtJJBJm/vz5rrYefPDBcXFOAAAU2+c///nMODRv3jzT3d190B8q33rrrQUfgg7HI4884tpvxowZg354Wsr3/6U6JwAARuv+++93jT0XXnhh0dtgrD/4cwIA4GA9+OCDrjFnzpw5w973oYcecu3b1NQ0YN3f/va3rroLFiwY1ti2adOmzF2+pOQdQTo6OgbdZ/ny5a62hntXzE9+8pOu/a6//vpB65fynAAAGEyxgty8L58Y54SxYQvAhPDMM8/owIEDmfVFixZp1apVw9r30ksvda3ff//9RewZAACT12mnneZab21tVW9v76D7/Pa3v3Wt54/DA/noRz+qYDCYWX/hhRe0Z8+eAev/7ne/Uzwez6yvWrVKixYtGrId27b113/9166yoX43KNU5AQBQTC+88IK++93vZta///3vq7q6+qCP95vf/Ma1PtzxcPXq1Vq4cGFmfd++fXr22WcHrF/K9/+lOicAAEbrtttuc61/7WtfK3objPVZjPUAgFJpa2tzrc+dO3fY+86bN8+13tHRMWDd/DHxr//6r2VZ1pBtLF68WGeccUZmPRaL6cEHHxyw/q5du/Tyyy9n1qurq3XRRRcN2Y5UOE7n9zlf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O5i2BvrdoFTnBADAwci9dfI555yjiy66aEzaGe14uH//ftfvGrZta+rUqQX1Svn+v1TnBADAaOWPWUuWLJFtD//PW4cffrhrvb+xlbG+EGM9AKAUbr31Vtf6NddcM+zPkC+55BIddthhmfXW1lbde++9BfVGOyZK0p49ewY9Zlp+30f7efpYjfPS8M8JAIBS4H15ofF4Thg7BLmBCaCyslLz5s1zle3YsWNEx8ivf8QRR4y6XwAATHTPPfeczjvvPNfthU4++WTdd9998vv9Iz5e/h+Hx2q8XrRokbxeb2a9r69PBw4cGJO2SnVOAAAcjI6Ojszy7373O1mWNeRj9erVrmNs3769oM6rr77qqlPs8XD+/Pn93qGilO//S3VOAACM1pFHHular62tHdH++fXb29sL6jDWD90OYz0AoNiMMXr00UddZR/84AeHvb9t2zrnnHNcZU888URBvdGOic3Nza6/Ifj9fi1atKjfuqX6PL2U5wQAQCnwvnzodsbDOWHsEOQGJoj8H5BvvfXWiPbfsGHDoMcDAOBQ8/rrr+sDH/iAenp6MmXLli3Tgw8+qGAweFDHLNV47fP5tHjx4oNuKxKJaMuWLcNqi99BAAAo7XhYqrYY4wEAE8VRRx3lWo9EIiPaPzekJElVVVUFdRjrD74dAAAOVnt7uzo7O11lCxcuHNEx8uv3d/fK/DFs8+bNikajw24jf0xcvHixa6KVwdoq1Tg/lucEAEAp8L784NspdVsYGwS5gQni+OOPd60/88wzw95379692rZtW2bd5/MVfPgNAMChZOPGjVqzZo1rFq4jjzxSf/zjH1VXV3fQx80fr1944QXX7Y6G8vTTTw96vMG2jeR3g5deesn1h++ZM2cOeHukUp4TAADj1dFHHy2fz5dZ37Ztm/bu3Tvs/Us1xo/k/X8pzwkAgNFYvny5a33//v0j2j//dsKNjY0FdRjrCzHWAwDGWn8XZ400TJw71klSIpEoqDNjxgzNmDHD1e5LL7007DZKNc7H43E9//zzw2qrlOcEAEAp8L680Hg8J4wdgtzABHHuuee61teuXStjzLD2feihh1zrq1evVnV1ddH6BgDARLJ9+3adeeaZrj/kLly4UA8//LCamppGdewjjjjCNVN2KBQa9pukUCikP/3pT5l1y7IKxv9c+dsefvjhYfczv+5gt6ss5TkBADBSv/nNb/Twww+P6HHLLbe4jjF9+vSCOkuWLHHVqamp0emnn+4qG+7Ya4zR2rVrXWWDjb2lev9fynMCAGA0zjnnHNl29s9ZW7duVVtb27D3zw815d/aWGKsz8dYDwAohf4urtqzZ8+IjpE/A/dAn/Gfc845rvWx+jw9v51nnnlGoVBoWO08/fTT6u3tzawfdthhOuyww4bd1lidEwAApcD7crfxek4YOwS5gQni5JNP1tSpUzPrW7Zs0WOPPTasfX/605+61s8///xidg0AgAlj7969et/73qddu3ZlymbPnq1HHnlEs2fPLkob5513nms9fxweyK9+9Sv19PRk1k844QTNmjVrwPpnn322a3aSxx57TFu2bBmyHWOM/vM//9NVNtTvBqU6JwAARuqMM87QmWeeOaLHihUrXMcIBAIFdfr7kPJgx8N169Zp69atmfXp06frpJNOGrB+Kd//l+qcAAAYjWnTpumUU05xld17773D2jcej+u+++5zla1atarfuoz1WYz1AIBS8Pv9mjlzpqvs0UcfHdExHnnkEdd67qQkufLHxJ/97GfDCjdt3rxZjz/+eGbd5/Pp7LPPHrD+3LlztWzZssx6T0+Pfv3rXw/ZjjT6cX6szgkAgFLhfXnWeD4njA2C3MAEYdu2LrnkElfZjTfeOOSbsUceeURPPvlkZr2mpkYXXXTRWHQRAIBxra2tTWvWrNHmzZszZU1NTXr44Ye1cOHCorXz6U9/WpZlZdb/93//Vxs2bBh0n3A4rJtvvtlVdumllw66z5QpU3TBBRdk1o0x+qd/+qch+3fHHXe4bo00f/58nXnmmYPuU6pzAgBgPPvYxz6mYDCYWX/iiSeG/AOzMUY33nijq+yv//qvXbOK5ivl+/9SnRMAAKN1+eWXu9b/9V//VZFIZMj9fvKTn2jfvn2Z9draWr3//e/vty5jfRJjPQCglN73vve51r/73e8qHo8Pa9/HH3/cdUfI/o6X9v73v19z5szJrG/btk0/+9nPhmzjn/7pn1xj9F/8xV+orq5u0H3yPwe/+eabFQ6HB91nw4YN+tWvfpVZ7+/3hXylPCcAAEqB9+VJ4/2cMEYMgAnjwIEDprq62kjKPL7xjW8MWH/Xrl1mwYIFrvpf+cpXSthjAADGh66uLnPiiSe6xsT6+nrzyiuvjEl7H/3oR11tnXjiiaazs7Pfuo7jmMsvv9xVf9GiRSYajQ7Zzvr1641t265977zzzkHr19fXu+rffvvt4+qcAAAYa+vWrXONUfPnzx/2vjfccINr34ULF5rdu3cPWP+mm25y1a+rqzOtra1DtlPK9/+lOicAAEYjkUiYY445xjUGfepTnzKJRGLAfZ599tmC8fQLX/jCoO0w1jPWAwBK6w9/+INr3JFkLrvsskHHeGOMeffdd82sWbNc+y1dutTE4/EB9/nhD3/oqt/Q0GDWr18/YP1f/OIXrvoej8ds3LhxyHOKRCJm3rx5rn2vuOIK4zhOv/U7OzvNCSec4Kr/iU98Ysh2SnlOAAAMZjSfuefjffnEOCcUH0FuYIL5+te/XvBm9sorr3T9gE8kEua+++4reIM4a9Ys097eXr7OAwBQJqtWrSoYP//5n//ZPPzwwyN+tLW1Ddneu+++a6qqqlztHXfccWbdunWuehs3bjQf/vCHC/r261//etjn9jd/8zeufW3bNv/4j//o6mc0GjU/+9nPTENDg6vusccea2Kx2LDaKeU5AQAwlkbzoXJra6uZMWNGwf6/+c1vXH+Q3blzZ8FFTZLMt771rWG3Var3/6U8JwAARmPt2rXGsizXOHTmmWeaF1980VWvo6PD/Nu//VvBHy8PO+ww09XVNWgbjPWM9QCA0lu9enXB+HPqqaeatWvXFnx+3dLSYm655RZTV1dXsM9dd901aDvRaNQcffTRrn2mTJli/uu//svVTmtrq/nKV75SMInKVVddNexzuvPOOwv695GPfMS88847rnqPPPKIOfbYY131qqurzZYtW4bVTinPCQCAp556qt+/n99yyy2u8WX69OkD/q19sAuOjOF9+UQ5JxSfZcwQ86cDGFccx9H555+vBx54wFXu8Xg0f/581dXVaevWrero6HBtr6ys1MMPP6xTTjmlhL0FAGB8sCyraMdat26dVq1aNWS9//3f/9XFF19ccLuipqYmzZs3T83Nzdq1a1fB9s997nO69dZbh92f3t5enXHGGXrxxRdd5X6/XwsXLlRFRYW2bNminp4e1/apU6fq6aef1mGHHTbstkp1TgAAjKXHHntMq1evzqzPnz9f27ZtG/b+TzzxhN7//vcX3Ba5vr5eCxcuVEdHh3bs2KFEIuHafv755+u+++4b9u8lpXz/X6pzAgBgtL75zW/qC1/4QkH5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uVxzOWudL81cAAA4A+fltqrjMaHyUJEbqAEK/3K89DVHjqpTp06x+wQAAH+xWCy64447dOLEiYLP/P39NXPmzBLHlnfNLrxe29tnRcxjby5HTzAr65gAACiv++67T5mZmZKk9u3b67nnnquwfTtr7a1Ja3xp5gIAoKxSU1OtqkpJ0q5duyRJDRs21Nq1a/Xbb7/pgQce0LXXXqsJEybozTff1OHDhzVx4kSrcQsWLNDs2bPtzsNaX765AACoCMOGDdP27dv15JNPytXVtdi+wcHBevLJJzVx4sRik7ilqlvnyzIX6zwA4HLFeXnZ5+J7Qe1AIjdQA2RnZ1tte3h4lHofhateZmVllSsmAABqq6eeekp//PGH1Weff/65goKCShxb3jXbXpVqe2u2M78bOOuYAAAoj1mzZmnFihWS/qpS8cUXX5RpfSyKs9bemrTGl2YuAADKqqgbh66urlq8eLEGDhxot93X11dz5szRVVddZfX566+/bpMYLrHWl3cuAAAqwmeffabWrVvr3XfftalsXVh8fLweeughhYaG6quvviq2b1Wt82WZi3UeAHC54ry87HPxvaB2IJEbqAEKPymTm5tb6n3k5OQUu08AACDNnDlT77//vtVnTz/9tCZMmODQ+PKu2YXXa3v7rIh57M1V1HcDZx0TAABlderUKT355JMF2/fcc0+RSV1l5ay1tyat8aWZCwCAsipqbbnnnnvUt2/fYse6uLjo008/tarSefjwYa1du7bEeVjrSzcXAADlkZeXp3HjxunBBx/UqVOnJEkNGjTQiy++qG3btun8+fPKzc3VyZMn9dtvv+nGG2+UyWSSJJ07d05TpkzRU089VeT+q2qdL8tcrPMAgMsV5+Vln4vvBbUDidxADeDr62u1be9p3pIUflKm8D4BALjczZ07V4899pjVZ5MnT9abb77p8D7Ku2bbe7LV3prtzO8GzjomAADK6uGHH1ZKSookKTAwUG+//XaFz+GstbcmrfGlmQsAgLIqam259957HRrfqlUrjRgxwuoze4ncrPXlmwsAgPJ48MEH9csvvxRs9+nTRwcOHNArr7yi3r17q169enJ3d1fTpk113XXXacGCBVq0aJFVgtG7776rr7/+2u7+q2qdL8tcrPMAgMsV5+Vln4vvBbUDidxADVD4l+OFCxfsvv6xOJmZmcXuEwCAy9nv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YHvdunUl3mA2DEOvvPKK1Wf/+Mc/rKqKFubM839nHRMAAOV1//33W22/8847ysnJKXHcf//7X50+fbpgu27durr66qvt9mWt/wtrPQDAmYYPH261PX36dOXn5zs0du3atVZvhLS3v4uuvvpqtWjRomA7NjZWX3/9dYlzvPzyy1Zr9M033yx/f/9ixxS+Dv7mm28qOzu72DGRkZGaN29ewba97wuFOfOYAABwBs7L/1LdjwmVxABQYyQmJhq+vr6GpII/b7zxRpH9T5w4YYSGhlr1/9e//uXEiAEAqB7S0tKM3r17W62J9erVMyIiIiplvgkTJljN1bt3byM1NdVuX4vFYtx///1W/Vu1amXk5uaWOM+BAwcMFxcXq7Fz584ttn+9evWs+n/55ZfV6pgAAKhsq1evtlqjQkJCHB77zDPPWI1t2bKlkZCQUGT/1157zaq/v7+/kZycXOI8zjz/d9YxAQBQHmaz2ejcubPVGjRp0iTDbDYXOWbLli026+n//d//FTsPaz1rPQDAuZYuXWq17kgy7r333mLXeMMwjKNHjxrNmjWzGhcWFmbk5+cXOebTTz+16l+/fn3jwIEDRfb//vvvrfq7uroahw8fLvGYcnJyjODgYKuxDzzwgGGxWOz2T01NNXr16mXV/4477ihxHmceEwAAxSnPNffCOC+vGceEikciN1DDvP766zYnsw8++KDVL3iz2WwsXLjQ5gSxWbNmxvnz56sueAAAqsiQIUNs1s9///vfxvLly0v959y5cyXOd/ToUcPb29tqvq5duxqrV6+26nf48GHjpptusontp59+cvjY7rvvPquxLi4uxgsvvGAVZ25urvH1118b9evXt+rbpUsXIy8vz6F5nHlMAABUpvJcVE5OTjYCAwNtxv/6669WN2SPHz9u81CTJOPtt992eC5nnf8785gAACiPFStWGCaTyWodGjFihLFjxw6rfikpKcZ7771nc/Oybdu2RlpaWrFzsNaz1gMAnG/o0KE268+VV15prFixwub6dVJSkvHuu+8a/v7+NmPmz59f7Dy5ublGx44drcY0aNDA+Pbbb63mSU5ONv71r3/ZFFF56KGHHD6muXPn2sQ3btw448iRI1b9Vq5caXTp0sWqn6+vrxEdHe3QPM48JgAANmzYYPf++bvvvmu1vjRp0qTIe+3FPXBkGJyX15RjQsUz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KSYmRp07d1avXr3k4+NT67HZ6wEAcL+SkhJt2LBB27Zt04kTJ1RUVKTg4GBFR0crJSVFycnJMplMdZ6nvLxca9as0ebNm5WdnS0PDw+1adNGqamp6t69ez2s5HcHDx7UTz/9pP3791esp3Pnzho8eLACAwPrbR53rgkAAHfgvrxuyCtsJgwAzdacOXOMlJQUQ5LDn8DAQOOOO+4wjh071tihAgDQ6HJycoz333/fGD9+vBEZGel0/5RkeHl5GePGjTOWLVtW53n37t1rTJo0yfD29nY4l8lkMoYNG2YsX768TvNYrVbjvffeMzp37ux0XREREcbDDz9sFBYWNos1AQBQ3yZMmGC3byUmJtZqrKysLOP22283AgICnO69qampxty5c+sct7vu/925JgAA6io/P9/4xz/+YSQlJVV5j+/t7W0MHjzYePnll2s0Pns9AADut27dOuO6664zfHx8qtzf27Ztazz66KNGdnZ2reYpKCgw/v73vxvh4eFO5zjrrLOM999/37BarXVa07Jly4xhw4ZV+Vpl8uTJxr59++o0jzvXBABo3TIzM40vv/zSuP/++43hw4cbQUFB9fKee2XclzePNaF+kMgNNEPFxcXGddddV+XN6x9/oqKiSKQCALRq06dPd5p0XN3PlClTjLy8vFrN+8knnxj+/v4uzWMymYz777+/Vm+gnjhxwhg5cqTLa+rQoYOxefPmJr0mAADq2/z58x3uV7V5U3np0qXVfjGs8uuJkpKSGs/jzvt/d60JAID68NVXXxkxMTE1ur+PiYlxeXz2evZ6AIB7WSwW4/777zfMZnON9/dvvvmmRnNt3Lix2i+C/fHnoosuMnJzc2u8JqvVatx7770uzxMQEGB8/vnnNZ7HnWsCALReK1euNC6//HIjLi6u2n2mPhK5uS9vHmtC/TEZhmEIQLNhtVp1xRVXaN68eTbXPTw8lJCQoJCQEO3bt095eXk29f7+/lq8eLHOPfdcd4YLAECT0LdvX61fv97u+plHCsbExKisrEz79++320MlqX///lqyZEmNHm/42WefacKECbJarTbXo6KiFB8fr6ysLB08eFCVX47/5S9/0UsvveTyPEVFRRo2bJjWrl1rc93b21vt27eXj4+P9u7dq5MnT9rFsXr1aiUnJze5NQEAUN/y8vLUvXt3HTx40K4uMTFR6enpLo+1cuVKXXjhhSoqKrK5HhoaqqSkJJ04cUIHDhyQxWKxqb/iiiv0+eefu/zoZ3fe/7trTQAA1IeXXnpJf/vb3+zuPX19fRUXF6fIyEgVFRXp8OHDOn78eEV9TEyMjhw5Uu347PW1XxMAALV1yy236N1337W77u/vr44dO8rPz0/Z2dnau3ev3WsAb29vzZ07V5dcckm18+zYsUODBw+2eY0gSYGBgerQoYOKioqUnp6usrIym/pzzz1XP/zwg3x9fV1e05133qlXX33V5prJZFK7du0UFRWljIwMuzg8PDz02Wef6fLLL3d5HneuCQDQer388su6++67XWpb0/fcK+O+vHmsCfWsMbPIAdTcc889Z/fNmKlTpxoHDx6saGOxWIwvv/zSSEhIsGnXrl07vlkLAGiVUlNTK/bD0NBQY/r06caCBQuM/Px8m3bl5eXG0qVLjSFDhtjtt1deeaXL8+3evdvucUi9evUyfvjhB5t227dvN6644gq7ub744guX55o6dapNX7PZbDzyyCNGTk5ORZuSkhLjgw8+MMLCwmza9unTxygvL29yawIAoL7dcsstNidc/XGPqsnpIDk5OXYnjiQmJhpz5861eQLFgQMHjNtuu81uP/y///s/l+dy1/2/O9cEAEBdvfvuu3Z70SWXXGJ88803RnFxsV37gwcPGjNmzDCuvPJKIz4+vtrx2evZ6wEA7vfZZ5/Z7T/dunUzFixYYJSVldm0zcrKMp544gm7J3BGRUXZvCfuSFlZmXH22Wfb9AsPDzc+/PBDo7S0tKJddna28fe//93udPA777zT5TV98sknDj9j2Llzp027xYsXGz179rRpFxQUZOzbt8+ledy5JgBA6/bSSy85PdE5MDCw1u+5V8Z9efNYE+ofidxAM3L8+HEjKCjI5pfos88+67R9Zmam0b59e5v2jz76qBsjBgCgaUhNTTXat29vvPvuu8apU6eqbV9eXm7ceuutdjc5lZOWnbn22mtt+vXr18/Iy8tz2NZqtdrN1bFjR7s3qB3Ztm2b4eHhYdN39uzZTttv3rzZCA0NtWn//vvvN6k1AQBQ35YuXWqYTCZDOv2Fp3/+85+1flP5wQcftOmblJRk8wZoZf/4xz9s2oeEhFT7wbJhuPf+311rAgCgrnbt2mX4+vpW7EFeXl5V3gNX5sp+xV7PXg8AcL8ePXrY7D19+/Y1CgsLq+yzZMkSw9PT06bfM888U2Wft956y6Z9WFiYsWXLFqftZ82aZdPe09PTLhHbkZKSErt9e+rUqTaJWn+Um5tr9O3b16b9lClTqp3HnWsCAOBMIndQUJAxbNgw49577zU+++wzIz093Vi6dGm9JXJzX9481oT6RyI30Izcd999Nr88hw4d6vSG74zFixfb9AkKCjKOHz/upogBAGgavv76a6OkpKRGfcrLy+3ePJ04cWK1/TZv3mxzqoW3t7exdevWKvsUFRUZnTp1spnr7bffrnau8ePH2/SZPHlytX0qn16WmJhoczJHY68JAID6dOrUKaNjx44Ve9Fdd91V6zeVs7Ky7E4WWbx4cZV9rFarMXToUJs+Dz30ULVzuev+351rAgCgroYPH26z/3z66af1Oj57fd3WBABAbezZs8dmz5FkrF271qW+lU+sPPfcc522LSkpMeLj423av/fee9XOMWnSpBp/RvD666/b9OnUqZNRVFRUZZ8tW7bYnDLu4eFhbNu2rco+7lwTAAC7d+82tmzZYlgsFru6+krk5r68eawJDYNEbqCZsFgsRlRUlM0vT1dPBR0yZIhNv9dff72BowUAoGX49NNPbfbQiIiIavv89a9/tenj6skZ7733nk2//v37V9k+JyfH5sQRk8lk7Nmzp9p5LBaLkZiYaDPXwoULm8SaAACob3/7298q9qGEhASjoKCg1m8qv/LKK3ZvgrpiyZIlNv1iY2OrfPPUnff/7loTAAB1NXfuXJu95+qrr673Odjra78mAABqa+HChTZ7Trt27Vzu+/3339v0jYqKctp2/vz5Nm3bt2/v0t62e/fuiqd8SaefCJKbm1tln5SUFJu5XH0q5uTJk2363XfffVW2d+eaAACoSn0lcnNf3jzWhIZhFoBmYfXq1Tp27FhFuUOHDho2bJhLfW+66Sab8ty5c+sxMgAAWq4hQ4bYlLOzs3Xq1Kkq+8yfP9+mXHkfduaaa65RQEBARfmXX37RoUOHnLZfsGCBysvLK8rDhg1Thw4dqp3HbDbrxhtvtLlW3WsDd60JAID69Msvv+jll1+uKL/22msKDAys9Xjz5s2zKbu6Hw4fPlxJSUkV5SNHjujnn3922t6d9//uWhMAAHX19ttv25Qfe+yxep+Dvf537PUAAHfJycmxKcfHx7vcNyEhwaacm5vrtG3lPfHGG2+UyWSqdo6OHTvqvPPOqyiXlZVp4cKFTttnZmYqLS2tohwYGKjx48dXO49kv09Xjrkyd60JAAB34b78d015TWgYJHIDzcSCBQtsyiNHjnTpRuxM2z9atmyZTp48WW+xAQDQUoWFhdldy8vLc9p+x44d2r17d0U5ICBAAwcOdGmuym0Nw7Db//+oct2FF17o0jyS/WuDr7/+2mlbd64JAID6UlZWpptuukkWi0WSdPXVV+uyyy6r9XiFhYX68ccfba65uveaTCaNGDHC5lpVe6+77v/duSYAAOri4MGD+u677yrKvXv3Vvfu3et1DvZ6W+z1AAB3CQkJsSkXFRW53Ldy28jISKdt3fV+euV5Bg0aZHPYSVUGDRokf3//ivKOHTu0a9cul+dqqDUBAOAO3JfbaqprQsMhkRtoJn799VebsqsJVJIUFxen9u3bV5RLS0u1devWeooMAICW6+DBg3bXIiIinLavvF/3799fnp6eLs83aNCgKserqq4mrw1SU1Pl4+NTUT506JDNN3Srmqch1wQAQH159tlntWnTJklSaGioXnnllTqNt2XLFpWVlVWUk5KSFBsb63J/d+3xNbn/d+eaAACoi2+//bbiy1nS6VOp6ht7vT32egCAO/Tu3dumvG3bNpcTh9auXWtT7t+/v8N2R48e1ZEjRyrKPj4+SklJcTlGd+3znp6edmtwNpc71wQAgDtwX26vKa4JDYdEbqCZ2LZtm025W7duNepfuX3l8QAAgL0VK1bYlBMTE+Xt7e20vbv267KyMptTsms6l4+Pjzp27OjSXLwGAQA0N1u3btU//vGPivLzzz9fozdHHXHnfuiuudjjAQDNxS+//GJT7tWrV8WfN2zYoD//+c/q1auXwsLC5O/vr/bt22vkyJF68cUXHX5B2xH2+trPAwBAXbRr184m0aikpMSlL2OXlJTo5Zdftrl20003OWxbeQ9LTk6u8n3+yirvibt371Z5eblLc7lrn2/INQEA4A7cl9d+HnfPhYZBIjfQDBQVFSkjI8PmWnx8fI3GqNx+x44ddY4LAICW7v3337cpX3rppVW2r7y/NtR+vXfvXps3Vf38/Kp8bGRd5nLXmgAAqA9Wq1U33XSTSktLJUlDhgzRLbfcUudx63s/3L9/v4qLi+3aufP+311rAgCgrioncnfo0EGFhYW66aablJKSov/85z/auHGjcnNzVVRUpP3792vx4sW699571alTJz300EM2J2A5wl5f/Tzs9QCAhvL888/LbP49deXRRx/Vhx9+6LR9bm6urrrqKpsEo9GjR2v06NEO29d1T4yKipKvr29FubS0VPv27WuQudy1z9dkTQAAuAP35dXP0xTWhIZDIjfQDBw/flyGYVSUvby8FB0dXaMx2rZta1POysqql9gAAGipFi5cqB9//NHm2g033FBln8r7a7t27Wo0Z+X9+tixYy7NU7lfbeZy9trAXWsCAKA+vPLKK/r5558lSd7e3nr77bdlMpnqPG5d98OYmBh5enpWlK1Wq7Kzs+3aufP+311rAgCgrio/kcpsNmvo0KF2X752pKioSM8++6wuvfRSFRQUOG3HXm+PvR4A4C6DBw/Wq6++WnH/Xl5erhtuuEH9+/fXc889pzlz5ujbb7/VzJkzdeedd6pjx476+uuvK/qPHDlSH3/8sdPx67onSlJcXFyVY55R+f3vur6f3lD7vOT6mgAAcAfuy+01xTWh4XhW3wRAYyssLLQp+/v71/iD6ICAgCrHBAAAv8vJydFtt91mc23cuHHq379/lf0q76+V99/qVG5fVlamkpIS+fj41Os8jvo4e23grjUBAFBX+/bt08MPP1xRfvDBB9WlS5d6Gbuu+6HJZJKfn59NApmjvded9//uWhMAAHVhtVrtErD//Oc/a8OGDZJO70eXXXaZLr30UrVr104nT57Uhg0bNGPGDB06dKiiz+LFi3XDDTfoiy++cDgPe7099noAgDtNmzZNZ511lv785z9ry5Ytkk4/laPykzn+qEOHDrrvvvt0yy232JzoXZm73k8vKiqSxWKp01zu2udrMhcAAO7Afbm9prgmNBxO5Aaagcq/HP/4mCNX+fn5VTkmAAA4zWq1atKkScrMzKy4FhISoldeeaXavnXdsyvv147GrI95HM3l6g1mQ60JAIC6uvXWW3Xy5ElJUpcuXfTQQw/V29ju2nub0x5fk7kAAKitvLw8m1OlJCktLU2SFBERoeXLl2v+/PmaOnWqLrvsMl1zzTV67rnntGPHDk2cONGm35dffqmPPvrI4Tzs9XWbCwCA+nD++efrl19+0T333CMPD48q2yYkJOiee+7RxIkTq0zilhpvn6/NXOzzAIDWivvy2s/F64KWgURuoBkoLi62KXt7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blvV4yrduSYAAGpq3rx5WrRoUY1+XnzxRZsxYmJi7NokJyfbtAkKCtLQoUNtrrm69xqGocWLF9tcq2rvddf9vzvXBABAXYwaNUpm8+8fZ+3bt085OTku96+c1FT50cYSe31l7PUAAHdw9OWqQ4cO1WiMyidwO3uPf9SoUTblhno/vfI8q1ev1smTJ12aZ9WqVTp16lRFuXPnzurcubPLczXUmgAAcAfuy2011TWh4ZDIDTQTAwcOVGRkZEV57969WrZsmUt933vvPZvy2LFj6zM0AACajcOHD+uCCy5QZmZmxbW2bdtqyZIlatu2bb3MMWbMGJty5X3YmU8++USFhYUV5b59+youLs5p+0svvdTmdJJly5Zp79691c5jGIb++9//2lyr7rWBu9YEAEBNnXfeeRoxYkSNflJTU23G8PX1tWvj6E3K2u6HS5cu1b59+yrKMTExGjBggNP27rz/d9eaAACoi+joaA0aNMjm2pdffulS3/Lycs2ZM8fm2rBhwxy2Za//HXs9AMAdvL291aZNG5trP/zwQ43GWLJkiU35j4eS/FHlPfGDDz5wKblpz549Wr58eUXZy8tLl156qdP28fHx6tOnT0W5sLBQn376abXzSHXf5xtqTQAAuAv35b9rymtCwyCRG2gmzGazbrjhBptrTzzxRLU3Y0uWLNGKFSsqykFBQRo/fnxDhAgAQJOWk5OjkSNHas+ePRXXoqKitGjRIiUlJdXbPH/6059kMpkqyv/73/+0bdu2KvsUFxfrueees7l20003VdknPDxc48aNqygbhqHHH3+82vjef/99m0cjJSYmasSIEVX2cdeaAABoyiZMmKCAgICK8o8//ljtB8yGYeiJJ56wuXbjjTfanCpamTvv/921JgAA6uq2226zKb/wwgsqKSmptt8777yjI0eOVJSDg4N10UUXOWzLXn8aez0AwJ0uuOACm/LLL7+s8vJyl/ouX77c5omQjsY746KLLlK7du0qyunp6frggw+qnePxxx+32aOvvPJKhYSEVNmn8vvgzz33nIqLi6vss23bNn3yyScVZUevFypz55oAAHAH7stPa+prQgMxADQbx44dMwIDAw1JFT/PPvus0/aZmZlG+/btbdo//PDDbowYAICmIT8/3+jXr5/NnhgaGmps2LChQea75pprbObq16+fkZeX57Ct1Wo1brvtNpv2HTp0MEpLS6udZ8uWLYbZbLbpO3v27Crbh4aG2rR/9913m9SaAABoaEuXLrXZoxITE13ue//999v0TUpKMg4ePOi0/T/+8Q+b9iEhIUZ2dna187jz/t9dawIAoC4sFotx9tln2+xB119/vWGxWJz2+fnnn+320wceeKDKedjr2esBAO717bff2uw7koxbbrmlyj3eMAxj165dRlxcnE2/Tp06GeXl5U77vPHGGzbtw8LCjC1btjhtP2vWLJv2Hh4exo4dO6pdU0lJiZGQkGDTd+rUqYbVanXYPi8vz+jbt69N+0mTJlU7jzvXBABAVerynntl3Jc3jzWh/pHIDTQzzzzzjN3N7LRp02x+wVssFmPOnDl2N4hxcXHGiRMnGi94AAAaybBhw+z2zyeffNJYtGhRjX9ycnKqnW/Xrl2Gv7+/zXy9evUyli5datNux44dxhVXXGEX26effury2m699Vabvmaz2XjkkUds4iwtLTU++OADIywszKZtz549jbKyMpfmceeaAABoSHV5Uzk7O9uIjY216z9v3jybD2QPHDhg96UmScY///lPl+dy1/2/O9cEAEBdLF682DCZTDb70IgRI4x169bZtMvNzTX+7//+z+7Dy86dOxv5+flVzsFez14PAHC/4cOH2+0/gwcPNhYvXmz3/vXx48eNF1980QgJCbHr89lnn1U5T2lpqdG9e3ebPuHh4caHH35oM092drbx8MMP2x2iMn36dJfXNHv2bLv4rrrqKmPnzp027ZYsWWL07NnTpl1gYKCxd+9el+Zx55oAAFi5cqXDz89ffPFFm/0lJibG6WftVX3hyDC4L28ua0L9MxlGNeenA2hSrFarxo4dq6+//trmuoeHhxITExUSEqJ9+/YpNzfXpt7Pz0+LFi3SoEGD3BgtAABNg8lkqrexli5dqmHDhlXb7n//+58mTpxo97iiqKgoJSQkKCsrS5mZmXb1d955p1555RWX4zl16pTOO+88rVu3zua6t7e3kpKS5OPjo71796qwsNCmPjIyUqtWrVLnzp1dnstdawIAoCEtW7ZMw4cPrygnJiYqPT3d5f4//vijLrroIrvHIoeGhiopKUm5ubnKyMiQxWKxqR87dqzmzJnj8usSd97/u2tNAADU1fPPP68HHnjA7npsbKzatWunkydPas+ePSotLbWpj4iI0NKlS3X22WdXOwd7fe3XBABAbRw5ckQDBw7Uvn377OoCAwOVlJQkPz8/ZWdna+/evXbvP0vS3/72N7344ovVzrVt2zYNHjxYOTk5dvN07NhRRUVF2rdvn8rKymzq+/fvr2XLlsnPz8/ldU2fPl1vvPGGzTWTyaT4+HhFRUVp//79On78uE292WzWJ598oquuusrledy5JgBA69a+fXvt37+/TmNcf/31+u9//1tlG+7Lm8eaUM8aMYkcQC0VFRUZEyZMsPsGjbOfiIgIu9MyAQBoTVzdM135qcmeOnv2bMPPz8/lse+55x6nj1esSnZ2tnH++ee7PE/79u2NjRs31nged64JAICGUh+PeVyyZIkRHh7u8n44ceJEo7i4uMbzuPP+311rAgCgrl555RXDy8vL5T3rrLPOsjv9sjrs9ez1AAD3ysjIcPhkzep+vLy8jOeee65G70H/+uuvRmJiostzjBgxolanU1osFuPuu+92eR5/f3/jk08+qfE87lwTAKB1q8le4+zn+uuvd2ku7subx5pQf8wC0Oz4+vrq448/1ueff67evXs7bRcQEKDp06dr69atLp0cCgAA6te1116rzZs3a+LEifLy8nLabujQoVq2bJleeOGFWp1yFR4erkWLFuntt99WcnJyle0eeughbdq0yaVTyBxx15oAAGjKzj//fG3dulXTpk2Tv7+/03Z9+vTRF198oVmzZsnHx6fG87jz/t9dawIAoK7uvPNObdy4Uddcc02V96VJSUn697//rY0bN6pTp041moO9nr0eAOBe8fHxWrJkiT799FMNGzZMZnPVqSwhISGaNm2aNm3apPvvv79G70H36tVLmzZt0oMPPqiwsDCn7Tp16qR33nlH33//vUJDQ10e/wyz2ax//etf+uGHHzRkyBCn7by9vXXddddp8+bNGj9+fI3nkdy3JgAA3IX78uaxJtQfk2E4eO4MgGZl9+7dWrNmjQ4ePKjS0lKFhoaqa9euGjRokHx9fRs7PAAAICk/P18rV67Url27VFBQIF9fXyUkJGjQoEFq27Ztvc61adMmpaWl6fDhw7JYLIqIiFCPHj00YMCAKj/kril3rgkAgKaqqKhIq1ev1rZt25Sbmytvb2+1bdtWAwYMqPILVrXhrvt/d64JAIC6yM/P1+rVq7Vr1y7l5eUpMDBQMTExSklJ0VlnnVUvc7DXAwDg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7xlnnFFSP/TQQ2Xv88lPfrKkXrRo0SFvdJ43b16WLVtW9h6VNn/+/BQKhWK9dOnSfP3rX+91+3hfnnvuuYOuDx8+PAsWLChZ+9rXvpYlS5b063xr167N7Nmzs3Xr1l7vLV26NLfddlva2trKnnf33Xens7OzWPf1OwEAAAAAGChBbgAAAAAA3ndWrFiR888/P6effnrmz5+fV155JR0dHb36Ojs7s2zZspx77rnZvHlzcX3SpEk555xzDjr7/PPPT3V1dbG+//778/nPfz733XdfnnzyyTz77LPF10svvVTy7Gc+85k0NDQU6y1btmTq1Klpbm4uCT739PTk5ZdfzoUXXpiFCxcmSSZOnHh4X8YQmz59er7xjW+UrN15552ZPHlyli9fnt27d/d6Zv369bnzzjtz9tlnZ/r06X3OvvTSS3PdddcV6+7u7syePTvTpk3Lb37zm4PO7u7uzl/+8pcsXrw4TU1NmTBhQpYsWZLu7u5evW+99Vbmzp2bE044IV/84hfzwAMPlPwODrR27drccMMNmTNnTsn6tdde2+f5AQAAAAAGoupIHwAAAAAAAA5Xa2trbr311tx6660ZPnx4TjjhhNTV1WXEiBFpb2/Pxo0bewV8a2pqct999/U5c/To0bniiitKeh555JE88sgjvXobGhryxhtvFOvq6up8//vfz5e+9KXi2tq1azNjxoyMGjUqJ598cvbt25c333wzu3btKvbU19fnnnvuyac//enD+RqG3KJFi7Jly5b86le/Kq796U9/yhe+8IWMGDEiDQ0Nqaury+7du/P3v/897e3tZc++66670tbWVjK7paUlLS0tqaqqKs7eu3dv2tvbs3Xr1nR1dfXr/B0dHXn44Yfz8MMPJ0lqa2szZsyY1NbWpqurK1u2bMmOHTt6PXfppZdm5syZ/doLAAAAAKBcgtwAAAAAAPxP2LdvXzZv3tznjctJMnbs2CxbtixnnXXWe85avHhxtmzZkubm5n6f45JLLsnChQszb968klu429ra8oc//KFX/4knnpgnnngixxxzTL/3qpSqqqr88pe/zKmnnprvfe97JeH4rq6urFu37rBnV1dX58EHH8zkyZNzyy23pLOzs/je3r17s2HDhmzYsOE9Zxx//PE5+uijy96zvb39kGHza6+9Nj/+8Y/LngkAAAAA0F/DjvQBAAAAAACgv1avXp3bb78906ZNy8iRIw/Z39jYmAULFmTNmjWZMmXKIfuPPfbYPP3003nqqady9dVX58wzz0xdXV2qq6vLOt/cuXOzYsWKTJo0qc+eD3/4w5kzZ07++te/5uMf/3hZc4+kQqGQBQsWpLW1NVdddVVqa2vfs7++vj7XXHNNVq9eXdb8b37zm9m0aVNuvvnmjBs37pD9Y8aMyeWXX57ly5dn27Ztqa+v79Vz3XXX5dFHH80111yTxsbGQ8780Ic+lM997nP57W9/m3vvvTdVVe7DAQAAAACGTqHnwOtAAAAAAADgfWbfvn1pbW3NunXrsnXr1rz77rtJ/h3GHjt2bM4888ycdNJJR+x8ra2tWbVqVd56663s3bs3xx13XCZOnJjzzjsvI0aMOGLnGqh9+/Zl9erV2bBhQ3bs2JGOjo4cc8wxGTt2bM4444xMmDAhhULhsOevX78+f/7zn7Njx460tbWlqqoqH/nIRzJu3LhMnDgx48eP7/fMHTt25G9/+1s2btyYXbt2paOjIzU1NRk1alQmTJiQSZMmlfUPAwAAAAAABoMgNwAAAAAAAAAAAABAhQ070gcAAAAAAAAAAAAAAPigEeQGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACoMEFuAAAAAAAAAAAAAIAKE+QGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACoMEFuAAAAAAAAAAAAAIAKE+QGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACoMEFuAAAAAAAAAAAAAIAKE+QGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACoMEFuAAAAAAAAAAAAAIAKE+QGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACoMEFuAAAAAAAAAAAAAIAKE+QGAAAAAAAAAAAAAKgwQW4AAAAAAAAAAAAAgAoT5AYAAAAAAAAAAAAAqDBBbgAAAAAAAAAAAACAChPkBgAAAAAAAAAAAACosP8DxaWVj/cLc/UAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -986,18 +914,12 @@ "cell_type": "code", "execution_count": 13, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:49:21.301499Z", - "iopub.status.busy": "2023-12-04T17:49:21.301395Z", - "iopub.status.idle": "2023-12-04T17:49:37.134205Z", - "shell.execute_reply": "2023-12-04T17:49:37.133921Z" - }, "tags": [] }, "outputs": [ { "data": { - "image/png": "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1+vVRx99pJ49e+r++++v8PbeeOMN9ezZU2+99ZYKCwsrvB4A9RfjbsSybt06HXroobr99tu1cuXKctsXFRXpm2++0ciRI2tkrPv777+ra9euuvXWW8vsn9/v19dff60BAwbo8ssvl8/ni3sbodfg/vvv17Zt22K2CQQCmjx5srp3765vv/024f2I5dFHH1X//v318ccfx9XfadOm6cADD9S9996rOXPmlPv6b9q0SaNHj9YhhxyiefPmVbifBQUFOvnkk3XjjTfqzz//jNmmsLBQY8eO1QknnKCioiKzfuXKlerVq5ceffRR5ebmxlx269atuvLKK3XTTTdVuI/l8Xg8OuecczRkyBD9+OOP5bYPBAJauHChRo8erZ9//jmhbb311lvq06ePvvjiCxmGEbPNypUrddlll+mMM84odZy9L/L7/br++uvVo0cPTZkyRfn5+aW23bVrl5599ll17txZ06dPr9D2QufHp512mr755ptyz48B7HsYP9eMJUuWaMWKFZa6f/zjHzXejw4dOmj48OH64IMPtHPnzjLbejwevfvuu+rdu7ceeuihGuph/Kpr7FMbzh127typli1b6rrrrtOnn35a5nhBKhnLvvLKK+rWrZsmTJhQqW0/88wzOvLII/XNN9+U2uavv/7SZZddpquuuqraxhY1eY1/xowZ6t69u6ZMmaJAIBCzzYYNG3TLLbeof//+2rFjR0Lrr+/GjBmjAw88UK+++mqZr01hYaEmTZqkgw46SK+88kqFt5foOSYAoHZJ3r0WAQAAgAqaPXu2pXzqqadW+a17UXNycnL01ltv6eijjzYv6N511106+uijdeSRR5a63Lhx4/Tuu++a5ebNm2vSpElx3yJxzZo1uvDCCy3B2e3atVOzZs2Un5+v5cuXWy5Orly5Uuecc47mzp1b7m0fi4uLo+patWqlRo0aKTMzUwUFBVq3bp12795tafPcc8+psLBQr776alz7UBPuuecePfvss1H1jRo1Utu2bZWWlqaCggJt27atzGDVZBk+fLg++eQTs/zaa69p8ODBcS9fWFhoOc5ycnJ0xhlnlNr+448/1tChQy0BLJLkdrvVoUMHNWzYULm5uVqxYoXlC4yPP/5YxxxzjL799lulpqbG3b94vPLKK7rjjjui6rOystS+fXtlZGSoqKhIO3bs0N9//11qwEl5Nm/erGHDhlmOgzZt2qhFixbasWOH1qxZY/liYfny5TrmmGP03XffcVt0SXfffbfGjBkTVd+gQQO1bdtWGRkZ2rJliyVgPhgMavTo0dq+fbuefvrphLb3ySef6NJLLzXfE7vdrg4dOqhRo0basmWL/v7770rtD4D6gXE3IhUVFem4446LCui12+1q27atmjRpIofDodzcXP3999/lBlZUtfnz5+uEE06ICr5xuVxq3769GjZsqA0bNmjDhg2W+ePHj9fGjRs1depUud3uMrexadMmDR48WKtWrbLU22w2dejQQY0bN9b27du1evVqGYah3bt36/TTT9c777xTqX174YUXNGrUKLPsdrvL3Ccp9nlJWlqa2rZtq6ysLNlsNm3fvl1r1661jNPWr1+vQYMGaf78+erSpUtC/TQMQxdccIG+/PJLs65Vq1Zq1aqVCgsLtWzZMst51uzZs3XjjTfqxRdf1JYtW3TMMcdo3bp1kqJf08jX/KmnnlLv3r01bNiwhPoYjyuvvFIffPBBVH2zZs3UunVrpaSkKC8vT1u2bNHWrVsrvJ0ZM2bo0ksvNc8NHA6HOnTooOzs7Jjv68cff6xzzz1XH374YbnnpfVdYWGhzjnnnJgBSS1atFCLFi1kt9v1999/a8uWLea8vLw8nXnmmXrrrbd0/vnnJ7TNO++803J+nJaWpnbt2ikjI0Pr168v98ffAOo/xs81I/J1zsrK0tFHH13j/Ygca9lsNrVp00Y5OTlKT09XXl6eVq9ebfnBvWEY+s9//iO/36977rmnprtcquoY+9SWc4dAIBAVSO5wOLTffvupYcOGSklJ0e7du7V69WrLj+w8Ho8uu+wy2e12XXrppQlvd9y4cbrxxhvNclpamtq3b6/MzEytX78+apz30ksv6aCDDtK///3vhLdVnpq6xr9kyRINHTrUfC9tNpvat2+vxo0ba+vWrVq7dq2l/U8//aQTTzxR33zzjbKysiq83fogEAjoiiuuiEpEI0mNGzdW69at5Xa7tXHjRq1fv96c5/V6deWVVyo3NzfhH8dW5BwTAFC77NtXhgAAAFDnFBUVacGCBZa63r17J6k3qCpHHnmkxowZY2bt9vv9uvDCC7Vo0SJlZ2dHtf/1118tF7JsNptef/11NW/ePO5tXnHFFdq0aZPS0tJ066236uqrr7YEoO7cuVOPPPKIHn30UTMYduHChXrppZc0cuTIcte/33776fzzz9cpp5yi3r17q0GDBpb5hmHo119/1bhx4/Tiiy+aARDjx4/X6aefrrPPPjvufaku69ev1yOPPGKpu/rqq3XjjTfGDALZuXOnfvjhB02bNk1vvfVW1PwePXqYQSCvvfaaXn/9dXPeY489ph49elTxHkhnnHGGsrOztWvXLknSe++9p+eee07p6elxLf/BBx8oLy/PLA8dOlQpKSkx2/7+++9Rgd8DBgzQqFGjdOyxx1qCuvPy8vT222/r7rvv1ubNmyVJc+fO1U033aTnn38+0d0slcfj0W233WapO/fcc3XHHXfosMMOi/qxRF5enubNm6dPPvlEkyZNSmhbo0aNMi8IX3DBBRo9erQOOuggc/6GDRv01FNP6YknnjCP99WrV+uKK67Qp59+WpHdq7DHH3/cDAo7/vjjzfru3bvr8ccfL3W5jh07SpJOPPFE81geO3asvvjiC7PNpEmTSv23KC0tLWb9+PHjLYHfNptNl1xyia6//noddthhstv33rhtw4YNevbZZ/XYY4+Z2VieeeYZ9e/fX0OGDClzv8NdfvnlCgaDatiwoe655x5deumlatKkiTl/8+bNUV/IANi3MO5GLM8++6wleKNp06Z68MEHdd555yknJ8fS1jAMrVq1Sl999ZXef/99SzBwyG233aaLL75YknTxxReb46LQDztLE+uHY3l5eTr//PMtgd/p6em69957dcUVV6hRo0Zm/S+//KLRo0frww8/NOs+++wz3XPPPXr44YfLfA2uvvpqSxCy0+nULbfcouuvv97Sr/Xr1+uZZ57RE088oby8PF177bVlrrcsO3bsMM9/WrZsqTFjxuj888+3BEisXr065p1kHA6HTjrpJJ1xxhk65phj1LFjR8vYQip57T766CPdf//9Wr58uaSSwNqLLrpIP//8c9w/sJVKxvmhH6tdeOGFuvvuuy3nDtu3b9c999yj//3vf2bdyy+/rOuvv1633nqr1q1bp9TUVN12220aOXKkWrRoYbZbtmyZrrrqKs2aNcusu+WWWzRkyBC5XK64+1ieefPmWY4/p9NpnjOG37UqZPPmzZo9e7Y+/vhjTZkyJaFtXXbZZfL7/XK73brzzjt17bXXqmnTpub8X375Rf/5z380bdo0s2769Ol6/PHHLYEaNSH0N7x48WLdcsstZv0ll1xSZkBU6DyvKv/eJWnkyJGWwO/MzEzddNNNuuyyy9ShQwdL28WLF2vMmDHmD3tDwTU9e/ZU586dS912uCVLlpjBhvvvv78eeughnXbaaZbzvN9++y3uc00A9Q/j55oTGfzds2fPqPFNTTnooIN0/vnn6+STT1aPHj2iPgeCwaDmzp2rp59+Wm+//bZZf//99+vkk09Wnz59arrLUapr7FPV5w6V1bt3b51zzjk68cQTdfDBB0dd4/X7/fr22281duxYyxjjuuuu0+DBg9W2bdu4t7VixQoz8LtLly4aM2aMTjnlFMu44eeff9Y///lPS6b1u+++W8OHD1fjxo0ruptRqvoaf1muvfZa5efny2az6Z///KduueUW7bfffub8lStX6sEHH9T48ePNuvnz5+u2226r0mvi8XjjjTdUVFSkzZs3m2NUSTrhhBN06623lrrcwQcfLEm69NJLddRRR0mSbr75Zv3yyy9mm7KO38hjP+T++++3BH67XC5de+21uuqqq9S1a1dL25UrV2rs2LF68cUXze+ubrvtNh1xxBHq169fqdsOV5lzTABA7UHwNwAA+yB/IKiNu6OzP6FqtWyYKqcjORccy7JgwYIK3y4vVtawmrZq1Sp5vV5LXc+ePZPUm31PcXGxvvrqqwot26NHD8uX2JFuu+02zZgxw7ywunbtWl1xxRV67733LO0KCws1dOhQy/E4atQoSwBnPFatWqVGjRrps88+i3mRPScnRw8//LCysrJ01113mfUvvvhiucHfzz//vPr161dmZh+bzabu3bvrf//7n84++2ydfvrpZmaRhx9+uFYEf0+dOtVyq7977rlH9913X6ntc3JydOqpp+rUU0/V2LFjozIu5uTk6LjjjpMkfffdd5Z5vXr10qBBg6qu83ukpqZq6NCheuGFFySVBLa8//77lgu6ZYnMtDF8+PCY7fx+vy644AJL4Pd9992nu+++O2awTFZWlv7xj3/olFNO0eDBg80vQsaNG6errrqqyv5d+/rrry23h7z00ktjZg8J79cxxxyjY445Rg899FBC2Z9DgcJjxozRf/7zn6j5rVq10qOPPqq+fftqyJAhZgD4Z599pilTpiScda8yevXqFbM+/BgtS8uWLdWyZUtJigpU6d+/v9q3bx93X1atWqV//vOfZjktLU3vvfeeTj755JjtW7VqpYceekgnnXSSTjrpJPOYu/7663XGGWfEnTl+8+bNatGihWbMmGEJ0g9p3rx5Qj+oQQwBv5S7vvx2qLwGrSVH7bvMybgblVGZcffixYuruDd7hQd3pKSkaNasWTE/R6SS8W6nTp3UqVMnXX311frjjz+ixsddu3Y1v8gO/wxLTU2N6zM53J133mm5Q0bDhg01Y8aMmMdt9+7d9cEHH+iuu+7Sgw8+aNaPHTtWQ4YM0WGHHRZzGx9//LE++ugjs+xyufTBBx/o1FNPjWrbunVrPfLIIzrqqKN0zjnnaPXq1QntT7jQjxG7dOmib775xhIQHRIZ7CqVjHlWrlwZM2gnXFZWloYNG6Zzzz1X5557rnnnnEWLFumzzz4rdVwSS+g9eOyxx3TzzTdHzW/cuLGee+45FRUVmUEfhmFo6NChWrp0qTIzM/XJJ59owIABUcseeOCB+vTTT9W7d28tXbpUUkkm9unTp+uss86Ku4/liQxievHFF3XZZZeV2r558+Y677zzdN555+mJJ56wZFEvz9q1a5WSkqJPPvlExxxzTNT87t276+OPP9a///1vPfnkk2b9fffdpwsvvNASTFPdQn+TkRnHO3bsGNffa1X+vU+ePFmvvfaaWe7UqZM+//xzderUKWb7Hj16aMqUKRo7dqz549i8vDzdfPPNmjp1alzbDGU5HTBggD755BNlZmZGtenWrVtC+4Fo/qBfmws3J7sb9V7z9OZy2hk/VzXGzzUn9GO1kOpIKBGPadOmlXs90263q2/fvurbt69OPvlk89piIBDQY489psmTJ9dAT8tWXWOfqj53qKiMjAz9+OOP6tu3b5ntnE6njj32WB177LF64IEHzMzs+fn5evbZZ6MCqMsSysx84okn6v3334/547DDDjtMX331lfr162eewxUWFmrSpEmWjOGVVdXX+Muydu1a2Ww2vfbaazGvv3fq1EmvvvqqevTooX/9619m/QsvvKARI0boiCOOiHtbldW/f39JspxDSiXXfeMZm3bs2NFMFBIZ0J3o2PaHH36wJAZp0qSJed4TS6dOnTRu3DgNHjxYF110kYLBoPx+v0aOHBn39YCKnmMCAGqX2ndWBwAAqt3G3cUa8OiMZHej3pt922C1bVT7sv2EZ2eqi8KDGEOaNWuWhJ7smzZv3pxwkHXIBx98UOYX8qGLgj169DBvlfz+++/rueee03XXXWe2u/76680v+qWSrOEPPPBAhfr0yiuvlJtdZdSoURo3bpwZBLto0SJt3ry5zKDIWIEKZTn++ON16623mhf45s6dqyVLlkRldKhpkV+kJJKtMDMzM+aX4ckwfPhwM/hbUqkXnyOtX79eX3/9tVk+4IADSv2S4N1339Vvv/1mlq+++uq4bt3aunVrvffeezr00EPNL0oef/zxhLNul6Yy76Hb7TYvYMfrtNNOixn4He6cc87Rrbfeasmq+eSTT9Zo8Hdt8uijj1pu//vqq6/GFWB19NFH67HHHjP/fdyyZYsmTZqkK6+8Mu5tT5gwodQv3VAFctdLT3dPdi/2DTf+IuWUHdiYDIy7URmVGXdXp/CxxeDBgxP6HKnOz5xdu3bp1VdftdS98sor5QZcjRkzRj///LN5F5JgMKgnn3zScoeacM8884yl/J///Cdm4He4008/Xbfffrvly/yKcLlceuedd2J+KV+aRL+sT01N1euvv66OHTtq9+7dkkruUJJI8LdUcrecWIHf4caMGaOJEyeaY+DQOd4TTzxR5vlUenq67r77bl100UVm3aefflqlwd/hx3lmZmaZWa0jVSRL44MPPhgz8Dvc448/rjlz5piZIYuKijRu3Dg99NBDCW+vrjMMQ/fee69ZTk9PLzPwO9ytt96qefPmmcFoH3/8sZYvX64DDjggrm3n5OTonXfeqTXnuvXR5sLNOum9k5LdjXrvs3M/U+vM1snuRhTGz4hX5GtdVsKR6pRoIotLL71UX375pXnd7/3339fu3bvVsGHDauhd/Kpr7FNbzh3S0tLKDfyOdPfdd+vLL780s8xPmDAhoeBvqeTOoJMnTy7zriDp6el6+OGHLePtTz/9tEqDv2v6Gv91111X7rX3G2+8UXPmzDGz4RuGoaefflpvvvlmQtuqL+6//37zvMhut2vq1Klx3Tli6NChWrBggcaOHSup5K5BX331VdzB5xU5xwQA1C61LxUlAAAAUIZYF9Gzs7NrviOoFs2aNdOkSZMst+m8+eabzWwFb775piWoIzs7W2+99VZU5rF4HH744XEFCDidTp1zzjmWushbuFaFyAuiP/zwQ5VvI1HhWawlVemt1GvSkUceafky/+uvvzazr5Rl0qRJlsw1pWX9lqSnnnrKnE5PT9d///vfuPt3yCGH6MwzzzTL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hgyJe33Dhg2z7NPy5ct18skna8OGDXGvw+fzaeLEiVX65czdd9+tSZMmye/3x9XeMAw9/vjjlrrS3sNYpk2bpoceeqjMNh988IHGjh1rqfvXv/4V9zaqWvj7tm3bNs2cObPCy0vSu+++m9Dyd911l9LT083y5MmTdfXVVyeUoXPHjh0aM2aMPv7444S2DQDxYtwNSVq6dKlGjhyZ0K3X582bZ/lszc7OVseOHWO2Df9MNQwjofFhdna2Lr/8ckvd5Zdfrl9++aXM5UaPHq3p06ebZbvdrptuuqnU9jfddJPli/158+bpzDPP1JYtW2K237x5s04//XQtXLiwxoN0w89NvF6v7rjjjjLbb926VaeddlpcQeL13bBhwxK6Zf3OnTv18ssvW+oSGUP/5z//sZwLx3LzzTdbsk+mpqYm5UcFUsldqDIzM83y119/rZ07dya0jsr8vTscjqg7gN1444166aWXEurD8uXLddVVV2n9+vUJLQcA8WD8XDOGDBkS9SP6SZMm6cQTT9TSpUsTWldhYaH+/vvvuNpGXgN++OGHy82MfNddd8WVvCNS5DXgUaNGlXkMFRQUaOjQofrrr7/i3kZ1jH2q+9whXpHv1d13362ioqJS2wcCAV1++eX1Kut3dV7jj+W5557TG2+8UWabZ555Rm+//bZZttlsuvHGG+PeRlVyuVw64IADzPKiRYu0cuXKhNZR2evDDzzwgOz2veF7jz76qO6///643zNJ+vvvv3XrrbfW+B2nAADJRfA3AAAA6qzs7GxNnTpVjRs3NuuCwaDuu+8+HXDAAXrooYe0aNGimMtu27ZNr732ms455xwdeOCB+uCDD2qo13VbcXGxvvrqqwo/SgtOnj17tu6//36z7Ha79fbbbysrKytm+3/961+WC9/r16+PysKXDJ07d9aRRx5plvPy8nT00UdrypQpUcG3ixcv1tChQ3XNNdfIMIyEsx6fcsopat26tVnesGGDBg4cqJkzZ1ouCvr9fn355Zc66qijNGHCBElShw4d4trG999/rzPOOEMdOnTQLbfcopkzZ1qyNYf4fD599tln6t+/v+XiYosWLXTaaafFXHfPnj3VpEkTszxz5kwdc8wxGjdunD755JOoY6eqDRkyRGlpaWb5ySeftHwpctZZZ8XM+Fgah8Oh9957z7LMjz/+qG7dumn06NFavnx5zOU2b96sadOm6eqrr1br1q01YsSIhL+cKsuvv/6qSy65RK1bt9bIkSP12WefxfyhRDAY1HfffacTTjjBkiUzPT1dF110UVzbCn2p+Z///EcXXXSRli1bZpm/ceNGjRo1Sueff74CgYBZf8IJJ2jo0KEV2LuqccIJJ1jKZ599tm6//XZNmTJFX3zxheU4XLVqVdTygwYNksvlMssTJ07UOeeco1dffVWffvqpZfnvv/8+avmOHTvqlVdesdS9+OKLOuSQQ/TSSy/FvCuAYRhauXKlXn/9dZ1zzjlq06aN7r777lrxIxgA9RPjbkglQQDjxo3TgQceqIEDB+r//u//9Ntvv1k+10O2bt2qJ554Qscee6xl/vDhwy138QkX+Zk8cuRIXX/99Xrrrbf0+eefWz5TlyxZErX8gw8+qPbt25vlnTt3ql+/fnr88cejAlN/++03nXvuuZZzEKnkbi49e/Ys9TVo1qyZnn76aUvdF198oQMPPFAjR47UG2+8oU8//VSTJk3SNddcowMPPFBff/21JOnqq68udb3V4dJLL7WUx40bp+HDh2vt2rWW+ry8PL3yyivq3r27+XecrDuy1BbTp0/XoEGD1LVrV40ePVo//vhjzCCroqIiTZkyRUcccYTlde3Ro4f69OkT17batWsnj8ejk046Sffdd1/UOfOvv/6qM844Q08++aSl/p577rEEFdYku92uY4891izv2rVLffv21SOPPKKpU6dGncvFCgyv7N/7BRdcYPmb8vl8uuqqq3Tsscdq2rRpMQMkfT6fFi9erKeeekoDBgzQQQcdpJdeeqnas8MC2Dcxfq45TzzxhE466SRL3YwZM3TIIYdo2LBhevfdd7Vjx46YyxYXF2vOnDm688471bFjR3PcVp6BAwdaPof/+usv9e/fX19++aXluqxhGPrhhx90/PHH68EHH5SU+Dhr2LBhlqQBixcv1nHHHaeFCxdG7cv777+vPn366PPPP5fb7VabNm3i2kZ1jH2q+9whXmeffbblO4aff/5ZgwcP1k8//WRp5/f79fnnn+uII44w7w5ZX8bE1XmNP1K7du1kGIYuueQS3XDDDVE/Qli1apWuuOKKqEDvf/zjH+rbt28F9q5qhI9NA4GAjj76aN1333364IMP9OWXX1rGphs3boxa/vjjj7eUH3jgAV122WV6/fXX9dlnn1mWj5Wcp3///ua/ESGjR49Wnz599Pbbb8ccTwcCAS1dulQvvviiTjzxRHXo0EGPPfYYPxQCgH2NAQAA6hyv12vMnz/f8vB6vcnuFmqpdu3aGZLMx4wZM2rFusLXI8lYvXp1hde1ZMkS48ADD4xaZ+iRmZlpdOzY0ejTp4/RpUsXIycnp9S2DRs2NDZv3lzhvlTW8OHDzb4MHDgwaf0ImTFjRqmvVUUeH3zwQdQ2tm/fbrRp08bS7oknnii3b1u3bjVatWplWe7pp58utX34a5voMRf5OowePbrUtt9//73hcrliHoc9e/Y0evXqZTRv3twyLyMjw/j5558tdfG8/++++27M17lZs2ZG7969jUMOOcTIysqyzLv99tvjfi169OgRtW6bzWa0adPG6NGjh9G3b1+ja9euRmpqalQ7h8NhTJs2rcz+33///XEfO5FWr15tmT98+PByX69IF154Yanb+/TTTxNen2EYxjfffFPqvzFNmjQxunXrZhxxxBFGly5djKZNm8ZsV5F9Kc2ZZ54ZcxstW7Y0DjnkEKNv377GIYccYmRmZsZs9/zzz5e67tGjR1vavv3221F/k/vtt5/Rp08fo3Pnzobdbo9af7t27Yy//vqr3P1I5G8jsl/lfVZt377daNKkSVzHYWl/+5dffnlcy7dr167Ufjz++OMxXyNJRtu2bY2ePXsaffr0Mfbff/+ov+vQY/z48aWuf+DAgWX+TQGoPMbdjLsrI3K8WdZnRlWvK95x1cKFC2O+l2lpaUbnzp2NPn36GH369DHatWtn2Gy2qHb777+/kZubW2o/fD5fmcdXPH2cN29ezOPO5XIZBxxwgNG7d2+jdevWMdd50kknGR6PJ67X+IEHHoirn6HHWWedZaxcudJSd8UVV5S5jfB/Byp6PJxyyikx+9OxY0fjiCOOMA488EDD7XZb5l100UUJjacSOVeKlOi4LVx1jm0aNmwY9Zo5HA6jXbt2Rs+ePc3XLtZ5X3p6urFgwYK4+/3NN98YTqfTLDudTmP//fcv81g98cQTy70OmOj7kujrOXPmzJh/57Eesd7Xqvh793q9xpAhQ2Iu43Q6jU6dOhl9+vQxevbsaXTo0CHqWA89yvpcDG9XGz4rgPqG8TPj56ri8XiMq666qtTXzmazGU2bNjW6dOli9O3b1+jRo4fRrl27Uq/DSDKOOuoo4/fffy91m++8807M5XJycoxevXoZhx56qNGoUSPLvObNmxuzZs2K63Mu3GOPPRZzW61btzb69OljdO3a1UhLS7PMGzduXNyf79Ux9qnuc4dExsqPPvpozL40b97c6NOnj3HIIYcYDRo0sMw76KCDjKlTpyY0nqrMuKEy312Upzqv8Uf2e/r06Zbrljabzfw3rn379jHfh549exq7d+8ucx8S/S4g0ddz2bJlMfc/1qO066/HHHNMXMuXdWzcdNNNMZex2+1G+/btjV69ehm9evUyOnXqZKSnp8dsW9bnX1WcYyYiVjzD22+/bbzxxhvGG2+8Ybz00kvG7bffbtxzzz3GG2+8YUyePLna+wQA9Q2ZvwEAAFDndenSRQsWLNAtt9wSMxNEfn6+Vq1apXnz5mnp0qUxfyXvcrn0z3/+UytWrFCzZs1qotvY47LLLrPcUvPUU08t81brIU2aNNEbb7xhuR3ebbfdFpX1pKb169dPL730kiUTsFRyHC5cuFALFiywZPLNycnRtGnTyswwWJpY2QolacuWLZo/f75+/fVX5eXlmfW33HKLHnrooYS3E84wDP39999avHix5syZoyVLlqi4uNjSJicnR++9955OPfXUMtd155136uKLL65Ufypj+PDhMetbtmwZla0jXoMHD9a8efNiZvrbtm2bfvvtN/30009aunRpzEz4NptNbdu2rdC2E7Fx40b9+uuvmjNnjn799Vfl5+db5qelpWncuHEJ3Uq+efPm+vzzz9WqVSuzbt26dZo3b55WrFihYDBoad+5c2d98803cWchqi6NGjXSe++9V6l/+5966qkKHzMh//73v/XJJ5+oZcuWUfP++usvLVy4UPPmzdOff/5p+bsOSUlJ4fMLQLVj3I1YioqKtGLFCs2bN0/z5s3T2rVro25PfeSRR2r27Nml3tlHkpxOp9577z116tSpwn3p3bu3Zs2aFXV7eJ/Pp+XLl2v+/Plav3591HIjRozQRx99FHdmwbvuukvjx49XTk5Ome1sNpuuu+46vfPOO1HZExO5y0xFvfHGGzr88MOj6letWqWffvpJy5Ytk9frNesvuOACjR8/vtr7VRcFAgGtXbtWCxcuNF+7yIzRrVu31ldffaXDDjss7vUOHjxYr7/+unns+f1+/fnnn6Ueq6eccoo++OCDqPPNmjZw4EA9/fTTFe5HVfy9u1wuTZ48WY888ojlrk5Syeu4cuVKzZs3TwsXLtTq1astx3pIkyZNopYFgKrE+LlmuN1uvfDCC5o2bZoOOOCAqPmGYWjr1q1aunSp5syZo8WLF2vt2rVR16okqXv37nr77bc1e/Zsde3atdRtnn/++XrwwQdls9ks9Tt37tSCBQu0aNEiS8bxtm3b6quvvqrQdb+bbrpJ//jHP6Lq169fr3nz5mnJkiUqKiqSVHKHjqeeeqrSd52prrFPVZ07JOLWW2+N+Xps3rxZ8+bN06+//mrJhH3IIYfoyy+/VIMGDapk+7VRVV7jD9e1a1dNnTrVfO0MwzD/jVuzZk1U+z59+tSK1/qAAw7Q66+/rszMzAqv4/XXX0/obyGWJ554QhMnTlR2dralPhgMas2aNVqwYIEWLFiglStXxszOn5WVFbUsAKB+I/gbAAAA9UJGRobGjh2rNWvW6N577y3zwmyI0+lUnz599OSTT2rDhg36v//7PzVp0qQGeouQZ555Rh999JFZbtWqlSZMmBD38oMGDdJ//vMfs+zxeHTBBRdEBbLWtOHDh2vWrFk6+uijS22Tmpqqyy+/XL///rsGDRpU4W3dfffd+vjjj3XwwQeX2qZHjx765JNPNHbs2KgvJMry8ccf69lnn9Wpp54a10XDVq1a6dZbb9Xy5ct15plnltve4XDo9ddf13fffafrrrtOhx9+uJo0aaKUlJS4+1gZxx13nCVQOWTYsGFyOBwVXm+nTp00d+5cffTRRzrmmGPKDSJyOBw68sgjdf/992vFihV64IEHKrztSC+99JJeffVVnXvuuWrevHm57Rs1aqRrrrlGS5curdCXRN26ddOiRYt05ZVXlvo+5uTkaNSoUfrll1+iArOS5eijj9Yff/yhZ599Vqeffro6dOigrKwsy49LypKVlaXPP/9cn332mS6//HIdeuihatSoUcLBMCeeeKJWrVqlZ555Rt27dy/37zUzM1Onnnqqnn/+eW3cuFGnnHJKQtsDgIpg3L3v6t69u77//nuNGjVKvXr1ktPpLHeZfv366bXXXtP3338f11jk4IMP1i+//KLx48frvPPO0wEHHKCGDRsmNDbr1q2blixZorFjx5Y51nA6nTr22GM1e/ZsjR8/PuHP7REjRmj58uV68skndfTRR6tVq1ZyuVzKzMxU9+7ddcMNN2jx4sV69tln5XK5LME/Us0Ef2dnZ2vWrFm6++67y9zewQcfrDfffFNvvfVW3AHw9dncuXP16KOP6thjj1VGRka57Tt37qwHHnhAy5Yt05FHHpnw9i644ALNnTu3zB8TduzYUa+++qqmT59ea4KVr7/+ei1dulT33HOPjjnmGLVq1Urp6elxn3NWxd+7VPIj8NWrV+uWW27RfvvtV277Fi1a6OKLL9b777+vDRs2xPVvEwBUBuPnmnPqqadq6dKl+vDDD3XuuefGFchpt9vVtWtXXX/99Zo/f74WL16soUOHxrW9O++8U9OnT1ePHj1KbdOgQQPdfPPN+vXXX9WtW7e49yWyjy+++KImTJhQ5mfdgAED9MMPP+jGG29MaP3VMfapiXOHRIwbN06vvfZamecHzZo10wMPPKB58+YlPVlFVarua/yRBg8erMWLF+u8884rdVzXsmVLPfroo/rxxx/VuHHjhLdRHc477zwtX75cDz/8sE488US1bdtWmZmZcY9tW7VqpTlz5mjKlCm66KKLdPDBBys7OzuuYz/cpZdeqjVr1uiBBx6I+WOWSDk5OTrvvPP02muvadOmTTr00EMT2h4AoG6zGZE/owMAALWez+fTL7/8Yqnr3r170rP+ALXN1q1btXDhQq1Zs0Y7d+6Uz+dTgwYNlJOTo44dO+qwww6rNV+aov5as2aNvv/+e23cuFEej0fZ2dk68MAD1a9fP6Wnp1fptpYuXaq5c+dqy5Yt8vv9atmypQ4//PC4vlQqj2EYWr58uf7880+tW7dOubm5CgQCysrKUosWLdS9e3cdcMABcQfL7ksKCws1Z84c/fXXX9q+fbuKioqUmZmpJk2a6MADD1SXLl3i+mKlKqxevVrLli3T2rVrtXv3bnm9XmVmZqpp06Y65JBD1LVr17gvSN9777267777zPKMGTMsP2TIzc3V7Nmz9eeff6qgoEBNmjRRx44dNWjQIMYscdq6dat++uknbdq0Sdu3b1cwGFSDBg3UokULdenSRfvvvz+vJYBagXH3vqmgoEC///67Vq5cqc2bN6ugoEBOp1MNGzZUx44d1bNnTzVt2jTZ3dQff/yhhQsXasuWLSosLFTjxo3VunVrHXXUUTUSgB3y7LPP6vrrrzfLEyZMKPVONNWhuLhYP/74o5lV1O12q1WrVurTp09cQQX7qkAgoKVLl+rPP//U+vXrzTuwZGVlqXXr1jr00EPVoUOHuNc3aNAgffvtt2Y58iu6v//+W99//73WrVtnntN169ZNvXv3rpod2gesWLFCixYt0tatW7Vz507z36X99ttPXbp0Ufv27ZPdRQBg/FxDAoGAlixZomXLlmn9+vUqKCiQzWZTdna2cnJy1KpVKx122GGVyvYbsnTpUv3000/mddnGjRurS5cu6tu3b5X+uM4wDC1cuFALFy7Utm3bZBiG2rZtq379+iU0JilNVY99QmrLuYNhGFq0aJEWLFhgvn7NmjUzx1uVSQhSF1T1Nf4RI0Zo4sSJZnn16tWWsda2bds0e/ZsrVq1Sh6PR82aNdOBBx6o/v378z1CnEIZ/rds2aLt27fLbrerQYMGat26tbp06aJOnTrV2tcyVjzDihUrFAgEJJV8b7Jy5Uq53W4deOCBcjqdGjJkSDK6CgB1FsHftczKlSs1d+5c/f333/J6vcrJydFBBx2kfv36KTU1NdndAwDUEgR/AwCAZCsv+BsAAAB7nX322frwww/N8m+//Vbm3XtQP5UX/A0AAADUFeUFf2PfRvA3AFS/xO4vgWrz4Ycf6oEHHtDPP/8cc35mZqZGjBih0aNHV+stndq3b6+1a9dWybqGDx+uCRMmVMm6AAAAAAAAAACoi9asWaOPP/7YLDdq1EhdunRJYo8AAAAAAAAA1GW1894P+xCPx6OLL75YZ599dqmB35KUn5+vZ599Vl27dtWsWbNqsIcVV5W3LwIAAAAAAAAAoDZIJFuzz+fT8OHDzexmUknilNp6a24AAAAAAAAAtR9XF5MoGAxq6NCheuONNyz1DodDHTp00KGHHqqGDRta5m3dulUnn3yyfvzxx5rsaoWcdtppye4CAAAAAAAAAABV6rDDDtM777wjr9dbZrtVq1bpuOOOsyR0SUlJ0bXXXlvdXQQAAAAAAABQjzmT3YF92dixYzV16lRL3TXXXKO7775brVq1klQSID516lT961//0rp16yRJhYWFGjJkiH777beo4PDKeuONN1RUVJTwcu+++65eeOEFs9ysWTOdcsopVdk1AAAAAAAAAACSbtGiRRo6dKiys7N14oknqk+fPmrXrp0yMzOVl5endevWaebMmfr0008tGb8lacyYMercuXOSeg4AAAAAAACgPiD4O0m2b9+uBx980FL33//+V7fffrulzm63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uBqtuEd0/vJcUqevy+v0df06bV2/Tj+mn2q0mJFyzdP+0YoOjld1YLSig+NhgLvT3FCxSmXrRSBhm1rTH/77vSb6t7veX9UftitySdmW2e2lAgAAAAAAAAAwbT0b/o4HtYeGhmblmsPDw41+IpGYlWtO1x133KH9+/c3xps2bdKzn/3sKZ37xje+sRH+lqRvfvObsxr+rlQquu666xrj1atX69JLL5216wMAAAAAIElBEGhvoaKtB8bDKt4Hxhv97QeLqsxCwHs2DBVrGirW9MBj3XkD+UJ1YKyimx7cr5sebP5+ZHkuEQbB64Hwdf1a008gfLHx/ECFUk3DpZqGilUNF6sajv4eNvthO1yqamg8nB+vet1eOo4SyzS0JONoaTYRVunOJ6M21RL2Hsg4/PsBAAAAAAAAAFiwejb8vXz5cknhC8I7d+5UrVaT4zhHfL1qtaqdO3c2xitWrJjxGo/E//zP/7SMn/e85035hYjnPe95LeObb75Z4+Pjymazs7K2b3zjGxocHGyMX/nKV8qyuv+IawAAAADA/DdSrOknD+7Vjffu1e0PHTjiqtFYmA6MVXXzg/t1cywQvizbFgg/pl9rCYT3HN8P5PqBXN+X6wfyvEA135fnB6q5gUZKUVC7U4C7GJsv1TRSqlGVexExDWkgk2iEuZdkEmGbDefi46WZsO1L2jJN/g0AAAAAAAAAACxuPRv+3rx5c6NfKpV0yy236LnPfe4RX++WW25RsVhsjDds2DCj9R2p3/72ty3js88+e8rnrl27Vhs3btS2bdskhYH2++67T2ecccasrK09mH7eeefNynUBAAAAAIvTnuGSfnjfXt1432O6c8ugPJ9UJ6bu4HhVt/xhv275QzMQvrQRCM83QuHrBtIEwtv4fqBCuabB8WpjGypWNThe0+B4RXuHx7VllynXl3xJ1+36nWRacr0owO0HqnlhgNv1A7leEM37sX4Y8iasvThZpqGEZSrpmEpYphJ2tFmmMglLS7NJLc06UZC7Gd5emm2GuvMphyA3AAAAAAAAAABHoGfD30996lPV39+vQqEgSbriiitmFP6+8sorG/1sNquzzjprxms8Evfff3/L+JRTTpnW+aecckoj/F2/3myFv3/xi1+0jJ/whCdIkjzP04033qhrr71Wv/nNb7Rr1y45jqMVK1boSU96kl7wghfoFa94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TbZs2dLTpQJAxmzdujW59dZbk3PPPTcZPnx4m+tkRCQ5OTnJ2WefnTz88MOdHnfFihXJBz7wgSQ3N3e3Y6VSqeSkk05KHnnkkU6N09zcnNxyyy3JjBkz2pzXsGHDki984QtJZWVlr5gTAHTW+eef32qdmjRp0j71tXnz5uTjH/94kp+f3+ZaO2/evOTee+/tdN2Zeq7P5JwAoCPKy8uT6667LpkyZcoen99zc3OT+fPnJ9/73vc61L91HQC611NPPZW8//3vT/Ly8va4lo8bNy75j//4j6S0tHSfxqmoqEg+//nPJ0OHDm1zjJkzZya33npr0tzc3Kk5Pfzww8lJJ520x9clH/zgB5OVK1d2apxMzgmAA8u6deuSu+++O7nmmmuSk08+OSksLOyS98535Zm7d8yJzhH+BrpUbW1t8v73v3+PD9Bv/BkxYoRQFgAHhCuuuKLNoPLefj70oQ8l27dv36dx77jjjmTgwIHtGieVSiXXXHPNPr1Zu23btuTUU09t95ymTp2avPTSS/v1nACgs373u9/tdn3alzewH3roob1+eGzX1w91dXUdHieTz/WZmhMAdNTvf//7ZNSoUR16dh81alS7+7euW9cB6D5NTU3JNddck2RlZXV4Lf/Tn/7UobFeeOGFvX5Q7I0/b3/725OysrIOz6m5uTm56qqr2j1Ofn5+ctddd3V4nEzOCYADx4IFC5J3v/vdydixY/e6rnRF+Nszd++YE52XSpIkCYAu0NzcHO95z3vit7/9bdr57OzsmDhxYgwePDhWrlwZ27dvT7s+cODAeOCBB+LNb35zJssFgIw68sgj4+mnn251/vWvSRw1alQ0NDTE6tWrW62VERFHH310PPjggx36ysY777wzzj///Ghubk47P2LEiJgwYUJs3rw51q9fH7s+EnzqU5+K7373u+0ep6amJk466aR44okn0s7n5ubG5MmTIy8vL1asWBFVVVWt6li0aFFMnz59v5sTAHTW9u3bY86cObF+/fpW1yZNmhSrVq1qd18LFiyI0047LWpqatLOFxUVxZQpU2Lbtm2xdu3aaGpqSrv+nve8J+666652f311Jp/rMzUnAOio7373u/HpT3+61XNl//79Y+zYsTF8+PCoqamJjRs3RklJScv1UaNGRXFx8V77t67v+5wAoD0uueSS+MlPftLq/MCBA2PatGkx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amrVZvTo0TF69Oi0cZ9++ul2j5GpNb2xsTGeeOKJdo2VyTkBQHfwzN3a/jgnup7wN9Bp73rXu9KOH3jggUiSpF33/vWvf007Pvnkk6OgoKDLagOA/dHq1avjlFNOSfsF8ZQpU+L++++PESNGdKrvWbNmpe3IXVVV1e4HtKqqqvjHP/7RcpxKpVqt82+067X777+/3XXu2nZPX8GZyTkBwN789re/jfvvv79DPzfccENaH6NGjWrVZvr06WltCgsL44QTTkg71961NkmSeOCBB9LO7WmtzdRzfSbnBADt9c53vjOysv7567KVK1fG1q1b233/ruGoXb+aOcK6vivrOgBdbXcfvtqwYUOH+th1p++23qt/5zvfmXbcXe+L7zrOokWLoqqqql3jLFy4MKqrq1uOZ8yYETNmzGj3WN01JwDoDp650+2vc6LrCX8DnXbcccfF8OHDW45XrFgRDz/8cLvuveWWW9KOzzrrrK4sDQD2Oxs3boy3ve1tsW7dupZz48aNiwcffDDGjRvXJWOceeaZace7rrdtueOOO6KysrLl+Mgjj4yxY8e22f70009P2z3l4YcfjhUrVux1nCRJ4qc//Wnaub29BsjUnABgb0488cQ45ZRTOvQzb968tD769+/fqs3u3hDd1/XvoYceipUrV7Ycjxo1Ko455pg222fyuT5TcwKA9ho5cmQcf/zxaefuvvvudt3b2NgY99xzT9q5k046abdtrev/ZF0HoKvl5ubGmDFj0s797W9/61AfDz74YNrxGzckeaNd17/bbrutXQGp5cuXxyOPPNJynJOTE6effnqb7SdMmBBz585tOa6srIxf//rXex0novNrenfNCQC6i2fuf9qf50TXEv4GOi0rKysuvPDCtHPXXnvtXh8IH3zwwfj73//eclxYWBjnnntud5QIAPuFrVu3xqmnnhrLly9vOTdixIi4//77Y8qUKV02zkc+8pFIpVItx7/61a9iyZIle7yntrY2vvnNb6adu/jii/d4z9ChQ+Pss89uOU6SJL785S/vtb5bb7017eufJk2aFKeccsoe78nUnABgf3L++edHfn5+y/Gjjz66119eJ0kS1157bdq5iy66KG1H011l8rk+U3MCgI649NJL046//e1vR11d3V7vu/nmm6O4uLjleNCgQfH2t799t22t6ztY1wHoLm9729vSjr/3ve9FY2Nju+595JFH0r5Bcnf9ve7tb397jB8/vuV41apVcdttt+11jC9/+ctp6/F73/veGDx48B7v2fX97G9+85tRW1u7x3uWLFkSd9xxR8vx7l4b7CqTcwKA7uCZe4f9fU50sQSgC2zZsiUpKChIIqLl5xvf+Eab7detW5dMnjw5rf0XvvCFDFYMAJlVXl6eHHXUUWlrX1FRUfLss892y3jnnXde2lhHHXVUsn379t22bW5uTi699NK09lOnTk3q6+v3Os7ixYuTrKystHt/8Ytf7LF9UVFRWvuf/OQn+9WcAKCrPfTQQ2lr0qRJk9p97zXXXJN275QpU5L169e32f66665Laz948OCktLR0r+Nk8rk+U3MCgPZqampKDjnkkLT15sMf/nDS1NTU5j2PPfZYq7XzM5/5zB7Hsa5b1wHoPn/+85/T1piISC655JI9rudJkiSvvfZaMnbs2LT7DjrooKSxsbHNe374wx+mtR8yZEiyePHiNtv//Oc/T2ufnZ2dLF26dK9zqqurSyZOnJh272WXXZY0Nzfvtv327duTI488Mq39Bz7wgb2Ok8k5AcAbdea981155u4dc6LrCH8DXebrX/96qwfqyy+/PG3RaWpqSu65555WD6ljx45Ntm3b1nPFA0A3O+mkk1qtk1/5yleS+++/v8M/W7du3et4r732WjJw4MC08Q477LDkoYceSmu3dOnS5D3veU+r2n7961+3e24f+9jH0u7NyspKvvjFL6bVWV9fn9x2223JkCFD0toeeuihSUNDQ7vGyeScAKArdeYN7NLS0mT06NGt7v/tb3+b9svetWvXtvrgU0Qk3/rWt9o9Vqae6zM5JwBorwceeCBJpVJpa84pp5ySPPXUU2ntysrKku985zutfik6Y8aMpLy8fI9jWNet6wB0r5NPPrnVWjN//vzkgQceaPU+dElJSXLDDTckgwcPbnXPnXfeucdx6uvrkzlz5qTdM3To0OT2229PG6e0tDT5whe+0GoDlSuuuKLdc/rFL37Rqr73ve99yauvvprW7sEHH0wOPfTQtHYFBQXJihUr2jVOJucEwIFnwYIFu/299w033JC2nowaNarN35Hv6UNJSeKZu7fMia6TSpK97M8O0E7Nzc1x1llnxX333Zd2Pjs7OyZNmhSDBw+OlStXRllZWdr1AQMGxP333x/HH398BqsF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MicAAAAAAAAAAAAAAMB0SDlG3UMxN9i9vz+qff1RHRiIal9/RPsz49HE3A131/k8YwLd2aD3ipY6tYUDsm2r2mUCAAAAc0JNhb/b2tokpf/F6q5du5RIJOTz+SY9Xzwe165du9x+e3v7lGsEAAAAAAAAAAAAAACoRDzp6MDAaKi7WLD74GBMScdUu9SyGgJeN9ydDXUvb0mHvJc112lRvV+WRbgbAAAAqERNhb/Xrl3rtiORiB577DG9+c1vnvR8jz32mEZGRtz+qlWrplQfAAAAAAAAAAAAAACAMUaDsaQO5KzWnRfyzmy7huLVLrVi7Q0BHdpar9VtIa1uq9fq1nqtag1peUtITXWTX7gPAAAAQL6aCn+feOKJampq0sDAgCTp61//+pTC3//4j//otuvr6/X6179+yjUCAAAAAAAAAAAAAIDalUw56hyKjQa6+6PaPxBz29mQ90g8Ve1SJ6wt7Nfq1nqtbqvXoTkB79Vt9QoHaiqCAgAAAMxZNfU3b9u29da3vlU/+9nPJEmPPvqobrzxRl111VUTnutb3/qWHnnkEffXCp133nny+fiXqAAAAAAAAAAAAAAALFTDsaT25YW689vp1bpjcky1K5281nq/G+g+NCfovao1pIYguQkAAACg2moq/C1J1157rW677TYZY2SM0Wc/+1n19vbqy1/+sjwez7jnp1IpXX/99fr6178uy7JkjJFt2/rSl740C9UDAAAAAAAAAAAAAIC5IOUY/enAoJ7b2atnd/Tq+Z192tY1XO2ypsy2pPaGgA5pqnNX717dFsoEvOvVVEfAGwAAAJjLai78vX79en3sYx/T9773PVmWJcdx9NWvflU/+9nPdMUVV+j888/XEUccMea8V155RQ888IC++93vauvWrTLGyLIsWZalyy+/XK997WurcDcAAAAAAAAAAAAAAGA29EcSemFXn57d0avndvTqhV19Goolq13WhPg9thY3BXRIY52WNAXTr8agDmkKanFTetseDsjrsatdKgAAAIBJqrnwtyT97//9v/Xyyy/r8ccfd1fv3rJli66++mpdffXVqq+vV1tbm8LhsIaGhtTV1aXh4fS/zjUm/buXsuedeeaZ+td//ddq3g4AAAAAAAAAAAAAAJhGxhht6RzWczvTQe/ndvbqzweHlIkMzEn1fo+WNAV1SFOdG+pekgl0L84E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6umnn9ZLL72k7u5ueTweHXLIIdqwYYOOOuqoabiTUXv27NHvfvc77dixw72fww8/XKeffrrC4fC0XWc27wkAgJnAZ+6pIfc3xxkAmAH/+Z//aU444QQjqegrHA6bv/mbvzGdnZ3VLhUAgFnT09NjfvSjH5l3v/vdpq2treRzUpLx+Xzm4osvNo8++uiUr7t161bzl3/5l8bv9xe9lmVZ5swzzzSPPfbYlK7jOI754Q9/aA4//PCS99Xa2mq++MUvmqGhoXlxTwAATNWll1465jm1atWqSc118OBB88lPftLU19eXfNZu2LDB3HPPPVOue7Y+18/mPQEAMBEDAwPmq1/9qjn00EPLfn73+/3m9NNPN9/+9rcnND/PdQAAZtYf/vAH8773vc8EAoGyz/Jly5aZ6667znR3d0/qOoODg+baa681ixYtKnmN17zmNeZHP/qRcRxnSvf06KOPmjPPPLPs30ve//73m23btk3pOrN5TwCAhWX37t3m7rvvNtdcc40566yzTENDw7R877wQn7nnxz1hagh/A5hW0WjUvO997yv7ATr31d7eTigLALAgXHHFFSWDyuO9PvCBD5j+/v5JXfe2224zoVCooutYlmWuueaaSX2ztre315xzzjkV39OaNWvMSy+9NKfvCQCAqfrFL35R9Pk0mW9gP/LII+P+47HCvz/EYrEJX2c2P9fP1j0BADBR9913n1m8ePGEPrsvXry44vl5rvNcBwDMnFQqZa655hpj2/aEn+UPPvjghK71xz/+cdx/KJb7Ou+880xfX9+E78lxHPPZz3624uvU19ebO++8c8LXmc17AgAsHE888YR5xzveYZYuXTruc2U6wt985p4f94Sps4wxRgAwDRzH0Tvf+U7de++9eeMej0crV65UU1OTtm3bpv7+/rz9oVBIDz/8sF7/+tfPZrkAAMyqE088Uc8+++yY8eyvSVy8eLESiYR27Ngx5lkpSSeffLJ+/etfT+hXNt5xxx269NJL5ThO3nh7e7tWrFihgwcPas+ePSr8SHDllVfqxhtvrPg6kUhEZ555pp555pm8cb/fr9WrVysQCGjr1q0aHh4eU8dTTz2ldevWzbl7AgBgqvr7+3XUUUdpz549Y/atWrVK27dvr3iuJ554Queee64ikUjeeHNzsw499FD19vZq165dSqVSefvf+c536s4776z411fP5uf62bonAAAm6sYbb9RnPvOZMZ8rg8Ggli5dqra2NkUiEe3bt09dXV3u/sWLF2v//v3jzs9zffL3BABAJT760Y/q5ptvHjMeCoW0du1a1dXVqbu7W1u3bh3zvPf7/brnnnt0/vnnj3udV199Vaeffnre3wckKRwOa82aNYpEItq+fbsSiUTe/te//vX6zW9+o2AwWPE9/e3f/q2+853v5I1ZlqXly5ervb1dO3fuHFOHx+PRHXfcoXe84x0VX2c27wkAsHB8+9vf1lVXXVXRsRP93nkhPnPPj3vCNKlm8hxAbfnHf/zHMf/C5xOf+ITZs2ePe0wqlTJ33323WblyZd5xy5cv518EAwBq2oYNG9znXnNzs7niiivM/fffbwYGBvKOSyaT5pFHHjFveMMbxjxX3/Wud1V8vc2bN4/5lU/HHnus+c1vfpN33CuvvGLe+c53jrnWXXfdVfG1PvGJT+Sda9u2+dKXvmR6enrcY2KxmLnllltMS0tL3rHHH3+8SSaTc+6eAACYqo9+9KN5K27lPpMmsnpJT0/PmBVRVq1aZe65556832yxa9cu8/GPf3zM8++f//mfK77WbH2un817AgBgIm6++eYxz53zzz/fPPjggyYajY45fs+ePebf//3fzbve9S6zYsWKcefnuc5zHQAws+64444xz5r169eb+++/3yQSibxjDx48aG644YYxv7Gzvb0973vbxSQSCXPMMcfknbdo0SLz4x//2MTjcfe47u5uc+21145Zhfxv//ZvK76n2267rejPCv70pz/lHffwww+b1772tXnHNTQ0mG3btlV0ndm8JwDAwnLjjTeWXDk6HA5P+nvnhfjMPT/uCdOH8DeAadHV1WUaGhry/o/961//esnjd+/ebVavXp13/HXXXTeLFQMAMLs2bNhgVq9ebW6++WYzMjIy7vHJZNJ87GMfG/MBqzDoXMpll12Wd95JJ51k+vv7ix7rOM6Ya61du3bMN8OL2bRpk/F4PHnn/vSnPy15/EsvvWSam5vzjv/Rj340p+4JAICpeuSRR4xlWUZK/6Oob37zm5P+BvYXvvCFvHMPPfTQvG+2FvrqV7+ad3xTU9O4P7Q2ZnY/18/WPQEAMBF//vOfTTAYdJ83Pp+v7OfbQpU8m3iu81wHAMyso48+Ou85c+KJJ5qhoaGy5/z61782Xq8377yv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9hdf6dRTMTExx60JAMCpxufz6Tvf+Y5KS0v9+5KSkrR06dITntvXubnzvNxdTTP66a6vnt7c9tc1AQDQW9dff73q6+slSRMnTtRPfvIT02oHa64NpTm9N30BANAT1dXVAStcSdKmTZskSWlpafrggw/0j3/8QzfeeKMuuOACXXnllXrooYe0c+dOLVq0KOC81157TcuWLeu2H+b1vvUFAEBvfelLX9KGDRt0xx13KCws7Lhtx44dqzvuuEOLFi06bvBbGrg5/WT6Yk4HAJwquOc++b74HBDaCH8D6JOmpqaA7cjIyF7X6LzqZmNjY5/GBABAqLvzzjv1r3/9K2DfH//4R40ZM+aE5/Z1bu5uNezu5uZgfgYI1jUBANAbTz31lFauXCmpfRWNP/3pTyc1Hx5LsObaUJrTe9MXAAA9caxfSIaFhemNN95Qfn5+t8fj4+P117/+VV/5ylcC9v/P//xPlzC5xLze174AAOitP/zhD8rJydEjjzzSZQXtzvbu3aubb75Z48aN09NPP33ctgM1p59MX8zpAIBTBffcJ98XnwNCG+FvAH3S+YmflpaWXtdobm4+bk0AAE4lS5cu1a9//euAfXfddZeuvPLKHp3f17m587zcXU0z+umur2N9BgjWNQEA0FMHDx7UHXfc4d++9tprjxkOO1nBmmtDaU7vTV8AAPTEseaRa6+9VrNnzz7uuVarVb///e8DVgjduXOnPvjggxP2w7zeu74AAOip1tZWXXbZZbrpppt08OBBSVJqaqruvfderV+/XpWVlWppadGBAwf0j3/8Q9/4xjdksVgkSRUVFbrmmmt05513HrP+QM3pJ9MXczoA4FTBPffJ98XngNBG+BtAn8THxwdsd/cU8ol0fuKnc00AAE4Vzz33nG6//faAfUuWLNFDDz3U4xp9nZu7exK3u7k5mJ8BgnVNAAD01C233KKqqipJ0ogRI/TLX/7S9D6CNdeG0pzem74AAOiJY80j1113XY/Oz87O1vz58wP2dRf+Zl7vW18AAPTUTTfdpFdffdW/PWvWLG3btk3333+/zjrrLCUnJysiIkIjR47UhRdeqNdee02vv/56QEjpkUce0Z///Odu6w/UnH4yfTGnAwBOFdxzn3xffA4IbYS/AfRJ53+wGxoaun2t5fHU19cftyYAAKeCFStWaPHixQHz6KWXXqonn3zS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q1ef8JfXhmHo/vvvD9j3ve99L2BF086CeV8frGsCAKA3brjhhoDtX/3qV2pubj7heU888YQOHTrk305MTNRXv/rVbtsyr7djXgcA9Jcvf/nLAduPPfaY2traenTuBx98EPAGye7qHfXVr35Vo0eP9m/v3r1bf/7zn0/Yx3333RcwH3/zm99UUlLScc/p/H32Qw89pKampuOes2PHDr344ov+7e4+G3QWzGsCAKA/cM/dbrBfE0xmAIAJysrKjPj4eEOS/8+DDz54zPalpaXGuHHjAtrfc889QRwxAADBVVNTY5x11lkBc19ycrKxefPmfunvyiuvDOjrrLPOMqqrq7tt6/P5jBtuuCGgfXZ2ttHS0nLCfrZt22ZYrdaAc5977rnjtk9OTg5o/+STTw6qawIAwGyrVq0KmJMyMzN7fO6PfvSjgHOzsrKM/fv3H7P9Aw88ENA+KSnJKC8vP2E/wbyvD9Y1AQDQU16v1zjjjDMC5pvFixcbXq/3mOesXbu2y9x59913H7cf5nXmdQBA/3nrrbcC5hhJxnXXXXfc+dwwDMPlchmjRo0KOM/hcBhtbW3HPOf3v/99QPuUlBRj27Ztx2z/7LPPBrQPCwszdu7cecJram5uNsaOHRtw7o033mj4fL5u21dXVxtnnnlmQPvvfOc7J+wnmNcEAMAX9eW788645w6Na4J5CH8DMM3//M//dLmhvummmwImHa/XayxfvrzLTeqoUaOMysrKgRs8AAD97Nxzz+0yT/785z833nnnnV7/qaioOGF/LpfLiI2NDehv6tSpxqpVqwLa7dy507j00ku7jO2ll17q8bVdf/31AedarVbjZz/7WcA4W1pajD//+c9GSkpKQNspU6YYra2tPeonmNcEAICZ+vIFdnl5uTFixIgu5//9738P+GXvvn37ujz4JMn45S9/2eO+gnVfH8xrAgCgp1auXGlYLJaAOWf+/PnGRx99FNCuqqrK+N///d8uvxQdP368UVNTc9w+mNeZ1wEA/eu8887rMtfk5eUZK1eu7PI9tMfjMR555BEjKSmpyzkvv/zycftpaWkxJk+eHHBOamqq8Ze//CWgn/LycuOee+7psoDKzTff3ONreu6557qM77LLLjN27doV0O7dd981pkyZEtAuPj7eKC4u7lE/wbwmAMCpx+l0dvt770ceeSRgPhk+fPgxf0d+vIeSDIN77lC5JpjHYhgnWJ8dAHrI5/Pp4osv1ooVKwL2h4WFKTMzU0lJSSopKVFVVVXA8ZiYGL3zzjvKzc0N4mgBAAgui8ViWq1Vq1bp3HPPPWG7F154QYsWLerySqb09HSNHTtWR44cUWlpaZfjt956q5YuXdrj8TQ0NOicc87RRx99FLA/MjJSWVlZioqKUnFxserq6gKO22w2FRYWavz48T3uK1jXBACAmd5//32dd955/u3MzEzt3r27x+evXr1aX/3qV7u82jk5OVlZWVmqqqrS3r175fV6A45ffPHFWr58eY8/hwTzvj5Y1wQAQG88/PDDuvvuu7vsHzFihEaPHq36+noVFRWppaUl4HhaWppWrVqlM84444R9MK+f/DUBAHAihw4d0ty5c1VSUtLlWHx8vLKyshQTE6Py8nIVFxd3+R5Zkn74wx/qkUceOWFfO3bsUF5enioqKrr0k5OTo8bGRpWUlKi1tTXg+KxZs/T+++8rJiamx9d188036/e//33APovFojFjxig9PV179uyRx+MJOG61WvXiiy/qsssu63E/wbwmAMCpZdy4cdqzZ0+faixevFjPPPPMcdtwzx0a1wSTDGDwHMAQ1NjYaFx11VVdngQ61p+0tLQuq3UCADAU9XRu7Mmf3sydzz33nBETE9Pj2nfccccxXxl5POXl5caXvvSlHvczbtw4Y8uWLb3uJ5jXBACAWcx4deW7775rpKam9nj+W7RokdHU1NTrfoJ5Xx+sawIAoDeWLl1qRERE9Hh+mjBhQpeVN0+EeZ15HQDQf/bu3dvtmzhP9CciIsJ46KGHevVd8scff2xkZmb2uI/58+ef1KqYXq/X+M///M8e9xMbG2u8+OKLve4nmNcEADi19GZuOdafxYsX96gv7rlD45rQd1YBgImio6P1/PPP65VXXtG0adOO2S4uLk4333yztm/f3qOVSwEAwMn51re+pU8//VSLFi1SRETEMdvNmzdP77//vn71q1+d1Ipbqampeuedd/SnP/1Jdrv9uO1+8pOfaOvWrT1aEa07wbomAAAGky996Uvavn27brrpJsXGxh6z3fTp0/Xqq6/q2WefVVRUVK/7CeZ9fbCuCQCA3rj11lu1ZcsWXXnllce958zKytLjjz+uLVu2yOFw9KoP5nXmdQBA/xkzZozeffddvfTSSzr33HNltR4/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Cvrfn8tSU1N1+vRpy+Mdi6Mcv5pZIq87Iq8DAHyttA9fHT161KM5HJ/07epe/YABA0ztirov7hhn48aNysnJsRTn22+/VW5urr3drFkzNWvWzHKsitoTAAAVgTO3WWXdE3yP4m8AXrv22mtVq1Yte/vAgQNKTk62NPadd94xtW+99VZfLg0AgErn2LFj6tWrl44cOWK/Vr9+fa1bt07169f3SYxbbrnF1HbMt64sWLBA586ds7c7duyoevXquezfv39/09NTkpOTdeDAgTLjGIahf/3rX6ZrZb0H8NeeAAAoy/XXX6/evXt79NOhQwfTHFWqVHHqU9oN0fLmvw0bNig1NdXejouLU5cuXVz29+e53l97AgDAqjp16qhr166ma4sXL7Y0tqioSEuWLDFd69GjR6l9yev/Q14HAPhaWFiYrrjiCtO19evXezTHunXrTO2LH0hyMcf89+6771oqkNq/f7++/PJLezs0NFT9+/d32b9hw4a6+uqr7e1z587p448/LjOO5H1Or6g9AQBQUThz/09l3hN8i+JvAF4LCgrSqFGjTNeeeeaZMg+E69at09dff21vR0dHa8iQIRWxRAAAKoXTp0+rT58+2r9/v/1a7dq1tWbNGiUmJvoszr333iubzWZvf/TRR0pJSXE75vz585o+fbrp2ujRo92OiY2N1cCBA+1twzA0derUMtc3b94809c/xcfHq3fv3m7H+GtPAABUJsOGDVPVqlXt7a+++qrMP14bhqFnnnnGdO2ee+4xPdHUkT/P9f7aEwAAnhg7dqyp/corryg/P7/McW+//baOHz9ub1erVk39+vUrtS95/TfkdQBARenVq5epPWvWLBUVFVka++WXX5q+QbK0+S7o16+fGjRoYG8fPHhQ7777bpkxpk6dasrHt99+u6pXr+52jOP97OnTp+v8+fNux6SkpGjBggX2dmnvDRz5c08AAFQEzty/qex7go8ZAOADJ0+eNKKiogxJ9p8XX3zRZf8jR44YCQkJpv5Tpkzx44oBAPCvM2fOGJ06dTLlvpiYGOOnn36qkHhDhw41xerUqZORnZ1dat+SkhJj7Nixpv5JSUlGQUFBmXF27txpBAUFmcbOnz/fbf+YmBhT/7lz51aqPQEA4GsbNmww5aT4+HjLYx977DHT2MTERCM9Pd1l/2nTppn6V69e3cjIyCgzjj/P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V8/+32fOnNFnn31W7vVVFomJiab2Tz/95NH4ivg9f/HFF6b23XffrZiYGI/W5crKlStN7bvuusuj8W3atFHdunXt7a+//tqpz8X/TiTp448/VmFhoUdxAAAAAAAAAMAKir8BAAAAAAAAAAEvNDRUbdu2tdy/Tp06pnZ2dnap/fr06WNq33nnnXr11VeVlZXl8RorUklJidavX69HHnlEvXv3Vnx8vGJiYhQcHCybzWb6ad68uWnsqVOnLMepqN+zY0F1//79Lccoy8VzV61aVS1atPB4joYNG9r/OyUlxen1+Ph4NW3a1N7evHmz/vjHP2rjxo0exwIAAAAAAAAAdyj+BgAAAAAAAAAEvNjYWAUHB1vuX7VqVVM7Ly+v1H6DBw9Wq1at7O1z587p0UcfVVxcnPr27avp06frm2++0fnz58u3cB9YtmyZmjRpol69eum1117TunXrdOjQIWVnZ6ukpKTM8Z4UslfU73n//v2mdseOHS3HKMvFxdo5OTkKCgpyKogv62fr1q32OU6fPl1qnKlTp5ra69evV9euXZWYmKgHHnhAH374odLS0ny2LwAAAAAAAACXJ4q/AQAAAAAAAAABr0qVKl6NNwyj1OuhoaH67LPPnJ6WXVBQoDVr1uiJJ55Q9+7dFRMTo549e2rWrFn69ddfvVqLJyZPnqyBAwcqNTW13HPk5+db7ltRv+eLC6ptNptq1arlVZwLcnJyPNqfFa6eXj58+HA999xzstlspusHDx7UW2+9peHDhyshIUEJCQm6//77tX79epe/DwAAAAAAAABwheJvAAAAAAAAAADcSEpK0o8//qhp06apfv36pfbJz89XcnKyJkyYoEaNGumhhx7S2bNnK3Rd7733nl588UXTtYiICPXt21dTpkzRnDlztHjxYq1YsUJr1qyx//znP/+p0HWVx8W/q8jISAUF+ebPF5481dwqdwXbU6ZM0aZNm9S/f3+XT0hPS0vT22+/rV69eqlNmzZas2aNz9cIAAAAAAAA4Pcr5FIvAAAAAAAAAACAyi4yMlKTJ0/W448/rm+//Vbr169XcnKyNm/erLy8PFPfgoIC/f3vf9cXX3yhr776SnXq1PH5egoKCvTYY4+Zrt177716+eWXVbNmTbdjd+/e7fP1eCs6OlqZmZmSpNzcXJWUlPikADwyMtLUjo2N1YIFC7ye150uXbpoxYoVOnbsmL744gslJyfrq6++0oEDB5z67tixQ/369dOrr76qCRMmVOi6AAAAAAAAAPw+UPwNAAAAAAAAAIBFQUFB6t69u7p3766nn35ahYWF+v777/X5559r/vz52rdvn73v7t27NWrUKK1cudLn60hOTtavv/5qb/ft21fvvPOOpbGnT5/2+Xq8FRsbay/+NgxDp06d8knRfExMjEJCQlRUVCRJysvLU+/evb2e14orrrhCI0eO1MiRIyVJR48e1fr167V06VJ9+umnKiwslPTbfh955BFdc801+sMf/uCXtQEAAAAAAAAIXL753kQAAAAAAAAAAC5DoaGhuuaaa/TMM89oz549euONN0xPrF61apVSUlJ8Hve7774ztceNG2d57M6dO329HK81bdrU1P7+++99Mq/NZlN8fLy9nZeXp6NHj/pkbk/Vq1dPI0aM0KJFi7R371516tTJ/pphGJo5c+YlWRcAAAAAAACAwELxNwAAAAAAAAAAPmCz2TRu3DgNHz7cdP2bb74ptf/FReLSbwXAVl381G9Jat68ueWx69evt9zXX7p3725q+/Jp6T179jS1K8P+4+PjNX/+fNM1V/9OAAAAAAAAAOBiFH8DAAAAAAAAAOBDXbt2NbVPnTpVar+qVaua2rm5uZZjOBaKFxQUWBr366+/avHixZbj+Msf//hHU/v9999XVlZWhcz9j3/8wyfzeqtJkyaKi4uzt139OwEAAAAAAACAi1H8DQAAAAAAAACADzkW8daoUaPUfrGxsaZ2amqq5Rh169Y1ta0+NXr8+PHKz8+3HMdf2rdvr27dutnbZ86c0Z///GefzD1w4EA1adLE3t68ebPefPNNn8ztjYKCAp05c8bedvXvBAAAAAAAAAAuRvE3AAAAAAAAAAAu3Hnnnfryyy8t98/MzNTcuXNN1zp06FBq39atW5vaixYtshzn2muvNbWnT59e5pOjp0yZooULF1qO4W9PP/20bDabvT1//nw9/PDDTk85d2XdunWlXg8ODtZzzz1nuvbXv/5Vb7/9tkfr27Nnj+6//36lp6c7vTZ//ny9+OKLyszMtDzfG2+8oby8PHvb1b8TAAAAAAAAALgYxd8AAAAAAAAAALiwYsUK9ejRQ61atdLTTz+tTZs2KTc316lfXl6eFi5cqC5duigtLc1+vW3bturUqVOpc/fo0UOhoaH29nvvvadBgwZp3rx5WrVqldauXWv/+fbbb01jr7/+esXHx9vbhw8fVteuXbVmzRpTsbRhGNq4caP69OmjadOmSZJatmxZvl9GBevdu7f+3//7f6Zrr7/+ujp06KDFixcrJyfHacy+ffv0+uuvq2PHjurdu7fLuYcNG6axY8fa24WFhbr//vvVq1cvLV++vNS5CwsL9d///lezZs1S9+7d1aJFC7399tsqLCx06nvixAlNnjxZDRo00B133KEPP/zQ9O/gYnv27NFf/vIXPfLII6brY8aMcbl+AAAAAAAAALgg5FIvAAAAAAAAAACAyi4lJUXPPvusnn32WQUHB6tBgwaKjY1VWFiYsrKydODAAaei4MjISM2bN8/lnHXq1NFdd91l6rNkyRItWbLEqW98fLwOHjxob4eGhuqVV17RkCFD7Nf27Nmjvn37qkaNGkpKSlJxcbEOHTqk06dP2/vExcXprbfe0nXXXVeeX0OFmz59ug4fPqyPP/7Yfu2nn37S7bffrrCwMMXHxys2NlY5OTk6cuSIsrKyLM/997//XZmZmaa5169fr/Xr1yskJMQ+d1FRkbKyspSenq6CggKP1p+bm6tPPvlEn3zyiSQpJiZGdevWVUxMjAoKCnT48GGdPHnSadywYcM0cOBAj2IBAAAAAAAAuDxR/A0AAAAAAAAAgAeKi4uVlpbm8snOklS/fn0tXLhQ7du3dzvXrFmzdPjwYa1Zs8bjdQwePFjTpk3TlClTTE/7zszM1A8//ODUv2HDhlq5cqWioqI8juUvISEh+uijj9SsWTO99NJLpoL6goIC7d27t9xzh4aGasGCBerQoYOmTp2qvLw8+2tFRUXav3+/9u/f73aOWrVqKSIiwnLMrKysMgvUx4wZo3/+85+W5wQAAAAAAABweQu61AsAAAAAAAAAAKCy2rJli15++WX16tVLVatWLbN/kyZN9Nxzz2n37t265ppryuwfHR2t1atX6/PPP9e9996rdu3aKTY2VqGhoZbWN3nyZK1YsUJt27Z12adatWp65JFHtH37dl155ZWW5r2UbDabnnvuOaWkpGjUqFGKiYlx2z8uLk733XeftmzZYmn+SZMmKTU1VY8++qgaNWpUZv+6detqxIgRWrx4sY4ePaq4uDinPmPHjtWyZct03333qUmTJmXOGR4erttuu01ff/215syZo5AQntUDAAAAAAAAwBqbcfHjQAAAAAAAAAAAQKmKi4uVkpKivXv3Kj09XWfPnpX0WwF3/fr11a5dOyUmJl6y9aWkpGjz5s06ceKEioqKVLNmTbVs2VJ/+MMfFBYWdsnW5a3i4mJt2bJF+/fv18mTJ5Wbm6uoqCjVr19frVu3VosWLWSz2co9/759+/Tzzz/r5MmTyszMVEhIiKpXr65GjRqpZcuWSkhI8HjOkydPateuXTpw4IBOnz6t3NxcRUZGqkaNGmrRooXatm1r6cMEAAAAAAAAAOCI4m8AAAAAAAAAAAAAAAAAAAAACABBl3oBAAAAAAAAAAAAAAAAAAAAAICyUfwNAAAAAAAAAAAAAAAAAAAAAAGA4m8AAAAAAAAAAAAAAAAAAAAACAAUfwMAAAAAAAAAAAAAAAAAAABAAKD4GwAAAAAAAAAAAAAAAAAAAAACAMXfAAAAAAAAAAAAAAAAAAAAABAAKP4GAAAAAAAAAAAAAAAAAAAAgABA8TcAAAAAAAAAAAAAAAAAAAAABACKvwEAAAAAAAAAAAAAAAAAAAAgAFD8DQAAAAAAAAAAAAAAAAAAAAABgOJvAAAAAAAAAAAAAAAAAAAAAAgAFH8DAAAAAAAAAAAAAAAAAAAAQACg+BsAAAAAAAAAAAAAAAAAAAAAAgDF3wAAAAAAAAAAAAAAAAAAAAAQACj+BgAAAAAAAAAAAAAAAAAAAIAAQPE3AAAAAAAAAAAAAAAAAAAAAAQAir8BAAAAAAAAAAAAAAAAAAAAIABQ/A0AAAAAAAAAAAAAAAAAAAAAAYDibwAAAAAAAAAAAAAAAAAAAAAIABR/AwAAAAAAAAAAAAAAAAAAAEAAoPgbAAAAAAAAAAAAAAAAAAAAAAIAxd8AAAAAAAAAAAAAAAAAAAAAEAAo/gYAAAAAAAAAAAAAAAAAAACAAEDxNwAAAAAAAAAAAAAAAAAAAAAEAIq/AQAAAAAAAAAAAAAAAAAAACAAUPwNAAAAAAAAAAAAAAAAAAAAAAGA4m8AAAAAAAAAAAAAAAAAAAAACAAUfwMAAAAAAAAAAAAAAAAAAABAAKD4GwAAAAAAAAAAAAAAAAAAAAACAMXfAAAAAAAAAAAAAAAAAAAAABAAKP4GAAAAAAAAAAAAAAAAAAAAgABA8TcAAAAAAAAAAAAAAAAAAAAABACKvwEAAAAAAAAAAAAAAAAAAAAgAFD8DQAAAAAAAAAAAAAAAAAAAAABgOJvAAAAAAAAAAAAAAAAAAAAAAgAFH8DAAAAAAAAAAAAAAAAAAAAQAD4/wDnqu3WpjeO7gAAAABJRU5ErkJggg==", + "image/png": "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1+vVRx99pJ49e+r++++v8PbeeOMN9ezZU2+99ZYKCwsrvB4A9RfjbsSybt06HXroobr99tu1cuXKctsXFRXpm2++0ciRI2tkrPv777+ra9euuvXWW8vsn9/v19dff60BAwbo8ssvl8/ni3sbodfg/vvv17Zt22K2CQQCmjx5srp3765vv/024f2I5dFHH1X//v318ccfx9XfadOm6cADD9S9996rOXPmlPv6b9q0SaNHj9YhhxyiefPmVbifBQUFOvnkk3XjjTfqzz//jNmmsLBQY8eO1QknnKCioiKzfuXKlerVq5ceffRR5ebmxlx269atuvLKK3XTTTdVuI/l8Xg8OuecczRkyBD9+OOP5bYPBAJauHChRo8erZ9//jmhbb311lvq06ePvvjiCxmGEbPNypUrddlll+mMM84odZy9L/L7/br++uvVo0cPTZkyRfn5+aW23bVrl5599ll17txZ06dPr9D2QufHp512mr755ptyz48B7HsYP9eMJUuWaMWKFZa6f/zjHzXejw4dOmj48OH64IMPtHPnzjLbejwevfvuu+rdu7ceeuihGuph/Kpr7FMbzh127typli1b6rrrrtOnn35a5nhBKhnLvvLKK+rWrZsmTJhQqW0/88wzOvLII/XNN9+U2uavv/7SZZddpquuuqraxhY1eY1/xowZ6t69u6ZMmaJAIBCzzYYNG3TLLbeof//+2rFjR0Lrr+/GjBmjAw88UK+++mqZr01hYaEmTZqkgw46SK+88kqFt5foOSYAoHZJ3r0WAQAAgAqaPXu2pXzqqadW+a17UXNycnL01ltv6eijjzYv6N511106+uijdeSRR5a63Lhx4/Tuu++a5ebNm2vSpElx3yJxzZo1uvDCCy3B2e3atVOzZs2Un5+v5cuXWy5Orly5Uuecc47mzp1b7m0fi4uLo+patWqlRo0aKTMzUwUFBVq3bp12795tafPcc8+psLBQr776alz7UBPuuecePfvss1H1jRo1Utu2bZWWlqaCggJt27atzGDVZBk+fLg++eQTs/zaa69p8ODBcS9fWFhoOc5ycnJ0xhlnlNr+448/1tChQy0BLJLkdrvVoUMHNWzYULm5uVqxYoXlC4yPP/5YxxxzjL799lulpqbG3b94vPLKK7rjjjui6rOystS+fXtlZGSoqKhIO3bs0N9//11qwEl5Nm/erGHDhlmOgzZt2qhFixbasWOH1qxZY/liYfny5TrmmGP03XffcVt0SXfffbfGjBkTVd+gQQO1bdtWGRkZ2rJliyVgPhgMavTo0dq+fbuefvrphLb3ySef6NJLLzXfE7vdrg4dOqhRo0basmWL/v7770rtD4D6gXE3IhUVFem4446LCui12+1q27atmjRpIofDodzcXP3999/lBlZUtfnz5+uEE06ICr5xuVxq3769GjZsqA0bNmjDhg2W+ePHj9fGjRs1depUud3uMrexadMmDR48WKtWrbLU22w2dejQQY0bN9b27du1evVqGYah3bt36/TTT9c777xTqX174YUXNGrUKLPsdrvL3Ccp9nlJWlqa2rZtq6ysLNlsNm3fvl1r1661jNPWr1+vQYMGaf78+erSpUtC/TQMQxdccIG+/PJLs65Vq1Zq1aqVCgsLtWzZMst51uzZs3XjjTfqxRdf1JYtW3TMMcdo3bp1kqJf08jX/KmnnlLv3r01bNiwhPoYjyuvvFIffPBBVH2zZs3UunVrpaSkKC8vT1u2bNHWrVsrvJ0ZM2bo0ksvNc8NHA6HOnTooOzs7Jjv68cff6xzzz1XH374YbnnpfVdYWGhzjnnnJgBSS1atFCLFi1kt9v1999/a8uWLea8vLw8nXnmmXrrrbd0/vnnJ7TNO++803J+nJaWpnbt2ikjI0Pr168v98ffAOo/xs81I/J1zsrK0tFHH13j/Ygca9lsNrVp00Y5OTlKT09XXl6eVq9ebfnBvWEY+s9//iO/36977rmnprtcquoY+9SWc4dAIBAVSO5wOLTffvupYcOGSklJ0e7du7V69WrLj+w8Ho8uu+wy2e12XXrppQlvd9y4cbrxxhvNclpamtq3b6/MzEytX78+apz30ksv6aCDDtK///3vhLdVnpq6xr9kyRINHTrUfC9tNpvat2+vxo0ba+vWrVq7dq2l/U8//aQTTzxR33zzjbKysiq83fogEAjoiiuuiEpEI0mNGzdW69at5Xa7tXHjRq1fv96c5/V6deWVVyo3NzfhH8dW5BwTAFC77NtXhgAAAFDnFBUVacGCBZa63r17J6k3qCpHHnmkxowZY2bt9vv9uvDCC7Vo0SJlZ2dHtf/1118tF7JsNptef/11NW/ePO5tXnHFFdq0aZPS0tJ066236uqrr7YEoO7cuVOPPPKIHn30UTMYduHChXrppZc0cuTIcte/33776fzzz9cpp5yi3r17q0GDBpb5hmHo119/1bhx4/Tiiy+aARDjx4/X6aefrrPPPjvufaku69ev1yOPPGKpu/rqq3XjjTfGDALZuXOnfvjhB02bNk1vvfVW1PwePXqYQSCvvfaaXn/9dXPeY489ph49elTxHkhnnHGGsrOztWvXLknSe++9p+eee07p6elxLf/BBx8oLy/PLA8dOlQpKSkx2/7+++9Rgd8DBgzQqFGjdOyxx1qCuvPy8vT222/r7rvv1ubNmyVJc+fO1U033aTnn38+0d0slcfj0W233WapO/fcc3XHHXfosMMOi/qxRF5enubNm6dPPvlEkyZNSmhbo0aNMi8IX3DBBRo9erQOOuggc/6GDRv01FNP6YknnjCP99WrV+uKK67Qp59+WpHdq7DHH3/cDAo7/vjjzfru3bvr8ccfL3W5jh07SpJOPPFE81geO3asvvjiC7PNpEmTSv23KC0tLWb9+PHjLYHfNptNl1xyia6//noddthhstv33rhtw4YNevbZZ/XYY4+Z2VieeeYZ9e/fX0OGDClzv8NdfvnlCgaDatiwoe655x5deumlatKkiTl/8+bNUV/IANi3MO5GLM8++6wleKNp06Z68MEHdd555yknJ8fS1jAMrVq1Sl999ZXef/99SzBwyG233aaLL75YknTxxReb46LQDztLE+uHY3l5eTr//PMtgd/p6em69957dcUVV6hRo0Zm/S+//KLRo0frww8/NOs+++wz3XPPPXr44YfLfA2uvvpqSxCy0+nULbfcouuvv97Sr/Xr1+uZZ57RE088oby8PF177bVlrrcsO3bsMM9/WrZsqTFjxuj888+3BEisXr065p1kHA6HTjrpJJ1xxhk65phj1LFjR8vYQip57T766CPdf//9Wr58uaSSwNqLLrpIP//8c9w/sJVKxvmhH6tdeOGFuvvuuy3nDtu3b9c999yj//3vf2bdyy+/rOuvv1633nqr1q1bp9TUVN12220aOXKkWrRoYbZbtmyZrrrqKs2aNcusu+WWWzRkyBC5XK64+1ieefPmWY4/p9NpnjOG37UqZPPmzZo9e7Y+/vhjTZkyJaFtXXbZZfL7/XK73brzzjt17bXXqmnTpub8X375Rf/5z380bdo0s2769Ol6/PHHLYEaNSH0N7x48WLdcsstZv0ll1xSZkBU6DyvKv/eJWnkyJGWwO/MzEzddNNNuuyyy9ShQwdL28WLF2vMmDHmD3tDwTU9e/ZU586dS912uCVLlpjBhvvvv78eeughnXbaaZbzvN9++y3uc00A9Q/j55oTGfzds2fPqPFNTTnooIN0/vnn6+STT1aPHj2iPgeCwaDmzp2rp59+Wm+//bZZf//99+vkk09Wnz59arrLUapr7FPV5w6V1bt3b51zzjk68cQTdfDBB0dd4/X7/fr22281duxYyxjjuuuu0+DBg9W2bdu4t7VixQoz8LtLly4aM2aMTjnlFMu44eeff9Y///lPS6b1u+++W8OHD1fjxo0ruptRqvoaf1muvfZa5efny2az6Z///KduueUW7bfffub8lStX6sEHH9T48ePNuvnz5+u2226r0mvi8XjjjTdUVFSkzZs3m2NUSTrhhBN06623lrrcwQcfLEm69NJLddRRR0mSbr75Zv3yyy9mm7KO38hjP+T++++3BH67XC5de+21uuqqq9S1a1dL25UrV2rs2LF68cUXze+ubrvtNh1xxBHq169fqdsOV5lzTABA7UHwNwAA+yB/IKiNu6OzP6FqtWyYKqcjORccy7JgwYIK3y4vVtawmrZq1Sp5vV5LXc+ePZPUm31PcXGxvvrqqwot26NHD8uX2JFuu+02zZgxw7ywunbtWl1xxRV67733LO0KCws1dOhQy/E4atQoSwBnPFatWqVGjRrps88+i3mRPScnRw8//LCysrJ01113mfUvvvhiucHfzz//vPr161dmZh+bzabu3bvrf//7n84++2ydfvrpZmaRhx9+uFYEf0+dOtVyq7977rlH9913X6ntc3JydOqpp+rUU0/V2LFjozIu5uTk6LjjjpMkfffdd5Z5vXr10qBBg6qu83ukpqZq6NCheuGFFySVBLa8//77lgu6ZYnMtDF8+PCY7fx+vy644AJL4Pd9992nu+++O2awTFZWlv7xj3/olFNO0eDBg80vQsaNG6errrqqyv5d+/rrry23h7z00ktjZg8J79cxxxyjY445Rg899FBC2Z9DgcJjxozRf/7zn6j5rVq10qOPPqq+fftqyJAhZgD4Z599pilTpiScda8yevXqFbM+/BgtS8uWLdWyZUtJigpU6d+/v9q3bx93X1atWqV//vOfZjktLU3vvfeeTj755JjtW7VqpYceekgnnXSSTjrpJPOYu/7663XGGWfEnTl+8+bNatGihWbMmGEJ0g9p3rx5Qj+oQQwBv5S7vvx2qLwGrSVH7bvMybgblVGZcffixYuruDd7hQd3pKSkaNasWTE/R6SS8W6nTp3UqVMnXX311frjjz+ixsddu3Y1v8gO/wxLTU2N6zM53J133mm5Q0bDhg01Y8aMmMdt9+7d9cEHH+iuu+7Sgw8+aNaPHTtWQ4YM0WGHHRZzGx9//LE++ugjs+xyufTBBx/o1FNPjWrbunVrPfLIIzrqqKN0zjnnaPXq1QntT7jQjxG7dOmib775xhIQHRIZ7CqVjHlWrlwZM2gnXFZWloYNG6Zzzz1X5557rnnnnEWLFumzzz4rdVwSS+g9eOyxx3TzzTdHzW/cuLGee+45FRUVmUEfhmFo6NChWrp0qTIzM/XJJ59owIABUcseeOCB+vTTT9W7d28tXbpUUkkm9unTp+uss86Ku4/liQxievHFF3XZZZeV2r558+Y677zzdN555+mJJ56wZFEvz9q1a5WSkqJPPvlExxxzTNT87t276+OPP9a///1vPfnkk2b9fffdpwsvvNASTFPdQn+TkRnHO3bsGNffa1X+vU+ePFmvvfaaWe7UqZM+//xzderUKWb7Hj16aMqUKRo7dqz549i8vDzdfPPNmjp1alzbDGU5HTBggD755BNlZmZGtenWrVtC+4Fo/qBfmws3J7sb9V7z9OZy2hk/VzXGzzUn9GO1kOpIKBGPadOmlXs90263q2/fvurbt69OPvlk89piIBDQY489psmTJ9dAT8tWXWOfqj53qKiMjAz9+OOP6tu3b5ntnE6njj32WB177LF64IEHzMzs+fn5evbZZ6MCqMsSysx84okn6v3334/547DDDjtMX331lfr162eewxUWFmrSpEmWjOGVVdXX+Muydu1a2Ww2vfbaazGvv3fq1EmvvvqqevTooX/9619m/QsvvKARI0boiCOOiHtbldW/f39JspxDSiXXfeMZm3bs2NFMFBIZ0J3o2PaHH36wJAZp0qSJed4TS6dOnTRu3DgNHjxYF110kYLBoPx+v0aOHBn39YCKnmMCAGqX2ndWBwAAqt3G3cUa8OiMZHej3pt922C1bVT7sv2EZ2eqi8KDGEOaNWuWhJ7smzZv3pxwkHXIBx98UOYX8qGLgj169DBvlfz+++/rueee03XXXWe2u/76680v+qWSrOEPPPBAhfr0yiuvlJtdZdSoURo3bpwZBLto0SJt3ry5zKDIWIEKZTn++ON16623mhf45s6dqyVLlkRldKhpkV+kJJKtMDMzM+aX4ckwfPhwM/hbUqkXnyOtX79eX3/9tVk+4IADSv2S4N1339Vvv/1mlq+++uq4bt3aunVrvffeezr00EPNL0oef/zxhLNul6Yy76Hb7TYvYMfrtNNOixn4He6cc87Rrbfeasmq+eSTT9Zo8Hdt8uijj1pu//vqq6/GFWB19NFH67HHHjP/fdyyZYsmTZqkK6+8Mu5tT5gwodQv3VAFctdLT3dPdi/2DTf+IuWUHdiYDIy7URmVGXdXp/CxxeDBgxP6HKnOz5xdu3bp1VdftdS98sor5QZcjRkzRj///LN5F5JgMKgnn3zScoeacM8884yl/J///Cdm4He4008/Xbfffrvly/yKcLlceuedd2J+KV+aRL+sT01N1euvv66OHTtq9+7dkkruUJJI8LdUcrecWIHf4caMGaOJEyeaY+DQOd4TTzxR5vlUenq67r77bl100UVm3aefflqlwd/hx3lmZmaZWa0jVSRL44MPPhgz8Dvc448/rjlz5piZIYuKijRu3Dg99NBDCW+vrjMMQ/fee69ZTk9PLzPwO9ytt96qefPmmcFoH3/8sZYvX64DDjggrm3n5OTonXfeqTXnuvXR5sLNOum9k5LdjXrvs3M/U+vM1snuRhTGz4hX5GtdVsKR6pRoIotLL71UX375pXnd7/3339fu3bvVsGHDauhd/Kpr7FNbzh3S0tLKDfyOdPfdd+vLL780s8xPmDAhoeBvqeTOoJMnTy7zriDp6el6+OGHLePtTz/9tEqDv2v6Gv91111X7rX3G2+8UXPmzDGz4RuGoaefflpvvvlmQtuqL+6//37zvMhut2vq1Klx3Tli6NChWrBggcaOHSup5K5BX331VdzB5xU5xwQA1C61LxUlAAAAUIZYF9Gzs7NrviOoFs2aNdOkSZMst+m8+eabzWwFb775piWoIzs7W2+99VZU5rF4HH744XEFCDidTp1zzjmWushbuFaFyAuiP/zwQ5VvI1HhWawlVemt1GvSkUceafky/+uvvzazr5Rl0qRJlsw1pWX9lqSnnnrKnE5PT9d///vfuPt3yCGH6MwzzzTL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hgyJe33Dhg2z7NPy5ct18skna8OGDXGvw+fzaeLEiVX65czdd9+tSZMmye/3x9XeMAw9/vjjlrrS3sNYpk2bpoceeqjMNh988IHGjh1rqfvXv/4V9zaqWvj7tm3bNs2cObPCy0vSu+++m9Dyd911l9LT083y5MmTdfXVVyeUoXPHjh0aM2aMPv7444S2DQDxYtwNSVq6dKlGjhyZ0K3X582bZ/lszc7OVseOHWO2Df9MNQwjofFhdna2Lr/8ckvd5Zdfrl9++aXM5UaPHq3p06ebZbvdrptuuqnU9jfddJPli/158+bpzDPP1JYtW2K237x5s04//XQtXLiwxoN0w89NvF6v7rjjjjLbb926VaeddlpcQeL13bBhwxK6Zf3OnTv18ssvW+oSGUP/5z//sZwLx3LzzTdbsk+mpqYm5UcFUsldqDIzM83y119/rZ07dya0jsr8vTscjqg7gN1444166aWXEurD8uXLddVVV2n9+vUJLQcA8WD8XDOGDBkS9SP6SZMm6cQTT9TSpUsTWldhYaH+/vvvuNpGXgN++OGHy82MfNddd8WVvCNS5DXgUaNGlXkMFRQUaOjQofrrr7/i3kZ1jH2q+9whXpHv1d13362ioqJS2wcCAV1++eX1Kut3dV7jj+W5557TG2+8UWabZ555Rm+//bZZttlsuvHGG+PeRlVyuVw64IADzPKiRYu0cuXKhNZR2evDDzzwgOz2veF7jz76qO6///643zNJ+vvvv3XrrbfW+B2nAADJRfA3AAAA6qzs7GxNnTpVjRs3NuuCwaDuu+8+HXDAAXrooYe0aNGimMtu27ZNr732ms455xwdeOCB+uCDD2qo13VbcXGxvvrqqwo/SgtOnj17tu6//36z7Ha79fbbbysrKytm+3/961+WC9/r16+PysKXDJ07d9aRRx5plvPy8nT00UdrypQpUcG3ixcv1tChQ3XNNdfIMIyEsx6fcsopat26tVnesGGDBg4cqJkzZ1ouCvr9fn355Zc66qijNGHCBElShw4d4trG999/rzPOOEMdOnTQLbfcopkzZ1qyNYf4fD599tln6t+/v+XiYosWLXTaaafFXHfPnj3VpEkTszxz5kwdc8wxGjdunD755JOoY6eqDRkyRGlpaWb5ySeftHwpctZZZ8XM+Fgah8Oh9957z7LMjz/+qG7dumn06NFavnx5zOU2b96sadOm6eqrr1br1q01YsSIhL+cKsuvv/6qSy65RK1bt9bIkSP12WefxfyhRDAY1HfffacTTjjBkiUzPT1dF110UVzbCn2p+Z///EcXXXSRli1bZpm/ceNGjRo1Sueff74CgYBZf8IJJ2jo0KEV2LuqccIJJ1jKZ599tm6//XZNmTJFX3zxheU4XLVqVdTygwYNksvlMssTJ07UOeeco1dffVWffvqpZfnvv/8+avmOHTvqlVdesdS9+OKLOuSQQ/TSSy/FvCuAYRhauXKlXn/9dZ1zzjlq06aN7r777lrxIxgA9RPjbkglQQDjxo3TgQceqIEDB+r//u//9Ntvv1k+10O2bt2qJ554Qscee6xl/vDhwy138QkX+Zk8cuRIXX/99Xrrrbf0+eefWz5TlyxZErX8gw8+qPbt25vlnTt3ql+/fnr88cejAlN/++03nXvuuZZzEKnkbi49e/Ys9TVo1qyZnn76aUvdF198oQMPPFAjR47UG2+8oU8//VSTJk3SNddcowMPPFBff/21JOnqq68udb3V4dJLL7WUx40bp+HDh2vt2rWW+ry8PL3yyivq3r27+XecrDuy1BbTp0/XoEGD1LVrV40ePVo//vhjzCCroqIiTZkyRUcccYTlde3Ro4f69OkT17batWsnj8ejk046Sffdd1/UOfOvv/6qM844Q08++aSl/p577rEEFdYku92uY4891izv2rVLffv21SOPPKKpU6dGncvFCgyv7N/7BRdcYPmb8vl8uuqqq3Tsscdq2rRpMQMkfT6fFi9erKeeekoDBgzQQQcdpJdeeqnas8MC2Dcxfq45TzzxhE466SRL3YwZM3TIIYdo2LBhevfdd7Vjx46YyxYXF2vOnDm688471bFjR3PcVp6BAwdaPof/+usv9e/fX19++aXluqxhGPrhhx90/PHH68EHH5SU+Dhr2LBhlqQBixcv1nHHHaeFCxdG7cv777+vPn366PPPP5fb7VabNm3i2kZ1jH2q+9whXmeffbblO4aff/5ZgwcP1k8//WRp5/f79fnnn+uII44w7w5ZX8bE1XmNP1K7du1kGIYuueQS3XDDDVE/Qli1apWuuOKKqEDvf/zjH+rbt28F9q5qhI9NA4GAjj76aN1333364IMP9OWXX1rGphs3boxa/vjjj7eUH3jgAV122WV6/fXX9dlnn1mWj5Wcp3///ua/ESGjR49Wnz599Pbbb8ccTwcCAS1dulQvvviiTjzxRHXo0EGPPfYYPxQCgH2NAQAA6hyv12vMnz/f8vB6vcnuFmqpdu3aGZLMx4wZM2rFusLXI8lYvXp1hde1ZMkS48ADD4xaZ+iRmZlpdOzY0ejTp4/RpUsXIycnp9S2DRs2NDZv3lzhvlTW8OHDzb4MHDgwaf0ImTFjRqmvVUUeH3zwQdQ2tm/fbrRp08bS7oknnii3b1u3bjVatWplWe7pp58utX34a5voMRf5OowePbrUtt9//73hcrliHoc9e/Y0evXqZTRv3twyLyMjw/j5558tdfG8/++++27M17lZs2ZG7969jUMOOcTIysqyzLv99tvjfi169OgRtW6bzWa0adPG6NGjh9G3b1+ja9euRmpqalQ7h8NhTJs2rcz+33///XEfO5FWr15tmT98+PByX69IF154Yanb+/TTTxNen2EYxjfffFPqvzFNmjQxunXrZhxxxBFGly5djKZNm8ZsV5F9Kc2ZZ54ZcxstW7Y0DjnkEKNv377GIYccYmRmZsZs9/zzz5e67tGjR1vavv3221F/k/vtt5/Rp08fo3Pnzobdbo9af7t27Yy//vqr3P1I5G8jsl/lfVZt377daNKkSVzHYWl/+5dffnlcy7dr167Ufjz++OMxXyNJRtu2bY2ePXsaffr0Mfbff/+ov+vQY/z48aWuf+DAgWX+TQGoPMbdjLsrI3K8WdZnRlWvK95x1cKFC2O+l2lpaUbnzp2NPn36GH369DHatWtn2Gy2qHb777+/kZubW2o/fD5fmcdXPH2cN29ezOPO5XIZBxxwgNG7d2+jdevWMdd50kknGR6PJ67X+IEHHoirn6HHWWedZaxcudJSd8UVV5S5jfB/Byp6PJxyyikx+9OxY0fjiCOOMA488EDD7XZb5l100UUJjacSOVeKlOi4LVx1jm0aNmwY9Zo5HA6jXbt2Rs+ePc3XLtZ5X3p6urFgwYK4+/3NN98YTqfTLDudTmP//fcv81g98cQTy70OmOj7kujrOXPmzJh/57Eesd7Xqvh793q9xpAhQ2Iu43Q6jU6dOhl9+vQxevbsaXTo0CHqWA89yvpcDG9XGz4rgPqG8TPj56ri8XiMq666qtTXzmazGU2bNjW6dOli9O3b1+jRo4fRrl27Uq/DSDKOOuoo4/fffy91m++8807M5XJycoxevXoZhx56qNGoUSPLvObNmxuzZs2K63Mu3GOPPRZzW61btzb69OljdO3a1UhLS7PMGzduXNyf79Ux9qnuc4dExsqPPvpozL40b97c6NOnj3HIIYcYDRo0sMw76KCDjKlTpyY0nqrMuKEy312Upzqv8Uf2e/r06Zbrljabzfw3rn379jHfh549exq7d+8ucx8S/S4g0ddz2bJlMfc/1qO066/HHHNMXMuXdWzcdNNNMZex2+1G+/btjV69ehm9evUyOnXqZKSnp8dsW9bnX1WcYyYiVjzD22+/bbzxxhvGG2+8Ybz00kvG7bffbtxzzz3GG2+8YUyePLna+wQA9Q2ZvwEAAFDndenSRQsWLNAtt9wSMxNEfn6+Vq1apXnz5mnp0qUxfyXvcrn0z3/+UytWrFCzZs1qotvY47LLLrPcUvPUU08t81brIU2aNNEbb7xhuR3ebbfdFpX1pKb169dPL730kiUTsFRyHC5cuFALFiywZPLNycnRtGnTyswwWJpY2QolacuWLZo/f75+/fVX5eXlmfW33HKLHnrooYS3E84wDP39999avHix5syZoyVLlqi4uNjSJicnR++9955OPfXUMtd155136uKLL65Ufypj+PDhMetbtmwZla0jXoMHD9a8efNiZvrbtm2bfvvtN/30009aunRpzEz4NptNbdu2rdC2E7Fx40b9+uuvmjNnjn799Vfl5+db5qelpWncuHEJ3Uq+efPm+vzzz9WqVSuzbt26dZo3b55WrFihYDBoad+5c2d98803cWchqi6NGjXSe++9V6l/+5966qkKHzMh//73v/XJJ5+oZcuWUfP++usvLVy4UPPmzdOff/5p+bsOSUlJ4fMLQLVj3I1YioqKtGLFCs2bN0/z5s3T2rVro25PfeSRR2r27Nml3tlHkpxOp9577z116tSpwn3p3bu3Zs2aFXV7eJ/Pp+XLl2v+/Plav3591HIjRozQRx99FHdmwbvuukvjx49XTk5Ome1sNpuuu+46vfPOO1HZExO5y0xFvfHGGzr88MOj6letWqWffvpJy5Ytk9frNesvuOACjR8/vtr7VRcFAgGtXbtWCxcuNF+7yIzRrVu31ldffaXDDjss7vUOHjxYr7/+unns+f1+/fnnn6Ueq6eccoo++OCDqPPNmjZw4EA9/fTTFe5HVfy9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zTuwZGVlqXXr1jr00EPVoUOHuNc3aNAgffvtt2Y58iu6v//+W99//73WrVtnntN169ZNvXv3rpod2gesWLFCixYt0tatW7Vz507z36X99ttPXbp0Ufv27ZPdRQBg/FxDAoGAlixZomXLlmn9+vUqKCiQzWZTdna2cnJy1KpVKx122GGVyvYbsnTpUv3000/mddnGjRurS5cu6tu3b5X+uM4wDC1cuFALFy7Utm3bZBiG2rZtq379+iU0JilNVY99QmrLuYNhGFq0aJEWLFhgvn7NmjUzx1uVSQhSF1T1Nf4RI0Zo4sSJZnn16tWWsda2bds0e/ZsrVq1Sh6PR82aNdOBBx6o/v378z1CnEIZ/rds2aLt27fLbrerQYMGat26tbp06aJOnTrV2tcyVjzDihUrFAgEJJV8b7Jy5Uq53W4deOCBcjqdGjJkSDK6CgB1FsHftczKlSs1d+5c/f333/J6vcrJydFBBx2kfv36KTU1NdndAwDUEgR/AwCAZCsv+BsAAAB7nX322frwww/N8m+//Vbm3XtQP5UX/A0AAADUFeUFf2PfRvA3AFS/xO4vgWrz4Ycf6oEHHtDPP/8cc35mZqZGjBih0aNHV+stndq3b6+1a9dWybqGDx+uCRMmVMm6AAAAAAAAAACoi9asWaOPP/7YLDdq1EhdunRJYo8AAAAAAAAA1GW1894P+xCPx6OLL75YZ599dqmB35KUn5+vZ599Vl27dtWsWbNqsIcVV5W3LwIAAAAAAAAAoDZIJFuzz+fT8OHDzexmUknilNp6a24AAAAAAAAAtR9XF5MoGAxq6NCheuONNyz1DodDHTp00KGHHqqGDRta5m3dulUnn3yyfvzxx5rsaoWcdtppye4CAAAAAAAAAABV6rDDDtM777wjr9dbZrtVq1bpuOOOsyR0SUlJ0bXXXlvdXQQAAAAAAABQjzmT3YF92dixYzV16lRL3TXXXKO7775brVq1klQSID516lT961//0rp16yRJhYWFGjJkiH777beo4PDKeuONN1RUVJTwcu+++65eeOEFs9ysWTOdcsopVdk1AAAAAAAAAACSbtGiRRo6dKiys7N14oknqk+fPmrXrp0yMzOVl5endevWaebMmfr0008tGb8lacyYMercuXOSeg4AAAAAAACgPiD4O0m2b9+uBx980FL33//+V7fffrulzm63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uBqtuEd0/vJcUqevy+v0df06bV2/Tj+mn2q0mJFyzdP+0YoOjld1YLSig+NhgLvT3FCxSmXrRSBhm1rTH/77vSb6t7veX9UftitySdmW2e2lAgAAAAAAAAAwbT0b/o4HtYeGhmblmsPDw41+IpGYlWtO1x133KH9+/c3xps2bdKzn/3sKZ37xje+sRH+lqRvfvObsxr+rlQquu666xrj1atX69JLL5216wMAAAAAIElBEGhvoaKtB8bDKt4Hxhv97QeLqsxCwHs2DBVrGirW9MBj3XkD+UJ1YKyimx7cr5sebP5+ZHkuEQbB64Hwdf1a008gfLHx/ECFUk3DpZqGilUNF6sajv4eNvthO1yqamg8nB+vet1eOo4SyzS0JONoaTYRVunOJ6M21RL2Hsg4/PsBAAAAAAAAAFiwejb8vXz5cknhC8I7d+5UrVaT4zhHfL1qtaqdO3c2xitWrJjxGo/E//zP/7SMn/e85035hYjnPe95LeObb75Z4+Pjymazs7K2b3zjGxocHGyMX/nKV8qyuv+IawAAAADA/DdSrOknD+7Vjffu1e0PHTjiqtFYmA6MVXXzg/t1cywQvizbFgg/pl9rCYT3HN8P5PqBXN+X6wfyvEA135fnB6q5gUZKUVC7U4C7GJsv1TRSqlGVexExDWkgk2iEuZdkEmGbDefi46WZsO1L2jJN/g0AAAAAAAAAACxuPRv+3rx5c6NfKpV0yy236LnPfe4RX++WW25RsVhsjDds2DCj9R2p3/72ty3js88+e8rnrl27Vhs3btS2bdskhYH2++67T2ecccasrK09mH7eeefNynUBAAAAAIvTnuGSfnjfXt1432O6c8ugPJ9UJ6bu4HhVt/xhv275QzMQvrQRCM83QuHrBtIEwtv4fqBCuabB8WpjGypWNThe0+B4RXuHx7VllynXl3xJ1+36nWRacr0owO0HqnlhgNv1A7leEM37sX4Y8iasvThZpqGEZSrpmEpYphJ2tFmmMglLS7NJLc06UZC7Gd5emm2GuvMphyA3AAAAAAAAAABHoGfD30996lPV39+vQqEgSbriiitmFP6+8sorG/1sNquzzjprxms8Evfff3/L+JRTTpnW+aecckoj/F2/3myFv3/xi1+0jJ/whCdIkjzP04033qhrr71Wv/nNb7Rr1y45jqMVK1boSU96kl7wghfoFa94hTKZzKysAwAAAAAwPwVBoD/sHdON9z6mG+/bq9/vHunKOlblk9q4LKu+lKN9o2XtLZS1f7Qisuch2zSUTzvKp2zl0476UrZStqXxqqvxiqfxiqvRiqvxiqti1ev2clsMjld16x/269ZYIHxJxmlUCD91bb/6Uq2/7uqUCzdkHPKYCacY8a4h2zLkWKZs01DCDlvHMsM5q95vHjOTcHoQBCrVvEmD3IPjNQ2NVzVYjPZF+w//591sdkcKR7w+hCzTkGUYMk1FrRGbC1vLDPfbpinTCM8xo/mWvmHIiPbH58NWHY6dOD/xuorWMDGwnYy2MLxtNebige7wGKsxZxHaBgAAAAAAAACga3o2/G2apl74whfq+uuvlyTdfPPN+rd/+zf9zd/8zbSv9bGPfUw33XRT44W2Cy64QI7jzOp6p6JUKmnHjh0tc8cee+y0rtF+/IMPPjjjdUnSyMiI/vCHPzTGlmVpw4YN2rJliy6++GL97Gc/63jOww8/rBtuuEHvfe97deWVV+o1r3nNrKwHAAAAADA/eH6gX+8YagS+tx8sHv6kWbCiL6njlmW1cXlGG5dnddyyrDZE40xi4q87XM/XgbGqHiuU9dhIGAh/rBC2extzFY1V3KOy/plI2mYjvN2XciYEufNtc/mWOUcpx5xyGNnzgygUHm6j5TAgPlZxNRbNTeiXXY1XXY1VPI2Vay3Hz4WhYk23PXRAtz10YE6uPxvq4XDbCqsl25Yh2zTbguPNY0zD0EipWbm74vrdvoUFyTCkJZmElucSWpZNanlfUsuyCa2I2uW5pJblwjabtJvh7rbwNdWrAQAAAAAAAADA0dSz4W9Jes973qOvfOUrCoJAQRDone98p4aGhnTZZZfJsqzDnu95nt7//vfriiuukGEYCoJApmnqfe9731FY/UQHDhxQEHsWruM4Wrly5bSusW7dupbxvn37ZmVtW7ZsaVlbX1+f7rvvPp199tkaGTl8pbY9e/bota99re69996WKusAAAAAgIWnXPP004cP6MZ79+pH9+/VwfHqnHycZdmENi7PauOyrI6LQt4bl2W1cXlWueT0fqVhW6ZW96e0uj8lHeJ92GMVtxkOHylr72hZe0fCoPhjhYr2jpS1f6wibwplxNOOpUzCUipq0wmrMRf2baUTpjIJu3mME+5r7dst4e6kffjficwWyzTC4Hhq5m+iHxqv6ve7R/T73SO6J2p3DZVmYZW9z/UDub4n1bq9koUvYZlhmDuXjLVhPx7mXpZLaGkmIdsyD39RAAAAAAAAAACAHtLT4e9TTjlFb37zm/XpT39ahmHI9319+MMf1vXXX6+3ve1tesELXqCTTz55wnkPPPCAvve97+lTn/pUI9RsRI9AfeMb36jHP/7xXbgbaWxsrGWcyWSm/djfbDZ7yGseqeHh4ZaxYRh68Ytf3Ah+ZzIZ/Z//8390zjnnaNmyZTp48KBuueUW/dd//ZdKpeYLtR/5yEe0bt06/dVf/dWsrEsKA+779+8//IExDz/8cMt4bGxMhQKPMO6G8fHxQ44BAMD8wNd0AIVSTbc9MqSf/OGgbn9kUKXa7FQiHkjbWr80rfVL0tqwNK31S1LasDStY5ek1Zfq/GsLv1JUoTIrH76jlSlpZSqh01cmJOUn7Pf8QAfHq9o3WlXZ9ZV2TKVsU+mE1dJO92f+Q/Mlv6JKsaI5vPU5ZUl64uqknrh6pfSU8M3ww8Wa7t87pvseHdN9j4Xb7uFydxeKnmGbhgbStvrTjvrTtgba2v60o4FovCzraGk2ob6kNbW/e0FVxTl64woAAEcLP6sDALAw8DUdAICFga/pi89s5XePhBHEyz33INd19ZznPEe33XZbo3q3pMaLONlsVsuXL1cul9PY2JgOHDjQ+EsTPzYIAj372c/WjTfeKNvuTub9F7/4hc4888zGeNWqVXrsscemdY1PfepTetvb3tYYv/jFL9Z3vvOdGa/tG9/4hi666KKO+57ylKfo61//utavXz9h37Zt2/SSl7xEd999d2MumUzq7rvv1oknnjjjdUnS+9//fl1++eUzusa///u/d1w/AAAAAGByQxXpniFDdw8aerhgyA9mHmZemgx0+pJApy0NdEw2UKan35aObhivSbvGDe0cl3aOG9o5ZuhgZTaD9DjaDAVK21I22jJ2ELaOlLXDfwda9jlhP2FKs/oeCgAAAAAAAAAAgFmyY8cO/fVf/3VjfM899+jUU089Kh+7519itW1b3/nOd/S6171O3/zmNxuh73qwe2xsbNL0fPzYP/uzP9PnP//5rgW/Jalcbq1clUgkpn2NZDLZMo5X3Z6JyT6HxxxzjH74wx9qyZIlHfdv3LhRP/7xj3X66ac3guyVSkX/8i//os9+9rOzsjYAAAAAwNHh+tLeknTvkKG7B03tHJ+d1OW6TKDTlwY6famvdRnCnDi0rCOdNBDopAFJCn//U3TDIPiusWYg/ACB8ClzjDBQnYvC1rkoXO2YkmVIpiFZRiCz0T902zKnQJYpmep8bMqS0nbYBwAAAAAAAAAAwMz1fPhbkvL5vL7+9a/rM5/5jK644grt2LFDkg75CNcgCBQEgTZu3Kj3vve9esMb3nC0ljupVCrVMq5Wp/9o2Uql9eHO7dc8UpNd56Mf/eikwe+65cuX68orr9TrXve6xtwXvvAFffzjH1c6nZ6V9QEAAAAAZsYPpNFaWM17qGpoqCINVwwNVaWhqB2rzU4601CgzXnp9KW+Tl8SaNns/OiKRSxjSyf1BzqpX4oHwneNG9o1Lu0cM7RzPPxzHX/E3YTH3QWHHHYUqLdSy6YCZRwpF1XKzjlRsNuWsk4QtVLObs4nrG6vGgAAAAAAAAAAALNlXoS/6y699FK96U1v0te//nXdeOONuu2227Rlyxa5rts4xrZtHX/88XrWs56lCy+8UC95yUtkmmYXV92Uy+Vaxu2VwKeivdJ3+zWPVKfrLF26VH/6p386pfNf8YpX6O1vf7tGRkYkhfd211136dxzz53x2t72trfpZS972bTOefjhh/XSl760MT7zzDP1uMc9bsZrwfSNj4/rrrvuaozPPPNMZbPZLq4IAAAcCb6mA70tCAKNll09NlrVoyNlPVaoNLZHo3bfaFWuP5Wo65FJ2qbO3rRE55+4TOccv1RLMs6cfSygm4IgkOsHqnn11m+O4/36Pi9QzT/EvrZ51/PlBlJf0tKSjKOBtBO1tpZmHOVStswZls/n6zoAAAsDX9MBAFgY+JoOAMDCwNf0xef+++/v2seeV+FvSbIsSy972ctawsCjo6MaHR1VX1+f+vr6uri6Q2sPWBeLRQVBcMgK5u3Gx8cPec3ZWpsknXXWWXKcqb1Yn0qldOaZZ+qHP/xhY+6Xv/zlrIS/V65cqZUrV87oGrlcTvl8fsZrwcxls1n+XwAAsADwNR04uoIg0GOFsrYeGNfuoZIeHSlrz3BJe6L20eGSxqveUV/XQMbRc05epeefukrPOmG5Mol592sGAOLrOgAACwVf0wEAWBj4mg4AwMLA1/SFb7byu0diQbwq2+uh77rly5fLMAwFQVhprVarad++fVq1atWUr7F79+6W8UxD0XWd1nDiiSdO6xonnXRSS/h73759M14XAAAAACwmYxVXW/ePa8uBMW3ZP64tB8a1Zf+Yth4YV7EL4e5O1g2k9fxTV+n5p6zWGRuXyLZ642lbAAAAAAAAAAAAALAYLIjw93yRTqe1fv16bd++vTG3Y8eOaYW/d+zY0TI++eSTZ2VtmzdvViKRULVabcxN910n7ccPDQ3NytoAAAAAYCHx/EC7h0p6pB7w3l8Peo9pb6HS7eV19Lg1eT3/lLDC9ylr8tN6ghUAAAAAAAAAAAAAYPYQ/j7KTj755Jbw93333aczzjhjyufff//9E643GyzL0oknnqh77rmnMVepTC90UC6XW8aZTGZW1gYAAHpL1fV155aDumvroAaLVSUsUwnblGMZcqJ+cy7sO7aphGV0mIsdF10jaVlybEMJy5RlGvM+YBgEgTw/UCDJoTousKgMjVcblbsb7f5xbT9YVNXzu728Q7JMQ0/dsETPP3W1nn/KKh27lJ/vAAAAAAAAAAAAAKAXEP4+yp74xCfqBz/4QWN8xx136JJLLpnSuY8++qi2bdvWGDuOo1NOOWXW1vbkJz+5Jfy9d+/eaZ2/b9++lvGyZctmZV0AAKD7Rss13fzgft14317d/MA+jVbco/JxDUONsLhdD5fH+uFmtLVh364faxqNoHm971imnFjfkFTzfNU8X1UvUNX1G+Oa56vqBqp6vmpu/Zj6vK+aF3Sec8O5qucrCML7STuW+lK28mlH+ajtSzX7+ZQzYX8+ZSufcpRPO0ra5rwPwwMLUcX19LudI/r1jiE9sq8Z9B4q1rq9tEmlHUtrBlJaN5DWmv6U1g6ktbY/rbUD6cZ8yrG6vUwAAAAAAAAAAAAAQJueDn/ffvvtOvfccxvjH/3oRzrvvPOmfZ2f/OQnet7znidJMgxDP//5z/WUpzxl1tY5HS9+8Yv1kY98pDH+0Y9+pCAIphTiufHGG1vG5513nnK53Kyt7Y//+I913XXXNca/+tWvpnV++/EnnXTSrKwLAAB0x95CWT+8b69uvG+vfvbIAdW84KivIQjCSuNVt7cr5E5VqeapVPO0b3R6T1ipS1im8ml70sB4f9rRuoG01i/LaMPSjJZmE4TFF6Bi1dWW/eN6eN+YHh0pK+WYWpJJaEk2oSUZp9HPJiz+/8+Rquvrd7uGdecjB/WzLQf1q+1DqvTQv1OWaWh1PtUIdTdD3mmtHUhpbX9aAxmHPx8AAAAAAAAAAAAAMA/1dPj7M5/5jIKoTOKZZ555RMFvSTr//PP1pCc9Sb/+9a8VBIE+97nPdS38ffbZZ2v58uU6cOCAJGnLli26+eabp3Rvn//851vGL3nJS2Z1bRdeeKFSqZTK5bIk6e6779ZDDz2kE0444bDn3nvvvbr//vtb5p797GfP6voAAMDcCoJAD+8b041R4Pt3O4e7vSS0qXq+DoxVdWCsOqXjswlL65dltX5pWhuWZXXs0jAUvn5pRuuWpOVY5hyvGEcqCAIdHK/qkX1jenj/mB7eN6ZH9o/rkX1j2j1cmtI1EpapgYyjpdlErE1oaaY5bgmNZxPqS9oEgjuour7u3jWsO7cc1J1bBvXL7YMq17oX9l6ScbRuSRjmbqncPRC2K3JJ2fz9BgAAAAAAAAAAAIAFqWfD377v63vf+14jePDqV796Rtd77Wtfq1//+tcyDEPf/va39elPf3o2ljltpmnqda97nf7lX/6lMXf55Zfr2c9+9iFDFj/+8Y912223NcZ9fX16+ctfPqtry2azuvjii3XVVVc15j70oQ/p2muvPey5H/jAB1rG5557rlauXDmr6wMAALPP8wP9ZsdQo8L31gPj3V4SZtF41dP9jxZ0/6OFCfss09DagZTWL81o/dKs1i/NaMOyMBi+fllG+ZTThRUvPp4faPdQSY9EAe8w5B0GvoeLtRldu+r52jdamValeds0NJBphsGXRCHx5bmkVvYltTKf0qp8SqvySS3PJRfsGwhqXj3sPag7txzUL7cNqVTzjuoaErap45ZltWlFtC3PNdr+DH8/AQAAAAAAAAAAAGCx6tnw9+9//3sNDQ1JkgzD0Ite9KIZXe9FL3qR3vGOdygIAu3du1cPPvigTjrppNlY6rS9613v0qc//WmNjY1Jkm655RZ95CMf0d///d93PH737t1605ve1DL39re/XcuXLz/kx2kPk990002HrcZ92WWX6Ytf/GKj+vd1112nc889V294wxsmPec//uM/9NWvfrVl7t3vfvchPw4AAOiecs3TTx8+oB/et1c/un/vlKtIY2Hx/EA7B0vaOVjST3Vwwv6BjKMNSzNhtfBlGa1ImzowYmh5KtBAogsLnufKNU9bD4w3w91R0HvrgXFV3O5VkG7n+oEOjFV0YOzwgXHDkJZlE1rZF4bBV+VTWplPaWVfshEQX5VPaVk20fNVqGuer9/vHtHPHjl41MPea/pTreHuFTltWp7V2oG0LJMq7AAAAAAAAAAAAACAVj0b/r7//vsb/YGBAW3atGlG19u8ebMGBgY0PDwsSbr33nu7Fv5evny5/uEf/kH/8A//0Jh797vfrR07dui9732v1q5dKymsfv7tb39bb3/727Vjx47GsWvXrtXf/d3fzcnajjnmGL3rXe/S5Zdf3ph705vepF//+td617vepWOPPbYxv2PHDl1xxRX6zGc+03KNV73qVbrgggvmZH0AAODIDBer+skD+/TD+/bqlj/sV7E681BjX8rW045bKss0VHV91bxAVddX1fOjcbiFc4Gqrhce4/ny/GAW7gpzabhY03BxRL/bNRKbtSRJaSvQaY/erSeuX6rT1vXrtHX9Om5ZVuYiDqpWXV/7Rsthpe1CWXsLFe0eLjVC3juHigoW2B/7IJAOjFV1YKyq+x6d/DjTUFg5PJ/Uqr5UVD08Cov31UPjSeVTjpK2ecgnIs0WNwp737llUD/bclC/3DY4K/8uTiabsMJQdyzkfdzysKJ3JtGzP5YDAAAAAAAAAAAAAHpQz77K/Nhjj0kKq1evW7duVq55zDHHNMLfu3fvnpVrHql3vetduuOOO/Td7363MfepT31Kn/3sZ7Vhwwb19/dr69atjfXWpdNpffWrX9XAwMCcre1973uffvWrXzXWFgSBPvnJT+o//uM/dNxxx2nZsmU6ePCgtmzZMuHcJz/5yfrsZz87Z2sDAABTt2uoqB/et1c/vG+vfr51cFYC16vzKT3vlFV6/qmr9LTjlilhH1k1X88PwmC456vm1ttAVc9T1W3dV/F8uV7QCJPXor7rhaHyWnRczW/2XT9onN/erwfS4/0gkBK2Kccy5FimEraphGXKsUw50XzSjsbRFh5jtI1NOXaHOcuUHwQaLbsaLddUKNVUKLtRW9No2VWhXFOhVG/D/b0aki95hn6xfUS/2N4MhueStk5Zm9dpa/t1+jFhu2lFbt5XLq55vg6MVbS3UNHeQrkR7N43Wm7OjVY0OE4F/cn4gcJQ/GhF96hwyGMNQ0raplKO1WhTtqWUYyrpWG3zUevU23BfsmVfc7/vB/rNzmH97JEw7D0+B2HvXNLWkzcs0QkrmwHvzStyWtmXPCqhdgAAAAAAAAAAAADAwtez4e9isdjoZ7PZWblm/DpjY2Ozcs0jZZqmbrjhBr3+9a/Xl7/85ca853kdQ9WStGzZMn3ta1/TM57xjDldm2VZ+trXvqZLL71U1157bWM+CAJt2bJl0vX98R//sb70pS8pl8vN6foAAMDkKq6nr/xip77yi526d8+hQ5ZTddKqvkbg+/R1/bMSYLRMQ5YZBjPRWRAEKtW8lkB4MyQeD4835/YVKtoxWFSpNncVjCczVnF119ZB3bV1sDGXdiydsjav06Pq4Kety+v4FTnZ1pG9aWA2uZ6vg+NV7W0Lc4fh7ubcwfFqz1bsTtimNi7LyPMDDRdrGipW1aPvF5iyIJDKNV/lmt/tpUxJLmnrjI1L9PRNy/T0Tct06tp8T/z5BgAAAAAAAAAAAAAsXD0b/u7v72/0Dx48OCvXHBxsBlEymcysXHMmUqmUrr/+ev3Zn/2ZPvShD+m3v/1tx+Oy2awuueQSXXbZZVq5cuVRWVsymdQ111yjV77ylfrQhz6kn/70px2PMwxDZ555pt773vfqxS9+8VFZGwAAmMj3A33n7j36lxsf1M7B0oyuZRjSUzcs0fNPWa3nnbJKG5fPzhvxMD2GYSiTsJVJ2Frdn5ryeUEQaP9YRTsHi9p+sKgdg0XtiNrtg0XtH63M4apblWqefrV9SL/aPtSYS9qmHremHgjP67R1/TpxVZ+cIwzMBkGgYtXTcKmmofGqhos1DZeqGirWNDxeDeeL0XzUDhWrGinV5k1Quj/t6PiVOW1ekdXxK3NRP6djlmRaKqv7flhdfrBY1VCxqqHx8PMQtvW5mgaLVQ0XqxocDz8n7nz5RPSAbMLSUzcu1Vmbw7D3aYS9AQAAAAAAAAAAAABHWc+Gv1esWCEpDHPs3LlTpVJJ6XT6iK9XLBa1ffv2RqXK+vV7wZ/+6Z/qT//0T/Xwww/r5z//uXbv3q1qtaqBgQE97nGP0zOe8QylUlMP/NQFs1Ci8MILL9SFF16o3bt362c/+5m2b9+ucrmsJUuWaM2aNXrGM55x1ALpAACgs9sfOqAr//d+3bP7yCt9J2xT55ywXM8/ZbXOf9xKLc8lZ3GFOJoMw9DKvpRW9qX0lA1LJ+wvVl3tHCyFYfCD42FIfDAMh+8aLKnqzW3F5Yrr67c7h/XbncONuYRl6uQ1fWF18LX9Oml1n1zPDwPcxViAezwW7G4EumtzvuajZd1AWpuigPfmFblG0HtZNjGlivumaag/46g/4+g4Te1NG0EQaLTiajgKhXcKjQ+OV7VvtKK9hbL2FSoL5vM9FZl62HvTMj1901Kdtq7/iN+oAAAAAAAAAAAAAADAbOjZ8PfJJ5/c6FerVd144416yUtecsTX+8EPfqBqtSopDMRs3rx5xmucbccff7yOP/74bi+jo3Xr1unP/uzPur0MAAAQc++eEV35/Qd020MHjuj8/rSj5zxupZ5/yio964QVyiZ79ltDzKJMwtZJq/t00uq+Cfs8P9DeQlnbDxajUPi4dgyWtOPguLYfHNdwyZ2TNVU9X3fvGtHdu0bm5Pq9xLEMbVzWGvDevCKnTSuyXfk7aBiG8ilH+ZSj9csO/3SkIAg0UqppbyEMg+8tlLVvtKJ9hXI4NxoGxPeNllXz5l9F8bRj6akblzQqe59O2BsAAAAAAAAAAAAA0GN6NuHz+Mc/XitXrtT+/fsVBIE++MEPzij8/aEPfUiGYSgIAg0MDOjMM8+cxdUCAAAcPTsHi/rXGx/UN3+7Z9rnrhtI6/mnrtLzTlmlMzculU2oETGWaWjtQFprB9I6a/Oyln2FQkH/88Ob9GhR2jluyO1bowf3FfXwvjH58y/jO6dSjqlV+ZRW9iW1fmlWm1dmdXwU9D52aWZeh4kNw9BAJqGBTKLjGwjqfD/QcKnWDIhHYfF6BfG9UWB8/2hFbhf/ANXD3k/fFIa9H38MYW8AAAAAAAAAAAAAQG/r2fC3JL30pS/VZz/7WUnSb37zG/3t3/6tPvaxj037On/7t3+r3/zmNzIMQ4Zh6KUvfemUHpsOAADQS4bGq/rETQ/rCz/brqrnT/m8U9bk9bxTVun5p67SKWvyfB+EI5axpc15aXM+0HnnnaR8Pq9S1dN9jxZ0754R/X7XiO7ZU9BDe0e7GuidKwnb1Kp8Uqv6UlqZT2plX0qr8qlwLmpX9KWUT9mL/u+ZaRpamk1oaTahx63JT3qc7wcaLFa1r1BRqeaqUvNVdj2Va77KtVjreo19lca+aL8b9iuur3LNV6W+z20eV//jmHYsPWXDEj1901KdtXmZTl83oIRN2BsAAAAAAAAAAAAAMH/0dPj7Pe95j6655hrVajUFQaCPf/zjOnDggD7xiU8on588QFBXKBT0F3/xF/qv//qvRtXvRCKh9773vUdh9QAAALOjXPP0nz/dqk/d/IhGy+6UzrFMQ68441i95ZzNWr8sM8crxGKWToRh2qdsWNKYK9c8PfjYqH6/e0T37B7RPXtG9OBjo6p5vRkIdyxDK6NA96q+MMS9Mp9qVO+uB7v7086iD3XPNtM0tDyX1PJccs4+RhAEcv1AFddXNmHx/xAAAAAAAAAAAAAAMK/1dPj72GOP1bvf/W5dfvnljfD2l770JX3729/Wa1/7Wr3whS/UU5/6VC1fvrxxzoEDB/TLX/5S3/ve9/SFL3xBhUJBQRCGTAzD0Lve9S4dd9xx3bolAACAKfP8QF/71U792w8f0mOF8pTPu+DUVXrnBSfr+JW5OVwdMLmUY+kJxw7oCccONOYqrqeH9o41A+G7R3T/Y6OqulOvYj9V/WlHAxlHA5mElmQcDaTr/UQ0H47rwe6BtCPTJBC8UBmGIccy5FhU+AYAAAAAAAAAAAAAzH89Hf6WpMsuu0z33HOP/vu//7sRAC8UCvrkJz+pT37yk5LCF/MzmYyKxWIj6C2pJfQdBIFe/vKX6/LLL+/KfQAAAExVEAT68f379JH/fUAP7Rub8nlP3bBE737hyXrKhqVzuDrgyCRtS6et69dp6/obczXP10N7x3TPnjAM/vvdI7r/0YLKtTAQnk1YGogC20syCfVnHC2p99NhuyTrqD8dhbyjeYsgNwAAAAAAAAAAAAAAWKB6PvwtSddff73e+c536uMf/3jLI7rr4e4gCDQ21hqMMgyjEfqWpL/7u7/TlVdeefQWDQAAcAR+s2NIV3zvAd21bXDK52xekdW7LjxZzztlVcv3SkCvcyxTp6zN65S1eb38qcdKCivej5ZrSicsJW2ryysEAAAAAAAAAAAAAADoLfMi/G3btv7t3/5NF154oS6//HLdeeedjX2dAk5BEDRC38985jN12WWX6TnPec5RWy8AAMB0bdk/po/+4EF9/57HpnzOqnxSf/PcE/VnTzlGtmXO4eqAo8cyDQ1kEt1eBgAAAAAAAAAAAAAAQE+aF+HvugsuuEAXXHCBfvGLX+jGG2/UbbfdpkceeUSDg4MaHR1VX1+fli5dqhNOOEHPetazdOGFF+pJT3pSt5cNAAAwqf2jFX38x3/Q9XftlOcHUzqnL2nrLc/erDc84zilE1RGBgAAAAAAAAAAAAAAABaLeRX+rjvjjDN0xhlnHPH5nufJsghKAQCA7hmruPrcrVv0udu2qFj1pnSOYxm6+Okb9Ffnn6ClWSojAwAAAAAAAAAAAAAAAIvNvAx/H6nf/e53uvbaa3X99dfr0Ucf7fZyAADAIlTzfF1/1w79+48f0oGx6pTPe8kT1+rvnneS1i/LzOHqAAAAAAAAAAAAAAAAAPSyBR/+PnDggL74xS/q2muv1d13393t5QAAgEXK9Xx987d79P9+8pC2HyxO+bxnHr9cf/+Ck3Xauv45XB0AAAAAAAAAAAAAAACA+WBBhr9d19V3vvMdXXPNNfrf//1fua6rIAga+w3D6OLqAADAYnKkoe9T1uT19y84WeecuGIOVwcAAAAAAAAAAAAAAABgPllQ4e9f/epXuvbaa3X99ddrcHBQkhqh73rgOx4CBwAAmCtHGvpeN5DW/++CE/WSJ6yTafKGNQAAAAAAAAAAAAAAAABN8z78vXfvXn3hC1/Qtddeq/vuu09Sa+DbMAwFQaAgCJTJZPTiF79Yr3rVq7q5ZAAAsIC5nq9vRaHvbdMIfQ9kHP3lecfrNWdtUNK25nCFAAAAAAAAAAAAAAAAAOareRn+rlar+ta3vqVrrrlGP/zhD+V5XktF73jgO5FI6IILLtArX/lKveQlL1Emk+niygEAwEJ1pKHvpG3qDc88Tm85d7P6084crhAAAAAAAAAAAAAAAADAfDevwt8///nPde211+orX/mKhoeHJbVW+Y6Pn/Oc5+hVr3qVLrroIg0MDHRjuQAAYBE40tC3ZRr6sycfo3c87wSt6U/P4QoBAAAAAAAAAAAAAAAALBQ9H/7es2ePrrvuOl177bX6wx/+IKk18B2v8l0PgEvSD3/4w66sFwAALA4zCX1f9KR1+svzj9eGZdk5XCEAAAAAAAAAAAAAAACAhaYnw9/lclnf+MY3dM011+gnP/mJfN+fNPCdy+X0J3/yJ9q0aZMuv/zyLq8cAAAsdK7n69u/26P/95OHtfXA+JTPI/QNAAAAAAAAAAAAAAAAYKZ6Kvz905/+VNdee61uuOEGFQoFSa1VvuuBb9u29fznP1+vfvWr9dKXvlTpdFo//vGPu7l0AACwwM0k9P0nT1qnvzzveG1cTugbAAAAAAAAAAAAAAAAwJHrevh7dIdZBwABAABJREFU586duvbaa3XdddfpkUcekaRJq3yfeeaZuvjii/XKV75Sy5cv7+ayAQDAIkHoGwAAAAAAAAAAAAAAAECv6Gr4+znPeY5uueWWRrhbmhj43rx5s1796lfr4osv1vHHH9/N5QIAgEWE0DcAAAAAAAAAAAAAAACAXtPV8PdNN93U6McD38uXL9crXvEKXXzxxXra057WxRUCAIDFxvV8fefuPfp/P35YWwh9AwAAAAAAAAAAAAAAAOghXQ1/S83QtyQ985nP1N///d/rggsukGVZXV4ZAABYDCqup20Hinp435ge3jemb/1297RD3y994jr91fmEvgEAAAAAAAAAAAAAAADMra6Hv6VmAPyOO+7QRz7yEe3Zs0cve9nL1N/f3+2lAQCAw3h436iuuWObfrltSEnH0jFL0jp2SSZsl4btuoG0Uk5339g1Uqrpkf1hwPuRfWON/o7Bovxg+tcj9A0AAAAAAAAAAAAAAADgaOt6+DsIAhmGIcMw5Pu+br/9dt1+++36q7/6K73whS/UxRdfrBe/+MVyHKfbSwUAADG/3DaoT9+yRT+6f2/L/O92Dnc8fmVfsiUQHgbEMzp2aVpr+tNK2OaM1xQEgfYWKlEV71E9sn887O8f0/7RyoyvL0mmIf3Jk44h9A0AAAAAAAAAAAAAAADgqOtq+Pv73/++rr76an37299WuVxuzAdBoEqlom9+85v65je/qf7+fr3sZS/Tq1/9ap1zzjldXDEAAIub7wf68QP79OlbHtGvtg9N69x9oxXtG63o1zuGJ+wzDWl1PqVjlmR0zNJ02MYqiK/pT8m2muHwmudrx2AxCnmHVbzDat7jGqu4M73Njuqh7788/3gdR+gbAAAAAAAAAAAAAAAAQBd0Nfx9wQUX6IILLlChUND111+va6+9VnfeeackyTAMSWEQfHh4WFdddZWuuuoqHXvssXr1q1+tV7/61TrllFO6uXwAABaNiuvpW7/Zo8/c+oge2T8+69f3A2nPSFl7Rsq6a9vE/ZZpaE1/SmsH0hocr2r7wXHVvGDW19EJoW8AAAAAAAAAAAAAAAAAvaKr4e+6fD6vSy+9VJdeeqkeeughXX311friF7+oXbt2SWoNgu/YsUNXXnmlrrzySj3+8Y/Xa17zGr3qVa/q5vIBAFiwRss1/dfPd+g/f7pVewuVrq3D8wPtGipp11DpqH1M05Be+qR1+qvzTyD0DQAAAAAAAAAAAAAAAKAn9ET4O+6EE07QP/3TP+nDH/6wfvzjH+vqq6/WN7/5TZVKYdjLMAwFQVjp83e/+53uvvtuvetd79KJJ57YzWUDALCg7CuU9Z8/3aYv3bldoxW328s5KmzT0IZlGW1ekdNp6/r1x09Yq42EvgEAAAAAAAAAAAAAAAD0kJ4Lf9cZhqHnPve5eu5zn6vR0VF95Stf0XXXXafbb7+9sV8Kq4F7nqcHHnigJRh+++2365nPfGbX1g8AwHz0yP4xfe7WLfr6r3er6vnTOveUNXmdc+IKPTZS0s6hknYNFbtaLXwy2YSlzStz2rwip+MbbVbrl2aVsM1uLw8AAAAAAAAAAAAAAAAAJtWz4e+4vr4+velNb9Kb3vQmbdmyRVdffbW++MUvavv27ZKaQfB6PwgCnXvuuVq7dq1e+cpX6hWveIWe+tSndmv5AAD0vF/vGNJnbnlEN963V9H7qKbsGccv01vO3axnHr+85WuyJJVrnvYMN8PgOwejdqik3UNFHRirzuJdtFqeS+r4ldlGyLse9F7Tn5qwTgAAAAAAAAAAAAAAAACYD+ZF+Dtu06ZN+uAHP6gPfvCDuummm3T11VfrG9/4hsbHxyWF4e96AHz37t362Mc+po997GPavHmzXvnKV+qVr3ylTjnllC7fBQAA3ef7gW7+wz59+uYtumvb4LTONQ3pBaev0VvO2azTj+mf9LiUY2nTipw2rch13F+suto9VNLOoaJ2DZW0czBqo/FwsXbYdRy7NKPjV+S0eWWupe3PONO6JwAAAAAAAAAAAAAAAADodfMu/B133nnn6bzzztP4+Li++tWv6rrrrtOtt96qIAgaFT2DqHzpww8/rA9/+MP68Ic/rNNOO02/+93vurl0AAC6pur6+s7v9ugztz6iP+wdm9a5SdvUy596rN70rOO0YVl2xmvJJGydsKpPJ6zq67h/tFzTrqFSIxi+d7SsjGNr88qsjl+Z08ZlWaUca8brAAAAAAAAAAAAAAAAAID5YF6Hv+uy2axe//rX6/Wvf722bduma665Rl/4whe0detWSZoQBL/nnnu6tlYAALplrOLqy3ft0Odv36pHR8rTOrc/7eiSszbotWdv1PJcco5WOFFfytHj1jh63Jr8UfuYAAAAAAAAAAAAAAAAANCrFkT4O27jxo16//vfr/e///269dZbdc011+i///u/NTo62u2lAQDQFftHK7rmjq36ws+2q1B2p3XuuoG03vjM4/SKM45VNrngvm0AAAAAAAAAAAAAAAAAgHllQae4zjnnHJ1zzjn65Cc/qRtuuEHXXXedbrrppm4vCwCAo2LXUFGfuWWLvvLLnaq6/rTOPXl1ny49d5Ne/Pi1cixzjlYIAAAAAAAAAAAAAAAAAJiOBR3+rkun03rta1+r1772tdqxY4e+8IUvdHtJAADMmYf3jelTNz+ib/12t1w/mNa5T9+0VG85d7POPXGFDMOYoxUCAAAAAAAAAAAAAAAAAI7Eogh/x61fv17vec97ur0MAABm3T27R/QfNz+s79/zmIJpZL4NQ7rw1NW69NzNeuKxA3O2PgAAAAAAAAAAAAAAAADAzCy68DcAAAvNL7cN6hM3PaybH9w/rfMStqk/ffIxevM5m3Tc8uwcrQ4AAAAAAAAAAAAAAAAAMFsIfwMAMA8FQaDbHjqgT970sH6+dXBa5+ZTtl5z1gZdcvZGrexLzdEKAQAAAAAAAAAAAAAAAACzjfA3AADziO8H+uH9e/XJmx7W3btGpnXuqnxSf/6sTXrlmeuVS/ItAAAAAAAAAAAAAAAAAADMNyS/AACYB1zP13fvflT/cfPD+sPesWmdu35pRm999mZd9OR1StrWHK0QAAAAAAAAAAAAAAAAADDXCH8DANDDKq6n//7Vbn36lke0Y7A4rXNPXJXTX5x3vF50+hrZljlHKwQAAAAAAAAAAAAAAAAAHC2EvwEA6EHFqqv/+vkOfe62LdpbqEzr3Ccc06+/OO94Pfdxq2SaxhytEAAAAAAAAAAAAAAAAABwtBH+BgCgh4yUarrujm36z59u1VCxNq1zn75pqf7yvBP0jOOXyTAIfQMAAAAAAAAAAAAAAADAQkP4GwCAHnBgrKL/vH3r/8fencfXXdX543/fpEmXJG267/tCoUApq7KWEXQEBURZxA1EZHFk8Cebu+io6Kgg8xUUWXTGjR0VV4rslX0vpXTf17Rp9v3z+6MlcJOmTZrkpkmfz8cjj+Z87vmc8z4O05PP7Svnxv/9a3mUVte16d5/mz4sPnf85Dhk/KBOqg4AAAAAAAAAAIA9gfA3AHShNcWVcfNjS+L3z66IqtqGVt+XSkWcdMDIuGT25JgxakAnVggAAAAAAAAAAMCeQvgbALpAfUMSNz68KP7nn4uipr71oe9eWak4bdbouHj25Jg8NL8TKwQAAAAAAAAAAGBPI/wNABm2dmtlXPb7l+LppZtbfU9ur6w4+7Cx8dljJ8WYgf06sToAAAAAAAAAAAD2VMLfAJBBD76+Pq64++UorqhtVf+83Oz4+LvHx/lHT4xhBX06uToAAAAAAAAAAAD2ZMLfAJABVbX18b2/zI9f/Wt5q/oX9suJ846cGOceOSEG9Mvp5OoAAAAAAAAAAADoDoS/AaCTLdpQFp//3Ysxf23JLvsOLegdnz1mUpxzxLjI622bBgAAAAAAAAAA4G1SZQCtUF5dFw+9sSE2lVbHifsNj7GD+nV1SXQDSZLEnc+tjG/+8fWorK3fad+CPr3iyvftE2ccOjb65GRnqEIAAAAAAAAAAAC6E+FvgF1YUVQR5//q2Vi4oSwiIr7zl/nxmWMmxlXvmx5ZWakuro49VUlVbXz53lfjgVfW7rLvrHGFccPZs/xSAQAAAAAAAAAAADsl/A2wE1W19fHZ/3uuMfgdEVHfkMTPH10SK4oq4rqzDnJKM828uGJLXPr7F2Pl5sqd9kulIi6ZPTkuO2Fa5GRnZag6AAAAAAAAAAAAuivhb4Cd+N5f5scb60p3+NpfX1sX60ueil988tAYnN87w5WxJ2poSOJnjy2OH//jzahrSHbad1hB77jurIPiqClDMlQdAAAAAAAAAAAA3Z1jRgFa8ODr6+NX/1q+0z4vrCiO02+aG0s3lWeoKvZUG0qq4pO3PRM/+NuCXQa/j99naPz1P48R/AYAAAAAAAAAAKBNhL8BdmDd1qq44u6XW9V3eVFFnH7jk/Hcss2dXBV7qocXbIj3/+TxeGLRpp32y8lOxdc+sF/cdu5hTosHAAAAAAAAAACgzYS/AZqob0jisjtejOKK2lbfs6WiNs655en48ytrO7Ey9jTVdfXx7Qdej/NufzaKymt22nfikLy475Kj4vyjJ0YqlcpQhQAAAAAAAAAAAPQkvbq6AIA9zU2PLIqnlrT9FO+auob43G9fiFVbpsdnj50k4NvDLd1UHp//3Qvx2uqSXfb98MFj4ppTZ0R+b9suAAAAAAAAAAAAu08KDeAdnl++Oa6bs7DF1z92xLh4fvmWeGNdaYt9vvfXN2LF5oq45pQZ0SvbByz0RPe+sCq+dv9rUV5Tv9N+ebnZ8Z0PHRCnzRqdocoAAAAAAAAAAADoyYS/AbbbWlkbl/7upahvSHb4+sHjCuObp8yIqtr6uOQ3L8TjCze1ONZvnl4Ra7dWxf98dFbkOe25xyirrouv3f9a3Pfi6l32PXDMgLjh7FkxYUheBioDAAAAAAAAAABgb+BIWoCISJIkvnzvq7G6uHKHrxf07hU/OXtW5GRnRUGfnLjt3MPizEPH7HTMf76xIc66+V+xoaSqM0omw15dtTU+cMPjrQp+f/bYSXH3RUcKfgMAAAAAAAAAANChhL8BIuKOZ1fGn19d2+Lr3z39gBg7qF9jOyc7K77/4QPj8vdO2+m4r60uiQ/dODfeXF/aYbV2B6VVtbF2a2VU1NR1dSnt1tCQxC8eWxKn3/RkLCuq2GnfIfm58atPHx5fPmnfyO1liwUAAAAAAAAAAKBj9erqAgC62qINpfHNP81r8fWzDh0bH5w5qtn1VCoV//FvU2PMwH5xxd0vR219ssP7VxdXxodvnBs/+8QhcdSUIR1W956ktKo2nlm6OeYuLop/LS6K+etKIkkisrNSse/Igjhk3MA4ePzAOGT8wBhd2DdSqVRXl9wqm8qq44t3vhyPvrlxl32PmTokfnTmzBhW0CcDlQEAAAAAAAAAALA3Ev4G9mpVtfXxH799MapqG3b4+qShefGNU/bb6RinzRodw/v3iQv/77koqdrxSdel1XXxqdueiWs/fGB85JAx7a67q1XU1MVzy7bEv5YUxdzFRfHa6q1R39A8/F7fkMRrq0vitdUl8at/LY+IiOH9e8ch4wfGweO2hcFnjBqwR5ySXd+QxIrNFfHG2pKYv640FqwriWeWbo4tFbU7va9XViqueN8+ccExkyIrq3uE2gEAAAAAAAAAAOiehL+Bvdq1f30j3lhXusPXcrOz4n8+Oiv65e76r8p3Tx4c915yZJx7+7OxakvlDvvUNSRx+V0vx6otFfGf75nabU6/joiorquPF1cUbz/Ze1O8tLK4xZPOd2V9SXX85dV18ZdX10VERO9eWXHgmAHbTgbffkL4kPzeHVl+M1vKa2L+upJ4Y21pLFhXGm+sK4kF60tb/CWAlowb1C9u+OisOGhsYecUCgAAAAAAAAAAAO8g/A3stea8vj5+OXdZi69/6aTpMWPUgFaPN2VYQdx7yZHxmV89F6+s2tpiv+vnLIyVmyvje6cfsEeceL0jtfUN8cqqrfGvxZviX0uK4rllW6K6rm3B6NaqrmuIZ5dtiWeXbWm8NmFwv21h8O1fU4cVRPZunKpdU9cQizeWxRvbg95vnei9vqS63XWfMnNUfOdD+0dBn5x2jwUAAAAAAAAAAACtIfwN7JXWba2KK+5+ucXX/236sDj3yAltHndYQZ/4/WffFZf+7qWYM399i/3ueWFVrN1aGTd9/JAY0Lfrw8P1DUm8vqYk5m4Pez+7dHOU19R3WT3LiipiWVFF3PvC6oiIKOjdKw4aV9gYBj9obGFa6DpJklhXUrU94F2y7TTvtaWxeGNZ1DXs3gnlLembkx3fOnVGfOSQMd3q9HYAAAAAAAAAAAC6P+FvYK9T35DEF+54KbZU1O7w9WEFveO/P3Lgbgd7++X2ip9/4pD49gOv7/Rk8bmLi+KMn82N2887PEYX9t2tuXZXQ0MSb24ojbmLiuJfS4ri6SVFUVJVl9Ea2qK0ui4eX7gpHl+4KSIiUqmIfYYXxH4j+8eq4spYsK40tlbu+P+eHWm/kf3jf86ZFZOH5nf6XAAAAAAAAAAAANCU8Dew1/nZo4vjX0uKdvhaKhVx3VkHxeD83u2aIzsrFd/44H4xZmDf+M5f5kfSwuHTb64vi9N++mTcfu5hsf/oAe2asyUVNXWxZGN5LNxQGos2lMWb68viheVboqi8psPnGlbQO46cPDjePXlwTB/RPxasK43nl2+J51dsiUUbyjpsniSJeGNdabyxrrTDxtyZPjlZ8Yl3jY/L37dP9O6VnZE5AQAAAAAAAAAAoCnhb2Cv8vzyLfHjB99s8fWLj5scR00Z0iFzpVKp+Mwxk2J0Yd+47I6XorquYYf9NpZWx5k//1f89JyD4/jpw3Z7vq2VtbFoQ1ks2h7yXrihLBZtKItVWyp3e8xdGZSXG++eNDjeNXlwHDl5cEwakpd2YvrMsYVx5mFjIyKiuKImXlxRvC0MvnxLvLSyOCpr6zuttt2VSkVMHJwX+4woiOkj+sf0kQVxxMRBUdgvt6tLAwAAAAAAAAAAYC8n/A3sNbZW1salv3sx6ht2fAz3QWML4wsnTuvwed9/wMgYPqBPfOZXz8XmFk7brqipj/N/9Wx869T94+PvGt/iWEmSxKaymh2GvDeUVnd47U0V9OkVR0zcFvQ+csrgmDasILKyUru+MSIK++XG8dOHNQbc6+ob4o23Tgbf/rW6uPOC6jsysF9OY8B73xH9Y58RBTFteEH0zXW6NwAAAAAAAAAAAHse4W9gr5AkSXzlvldbDBcX9O4V//PRWZGTndUp8x88bmDcd8mRce7tz8bSTeU77NOQRHz1/tdi5eaKuPLfp8e6kqpt4e71pbF4Y1ksXF8WizaWRXFFbafUuCP9crPjsAmD4sjJg+PdkwfHjFEDIruVYe9d6ZWdFfuPHhD7jx4QnzpyQkRErNtaFS+seDsMPm/N1qit33FYvy1yslMxZVhB7DuiYNuJ3iP7x74jCmJoQe+0k8oBAAAAAAAAAABgTyb8DewV7npuVTzwytoWX/+vD+0fYwf169Qaxg/Oi3svPjIu+N/n4rnlW1rs9/PHlsTtc5dFTV1Dp9azI717ZcUh4wc2hr0PHFPYaYH4HRkxoE+cdMDIOOmAkRERUVVbH6+u3toYBn9h+ZYoauH09LeMHNAnpm8PeE8fURDTR/SPSUPzMroOAAAAAAAAAAAA6AzC30CPt2hDWXzjj/NafP2MQ8bEqQeNzkgtA/Ny49efOSK+eNfL8eedhNEzFfzulZWKWeMK492TBse7Jw+JWeMKo09Odkbmbo0+OdtOHj9swqCI2HaC+/Kiim1B8BVbYnN5TRT2y4npI94Oeg/ol9PFVQMAAAAAAAAAAEDnEP4GerSq2vr4/O9ejMra+h2+PmlIXnzzlBkZralPTnb8z9mzYuzAfvGzRxdnbN7evbJi0tD8mDosP6YMy4+ZYwvjsAkDo19u99kKUqlUTBiSFxOG5MWHDxnT1eUAAAAAAAAAAABARnWfxB/Abvj+396I+WtLdvhabnZW3PDRWZHXO/N/FWZlpeLq90+PsYP6xtfufy0ako4bOy83O6YML4gpQ/Nj6vC3w95jBvaL7KxUx00EAAAAAAAAAAAAZJTwN9BjPTR/fdz+5LIWX7/q/dNj/9EDMlfQDnzsiPExakDf+NxvX4iKmh2fTt6Sgf1yYuqwgpg87O2A99Th+TGif59IpYS8AQAAAAAAAAAAoKcR/gZ6pPUlVXHF3a+0+Prx+wyNTx81IXMF7cTx04fFnRe+Oy78v+djdXFls9eH9+8dU4cVxJTtAe8p28Peg/N7d0G1AAAAAAAAAAAAQFcR/gZ6nPqGJL5wx0uxubxmh68PLegd/33GzD3qdOz9Rw+Ih754XPzxpTWxobQqhhX0iSnDtwW9+/fJ6eryAAAAAAAAAAAAgD2A8DfQ4/z8scUxd3HRDl9LpSKuO/OgGLIHnprdJyc7zjxsbFeXAQAAAAAAAAAAAOyhsrq6AICO9MKKLfGjf7zZ4usXHjs5jp46JIMVAQAAAAAAAAAAAHQM4W+gxyipqo3//P2LUd+Q7PD1mWML44vvnZbhqgAAAAAAAAAAAAA6hvA30CMkSRJfue+1WLm5coev5/fuFTecfVDkZPtrDwAAAAAAAAAAAOiepCCBHuHu51fFn15e0+Lr3/nQ/jF+cF4GKwIAAAAAAAAAAADoWMLfQLe3eGNZfOOP81p8/cMHj4lTDxqdwYoAAAAAAAAAAAAAOp7wN9CtVdfVx6W/ezEqaup3+PrEIXlxzakzMlwVAAAAAAAAAAAAQMcT/ga6tR/8bUHMW1Oyw9dyslNxw9mzIr93rwxXBQAAAAAAAAAAANDxhL+BbuvhNzbErU8sbfH1q/59ehwwZkAGKwIAAAAAAAAAAADoPMLfQLdUVl0Xl9/1couvHzdtaHz6qIkZrAgAAAAAAAAAAACgcwl/A91Sfu9e8Z0PHRAD+uY0e21Ifu/44RkzIysr1QWVAQAAAAAAAAAAAHQO4W+g2/r3/UfEX//zmDh8wqC06z8+c2YMLejdRVUBAAAAAAAAAAAAdA7hb6BbG1XYN3732XfFF06YFlmpiAuPnRTHThva1WUBAAAAAAAAAAAAdLheXV0AQHtlZ6XiP0+YGrP3GRr7juzf1eUAAAAAAAAAAAAAdArhb6DHmDm2sKtLAAAAAAAAAAAAAOg0WV1dAAAAAAAAAAAAAAAAuyb8DQAAAAAAAAAAAADQDQh/AwAAAAAAAAAAAAB0A8LfAAAAAAAAAAAAAADdgPA3AAAAAAAAAAAAAEA3IPwNAAAAAAAAAAAAANANCH8DAAAAAAAAAAAAAHQDvbq6AOgM1dXVae1FixZ1USWUlZXFihUrGtvz58+P/Pz8LqwIANgd9nQA6Dns6wDQM9jTAaBnsKcDQM9gT9/7NM2lNs2tdibhb3qklStXprVPO+20rikEAAAAAAAAAAAAgB5t5cqVcfDBB2dkrqyMzAIAAAAAAAAAAAAAQLsIfwMAAAAAAAAAAAAAdAOpJEmSri4COlpxcXE8+uijje2xY8dG7969u7CivdeiRYvitNNOa2zff//9MWXKlK4rCADYLfZ0AOg57OsA0DPY0wGgZ7CnA0DPYE/f+1RXV8fKlSsb28cdd1wUFhZmZO5eGZkFMqywsDBOPfXUri6DHZgyZUrMmDGjq8sAANrJng4APYd9HQB6Bns6APQM9nQA6Bns6XuHgw8+uEvmzeqSWQEAAAAAAAAAAAAAaBPhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBoS/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBvo1dUFAD3b0KFD4xvf+EZaGwDofuzpANBz2NcBoGewpwNAz2BPB4CewZ5OJqWSJEm6uggAAAAAAAAAAAAAAHYuq6sLAAAAAAAAAAAAAABg14S/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBsQ/gYAAAAAAAAAAAAA6AaEvwEAAAAAAAAAAAAAugHhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBnp1dQFAz7Z48eJ45plnYtWqVVFTUxMDBw6M6dOnx5FHHhl9+vTp6vIAoMskSRLLli2LV199NVatWhXFxcXRu3fvGDhwYEydOjUOO+ywDt8rS0tL48knn4w333wzSkpKom/fvjF+/Pg48sgjY9SoUR0617x58+L555+PtWvXRn19fQwePDj233//OOKII6JXr457DMnkmgBgT1FVVRVz586NN954I7Zs2RK5ubkxZsyYOOKII2LSpEkdOlemnuszuSYAaKsFCxbEyy+/HKtWrYqKioro27dvDB8+PKZNmxYzZ86M3r177/bY9nUA6FzV1dXx4osvxvz582PLli1RWVkZ/fv3j2HDhsXBBx8cU6ZMiVQq1e556urq4umnn47XXnstioqKIjs7O0aOHBmHHHJIzJgxowNW8rbVq1fHv/71r1i+fHnjeqZNmxZHH3105Ofnd9g8mVwTAHQGz9ztI/e3h0sAOsF9992XHHzwwUlE7PArPz8/+Y//+I9k48aNXV0qAGTM5s2bk9tuuy0588wzkyFDhrS4T0ZEkpOTk5x22mnJI4880u55lyxZknz84x9PcnNzdzhXKpVKZs+enTz66KPtmqehoSG59dZbk2nTprW4rsGDBydf/epXk7Kysm6xJgBor7PPPrvZPjV+/PjdGmvDhg3J5z73uSQvL6/FvfaQQw5J7r///nbXnann+kyuCQDaoqSkJPnOd76TTJw4cafP77m5ucnRRx+dXH/99W0a374OAJ3rueeeSz72sY8lvXv33ulePnr06OTrX/96UlRUtFvzlJaWJl/5yleSQYMGtTjHPvvsk9x2221JQ0NDu9b0yCOPJLNnz97pzyWf+MQnkqVLl7ZrnkyuCYC9y6pVq5J77703ueqqq5Ljjz8+KSgo6JD3zpvyzN091kT7CH8DHaqqqir52Mc+ttMH6Hd+DR06VCgLgL3CJZdc0mJQeVdfn/zkJ5OtW7fu1rx33HFH0q9fv1bNk0qlkquuumq33qzdsmVLcuKJJ7Z6TZMmTUpee+21PXpNANBef/zjH3e4P+3OG9gPP/zwLn95rOnPD9XV1W2eJ5PP9ZlaEwC01Z/+9Kdk+PDhbXp2Hz58eKvHt6/b1wHoPPX19clVV12VZGVltXkv/+tf/9qmuV555ZVd/qLYO7/e9773JcXFxW1eU0NDQ3LFFVe0ep68vLzk7rvvbvM8mVwTAHuPJ554IvnQhz6UjBo1apf7SkeEvz1zd4810X6pJEmSAOgADQ0Ncfrpp8cf/vCHtOvZ2dkxbty4GDBgQCxdujS2bt2a9nq/fv1izpw58e53vzuT5QJARh166KHx/PPPN7v+1sckDh8+PGpra2P58uXN9sqIiMMPPzweeuihNn1k41133RVnn312NDQ0pF0fOnRojB07NjZs2BCrV6+Opo8El112WVx33XWtnqeysjJmz54dzzzzTNr13NzcmDBhQvTu3TuWLFkS5eXlzeqYO3duTJkyZY9bEwC019atW2PGjBmxevXqZq+NHz8+li1b1uqxnnjiiXjve98blZWVadcLCwtj4sSJsWXLlli5cmXU19envX766afH3Xff3eqPr87kc32m1gQAbXXdddfFF7/4xWbPlX369IlRo0bFkCFDorKyMtauXRubNm1qfH348OGxbt26XY5vX9/9NQFAa1xwwQVxyy23NLver1+/mDx5cvTt2zeKiopiyZIlzfb73NzcuP/+++P973//LudZsGBBHH300Wk/D0RE5Ofnx6RJk6KysjKWLVsWtbW1aa+/+93vjn/+85/Rp0+fVq/p85//fPy///f/0q6lUqkYM2ZMDB06NFasWNGsjuzs7LjrrrviQx/6UKvnyeSaANh7XH/99fGFL3yhVX3b+t55U565u8ea6CBdmTwHepZrr7222W/4XHTRRcnq1asb+9TX1yf33ntvMm7cuLR+Y8aM8RvBAPRohxxySOO+V1hYmFxyySXJn//856SkpCStX11dXfLwww8nxxxzTLN99cMf/nCr51u0aFGzj3yaOXNm8s9//jOt3xtvvJGcfvrpzea65557Wj3XRRddlHZvVlZW8rWvfS3ZvHlzY5/q6urk9ttvTwYOHJjWd9asWUldXd0etyYAaK8LLrgg7cStd+5JbTm9ZPPmzc1ORBk/fnxy//33p32yxcqVK5MLL7yw2f73ox/9qNVzZeq5PpNrAoC2uOWWW5rtO+9///uTv/71r0lVVVWz/qtXr07+7//+L/nwhz+cjB07dpfj29ft6wB0rrvuuqvZXrPffvslf/7zn5Pa2tq0vhs2bEiuueaaZp/YOXTo0LT3tnektrY2OeCAA9LuGzRoUPKrX/0qqampaexXVFSUfOUrX2l2CvnnP//5Vq/pjjvu2OG/Fbz55ptp/ebMmZMceOCBaf0KCgqSpUuXtmqeTK4JgL3Ldddd1+LJ0fn5+bv93nlTnrm7x5roOMLfQIfYtGlTUlBQkPYX+/e+970W+69atSqZMGFCWv+vf/3rGawYADLrkEMOSSZMmJDccsstSUVFxS7719XVJZ/97GebPWA1DTq35KMf/WjafYcddliydevWHfZtaGhoNtfkyZObvRm+I/Pnz0+ys7PT7v3tb3/bYv/XXnstKSwsTOt/22237VFrAoD2evjhh5NUKpVEbPulqB/84Ae7/Qb2l770pbR7J06cmPZma1Pf+c530voPGDBgl/9onSSZfa7P1JoAoC0WLlyY9OnTp3G/ycnJ2enzbVOt2Zvs6/Z1ADrX/vvvn7bPHHrooUlZWdlO73nooYeSXr16pd333e9+d6f3/PznP0/rP3DgwGTevHkt9v/Nb36T1r9Xr17Nwts7Ul1d3WyPvuiii9LCXu9UXFycHHrooWn9P/nJT+5ynkyuCYC9z1vh74KCgmT27NnJFVdckdx1113JsmXLkocffrjDwt+eubvHmug4wt9Ah7jyyivT/kI/9thjW3zofMucOXPS7ikoKEg2bdqUoYoBILMeeOCBpLq6uk331NXVNXuj9pxzztnlfa+99lraqRu5ubnJ66+/vtN7Kisrk6lTp6bNdfPNN+9yrjPPPDPtnk984hO7vKfpSWrjx49POzmkq9cEAO1RUVGRTJ48uXHv+c///M/dfgN7w4YNzU4+mTNnzk7vaWhoSI499ti0e7785S/vcq5MPddnck0A0BbHH3982l5z5513duj49vX2rQkAdmXx4sVp+0tEJM8880yr7m16Uua73/3uFvtWV1cnY8eOTet/66237nKOj3/8421+r//GG29Mu2fq1KlJZWXlTu+ZN29e2mnm2dnZyfz583d6TybXBMDeZ9GiRcm8efOS+vr6Zq91VPjbM3f3WBMdKysA2qmhoSFuv/32tGvf/OY3I5VK7fS+97znPXHMMcc0tktLS+POO+/slBoBoKudfPLJkZub26Z7srOz48orr0y79ve//32X9912223R0NDQ2D777LNj33333ek9ffr0iauvvjrt2i233LLTe7Zs2RL33ntvYzuVSsU3v/nNXdZ33nnnxfjx4xvby5cvjzlz5uz0nkytCQDa62tf+1osXrw4IiLGjRsX//Vf/7XbY/3+97+PsrKyxvaxxx4b73nPe3Z6TyqVim984xtp12677bZIkqTFezL5XJ+pNQFAW/zhD3+Ihx9+uLF9xhlnxBlnnNGhc9jXt7GvA9BZFixYkNYeM2ZMHHbYYa2698Mf/nBae9GiRS32/fvf/x4rV65sbE+YMCHOO++8Xc7RdD++6667YuvWrTu9p+n72V/60peiT58+O71nv/32i7POOquxXV9f3+xng6YyuSYA9j6TJ0+O/fbbL7KyOi+q6pl7mz19TXQs4W+g3ebOnRsbN25sbE+aNClmz57dqnvPP//8tPb999/fgZUBQPf3zgemiIiioqKoqKjY6T1//OMf09pN99uWnHXWWZGXl9fYfvbZZ2PNmjUt9v/zn/8cdXV1je3Zs2fHpEmTdjlPVlZWszeOd/UzQKbWBADt8eyzz8b111/f2P7pT38a+fn5uz3eH/7wh7R2a/e/448/PiZOnNjYXrduXTz11FMt9s/kc32m1gQAbXHzzTentZv+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vfG///u/O5zHvt6+uQCgrf7t3/4tnn322bj88ssjOzt7p33HjRsXl19+eZxzzjk7DX5HdN2evjtz2dMB2Ft45t79ufwc0L0JfwPtUlVVldbOzc1t8xhNT92srKxsV00A0N1dccUV8de//jXt2s9//vMYO3bsLu9t7968o9Owd7Q3Z/JngEytCQDa4tZbb405c+ZExLZTNG6++ebd2g9bkqm9tjvt6W2ZCwBao6V/kMzOzo4///nPccwxx+zw9fz8/Pi///u/eO9735t2/bvf/W6zMHmEfb29cwFAW/3sZz+LyZMnxw9/+MNmJ2g3tWLFirjkkktiwoQJcdttt+20b1ft6bszlz0dgL2FZ+7dn8vPAd2b8DfQLk1/46empqbNY1RXV+90TADYm9xwww3x4x//OO3alVdeGWeddVar7m/v3tx0X97RmB0xz47maulngEytCQBaa+3atXH55Zc3tj/zmc+0GA7bXZnaa7vTnt6WuQCgNVraRz7zmc/EEUccsdN7s7Ky4qabbko7IXTBggXx6KOP7nIe+3rb5gKA1qqtrY2PfOQjcfHFF8fatWsjImLQoEHx9a9/PZ555pnYsmVL1NTUxJo1a+KPf/xjfOhDH4pUKhUREZs3b47zzz8/rrjiihbH76o9fXfmsqcDsLfwzL37c/k5oHsT/gbaJT8/P629o99C3pWmv/HTdEwA2Fv89re/jcsuuyzt2rnnnhvXXnttq8do7968o9/E3dHenMmfATK1JgBorc997nNRXFwcEREjRoyIH/zgBx0+R6b22u60p7dlLgBojZb2kQsuuKBV90+aNClOOOGEtGs7Cn/b19s3FwC01sUXXxz33HNPY/vwww+PefPmxTXXXBOHHXZYFBYWRk5OTowcOTI++MEPxr333hv3339/Wkjphz/8Ydx+++07HL+r9vTdmcueDsDewjP37s/l54DuTfgbaJemf2FXVFTs8GMtd6a8vHynYwLA3uCBBx6IT33qU2n76Omnnx633HJL48kjrdF0H226z+5K0/69evXa4W/ntneeHd3T2ofbzloTALTGXXfdFffdd19j+yc/+UkUFhZ2+Dzt3f+SJNmtN3c787k+U2sCgNbq27dvZGdnp10rKCiIWbNmtXqM4447Lq393HPPNetjX2/Ovg5AR3vkkUfi1ltvbWwPGzYsHnjggRgxYsRO7zvllFPipz/9adq1K664olWHinTW++I7+hmlve+Ld9ae3pa5AKAzeOZubk9cEx1P+BtolyFDhqQF0mpra2PDhg1tGmP16tVp7WHDhnVIbQDQXTz88MNxxhlnRF1dXeO1E088MX73u981e4N3V5ruo6tWrWrT/U335aFDh7Zqnqb37c5cLf0MkKk1AUBrvPPjn08++eQ488wzO2We9u5/69evT/vZIisrK4YMGdKsXyaf6zO1JgBoi6b705QpUyIrq/X/fLbPPvuktXe0j9rXm7OvA9DRbrjhhrT2ZZdd1ur3gs8999yYNm1aY7uoqCjuvffeZv3au/9FRKxZs2anY76lae3tfV+8s/b0iNavCQA6g2fu5vbENdHxhL+Bdunbt2+MGzcu7dqKFSvaNEbT/tOnT293XQDQXTz99NNxyimnpH2E0pFHHhn33Xdf5Obmtnm8pv/o3Fn78qRJk6JXr16N7crKyti4cWOnzJWpNQFAaxQXFzd+/+c//zlSqdQuv44//vi0MZYvX96sz0svvZTWp6P3v/Hjx+/wky8y+VyfqTUBQFvsu+++ae3+/fu36f6m/bds2dKsj3191/PY1wFojyRJ4p///GfatQ9+8IOtvj8rKytOPvnktGuPPfZYs37t3f82bNiQ9m8Bubm5MWnSpB32zdT74plcEwB0Bs/cu55nT1gTHU/4G2i3pn9pv/766226f/78+TsdDwB6qldeeSXe//73R1lZWeO1WbNmxV/+8pfIy8vbrTEztS/n5OTE5MmTd3uu6urqWLJkSavm8rMGAHujTO5/mZrLng7Anmi//fZLa1dXV7fp/neGnSIi+vXr16yPfX335wGA1tiyZUts3bo17drEiRPbNEbT/jv6tMum+9XixYujpqam1XM03f8mT56cdsjKzubK1J7emWsCgM7gmXv358n0XHQs4W+g3Q466KC09ty5c1t979q1a2PZsmWN7ZycnGZvtgNAT7RgwYI48cQT004E23fffePvf/97DBgwYLfHbbovP/vss2kf6bQrTz755E7H29lrbfkZ4Pnnn0/7B/WRI0e2+BFQmVwTAOwpZsyYETk5OY3tZcuWxdq1a1t9f6b29LY812dyTQDQWgcffHBae/369W26v+nHIQ8ePLhZH/t6c/Z1ADrSjn55q60B5HfuaxER9fX1zfqMGDEiRowYkTbv888/3+o5MrWn19XVxTPPPNOquTK5JgDoDJ65m9sT10THE/4G2u0DH/hAWnvOnDmRJEmr7v3HP/6R1j7++OMjPz+/w2oDgD3R8uXL44QTTkj7B+KJEyfGgw8+GEOHDm3X2NOnT087kbu8vLzVD2jl5eXxr3/9q7GdSqWa7fPv1PS1Bx98sNV1Nu27s4/gzOSaAGBX/vCHP8SDDz7Ypq8f/vCHaWMMHz68WZ8pU6ak9SkoKIhjjz027Vpr99okSWLOnDlp13a212bquT6TawKA1jr55JMjK+vtfy5bunRpbN68udX3Nw1HNf1o5gj7elP2dQA62o5++WrNmjVtGqPpSd8tvVd/8sknp7U7633xpvPMnTs3ysvLWzXPk08+GRUVFY3tadOmxbRp01o9V2etCQA6g2fudHvqmuh4wt9Aux155JExZMiQxvaSJUvikUceadW9t956a1r71FNP7cjSAGCPs3bt2njPe94Tq1atarw2evToeOihh2L06NEdMscpp5yS1m6637bkjjvuiLKyssb2oYceGqNGjWqx/0knnZR2esojjzwSS5Ys2eU8SZLEL3/5y7Rru/oZIFNrAoBdOe644+KEE05o09chhxySNkafPn2a9dnRG6K7u/89/PDDsXTp0sb28OHD44gjjmixfyaf6zO1JgBorWHDhsVRRx2Vdu3ee+9t1b11dXVx3333pV2bPXv2Dvva199mXwego+Xm5sbIkSPTrv3zn/9s0xgPPfRQWvudB5K8U9P97/bbb29VQGrx4sXx6KOPNrZzcnLipJNOarH/2LFjY9asWY3tsrKyuPPOO3c5T0T79/TOWhMAdBbP3G/bk9dExxL+BtotKysrzj333LRr11xzzS4fCB966KF4/PHHG9sFBQVx5plndkaJALBH2Lx5c5x44omxePHixmtDhw6NBx98MCZOnNhh83z605+OVCrV2P79738f8+fP3+k9VVVVce2116ZdO//883d6z6BBg+K0005rbCdJEt/85jd3Wd9tt92W9vFP48ePjxNOOGGn92RqTQCwJzn77LMjLy+vsf3YY4/t8h+vkySJa665Ju3aeeedl3aiaVOZfK7P1JoAoC0uvPDCtPZ///d/R3V19S7v+8UvfhHr1q1rbPfv3z/e97737bCvfX0b+zoAneU973lPWvv666+Purq6Vt376KOPpn2C5I7Ge8v73ve+GDNmTGN72bJlcfvtt+9yjm9+85tp+/GHP/zhGDBgwE7vafp+9rXXXhtVVVU7vWf+/Plxxx13NLZ39LNBU5lcEwB0Bs/c2+zpa6KDJQAdYOPGjUl+fn4SEY1f3/ve91rsv2rVqmTChAlp/b/61a9msGIAyKySkpLksMMOS9v7CgsLkxdffLFT5jvrrLPS5jrssMOSrVu37rBvQ0NDcuGFF6b1nzRpUlJTU7PLeebNm5dkZWWl3fvb3/52p/0LCwvT+t9yyy171JoAoKM9/PDDaXvS+PHjW33vVVddlXbvxIkTk9WrV7fY/zvf+U5a/wEDBiRFRUW7nCeTz/WZWhMAtFZ9fX1ywAEHpO03n/rUp5L6+voW73nqqaea7Z1XX331Tuexr9vXAeg8f/vb39L2mIhILrjggp3u50mSJAsXLkxGjRqVdt/UqVOTurq6Fu+56aab0voPHDgwmTdvXov9f/Ob36T1z87OThYsWLDLNVVXVyfjxo1Lu/eiiy5KGhoadth/69atyaGHHprW/+Mf//gu58nkmgDgndrz3nlTnrm7x5roOMLfQIf57ne/2+yB+uKLL07bdOrr65P77ruv2UPqqFGjki1btnRd8QDQyWbPnt1sn/zWt76VPPjgg23+2rx58y7nW7hwYdKvX7+0+WbOnJk8/PDDaf0WLFiQnH766c1qu/POO1u9ts9+9rNp92ZlZSVf+9rX0uqsqalJbr/99mTgwIFpfQ888MCktra2VfNkck0A0JHa8wZ2UVFRMmLEiGb3/+EPf0j7x96VK1c2+8WniEh+8IMftHquTD3XZ3JNANBac+bMSVKpVNqec8IJJyTPPfdcWr/i4uLkRz/6UbN/FJ02bVpSUlKy0zns6/Z1ADrX8ccf32yvOfroo5M5c+Y0ex9606ZNyQ9/+MNkwIABze656667djpPTU1NMmPGjLR7Bg0alPzqV79Km6eoqCj56le/2uwAlUsuuaTVa/rtb3/brL6PfOQjyZtvvpnW76GHHkoOPPDAtH75+fnJkiVLWjVPJtcEwN7niSee2OG/e//whz9M20+GDx/e4r+R7+yXkpLEM3d3WRMdJ5UkuzifHaCVGhoa4tRTT40HHngg7Xp2dnaMHz8+BgwYEEuXLo3i4uK01/v27RsPPvhgHHXUURmsFgAyK5VKddhYDz/8cMyePXuX/X7/+9/HOeec0+wjmYYOHRrjxo2LDRs2xKpVq5q9/vnPfz5uuOGGVtdTUVERxx13XDz33HNp13Nzc2PixInRu3fvWLJkSZSVlaW9PmTIkHjyySdj2rRprZ4rU2sCgI70yCOPxPHHH9/YHj9+fCxbtqzV9z/22GPxvve9r9lHOxcWFsbEiROjuLg4VqxYEfX19Wmvn3rqqXHfffe1+ueQTD7XZ2pNANAW3//+9+Pqq69udn3EiBExZsyYKC8vj8WLF0dNTU3a64MHD46HH344DjjggF3OYV/f/TUBwK6sW7cujjzyyFi6dGmz1/Lz82PixInRt2/fKCoqiiVLljR7Hzki4otf/GL88Ic/3OVc8+fPj6OPPjo2b97cbJ7JkydHZWVlLF26NGpra9NeP/zww+ORRx6Jvn37tnpdl1xySdx0001p11KpVIwdOzaGDh0ay5cvj02bNqW9npWVFXfccUd85CMfafU8mVwTAHuXCRMmxPLly9s1xqc+9an45S9/udM+nrm7x5roIF0YPAd6oMrKyuTss89u9ptALX0NHjy42WmdANATtXZvbM1XW/bO3/72t0nfvn1bPfbll1/e4kdG7kxRUVHyb//2b62eZ8KECckrr7zS5nkyuSYA6Cgd8dGVDz30UDJo0KBW73/nnHNOUlVV1eZ5Mvlcn6k1AUBb3HDDDUlOTk6r96d99tmn2cmbu2Jft68D0HlWrFixw0/i3NVXTk5Ocu2117bpveSXXnopGT9+fKvnOOGEE3brVMz6+vrkC1/4Qqvn6devX3LHHXe0eZ5MrgmAvUtb9paWvj71qU+1ai7P3N1jTbRfVgB0oD59+sTvfve7uPvuu+Oggw5qsV9eXl5ccskl8frrr7fq5FIAYPd89KMfjddeey3OOeecyMnJabHfscceG4888kj893//926duDVo0KB48MEH4+abb44pU6bstN+Xv/zlePXVV1t1ItqOZGpNALAn+bd/+7d4/fXX4+KLL45+/fq12G/WrFlxzz33xG9+85vo3bt3m+fJ5HN9ptYEAG3x+c9/Pl555ZU466yzdvrMOXHixPjJT34Sr7zySkydOrVNc9jX7esAdJ6xY8fGQw89FHfeeWfMnj07srJ2HosZMGBAXHzxxfHqq6/GVVdd1ab3kmfOnBmvvvpqfOlLX4qBAwe22G/q1Knxi1/8Iv7xj39EYWFhq8d/S1ZWVvz4xz+Of/7zn3HMMce02C83Nzc+9rGPxWuvvRZnnnlmm+eJyNyaAKCzeObuHmui/VJJsoPPsQHoIIsWLYqnn346Vq9eHTU1NVFYWBj77rtvHHXUUdGnT5+uLg8A9iolJSXxxBNPxMKFC6O0tDT69OkT48aNi6OOOipGjx7doXO9+uqr8cILL8TatWujvr4+Bg8eHPvvv38cccQRO/3H87bK5JoAYE9RWVkZc+fOjfnz50dxcXHk5ubG6NGj44gjjtjpL2Htjkw912dyTQDQWiUlJTF37txYuHBhbN26NfLz82P48OFx8MEHxz777NMhc9jXAaBzlZaWxnPPPRdLliyJ4uLiqKqqiv79+8fgwYPjwAMPjP3222+XAfHWqK2tjaeffjpee+21KCoqiuzs7Bg5cmQcfPDBu30QSktWrVoVc+fOjRUrVkRVVVUUFBTE1KlT4+ijj47+/ft32DyZXBMAdAbP3O0j97dnE/4GAAAAAAAAAAAAAOgG2v/riwAAAAAAAAAAAAAAdDrhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBoS/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBsQ/gYAAAAAAAAAAAAA6AaEvwEAAAAAAAAAAAAAugHhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBoS/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBsQ/gYAAAAAAAAAAAAA6AaEvwEAAAAAAAAAAAAAugHhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBoS/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBsQ/gYAAAAAAAAAAAAA6AaEvwEAAAAAAAAAAAAAugHhbwAAAAAAAAAAAACAbkD4GwAAAAAAAAAAAACgGxD+BgAAAAAAAAAAAADoBoS/AQAAAAAAAAAAAAC6AeFvAAAAAAAAAAAAAIBuQPgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5A+BsAAAAAAAAAAAAAoBsQ/gYAAAAAAAAAAAAA6AaEvwEAAAAAAAAAAAAAugHhbwAAAAAAAAAAAACAbqBXVxcAnaG4uDgeffTRxvbYsWOjd+/eXVgRAAAAAAAAAAAAAD1BdXV1rFy5srF93HHHRWFhYUbmFv6mR3r00UfjtNNO6+oyAAAAAAAAAAAAAOjh7r///jj11FMzMldWRmYBAAAAAAAAAAAAAKBdhL8BAAAAAAAAAAAAALqBXl1dAHSGsWPHprXvv//+mDJlShdVs3crKyuLZ555prF9+OGHR35+fhdWBADsDns6APQc9nUA6Bns6QDQM9jTAaBnsKfvfRYtWhSnnXZaY7tpbrUzCX/TI/Xu3TutPWXKlJgxY0YXVbN3KykpiXXr1jW299133+jfv38XVgQA7A57OgD0HPZ1AOgZ7OkA0DPY0wGgZ7Cn0zS32pmyMjYTAAAAAAAAAAAAAAC7TfgbAAAAAAAAAAAAAKAbEP4GAAAAAAAAAAAAAOgGhL8BAAAAAAAAAAAAALoB4W8AAAAAAAAAAAAAgG5grwt/V1VVRVVVVVeXAQAAAAAAAAAAAADQJr26uoDOsHnz5njiiSfiueeei5dffjmWLVsWK1eujJKSkkiSJCIiUqlU9O/fP8aNGxcTJkyIAw88MA499NA46qijYvDgwV28gp1LkiSWLVsWr776aqxatSqKi4ujd+/eMXDgwJg6dWocdthh0adPnw6ds7S0NJ588sl48803o6SkJPr27Rvjx4+PI488MkaNGtWhcwEAAAAAAAAAAAAAzfWY8PeSJUvit7/9bTzwwAPx/PPPR0NDQ+NrbwW+3ylJkiguLo7i4uJ49dVX409/+lNEbAuFH3LIIXHyySfHOeecE1OmTMnYGnZmy5Ytcf/998ff/va3+Oc//xmbNm1qsW9OTk6cfPLJcdlll8Vxxx3XrnmXLl0aX//61+POO++MmpqaZq+nUqk47rjj4pprroljjz22XXMBAAAAAAAAAAAAdEcNScTysohXN2fFoidXxBffv39Xl0QP1a3D37W1tfH73/8+brrppnj66acbr7/zdO93/rkrSZJEkiTx3HPPxXPPPRfXXHNNHHbYYfG5z30uzj777MjJyen4RbTC5z73ubjlllt2GL7ekdra2rj//vvj/vvvj09+8pPxP//zP9G/f/82z3vnnXfGeeedFxUVFS32SZIkHnnkkZg9e3ZceeWV8b3vfa/V/3sDAAAAAAAAAAAAdFc1dQ3xryVF8cCLK+Lvr2VHSe22/OSrJWvjC++bEVlZ8pR0vG4Z/q6oqIgbbrghfvKTn8SGDRsiYlsIuWno+J0nfufm5kZeXl7069cvkiSJysrKKC8v32mgOkmSePbZZ+Pcc8+NK6+8Mi699NK49NJLIy8vr3MW1oKnn356h3VmZ2fHyJEjY/jw4VFbWxvLly+PrVu3pvX53//933jjjTfioYceivz8/FbPedddd8VHP/rRtBPUIyKGDh0aY8eOjQ0bNsTq1asb/zdOkiS+//3vR3V1dVx33XW7sUoAAAAAAAAAAACAPVt5dV08smBj/OP1dfHPNzZEaVXd9lfezrBuKKuJl1cVx6xxA7umSHq0bhX+rqurixtuuCG+//3vx6ZNmxoD3+8MIPfv3z+OPvroOOSQQ+KAAw6I6dOnx6hRo2LQoEE7HLOoqCjWrFkTb7zxRrz66qvx/PPPx5NPPhklJSWNY6ZSqVi/fn189atfjeuuuy6uvvrq+PznP98lJ4EXFhbGOeecEyeffHIcc8wxUVBQ0PhafX19PP744/H1r389Hn/88cbrzzzzTJx77rlx9913t2qOxYsXx3nnnZcW/J45c2Zcd911cfzxxzdeW7BgQXz5y1+Oe++9t/Ha9ddfH8ccc0ycfvrp7VkmAAAAAAAAAAAAwB6hqKw65sxfH3+ftz6eWLQpauoadnnPP15fL/xNp+g24e8HHnggvvjFL8aiRYvSTvlOkiT222+/+NCHPhSnnnpqHHzwwZGVldXqcQcPHhyDBw+OAw44IM4444yIiGhoaIgXXngh/vCHP8R9990Xr7/+emP/TZs2xRVXXBE/+9nP4rrrrouTTz65YxfaggkTJsRXv/rVOOecc6Jv37477JOdnR2zZ8+Ohx9+OC655JK4+eabG1+755574uGHH04Lb7fka1/7WpSXlze2DzvssJgzZ070798/rd8+++wTd999d1x00UVpc1155ZVxyimnRK9e3eY/LwAAAAAAAAAAAIBGKzdXxN/nrYt/zFsfzy3fHA1J2+7/+7x1cdW/T++c4tirdZt07imnnJJ2yndBQUGcc8458ZnPfCYOPvjgDp0rKysrDj300Dj00EPj29/+drz44ovxi1/8In73u9/F1q1bIyJi0aJFceqpp0ZdXd0uRmu/a665Jk488cTIzc1tVf/s7Oy48cYb44UXXojnnnuu8fott9yyy/D3vHnz4o477mhs5+bmxq9+9atmwe+3pFKp+MlPfhIPP/xwLFy4MCK2nRx+++23xwUXXNCqegEAAAAAAAAAAAC6UpIkMX9tafzj9XXx93nrY/7aknaNt2RjeSzaUBpThhV0UIWwTeuPyN4DJEkSo0ePjh/84AexcuXKuPHGGzs8+L0js2bNihtvvDFWrlwZP/jBD2LUqFGN9WTCySef3Org91uys7PjyiuvTLv297//fZf33XbbbdHQ8PbHEZx99tmx77777vSePn36xNVXX5127ZZbbmlDtQAAAAAAAAAAAACZVd+QxDNLN8e3H3g9jv3vh+OkGx6P6+csbFfwOzuVxLFTBsW1px8QQwv6dGC1sE23Ofl7yJAh8ZWvfCUuvvjiNgehO0p+fn5cfvnlcemll8aNN94Y3/ve97qkjtY65phj0tpFRUVRUVER/fr1a/GeP/7xj2nt888/v1VznXXWWXHppZdGeXl5REQ8++yzsWbNmsagPAAAAAAAAAAAAEBXq6qtj7mLN8XfX1sfc+avj6LymnaPmd87O6bl18aBg5PYtzCJ958wI/r3798B1UJz3Sb8vWTJksjPz+/qMiIiIjc3Ny677LL4zGc+09Wl7NTAgQObXdu6dWuL4e8FCxbEokWLGtt5eXlx5JFHtmqut/o++OCDEbHtVPQ///nPccEFF+xG5QAAAAAAAAAAAAAdY2tFbTzy5ob4x7z18ciCDVFeU9/uMYcW9I4T9xse75sxIvYfmhNPPPZoB1QKu9Ztwt97SvD7nfbEmt5p9erVza4NHjy4xf4vvfRSWvvwww+PXr1a/5/IUUcd1Rj+3tF4AAAAAAAAAAAAAJ2lviGJZUXl8cba0nhjXUnM3/7nqi2VHTL+xCF58d4Zw+O9+42IWWMLIysrFRERJSUlHTI+tEa3CX/Tdo8//nhae/z48ZGbm9ti//nz56e199tvvzbN17R/0/EAAAAAAAAAAAAAOsLm8pp4Y21JzF9XGm+sLYk31pXGm+tLo7quoUPnOWD0gHjfjOHx3hkjYuqw/EilUh06PrSV8HcPdtttt6W1TzrppJ32X7BgQVp77NixbZqvaf+m4wEAAAAAAAAAAAC0RXVdfSzeUB5vrCuJBetKG8PeG0qrO2W+7KxUHDFxULx3v22B71GFfTtlHthdwt891F/+8pd47LHH0q6de+65O71nw4YNae0xY8a0ac7Ro0entTdu3Nim+wEAAAAAAAAAAIC9U5Iksb6kOuavK4k31pbGG9v/XLyxLOoakk6du09OVhw7dWi8d8aIeM/0YTEwL7dT54P2EP7erqysLJ5++unYtGlTDBw4MA466KAYNmxYV5e1WzZv3hwXXnhh2rXTTjstDj/88J3eV1ZWltbOy8tr07xN+9fW1kZ1dXX07t27TeM0tWHDhjYHyRctWpTWLisri5KSknbVwe4pLy/faRsA6B7s6QDQc9jXAaBnsKcDQM9gTwdgb1VeXReLNlXEwg3lsWjjtj/f3FgeWyvrMlZD/z694ripg+I90wbHuycNjL452dteqK+KkpKqNo1lT9/7NM3cZlKPC39XV1fH6tWrG9sjRoyIfv36tdi/qqoqLr/88rjllluitra28XpWVlaccsopccMNNzQ70XpP1tDQEB//+Mdj1apVjdcGDBgQN9xwwy7vbfofYp8+fdo0d9++zT/aoKysrN3h7xtvvDGuueaado3xzDPPxLp169o1Bh3jmWee6eoSAIAOYE8HgJ7Dvg4APYM9HQB6Bns6AD1NfUPEhqqItRWpWFORirUVEWsqUrG5OtUl9RTmJnHAoCQOHJTE5IK6yM5aE7FmTTy1pmPnsaf3fCtWrOiyuXtc+PunP/1pXHHFFRER0atXr1iyZEmL4e+6uro48cQTY+7cuZEk6R8JUF9fH/fff3/MnTs3nnjiiZg8eXKn194RrrjiivjrX/+adu3nP/95jB07dpf3VlWl/6ZKbm7bPrZgRyHvysrKNo0BAAAAAAAAAAAAdC9JElFcE2kB77UVqVhfGVGfZD7onYokhvWNGNUv2faVt+37gbkRqa7JnUOH6XHh73vuuacxyH3KKafs9NTu73znO/Hkk09GKpWKVCqVFgB/q71+/fo49dRT4+WXX47s7OxOr789brjhhvjxj3+cdu3KK6+Ms846q1X3Nz3pu6ampk3zV1dX73JMAAAAAAAAAAAAoPuqqItYW/HO07y3Bb4r67smVZ3fK4lReUmM6vd22Ht434jcPTvyCbutR4W/q6ur4/nnn4/U9l/LOPXUU1vsu3Xr1vjxj3+cFvo++uij46ijjopNmzbF3XffHSUlJZEkScyfPz9+/vOfxyWXXJKRdeyO3/72t3HZZZelXTv33HPj2muvbfUY+fn5ae2mJ4Hvyo5O+W465u645JJL4owzzmjTPYsWLYrTTjutsX344YfHvvvu2+5aaLvy8vK0j7A4/PDDIy8vrwsrAgB2hz0dAHoO+zoA9Az2dADoGezpAOzJauoaYmlRRSzaWBELN5bHwg3lsXBjRawraX5QbCbkZKdi8pB+MXVYXkx762toXgzOz+2Set7Jnr73mT9/fpfN3aPC3/PmzWs8rTqVSsXxxx/fYt+77747SktLG0/9/spXvhLf+ta3Gl//yle+EkceeWSsX78+kiSJX/ziF3ts+PuBBx6IT33qU2knl59++ulxyy23NAbhW6NpULu8vLxNdTTt36tXrw45+XvYsGExbNiwdo2Rn58f/fv3b3cttF9eXp7/WwBAD2BPB4Cew74OAD2DPR0AegZ7OgBdoaauIZZuKo8315fGwvWl8eb6snhzQ2ksL6qI+oZk1wN0gpED+sT0EQUxfWT/mD6iIPYd2T8mDsmLnOysLqmnrezpPV9HHI68u3pU+HvJkiWN3xcWFsbo0aNb7HvvvfdGRESSJDF69Oj4xje+kfb6hAkT4tvf/nZccMEFERHxyiuvxNq1a2PkyJGdUPnue/jhh+OMM86Iurq6xmsnnnhi/O53v4vs7LZ9ZkHTgPWqVavadP/q1avT2kOHDm3T/QAAAAAAAAAAAEDnqKtviGVFFfHm+tLtQe+yeHN9aSzdVB51XRTy7pebHdOGF2wLer8j7F3Yr+tP84Y9VY8Kf69duzYitp36PWrUqBb71dXVxeOPP954KvY555yzw6D0mWeeGRdddFHU19dHRMRLL720R4W/n3766TjllFOiqqqq8dqRRx4Z9913X+Tmtv0vvn322SetvWLFijbd37T/9OnT21wDAAAAAAAAAAAAsPvqG5JYsXl7yHtdaby5oSwWri+NJRvLo6a+oUtqys5KxaQhebHP9pD3tsB3/xgzsG9kZaW6pCbornpU+Lu8vLzx+4KCghb7vfTSS1FWVhYR24LiJ5100g77FRQUxIQJE2Lx4sUREbFs2bKOK7adXnnllXj/+9/fuI6IiFmzZsVf/vKXyMvL260xm4a1X3/99TbdP3/+/J2OBwAAAAAAAAAAAHSMhoYkVm2p3Bby3rA96L2+LBZvLIvquq4JeUdEjBzQJ/YZUdAY9N5neP+YPCwvevdqfkgv0HY9KvydJG9/7EBtbW2L/Z588snG73NycuJd73pXi30HDx7cGP4uKSnpgCrbb8GCBXHiiSfGli1bGq/tu+++8fe//z0GDBiw2+MedNBBae1nn3026urqolev1v1n8s7/XXc0HgAAAAAAAAAAANB2SZLEupKqeHllcby4sjheXlkcr67aGuU19V1WU0GfXrHP8HeEvEf0j32GF8SAfjldVhPsDXpU+Lt///4Rsf0vuXXrWuz38MMPR8S2U78PPfTQ6N27d4t96+vf/ovxneHyrrJ8+fI44YQTYsOGDY3XJk6cGA8++GAMHTq0XWNPnz49Jk+e3Bh2Ly8vj7lz58axxx67y3vLy8vjX//6V2M7lUrFBz7wgXbVAwAAAAAAAAAAAHuj0qraeGXV1nhpe9D7pZXFsaG0uktqyclOxeSh+Y0B7+nbT/UeOaBPpFKpLqkJ9mY9Kvw9ZsyYxu/Xrl0bGzdubBaIrqysjDlz5jT+hXPcccftdMx3nq6dn5/fgdW23dq1a+M973lPrFq1qvHa6NGj46GHHorRo0d3yBynnHJKXHfddY3tW2+9tVXh7zvuuCPKysoa24ceemiMGjWqQ2oCAAAAAAAAAACAnqq2viHeWFsaL616O+i9eGNZZPq82l5ZqZgwJC/2GV4QU4fnx7ThBTFteH6MH5wXOdlZmS0GaFGPCn/PmjUrIradOp0kSfz617+OL3zhC2l9fvvb30ZFRUVjv+OPP77F8Wpra2PVqlWNQfGRI0d2UuW7tnnz5jjxxBMbT+WOiBg6dGg8+OCDMXHixA6b59Of/nRcf/31jaec//73v4+rr7469t133xbvqaqqimuvvTbt2vnnn99hNQEAAAAAAAAAAEBPkCRJrNhcES9tD3m/vLI45q0pieq6hozVkJWKmDA4rzHcPXV4QUwbXhATh+RFbi8hb9jT9ajw97hx4+LAAw+MV199NZIkiW984xtxyCGHNJ5c/fLLL8dXvvKVxnD4oEGDYvbs2S2O99prr0VNTU1EbAuKT5kyJRPLaKa0tDT+/d//PebNm9d4rbCwMP7xj3/sNJS9O/bff/8488wz44477oiIiJqamvjUpz4Vc+bMif79+zfrnyRJXHbZZbFw4cLGa5MmTYpPf/rTHVoXAAAAAAAAAAAAdDeby2vi5VXF8dKK4nh5+8neWypqMzJ3KhUxblC/mDqsIPYZse0k76nDCmLS0Lzok5OdkRqAjtejwt8REZdccklcdNFFkUqloqysLI4//viYPn165OTkxOuvvx719fWRJEmkUqk4//zzo1evlv8nePDBBxu/7927d+y3336ZWEIzp5xySjz77LNp1/6//+//i02bNsWcOXPaNNYhhxwSAwcO3Gmf//qv/4o//elPjSekP/vss3HsscfG9ddfnxaWf/PNN+NLX/pS3HvvvWn3X3vttZGTk9OmugAAAAAAAAAAAKC721BaFY8u2BhPLNoUL64ojhWbKzIy75iBfbeFu4fnxz7bT/KePDQ/+uYKeUNP0+PC3xdccEH87//+b8ydO7fxhO/58+c3vp5KpSIiYuTIkXH11VfvdKy777678Z5DDz20ywLNjzzySLNrX//613drrIcffninp51HREyZMiVuvfXWOOeccyJJkojYdmr68ccfH0OHDo1x48bFhg0bYtWqVY2vv+Xzn/98nHHGGbtVGwAAAAAAAAAAAHQndfUN8cKK4nhkwYZ4ZMHGeH1tSafPOWFwv5g5tjAOGlsYB44pjOkjCiKvd4+LgwIt6HH/355KpeKBBx6IU045JZ544om060mSRJIkMXz48PjDH/4QhYWFLY7z0ksvxXPPPdcYFj/xxBM7u/Q9ytlnnx1JksT5558flZWVjdc3btwYGzdu3OE9l19+efzgBz/IVIkAAAAAAAAAAACQceu2VsWjb26IR9/cGI8v3BSlVXWdNtegvNyYOWZAHDR2YMwcOyBmjimMgXm5nTYfsOfrceHviIjCwsJ47LHH4q677oq777473nzzzaisrIxRo0bFiSeeGBdddFEMHDhwp2P88Ic/jIhoPNn61FNP7fS69zQf/ehH44gjjoivfe1rcdddd0Vtbe0O+x177LHxrW99K4477rgMVwgAAAAAAAAAAACdq7a+IZ5fviUe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f3+/Of/88yf9TBs3bjRPP/30gn4mAABm6he/+EXJz6fpfAN769atE/7jseL/fojH41O+z3z+vX6+ngkAgKn65S9/aTo6Oqb0d/eOjo5Jr8/nOp/rAIC5k06nzcc+9jFj2/aUP8vvvffeKd3rT3/604T/UCz/deGFF5qBgYEpP5PjOOajH/3opO8TCoXMHXfcMeX7zOczAQCWjkceecS88Y1vNCtXrpzwc2U2wt/8nXtxPBNmzjLGGAHALHAcR29605t01113FYx7PB6tXbtWjY2N2rVrlwYHBwvO19bW6r777tMrX/nK+SwXAIB5deqpp+rxxx8fM577NYkdHR1KJpPas2fPmM9KSTr99NP129/+dkq/svH222/XFVdcIcdxCsbb2tq0Zs0adXd3a//+/Sr+K8E111yjG2+8cdL3GRkZ0bnnnqtt27YVjPv9fq1fv16BQEAvvfSSIpHImDoee+wxbdq0acE9EwAAMzU4OKjjjz9e+/fvH3Nu3bp12r1796TXeuSRR3TBBRdoZGSkYLypqUkbNmxQf3+/9u7dq3Q6XXD+TW96k+64445J//rq+fx7/Xw9EwAAU3XjjTfqIx/5yJi/VwaDQa1cuVKtra0aGRnRwYMH1dPT457v6OhQV1fXhOvzuT79ZwIAYDLe+9736nvf+96Y8draWh1xxBGqqalRb2+vXnrppTGf936/X3feeacuuuiiCe/z/PPP6+yzzy747wFJqqur08aNGzUyMqLdu3crmUwWnH/lK1+p+++/X8FgcNLP9L//9//WN77xjYIxy7K0evVqtbW1qbOzc0wdHo9Ht99+u974xjdO+j7z+UwAgKXja1/7mq699tpJzZ3q986L8XfuxfFMmCWVTJ4DqC7/8A//MOZf+HzgAx8w+/fvd+ek02nz85//3Kxdu7Zg3urVq/kXwQCAqrZ582b3c6+pqclcffXV5u677zZDQ0MF81KplNm6dat51ateNeZz9c1vfvOk77djx44xv/Lp5S9/ubn//vsL5j333HPmTW9605h7/exnP5v0vT7wgQ8UXGvbtvnUpz5l+vr63DnxeNzcfPPNprm5uWDuySefbFKp1IJ7JgAAZuq9731vwY5b+Z9JU9m9pK+vb8yOKOvWrTN33nlnwW+22Lt3r3n/+98/5vPvq1/96qTvNV9/r5/PZwIAYCq+973vjfncueiii8y9995rYrHYmPn79+83//Ef/2He/OY3mzVr1ky4Pp/rfK4DAObW7bffPuaz5rjjjjN33323SSaTBXO7u7vNDTfcMOY3dra1tRV8b7uUZDJpTjzxxILrli1b9v+zd+fxUdX3/sffM9n3bcIWliwzrCqbApIEtUptxe1aRUu1aN2qrbb9Va3a1qu9bbXVWy1dvCouxbovoEVrBUXJgCwKCgLCTBKWsGaykn2Z8/sjMDJZSEJOJpnwej4ePB6cc77n8/0em/KdM3mf7zH+8Y9/GA0NDb52JSUlxi9/+cs2q5DfdtttXb6mV155pd3fFezYscOv3fLly43TTjvNr11cXJxRWFjYpX4CeU0AgJPLo48+2uHK0bGxsSf83Xlr3HMHxzXBPIS/AZjC4/EYcXFxfv+wP/jggx22LyoqMtLT0/3a33fffQEcMQAAgTV16lQjPT3dWLhwoVFTU9Np+6amJuOmm25qc4PVOujcke9+97t+551xxhlGRUVFu229Xm+bvrKystp8Gd6ebdu2GSEhIX7nvvjiix22//LLL43ExES/9s8880y/uiYAAHpqxYoVhsViMaSWh6L++Mc/nvAX2Pfcc4/fuRkZGX5ftrb2u9/9zq99QkJCp7+0NozA3tcH6poAAOgOl8tlREZG+uabsLCw497fttaVuYl5nXkdANC7TjnlFL955vTTTzeqqqqOe84HH3xghIaG+p33+9///rjnPPHEE37tk5KSjC1btnTY/oUXXvBrHxoa2ia83Z76+vo2c/QPf/hDv7DXscrLy43TTz/dr/33v//9TvsJ5DUBAE4+R8PfcXFxxtlnn23ceeedxmuvvWbs3LnTWLFihWnhb+65g+OaYB7C3wBMcdddd/n9gz5r1qwObzqPWr58ud85cXFxhsfjCdCIAQAIrKVLlxr19fXdOqepqanNF7Xz5s3r9Lwvv/zSb9WN8PBwY+vWrcc9p7a21nA4HH59Pfnkk532NXfuXL9zrrnmmk7Pab2S2qhRo/xWDunrawIAoCdqamqMrKws39zzk5/85IS/wD506FCblU+WL19+3HO8Xq8xa9Ysv3PuvffeTvsK1H19IK8JAIDuOOecc/zmmldffdXU+szrPbsmAAA6k5+f7ze/SDLWrVvXpXNbr5R55plndti2vr7eGDFihF/7p59+utM+rr766m5/1//3v//d7xyHw2HU1tYe95wtW7b4rWYeEhJibNu27bjnBPKaAAAnH7fbbWzZssVobm5uc8ys8Df33MFxTTCXVQDQQ16vV88++6zfvvvvv18Wi+W455177rnKzc31bR8+fFivvvpqr4wRAIC+NmfOHIWHh3frnJCQEN11111++/7zn/90et4zzzwjr9fr277qqqs0bty4454TGRmpu+++22/fwoULj3tOWVmZ3nzzTd+2xWLR/fff3+n4rrvuOo0aNcq3vWvXLi1fvvy45wTqmgAA6Klf//rXys/PlySNHDlSv/3tb0+41ssvv6yqqirf9qxZs3Tuuece9xyLxaL//u//9tv3zDPPyDCMDs8J5H19oK4JAIDueOutt7RixQrf9hVXXKErrrjC1D6Y11swrwMAesv27dv9tocPH64zzjijS+d+5zvf8dt2u90dtv3Pf/6jPXv2+LbT09N13XXXddpH6/n4tddeU0VFxXHPaf199j333KPIyMjjnjN+/HhdeeWVvu3m5uY2nw1aC+Q1AQBOPllZWRo/frys1t6LqnLP3aK/XxPMRfgbQI+tXr1axcXFvu3MzEydffbZXTr3+uuv99tesmSJiSMDACD4HXvDJEklJSWqqak57jlvv/2233br+bYjV155pWJiYnzb69ev1759+zps/84776ipqcm3ffbZZyszM7PTfqxWa5svjjv7DBCoawIAoCfWr1+vxx57zLf9t7/9TbGxsSdc76233vLb7ur8d8455ygjI8O3feDAAa1Zs6bD9oG8rw/UNQEA0B1PPvmk33brX5SagXn9a8zrAIDeUFpa6rc9YsSILp87cuRIv+3y8vIO27ae/6677rpOw1FSS/DtrLPO8m03Njbq3Xff7bB9UVGRNmzY4NuOjY3V3LlzO+1Hajsntx5za4G6JgAAegv33F/rz9cEcxH+BtBj77zzjt/27Nmzu3QzeHQ7jUsAAQAASURBVLTtsT766CNVV1ebNjYAAIJdUlJSm33HWzlj+/btfquSxMTEaObMmV3qq3VbwzDazPPHan3sm9/8Zpf6kdp+Bli6dGmHbQN5TQAAnKjGxkZdf/31am5ultSyYuiFF154wvWqqqq0cuVKv31dnWstFovOO+88v33Hm2sDdV8fyGsCAKCr9u7d6/eWrUmTJmnChAmm9sG87o95HQDQGxISEvy2a2tru3xu67Y2m63DtoH6Xrx1P9nZ2X4LnRxPdna2oqOjfdvbt2+Xy+Xqcl+9dU0AAPQG7rn99ddrgvkIfwPosc8//9xvu6thLEkaNmyY0tPTfdsNDQ3aunWrSSMDACD47d27t82+lJSUDtu3npenTZum0NDQLveXnZ193HrHO9adzwBTp05VRESEb3vfvn1+TxQfr5/evCYAAE7Ugw8+qM2bN0uSEhMTtWDBgh7V27JlixobG33bGRkZGjJkSJfPD9Sc3p37+kBeEwAAXfXee+/5Ht6SWlbIMhvzelvM6wAAs02aNMlve9u2bV0OH61bt85ve9q0ae22O3jwoA4cOODbjoiI0JQpU7o8xkDN6aGhoW2uoaO+AnlNAAD0Bu652+qP1wTzEf4G0GPbtm3z2x4/fny3zm/dvnU9AABOZnl5eX7bo0aNUnh4eIftAzUvNzY2+q3G3d2+IiIilJWV1aW++KwBAOjvtm7dqt/97ne+7T/84Q/d+iK2PYGc/wLVF3M6AKA/Wr9+vd/2xIkTfX/fuHGjbr/9dk2cOFFJSUmKjo5Wenq6Zs+erUceeaTdB7bbw7x+4v0AANBVw4cP9wsr1dfXd+nB7Pr6ej322GN++66//vp227aer+x2+3G/r2+t9fzndrvV1NTUpb4CNaf35jUBANAbuOc+8X4C3RfMRfgbQI/U1tZq9+7dfvtGjBjRrRqt22/fvr3H4wIAYKB45pln/LYvuOCC47ZvPY/21rxcUFDg9wVuVFTUcV+F2ZO+AnVNAACcCK/Xq+uvv14NDQ2SpNzcXN144409rmv2/Ldr1y7V1dW1aRfI+/pAXRMAAN3ROvydmZmpqqoqXX/99ZoyZYr+8pe/aNOmTSovL1dtba127dql5cuX684775TD4dC9997rtxpXe5jXO++HeR0AYIY//OEPslq/jsHcd999+sc//tFh+/Lycl1++eV+IaWLLrpIF110Ubvtezr/paamKjIy0rfd0NCgwsLCXukrUHN6d64JAIDewD135/30h2uC+Qh/A+gRj8cjwzB822FhYRo0aFC3aqSlpfltHzp0yJSxAQAQ7N59912tXLnSb9+111573HNaz6PDhw/vVp+t5+Xi4uIu9dP6vBPpq6PPAIG6JgAATsSCBQu0Zs0aSVJ4eLiefPJJWSyWHtft6fw3ePBghYaG+ra9Xq9KSkratAvkfX2grgkAgO5o/VYrq9WqWbNmtXkYuz21tbV68MEHdcEFF+jw4cMdtmNeb4t5HQDQG3JycvTXv/7Vd1/e1NSka6+9VtOmTdNDDz2kxYsX67333tM///lP3XbbbcrKytLSpUt958+ePVsvvfRSh/V7Ov9J0rBhw45b86jW32P39Hvx3prTpa5fEwAAvYF77rb64zXBfKGdNwGAjlVVVfltR0dHd/uX3DExMcetCQDAyai0tFQ333yz375LL71U06ZNO+55refR1vNsZ1q3b2xsVH19vSIiIkztp71zOvoMEKhrAgCguwoLC/WrX/3Kt33PPfdo7NixptTu6fxnsVgUFRXlF0Rrb64N5H19oK4JAICu8nq9bULbt99+uzZu3CipZe658MILdcEFF2j48OGqrq7Wxo0b9fzzz2vfvn2+c5YvX65rr71Wb7zxRrv9MK+3xbwOAOgtt9xyi8aMGaPbb79dW7ZskdTypo/Wb/s4VmZmpu666y7deOONfiuHtxao78Vra2vV3Nzco74CNad3py8AAHoD99xt9cdrgvlY+RtAj7T+B/vYVzp1VVRU1HFrAgBwsvF6vbr66qtVVFTk25eQkKAFCxZ0em5P5+bW83J7Nc3op72+unpz21vXBABAd910002qrq6WJI0dO1b33nuvabUDNdcG05zenb4AAOiKiooKvxWuJGnDhg2SpJSUFH388cd6++239cMf/lAXXnihrrzySj300EPavn275s2b53fem2++qUWLFrXbD/N6z/oCAKC7vvGNb2j9+vW64447FBIScty2I0eO1B133KF58+YdN/gt9d2cfiJ9MacDAE4W3HOfeF98DghuhL8B9EhdXZ3fdnh4eLdrtF51s7a2tkdjAgAg2N15553697//7bfviSee0IgRIzo9t6dzc3urYbc3NwfyM0CgrgkAgO54+umntXz5ckktq2g8+eSTJzQfdiRQc20wzend6QsAgK7o6BeSISEheuedd5Sbm9vu8djYWD3//PP65je/6bf/97//fZswucS83tO+AADorv/7v/9TVlaWHnnkkTYraLe2e/du3XrrrUpPT9czzzxz3LZ9NaefSF/M6QCAkwX33CfeF58DghvhbwA90vqJn4aGhm7XqK+vP25NAABOJgsWLNCf/vQnv3133XWXrrzyyi6d39O5ufW83F5NM/ppr6+OPgME6poAAOiq/fv364477vBt33DDDR2Gw05UoObaYJrTu9MXAABd0dE8csMNN2j69OnHPddqterxxx/3WyF0+/bt+vjjjzvth3m9e30BANBVjY2Nuvzyy3XLLbdo//79kqTk5GTdd999WrduncrKytTQ0KB9+/bp7bff1n/913/JYrFIkkpLS3X99dfrzjvv7LB+X83pJ9IXczoA4GTBPfeJ98XngOBG+BtAj8TGxvptt/cUcmdaP/HTuiYAACeLF198UT/96U/99l177bV66KGHulyjp3Nze0/itjc3B/IzQKCuCQCArvrRj36k8vJySdKQIUP0xz/+0fQ+AjXXBtOc3p2+AADoio7mkRtvvLFL52dmZuq8887z29de+Jt5vWd9AQDQVbfccoveeOMN3/a0adO0ZcsWPfDAAzrjjDOUmJiosLAwDR06VBdddJHefPNNLVmyxC+k9Mgjj+jZZ59tt35fzekn0hdzOgDgZME994n3xeeA4Eb4G0CPtP4Hu6ampt3XWh5PdXX1cWsCAHAyWLp0qebPn+83j1522WVauHChb+WRrmg9j7aeZzvTun1oaGi7T+f2tJ/2zunqzW1vXRMAAF3x2muvafHixb7tP//5z0pMTDS9n57Of4ZhnNCXu715Xx+oawIAoKuioqIUEhLity8uLk6TJ0/uco2zzjrLb/vTTz9t04Z5vS3mdQCA2T766CM9/fTTvu1BgwZp6dKlGjJkyHHPu/jii/W3v/3Nb9+dd97ZpUVFeut78fY+o/T0e/HemtO70xcAAL2Be+62+uM1wXyEvwH0iM1m8wukNTY26tChQ92qsXfvXr/tQYMGmTI2AACCxYoVK3TFFVeoqanJt2/27Nl66aWX2nzB25nW82hRUVG3zm89L6empnapn9bnnUhfHX0GCNQ1AQDQFce+/nnOnDmaO3dur/TT0/nv4MGDfp8trFarbDZbm3aBvK8P1DUBANAdrecnu90uq7Xrvz4bM2aM33Z78yjzelvM6wAAsy1YsMBv+6c//WmXvwu+9tprNXr0aN92SUmJ3nzzzTbtejr/SdK+ffuOW/Oo1mPv6ffivTWnS12/JgAAegP33G31x2uC+Qh/A+iRqKgojRw50m/f7t27u1WjdfuxY8f2eFwAAASLtWvX6uKLL/Z7hdLMmTO1ePFihYeHd7te618699a8nJmZqdDQUN92bW2tiouLe6WvQF0TAABdUV5e7vv7O++8I4vF0umfc845x6/Grl272rT5/PPP/dqYPf+NGjWq3TdfBPK+PlDXBABAd4wbN85vOz4+vlvnt25fVlbWpg3zeuf9MK8DAHrCMAx9+OGHfvsuuuiiLp9vtVo1Z84cv30rV65s066n89+hQ4f8fhcQHh6uzMzMdtsG6nvxQF4TAAC9gXvuzvvpD9cE8xH+BtBjrf/R3rp1a7fO37Zt23HrAQAwUG3atEnf/va3VVVV5ds3efJkvfvuu4qJiTmhmoGal8PCwpSVlXXCfdXX16ugoKBLffFZAwBwMgrk/BeovpjTAQD90fjx4/226+vru3X+sWEnSYqOjm7Thnn9xPsBAKArysrKVFFR4bcvIyOjWzVat2/vbZet56v8/Hw1NDR0uY/W819WVpbfIivH6ytQc3pvXhMAAL2Be+4T7yfQfcFchL8B9NikSZP8tlevXt3lc/fv36+dO3f6tsPCwtp82Q4AwEC0fft2zZ49229FsHHjxuk///mPEhISTrhu63l5/fr1fq906syqVauOW+94x7rzGeCzzz7z+4X60KFDO3wFVCCvCQCA/mLChAkKCwvzbe/cuVP79+/v8vmBmtO7c18fyGsCAKCrpkyZ4rd98ODBbp3f+nXIKSkpbdowr7fFvA4AMFN7D291N4B87LwmSc3NzW3aDBkyREOGDPHr97PPPutyH4Ga05uamrRu3bou9RXIawIAoDdwz91Wf7wmmI/wN4Aeu/DCC/22ly9fLsMwunTu+++/77d9zjnnKDY21rSxAQDQH+3atUvnnXee3y+IMzIytGzZMqWmpvao9tixY/1W5K6uru7yDVp1dbU++eQT37bFYmkzzx+r9bFly5Z1eZyt2x7vFZyBvCYAADrz1ltvadmyZd3688gjj/jVGDx4cJs2drvdr01cXJxmzZrlt6+rc61hGFq+fLnfvuPNtYG6rw/kNQEA0FVz5syR1fr1r8sKCwtVWlra5fNbh6Nav5pZYl5vjXkdAGC29h6+2rdvX7dqtF7pu6Pv6ufMmeO33Vvfi7fuZ/Xq1aquru5SP6tWrVJNTY1ve/To0Ro9enSX++qtawIAoDdwz+2vv14TzEf4G0CPzZw5UzabzbddUFCgjz76qEvnPv30037bl1xyiZlDAwCg39m/f7/OPfdcFRUV+falpaXpgw8+UFpamil9XHzxxX7brefbjrzyyiuqqqrybZ9++ukaNmxYh+0vuOACv9VTPvroIxUUFHTaj2EYeu655/z2dfYZIFDXBABAZ8466yydd9553fozdepUvxqRkZFt2rT3heiJzn8rVqxQYWGhb3vw4MGaPn16h+0DeV8fqGsCAKCrBg0apOzsbL99b775ZpfObWpq0uLFi/32nX322e22ZV7/GvM6AMBs4eHhGjp0qN++Dz/8sFs1PvjgA7/tYxckOVbr+e/ZZ5/tUkAqPz9fH3/8sW87LCxMF1xwQYftR4wYocmTJ/u2q6qq9Oqrr3baj9TzOb23rgkAgN7CPffX+vM1wVyEvwH0mNVq1bXXXuu374EHHuj0hvCDDz5QXl6ebzsuLk5z587tjSECANAvlJaWavbs2crPz/ftS01N1bJly5SRkWFaPz/4wQ9ksVh82y+//LK2bdt23HPq6ur00EMP+e27/vrrj3tOcnKyLr30Ut+2YRi6//77Ox3fM8884/f6p1GjRum888477jmBuiYAAPqTq666SjExMb7tlStXdvrLa8Mw9MADD/jtu+666/xWNG0tkPf1gbomAAC64+abb/bbfvjhh1VfX9/peU899ZQOHDjg246Pj9f555/fblvm9RbM6wCA3nLuuef6bT/22GNqamrq0rkff/yx3xsk26t31Pnnn6/hw4f7tnfu3Klnn3220z7uv/9+v/n4O9/5jhISEo57Tuvvsx966CHV1dUd95xt27bplVde8W2399mgtUBeEwAAvYF77hb9/ZpgMgMATFBcXGzExsYaknx/HnzwwQ7bFxUVGenp6X7tf/WrXwVwxAAABFZlZaVxxhln+M19iYmJxsaNG3ulvyuvvNKvrzPOOMOoqKhot63X6zVuvvlmv/aZmZlGQ0NDp/1s2bLFsFqtfue++OKLx22fmJjo137hwoX96poAADDbihUr/OakUaNGdfncX/ziF37nZmRkGHv37u2w/e9+9zu/9gkJCUZJSUmn/QTyvj5Q1wQAQFc1Nzcbp556qt98M3/+fKO5ubnDc9asWdNm7rz77ruP2w/zOvM6AKD3vPfee35zjCTjxhtvPO58bhiG4XK5jGHDhvmd53A4jKampg7Pefzxx/3aJyUlGVu2bOmw/QsvvODXPiQkxNi+fXun11RfX2+MHDnS79wf/vCHhtfrbbd9RUWFcfrpp/u1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AAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8BAAAAAAAAAAAAAAAAAAAAIAgQ/gYAAAAAAAAAAAAAAAAAAACAIED4GwAAAAAAAAAAAAAAAAAAAACCAOFvAAAAAAAAAAAAAAAAAAAAAAgChL8B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BAD19Y9//CPp0aNHvc7uPXr0yHp+eV1eB6DplJeXJ5deemmSn59f71z+2GOP1SvWa6+9VucHxTb/OeKII5KVK1fWe08VFRXJxRdfnHWcdu3aJffff3+94+RyTwBsP5599tnkK1/5SrLTTjvVmVcao/jbmbt57ImGy0uSJAmARlBRURHHHntsPPTQQ6nrLVq0iL59+0bHjh1j/vz5sWrVqtTrbdu2jUmTJsX++++fy+UCQE7tvffe8a9//avK9Y+/JrFHjx5RVlYWCxcurJIrIyL23XffmDx5cr2+snHs2LFx0kknRUVFRep6t27dok+fPrFkyZJYvHhxVD4SfP/7348bb7wx6zglJSUxcuTImD59eup6YWFh9OvXL1q1ahXz5s2LdevWVVnH888/H4MGDdrm9gQADbVq1arYfffdY/HixVVeKy4ujgULFmQ917PPPhuHH354lJSUpK4XFRVF//79Y8WKFfHOO+9EeXl56vVjjz027r///qy/vjqX5/pc7QkA6uvGG2+MCy+8sMq5snXr1rHTTjtF165do6SkJN5777348MMPM6/36NEj3n///Trnl9e3fE8AkI0zzzwzbrvttirX27ZtGwMHDow2bdrEsmXLYt68eVXyfWFhYTz44IPxhS98oc44s2fPjgMPPDD1fiAion379jFgwIAoKSmJBQsWRFlZWer1/fffP6ZMmRKtW7fOek/nn39+/Pa3v01dy8vLi969e0e3bt3i7bffrrKOFi1axNixY+MrX/lK1nFyuScAth833XRTXHDBBVn1re+988qcuZvHnmgkW7PyHPhkue6666p8wuecc85JFi9enOlTXl6ejBs3Lunbt2+qX+/evX0iGIBPtL322iuT94qKipLzzjsvmTBhQrJ69epUv02bNiVTp05NRowYUSWvfvWrX8063ltvvVXlK5+GDh2aTJkyJdXvv//9b3LsscdWifXAAw9kHeucc85Jjc3Pz09+9KMfJcuXL8/02bhxY3LHHXcknTp1SvX9zGc+k2zatGmb2xMANNSZZ56ZeuLW5jmpPk8vWb58eZUnohQXFycPPvhg6pst3nnnneTss8+ukv9+9atfZR0rV+f6XO4JAOrjtttuq5J3vvCFLySPPfZYsmHDhir9Fy9enPz1r39NvvrVryZ9+vSpc355XV4HoGmNHTu2Sq7ZbbfdkgkTJiRlZWWpvkuWLEmuuuqqKt/Y2a1bt9S97eqUlZUln/70p1PjOnfunNx5551JaWlppt+yZcuSH/7wh1WeQn7++ednvad777232r8VvPnmm6l+kyZNSvbYY49Uvw4dOiTz58/PKk4u9wTA9uXGG2+s8cnR7du33+J755U5czePPdF4FH8DjeLDDz9MOnTokPo/9muvvbbG/osWLUr69euX6v/jH/84hysGgNzaa6+9kn79+iW33XZbsn79+jr7b9q0KTnrrLOqHLAqFzrX5Gtf+1pq3D777JOsWrWq2r4VFRVVYg0cOLDKzfDqzJo1K2nRokVq7F133VVj/xkzZiRFRUWp/mPGjNmm9gQADTV16tQkLy8vifjoQ1G//OUvt/gG9mWXXZYa279//9TN1squueaaVP+OHTvW+UfrJMntuT5XewKA+pgzZ07SunXrTL4pKCio9XxbWTa5SV6X1wFoWp/61KdSeWbvvfdO1q5dW+uYyZMnJy1btkyN+/nPf17rmD/+8Y+p/p06dUpmzpxZY/+///3vqf4tW7asUrxdnY0bN1bJ0eecc06q2GtzK1euTPbee+9U/1NOOaXOOLncEwDbn4+Lvzt06JCMHDkyufjii5OxY8cmCxYsSKZOndpoxd/O3M1jTzQexd9Ao7jkkktS/4d+0EEH1Xjo/NikSZNSYzp06JB8+OGHOVoxAOTWI488kmzcuLFeYzZt2lTlRu3o0aPrHDdjxozUUzcKCwuTN954o9YxJSUlyeDBg1Oxbr311jpjnXDCCakx3/jGN+ocU/lJasXFxaknh2ztPQFAQ6xfvz4ZOHBgJvd873vf2+Ib2EuWLKny5JNJkybVOqaioiI56KCDUmMuv/zyOmPl6lyfyz0BQH0ccsghqVxz3333Ner88nrD9gQAdZk7d24qv0REMn369KzGVn5S5v77719j340bNyZ9+vRJ9b/99tvrjHHyySfX+17/73//+9SYwYMHJyUlJbWOmTlzZupp5i1atEhmzZpV65hc7gmA7c9bb72VzJw5MykvL6/yWmMVfztzN4890bjyA6CBKioq4o477khdu/LKKyMvL6/WcYceemiMGDEi016zZk3cd999TbJGANjajjrqqCgsLKzXmBYtWsQll1ySuvbEE0/UOW7MmDFRUVGRaZ900kmx66671jqmdevW8YMf/CB17bbbbqt1zIoV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3LhxWY3dtGlTjB8/PnVt5MiR1faV1/9HXgegsRUWFsaOO+6YujZlypR6zTF58uRUe/MHkmyucv674447siqQmjt3bjz11FOZdkFBQRx55JE19u/Tp0985jOfybTXrl0b9913X51xIhqe05tqTwDQVJy5/2db3hONS/E30GD5+flx2mmnpa5dddVVdR4IJ0+eHM8880ym3aFDhzjhhBOaYokAsE1Yvnx5HHbYYTF37tzMtW7dusXEiROjf//+jRbnm9/8ZuTl5WXa99xzT8yaNavWMRs2bIjrrrsude2MM86odUznzp3jmGOOybSTJIkrr7yyzvWNGTMm9fVPxcXFMWrUqFrH5GpPALAtOemkk6Jdu3aZ9tNPP13nH6+TJImrrroqde30009PPdG0slye63O1JwCoj7PPPjvVvv7662Pjxo11jvvTn/4U77//fqa9ww47xBFHHFFtX3n9I/I6AE3l0EMPTbVvuumm2LRpU1Zjn3rqqdQ3SFY338eOOOKI6N27d6a9YMGCuOOOO+qMceWVV6by8Ve/+tXo2LFjrWMq38++7rrrYsOGDbWOmTVrVtx7772ZdnXvDSrL5Z4AoCk4c39kW98TjSwBaARLly5N2rdvn0RE5ufaa6+tsf+iRYuSfv36pfpfccUVOVwxAOTW6tWrk3322SeV+4qKipJXX321SeKdeOKJqVj77LNPsmrVqmr7VlRUJGeffXaq/4ABA5LS0tI648ycOTPJz89Pjb3rrrtq7V9UVJTqf9ttt21TewKAxjZ16tRUTiouLs567KWXXpoa279//2Tx4sU19r/mmmtS/Tt27JgsW7aszji5PNfnak8AkK3y8vLk05/+dCrfnHrqqUl5eXmNY/75z39WyZ0/+MEPao0jr8vrADSdxx9/PJVjIiI588wza83nSZIkc+bMSXbaaafUuMGDByebNm2qccwf/vCHVP9OnTolM2fOrLH/3//+91T/Fi1aJLNnz65zTxs3bkz69u2bGnvOOeckFRUV1fZftWpVsvfee6f6n3zyyXXGyeWeAGBzDbl3Xpkzd/PYE41H8TfQaH7+859XOVCfe+65qaRTXl6ejB8/vsohdaeddkpWrFix9RYPAE1s5MiRVfLk1VdfnUycOLHeP8uXL68z3pw5c5K2bdum4g0dOjSZOnVqqt/s2bOTY489tsra7rvvvqz3dtZZZ6XG5ufnJz/60Y9S6ywtLU3uuOOOpFOnTqm+e+yxR1JWVpZVnFzuCQAaU0NuYC9btizp2bNnlfEPPfRQ6o+977zzTpUPPkVE8stf/jLrWLk61+dyTwCQrUmTJiV5eXmpnDNq1Kjk5ZdfTvVbuXJl8qtf/arKH0V33nnnZPXq1bXGkNfldQCa1iGHHFIl1xx44IHJpEmTqtyH/vDDD5Mbbrgh6dixY5UxY8eOrTVOaWlpsvvuu6fGdO7cObnzzjtTcZYtW5ZcccUVVR6gct5552W9p7vuuqvK+o477rjkzTffTPWbPHlysscee6T6tW/fPpk3b15WcXK5JwC2P88++2y1f/e+4YYbUvmkR48eNf6NvLYPJSWJM3dz2RONJy9J6ng+O0CWKioq4stf/nI88sgjqestWrSI4uLi6NixY8yfPz9WrlyZer1NmzYxceLEGD58eA5XCwC5lZeX12hzTZ06NUaOHFlnv3vuuSdGjx5d5SuZunXrFn379o0lS5bEokWLqrx+/vnnxy233JL1etavXx8HH3xwvPzyy6nrhYWF0b9//2jVqlXMmzcv1q5dm3q9a9eu8dxzz8XOO++cdaxc7QkAGtO0adPikEMOybSLi4tjwYIFWY9/+umn44gjjqjy1c5FRUXRv3//WLlyZbz99ttRXl6eev3LX/5yjB8/Puv3Ibk81+dqTwBQH7/4xS/iBz/4QZXrPXv2jN69e8e6deti7ty5UVpamnq9S5cuMXXq1Pj0pz9dZwx5fcv3BAB1ef/99+OAAw6I+fPnV3mtffv20b9//2jTpk0sW7Ys5s2bV+U+ckTEhRdeGDfccEOdsWbNmhUHHnhgLF++vEqcgQMHRklJScyfPz/KyspSr++7774xbdq0aNOmTdb7Ou+88+IPf/hD6lpeXl706dMnunXrFgsXLowPP/ww9Xp+fn7ce++9cdxxx2UdJ5d7AmD70q9fv1i4cGGD5jj11FPjz3/+c619nLmbx55oJFux8Bz4BCopKUlOOumkKp8EqumnS5cuVZ7WCQCfRNnmxmx+6pM777rrrqRNmzZZz33RRRfV+JWRtVm2bFnyuc99Lus4/fr1S1577bV6x8nlngCgsTTGV1dOnjw56dy5c9b5b/To0cmGDRvqHSeX5/pc7QkA6uOWW25JCgoKss5Pu+yyS5Unb9ZFXpfXAWg6b7/9drXfxFnXT0FBQXLdddfV617yv//976S4uDjrGKNGjdqip2KWl5cnF1xwQdZx2rZtm9x77731jpPLPQGwfalPbqnp59RTT80qljN389gTDZcfAI2odevWcffdd8f9998fe+65Z4392rVrF+edd1688cYbWT25FADYMl/72tdixowZMXr06CgoKKix30EHHRTTpk2L66+/foueuNW5c+eYOHFi3HrrrTFo0KBa+11++eXx+uuvZ/VEtOrkak8AsC353Oc+F2+88Uace+650bZt2xr7feYzn4kHHngg/v73v0erVq3qHSeX5/pc7QkA6uP888+P1157LU488cRaz5z9+/ePm2++OV577bUYPHhwvWLI6/I6AE2nT58+MXny5Ljvvvti5MiRkZ9fe1lMx44d49xzz43XX389Lr300nrdSx46dGi8/vrrcdlll0WnTp1q7Dd48OD405/+FE8++WQUFRVlPf/H8vPz49e//nVMmTIlRowYUWO/wsLC+PrXvx4zZsyIE044od5xInK3JwBoKs7czWNPNFxeklTzPTYAjeStt96KF198MRYvXhylpaVRVFQUu+66awwfPjxat269tZcHANuV1atXx7PPPhtz5syJNWvWROvWraNv374xfPjw6NWrV6PGev311+OVV16J9957L8rLy6NLly7xqU99Kvbbb79a/3heX7ncEwBsK0pKSuL555+PWbNmxcqVK6OwsDB69eoV++23X60fwtoSuTrX53JPAJCt1atXx/PPPx9z5syJVatWRfv27aNHjx4xbNiw2GWXXRolhrwOAE1rzZo18fLLL8e8efNi5cqVsWHDhthhhx2iS5cusccee8Ruu+1WZ4F4NsrKyuLFF1+MGTNmxLJly6JFixax4447xrBhw7b4QSg1WbRoUTz//PPx9ttvx4YNG6JDhw4xePDgOPDAA2OHHXZotDi53BMANAVn7oZR97dtU/wNAAAAAAAAAAAAANAMNPzjiwAAAAAAAAAAAAAANDnF3wAAAAAAAAAAAAAAzYDibwAAAAAAAAAAAACAZkDxNwAAAAAAAAAAAABAM6D4GwAAAAAAAAAAAACgGVD8DQAAAAAAAAAAAADQDCj+BgAAAAAAAAAAAABoBhR/AwAAAAAAAAAAAAA0A4q/AQAAAAAAAAAAAACaAcXfAAAAAAAAAAAAAADNgOJvAAAAAAAAAAAA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6BGHH354XHfddfHss8/Ghg0btmzhjeChhx6KQYMGxaGHHhq//vWvY/LkyfH222/HqlWroqKios7x9Slkb6rf89y5c1PtvffeO+sYddm8WHvdunWRn59fpSC+rp+XXnopM8fy5curjXPllVem2lOmTInhw4dH//7945xzzom77747Fi5c2Gj7AgAAAAC2T4q/AQAAAABo9lq3bt2g8UmSVHu9oKAg/vGPf1R5WnZpaWlMnDgxLrvsshgxYkQUFRXFIYccEjfddFN88MEHDVpLfVx++eVxzDHHxPz587d4jo0bN2bdt6l+z5sXVOfl5UXXrl0bFOdj69atq9f+slHT08tHjx4dP/3pTyMvLy91fcGCBfHHP/4xRo8eHf369Yt+/frFWWedFVOmTKnx9wEAAAAAUBPF3wAAAAAAUIsBAwbEK6+8Etdcc0306tWr2j4bN26MadOmxQUXXBB9+/aN7373u7FmzZomXdedd94Z1157bepamzZt4vDDD48rrrgibr311hg3blxMmDAhJk6cmPn529/+1qTr2hKb/67atm0b+fmN8+eL+jzVPFu1FWxfccUV8cILL8SRRx5Z4xPSFy5cGH/605/i0EMPjT322CMmTpzY6GsEAAAAAD65Wm7tBQAAAAAAwLaubdu2cfnll8cPfvCDeO6552LKlCkxbdq0ePHFF6OkpCTVt7S0NH7zm9/Ek08+GU8//XR079690ddTWloal156aeraN7/5zfjlL38ZXbp0qXXs7NmzG309DdWhQ4dYsWJFRESsX78+KioqGqUAvG3btql2586d4957723wvLXZb7/9YsKECfHee+/Fk08+GdOmTYunn3465s2bV6XvjBkz4ogjjohf/epXccEFFzTpugAAAACATwbF3wAAAAAAkKX8/PwYMWJEjBgxIn7yk59EWVlZvPzyy/H444/HXXfdFW+99Vam7+zZs+O0006LRx99tNHXMW3atPjggw8y7cMPPzxuv/32rMYuX7680dfTUJ07d84UfydJEh9++GGjFM0XFRVFy5YtY9OmTRERUVJSEqNGjWrwvNnYcccd49RTT41TTz01IiLefffdmDJlSjz44IPx8MMPR1lZWUR8tN8LL7ww9t9///jsZz+bk7UBAAAAAM1X43xvIgAAAAAAbIcKCgpi//33j6uuuirefPPN+N3vfpd6YvVjjz0Ws2bNavS4//znP1Pt8847L+uxM2fObOzlNNjgwYNT7ZdffrlR5s3Ly4vi4uJMu6SkJN59991Gmbu+dtpppzj55JPj/vvvjzlz5sQ+++yTeS1Jkrjxxhu3yroAAAAAgOZF8TcAAAAAADSCvLy8OO+882L06NGp688++2y1/TcvEo/4qAA4W5s/9TsiYpdddsl67JQpU7LumysjRoxItRvzaemHHHJIqr0t7L+4uDjuuuuu1LWa/p0AAAAAAGxO8TcAAAAAADSi4cOHp9offvhhtf3atWuXaq9fvz7rGJULxUtLS7Ma98EHH8S4ceOyjpMrn//851Ptv/71r7Fy5commfu3v/1to8zbUIMGDYoePXpk2jX9OwEAAAAA2JzibwAAAAAAaESVi3g7depUbb/OnTun2vPnz886Rs+ePVPtbJ8aff7558fGjRuzjpMrw4YNiwMPPDDTXr16dXz7299ulLmPOeaYGDRoUKb94osvxh/+8IdGmbshSktLY/Xq1Zl2Tf9OAAAAAAA2p/gbAAAAAABq8PWvfz2eeuqprPuvWLEibrvtttS1vfbaq9q+u+++e6p9//33Zx3ngAMOSLWvu+66Op8cfcUVV8TYsWOzjpFrP/nJTyIvLy/Tvuuuu+L73/9+laec12Ty5MnVXm/RokX89Kc/TV373ve+F3/605/qtb4333wzzjrrrFi8eHGV1+6666649tprY8WKFVnP97vf/S5KSkoy7Zr+nQAAAAAAbE7xNwAAAAAA1GDChAkxcuTI2G233eInP/lJvPDCC7F+/foq/UpKSmLs2LGx3377xcKFCzPXhw4dGvvss0+1c48cOTIKCgoy7TvvvDOOPfbYGDNmTDz22GMxadKkzM9zzz2XGnvwwQdHcXFxpv3OO+/E8OHDY+LEiali6SRJ4vnnn4/DDjssrrnmmoiI2HXXXbfsl9HERo0aFf/v//2/1LWbb7459tprrxg3blysW7euypi33norbr755th7771j1KhRNc590kknxdlnn51pl5WVxVlnnRWHHnpoPPLII9XOXVZWFv/5z3/ipptuihEjRsSQIUPiT3/6U5SVlVXpu2TJkrj88sujd+/ecdxxx8Xdd9+d+newuTfffDO+853vxIUXXpi6fuaZZ9a4fgAAAACAj7Xc2gsAAAAAAIBt3axZs+Lqq6+Oq6++Olq0aBG9e/eOzp07R2FhYaxcuTLmzZtXpSi4bdu2MWbMmBrn7N69e3zjG99I9Rk/fnyMHz++St/i4uJYsGBBpl1QUBDXX399nHDCCZlrb775Zhx++OHRqVOnGDBgQJSXl8fbb78dy5cvz/Tp0aNH/PGPf4yDDjpoS34NTe66666Ld955J+67777MtVdffTW++tWvRmFhYRQXF0fnzp1j3bp1sWjRoli5cmXWc//mN7+JFStWpOaeMmVKTJkyJVq2bJmZe9OmTbFy5cpYvHhxlJaW1mv969evjwceeCAeeOCBiIgoKiqKnj17RlFRUZSWlsY777wTS5curTLupJNOimOOOaZesQAAAACA7ZPibwAAAAAAqIfy8vJYuHBhjU92jojo1atXjB07NoYNG1brXDfddFO88847MXHixHqv4/jjj49rrrkmrrjiitTTvlesWBH/+te/qvTv06dPPProo9G+fft6x8qVli1bxj333BM777xz/OIXv0gV1JeWlsacOXO2eO6CgoK49957Y6+99oorr7wySkpKMq9t2rQp5s6dG3Pnzq11jq5du0abNm2yjrly5co6C9TPPPPM+P3vf5/1nAAAAADA9i1/ay8AAAAAAAC2VdOnT49f/vKXceihh0a7du3q7D9o0KD46U9/GrNnz47999+/zv4dOnSIJ554Ih5//PH45je/GXvuuWd07tw5CgoKslrf5ZdfHhMmTIihQ4fW2GeHHXaICy+8MF5//fX41Kc+ldW8W1NeXl789Kc/jVmzZsVpp50WRUVFtfbv0aNHfOtb34rp06dnNf8ll1wS8+fPj4suuij69u1bZ/+ePXvGySefHOPGjYt33303evToUaXP2WefHQ899FB861vfikGDBtU5Z6tWreIrX/lKPPPMM3HrrbdGy5ae1QMAAAAAZCcv2fxxIAAAAAAAQLXKy8tj1qxZMWfOnFi8eHGsWbMmIj4q4O7Vq1fsueee0b9//622vlmzZsWLL74YS5YsiU2bNkWXLl1i1113jc9+9rNRWFi41dbVUOXl5TF9+vSYO3duLF26NNavXx/t27ePXr16xe677x5DhgyJvLy8LZ7/rbfein//+9+xdOnSWLFiRbRs2TI6duwYffv2jV133TX69etX7zmXLl0ab7zxRsybNy+WL18e69evj7Zt20anTp1iyJAhMXTo0Kw+TAAAAAAAUJnibwAAAAAAAAAAAACAZiB/ay8AAAAAAAAAAAAAAIC6Kf4GAAAAAAAAAAAAAGgGFH8DAAAAAAAAAAAAADQDir8BAAAAAAAAAAAAAJoBxd8AAAAAAAAAAAAAAM2A4m8AAAAAAAAAAAAAgGZA8TcAAAAAAAAAAAAAQDOg+BsAAAAAAAAAAAAAoBlQ/A0AAAAAAAAAAAAA0Awo/gYAAAAAAAAAAAAAaAYUfwMAAAAAAAAAAAAANAOKvwEAAAAAAAAAAAAAmgHF3wAAAAAAAAAAAAAAzYDibwAAAAAAAAAAAACAZkDxNwAAAAAAAAAAAABAM6D4GwAAAAAAAAAAAACgGVD8DQAAAAAAAAAAAADQDCj+BgAAAAAAAAAAAABoBhR/AwAAAAAAAAAAAAA0A4q/AQAAAAAAAAAAAACaAcXfAAAAAAAAAAAAAADNgOJvAAAAAAAAAAAAAIBmQPE3AAAAAAAAAAAAAEAzoPgbAAAAAAAAAAAAAKAZUPwNAAAAAAAAAAAAANAMKP4GAAAAAAAAAAAAAGgGFH8DAAAAAAAAAAAAADQDir8BAAAAAAAAAAAAAJoBxd8AAAAAAAAAAAAAAM2A4m8AAAAAAAAAAAAAgGZA8TcAAAAAAAAAAAAAQDOg+BsAAAAAAAAAAAAAoBlQ/A0AAAAAAAAAAAAA0Awo/gYAAAAAAAAAAAAAaAYUfwMAAAAAAAAAAAAANAOKvwEAAAAAAAAAAAAAmoH/D+O+a1+lW/wLAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -1050,18 +972,12 @@ "cell_type": "code", "execution_count": 14, "metadata": { - "execution": { - "iopub.execute_input": "2023-12-04T17:49:37.136108Z", - "iopub.status.busy": "2023-12-04T17:49:37.136009Z", - "iopub.status.idle": "2023-12-04T17:49:51.322412Z", - "shell.execute_reply": "2023-12-04T17:49:51.322119Z" - }, "tags": [] }, "outputs": [ { "data": { - "image/png": "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esRBBx0Uu+++e6Xr2EMPPRT7779/vPbaazudAQAAqJ8q/0kYAAAAQA357W9/G6tXr67Succdd1zK8ciRI6N9+/bbva5JkybbPWf06NFbjRUXF8fy5ctjwoQJ8a9//StWrVpVMbdu3bo49dRTY/LkydGxY8cqpCci4je/+U3st99+O3Xtzl63I7b1NVVaWhqrV6+OqVOnxmOPPRaTJ0+umNu0aVOceeaZMWXKlOjcufM27z1r1qw4++yzo6SkpGKsWbNmcfXVV8cFF1wQffr02eqaJUuWxBtvvBGPP/54jBo1KuVr8NP+8Y9/xKZNm7b7+S1dujQuuOCClLHKvvYrU1hYWKXzgPSzltYfHTp0qPL35eeeey5+/etfVxz369cvfvvb31bp2m7dun3u/PHHHx/XXXddle71WZ/3QqnqcuGFF8bQoUO3Gk8mk7Fhw4aYO3dujBs3Lp566qkoLi6umP/rX/8aPXr0iGuuueZz73/eeefFe++9lzJ26qmnxlVXXRVDhgyJRo0apcxt3rw53n777RgzZkw89NBDW137iaFDh8bAgQOr9Dlec801Kf9/47rrrovjjz++Std26NChSucB6WW9bhh+//vfx3e/+92UsUQiEeeff35cdNFFMWTIkMjOzq6YKy4ujueeey7uvvvuGDVqVMV4UVFRnHnmmfHggw/GF77whR3KcPXVV8cdd9yRMpabmxuXX355nH/++XHooYdGIpGomNuwYUM8+eST8Ze//CXGjh1bMb506dI47rjj4plnnqny+gUAANR/iuYAAABAWvXv33+nrz3iiCOiS5cu1ZLj2GOP3ebcRRddFLfddltcdtllKTtbrlixIn7+85/HXXfdVS0ZdtXYsWNjyJAhFcdz5syptn8/1aV///4xePDgTMfYpqp8Td10000xfPjwuPzyyyveenzDhg3xk5/8JO69995tXve9730vNm/eXHHctWvXGD16dOy1117bvKZDhw5xxhlnxBlnnBF/+ctf4sEHH4zf//73leauirlz52419nlf+0DdYC2tPpleSxs3blzl78sfffRRynFhYWG1fU/v2LFjrV4funXrtt183/nOd2L69Olx5plnxtSpUyvGf/rTn8bll18ezZs3r/S6J554IqWEmUgk4m9/+1tceuml23xW48aN47DDDovDDjssfvKTn8Tbb78dv//977cqpHfr1m27Jf9PfPYFXnvvvXet/jMBts96XX0yvV5vywsvvLDVi5k6d+4c999/fxx55JGVXpOXlxennnpqnHrqqfHEE0/EV7/61VixYkVEfPyC5wsuuCDeeuut6NWrV5UyDB8+fKuS+b777hsjR46Mfv36VXpNs2bN4pxzzolzzjknhg8fHldddVXFC5k3bNgQX/rSl+K9995Ly4vJAACA2i8r0wEAAAAAaqP8/PwYOXJkHHbYYSnj9957b8pOmTQMl1xySdxwww0pY6NGjdrm18Lq1avj8ccfTxn75z//+bkl88/Kzc2N888/PyZOnBgFBQU7nBkg06ylpFvPnj3jiSeeiLy8vIqx9evXx3//+99tXvPZF41dfvnln1syr8wBBxwQ9913X3zjG9/YscAAtYD1euesWrUqhg4dGslksmKsU6dO8eKLL26zZP5Zp512Wjz77LPRsmXLirGNGzfG+eefn/LOWNsya9as+Pa3v50yts8++8SLL764zZL5Z11yySXxn//8J2XtXLZsWXz1q1+t0vUAAED9p2gOAAAAsA05OTnxk5/8JGVs48aN8dprr2UoEZl0xRVXpLzd+Lp162LevHmVnjt27NiK3c8jIvr16xeHHnpojWcEqG2spaTbXnvttdXuvZMnT97m+Z/ezTzi4/UeoKGxXu+4H/3oR7Fw4cKK4+zs7Hj88cer/E4WnzjwwANj5MiRKWOTJk2KP/7xj9u99pvf/GasX7++4jg/Pz/++9//RuvWrXcow0knnRS//e1vU8aeeuqpePDBB3foPgAAQP2kaA4AAADwOQYPHhzZ2dkpYzNnzsxQGjKpXbt2W/3Cfvny5ZWe+9FHH6Uc9+7du8ZyAdR21lLSbe+990453tZ6XVRUFOvWrUsZs2YDDZX1uupWrly51TtiXHXVVdG/f/+dut+pp54aZ555ZsrY7bffHmVlZdu8ZsqUKfHMM8+kjN10002xxx577FSGK6+8cqv8v/vd73bqXgAAQP2iaA4AAADwOZo0abJVuXjFihUZSkOmfXpH84iPvz4qU1RUlHL8eQUBgPrOWkq67ex6HWHNBhou63XVDRs2LDZt2lRxnJubu9WO8DvqpptuSjmeP39+PPLII9s8//bbb085bteuXXzzm9/c6ednZWXFjTfemDL2xhtvxOuvv77T9wQAAOoHRXMAAACA7UgmkynHny0v0TCsWLEipWiRSCRir732qvTcgoKClOMJEyZEeXl5TcYDqNWspaTT1KlTU467d+9e6XmfXa8jQqEOaNCs11Xzn//8J+X4tNNOizZt2uzSPffdd9848MADU8YefvjhbZ7/2RL6BRdcELm5ubuU4aSTTor27dunjH32cwUAABoeRXMAAACAz7Fx48ZYtWpVythnf/FKw/D3v/89pXgxYMCAaNGiRaXn9u3bN+V4wYIFceedd9ZoPoDaylpKOs2dOzdGjx6dMnbcccdVem7Tpk2jS5cuKWM/+clPYsuWLTUVD6DWsl5Xzfr16+Pdd99NGfvSl75ULff+7H1eeeWVSs+bNm3aVrvNV0eGnJycOP3006uUAQAAaDgUzQEAAAA+x9ixY6OsrCxlrH///hlKQ6Y88MADW72N+Pe///1tnn/YYYdFYWFhyth3vvOduOKKK2L27Nk1khGgtrKWki5z5syJM844I6Uofvrpp0fv3r23ec0pp5yScvz666/HoYceGk8//bR3IwEaFOt11bzxxhtRWlqaMlZd/54+e5+FCxfGvHnztjrvs+Xv7Ozs2H///Wskw6RJk2Lz5s3Vcm8AAKBuysl0AAAAAKD2mTRp0la/OK2q+vQLyNLS0rj55ptTxvr06RP77LNPhhLVPTv7tdSuXbvo169fDSRK9corr8TMmTO3Gi8tLY21a9fG1KlT44knnoi33norZf673/1ufOELX9jmffPy8uKaa66JH//4xxVjyWQyhg0bFsOGDYv+/fvHkCFD4tBDD42DDz44OnfuXH2fFFArWEs/Zi2tGxYvXhxjxozZqWsHDx4cOTk1++um2bNnV5ovmUzGxo0bY968eTF+/Ph44oknUkrmvXv3jmHDhn3uva+55pr429/+FsXFxRVj77zzTpx88snRvn37OP744+Pwww+PAQMGxL777hu5ubnV94kBGWe9/pj1uuqmTZuWctysWbPo2bNntdz7gAMO2GpsypQpseeee35uhp49e0bTpk1rJENxcXHMnj079t5772q5PwAAUPcomgMAALCV0rLyWLy2/vzCtDbr2LJx5GTXvjccu/baazMdIePWr18fl112Wbz22msp4zfddFOGEtVNO/u1dMYZZ8SoUaOqN0wlLrjggh06v3///vHDH/4wvvjFL2733O9///vxwgsvxAsvvLDV3KRJk2LSpEkVx+3atYuBAwfG4MGD4/TTT9+qSEAdVFYasW5hplPUfy12i8iunT/mtpZaS+uS5557Lp577rmdunb16tVRUFBQvYE+4/7774/777+/yue3bds2Lr300vjRj34U+fn5n3tu165d489//nNceumlW80tXbo05dmNGzeOAw88MAYPHhzHH398HHnkkZFIJHbsk6FWKS0vjaUbl2Y6Rr3Xvmn7yMmyXtdW1usds2rVqpTj9u3bV9ta0LZt28jKykp5R43PPq+ysY4dO1bL8yMiOnTosN3nAQAADUvt/Bs9AAAAGbV47eYY9KsXMx2jQRj/vSGxR6vq2XWKHVPZrpjFxcWxYsWKmDBhQvzrX/+KlStXpsxfffXVcdZZZ6UrIrXMQQcdFJdffnmcfPLJVTo/JycnnnzyyfjmN78Z99xzz+eeu2zZsnjkkUfikUceiauvvjqOPvrouOGGG+LII4+sjuhkwrqFEbfX/K78Dd7VkyMKvTAjU6yl1EaFhYXx1a9+NS677LLtlsw/8dWvfjWaN28eX/va12Lt2rXbPG/z5s3x6quvxquvvhq33nprdOnSJb75zW/Gt771rcjLy6uuT4E0WrpxaZz4nxMzHaPee+ZLz8Ru+btlOkaDZb2uXp8tXbds2bLa7p1IJKJFixaxZs2airHVq1enNUNl91I0BwCAhk3RHAAAAGiQjjvuuCqfW1hYGDfffHNceeWVNZiI2m7ixIkxceLEuOGGG+Jvf/tbnHrqqdu9pkmTJnH33XfHFVdcEbfeemv897//jZKSks+9JplMxvPPPx/PP/98XHjhhfHXv/41mjRpUl2fBkC1sZZSG61evTpuu+22+M1vfhPf/OY347bbbotGjRpt97qzzz47jjnmmPj1r38dw4cPj6VLt7/L9dy5c+Paa6+Nv/zlL/Hwww/HfvvtVx2fAkC1sl5Xr6KiopTjZs2aVev9mzVrllI0r+wFUDWZobJ7ffZ5AABAw1L73psbAAAAyLgXX3wxksnkTn3suWf92ln2oIMOimnTpqXtF+0XX3xxJBKJKn0MGTIk5dquXbtW+doRI0ak5fPZ2a+lUaNGpSXfnDlztpmhqKgopk2bFiNGjIiBAwdWXLNkyZI4/fTTt7tL+acNGDAgRo0aFYsWLYoRI0bEJZdcEj179tzuW6zff//9ceyxx8aWLVt2+nMEMsNa+v9ZS2u/iy66aKe/XgsKCmo834033rjN52/evDkWLVoUzz77bFx++eUVpfKysrK4/fbb47TTTqvyOtqqVav4xS9+EQsXLozRo0fHD37wgzjiiCO2+4KvmTNnxhFHHBGvv/76Ln+uQHpZr/8/63XVNG/ePOV4w4YN1Xr/z96vcePGac1Q2b0++zwAAKBhsaM5AAAAwOeYOHFiDBkyJJ5++uno3LlzpuM0eFOmTIlFixZV6dy+fftGx44dd/pZ+fn50atXr+jVq1dcdNFF8Zvf/Cauu+66iPh41/ErrrgiDjzwwNh///2rfM82bdrERRddFBdddFFERKxbty7eeuutGDduXDz99NOVFtReffXVuPbaa+OPf/zjTn8uAJlkLW14Vq9eHZMmTarSuYWFhdG/f/+dflajRo2iY8eO0bFjxzj++OPjW9/6Vhx77LEVO5KPHj06fvSjH8VvfvObKt8zOzs7jj322Dj22GMj4uPS+pQpU+L111+P559/Pp588smtingbNmyIs846Kz744INo2bLlTn8+AJliva6aVq1apRxXtuP4zkomk7Fu3bqUsRYtWqQ1Q2X3+uzzAACAhkXRHAAAAGiQkslkynF5eXmsXbs2Pvjgg/j3v/8dw4YNi+Li4oj4uNx87LHHxoQJE9Kyayfb9qtf/SruvffeKp07fPjwuPjii6vt2ddee2289dZb8cADD0RERGlpaXz/+9+PZ599dqfv2aJFixg8eHAMHjw4brjhhpg6dWpcf/318fjjj6ec95e//CWuueaa6NKly658CgDVylrKtrz77rtx3HHHVenco446KsaOHVttz95nn33ivvvuixNOOKFi7A9/+ENcffXVsccee+zUPbOzs2PfffeNfffdN772ta/F+vXr484774ybbropNm3aVHHewoUL484774wf/ehHu/x5AFQX63X1+mzpetmyZZFMJrf7blVVsXz58igvL08Za9++/XYzLFmyZJef/Xn3UjQHAICGTdEcAAAAICKysrKisLAwBg4cGAMHDowLL7wwTjjhhFizZk1ERMyYMSMuv/zyePDBB2s0x/e+97244IILqnTuu+++G9dee23F8ciRIyv9JXRl+vbtu1P5Grqrr766omge8fEuqQsXLozddtutWu7fp0+feOyxx+L666+P2267rWK8tLQ0/v3vf8f3v//9ankOQE2wllJbHH/88dG7d++YNm1aRHy8I/n9998fP/zhD6vl/vn5+XH99dfHMcccE0OGDEnZ3XzkyJGK5kCtZr3eNb179045Xr9+fcyYMSN69uy5y/d+++23txrbe++9txrr1atXyvGHH34YGzdujKZNm1Z7hry8vOjWrdsu3xcAAKi7FM0BAADYSseWjWP894ZkOkaD0LFl40xHYBsGDBgQI0eOjFNPPbVi7KGHHoqnnnoqTjnllBp77t57713pL5Irk5OT+qOdI444wo7XNax///6Rl5dXseNfMpmMV199Nc4+++xqfc4tt9wSjz76aEyfPr1ibPz48YrmdUmL3SKunpzpFPVfi+p5kQc1w1pKJh1++OEVRfOIiFdeeaXan3HwwQfH97///bjhhhsqxqZNmxbLly+Ptm3bVvvzqH7tm7aPZ770TKZj1Hvtm1atEExmWK93zCGHHBLZ2dlRVlZWMTZx4sRqKZpPmjQp5Tg/P7/SkvfAgQNTjsvKyuKdd96Jww8/vNoz9O/fPxo39rMrAABoyBTNAQAA2EpOdlbs0WrXd0GCuu6UU06JCy+8MO6///6KsWuvvTZOPPHEyM7OzmCyhmvEiBExYsSIjD0/JycnWrVqlfJ24gsWLKj252RnZ8cXv/jF+OUvf1kxtnDhwmp/DjUoOyeicM9Mp4CMs5Y2TIMHD45kMpnRDO3atUs5ron1OiLiy1/+ckrRPCJi0aJFiuZ1RE5WTuyW70VLYL2uuvz8/Nhvv/3irbfeqhj7z3/+E1/5yld2+d7/+c9/Uo6PO+64yMrK2uq8Xr16RevWrWPlypUp1+5q0by0tDQef/zxlLEjjjhil+4JAADUfVv/rQQAAACACrfeemvK7l3Tpk2Lf/7znxlMRKaVlJSkHG/ZsqVGnvPZHfo2btxYI88BqGnWUjIhU+t1hDUbqJus11V31llnpRw/8cQTsWLFil265/vvv59SXo+IOOOMMyo9N5FIxBe/+MWUsZEjR0ZpaekuZXj66adj6dKlKWOffQ4AANDwKJoDAAAAfI7dd989vv71r6eM3XLLLVFeXp6hRGRSUVFRrF69OmXsszumVpcNGzakHLdp06ZGngNQ06ylZML8+fNTjtO1XkdYs4G6yXpddZdffnk0adKk4rikpCRuvvnmXbrnZ98do02bNnH22Wdv8/yrr7465XjZsmVx55137vTzy8vL46abbkoZGzBgQBx22GE7fU8AAKB+UDQHAAAA2I7rrrsuGjVqVHH84Ycfxr///e8MJiJTxowZs1XRomfPnjXyrDfffDPluHPnzjXyHIB0sJaSTsXFxTF27NiUsXSt1zk5OdGpU6caeRZATbNeV03r1q1j6NChKWN33nlnTJo0aafu9+STT8ajjz6aMvbtb387mjZtus1r+vbtG8cff3zK2A033BALFizYqQx33XVXTJw4MWXsu9/97k7dCwAAqF8UzQEAAAC2o1OnTnHZZZeljN1yyy2RTCYzlIhM2LJlS/z85z9PGSssLIzDDz98q3PfeOONeO2113b6WbNmzYrHHnssZeyEE07Y6fsBZJq1lHS6/fbbY/ny5Sljp5xySqXn3nXXXVFcXLzTz/rtb3+bcnzEEUdEs2bNdvp+AJlkva66W265JeWFRWVlZXHGGWfEnDlzdug+b7/9dlxwwQUpY927d49rr712u9feeeedKWtOUVFRnHzyybFq1aodyvDMM8/ENddckzJ20kknxTnnnLND9wEAAOonRXMAAACAKrj++usjLy+v4viDDz6Ihx9+OIOJSKcVK1bEl770pXj77bdTxq+++urIzs7e6vypU6fG4YcfHieddFK88MILO1TMWLBgQZx++umxadOmirGCgoI4/fTTd/4TAKgFrKXUtGQyGX/605/iBz/4Qcp4z54947TTTqv0mquuuip69OgRd911V6xdu7bKzyorK4vvfOc7MXr06JTxz+5wC1DXWK+rpnXr1jFixIhIJBIVYwsXLowhQ4bEuHHjqnSPJ598Mo4//viU9Sc3NzdGjBgRTZo02e71PXr0iD/84Q8pY++//34MGTIk3nvvvSplGDFiRHzxi19MedFV27ZtY/jw4VW6HgAAqP9yMh0AAAAAoC7Yfffd45JLLom//vWvFWM333xznHXWWSm/WCbVpEmTorS0dKeubdeuXfTr16+aE6V65ZVXYubMmZXObdiwIRYuXBivvvpqPProo7Fx48aU+X322Se+973vfe79n3nmmXjmmWdizz33jK985SsxePDgOPTQQ6NFixYp5yWTyZg6dWr885//jNtvvz3Wr1+fMn/TTTdFq1atduIzBKg9rKW11+LFi2PMmDE7ff3gwYMjJ6fmfuU0e/bsbeYrLi6OVatWxeTJk+ORRx6JWbNmpczn5ubGn//858jNzd3m/efPnx9XXXVVXHvttXHmmWfGySefHEcccUR07dp1q3NXrlwZTz31VPzmN7/ZqsR30EEHxcUXX7zjnyBALWK9rrrjjjsubrvttpS/F86bNy8GDx4c559/flx88cUxePDglBcnl5SUxHPPPRd33313PProoyn3y8rKivvuuy+OOOKIKme47LLL4u2334677rqrYmzy5MnRv3//uPzyy+OCCy6IQw89NOWajRs3xpNPPhl//vOfY+zYsSlzTZs2jYceeijat29f5QwAAED9pmgOAAAAUEXXX3993HPPPVFSUhIRH//ydtSoUfGFL3whw8lqr6q83fe2nHHGGTFq1KjqC1OJz75FeVXts88+MWbMmCrtMhfxcdngF7/4RfziF7+IrKysaNeuXbRp0yby8/OjqKgo5s+fH0VFRZVee+WVV8Y3v/nNncoJUNtYS2un5557Lp577rmdvn716tVRUFBQfYE+4/7774/7779/h69r3Lhx3H///XH00UdX6fxNmzbFAw88EA888EBERLRs2TLatWsXrVq1iuLi4li2bFksXLiw0mu7d+8eo0aNiqwsbyYM1H3W66q77rrrolmzZnH11VdXvMg6mUzGyJEjY+TIkdGkSZPo1KlTtGrVKlasWBGLFi2KLVu2bHWf/Pz8GD58eJx11lk7nOHOO++MgoKCuPXWWyvGSkpK4k9/+lP86U9/iubNm0enTp2iefPmsWzZsli8eHHFn+2ntW3bNh599NEdKroDAAD1n592AQAAAFRRly5d4sILL0wZ+/nPf56hNGRCfn5+/OAHP4iJEyd+7g5vXbp0id13373SufLy8liyZEm8//778frrr8cHH3xQacm8efPm8Yc//CHuvPNOOwcC9Ya1lHQ59thj45133tluYe/www/f5jq7du3amDFjRrzxxhvx9ttvb7NkftZZZ8X48eNjt9122+XcALWB9XrHXHnllfHqq6/G/vvvv9Xcpk2bYtasWfHmm2/GnDlzKi2ZH3nkkTFhwoSdKplHRCQSibjlllvimWeeiW7dum01X1RUFB9++GFMnDgx5s+fX2nJ/Itf/GK88847SuYAAMBWFM0BAAAAdsAPf/jDyMn5/28S9/bbb8cTTzyRwUTUlMaNG0f79u1j//33j69+9asxYsSIWLx4cdx6663RqFGjz7128ODBMX/+/Hj99dfjxz/+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ikx67969jjOXC7UzlmMCAGC0ff3rX9frr78uSWpsbNTtt98+ov29+eabikajmfSSJUs0e/bsorcv1Vw/nN8DSjkmAABGy29/+9vMiWRS8gpeo415PxfzPgCglE444QRHeuPGjUUHMz3//POO9Mknn+xZb//+/dq3b18mXVFRoVWrVhXdx1LN94FAIGcM+doq5ZgAACg1vqvnGo9jwtgi0BxAjo0bNzrSRx111LC2d9d37w8AAOT3+9//3pFetGiRQqFQ3vqlmrej0ajjKuPDbauiokLLli0rqi0+iwAAJqq33npLt9xySyb9jW98Y1g/znop5bxYqraY6wEAE9ELL7zgSB9//PGZ9Zdfflmf+cxndPzxx6upqUnV1dVavHix1q5dq9tuu83zpHIvzPuH3g4AAKNh/vz5juCncDhc1Ank4XBY3/nOdxx5V155pWdd91y2fPnygn8DcHPPjZs3b1YsFiuqrVLN92M5JgAASo3v6ofeTqnbwtgh0ByAw8DAgHbu3OnIW7BgwbD24a6/adOmEfcLAICp4q677nKkzz333IL13fPsWM3bW7dudfywW1VVVfDWnyNpq1RjAgBgNCUSCV155ZWKRCKSpDPOOENXXXXViPc72vPijh07NDg4mFOvlL8HlGpMAACMJneg+dKlS9Xb26srr7xSq1at0r/+67/qtddeU2dnpwYGBrRjxw6tW7dON954ow477DB94QtfcFwtzAvz/tDtMO8DAMbaN77xDfl82VCaL3/5y/qP//iPvPU7Ozv14Q9/2BH09P73v1/vf//7PeuPdG6cMWOGKisrM+lIJKJt27aNSVulmu+HMyYAAEqN7+pDtzMexoSxRaA5AIe2tjYZYzLpYDComTNnDmsf8+bNc6RbW1tHpW8AAEx2v/71r/XUU0858q644oqC27jn2fnz5w+rTfe8feDAgaLacW93KG3l+4xQqjEBADCabr/9dv3hD3+QJIVCId1xxx2yLGvE+x3pvDhr1iwFAoFMOpFIqL29PadeKX8PKNWYAAAYTe67fPl8Pp155pk5J4x7GRgY0Ne//nWde+656unpyVuPeT8X8z4AoNROP/10/du//VvmO30sFtMVV1yhk08+WbfeeqsefPBB/fa3v9V///d/69Of/rSWLVumRx55JLP92rVr9dOf/jTv/kc6N0rS3LlzC+4zzf3b+Eh/ax+r+V4qfkwAAJQa39VzjccxYWwFhq4CYCrp7e11pKurq4f9h/GampqC+wQAALkOHjyoq6++2pF30UUX6eSTTy64nXuedc/DQ3HXj0ajCofDqqioGNV2vLbJ9xmhVGMCAGC0bNu2TV/60pcy6c9//vM68sgjR2XfI50XLctSVVWVI6jNaw4u5e8BpRoTAACjJZFI5ASIf+Yzn9HLL78sKTk3nX/++Tr33HM1f/589fX16eWXX9Z//dd/ae/evZlt1q1bpyuuuEL333+/ZzvM+7mY9wEA5XDttdfqiCOO0Gc+8xm9+eabkpJ3N3Hf4cRu6dKluummm3TVVVc5rojuVqrf2gcGBhSPx0fUVqnm++G0BQBAqfFdPdd4HBPGFlc0B+DgfjO236KqWFVVVQX3CQAAnBKJhD760Y9q9+7dmbyGhgbdfvvtQ2470rnbPW977XM02vFqq9gvtmM1JgAARstf/uVfqq+vT5J05JFH6gtf+MKo7btUc/BEmuuH0xYAAKOhq6vLcQUuSXrppZckSc3NzXryySf1y1/+Utdcc43OP/98XXrppbr11lu1adMmXX755Y7tHnjgAf3nf/6nZzvM+yNrCwCA0fQnf/IneuGFF3TDDTfI7/cXrLtw4ULdcMMNuvzyywsGmUvlm+8PpS3mewAA+K4+krb4jDB5EGgOwGFwcNCRDoVCw96H+2qhAwMDI+oTAACT3Y033qjf/OY3jrwf/vCHWrBgwZDbjnTu9rrKt9fcXcrPCKUaEwAAo+HHP/6x1q1bJyl5FY877rjjkObJfEo1B0+kuX44bQEAMBry/RHT7/frV7/6lc444wzP8traWv3Xf/2X3vOe9zjyv/a1r+UErkvM+yNtCwCA0fSDH/xAy5Yt02233ZZzZXC3nTt36rrrrtPixYt11113Faxbrvn+UNpivgcAgO/qI2mLzwiTB4HmABzcZw5FIpFh7yMcDhfcJwAAyLr99tv1rW99y5F300036dJLLy1q+5HO3e5522ufo9GOV1v5PiOUakwAAIxUS0uLbrjhhkz6k5/8ZN5As0NVqjl4Is31w2kLAIDRkG+e+eQnP6lTTjml4LY+n0/f//73HVc33bRpk5588skh22HeH15bAACMhmg0qg9/+MO69tpr1dLSIkmaNm2avvzlL+v5559XR0eHIpGI9u7dq1/+8pf6wAc+IMuyJEkHDx7UlVdeqRtvvDHv/ss13x9KW8z3AADwXX0kbfEZYfIg0ByAQ21trSPtdabzUNxnDrn3CQAAku655x5df/31jrwrrrhCt956a9H7GOnc7XXGr9fcXcrPCKUaEwAAI/WpT31KnZ2dkqTZs2frm9/85qi3Uao5eCLN9cNpCwCA0ZBvnrnqqquK2n7p0qU655xzHHlegebM+yNrCwCA0XDttdfq/vvvz6RPPvlkvfnmm7r55pt10kknqbGxUcFgUHPmzNH73/9+PfDAA3rooYccQU+33Xab7r77bs/9l2u+P5S2mO8BAOC7+kja4jPC5EGgOQAH95txf3+/5y08C+nr6yu4TwAAID3yyCP62Mc+5phnP/jBD+rOO+/MXP2kGO551j0PD8VdPxAIeJ4FPNJ2vLYp9ovtWI0JAICRuPfee/Xggw9m0v/yL/+ixsbGUW9npPOiMeaQfvAdy98DSjUmAABGS1VVlfx+vyOvrq5OK1euLHofZ511liO9YcOGnDrM+7mY9wEApfTEE0/oxz/+cSY9c+ZMPfLII5o9e3bB7S644AJ997vfdeTdeOONRV0UZax+a/f6/DLS39rHar4fTlsAAJQa39VzjccxYWwRaA7AYfr06Y7gtmg0qtbW1mHtY8+ePY70zJkzR6VvAABMFuvXr9fFF1+sWCyWyVu7dq1++tOf5vzwOxT3PLt79+5hbe+et2fMmFFUO+7tDqWtfJ8RSjUmAABGwn4b7PPOO0+XXHLJmLQz0nlx//79js8cPp9P06dPz6lXyt8DSjUmAABGk3v+Wr58uXy+4v/MdsQRRzjSXvMs834u5n0AQCndfvvtjvT1119f9O/LV1xxhQ4//PBMur29XQ888EBOvZHOjZK0d+/egvtMc/d9pL+1j9V8LxU/JgAASo3v6rnG45gwtgg0B+BQVVWlhQsXOvJ27tw5rH246x955JEj7hcAAJPFc889pwsuuMBxW6hTTz1VDz74oEKh0LD35/5D9VjN20uXLlUgEMikBwYGdODAgTFpq1RjAgBgJDo7OzPrv/rVr2RZ1pCPs88+27GPHTt25NR55ZVXHHVGe15ctGiR550+Svl7QKnGBADAaFqxYoUjXV9fP6zt3fU7Ojpy6jDvD90O8z4AYKwYY/S73/3Okff+97+/6O19Pp/OO+88R95TTz2VU2+kc2Nra6vj7wuhUEhLly71rFuq39pLOSYAAEqN7+pDtzMexoSxRaA5gBzuN+S33nprWNtv3Lix4P4AAJiqXnvtNb3vfe9Tb29vJm/lypX69a9/rZqamkPaZ6nm7WAwqGXLlh1yW+FwWFu3bi2qLT6LAACQVcp5sVRtMdcDACaio446ypEOh8PD2t4ePCVJ1dXVOXWY9w+9HQAARqqjo0NdXV2OvCVLlgxrH+76XncGdc9lW7ZsUSQSKboN99y4bNkyx0ViCrVVqvl+LMcEAECp8V390NspdVsYOwSaA8hxwgknONLPPvts0du2tLRo+/btmXQwGMz5AR4AgKlo06ZNWrt2reOKZStWrNCjjz6qhoaGQ96ve95+4YUXHLepGsozzzxTcH+FyobzGeHFF190/BF+zpw5eW9rVcoxAQAw3h199NEKBoOZ9Pbt29XS0lL09qWa64fze0ApxwQAwGhZtWqVI71///5hbe++NXRzc3NOHeb9XMz7AIBS8TqJbLjBzvY5T5Li8XhOndmzZ2v27NmOdl988cWi2yjVfB+LxfT8888X1VYpxwQAQKnxXT3XeBwTxhaB5gBynH/++Y70unXrZIwpatv//d//daTPPvts1dbWjlrfAACYiHbs2KFzzjnH8UflJUuW6LHHHtOMGTNGtO8jjzzScaXxvr6+or+c9fX16f/+7/8yacuycj4H2LnLHnvssaL76a5b6JajpRwTAACH6uGHH9Zjjz02rMdtt93m2MesWbNy6ixfvtxRp66uTmeeeaYjr9g52BijdevWOfIKzcGl+j2glGMCAGC0nHfeefL5sn9W27Ztmw4ePFj09u5gK/dtqiXmfTfmfQBAKXmdBLZ3795h7cN9BfN8v/+fd955jvRY/dbubufZZ59VX19fUe0888wz6u/vz6QPP/xwHX744UW3NVZjAgCg1Piu7jRex4SxRaA5gBynnnqqpk+fnklv3bpVTzzxRFHb/vjHP3akL7zwwtHsGgAAE05LS4ve/e53a/fu3Zm8efPm6fHHH9e8efNGpY0LLrjAkXbPx/n8/Oc/V29vbya9evVqzZ07N2/9c88913EFlyeeeEJbt24dsh1jjP793//dkTfUZ4RSjQkAgEN11lln6ZxzzhnW48QTT3Tso7KyMqeO14+khzovrl+/Xtu2bcukZ82apVNOOSVv/VL+HlCqMQEAMFpmzpyp0047zZH3wAMPFLVtLBbTgw8+6Mhbs2aNZ13m/SzmfQBAKYVCIc2ZM8eR97vf/W5Y+3j88ccdafsFVezcc+Pdd99dVMDVli1b9OSTT2bSwWBQ5557bt76CxYs0MqVKzPp3t5e/eIXvxiyHWnk8/1YjQkAgHLgu3rWeB4Txg6B5gBy+Hw+XXHFFY68m2++ecgvgo8//rh+//vfZ9J1dXW65JJLxqKLAABMCAcPHtTatWu1ZcuWTN6MGTP02GOPacmSJaPWzic+8QlZlpVJ/+xnP9PGjRsLbjM4OKhbb73VkXfllVcW3GbatGm66KKLMmljjL761a8O2b+77rrLcUurRYsW6Zxzzim4TanGBADARHDZZZeppqYmk37qqaeG/GO3MUY333yzI+/jH/+440qsbqX8PaBUYwIAYDRdffXVjvQ//dM/KRwOD7ndj370I+3bty+Trq+v13vf+17Pusz7Scz7AIByePe73+1If+c731EsFitq2yeffNJxt02v/aW9973v1fz58zPp7du36+677x6yja9+9auOufpDH/qQGhoaCm7j/o381ltv1eDgYMFtNm7cqJ///OeZtNfnBrdSjgkAgFLju3rSeB8TxpABAA8HDhwwtbW1RlLm8fWvfz1v/d27d5vFixc76n/pS18qYY8BABhfuru7zUknneSYGxsbG83LL788Ju1deumljrZOOukk09XV5Vk3kUiYq6++2lF/6dKlJhKJDNnOm2++aXw+n2Pbe+65p2D9xsZGR/0777xzXI0JAIBSWb9+vWOuWrRoUdHbfvazn3Vsu2TJErNnz5689W+55RZH/YaGBtPe3j5kO6X8PaBUYwIAYLTE43Fz7LHHOuajj33sYyYej+fd5g9/+EPO3Pq5z32uYDvM+8z7AIDy+O1vf+uYfySZq666quBcb4wx77zzjpk7d65ju8MOO8zEYrG823z/+9931G9qajJvvvlm3vo/+clPHPX9fr/ZtGnTkGMKh8Nm4cKFjm2vueYak0gkPOt3dXWZ1atXO+p/9KMfHbKdUo4JAIBijeQ3eTe+q0+MMWFsEGgOIK+vfe1rOV+kr732WseEEo/HzYMPPpjz5XTu3Lmmo6OjfJ0HAKDM1qxZkzOP/v3f/7157LHHhv04ePDgkO298847prq62tHe8ccfb9avX++ot2nTJvPBD34wp2+/+MUvih7bX/7lXzq29fl85u/+7u8c/YxEIubuu+82TU1NjrrHHXeciUajRbVTyjEBAFAKI/lRu7293cyePTtn+4cfftjxx+Fdu3blnHwlyXzzm98suq1S/R5QyjEBADBa1q1bZyzLcsxJ55xzjtmwYYOjXmdnp/nnf/7nnD+kHn744aa7u7tgG8z7zPsAgPI5++yzc+ah008/3axbty7nt+22tjZz2223mYaGhpxt7r333oLtRCIRc/TRRzu2mTZtmvmP//gPRzvt7e3mS1/6Us4FYK677rqix3TPPffk9O/DH/6w+eMf/+io9/jjj5vjjjvOUa+2ttZs3bq1qHZKOSYAAOyefvppz7+z33bbbY65ZtasWXn/Jl/o5Chj+K4+UcaEsWEZM8Q16AFMWYlEQhdeeKEeeeQRR77f79eiRYvU0NCgbdu2qbOz01FeVVWlxx57TKeddloJewsAwPhiWdao7Wv9+vVas2bNkPV+9rOf6fLLL8+5zdSMGTO0cOFCtba2avfu3Tnln/70p3X77bcX3Z/+/n6dddZZ2rBhgyM/FAppyZIlqqio0NatW9Xb2+sonz59up555hkdfvjhRbdVqjEBAFAKTzzxhM4+++xMetGiRdq+fXvR2z/11FN673vfm3OL68bGRi1ZskSdnZ3auXOn4vG4o/zCCy/Ugw8+WPTnk1L+HlCqMQEAMJq+8Y1v6HOf+1xO/uzZszV//nz19fVpy5YtikQijvLm5matX79exx577JBtMO8f+pgAABiJffv26dRTT9W2bdtyympra7VkyRJVVVWpvb1dW7duzfltWpL+9m//VrfddtuQbW3cuFGnn366Dh48mNPOsmXLNDAwoG3btikajTrKTz75ZD3xxBOqqqoqelzXXXedvv/97zvyLMvSggULNGPGDO3YsUNtbW2Ocp/Pp5///Of68Ic/XHQ7pRwTAABpixcv1o4dO0a0j4997GP693//94J1+K4+McaEMVDGIHcAE8DAwIC57LLLcs4oyvdobm7OucooAABTUbFzZzGP4cyt99xzj6mqqip63zfccEPeW2QW0t7ebv7kT/6k6HYWL15sXnvttWG3U8oxAQAw1kbjNp2PP/64mTZtWtHz4uWXX24GBweH3U4pfw8o1ZgAABhNt99+uwkGg0XPX0cccUTOVUOHwrzPvA8AKI+dO3d63rV0qEcwGDS33nrrsH6ffuWVV8yiRYuKbuOcc845pCt6xuNx8zd/8zdFt1NdXW1+/vOfD7udUo4JAIC04cw7+R4f+9jHimqL7+oTY0wYXT4BQAGVlZX66U9/qvvuu08nnHBC3no1NTW67rrr9NZbbxV1xVUAADA2/uzP/kxvvPGGLr/8cgWDwbz1zjzzTD3xxBP6p3/6p0O6Iti0adP02GOP6Y477tDy5csL1vvCF76g119/vagrtnkp1ZgAAJgI/uRP/kRvvfWWrr32WlVXV+ett3LlSt1///36yU9+ooqKimG3U8rfA0o1JgAARtOnP/1pvfbaa7r00ksLflddsmSJ/uVf/kWvvfaaDjvssGG1wbzPvA8AKI8FCxbo8ccf1y9+8QutWbNGPl/h0JqGhgZde+21ev311/XZz352WL9PH3/88Xr99df1+c9/Xk1NTXnrHXbYYfrRj36k//3f/1VjY2PR+0/z+Xz61re+pd/97nc644wz8tYLhUL6yEc+ojfeeEOXXHLJsNuRSjcmAADKge/qE2NMGF2WMR738QGAPDZv3qznnntOe/bsUSQSUWNjo1asWKHTTjtNlZWV5e4eAACw6e7u1tNPP6133nlHPT09qqys1MKFC3Xaaadp3rx5o9rW66+/rpdeekktLS2Kx+Nqbm7WMccco1NOOaXgH9yHq5RjAgBgvBsYGNCzzz6rjRs3qrOzU6FQSPPmzdMpp5xS8ESwQ1Gq3wNKOSYAAEZLd3e3nn32Wb3zzjvq6upSbW2tZs2apVWrVumII44YlTaY9wEAKJ+enh5t2LBBW7duVWdnpwYHB1VfX6/m5mYdd9xxOuqoo4YMRi9GNBrVc889pzfeeEPt7e3y+/2aM2eOVq1adcgXcsln9+7devbZZ7Vz504NDg6qrq5Ohx12mE4//XTV19ePWjulHBMAAKXGd/WRIQ5x4iDQHAAAAAAAAAAAAAAAAAAAAADgMPJTKgEAAAAAAAAAAAAAAAAAAAAAkwqB5gAAAAAAAAAAAAAAAAAAAAAABwLNAQAAAAAAAAAAAAAAAAAAAAAOBJoDAAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBBoDgAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBAoDkAAAAAAAAAAAAAAAAAAAAAwIFAcwAAAAAAAAAAAAAAAAAAAACAA4HmAAAAAAAAAAAAAAAAAAAAAAAHAs0BAAAAAAAAAAAAAAAAAAAAAA4EmgMAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4EGgOAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4ECgOQAAAAAAAAAAAAAAAAAAAADAgUBzAAAAAAAAAAAAAAAAAAAAAIADgeYAAAAAAAAAAAAAAAAAAAAAAAcCzQEAAAAAAAAAAAAAAAAAAAAADgSaAwAAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQaA4AAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQKA5AAAAAAAAAAAAAAAAAAAAAMCBQHMAAAAAAAAAAAAAAAAAAAAAgAOB5gAAAAAAAAAAAAAAAAAAAAAABwLNAQAAAAAAAAAAAAAAAAAAAAAOBJoDAAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBBoDgAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBAoDkAAAAAAAAAAAAAAAAAAAAAwIFAcwAAAAAAAAAAAAAAAAAAAACAA4HmAAAAAAAAAAAAAAAAAAAAAAAHAs0BAAAAAAAAAAAAAAAAAAAAAA4EmgMAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4EGgOAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4ECgOQAAAAAAAAAAAAAAAAAAAADAgUBzAAAAAAAAAAAAAAAAAAAAAIADgeYAAAAAAAAAAAAAAAAAAAAAAAcCzQEAAAAAAAAAAAAAAAAAAAAADgSaAwAAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQaA4AAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQKA5AAAAAAAAAAAAAAAAAAAAAMCBQHMAAAAAAAAAAAAAAAAAAAAAgAOB5gAAAAAAAAAAAAAAAAAAAAAABwLNAQAAAAAAAAAAAAAAAAAAAAAOBJoDAAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBBoDgAAAAAAAAAA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3+ktISHBtHtJqOcEAEBlyM7ONtq1a+dak+6+++6T/lD74MGDHjuvzJ07t8w2TqfTGDZsmKnNY4895rOvYH0eEMw5AQAQSGeeeaZpLfrmm28Cen3W/YrNCQCAiti+fbtp7ZFkrFixwq+27rt8Dhw4sNS6eXl5RqtWrUz1P/roI599XHXVVeX+/cE777xjatOhQwcjJyenzDYbN2407dJus9mMpKSkMtsEc04AAJS0bds2Y+PGjYbD4fA4F6igOe/Vq8ecUHmsAgA3TqdTn3zyienY008/LYvFUma7ESNGaOjQoa7y8ePH9c0331TKGAEAqOouuOACRURElKuNzWbTQw89ZDr2888/+2z38ccfy+l0usqXX365unTpUmabqKgoPfLII6ZjH374YZltjhw5omnTprnKFotFTz/9tM/xXX/99UpISHCVd+3apblz55bZJlhzAgCgsjz55JPavn27JKl169Z69tlnT/pakydPVmZmpqs8bNgwjRgxosw2FotFTz31lOnYxx9/LMMwSm0TzM8DgjUnAAACaebMmZo/f76rfOmll+rSSy8NaB+s+4VY9wEAobBlyxZTuWXLljrttNP8anvxxRebytu2bSu17s8//6zdu3e7ym3atNH111/vsw/3tXrKlCk6evRomW3cPyN/9NFHFRUVVWabrl276rLLLnOVHQ6Hx+sGd8GcEwAAJbVr105du3aV1Vp5UVjeqxeq6nNC5SFoDsDDsmXLdOjQIVe5bdu2Gj58uF9tb7zxRlN5xowZARwZAAA1X8k3S5KUnp6u7OzsMtt89913prL7elyayy67TDExMa7yypUrtXfv3lLrz549W3a73VUePny42rZt67Mfq9Xq8YGyr9cIwZoTAACVYeXKlXrjjTdc5X//+9+KjY096evNnDnTVPZ3XTzzzDOVmJjoKu/fv1+///57qfWD+XlAsOYEAEAgvf/++6ay+y9XA4F1/wTWfQBAsB0+fNhUbtWqld9tW7dubSpnZGSUWtd9bbz++ut9hq2kwiDdGWec4SoXFBTohx9+KLV+amqq/vjjD1c5NjZWEyZM8NmP5Lleu4/ZXbDmBABAKPBe/YSqPCdUHoLmADzMnj3bVB41apRfbwKL65a0YMECZWVlBWxsAADUdPXr1/c4VtbuHVu2bDHtjBITE6NBgwb51Zd7XcMwPF4HlOR+7uyzz/arH8nzNcKsWbNKrRvMOQEAEGgFBQW68cYb5XA4JBXudHrhhRee9PUyMzO1aNEi0zF/12CLxaKRI0eajpW1Bgfr84BgzgkAgEDZs2eP6VvHevXqpW7dugW0D9Z9M9Z9AECwxcfHm8o5OTl+t3Wv26hRo1LrBuuzdvd+Bg8ebNqopSyDBw9WnTp1XOUtW7Zo69atfvdVWXMCACDYeK9uVlXnhMpF0ByAh7Vr15rK/ga7JKl58+Zq06aNq5yfn69NmzYFaGQAANR8e/bs8TjWsGHDUuu7r9v9+/dXWFiY3/0NHjy4zOuVda48rxH69u2ryMhIV3nv3r2mO5fL6qcy5wQAQKBNmjRJ69evlyTVq1dPb731VoWut3HjRhUUFLjKiYmJatasmd/tg7XWl+fzgGDOCQCAQPnpp59cN5JJhTt4BRrrvifWfQBAMPXq1ctUTkpK8jvMtGLFClO5f//+XusdOHBA+/fvd5UjIyPVp08fv8cYrPU+LCzMYw6l9RXMOQEAEGy8V/dUFeeEykXQHICHpKQkU7lr167lau9e3/16AACgdIsXLzaVExISFBERUWr9YK3bBQUFpl3Gy9tXZGSk2rVr51dfvBYBAFRXmzZt0nPPPecqv/jii+X6cNabYK6LweqLtR4AUB2tXLnSVD711FNdz9esWaO77rpLp556qurXr686deqoTZs2GjVqlF555RWvN5V7w7p/8v0AABAILVu2NIWf8vLy/LqBPC8vT2+88Ybp2I033ui1rvta1r59+zJ/B+DOfW3ctm2b7Ha7X30Fa72vzDkBABBsvFc/+X6C3RcqD0FzACY5OTlKSUkxHWvVqlW5ruFef8uWLRUeFwAAtcXHH39sKp9//vll1ndfZytr3d6xY4fpg93o6Ogyv/qzIn0Fa04AAASS0+nUjTfeqPz8fEnS0KFDdfPNN1f4uoFeF3ft2qXc3FyPesH8PCBYcwIAIJDcg+Zt27ZVZmambrzxRvXp00f/+te/tG7dOmVkZCgnJ0e7du3S3Llz9eCDD6pDhw567LHHTLuFecO677sf1n0AQGV78cUXZbWeiNL84x//0GeffVZq/YyMDF1yySWm0NPo0aM1evRor/UrujY2btxYUVFRrnJ+fr527txZKX0Fa70vz5wAAAg23qv77qcqzAmVi6A5AJO0tDQZhuEqh4eHq0mTJuW6RosWLUzlgwcPBmRsAADUdD/88IMWLVpkOnbdddeV2cZ9nW3ZsmW5+nRftw8dOuRXP+7tTqav0l4jBGtOAAAE0ltvvaXff/9dkhQREaH3339fFoulwtet6LrYtGlThYWFucpOp1Pp6eke9YL5eUCw5gQAQCC5f8uX1WrVsGHDPG4Y9yYnJ0eTJk3S+eefr+PHj5daj3XfE+s+ACDYhgwZorffftv1nt5ut+u6665T//799cILL2j69On66aef9L///U933nmn2rVrp1mzZrnajxo1Sl999VWp16/o2ihJzZs3L/Oaxdw/G6/oZ+2Vtd5L/s8JAIBg4726p6o4J1SuMN9VANQmmZmZpnKdOnXK/YvxmJiYMq8JAAA8HT58WLfeeqvp2NixY9W/f/8y27mvs+7rsC/u9QsKCpSXl6fIyMiA9uOtTWmvEYI1JwAAAmXnzp164oknXOVHH31UnTt3Dsi1K7ouWiwWRUdHm0Jt3tbgYH4eEKw5AQAQKE6n0yMgftddd2nNmjWSCtemCy+8UOeff75atmyprKwsrVmzRv/973+1d+9eV5u5c+fquuuu07fffuu1H9Z9T6z7AIBQuP3229WpUyfddddd2rhxo6TCbzdx/4aTktq2bauHHnpIN998s2lHdHfB+qw9JydHDoejQn0Fa70vT18AAAQb79U9VcU5oXKxozkAE/d/jEt+RZW/oqOjy7wmAAAwczqduuqqq5Samuo6Fh8fr7feestn24qu3e7rtrdrBqIfb335+8a2suYEAECg3HLLLcrKypIkde7cWY899ljArh2sNbg6rfXl6QsAgEA4evSoaQcuSfrjjz8kSQ0bNtTChQv13Xff6bbbbtOFF16oyy67TC+88IK2bNmiK664wtRu2rRp+vzzz732w7pfsb4AAAiks846SytXrtQDDzwgm81WZt3WrVvrgQce0BVXXFFmyFwK3Xp/Mn2x3gMAwHv1ivTFa4Sag6A5AJPc3FxTOSIiotzXcN8tNCcnp0JjAgCgpnvwwQf1448/mo699957atWqlc+2FV27ve3y7W3tDuZrhGDNCQCAQPjoo480d+5cSYW7eLz//vsntU6WJlhrcHVa68vTFwAAgVDaLzFtNptmz56toUOHej0fGxur//73vzr77LNNx59//nmP4LrEul/RvgAACKR3331X7dq10yuvvOKxM7i7lJQU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AAAAAACgRiFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAAAAAAAAAAMCFoDgAAAAAAAAAAAAAAAAAAAAAwIWgOAAAAAAAAAAAAAAAAAAAAADAhaA4AAAAAAAAAAAAA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jRmFzM89ZAJeuPIkfOHoyQyZExERERERERERERERERERUd7L26A5APziF7+A0aiHd372s5+hvz+z6pJERERElD07O/vxhXvewY8f+QQ93lDa+cfPKMMzV5yIyxbPgMmwf79+LppRhqcuPwGXnzoTJiX9OR79eA9O/fXLeOidRmhDlA8XQmD1R8049Tev4JEP0oflTQYZPz5jFp74wQk4ckrmYfmB6msKseay43DT+fPgMKe/Ys8rWzpw+p2v4K6XtyE0RHi81xvEz/77KT7717exvSP978wzKhz4z7eOxR3LD0GRzZR2/klVAtPLbCmPbe/oxz2v70h7jgNJfyCMWx7bgCV/eh3rWlxp51cXWfHPLx+JP33+cFQUWMZghUREREREREREREREREREREQjl9dB88MOOwx33XUXAGDLli0477zz0N7enuNVERERER2cgmENf3hhK8787at4c3tX2vkldhPu/OyheOBrR2FKBtXI07EYFfzw9Fl46ooTcOy00rTzXf4wrlndgIv/8hY2tSaHgXd19uNLf38XP/z3J+juD6Y916LppXjmihPxvVNm7ndYPpEiS/jycVPx/JUn4ey6qrTzA2ENv3x6M879/Wt4f1d3bFwIgTUfteDUX7+Cf7/flPY8JoOMK0+fhSd+cDyOmpp5WF6RgWvPmjHk8d+/sBXNPZlVXR/vnt/QhtN/8wr+8cZODPEZhhhFlvCNE6biuStPxOI5FWOzQCIiIiIiIiIiIiIiIiIiIqJRkr6EYo597Wtfg81mwze+8Q288sormD9/Pi677DJceOGFqKurgyTxkvNERERE2fberm5cs6oBW9s9Gc2/eGENrjlnLort6atl76vp5Q489I2jserDFtz+5Ma0QfEPdvfgvN+/jq+fMA3fXTwdD7y1G79/YSsC4dTVwRMV24y47tx5WH54dVZ+76wqtODuLy7ECxvbcMOj69HS6xt2/pY2Dy7681v43JGT8IWjJ+OXz2zCa1s7M7qvY6eV4vZldZhW7tivtR5RW4jlC6qx6qOWQcf8IQ23PLYBf11xxH6dezxoc/lx09r1eGpda0bzD6kpxMpl9airLszyyoiIiIiIiIiIiIiIiIiIaEwJAYR8QMAF+F2Rtlcfc04AJhwKKMZcr5JoVOR90BwALrnkEhx99NE4//zzsXHjRtx666249dZbYTQaUVJSAotl3y4/L0kStm/fnqXVEhERER04+rwh/PzpTfjXu40ZzZ9WZsfty+px7PT0FcdHQpIkXLiwBqfMqcDPn9qUtpp3WBP48yvb8ffXdyCkpilDHXHh4TW49ty5KMlCWH6gU+dW4tjppfjd81txz+s7oaYplf3we014+L30FcwBoMhmxLXnzMVFC2tGHJa/+py5eG5jG9z+8KBjz25ow4ub2nDKnMoR3Ue+0TSBB9/ZjV8+vRnuwODHPZDdpOBHZ8zGpYumQJH5oVgiIiIiIiIiIiIiIiIiGoeE0MPTATdgsgPmAkBWcr2q0RPyA/6+hKB4X0Jg3DXgWOJ+wjxtmPePTQ5gyvHAtJP1rXwOwKLKNE6Ni6D5G2+8gSuvvBKbNm2CJEkQQg/eBINBtLZmVlEwEaugExEREQ1PCIHHPt2LWx7bgE5PIO18kyLjOydPx3dOng6Lcez+uCy2m/CLiw7BhQtrcM3qBmxLU3E9k5D51DI7bl9ah0UzykZrmRmxmQy4+py5WLqgGtesbsBHjb0jPufyw6tx7TlzUeowj3yBAMqdZvzkzNm44dH1KY/fuHY9Fk0vG9PvgWza1OrC1asy/1qcPq8SN18wHxOLrNldGBERERERERERERERERHR/ggHgf52wNMGeNoBd6veetriY9E2POCK3OYCwFK4f9tIg+rRCuJBjx5+D3qAgCfDfQ8QdOvj0ZC4OvyV00cs6AG2PK1vAOCoiofOp50EFEzM7v0TjaK8D5r/8Y9/xA9/+ENomgYhBCRJGlFQPBpSJyIiIqLUmrq9uG7NOryypSOj+UdNKcHK5XWYUeHM8sqGWcPUEjz5gxPwt9d24PcvbEUgrO3zOYyKhG+fNB2XLZ6R06D03AkF+N+3F+Ghdxvxi6c3pawens6UUhtuX1aP47IQlv/C0ZPxn/ebsK7FNehYU7cPd728HVeePmvU73cs+YIqfv/iVvzt1R0Ip6kuDwCVBWbcfEEdzqqrGoPVERERERERERERERERERElEALwdqcIi0f7CWFyX8/+308gEtLuy+zq24MMFVQ3FwBCGxwSHxgYF+r+rz3XPK3Apw/rG6BXOI8GzycfB1gKcrk6omHlddD8iSeewOWXX54UMI8GxU0mEwoLC2Gz2XK8SiIiIqIDQ0jV8I/Xd+LO57fAH0of1C60GnHNOXNw8cJJkOXcXzHGZJBx2eIZOO+QCbhuzTq8trUz49seMbkYdyyvx8zK3IXlE8myhC8eMxlnzK/EbY9vxNpP9mR0O4Osh+W/d0r2wvKKLOHWJXVYfvebSPUZzj+/vB3LFlRjapk9K/efba9u6cB1a9ahsdubdq4kASuOmYwfnzkbTotxDFZHRERERERERERERERENAaE0IO9vl7A3weogeSQsGF0rqg85sIB/bEZLbleSeaEAPo7gN4moK8x0jbpbSxA3g5ooVyvNL2RBtUPJB2b9O2dPwOSAtQcGQ+e1xwBKHz/mfJHXgfNr7jiiljIXAiBiooKXHnllbjgggswa9YsyLKc6yUSERERHRA+burF1asasHHv4CrVqSw5bCKuO3ceyp359wLC5FI77v/qUXjs07245bEN6PQEhpxbYDHg6nPm4rNH5EdYfqAKpwW/v2QBLlpYg+sfXYfdXUOHnxdGwvKzxiAsv6C2GJ87shb/erdx0LGgquHGtetx31eOHNGViMZapyeAWx/fgEc/zizUP6fKiTuW12NBbXGWV0ZERERERERERERERES0HzQNCLojYfHeoVt/X+oxbZgrLxssqStTD7WZB+zva9A7HNSrW0eDygG3vvkH7A95LNKqQf185gLAUQE4KiNtVXzfWRkZrwRspYCc5athq2HAvTceHu9tTA6U9zUDYX9210C5JVSg6W19e+XngMkBTDk+Hjwvn6NXQSPKkbwNmr/99tvYvn17LJxyyCGH4IUXXkBpaWmOV0ZERER04HD7Q/j1s1tw31u7UlanHmhSiRW3La3HSbPKs7+4EZAkCRccOhEnzSrHL5/ehIfebRz0+M4/dCKuP28uKpz5/2n1E2eV45krTsQfX9yGv7y6HSE1/mCcFgOuOnsOLjmydkzD8j89czaeWd+K7v7goGOvbunAU+tacU79hDFbz/4SQuA/7zdh5ZOb0OdL/yl/i1HGFafNwteOnwqjwg++EhERERERERERERER0RiIVhh3twGetoRK1m2Aryd1iDzgAkT6K1nvl7Af8Pj1+98fijlFIL0gEigfGB53j37QOnofXduGnycpgL1cD6E7E8LoicH06DHTEFd8Dvn1sPjAauTR1tWiB41p/JNkQDbEP9Cwv4IeYMvT+gbo32+R0LlUfviIl0m0r/I2aP7hhx8CQKyi+T333MOQORER0QEupGpQJCkvK0sfiJ5Z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eLAhqdZHaGio8cc//tHIzc1t7aUCANBmHDlyxJg7d64xefJkIzo6us44Ksnw8/MzJk6caKSmpjZ73vT0dOO6664z/P39a53LYrEYo0ePNr766qtmzeNwOIy3337b6NWrV537ioqKMmbOnGkcO3bspNgTAAAtZcqUKS7xKykpqUlj5eTkGH/4wx+MkJCQOmPwkCFDjCVLljR73d66H+DNPQEA4ElHjx41nn76aSMlJaXe635/f39j5MiRxpw5cxo1PnEfAIDW88MPPxjXXnutERAQUG+cT0hIMB577DEjLy+vSfMUFRUZf/rTn4zIyMg65+jdu7cxd+5cw+FwNGtPqampxujRo+t9z/K73/3OyMjIaNY83twTAAAnZGVlGYsWLTIeeughY8yYMUZYWJhH7snXxLX6ybEneA6J5gDqVVZWZlx77bX1XjhXf8TExJDgBQCAYRjTp0+vMym6ocf1119vFBYWNmne+fPnG8HBwW7NY7FYjIceeqhJN3Hz8/ON8ePHu72nbt26GVu2bGnTewIAoKV89NFHtcatptzUXr16dYMfYKv5vqK8vLzR83jzfoC39gQAgKd9/PHHRlxcXKOu+ePi4twen7hP3AcAtA673W489NBDhtVqbXSc/+yzzxo116ZNmxr8wFr1x4UXXmgUFBQ0ek8Oh8N44IEH3J4nJCTEWLhwYaPn8eaeAAAwDMP45ptvjCuuuMKIj49vMOZ4ItGca/WTY0/wLIthGIYAoBbmosSvAAA5wUlEQVQOh0NXXnmlli5daqr38fFR165d1bFjR2VkZKiwsND0fHBwsFasWKFzzjnHm8sFAKBNOfPMM/Xjjz+61J/4Wsi4uDjZbDbt2bPHJZZK0rBhw7Ry5cpGfUXlggULNGXKFDkcDlN9TEyMunTpopycHGVnZ6vmJcA999yjl156ye15SktLNXr0aK1fv95U7+/vr+TkZAUEBCg9PV3FxcUu61i7dq169OjR5vYEAEBLKSwsVP/+/ZWdne3yXFJSkjIzM90e65tvvtEFF1yg0tJSU314eLhSUlKUn5+vffv2yW63m56/8sortXDhQre/xtub9wO8tScAADztpZde0n333edyPRoYGKj4+HhFR0ertLRUBw4c0OHDh53Px8XF6eDBgw2OT9xv+p4AAGiuW265RW+99ZZLfXBwsLp3766goCDl5eUpPT3d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CwoKdPXVV5uSni677DJddtlltbZvbmyMiYlRYGCgs1xRUaGMjIwWmctb8b4xewIAwNu4Vm94nrawJ7QsEs0BmBw+fFiGYTjLfn5+io2NbdQYCQkJpnJOTo5H1gYAQHv36aef6uuvvzbVTZs2rd4+NeNsYmJio+asGbdzc3Pdmqdmv6bMVdd7BG/tCQAAT3rllVf0/fffS5L8/f31xhtvyGKxNHvc5sbFuLg4+fr6OssOh0N5eXku7bx5P8BbewIAwJNqfsuX1WrVueee6/KB8dqUlpbq2Wef1cUXX6yioqI62xH3XRH3AQDeNnLkSP397393XtNXVlZq2rRpGjZsmGbPnq3Fixfr888/13/+8x/deeed6t69uz755BNn//Hjx+u9996rc/zmxkZJio+Pr3fME2reG2/uvfaWiveS+3sCAMDbuFZ31Rb3hJbl23ATAKeSY8eOmcrBwcGN/sV4SEhIvWMCAABXR44c0W233WaqmzhxooYNG1Zvv5pxtmYcbkjN9jabTeXl5QoICPDoPLX1qes9grf2BACAp2RkZGjmzJnO8iOPPKI+ffp4ZOzmxkWLxaKgoCBTUlttMdib9wO8tScAADzF4XC4JIjfdddd2rhxo6Sq2HTppZfq4osvVmJiooqLi7Vx40b9+9//1v79+519VqxYoWnTpunDDz+sdR7iviviPgCgNdxxxx3q3bu37rrrLm3dulVS1beb1PyGk+q6deumBx98ULfccovpRPSavHWvvbS0VHa7vVlzeSveN2YuAAC8jWt1V21xT2hZnGgOwKTmP8bVv6LKXUFBQfWOCQAAzBwOh6677jplZWU56zp27KhXXnmlwb7Njd0143ZtY3pintrmcvfCtqX2BACAp9x6660qLi6WJPXp00czZszw2NjeisEnU6xvzFwAAHhCYWGh6QQuSfrpp58kSVFRUfrqq6/00Ucf6fbbb9ell16qa665RrNnz9b27ds1depUU79FixbpX//6V63zEPebNxcAAJ50/vnna8OGDbr//vvl4+NTb9uuXbvq/vvv19SpU+tNMpdaL943ZS7iPQAAXKs3Zy7eI7QfJJoDMCkrKzOV/f39Gz1GzdNCS0tLm7UmAADauwceeECfffaZqe4f//iHunTp0mDf5sbu2k75ri12e/M9grf2BACAJ7z99ttasWKFpKpTPN54440mxcm6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2dfXVw888IBuu+02JSUlubQ/dOiQ1qxZo48//lgLFizQRx99ZDrR/MCBA9q6dask6YUXXtCXX37pfO4///mP4uLial1HUFCQRowY4VIfGhqqLl26aNKkSbrooos0cOBABQcHm9o4HA6tX79eL7/8st5//31nvY+Pj7777jsNHTq01jlP8MbrfMK9996rOXPmmOoGDRqkRx99VBdeeKFCQkJMz+3atUvLli3Tf//7X23YsKHeE81vuOEG/etf/3KWQ0NDde+99+rGG29USkqKqe3//vc/PfXUU6aE97CwMP3000/q0aNHreNfcskl+vTTT03rfuqppzR+/Hj5+/ub2tpsNm3ZskWfffaZ3n//fXXo0IETzQEAAAAAAAC0ChLNAQAAAAAAAAAnhaYmmp8wePBgff7554qJiam1j91u16WXXqrPP//cWXfPPffopZdeqrX9gw8+qBdeeMFZnjt3rm688Ua39pKXlyeHw1HnWqZNm6Z3333XWc7IyFBycrJbY5+Qmppa5+tTm3/961+64YYbnOXJkydr/vz59fbxxussSV988YV+85vfmOruuusuvfTSS7JarfWuUZJWrlypsWPH1vrc/PnzNWXKFGe5e/fu+uKLL9S9e/d6x3zhhRf04IMPOsuXX365li5d6tKusLBQ0dHRqqyslCT16dNHP/30k4KCghpctyT98ssv6tOnj1ttAQAAAAAAAMCTGr77CgAAAAAAAADASa5Dhw5atGhRncnPUtUp3jWTnT/77LM62+/YscP5c2hoqK6//nq31xMVFVXvWjyhMUnmknT99dfruuuuc5YXLVqkwsLCRo3REq+zJM2aNctUnjp1ql5++WW3kswl1ZlkbhiGnnjiCWc5ODjYrSRzSXrggQc0adIkZ/njjz82/Z04ISMjw5lkLlV9iMDdJHNJJJkDAAAAAAAAaDUkmgMAAAAAAAAA2r3bb79dSUlJDbbr06ePBgwY4Czv3LlTx44dq7VtaWmp82er1ep20nNbVj3RvLKyUhs2bGhU/5Z4ndevX6/vvvvOWQ4LC9Orr77aqHXV5YsvvtAvv/ziLN99991uJZmfMHPmTOfPhmFo8eLFLm2q/z2RJD8/vyasFAAAAAAAAAC87+S/6w0AAAAAAAAAQAOuueYat9sOGjTI+bPD4VB2dnat7eLj450/Hz16VB9//HGT19dWpKSk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deWVV2ru3Ln67LPPtGLFCufj22+/NfU977zzlJSU5Czv27dPI0aM0PLly02J2YZhaO3atRo/fryefvppSVLfvn2b9mK0sHHjxun//u//THUvv/yyhgwZokWLFqm4uNilz65du/Tyyy/rzDPP1Lhx4+oce8qUKbrtttucZZvNpltvvVVjx47VJ598UuvYNptN//vf/zRnzhyNGjVKffr00ZtvvimbzebSNicnRzNmzFBiYqKuvvpqvffee6a/B9Xt2LFDf/zjH3XfffeZ6m+55ZY61w8AAAAAAAAALcW3tRcAAAAAAAAAAMDJLC0tTU8++aSefPJJ+fj4KDExUZGRkfL391dBQYHS09NdEpCDg4M1d+7cOseMjY3V7373O1ObxYsXa/HixS5tk5KSlJmZ6Sz7+fnphRde0OTJk511O3bs0AUXXKCIiAh169ZNdrtde/fu1ZEjR5xt4uLi9I9//EPnnntuU16GFjd79mzt27dPH3zwgbNu48aNuuqqq+Tv76+kpCRFRkaquLhYWVlZKigocHvsv/3tb8rPzzeNvWrVKq1atUq+vr7OsSsrK1VQUKDs7GxVVFQ0av0lJSX68MMP9eGHH0qSwsPD1alTJ4WHh6uiokL79u1Tbm6uS78pU6Zo4sSJjZoLAAAAAAAAADyBRHMAAAAAAAAAADzEbrdrz549dZ5YLUkJCQlasGCBBg8eXO9Yc+bM0b59+7R8+fJGr2PSpEl6+umnNXPmTNMp5vn5+frxxx9d2nfp0kWffvqpQkNDGz2Xt/j6+ur9999Xr1699Nxzz5mS9ysqKrRz584mj+3n56f58+dryJAheuKJJ1RaWup8rrKyUrt379bu3bvrHSM6OlpBQUFuz1lQUNBgMvwtt9yi1157ze0xAQAAAAAAAMCTrK29AAAAAAAAAAAATkbr16/X888/r7FjxyokJKTB9j169NCf//xnbd++Xeecc06D7cPCwvTFF1/o888/1+9//3sNGjRIkZGR8vPzc2t9M2bM0LJlyzRw4MA623To0EH33XefNm/erNNOO82tcVuTxWLRn//8Z6WlpWnatGkKDw+vt31cXJxuvvlmrV+/3q3xH3zwQWVkZOj+++9X165dG2zfqVMnXXfddVq0aJH279+vuLg4lza33Xabli5dqptvvlk9evRocMyAgABdccUVWrNmjd544w35+nJmEAAAAAAAAIDWYTGqH2UCAAAAAAAAAAAazW63Ky0tTTt37lR2draKiookVSWLJyQkaNCgQUpJSWm19aWlpWndunXKyclRZWWloqKi1LdvX5199tny9/dvtXU1l91u1/r167V7927l5uaqpKREoaGhSkhIUP/+/dWnTx9ZLJYmj79r1y79/PPPys3NVX5+vnx9fdWxY0d17dpVffv2VXJycqPHzM3N1bZt25Senq4jR46opKREwcHBioiIUJ8+fTRw4EC3PrgAAAAAAAAAAC2NRHMAAAAAAAAAAAAAAAAAAAAAgIm1tRcAAAAAAAAAAAAAAAAAAAAAAGhbSDQHAAAAAAAAAAAAAAAAAAAAAJiQaA4AAAAAAAAAAAAAAAAAAAAAMCHRHAAAAAAAAAAAAAAAAAAAAABgQqI5AAAAAAAAAAAAAAAAAAAAAMCERHMAAAAAAAAAAAAAAAAAAAAAgAmJ5gAAAAAAAAAAAAAAAAAAAAAAExLNAQAAAAAAAAAAAAAAAAAAAAAmJJoDAAAAAAAAAAAAAAAAAAAAAExINAcAAAAAAAAAAAAAAAAAAAAAmJBoDgAAAAAAAAAAAAAAAAAAAAAwIdEcAAAAAAAAAAAAAAAAAAAAAGBCojkAAAAAAAAAAAAAAAAAAAAAwIREcwAAAAAAAAAAAAAAAAAAAACACYnmAAAAAAAAAAAAAAAAAAAAAAATEs0BAAAAAAAAAAAAAAAAAAAAACYkmgMAAAAAAAAAAAAAAAAAAAAATEg0BwAAAAAAAAAAAAAAAAAAAACYkGgOAAAAAAAAAAAAAAAAAAAAADAh0RwAAAAAAAAAAAAAAAAAAAAAYEKiOQAAAAAAAAAAAAAAAAAAAADAhERzAAAAAAAAAAAAAAAAAAAAAIAJieYAAAAAAAAAAAAAAAAAAAAAABMSzQEAAAAAAAAAAAAAAAAAAAAAJiSaAwAAAAAAAAAAAAAAAAAAAABMSDQHAAAAAAAAAAAAAAAAAAAAAJiQaA4AAAAAAAAAAAAAAAAAAAAAMCHRHAAAAAAAAAAAAAAAAAAAAABgQqI5AAAAAAAAAAAAAAAAAAAAAMCERHMAAAAAAAAAAAAAAAAAAAAAgAmJ5gAAAAAAAAAAAAAAAAAAAAAAExLNAQAAAAAAAAAAAAAAAAAAAAAmJJoDAAAAAAAAAAAAAAAAAAAAAExINAcAAAAAAAAAAAAAAAAAAAAAmJBoDgAAAAAAAAAAAAAAAAAAAAAwIdEcAAAAAAAAAAAAAAAAAAAAAGDy/wEx2+RJnmuUmAAAAABJRU5ErkJggg==", + "image/png": "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esRBBx0Uu+++e6Xr2EMPPRT7779/vPbaazudAQAAqJ8q/0kYAAAAQA357W9/G6tXr67Succdd1zK8ciRI6N9+/bbva5JkybbPWf06NFbjRUXF8fy5ctjwoQJ8a9//StWrVpVMbdu3bo49dRTY/LkydGxY8cqpCci4je/+U3st99+O3Xtzl63I7b1NVVaWhqrV6+OqVOnxmOPPRaTJ0+umNu0aVOceeaZMWXKlOjcufM27z1r1qw4++yzo6SkpGKsWbNmcfXVV8cFF1wQffr02eqaJUuWxBtvvBGPP/54jBo1KuVr8NP+8Y9/xKZNm7b7+S1dujQuuOCClLHKvvYrU1hYWKXzgPSzltYfHTp0qPL35eeeey5+/etfVxz369cvfvvb31bp2m7dun3u/PHHHx/XXXddle71WZ/3QqnqcuGFF8bQoUO3Gk8mk7Fhw4aYO3dujBs3Lp566qkoLi6umP/rX/8aPXr0iGuuueZz73/eeefFe++9lzJ26qmnxlVXXRVDhgyJRo0apcxt3rw53n777RgzZkw89NBDW137iaFDh8bAgQOr9Dlec801Kf9/47rrrovjjz++Std26NChSucB6WW9bhh+//vfx3e/+92UsUQiEeeff35cdNFFMWTIkMjOzq6YKy4ujueeey7uvvvuGDVqVMV4UVFRnHnmmfHggw/GF77whR3KcPXVV8cdd9yRMpabmxuXX355nH/++XHooYdGIpGomNuwYUM8+eST8Ze//CXGjh1bMb506dI47rjj4plnnqny+gUAANR/iuYAAABAWvXv33+nrz3iiCOiS5cu1ZLj2GOP3ebcRRddFLfddltcdtllKTtbrlixIn7+85/HXXfdVS0ZdtXYsWNjyJAhFcdz5syptn8/1aV///4xePDgTMfYpqp8Td10000xfPjwuPzyyyveenzDhg3xk5/8JO69995tXve9730vNm/eXHHctWvXGD16dOy1117bvKZDhw5xxhlnxBlnnBF/+ctf4sEHH4zf//73leauirlz52419nlf+0DdYC2tPpleSxs3blzl78sfffRRynFhYWG1fU/v2LFjrV4funXrtt183/nOd2L69Olx5plnxtSpUyvGf/rTn8bll18ezZs3r/S6J554IqWEmUgk4m9/+1tceuml23xW48aN47DDDovDDjssfvKTn8Tbb78dv//977cqpHfr1m27Jf9PfPYFXnvvvXet/jMBts96XX0yvV5vywsvvLDVi5k6d+4c999/fxx55JGVXpOXlxennnpqnHrqqfHEE0/EV7/61VixYkVEfPyC5wsuuCDeeuut6NWrV5UyDB8+fKuS+b777hsjR46Mfv36VXpNs2bN4pxzzolzzjknhg8fHldddVXFC5k3bNgQX/rSl+K9995Ly4vJAACA2i8r0wEAAAAAaqP8/PwYOXJkHHbYYSnj9957b8pOmTQMl1xySdxwww0pY6NGjdrm18Lq1avj8ccfTxn75z//+bkl88/Kzc2N888/PyZOnBgFBQU7nBkg06ylpFvPnj3jiSeeiLy8vIqx9evXx3//+99tXvPZF41dfvnln1syr8wBBxwQ9913X3zjG9/YscAAtYD1euesWrUqhg4dGslksmKsU6dO8eKLL26zZP5Zp512Wjz77LPRsmXLirGNGzfG+eefn/LOWNsya9as+Pa3v50yts8++8SLL764zZL5Z11yySXxn//8J2XtXLZsWXz1q1+t0vUAAED9p2gOAAAAsA05OTnxk5/8JGVs48aN8dprr2UoEZl0xRVXpLzd+Lp162LevHmVnjt27NiK3c8jIvr16xeHHnpojWcEqG2spaTbXnvttdXuvZMnT97m+Z/ezTzi4/UeoKGxXu+4H/3oR7Fw4cKK4+zs7Hj88cer/E4WnzjwwANj5MiRKWOTJk2KP/7xj9u99pvf/GasX7++4jg/Pz/++9//RuvWrXcow0knnRS//e1vU8aeeuqpePDBB3foPgAAQP2kaA4AAADwOQYPHhzZ2dkpYzNnzsxQGjKpXbt2W/3Cfvny5ZWe+9FHH6Uc9+7du8ZyAdR21lLSbe+990453tZ6XVRUFOvWrUsZs2YDDZX1uupWrly51TtiXHXVVdG/f/+dut+pp54aZ555ZsrY7bffHmVlZdu8ZsqUKfHMM8+kjN10002xxx577FSGK6+8cqv8v/vd73bqXgAAQP2iaA4AAADwOZo0abJVuXjFihUZSkOmfXpH84iPvz4qU1RUlHL8eQUBgPrOWkq67ex6HWHNBhou63XVDRs2LDZt2lRxnJubu9WO8DvqpptuSjmeP39+PPLII9s8//bbb085bteuXXzzm9/c6ednZWXFjTfemDL2xhtvxOuvv77T9wQAAOoHRXMAAACA7UgmkynHny0v0TCsWLEipWiRSCRir732qvTcgoKClOMJEyZEeXl5TcYDqNWspaTT1KlTU467d+9e6XmfXa8jQqEOaNCs11Xzn//8J+X4tNNOizZt2uzSPffdd9848MADU8YefvjhbZ7/2RL6BRdcELm5ubuU4aSTTor27dunjH32cwUAABoeRXMAAACAz7Fx48ZYtWpVythnf/FKw/D3v/89pXgxYMCAaNGiRaXn9u3bN+V4wYIFceedd9ZoPoDaylpKOs2dOzdGjx6dMnbcccdVem7Tpk2jS5cuKWM/+clPYsuWLTUVD6DWsl5Xzfr16+Pdd99NGfvSl75ULff+7H1eeeWVSs+bNm3aVrvNV0eGnJycOP3006uUAQAAaDgUzQEAAAA+x9ixY6OsrCxlrH///hlKQ6Y88MADW72N+Pe///1tnn/YYYdFYWFhyth3vvOduOKKK2L27Nk1khGgtrKWki5z5syJM844I6Uofvrpp0fv3r23ec0pp5yScvz666/HoYceGk8//bR3IwEaFOt11bzxxhtRWlqaMlZd/54+e5+FCxfGvHnztjrvs+Xv7Ozs2H///Wskw6RJk2Lz5s3Vcm8AAKBuysl0AAAAAKD2mTRp0la/OK2q+vQLyNLS0rj55ptTxvr06RP77LNPhhLVPTv7tdSuXbvo169fDSRK9corr8TMmTO3Gi8tLY21a9fG1KlT44knnoi33norZf673/1ufOELX9jmffPy8uKaa66JH//4xxVjyWQyhg0bFsOGDYv+/fvHkCFD4tBDD42DDz44OnfuXH2fFFArWEs/Zi2tGxYvXhxjxozZqWsHDx4cOTk1++um2bNnV5ovmUzGxo0bY968eTF+/Ph44oknUkrmvXv3jmHDhn3uva+55pr429/+FsXFxRVj77zzTpx88snRvn37OP744+Pwww+PAQMGxL777hu5ubnV94kBGWe9/pj1uuqmTZuWctysWbPo2bNntdz7gAMO2GpsypQpseeee35uhp49e0bTpk1rJENxcXHMnj079t5772q5PwAAUPcomgMAALCV0rLyWLy2/vzCtDbr2LJx5GTXvjccu/baazMdIePWr18fl112Wbz22msp4zfddFOGEtVNO/u1dMYZZ8SoUaOqN0wlLrjggh06v3///vHDH/4wvvjFL2733O9///vxwgsvxAsvvLDV3KRJk2LSpEkVx+3atYuBAwfG4MGD4/TTT9+qSEAdVFYasW5hplPUfy12i8iunT/mtpZaS+uS5557Lp577rmdunb16tVRUFBQvYE+4/7774/777+/yue3bds2Lr300vjRj34U+fn5n3tu165d489//nNceumlW80tXbo05dmNGzeOAw88MAYPHhzHH398HHnkkZFIJHbsk6FWKS0vjaUbl2Y6Rr3Xvmn7yMmyXtdW1usds2rVqpTj9u3bV9ta0LZt28jKykp5R43PPq+ysY4dO1bL8yMiOnTosN3nAQAADUvt/Bs9AAAAGbV47eYY9KsXMx2jQRj/vSGxR6vq2XWKHVPZrpjFxcWxYsWKmDBhQvzrX/+KlStXpsxfffXVcdZZZ6UrIrXMQQcdFJdffnmcfPLJVTo/JycnnnzyyfjmN78Z99xzz+eeu2zZsnjkkUfikUceiauvvjqOPvrouOGGG+LII4+sjuhkwrqFEbfX/K78Dd7VkyMKvTAjU6yl1EaFhYXx1a9+NS677LLtlsw/8dWvfjWaN28eX/va12Lt2rXbPG/z5s3x6quvxquvvhq33nprdOnSJb75zW/Gt771rcjLy6uuT4E0WrpxaZz4nxMzHaPee+ZLz8Ru+btlOkaDZb2uXp8tXbds2bLa7p1IJKJFixaxZs2airHVq1enNUNl91I0BwCAhk3RHAAAAGiQjjvuuCqfW1hYGDfffHNceeWVNZiI2m7ixIkxceLEuOGGG+Jvf/tbnHrqqdu9pkmTJnH33XfHFVdcEbfeemv897//jZKSks+9JplMxvPPPx/PP/98XHjhhfHXv/41mjRpUl2fBkC1sZZSG61evTpuu+22+M1vfhPf/OY347bbbotGjRpt97qzzz47jjnmmPj1r38dw4cPj6VLt7/L9dy5c+Paa6+Nv/zlL/Hwww/HfvvtVx2fAkC1sl5Xr6KiopTjZs2aVev9mzVrllI0r+wFUDWZobJ7ffZ5AABAw1L73psbAAAAyLgXX3wxksnkTn3suWf92ln2oIMOimnTpqXtF+0XX3xxJBKJKn0MGTIk5dquXbtW+doRI0ak5fPZ2a+lUaNGpSXfnDlztpmhqKgopk2bFiNGjIiBAwdWXLNkyZI4/fTTt7tL+acNGDAgRo0aFYsWLYoRI0bEJZdcEj179tzuW6zff//9ceyxx8aWLVt2+nMEMsNa+v9ZS2u/iy66aKe/XgsKCmo834033rjN52/evDkWLVoUzz77bFx++eUVpfKysrK4/fbb47TTTqvyOtqqVav4xS9+EQsXLozRo0fHD37wgzjiiCO2+4KvmTNnxhFHHBGvv/76Ln+uQHpZr/8/63XVNG/ePOV4w4YN1Xr/z96vcePGac1Q2b0++zwAAKBhsaM5AAAAwOeYOHFiDBkyJJ5++uno3LlzpuM0eFOmTIlFixZV6dy+fftGx44dd/pZ+fn50atXr+jVq1dcdNFF8Zvf/Cauu+66iPh41/ErrrgiDjzwwNh///2rfM82bdrERRddFBdddFFERKxbty7eeuutGDduXDz99NOVFtReffXVuPbaa+OPf/zjTn8uAJlkLW14Vq9eHZMmTarSuYWFhdG/f/+dflajRo2iY8eO0bFjxzj++OPjW9/6Vhx77LEVO5KPHj06fvSjH8VvfvObKt8zOzs7jj322Dj22GMj4uPS+pQpU+L111+P559/Pp588smtingbNmyIs846Kz744INo2bLlTn8+AJliva6aVq1apRxXtuP4zkomk7Fu3bqUsRYtWqQ1Q2X3+uzzAACAhkXRHAAAAGiQkslkynF5eXmsXbs2Pvjgg/j3v/8dw4YNi+Li4oj4uNx87LHHxoQJE9Kyayfb9qtf/SruvffeKp07fPjwuPjii6vt2ddee2289dZb8cADD0RERGlpaXz/+9+PZ599dqfv2aJFixg8eHAMHjw4brjhhpg6dWpcf/318fjjj6ec95e//CWuueaa6NKly658CgDVylrKtrz77rtx3HHHVenco446KsaOHVttz95nn33ivvvuixNOOKFi7A9/+ENcffXVsccee+zUPbOzs2PfffeNfffdN772ta/F+vXr484774ybbropNm3aVHHewoUL484774wf/ehHu/x5AFQX63X1+mzpetmyZZFMJrf7blVVsXz58igvL08Za9++/XYzLFmyZJef/Xn3UjQHAICGTdEcAAAAICKysrKisLAwBg4cGAMHDowLL7wwTjjhhFizZk1ERMyYMSMuv/zyePDBB2s0x/e+97244IILqnTuu+++G9dee23F8ciRIyv9JXRl+vbtu1P5Grqrr766omge8fEuqQsXLozddtutWu7fp0+feOyxx+L666+P2267rWK8tLQ0/v3vf8f3v//9ankOQE2wllJbHH/88dG7d++YNm1aRHy8I/n9998fP/zhD6vl/vn5+XH99dfHMcccE0OGDEnZ3XzkyJGK5kCtZr3eNb179045Xr9+fcyYMSN69uy5y/d+++23txrbe++9txrr1atXyvGHH34YGzdujKZNm1Z7hry8vOjWrdsu3xcAAKi7FM0BAADYSseWjWP894ZkOkaD0LFl40xHYBsGDBgQI0eOjFNPPbVi7KGHHoqnnnoqTjnllBp77t57713pL5Irk5OT+qOdI444wo7XNax///6Rl5dXseNfMpmMV199Nc4+++xqfc4tt9wSjz76aEyfPr1ibPz48YrmdUmL3SKunpzpFPVfi+p5kQc1w1pKJh1++OEVRfOIiFdeeaXan3HwwQfH97///bjhhhsqxqZNmxbLly+Ptm3bVvvzqH7tm7aPZ770TKZj1Hvtm1atEExmWK93zCGHHBLZ2dlRVlZWMTZx4sRqKZpPmjQp5Tg/P7/SkvfAgQNTjsvKyuKdd96Jww8/vNoz9O/fPxo39rMrAABoyBTNAQAA2EpOdlbs0WrXd0GCuu6UU06JCy+8MO6///6KsWuvvTZOPPHEyM7OzmCyhmvEiBExYsSIjD0/JycnWrVqlfJ24gsWLKj252RnZ8cXv/jF+OUvf1kxtnDhwmp/DjUoOyeicM9Mp4CMs5Y2TIMHD45kMpnRDO3atUs5ron1OiLiy1/+ckrRPCJi0aJFiuZ1RE5WTuyW70VLYL2uuvz8/Nhvv/3irbfeqhj7z3/+E1/5yld2+d7/+c9/Uo6PO+64yMrK2uq8Xr16RevWrWPlypUp1+5q0by0tDQef/zxlLEjjjhil+4JAADUfVv/rQQAAACACrfeemvK7l3Tpk2Lf/7znxlMRKaVlJSkHG/ZsqVGnvPZHfo2btxYI88BqGnWUjIhU+t1hDUbqJus11V31llnpRw/8cQTsWLFil265/vvv59SXo+IOOOMMyo9N5FIxBe/+MWUsZEjR0ZpaekuZXj66adj6dKlKWOffQ4AANDwKJoDAAAAfI7dd989vv71r6eM3XLLLVFeXp6hRGRSUVFRrF69OmXsszumVpcNGzakHLdp06ZGngNQ06ylZML8+fNTjtO1XkdYs4G6yXpddZdffnk0adKk4rikpCRuvvnmXbrnZ98do02bNnH22Wdv8/yrr7465XjZsmVx55137vTzy8vL46abbkoZGzBgQBx22GE7fU8AAKB+UDQHAAAA2I7rrrsuGjVqVHH84Ycfxr///e8MJiJTxowZs1XRomfPnjXyrDfffDPluHPnzjXyHIB0sJaSTsXFxTF27NiUsXSt1zk5OdGpU6caeRZATbNeV03r1q1j6NChKWN33nlnTJo0aafu9+STT8ajjz6aMvbtb387mjZtus1r+vbtG8cff3zK2A033BALFizYqQx33XVXTJw4MWXsu9/97k7dCwAAqF8UzQEAAAC2o1OnTnHZZZeljN1yyy2RTCYzlIhM2LJlS/z85z9PGSssLIzDDz98q3PfeOONeO2113b6WbNmzYrHHnssZeyEE07Y6fsBZJq1lHS6/fbbY/ny5Sljp5xySqXn3nXXXVFcXLzTz/rtb3+bcnzEEUdEs2bNdvp+AJlkva66W265JeWFRWVlZXHGGWfEnDlzdug+b7/9dlxwwQUpY927d49rr712u9feeeedKWtOUVFRnHzyybFq1aodyvDMM8/ENddckzJ20kknxTnnnLND9wEAAOonRXMAAACAKrj++usjLy+v4viDDz6Ihx9+OIOJSKcVK1bEl770pXj77bdTxq+++urIzs7e6vypU6fG4YcfHieddFK88MILO1TMWLBgQZx++umxadOmirGCgoI4/fTTd/4TAKgFrKXUtGQyGX/605/iBz/4Qcp4z54947TTTqv0mquuuip69OgRd911V6xdu7bKzyorK4vvfOc7MXr06JTxz+5wC1DXWK+rpnXr1jFixIhIJBIVYwsXLowhQ4bEuHHjqnSPJ598Mo4//viU9Sc3NzdGjBgRTZo02e71PXr0iD/84Q8pY++//34MGTIk3nvvvSplGDFiRHzxi19MedFV27ZtY/jw4VW6HgAAqP9yMh0AAAAAoC7Yfffd45JLLom//vWvFWM333xznHXWWSm/WCbVpEmTorS0dKeubdeuXfTr16+aE6V65ZVXYubMmZXObdiwIRYuXBivvvpqPProo7Fx48aU+X322Se+973vfe79n3nmmXjmmWdizz33jK985SsxePDgOPTQQ6NFixYp5yWTyZg6dWr885//jNtvvz3Wr1+fMn/TTTdFq1atduIzBKg9rKW11+LFi2PMmDE7ff3gwYMjJ6fmfuU0e/bsbeYrLi6OVatWxeTJk+ORRx6JWbNmpczn5ubGn//858jNzd3m/efPnx9XXXVVXHvttXHmmWfGySefHEcccUR07dp1q3NXrlwZTz31VPzmN7/ZqsR30EEHxcUXX7zjnyBALWK9rrrjjjsubrvttpS/F86bNy8GDx4c559/flx88cUxePDglBcnl5SUxHPPPRd33313PProoyn3y8rKivvuuy+OOOKIKme47LLL4u2334677rqrYmzy5MnRv3//uPzyy+OCCy6IQw89NOWajRs3xpNPPhl//vOfY+zYsSlzTZs2jYceeijat29f5QwAAED9pmgOAAAAUEXXX3993HPPPVFSUhIRH//ydtSoUfGFL3whw8lqr6q83fe2nHHGGTFq1KjqC1OJz75FeVXts88+MWbMmCrtMhfxcdngF7/4RfziF7+IrKysaNeuXbRp0yby8/OjqKgo5s+fH0VFRZVee+WVV8Y3v/nNncoJUNtYS2un5557Lp577rmdvn716tVRUFBQfYE+4/7774/7779/h69r3Lhx3H///XH00UdX6fxNmzbFAw88EA888EBERLRs2TLatWsXrVq1iuLi4li2bFksXLiw0mu7d+8eo0aNiqwsbyYM1H3W66q77rrrolmzZnH11VdXvMg6mUzGyJEjY+TIkdGkSZPo1KlTtGrVKlasWBGLFi2KLVu2bHWf/Pz8GD58eJx11lk7nOHOO++MgoKCuPXWWyvGSkpK4k9/+lP86U9/iubNm0enTp2iefPmsWzZsli8eHHFn+2ntW3bNh599NEdKroDAAD1n592AQAAAFRRly5d4sILL0wZ+/nPf56hNGRCfn5+/OAHP4iJEyd+7g5vXbp0id13373SufLy8liyZEm8//778frrr8cHH3xQacm8efPm8Yc//CHuvPNOOwcC9Ya1lHQ59thj45133tluYe/www/f5jq7du3amDFjRrzxxhvx9ttvb7NkftZZZ8X48eNjt9122+XcALWB9XrHXHnllfHqq6/G/vvvv9Xcpk2bYtasWfHmm2/GnDlzKi2ZH3nkkTFhwoSdKplHRCQSibjlllvimWeeiW7dum01X1RUFB9++GFMnDgx5s+fX2nJ/Itf/GK88847SuYAAMBWFM0BAAAAdsAPf/jDyMn5/28S9/bbb8cTTzyRwUTUlMaNG0f79u1j//33j69+9asxYsSIWLx4cdx6663RqFGjz7128ODBMX/+/Hj99dfjxz/+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Y8w111yTNyh6uMdf/dVfme7u7gNq9xe/+IWprq4uqh3LssxNN910QD/idnZ2mtWrVxc9piVLlpg33nhjQo8JAIDx8qtf/cpz3jqQH7XXrl077Als7s8V4XB4xO2U8veAUo0JAICx9j//8z9m5syZI/rOP3PmzKK3z7zPvA8AKI94PG5uuukm4/P5RjzP//a3vx1RW6+99tqwJ6zZH+973/tMV1fXiMeUSCTMDTfcUHQ7NTU15r777htxO6UcEwAAxhjz9NNPmw9+8INmzpw5w845YxFoznf1g2NMGFuWMcYIADwkEgl96EMf0sMPP+zI9/v9WrBggRoaGrR161Z1d3c71ldXV2vNmjV697vfXcruAgAwoZx44ol68cUXc/LTt4WcOXOmotGotm/fnjOXStLJJ5+sxx9/fES3qLz33nt1ySWXKJFIOPJbWlo0f/58tba2avfu3XJ/Bbjuuuv0rW99q+h2BgcHtXLlSj3//POO/FAopEWLFqmiokJbtmxRf39/Tj+effZZLVu2bMKNCQCA8dLd3a2jjjpKu3fvzlm3cOFCbdu2rehtPf3003rve9+rwcFBR35jY6MWL16szs5O7dy5U/F43LH+Qx/6kO67776ib+Ndyt8DSjUmAADG2re+9S39/d//fc730crKSs2ZM0fTp0/X4OCg9uzZo7a2tsz6mTNnau/evcNun3n/wMcEAMBoXXHFFbrzzjtz8qurq7V06VJVVVWpvb1dW7ZsyfksEAqF9NBDD+n973//sO1s3LhRp512muOzgiTV1tZqyZIlGhwc1LZt2xSNRh3r3/3ud+v3v/+9Kisrix7TZz7zGf37v/+7I8+yLM2bN08tLS3asWNHTj/8fr/uvfdeffCDHyy6nVKOCQAASfr2t7+tv/u7vyuq7Eh/k3fju/rBMSaMg3JGuQOY2G699dacM4Wuuuoqs3v37kyZeDxuHnjgAbNgwQJHuXnz5nHWMQBgSjvhhBMy82JjY6O55pprzK9//WvT09PjKBeLxczatWvN6aefnjPvfvjDHy66vU2bNuXcxuq4444zv//97x3l3nrrLfOhD30op63777+/6LauuuoqR12fz2f+4R/+wXR0dGTKhMNhc/fdd5umpiZH2eXLl5tYLDbhxgQAwHi54oorHFcDs89VI7l6SkdHR84VWRYuXGgeeughx508du7caa68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av3sZz/Lu/3Rzo2SNGfOnILbTHP/Nj7a39rHa76Xih8TAAClxnf1XBNxTBhfgeGLAJhK+vr6HOnq6uoR/2G8pqam4DYBAECujo4OXXnllY68Cy64QCeffHLBeu551j0PD8ddPhqNKhwOq6KiYkzb8aqT7zNCqcYEAMBY2bp1q774xS9m0p/73Od0+OGHj8m2RzsvWpalqqoqR1Cb1xxcyt8DSjUmAADGSiKRyAkQv/baa/Xyyy9LSs5N5557rs4++2zNmzdP/f39evnll/Vf//VfeueddzJ11qxZo8suu0z333+/ZzvM+7mY9wEA5XD11VfrsMMO07XXXqv169dLSt7dxH2HE7slS5boxhtv1BVXXOG4IrpbqX5rHxwcVDweH1VbpZrvR9IWAAClxnf1XBNxTBhfXNEcgIP7zdh+i6piVVVVFdwmAABwSiQS+tjHPqZdu3Zl8hoaGnT77bcPW3e0c7d73vba5li049VWsV9sx2tMAACMlb/+679Wf3+/JOnwww/X5z//+THbdqnm4INprh9JWwAAjIXu7m7HFbgk6aWXXpIkNTc368knn9SvfvUrXXXVVTr33HN18cUX69Zbb9XGjRt16aWXOuo98MAD+s///E/Pdpj3R9cWAABj6c/+7M/0wgsv6Prrr5ff7y9YdsGCBbr++ut16aWXFgwyl8o33x9IW8z3AADwXX00bfEZYfIg0ByAw9DQkCMdCoVGvA331UIHBwdH1ScAACa7G264Qb/97W8deT/84Q81f/78YeuOdu72usq319xdys8IpRoTAABj4cc//rHWrFkjKXkVjzvuuOOA5sl8SjUHH0xz/UjaAgBgLOT7I6bf79evf/1rnX766Z7ra2tr9V//9V9673vf68j/6le/mhO4LjHvj7YtAADG0g9+8AMtXbpUt912W86Vwd127Niha665RosWLdJdd91VsGy55vsDaYv5HgAAvquPpi0+I0weBJoDcHCfORSJREa8jXA4XHCbAAAg6/bbb9c3v/lNR96NN96oiy++uKj6o5273fO21zbHoh2vtvJ9RijVmAAAGK09e/bo+uuvz6Q/9alP5Q00O1ClmoMPprl+JG0BADAW8s0zn/rUp/Sud72rYF2fz6fvf//7jqubbty4UU8++eSw7TDvj6wtAADGQjQa1Uc+8hFdffXV2rNnjyRp2rRp+tKXvqTnn39enZ2dikQieuedd/SrX/1KH/zgB2VZliSpo6NDl19+uW644Ya82y/XfH8gbTHfAwDAd/XRtMVnhMmDQHMADrW1tY6015nOw3GfOeTeJgAASLrnnnt03XXXOfIuu+wy3XrrrUVvY7Rzt9cZv15zdyk/I5RqTAAAjNanP/1pdXV1SZJmzZqlb3zjG2PeRqnm4INprh9JWwAAjIV888wVV1xRVP0lS5borLPOcuR5BZoz74+uLQAAxsLVV1+t+++/P5M++eSTtX79et1888066aST1NjYqGAwqNmzZ+sDH/iAHnjgAT300EOOoKfbbrtNd999t+f2yzXfH0hbzPcAAPBdfTRt8Rlh8iDQHICD+814YGDA8xaehfT39xfcJgAAkB555BF9/OMfd8yzH/rQh3TnnXdmrn5SDPc8656Hh+MuHwgEPM8CHm07XnWK/WI7XmMCAGA07r33Xj344IOZ9He+8x01NjaOeTujnReNMQf0g+94/h5QqjEBADBWqqqq5Pf7HXl1dXVavnx50ds488wzHel169bllGHez8W8DwAopSeeeEI//vGPM+kZM2bokUce0axZswrWO++88/Td737XkXfDDTcUdVGU8fqt3evzy2h/ax+v+X4kbQEAUGp8V881EceE8UWgOQCH6dOnO4LbotGoWltbR7SN3bt3O9IzZswYk74BADBZrF27VhdeeKFisVgmb/Xq1frZz36W88PvcNzz7K5du0ZU3z1vt7S0FNWOu96BtJXvM0KpxgQAwGjYb4N9zjnn6KKLLhqXdkY7L+7bt8/xmcPn82n69Ok55Ur5e0CpxgQAwFhyz1/Lli2Tz1f8n9kOO+wwR9prnmXez8W8DwAopdtvv92Rvu6664r+ffmyyy7ToYcemkm3t7frgQceyCk32rlRkt55552C20xz9320v7WP13wvFT8mAABKje/quSbimDC+CDQH4FBVVaUFCxY48nbs2DGibbjLH3744aPuFwAAk8Vzzz2n8847z3FbqFNOOUUPPvigQqHQiLfn/kP1eM3bS5YsUSAQyKQHBwe1f//+cWmrVGMCAGA0urq6Msu//vWvZVnWsI9Vq1Y5trF9+/acMq+88oqjzFjPiwsXLvS800cpfw8o1ZgAABhLRxxxhCNdX18/ovru8p2dnTllmPeHb4d5HwAwXowx+v3vf+/I+8AHPlB0fZ/Pp3POOceR99RTT+WUG+3c2Nra6vj7QigU0pIlSzzLluq39lKOCQCAUuO7+vDtTIQxYXwRaA4gh/sN+c033xxR/Q0bNhTcHgAAU9Vrr72m97///err68vkLV++XL/5zW9UU1NzQNss1bwdDAa1dOnSA24rHA5ry5YtRbXFZxEAALJKOS+Wqi3megDAwejII490pMPh8Ijq24OnJKm6ujqnDPP+gbcDAMBodXZ2qru725G3ePHiEW3DXd7rzqDuuWzz5s2KRCJFt+GeG5cuXeq4SEyhtko134/nmAAAKDW+qx94O6VuC+OHQHMAOY4//nhH+tlnny267p49e7Rt27ZMOhgM5vwADwDAVLRx40atXr3accWyI444Qo8++qgaGhoOeLvuefuFF15w3KZqOM8880zB7RVaN5LPCC+++KLjj/CzZ8/Oe1urUo4JAICJ7qijjlIwGMykt23bpj179hRdv1Rz/Uh+DyjlmAAAGCsrVqxwpPft2zei+u5bQzc3N+eUYd7PxbwPACgVr5PIRhrsbJ/zJCkej+eUmTVrlmbNmuVo98UXXyy6jVLN97FYTM8//3xRbZVyTAAAlBrf1XNNxDFhfBFoDiDHueee60ivWbNGxpii6v7v//6vI71q1SrV1taOWd8AADgYbd++XWeddZbjj8qLFy/WY489ppaWllFt+/DDD3dcaby/v7/oL2f9/f36v//7v0zasqyczwF27nWPPfZY0f10ly10y9FSjgkAgAP18MMP67HHHhvR47bbbnNsY+bMmTllli1b5ihTV1enM844w5FX7BxsjNGaNWsceYXm4FL9HlDKMQEAMFbOOecc+XzZP6tt3bpVHR0dRdd3B1u5b1MtMe+7Me8DAErJ6ySwd955Z0TbcF/BPN/v/+ecc44jPV6/tbvbefbZZ9Xf319UO88884wGBgYy6UMPPVSHHnpo0W2N15gAACg1vqs7TdQxYXwRaA4gxymnnKLp06dn0lu2bNETTzxRVN0f//jHjvT5558/ll0DAOCgs2fPHr3nPe/Rrl27Mnlz587V448/rrlz545JG+edd54j7Z6P8/nFL36hvr6+TPrEE0/UnDlz8pY/++yzHVdweeKJJ7Rly5Zh2zHG6Cc/+Ykjb7jPCKUaEwAAB+rMM8/UWWedNaLHCSec4NhGZWVlThmvH0kPdF5cu3attm7dmknPnDlT73rXu/KWL+XvAaUaEwAAY2XGjBk69dRTHXkPPPBAUXVjsZgefPBBR97KlSs9yzLvZzHvAwBKKRQKafbs2Y683//+9yPaxuOPP+5I2y+oYueeG+++++6iAq42b96sJ598MpMOBoM6++yz85afP3++li9fnkn39fXpl7/85bDtSKOf78drTAAAlAPf1bMm8pgwfgg0B5DD5/Ppsssuc+TdfPPNw34RfPzxx/WHP/whk66rq9NFF100Hl0EAOCg0NHRodWrV2vz5s2ZvJaWFj322GNavHjxmLXzyU9+UpZlZdI///nPtWHDhoJ1hoaGdOuttzryLr/88oJ1pk2bpgsuuCCTNsboK1/5yrD9u+uuuxy3tFq4cKHOOuusgnVKNSYAAA4Gl1xyiWpqajLpp556atg/dhtjdPPNNzvyPvGJTziuxOpWyt8DSjUmAADG0pVXXulI/8u//IvC4fCw9X70ox9p7969mXR9fb3e9773eZZl3k9i3gcAlMN73vMeR/rb3/62YrFYUXWffPJJx902vbaX9r73vU/z5s3LpLdt26a777572Da+8pWvOObqD3/4w2poaChYx/0b+a233qqhoaGCdTZs2KBf/OIXmbTX5wa3Uo4JAIBS47t60kQfE8aRAQAP+/fvN7W1tUZS5vG1r30tb/ldu3aZRYsWOcp/8YtfLGGPAQCYWHp6esxJJ53kmBsbGxvNyy+/PC7tXXzxxY62TjrpJNPd3e1ZNpFImCuvvNJRfsmSJSYSiQzbzvr1643P53PUveeeewqWb2xsdJS/8847J9SYAAAolbVr1zrmqoULFxZd96abbnLUXbx4sdm9e3fe8rfccoujfENDg2lvbx+2nVL+HlCqMQEAMFbi8bg55phjHPPRxz/+cROPx/PW+eMf/5gzt372s58t2A7zPvM+AKA8fve73znmH0nmiiuuKDjXG2PM22+/bebMmeOod8ghh5hYLJa3zve//31H+aamJrN+/fq85X/60586yvv9frNx48ZhxxQOh82CBQscda+66iqTSCQ8y3d3d5sTTzzRUf5jH/vYsO2UckwAABRrNL/Ju/Fd/eAYE8YHgeYA8vrqV7+a80X66quvdkwo8XjcPPjggzlfTufMmWM6OzvL13kAAMps5cqVOfPoP/7jP5rHHntsxI+Ojo5h23v77bdNdXW1o73jjjvOrF271lFu48aN5kMf+lBO3375y18WPba//uu/dtT1+XzmH/7hHxz9jEQi5u677zZNTU2Osscee6yJRqNFtVPKMQEAUAqj+VG7vb3dzJo1K6f+ww8/7Pjj8M6dO3NOvpJkvvGNbxTdVql+DyjlmAAAGCtr1qwxlmU55qSzzjrLrFu3zlGuq6vL/Ou//mvOH1IPPfRQ09PTU7AN5n3mfQBA+axatSpnHjrttNPMmjVrcn7bbmtrM7fddptpaGjIqXPvvfcWbCcSiZijjjrKUWfatGnmP/7jPxzttLe3my9+8Ys5F4C55pprih7TPffck9O/j3zkI+ZPf/qTo9zjjz9ujj32WEe52tpas2XLlqLaKeWYAACwe/rppz3/zn7bbbc55pqZM2fm/Zt8oZOjjOG7+sEyJowPy5hhrkEPYMpKJBI6//zz9cgjjzjy/X6/Fi5cqIaGBm3dulVdXV2O9VVVVXrsscd06qmnlrC3AABMLJZljdm21q5dq5UrVw5b7uc//7kuvfTSnNtMtbS0aMGCBWptbdWuXbty1n/mM5/R7bffXnR/BgYGdOaZZ2rdunWO/FAopMWLF6uiokJbtmxRX1+fY/306dP1zDPP6NBDDy26rVKNCQCAUnjiiSe0atWqTHrhwoXatm1b0fWfeuopve9978u5xXVjY6MWL16srq4u7dixQ/F43LH+/PPP14MPPlj055NS/h5QqjEBADCWvv71r+uzn/1sTv6sWbM0b9489ff3a/PmzYpEIo71zc3NWrt2rY455phh22DeP/AxAQAwGnv37tUpp5yirVu35qyrra3V4sWLVVVVpfb2dm3ZsiXnt2lJ+vu//3vddtttw7a1YcMGnXbaaero6MhpZ+nSpRocHNTWrVsVjUYd608++WQ98cQTqqqqKnpc11xzjb7//e878izL0vz589XS0qLt27erra3Nsd7n8+kXv/iFPvKRjxTdTinHBABA2qJFi7R9+/ZRbePjH/+4fvKTnxQsw3f1g2NMGAdlDHIHcBAYHBw0l1xySc4ZRfkezc3NOVcZBQBgKip27izmMZK59Z577jFVVVVFb/v666/Pe4vMQtrb282f/dmfFd3OokWLzGuvvTbidko5JgAAxttY3Kbz8ccfN9OmTSt6Xrz00kvN0NDQiNsp5e8BpRoTAABj6fbbbzfBYLDo+euwww7LuWrocJj3mfcBAOWxY8cOz7uWDvcIBoPm1ltvHdHv06+88opZuHBh0W2cddZZB3RFz3g8bv7u7/6u6Haqq6vNL37xixG3U8oxAQCQNpJ5J9/j4x//eFFt8V394BgTxpZPAFBAZWWlfvazn+m+++7T8ccfn7dcTU2NrrnmGr355ptFXXEVAACMj7/4i7/QG2+8oUsvvVTBYDBvuTPOOENPPPGE/uVf/uWArgg2bdo0PfbYY7rjjju0bNmyguU+//nP6/XXXy/qim1eSjUmAAAOBn/2Z3+mN998U1dffbWqq6vzllu+fLnuv/9+/fSnP1VFRcWI2ynl7wGlGhMAAGPpM5/5jF577TVdfPHFBb+rLl68WN/5znf02muv6ZBDDhlRG8z7zPsAgPKYP3++Hn/8cf3yl7/UypUr5fMVDq1paGjQ1Vdfrddff1033XTTiH6fPu644/T666/rc5/7nJqamvKWO+SQQ/SjH/1I//u//6vGxsait5/m8/n0zW9+U7///e91+umn5y0XCoX00Y9+VG+88YYuuuiiEbcjlW5MAACUA9/VD44xYWxZxnjcxwcA8ti0aZOee+457d69W5FIRI2NjTriiCN06qmnqrKystzdAwAANj09PXr66af19ttvq7e3V5WVlVqwYIFOPfVUzZ07d0zbev311/XSSy9pz549isfjam5u1tFHH613vetdBf/gPlKlHBMAABPd4OCgnn32WW3YsEFdXV0KhUKaO3eu3vWudxU8EexAlOr3gFKOCQCAsdLT06Nnn31Wb7/9trq7u1VbW6uZM2dqxYoVOuyww8akDeZ9AADKp7e3V+vWrdOWLVvU1dWloaEh1dfXq7m5Wccee6yOPPLIYYPRixGNRvXcc8/pjTfeUHt7u/x+v2bPnq0VK1Yc8IVc8tm1a5eeffZZ7dixQ0NDQ6qrq9Mhhxyi0047TfX19WPWTinHBABAqfFdfXSIQzx4EGgOAAAAAAAAAAAAAAAAAAAAAHAY/SmVAAAAAAAAAAAAAAAAAAAAAIBJhUBzAAAAAAAAAAAAAAAAAAAAAIADgeYAAAAAAAAAAAAAAAAAAAAAAAcCzQEAAAAAAAAAAAAAAAAAAAAADgSaAwAAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQaA4AAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQKA5AAAAAAAAAAAAAAAAAAAAAMCBQHMAAAAAAAAAAAAAAAAAAAAAgAOB5gAAAAAAAAAAAAAAAAAAAAAABwLNAQAAAAAAAAAAAAAAAAAAAAAOBJoDAAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBBoDgAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBAoDkAAAAAAAAAAAAAAAAAAAAAwIFAcwAAAAAAAAAAAAAAAAAAAACAA4HmAAAAAAAAAAAAAAAAAAAAAAAHAs0BAAAAAAAAAAAAAAAAAAAAAA4EmgMAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4EGgOAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4ECgOQAAAAAAAAAAAAAAAAAAAADAgUBzAAAAAAAAAAAAAAAAAAAAAIADgeYAAAAAAAAAAAAAAAAAAAAAAAcCzQEAAAAAAAAAAAAAAAAAAAAADgSaAwAAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQaA4AAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQKA5AAAAAAAAAAAAAAAAAAAAAMCBQHMAAAAAAAAAAAAAAAAAAAAAgAOB5gAAAAAAAAAAAAAAAAAAAAAABwLNAQAAAAAAAAAAAAAAAAAAAAAOBJoDAAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBBoDgAAAAAAAAAAAAAAAAAAAABwINAcAAAAAAAAAAAAAAAAAAAAAOBAoDkAAAAAAAAAAAAAAAAAAAAAwIFAcwAAAAAAAAAAAAAAAAAAAACAA4HmAAAAAAAAAAAAAAAAAAAAAAAHAs0BAAAAAAAAAAAAAAAAAAAAAA4EmgMAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4EGgOAAAAAAAAAAAAAAAAAAAAAHAg0BwAAAAAAAAAAAAAAAAAAAAA4ECgOQAAAAAAAAAAAAAAAAAAAADAgUBzAAAAAAAAAAAAAAAAAAAAAIADgeYAAAAAAAAAAAAAAAAAAAAAAAcCzQEAAAAAAAAAAAAAAAAAAAAADgSaAwAAAAAAAAAAAAAAAAAAAAAcCDQHAAAAAAAAAAAAAAAAAAAAADgQaA4AAAAAAAAAAAAAAAAAAAAAcAiUuwPAcLq6uvTkk09m0vPnz1dFRUUZewQAAAAAAAAAAAAAAAAAAACMr3A4rJ07d2bSZ555phobG0vWPoHmmPCefPJJXXDBBeXuBgAAAAAAAAAAAAAAAAAAAFA2Dz30kM4///yStecrWUsAAAAAAAAAAAAAAAAAAAAAgIMCgeYAAAAAAAAAAAAAAAAAAAAAAIdAuTsADGf+/PmO9EMPPaRly5aVqTfo6+vT888/n0mffPLJqq2tLWOPAADAeGDOBwBg8mO+BwBgamDOBwBgamDOBwBg8mO+n5o2bdqkCy64IJN2x9SONwLNMeFVVFQ40suWLdNRRx1Vpt6gp6dHe/fuzaSPOOII1dfXl7FHAABgPDDnAwAw+THfAwAwNTDnAwAwNTDnAwAw+THfQ8qNqR1vvpK2BgAAAAAAAAAAAAAAAAAAAACY8Ag0BwAAAAAAAAAAAAAAAAAAAAA4EGgOAAAAAAAAAAAAAAAAAAAAAHA4qAPNh4aGNDQ0VO5uAAAAAAAAAAAAAAAAAAAAAMCkEih3B4bT0dGhp59+WuvWrdOrr76qbdu2aefOnerp6ZExRpJkWZbq6+u1YMECLVq0SMcee6xOPPFEnXrqqWpubi7zCAAAAAAAAAAAAAAAAAAAAADg4DIhA823bNmie+65R4888ohefPFFJRKJzLp0cLmdMUZdXV3q6urS66+/rv/5n/+RlAxAP+GEE3TOOefo0ksv1bJly0o2BgAAAAAAAAAAAAAAAAAAAAA4WE2YQPNoNKqf//zn+v73v6/nnnsuk2+/arn9eTjGGBljtG7dOq1bt04333yzTjrpJH3605/WJZdcomAwOPaDAAAAAAAAAAAAAAAAAAAAAIBJoOyB5gMDA7r99tv1ne98R62trZKSQeLugHL7lcxDoZBqampUXV0tY4wGBwfV39+vSCSStx1jjF544QVddtlluvHGG3Xttdfq2muvVU1NzfgMDAAAAAAAAAAAAAAAAAAAADgA8YRRe19Y+3rC2tczpO2tXXp+p089Eak7Iv14xyt6+G9OL/oCzsCBKFugeSwW0+23366vf/3ramtrywSXpwPKjTGqr6/XaaedphNOOEHHHHOMDj/8cM2ZM0fTpk3z3GZ7e7veeecdvfXWW3r99df14osv6plnnlFPT09mm5Zlad++ffriF7+ob33rW/rsZz+rz3zmM1zhHAAAAAAAAAAAAAAAAAAAAOMqkTDqGIhoX8+QWnvDau0ZygST7+sJq7V3SPt6hrS/N6yEcdf2ZRe7etUbjqm+kvhXjJ+yBJo/8sgj+vu//3tt2rTJcfVyY4yOPPJIffCDH9T555+vFStWyOfzDbO1rObmZjU3N+uYY47RhRdeKElKJBJ66aWX9PDDD+vBBx/Um2++mSnf1tamG264QT/4wQ/0rW99S+ecc87YDhQAAAAAAAAAAAAAAAAAAACTnjFG3YNRW9B4MpA8vbyvJxlU3tobViw3gvyAtPYMEWiOcVWWQPPzzjvPcfXyuro6XXrppfrUpz6lFStWjGlbPp9PJ554ok488UT90z/9k15++WX96Ec/0s9+9jN1d3dLkjZt2qTzzz9fsVhsTNsGAAAAAAAAAAAAAAAAAADAwSsci6utL6L9qauP7+8La39v9tGaXu4LKxJLlLRv+3rCWjajrqRtYmopS6C5lDxzY+7cufrbv/1bXXnllaqrK82Bvnz5cn3ve9/TN77xDf3gBz/Qd77zHe3evTsT9A4AAAAAAAAAAAAAAAAAAIDJyxijroGoLUh8KBVIHnYEkrf2htU9GC13d/Pa1zNU7i5gkitLoPn06dP1hS98QVdffbVCoVA5uqDa2lpdf/31uvbaa/W9731PX/va18rSDwAAAAAAAAAAAAAAAAAAAIyd3qGotrUNaGt7v7a19WtP96Dj6uNtfWFF4wf/BYr39YTL3QVMcmUJNN+yZYtqa2vL0XSOUCik6667Tp/61KfK3RUAAAAAAAAAAAAAAAAAAAAUYTAS17b2fm1tSz62tfWn0gNq65tcAdgBn6WW2pBCiSE1hIwagtLxhy/W/1syrdxdwyRXlkDziRJkbjcR+wQAAAAAAAAAAAAAAAAAADBVhWNx7WgfSAaSO4LKB7S3Z6jc3Rs1nyW11FVoZn2lZtRVamZ9cnlmfYVm1FdqZiqvqTqkvr5erV27NlN31akLVF9fX8beYyooS6A5AAAAAAAAAAAAAAAAAAAAEI0ntLNjIHM18vSVybfs79c73YMyptw9HDnLkpprKpyB43WVmeVkYHmFmmsr5PdZ5e4ukBeB5gAAAAAAAAAAAAAAAAAAABg3xhi19oa1eX+ftrYlg8i3pJZ3dg4qnjg4oslDfp9a6iocjxnp5drk86yGSk2vrVDQ7yt3d4FRI9AcAAAAAAAAAAAAAAAAAAAAo9YfjiUDyduSgeRb9vdrS1uftu7vV38kXu7u5TWtJpQJFJ/hCiTP5NVWqr4qIMviCuSYOiZloHlfX5+ee+45tbW1qampSccff7xmzJhR7m4BAAAAAAAAAAAAAAAAAAAc1OIJo12dA6kg8mxA+da2fu3tGSp39xxCAZ8WNVdrYXONZtVXegaSc/VxIL8JHWgeDoe1e/fuTHrWrFmqrq7OW35oaEjXX3+97rzzTkWj0Uy+z+fTeeedp9tvv11z584d1z4DAAAAAAAAAAAAAAAAAAAczIwx6hyI2q5Kngoob+vXjvYBReKJcncxI+CztGBatRZNr9Hi6TXJ5+YaLZperTkNVfL5uAI5cKAmdKD5d7/7Xd1www2SpEAgoC1btuQNNI/FYlq9erWeffZZGWMc6+LxuB566CE9++yzevrpp7V06dJx7zsAAAAAAAAAAAAAAAAAAMBE0xeOqbVnSPt6wmrtHdK+niG19oS1rzesfT1D2p96HojEy93VDJ8lzWtKBZM3Z4PKF0+v0dzGKgW4IjkwLiZ0oPn999+fCRo/77zzCl6N/JZbbtEzzzwjy7JkWZYj2Dyd3rdvn84//3y9+uqr8vv9495/AAAAAAAAAAAAAAAAAACAUugPx9SaChK3B4zv63EGkPdPoABytzkNlY4g8kXNySuUL5hWrVCAYHKg1CZsoHk4HNaLL74oy0resuD888/PW7a7u1vf/OY3HQHmp512mk499VS1tbXpvvvuU09Pj4wx2rBhg374wx/qmmuuKck4AAAAAAAAAAAAAAAAAAAARmt/b1h/2terP+3r1Z7uocxVyff1Jq9I3heOlbuLRWmqDmpJS62WTK/R4paa5PP0Wi1srlZlkIsIAxPJhA00X79+vSKRiKTkFclXrVqVt+x9992n3t7ezNXMv/CFL+gf//EfM+u/8IUv6JRTTtG+fftkjNGPfvQjAs0BAAAAAAAAAAAAAAAAAMCE0xeO6U/7erVxb/bxp329au+PlLtrRQsFfFrUXK0l02u1pCV5dfJ0cHlTTajc3QNQpAkbaL5ly5bMcmNjo+bOnZu37AMPPCBJMsZo7ty5+vKXv+xYv2jRIv3TP/2TrrjiCknSa6+9pj179mj27Nnj0HMAAAAAAAAAAAAAAAAAAIDCIrGEtrT1OYLJ39rbq12dg+XuWtFmN1RqSUuNI6B8aUut5jRWye+zyt09AKM0YQPN9+zZIyl5NfM5c+bkLReLxfSHP/xBlpV8Q7r00kvl9+feOuGiiy7SVVddpXg8Lkl65ZVXCDQHAAAAAAAAAAAAAAAAAADjKpEw2t01qLdsweR/2turzfv7FEuYcndvWLUVgVQwefKq5MmrkyeDyqtDEzYMFcAYmLD/wvv7+zPLdXV1ecu98sor6uvrk5QMSj/77LM9y9XV1WnRokXavHmzJGnbtm1j11kAAAAAAAAAAAAAAAAAADClGWPU3h/Rn/b2OoLK397Xq/5IvNzd81RfGdDM+krNrK/UjPoKzair1Mz6imS6rkILmqvVUluRuRgwgKllwgaaG5M9SycajeYt98wzz2SWg8Gg/t//+395yzY3N2cCzXt6esaglwAAAAAAAAAAAAAAAAAAYLKLxRPa3xfW3u4h7esZ0t7uIe3tCWeW9/UMaW/PkAYmSEB5XSqAfEZdRSaIfGZd6rm+MrNcGfSXu6sAJrAJG2heX18vKRlwvnfv3rzl1q5dKyl5NfMTTzxRFRUVecvG49k3cHsgOwAAAAAAAAAAAAAAAAAAmJp6h6KpgPGw9vbYA8mzy219YSUmSNjh9NqQlrbUalZDpTOY3BZUXh2asOGhAA4iE/adZN68eZnlPXv2aP/+/WppaXGUGRwc1Jo1azK3ZDjzzDMLbrOzszOzXFtbO4a9BQAAAAAAAAAAAAAAAAAAE00sntDOzkFtbu3T7q7BZPB4Kog8vdw/Qa5C7lYd8uvQmXU6bGadDptVp8Nn1enQWXWaXpv/grwAMJYmbKD58uXLJSWvVG6M0X//93/r7/7u7xxl7rnnHg0MDGTKrVq1Ku/2otGodu3alQlKnz179jj1HAAAAAAAAAAAAAAAAAAAlNJAJKYt+/u1eX+fNrX2ZZ63tQ0oEk+Uu3sFBXyWlrTU6LBZ9clg8pnJoPK5jVXy+axydw/AFDZhA80XLFigY489Vq+//rqMMfryl7+sE044QWeccYYk6dVXX9UXvvCFTCD6tGnTtHLlyrzbe+ONNxSJRCQlg9KXLVtWimEAAAAAAAAAAAAAAAAAAIAx0t4X1ub9/drU6gwo3901WO6uFWVeU1UmmPywWcnHkum1CgV85e4aAOSYsIHmknTNNdfoqquukmVZ6uvr06pVq3T44YcrGAzqzTffVDwelzFGlmXp8ssvVyCQfziPPfZYZrmiokJHHnlkKYYAAAAAAAAAAAAAAAAAAABGIJEw2t01qE37+7TZFVDeORAtd/eKMq0mpMNsweSHpYLLaysmdNgmADhM6HesK664Qv/5n/+pZ599NnPl8g0bNmTWW1bylhCzZ8/WZz/72YLbuu+++zJ1TjzxRAWDwfHrOAAAAAAAAAAAAAAAAAAAyCsWT6i1N6y9PUN6p2tQm1v7M4HlW9r6NBRNlLuLeYUCPs2qr9Ss+krNbKjUrPoKzayv1KyGZN7C5hq11FWUu5sAMGoTOtDcsiw98sgjOu+88/T000878o0xMsZo5syZevjhh9XY2Jh3O6+88orWrVuXCUxfvXr1eHcdAAAAAAAAAAAAAAAAAIApqXcoqn09Q9rbnQwkTy4POZbb+sJKmHL3NNe0mlAyaLy+QrMaKlPL6YDy5KOxOpiJRwSAyWxCB5pLUmNjo5566inde++9uu+++/SnP/1Jg4ODmjNnjlavXq2rrrpKTU1NBbdx2223SZKMSc5K559//rj3GwAAAAAAAAAAAAAAAACAySSeMGrrC2tPdzJYfF9PKng8FUSeXu6PxMvd1RyWJc1pqNKcxmzweCaQPBVEPqO+QhUBf7m7CgATxoQPNE+78MILdeGFFx5Q3e9///v67ne/m0k3NDSMVbcAAAAAAAAAAAAAAAAAAJgUjDFq64to8/4+bdnfr837+7Src0B7e8La1z2k/X1hxSfiZchtQgGflkyv0dKWWi2dUatlM2q1tKVGS6bXqipEEDkAjMRBE2g+GnV1deXuAgAAAAAAAAAAAAAAAAAAE0IkltCOjn5tau3XlrY+bW7tTwWX96lnKFbu7hWlvjKQCiJPBpOnl+dPq5bfZ5W7ewAwKUyJQHMAAAAAAAAAAAAAAAAAAKaazn7n1cnTy9s7Bib8lcnTZjdUZoLIl86o1bKWWi2dUaOW2gpZFgHlADCeCDQHAAAAAAAAAAAAAAAAAOAgFYsntLNzUFtSgeSZq5O39aujP1Lu7hWlIuDTvKaqnCuUL2mpVW0FYY4AUC68AwMAAAAAAAAAAAAAAAAAMIEZY9TRH9HWtn5taetPPqeuTr6tvV/R+MS9Ovm0mpBm1ldqVn2FZjVUppYrNbMh+Ty7oVINVUGuTg4AExCB5gAAAAAAAAAAAAAAAAAATAD94Zi2pgLJ048tbf3aur9PPUOxcnfPIeT3aWZDRTJoPBU8ngkkTwWRz6ivUEXAX+6uAgAOUFkCzZcsWVKOZjMsy9LmzZvL2gcAAAAAAAAAAAAAAAAAwNQTiSW0s3NAW/fbAsnb+rS1rV/7esLl7l5GQ1VQy2bUavH0Gs1prEoFkldoZn2lZjdUqamaq5ADwGRXlkDzbdu2ybIsGVOe23UwuQEAAAAAAAAAAAAAAAAAxksiYbS3Z8h2RfJsMPnOzkHFE+WJnXPzWdKCadVa2lKrJS01WtpSq6UzarVkeo2m1YSItQOAKa4sgeZpxU5C6YD00UxaxpiyBrcDAAAAAAAAAAAAAAAAAA5uxhj1hWNq7Q1rX8+Q9veG1dqTXG7tDau1N/n8TteghqKJcnc3o64ioCUzarV0eo2WzqjV0pYaLWmp1cLmalUE/OXuHgBggipLoPmCBQtGHDTe3d2trq6unGBxv9+vuro61dTUqL+/X729vYrH45n16XaamppUX18/NgMAAAAAAAAAAAAAAAAAAEwaxhj1DMa0r3dIrT3JgPF9PdnA8f094cy6wWh8+A2WgWVJcxurtKQlGUi+tKU29ahRS10FVycHAIxYWQLNt23bNqLyP/3pT/U3f/M3mSDz5cuX6+Mf/7hWrlypI488UoFAdhixWEzr16/Xk08+qZ/85Cd65ZVXMvVuueUWXXrppWM8GgAAAAAAAAAAAAAAAADARNY1ENGWtn5t3d+vvT1Dak1dgTx7JfKwIrGJcwXyQuoqAlrSUqPF02u0aHo2oHzx9BpVhbg6OQBg7JQl0Hwk/vVf/1U33nijJKm2tlbf//73CwaLBwIBHXfccTruuON07bXX6qc//ak+/elPq7u7W3/5l3+p1tZWXXfddSXqPQAAAAAAAAAAAAAAAACgFMKxuHa0D2hLW7+27O/Xlv192trWry1t/eroj5S7eyMS8vu0aHq1Fk+v0eLptVoyvUaLU8HlzTUhrk4OACiJCR1o/tRTT+nGG2+UMUY1NTV64okntHz58hFt46Mf/aiOPPJInXHGGerv79f111+vE088Uaeddto49RoAAAAAAAAAAAAAAAAAMB6MMdrXE9aWtr5UMHm/trb1aUtbv3Z2DChhyt3D4lmWNLexSoun1yQDyafXaEnqyuRzGqvk9xFMDgAorwkdaP7Zz35WxhhZlqV/+qd/GnGQedry5ct188036/rrr1cikdBNN92kZ555Zox7CwAAAAAAAAAAAAAAAAAYC33hmLa19Wvz/r5UMHm/trT1aev+fvVH4uXu3ohMrw2lrkyevDp5MqC8RgumVasy6C939wAAyGvCBppv2bJFf/zjHyVJwWBQn/zkJ0e1vcsvv1yf//znFYlE9Mc//lFbtmzRkiVLxqKrAAAAAAAAAAAAAAAAAIADEIsn9NbeXr28s0tv7elJXqW8rU/7esLl7lpR6isDmlFfqZn1FZpRV6kZdRVqqavQjPpKLZxWrUXTa9RQFSx3NwEAOCATNtA8HWRuWZYWL16s+vr6UW2voaFBixcv1saNGzPbJ9AcAAAAAAAAAAAAAAAAAErDGKM93UN6ZWeXXt7RqVd2dun13d0aiibK3bUc02pC2aDxunQgeTKAfEZdhWbWV6qlroIrkgMAJrUJG2i+e/fuzHJdXd2YbNO+Hfv2AQAAAAAAAAAAAAAAAABjqz8c02u7uh2B5a295b1SeU3IrwXNNZqVvgK5K4B8Rn2lWmorFAr4ytpPAAAmggkbaJ5mjNGuXbvGZFtjtR0AAAAAAAAAAAAAAAAAQFY8YbSptU+v7OxMBZZ36U/7epUwpe+Lz5LmT6vWkuk1Wjy9VktaarSkpUZLW2o1o65ClmWVvlMAAByEJmyg+dy5czPL+/bt0yuvvKLjjz/+gLf30ksvae/evZkPCXPmzBltFwEAAAAAAAAAAAAAAABgSmrtHdIrO7r0ys7k47Vd3eoLx0rah2k1oVQweY2WtNSmgslrNH9atSoC/pL2BQCAyWjCBpovX75ckjKB4TfddJMeffTRA97e5z73OUnJK6RblqUVK1aMvpMAAAAAAAAAAAAAAAAAMMkNRuJa/0538krlO7v0yo4u7e4aLEnboYBPi5qrtSRzZfJaLZ6eDChvrA6VpA8AAExVEzbQ/IgjjtAxxxyjN954Q8YYrVmzRldffbW+973vjejWJcYYXXPNNXrssccy9Y455hgdccQR49V1AAAAAAAAAAAAAAAAAJjwEgmjjoGI9nYPqbV3SHu7w9rbM6R93UPJ59SjcyA67n0JBXw6ek69jprToCUtNalg8lrNaayS31d8vBgAABg7EzbQXJJuueUWnXfeebIsS8YY3XHHHXr++ef11a9+Ve9973sLBpwbY/Too4/q85//vF599dXMNizL0j//8z+XcBQAAAAAAAAAAAAAAAAAUFpD0bj22gLG08utPclg8nRweTRuytK/xdNrdPz8xszjiNn1CgV8ZekLAADwNqEDzc8991xdccUV+tGPfpQJFH/55Zd19tlna+bMmTrttNN09NFHq7m5WdXV1RoYGFBbW5veeOMNPf3002ptbZUxyQ9C6aD0T37ykzr33HPLOSwAAAAAAAAAAAAAAAAAGJVoPKH17/Ro/TvdySByV1B5z1Cs3F3MaKgKZoPKFzTq+HmNaqoJlbtbAABgGBM60FySfvCDH0hSJthcSl6tfO/evbr//vt1//33e9ZzB5gbY3T55ZfrjjvuKEGvAQAAAAAAAAAAAAAAAGDs9A5F9dKOLq3b1qF12zr18s5ODUUT5e5WjoDP0pFz6h1XK188vSYTxwUAAA4eEz7Q3LIs/fCHP9SqVat03XXXqbW1NedDRzqoPF0+/WyMkTFGLS0t+ta3vqVLL720pH0HAAAAAAAAAAAAAAAAgAOxt3tIL2zr0LptHXphW6fe2tujhBm+XqnNa6rKBJQvX9Coo+Y0qDLoL3e3AADAGJjwgeZpl1xyic4991z99Kc/1d13361169Ypkcg9Iy8ddO7z+XTiiSfqk5/8pD760Y+qtra21F0GAAAAAAAAAAAAAAAAgGElEkab9velAss79cK2Du3qHCx3t3LUVgR03PyGVGB5k46f36iWuopydwsAAIyTgybQXJJqa2t15ZVX6sorr1R/f79efPFFbd26VV1dXerr61NNTY0aGxu1ZMkSnXDCCaqpqSl3lwEAAAAAAAAAAAAAAADAYSga1+u7u7VuW6fWbevQ/8/encfJVdf5/n+f2vdek046O0sCBARkcxxckMVtAGfhDuod1EF0rs59jDpu88NdRy/OddQZB7dB1Cs6uDtc8boBIuCIyqJAEiAk6aST7k6vtS/n1Pn9UVWnq6qrO1t3n+ru1/PxqMdZ6tSpb2WW0N2vfPq3+yY0lSu5uiavx9CqWFB9HSGtSQS1JhGq7ofUlwhpbUdIm3qi8noMV9cJAAAWz5IKzetFo1E9//nP1/Of/3y3lwIAAAAAAAAAAAAAAAAAs5rMFvW7fRP6TTUs//2BKRWt8qK9fzzk05pESGs6KtF4JR4PVvarMXlPLEhEDgAAGizZ0BwAAAAAAAAAAAAAAAAA2k3JKuvpkbSeOJjU7wYqYfmTw+kFe7+w36tta+JaW4vI66aQV8LyoCIBMjEAAHDs+C8IAAAAAAAAAAAAAAAAADgOU7mSdhxK6omDycr2UFJPDacXdFp5byyg8zd16/zNXbpgc7fO6E/I7/Us2PsBAICVi9AcAAAAAAAAAAAAAAAAAOZg27YOTOT0RFNUfmAit+DvfdKqqC6ohuXnb+7W5p6IDMNY8PcFAAAgNAcAAAAAAAAAAAAAAACAqoJp6anhtBOVP3GoEpan8uaCv7fPY+jMdR26oBqVn7epS72x4IK/LwAAQCtLKjQfGxvTz3/+cz300EPav3+/pqamlMvlZNv2Md3HMAz9/Oc/X6BVAgAAAAAAAAAAAAAAAFgKJjJFZzp5LSp/eiQts3xsPdLxigV9evamLl2wqRKWn7OhU+GAd1HeGwAA4EiWRGi+f/9+vfOd79T3vvc9lUqlE7qXbdv86hgAAAAAAAAAAAAAAABghbBtWyOpgp45nNGe0Yz2jmX09EhaOw4ldWgqv6hrWZMI6fzNXbpgc7fO39yl09Yk5PXQMgEAgPbU9qH5T37yE11zzTVKp9PO5HJCcQAAAAAAAAAAAAAAAAD1JrNF7RnNOI9nRjPaW93PFq1FX4/fa+jU1XGdu7HTCcvXdYZpnwAAwJLR1qH5448/rj/7sz9TNpuVVAnMbdt2gnMAAAAAAAAAAAAAAAAAK0e2aGrvaNaZTF6ZUp7WntGMJrIl19bVGfHrjLUJnbE2odPXJnRGf0Inr4op4PO4tiYAAIAT1dah+dvf/nZls1nnX/EZhqH/9t/+m/7yL/9S55xzjlavXq1IJOLyKgEAAAAAAAAAAAAAAADMl6JZ1v6JrDON/JnRjPYcroTlh6bybi9Pm3oiM6LytR0hJpUDAIBlp21D8+HhYf3kJz9xpph3dHTojjvu0MUXX+z20gAAAAAAAAAAAAAAAAAcJ9MqayiZ14GJXPWR1WBtfzKrg5N5WWXb7WUq4PPotDXxSlTeX4nKT1sTVzzkd3tpAAAAi6JtQ/N7771Xtl35D0bDMPSpT32KyBwAAAAAAAAAAAAAAABocyWrrKGpvPZPZJ2YfLAalB+YyGko2R4heb2eaEBn9CecqPyMtQlt6Y3K5/W4vTQAAADXtG1ofujQIWc/Go3qVa96lYurAQAAAAAAAAAAAAAAACBJBdPSocm8Bien4/H6mHwomVebdeSOrohfW3qj2tIb00mrojqjP6HtaxNaFQ/KMAy3lwcAANBW2jY0z2QykirTzE8++WT5/fzKGQAAAAAAAAAAAAAAAGCh5UuWBidr4XhOg5PZupA8p+FUXnabhuSSFAl4taU3qs29UZ3UG62G5ZVHZyTg9vIAAACWjLYNzXt6epx9n69tlwkAAAAAAAAAAAAAAAAsKZmCWReSZ3VgMtcQko+mC24v8Yj8XkMbuyPOZPLNPZWQ/KRVUa1mOjkAAMC8aNuC++yzz5Yk2batAwcOuLwaAAAAAAAAAAAAAAAAYGlI5U0dSCc1OFkJyacnk1eOJ7Ilt5d4VAxD6u8I66RV0xPJa1PK13WG5fN63F4iAADAsta2ofmFF16o9evX68CBAxoZGdHjjz+u7du3u70sAAAAAAAAAAAAAAAAwDWmVdZIqqBDUzkNTuZ1aDKnvSNT+sMzHk0UDI0XpNyvfuX2Mo9aR9iv9V1hre8Ka11npLLtCmtLb1QbuyMK+b1uLxEAAGDFatvQ3DAMvetd79L//J//U5L08Y9/XF/5yldcXhUAAAAAAAAAAAAAAACwMGzb1mS2pMHJnA5N5XVwMqeDUzkdrAblBydzGk4VZJXtFq9uz+neXRG/1ndVA/LOcDUqj2h9d+U4HvK7vUQAAADMom1Dc0l605vepO9973u666679LWvfU0vfOEL9brXvc7tZQEAAAAAAAAAAAAAAADHLFs0K9H4VCUaPzhZickPTeWrQXlO+VLZ7WUek55oYDoer04jrx2v6wwrGmzrPAkAAABzaOv/kjMMQ9/73vf08pe/XPfdd59uuOEGPfbYY3rPe96jrq4ut5cHAAAAAAAAAAAAAAAAzJAumPr9/kk9vH9SfzgwpYHxrA5O5TSZLbm9tGO2Kh6sm0YecULyDV1h9XeGFQm0dX4EAACAE9DW/6X31a9+VZJ03XXX6eDBg3rmmWf0qU99Sp///Od12WWX6fzzz9fq1asVCoWO+d7XXXfdfC8XAAAAAAAAAAAAAAAAK4xplfXkcFqP7J/UI/sn9Mj+ST01kpZtu72yIzMMaU0i1DIkX9dZCclDfq/bywQAAIBL2jo0f+1rXyvDMJxjwzBk27ay2azuuOMO3XHHHcd9b0JzAAAAAAAAAAAAAAAAHKuhqbwe2T+hh/dP6uGBST02OKVs0XJ7WS15PYbWdoRmROTru8Ja3xnRmo6QAj6P28sEAABAm2rr0LzGtm0nOK8Pz2vPHa1aqN58DwAAAAAAAAAAAAAAAKBZpmDqD4NTlWnlA5N6ZP+khpJ5t5fliAS86u8Ma3XUp3JmXN1BW91B6UXPOVfb1veqLx6Uz0tIDgAAgOPT9qF5LSQ/lqD8SPcCAAAAAAAAAAAAAAAA6lllW0+PpPXI/gk9Up1W/uRwSmWXchOfx9CajpD6O8Lq7wxpbWdY/R0h9XeGtbYjrHWdYSXCPhmGoWQyqbvvvtt57fkbO5RIhN1ZOAAAAJaNtg7Nb731VreXAAAAAAAAAAAAAAAAgGXGtm0dnMrrsbpp5b8/MKlM0Vq0NfTGgpWAvBqPV4LysNZ2hrSuM6zeWFBej7Fo6wEAAACatXVo/prXvMbtJQAAAAAAAAAAAAAAAGAJS+VLenI4pR2HUto1lNLOoaR2DqWUypsL/t6dEb/O2dCpZ63v1KbuiBOR9yVCCvm9C/7+AAAAwIlo69AcAAAAAAAAAAAAAAAAOBqmVdbesax2DiW1a6gSlu8cSurARG5R3t/vNXRGf4fO3dCpc6qPTT0RGQZTyQEAALA0EZoDAAAAAAAAAAAAAABgSRlNF7Tz0PR08p1DST01nFbBLC/aGjb1RJyg/JwNnTqjP6GgjynlAAAAWD4IzQEAAAAAAAAAAAAAANCW8iVLT4+kKzH5oaR2DVcmlY+mC4u6jo6wX2dXg/JzN3Tq7A2d6o4GFnUNAAAAwGIjNAcAAAAAAAAAAAAAAICrymVbByZy2jmU1K6hlHYOp7RrKKU9oxlZZXtR1+LzGDqjP9EwrXxLb1SGYSzqOgAAAAC3LdnQ/KmnntJ//dd/aWBgQBMTE0qlUorH4+rq6tKmTZv0nOc8R6eccorbywQAAAAAAAAAAAAAAECd8UzRCcp3DaW0cyilp4ZTyhQtV9azoTusczZ0OVH59v6EQn6vK2sBAAAA2smSCs2Hhob02c9+Vl/84hc1PDx8xOvXrl2rG264QW984xu1Zs2aRVghAAAAAAAAAAAAAAAAJClfsvTUcHo6Kh+uROWHUwVX1hML+nTamrhOWxvXtjUJnb4mrq1r4kqE/K6sBwAAAGh3SyY0/8IXvqC///u/VzablW03/kqk+l9NVP/cwYMH9aEPfUif+MQn9IlPfEI33HDDoq23XeXzeT3wwAPauXOnJiYmFAgEtH79el100UU66aST3F4eAAAAAAAAAAAAAABYYqyyrYHxrHYNJbWzOqV811BKe8cyKttHfv188xjSSatilah8TVynrUnotLVxresMNzQmAAAAAOa2JELzG264QV/60peciLz2H/214+bwvPmadDqtv/mbv9FvfvMbfeELX1ikVR+dwcFBPfjgg/r1r3+tBx98UL/97W+VSqWc5zdt2qS9e/ee8PscPnxYH/zgB/XlL39ZmUym5TXnnXee3vve9+rqq68+4fcDAAAAAAAAAAAAAADLi1W2dWgqp72jWe0aTmlXdVL5k8Np5UqWK2vqjQV1+tq4tvXFddrahE5bE9cpq2MK+b2urAcAAABYTto+NH/Pe96jW265RVIlHrdtW7Zta/369brkkkt09tlnq7e3V9FoVJlMRqOjo3r00Ud1zz33aP/+/Q3B+S233KK+vj59+MMfdvMj6f7779cnPvEJ/frXv9bBgwcX/P3uueceXXPNNRodHZ3zut/97nd6xSteoeuuu05f/OIXFQgEFnxtAAAAAAAAAAAAAACgfRRMS/vHcxoYz2jfWLb6yGjfeFYHxnMqWmVX1hX0ebS1L65t1Snlp69NaNuauHpjQVfWAwAAAKwEbR2aP/7447rpppsaYvGzzjpL//RP/6TLL7/8iL/O6Cc/+Yne+c536ve//70Tqd9000269tprtX379sX4CC395je/0fe+971Fea/77rtPL3vZy5TL5RrOd3Z2asuWLZqYmND+/ftlWdP/svirX/2q0um0vv3tb/MrowAAAAAAAAAAAAAAWGZS+dJ0RD6e0UBdUH4omVeLXyy/qDZ2R5yg/LQ1laB8c09EPq/H3YUBAAAAK0xbh+bvfe97ZVmWEztfd911uuWWW+T1Ht2vN7riiit02WWX6frrr9dXvvIVGYYhy7L0/ve/X9/+9rcXcunHLRaLKZ1Oz8u9JiYm9Jd/+ZcNkfmmTZv06U9/WldddZXz53rgwAF95CMf0ec//3nnuu9+97v65Cc/qbe97W3zshYAAAAAAAAAAAAAALA4bNvWaLpYmUQ+ltW+8awGxjLaO5bVwHhW45mi20uUJHVHA9pWN6V825q4tvbFFQ22dc4CAAAArBht+1/m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Vg888IBuvfVW047ozgL1Xntubq5sNluF+grUel+evgAACDReq7uqinNC5WJHcwAmzv8Yl/6IKl9FRUV5vCYAADCz2+26/vrrlZ6e7jgWHx+vV1991Wvbiq7dzuu2u2v6ox93ffn6wray5gQAgL/87W9/U3Z2tiSpc+fOmjhxot+uHag1uDqt9eXpCwAAfzh+/LhpBy5J+v333yVJDRo00OLFi/XNN9/o9ttv1yWXXKKrr75azz77rLZu3aprr73W1G7GjBn6+OOP3fbDul+xvgAA8KfzzjtPq1ev1v3336+QkBCPdVu3bq37779f1157rceQuRS89f5M+mK9BwCA1+oV6YvnCDUHQXMAJnl5eaZyeHh4ua/hvFtobm5uhcYEAEBNN2HCBH3//femY2+//bZatWrltW1F1253u3y7W7sD+RwhUHMCAMAf3n//fc2fP19S8S4e77zzzhmtk2UJ1Bpcndb68vQFAIA/lPVLzJCQEM2dO1fnnnuu2/OxsbH65JNPdP7555uOT5482SW4LrHuV7QvAAD86a233lK7du30wgsvuOwM7iwtLU133nmn2rRpo6lTp3qsG6z1/kz6Yr0HAIDX6hXpi+cINQdBcwAmzncOFRQUlPsa+fn5Hq8JAABOe/XVV/Xiiy+ajj3wwAO6+uqrfWpf0bXbed12d01/9OOur7KeIwRqTgAAVNT+/ft1//33O8p//etfywyanalArcHVaa0vT18AAPhDWevMX//6V/Xr189jW6vVqjfffNO0u+nWrVu1ePFir/2w7pevLwAA/KGwsFBXXHGF7rjjDu3fv1+SVL9+fT3++ONatWqVjh07poKCAu3bt0/ffPONxo4dK4vFIkk6evSoxo8frwkTJpR5/WCt92fSF+s9AAC8Vq9IXzxHqDkImgMwiY2NNZXd3ensjfOdQ87XBAAAxT777DP94x//MB276aab9Oyzz/p8jYqu3e7u+HW3dgfyOUKg5gQAQEXdddddyszMlCQ1bdpU//nPf/zeR6DW4Oq01penLwAA/KGsdebWW2/1qX3btm01YsQI0zF3QXPW/Yr1BQCAP9xxxx36+uuvHeW+fftq06ZNmjRpkvr06aO6desqLCxMzZo106WXXqoZM2Zo1qxZptDTCy+8oA8++MDt9YO13p9JX6z3AADwWr0iffEcoeYgaA7AxPkf45ycHLcf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MQwve9ADqLXsdrtGjx6tOXPmmI6HhIQoISFB8fHxSklJUWZmpul8VFSU5s2bp4EDBwZwtAAAVC0Wi8Vv11q4cKGGDh3qtd4XX3yha6+91uVjpho1aqTWrVvr0KFDSk9Pdzl/991369VXX/V5PDk5ORoyZIjWrFljOh4eHq7ExERFRERo165dysrKMp1v2LChli9fro4dO/rcV6DmBABAICxatEjDhg1zlBMSEpSamupz+yVLluiCCy5w+YjrunXrKjExUZmZmUpLS5PNZjOdHz16tGbOnOnz85NAvh8QqDkBAOBPzz33nB566CGX402bNlXLli2VnZ2tnTt3qqCgwHS+QYMGWrhwobp37+61D9b9M58TAAAVceDAAQ0YMEApKSku52JjY5WYmKioqChlZGRo165dLu9NS9J9992nF154wWtfycnJGjRokI4ePerST7t27ZSbm6uUlBQVFhaazvft21eLFi1SVFSUz/O688479eabb5qOWSwWtWrVSo0aNdLu3bt15MgR03mr1aovv/xSV1xxhc/9BHJOAACUaNOmjXbv3l2ha9x444368MMPPdbhtXr1mBMqQRBD7gCqgdzcXOOaa65xuaOorK8GDRq47DIKAEBt5Ova6ctXedbWzz77zIiKivL52vfff3+ZH5HpSUZGhnHeeef53E+bNm2M9evXl7ufQM4JAIDK5o+P6VywYIFRv359n9fFa6+91sjLyyt3P4F8PyBQcwIAwJ9effVVIywszOf1q1OnTi67hnrDus+6DwAIjrS0NLefWurtKywszHj22WfL9f70unXrjISEBJ/7GDFixBnt6Gmz2Yx//vOfPvcTHR1tfPnll+XuJ5BzAgCgRHnWnbK+brzxRp/64rV69ZgT/MsqAPAgMjJSn3/+uaZPn66ePXuWWS8mJkZ33nmnNm/e7NOOqwAAoHL8+c9/1saNG3XttdcqLCyszHqDBw/WokWL9Pzzz5/RjmD169fXvHnz9M4776h9+/Ye602cOFEbNmzwacc2dwI1JwAAqoPzzjtPmzdv1h133KHo6Ogy65199tn6+uuv9emnnyoiIqLc/QTy/YBAzQkAAH+6++67tX79el199dUeX6smJibqlVde0fr169WhQ4dy9cG6z7oPAAiOVq1aacGCBfrqq680dOhQWa2eozXx8fG64447tGHDBj344IPlen+6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fLKnGw+8vQtP1e9DWBOxOVNKnVi+pA4nTi3J2jqJiIiIiIiIiIiIiIiIiIgoWc4Gze12O8455xysWbMGAPD666/jK1/5Cv76179CluWMzyOEwDe/+U28+uqrscuun3vuubDZbCOybiIiIiIiouG2ucWDG1auw8d7ejKaf/acCtx+yVyML7SP7ML207yaIsyrKcKyC2fjufWt2N3Rh6MnFuHM2eWwmpRsL4+IiIiIiIiIiIiIiIiIiIgS5GzQHABuv/12PPnkkxBCQAiB+++/H2vXrsUvfvELLFy4MO3tX331VfzoRz/Cxx9/DEmSIISAoii44447RmH1REREREREBycQ1vDbl7biL6/vgKqLtPMr82247ZK5OK+2chRWd+DK82z4wgkTs70MIiIiIiIiIiIiIiIiIiIiGkJOB82PPPJI/OAHP8DPf/7zWFD8k08+wVlnnYWamhosXLgQRxxxBEpLS+F0OtHX14fOzk58+umnePXVV7F7924ARlVzSZIgSRJ+8IMfoK6uLsuPjIiIiIiIaGhvbu3AjavrsbvTl3auJAFXnTARPzx3JvJs5lFYHRERERERERERERERERERER3qcjpoDgD33HMPWlpa8NBDD0GSJABGcHz37t144IEHBr2dEEa1v2jAXAiBq666Cj/96U9HZd1EREREREQHosMbxPKnNmLVJ80ZzZ9VmYe7l9ZhXk3RCK+MiIiIiIiIiIiIiIiIiIiIDic5HzQHgAceeADHHHMMrr/+evj9/ljgHIgHyhNFw+XR43a7HT/72c9wzTXXjNqaiYiIiIiI9ocQAo992IQVz2xEjy+cdr7NLOO6s2bgKydPhlmRR2GFREREREREREREREREREREdDgZE0FzAPif//kfLF26FH/4wx/wj3/8A21tbYPOjYbPKyoq8JWvfAXf+ta3UFVVNVpLJSIiIqL91BdUoWoCBQ5ztpdyUDRdYF1TDyRJwhFVBZBlKf2NclSnN4T32yXkmYAp+QM/3EnDa3u7F8tW1uO9nV0ZzT9tRhnuWlyLCcWOEV4ZERERERERERERERERERERHa7GTNAcAKqqqrBixQqsWLECmzZtwnvvvYfdu3eju7sbXq8XLpcLRUVFmDhxIk444QTMnDkz20smIiIioiG09AZw9zMb8dS6fVB1gfkTi7DsglmYP7E420vbby9uaMXtT65H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e8YZZxjl5eUtbk8AADSVm2++2XQaWOVYVZ/TU44ePepyIkt8fLyxZMkS0zd57N+/35g+fbpLXPzHP/7h9lzeuh/gzT0BAOBJb731lktcuvDCC43ly5cbJSUlLu0zMjKM999/37jqqquMzp071zk+cZ+4DwBoPgsWLHCJQ3379jWWLVtm2Gw2U9vMzExj9uzZLt9uGh0dbbpfXh2bzWacfvrppn6RkZHGu+++a5SVlTnbZWdnG3/7299cTle//fbb3d7T/Pnzq/39w86dO03tVq5cafTv39/ULiwszEhNTXVrHm/uCQCAE1544YUaT8QODQ1t8D35qrhWPzn2hKZBojmAah05csQICwsz/aP99NNP19g+PT3dSEhIMLV/5JFHvLhiAABalsGDBxsJCQnGW2+9ZRQVFdXZvry83LjllltcLq6qJlXX5I9//KOp35AhQ4y8vLxq2zocDpe5unXr5nKTvDrJycmGj4+Pqe+8efNqbL9161YjPDzc1H7u3Lktak8AADSVNWvWGBaLxZAqPpj17LPPNvim9kMPPWTqm5iYaLoBW9WTTz5pat+2bds6f8ltGN69H+CtPQEA4Em7du0yAgMDnfHIz8+v1uviqtyJXcR94j4AoPmcdtppphh05plnGgUFBbX2WbVqleHr62vq99RTT9Xa59///repfUREhLFt27Ya23/wwQem9r6+vi6J4tUpLS11id+33nqrKXmsstzcXOPMM880tZ86dWqd83hzTwAAVHYi0TwsLMwYPXq0cd999xkLFiww0tLSjDVr1ngs0Zxr9ZNjT2gaJJoDqNb9999v+sd61KhRNV5snrBy5UpTn7CwMOPIkSNeWjEAAC3L559/bpSWltarT3l5ucsN3ClTptTZb+vWraaTP/z9/Y3t27fX2qe4uNjo0aOHaa433nijzrkmTZpk6vOnP/2pzj5VT3qLj483nV7S3HsCAKApFBUVGd26dXPGpDvvvLPBN7UzMzNdTl5ZuXJlrX0cDocxatQoU5+ZM2fWOZe37gd4c08AAHjSmDFjTLHo448/9uj4xP3G7QkAgMbYs2ePKfZIMjZs2OBW36qnfJ5zzjk1ti0tLTU6d+5sav/222/XOcd1111X798fvPbaa6Y+PXr0MIqLi2vts23bNtMp7T4+PkZycnKtfby5JwAAKtu9e7exbds2w263uzznqURzrtVPjj2h6VgFAFU4HA698847prrHHntMFoul1n5jx47VyJEjneX8/Hx9/PHHTbJGAABauosvvlj+/v716uPj46P777/fVPfVV1/V2W/u3LlyOBzO8uTJk9WnT59a+wQGBurBBx801b311lu19snJydGiRYucZYvFoscee6zO9d1www2Kj493lvfu3auVK1fW2sdbewIAoKk8/PDD2rNnjySpS5cueuKJJxo81kcffaSCggJnedSoURo7dmytfSwWix599FFT3dy5c2UYRo19vHk/wFt7AgDAk5YuXao1a9Y4yxMnTtTEiRM9OgdxvwJxHwDQHHbs2GEqd+rUSUOGDHGr71VXXWUq7969u8a2X331lfbv3+8sJyQk6IYbbqhzjqqxesGCBcrLy6u1T9V75A899JACAwNr7dO3b19dc801zrLdbnd531CVN/cEAEBl3bp1U9++fWW1Nl0qLNfqFVr6ntB0SDQH4GLdunXKyspylrt27arRo0e71ffGG280lZcsWeLBlQEA0PpVvliSpOzsbBUVFdXa59NPPzWVq8bjmlxzzTUKCQlxljdu3KgDBw7U2H7ZsmUqLy93lkePHq2uXbvWOY/VanW5oVzXewRv7QkAgKawceNGvfjii87yq6++qtDQ0AaPt3TpUlPZ3bg4ZswYJSYmOsuHDh3Sjz/+WGN7b94P8NaeAADwpDfeeMNUrvrLVU8g7v+OuA8A8LajR4+ayp07d3a7b5cuXUzl3NzcGttWjY033HBDnclWUkUi3bnnnuss22w2ffHFFzW2T09P1y+//OIsh4aGatKkSXXOI7nG66prrspbewIAoDlwrf67lrwnNB0SzQG4WLZsmak8fvx4ty4CT7StLCkpSYWFhR5bGwAArV1ERIRLXW2nd+zYscN0MkpISIiGDRvm1lxV2xqG4fI+oLKqz51//vluzSO5vkf4/PPPa2zrzT0BAOBpNptNN954o+x2u6SKk04vueSSBo9XUFCgb7/91lTnbgy2WCwaN26cqa62GOyt+wHe3BMAAJ6SkZFh+taxgQMHql+/fh6dg7hvRtwHAHhb27ZtTeXi4mK3+1ZtGxUVVWNbb91rrzrP8OHDTQe11Gb48OEKDg52lnfs2KFdu3a5PVdT7QkAAG/jWt2spe4JTYtEcwAufv31V1PZ3cQuSerYsaMSEhKc5bKyMm3fvt1D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b9hsNrfm8eaeAADwhsbc1M7Ozjbat2/v0n/p0qWmXw7v37/f5cNXkoxnn33W7bm8dT/Am3sCAMBTVq5caVgsFlNMGjdunPHTTz+Z2uXm5hr/+Mc/XH6R2rNnT+PYsWO1zkHcJ+4DAJrPmDFjXOLQiBEjjJUrV7rc2z5y5Ijx/PPPG23btnXps2DBglrnKSsrM/r162fqExkZabz77rumebKzs41Zs2a5HAAzY8YMt/c0b948l/VdffXVxs6dO03tVq1aZfTv39/ULjQ01EhJSXFrHm/uCQCAytauXVvt79mff/55U6yJjY2t8XfytX04yjC4Vj9Z9oSmYTGMOs6gB3DKcjgcuvzyy/X555+b6n18fBQfH6+2bdsqNTVVubm5pueDgoK0YsUKDR8+3IurBQCgZbFYLB4ba82aNRo9enSd7T766CNNmTLF5WumoqOj1aVLF2VmZio9Pd3l+dtvv10vv/yy2+spKirSueeeq59++slU7+/vr8TERAUEBCglJUUFBQWm56OiovT999+rZ8+ebs/lrT0BAOANSUlJGjNmjLMcHx+vtLQ0t/t/++23uuCCC1y+4jo8PFyJiYnKzc3Vvn37ZLfbTc9ffvnlWrx4sdvvT7x5P8BbewIAwJOeeeYZPfjggy717du3V6dOnVRYWKg9e/aorKzM9Hy7du20Zs0anX766XXOQdxv+J4AAGiMQ4cOadiwYUpNTXV5LjQ0VImJiQoKClJ2drZSUlJc7k1L0j333KPnn3++zrmSk5M1YsQIHT161GWebt26qbi4WKmpqbLZbKbnhw4dqqSkJAUFBbm9rxkzZuj111831VksFnXu3FnR0dHau3evjhw5YnrearVq/vz5uvrqq92ex5t7AgDghISEBO3du7dRY1x//fX6z3/+U2sbrtVPjj2hCTRjkjuAk0BxcbExefJkl08U1fRo166dyymjAACcityNne486hNb582bZwQFBbk99r333lvjV2TWJjs72zjvvPPcnichIcHYvHlzvefx5p4AAGhqnviazlWrVhmRkZFux8UpU6YYJSUl9Z7Hm/cDvLUnAAA86eWXXzb8/Pzcjl+9evVyOTW0LsR94j4AoHns27ev2m8trevh5+dnzJkzp173p3/99VcjPj7e7TnGjRvXoBM97Xa7cffdd7s9T3BwsDF//vx6z+PNPQEAcEJ94k5N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vYqNjdX555+vOXPmaO3atSopKWnYwj1g6dKl6t69u8aOHat//vOfWrVqlfbt26e8vDw5HI46+9cnab6pXuc9e/aYymeeeabbc9SlcmJ4YWGhrFarS/J9XY+NGzc6xzh69Gi18zz22GOm8urVqzV8+HAlJibq1ltv1Ycffqi9e/d6bF8AAAAAAAAA4AkkmgMAAAAAAAAAWrXAwMBG9TcMo9p6Pz8/ffbZZy6ngJeVlWnFihV66KGHNHLkSIWHh2vMmDF68cUXdfjw4UatpT5mzpypCRMmKDU1tcFjlJaWut22qV7nysnbFotFUVFRjZrnhMLCwnrtzx01nco+ZcoU/f3vf5fFYjHVp6Wl6d///remTJmihIQEJSQk6JZbbtHq1atrfD0AAAAAAAAAwFtINAcAAAAAAAAAoIG6du2qX375RU8++aTi4uKqbVNaWqqkpCTdfffd6tKli+644w7l5+c36breffddPf3006a6oKAgnX/++Zo1a5beeOMNLVq0SMuWLdOKFSucj//+979Nuq6GqPxaBQcHy2r1zK826nNau7tqSw6fNWuWfvjhB1100UU1nvy+d+9evfnmmxo7dqz69++vFStWeHyNAAAAAAAAAOAu3+ZeAAAAAAAAAAAAJ7Pg4GDNnDlTDz74oL7//nutXr1aSUlJWr9+vYqLi01ty8rK9K9//Utff/21vv32W8XExHh8PWVlZXrggQdMdX/+85/17LPPql27drX23bFjh8fX01hhYWHKycmRJBUVFcnhcHgk2Tw4ONhUjoyM1Pz58xs9bm3OOussLVu2TAcPHtTXX3+tpKQkffvtt0pJSXFpu3XrVl1wwQX6xz/+obvvvrtJ1wUAAAAAAAAA1SHRHAAAAAAAAAAAD7BarRo5cqRGjhypRx99VDabTT/99JO+/PJLzZs3T7t373a23bFjh6ZNm6YvvvjC4+tISkrS4cOHneXzzz9fb7/9tlt9jx496vH1NFZkZKQz0dwwDB05csQjCfrh4eHy9fVVeXm5JKm4uFjjxo1r9Lju6NChg66//npdf/31kqQDBw5o9erVWrJkiT799FPZbDZJFfu95557dM455+jss8/2ytoAAAAAAAAA4ATPfL8kAAAAAAAAAAAw8fPz0znnnKPZs2dr586devXVV00ncS9fvlzJycken/fHH380lWfMmOF2323btnl6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", "text/plain": [ "
" ] @@ -1091,7 +1007,7 @@ " splitter=tree.splitter.QOSplitter()\n", " )\n", " ),\n", - " \n", + "\n", " }\n", ")" ] @@ -1111,7 +1027,7 @@ "hash": "b27b2a9f272874e098660428b28f5afa65c7850d82ff592660d49a141d883cd1" }, "kernelspec": { - "display_name": "Python 3.9.12 ('river')", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1125,7 +1041,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.0" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/dev/recipes/on-hoeffding-trees/index.html b/dev/recipes/on-hoeffding-trees/index.html index ade27bd2a6..50a5819e60 100644 --- a/dev/recipes/on-hoeffding-trees/index.html +++ b/dev/recipes/on-hoeffding-trees/index.html @@ -1585,12 +1585,12 @@

2. How to inspect tree models?
%%time
@@ -1602,8 +1602,8 @@ 

2. How to inspect tree models?model

-
CPU times: user 37.6 ms, sys: 569 µs, total: 38.2 ms
-Wall time: 39.1 ms
+
CPU times: user 64.8 ms, sys: 2.75 ms, total: 67.6 ms
+Wall time: 68.1 ms
 
HoeffdingTreeClassifier
HoeffdingTreeClassifier ( grace_period=50 @@ -1878,7 +1878,7 @@

# Convert timedelta object into seconds r_time.append(checkpoint["Time"].total_seconds()) - # Make sure the memory measurements are in MB + # Make sure the memory measurements are in MiB raw_memory = checkpoint["Memory"] memory.append(raw_memory * 2**-20) @@ -1888,7 +1888,7 @@

ax[0].set_ylabel(metric_name) ax[1].set_ylabel('Time (seconds)') - ax[2].set_ylabel('Memory (MB)') + ax[2].set_ylabel('Memory (MiB)') ax[2].set_xlabel('Instances') ax[0].grid(True) @@ -1917,14 +1917,14 @@

In our example we use the EBSTSplitter, which is going to discussed later. For now, is enough to know that it is a mechanism to evaluate split candidates in the trees.

-

As we can see, our tree uses almost 10 MB to keep its structure. Let's say we wanted to limit our memory usage to 5 MB. How could we do that?

+

As we can see, our tree uses almost 10 MiB to keep its structure. Let's say we wanted to limit our memory usage to 5 MiB. How could we do that?

Note that we are using a illustration case here. In real applications, data may be unbounded, so the trees might grow indefinitely.

HTs expose some parameters related to memory management. The user can refer to the documentation for more details on that matter. Here, we are going to focus on two parameters:

    -
  • max_size: determines the maximum amount of memory (in MB) that the HT can use.
  • +
  • max_size: determines the maximum amount of memory (in MiB) that the HT can use.
  • memory_estimate_period: intervals after which the memory-management is triggered.
-

We are going to limit our HTR to 5 MB and perform memory checks at intervals of 500 instances.

+

We are going to limit our HTR to 5 MiB and perform memory checks at intervals of 500 instances.

plot_performance(
     synth.Friedman(seed=42).take(10_000),
     metrics.MAE(),
diff --git a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_12_0.svg b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_12_0.svg
index ebf8234dd6..0c51a7e9de 100644
--- a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_12_0.svg
+++ b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_12_0.svg
@@ -1,7 +1,7 @@
 
 
-
 
 
 
 0->1
-
-
-≤ 0.5455
+
+
+≤ 0.5455
 
 
 
@@ -39,9 +39,9 @@
 
 
 0->2
-
-
-> 0.5455
+
+
+> 0.5455
 
 
 
@@ -55,9 +55,9 @@
 
 
 2->3
-
-
-≤ 0.0909
+
+
+≤ 0.0909
 
 
 
@@ -71,9 +71,9 @@
 
 
 2->4
-
-
-> 0.0909
+
+
+> 0.0909
 
 
 
diff --git a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_19_0.png b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_19_0.png
index bd204c0a456d91c5917113d884cecdf5f4aa0afd..1cf566a2f358cd6af900a0a35a6aa91b69b8c2b8 100644
GIT binary patch
literal 180558
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ĽAkqR1v`VODV3EGLyU&-`gNj_s=Bf1
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
WcguVfwU?>^B}Mf^=?9Me`ab|5`Iz_s

literal 180906
zcmd?Rhg*}`);=6x&*+)KGKhdu9TZSO5a~6{k)l!*QIW2I0@4f}siULPQBismq*wsy
z9dsxWkS-vhX+o100s;Y&@LM|;^gZwO{R3aF!x1LQes)>)UiaETXLL2U|Hkzj27}pt
z@`T!142C5RgZZWO-&^3nT)S!72>-~ts$X=~ce?88aoPC_M(48Yb$cgQds~Zr?pK^$
zY@Hk>#pJ|}ite*EOMynFV<%p?r+kBt2F=T+CS1jD2@JV}YTu;LTl
z8@t)%MriIrtlHs6r+$H{e0$Nfbc;8C`vd-MFFzRf!{7HbI(RnT4Uh^R+xQFfL{Dn#
z#-IDbQsp=P!r1O^fwg^mok+9U@$GjEMwLq)w&DA$^Zy@@9J!*%TylHfle14x2u0r4
z7AoNV1w%+oNJx0o*chZHaDV0?`a~h_%QmZqJkQAq*NK;@A8UzEd-m+`*{A1<_is|I
zh)Pc8AFS|*=con;0{XrxOJA9b^}|Px)ZtZ}hEcuyC_0)`*?TE;
z^G>BRAJKsZXy|`AJ0mqWH@CORSnRcH*YaUDfq^jS9tGE|eCD8G49vD9;A4=M6cm3Pzw494l;ks~_XPK3fkJueK|
zU^fj<{R@5AZrr1rIgJ*fN2kR4H?iCGd|470C)$p@=@U>C>_5(*A+GoG%@
z(-DRRSJe+cYWlK;M%?SSnYw8svz@(VCiFK&*4*j4T6xx>Xy!+iZEP7%C{?sWm1Hd}P0s^5=~=O*DJ+T4}k)0ljF
zayAS41-|L-R2RtFQQ|aw;=nFFGc!IBgPhR7z}qaG8t2cSkLp6Jx##fBe6(+3-@RKc
zS;g0)J>}2ED+{I-?&`;4Ux+87ZEnXM`f7qyw_bn)tFNzTWzBP&>In?Im}j9bvmcGs
z{@XXBp}Muiy2EF%+)dBeIKJfsyoa%h{l1RtFmza8;In7XPNbiO9kYZpFw{lDr7E-W
zm}poQY`Q?IpYTFlT%5fII=Fq!-%MD_Ev*B)7S$Kd9cE``ZL~TTe;+;N&9Sdm%x06v
z08Y~vCwc!w9k0j0{h1R|X>6yJBxV*JrU?BDOfxtn|9_gidpPgeC0}BYaP^FxPO^&f
zjM4Es+iZ&yR2TLhvpPYj>HgG}S@OPUY2a~{AfLBiu3@pgVOp!m!GnQtfcPxEG~#A{
zs;bX&#c-IQR#fFoE>mp^cYk}>n|rXF_oX;XQIpc6jJdnmy51Vb;vNYLH5%TZrU^FU
ziXtCc%)77l023g3D*Y^F9J?;x5YEfpro3!YOhO+}Ra5(Bz%Ur8%=NXJ^^haR#Zr^+
z^>yV19em)EYQxpO%id<=t%=LtZwqa^mg128+RiOg_cm6NRJ}GE(h@J*o9obDe56%r
z;cbkhweDx~a1HAxv_mPQ-ww1rCzKz{a7bRu@u(8Hvu$susJyPq%7|}{sprSrIQn8Q
zzMj*Zr)H(aX>wfFabQocnYROtHjZ_Q+J+`N=RRun#n56fu4?G`y=TjW!8Bg|C
z;W%Qnd#X1#0_1)IJjFI%1*xIM91rQ{;Sy~X{-J6#C1)3xw49tAKSx-QgxCCtXa-tx
zO4`?5NjWZ0sbeEi@cg;_nP;DZ@)cawF~QZd4OIkgv|ZXB3hjMB>8;iUT?|e
zXYF`ykSn)5;6jQYrd|C!+5KFvmlxz;)Vx|rKw!&GJ|3{acCHytzEj4y#cqS%2!8MB
zJUN&iw~{+-pv0A?hpUwH2Bz%8t34%P&_KxDOneu+DXUYtvYxXYn*6+2+Q*$FDk;Lr
zwOAH}PZHO6CAz-rGK}J`cA+U(uG7g*^F_;r;KNFn2zI2uw(*?vC
zcO&d_%7pIh;3bTBTg|V`wYq_WxUn?77q&V#xgXSwgAK{Ds#^bG4srtEgBoG0SuOG5
zVf{`uRj(g-)y>|dmekN^Vvb#DQfYp@rhnlA2RcBq|N7dR=wD95)yj_LpEBgAA8wIu
zbDG(7F8a?$Cf9-MBPDsy_Kh#@cjvt5R7q*rqvGQUYx1}0RL*}~Uarsz!cBdnsgmFJ
zz)P*prA?VrILXsu0Eg$*DQ8Icny}&d{b?#%eXOjx)vMQhK5XU>Z1ZO?ORs3S5+aFiW
z{lkJ={gjCh=T#IC5D*p?hArYk@dg-(I&d+azoishZ3zw$D?iBioQakGqyi713@um7
zjttW|0iT5yN?wHTi<51_kz$o||CExe*Cz4l>FE;J
zKfHPadJcwC&CAP+Ze(g|YT`qw$G!REZk?VcZ_%)w|G46C(DR(~Yq=|Y$~WphyuO7z
zY?PQOm!iikxHE32N(qp+u95LG5Dg_$>x7B0?E`k%)@@0+4}Wdd`18*{UlbMvYjZb%(%E3B}e+mBP;
z?2oAXl$ks6O0G1Rx#Ds0haH*9&plGx(K%qr#l=5F!Vy?d%Zg&mpe
z&h?WHS6Q8qn=K_7)h|5uLOynKa4n<@`UtZGVsbAiJ>7dLG*UB``JP1g2Gv+^5#
zWY7T0UC?{O(a|x%t;Y~I_j)UyRg*_=-7Q|;wZ>fieDawL(yH^rDp|?6iW`+!r}dpD(LEx
zJnmwrU)F*%q1KxTF32h_y|*N3VpsKiK=z&`S5O+bNzLXAXL{?1lRGk5&!SH&Y_~Y5RxhvmUamD^^XQBGp^8#++oX
zz00BwjH__=n*00G2lhuO<+r7-KrBP-HZafTUnUP@LB^{~2IT$bKD=hi=C8sD?N4aP
ze;kNx3=Bk>9O%jQWSHz41YA7gm2>~0eb|Z(3=EWa8LLZ+P~j3z_Hn+DeA=aKI=?yJ
zdAP@FZD|HasprH?wkbu*)YR0Fk!85|tDo#)^b3ZUuvKO5FO5fjT3T8pWwO_4dMSt!
z*v{c6-o9Y6Y+s62XKIO+9e_N?5Gy7k5@OqxA?-PRq-5ZMO!eyI^R&`Z&zj{u;8J})
zvY4NUk5_P;^lNLrL-rY03{#i|J-<$%LR2*{o>wyHZcLzZ4^uT$P)9fq`BNWA(#~rINx>6p^I0ttYRqB)@51Tdw}I2HYdJl9+zm-3+hK9h%EGlxTCc
zII!3C*4VW^^k~|cY|Tl;b~?PAjNnaX?|1>ui;(;&~
zS^XW#pWBi9$b~~z
zlgm$@l5Tpp@Yq&Ye)M4#pLGIG!vtbZNJk_Txy2FW0b{_F5?X1@2_E?h89cuq9nZGed-oN^
zEqm`pM>9yDAlfeR&4!dCJ#1lNVR)&?=&YVz7sF9_SJ1>jnG1;HegOftPiiOlWjnOsK_MGSJ|Ket(sO%Fpl*|(jU)O>{~R5_;0jGc}PPBst<_6!<%{7=q{7xtYL$m-o^
z2Mn>ZgrX@k{IvYC#-XZ1OG=r5d+1ba7#CPSEq|J;qeiOffobJIrnX8!Hn4Z=k+^5(
zHGZ}v$R6T)>w?%&Fd78rs=#lSu||%lp^b{;8unUSN$f>?^fi^c_ltMb>)veR<>K5T
z5Z;nXce^|ssX>Uh2Ew+&#OK^M%)mI?k^thWBAIxbEo=``1F7<>?LVYa@U#7up
z`VHJ{r=S$bq4IL=os#q6VS%2IMRYYluI*KkXY>v-zs@Hl$XnxOh8FBNSdqdMQl|R~
z;uGxJT$U=wxWQhYTOXGt7Y^;=ma(^S&WVz;fB&)&r*9rVKRV?4l@%WFO&~;rFza1ro$B=f9)|-w+nV>kuwB0IJeChEm27w`}D$HI%#A{_@D-V{I8IJ>h_=anH?z01M97kTr+OBa3MoG_JIrolKj327j6+W
zTZv1r0;umYRUXMK&p7!j&Xh2NQ`L;Gp86hpr0{87?qS$zo$3a=+$s*2v9~AV*v6bGg|ciw#Bjwu56^u7R2wpe>dt^dx}-Qeoi!32ksN{eEQ19a*xg
znZAD4glU1f*XW}v_e7`dLo^e+YuDmFFO$O+XKg;`q0=OIPQH7pbNG|&g^Z+~N5&y&
ziU721l`@rE!-p_{{Fr}(zy*Zseu?7(UX+eJ(CTbh9`^UI{M@OfQ{K>9y;M|40b^qU
z2o+h*SZigqw`M5Iw8g1bQcIZ|<&ySs|UFNQLlVB_=Qy*96xfBp%8sa
zP0|oF!FOZgaba1rSj7uNNtqI`f=oMJqBPcLog60aztU{$l1!hr227#kH3_@g5upKa
z%oP6lh3w#hHWfvHJ(j&9Kv+E?AK-+jbJ0bU2d9?c+IezKX&gm_1Zo4fleS2$>`0SH
zZYY-i>9muVc5&snGC4@Xvf*7sFTk7NZ(EILWzfdR!S8WCxgZNN&dv;avQ;%i0CMUsKJue2W^R#zlgk*(nU2G$w6Kv1Cu
znKs?C@qr+&j#aY`rL7^H;zLu^L`9DV^Yzu<7$q-f6OTbRTRTou*ABBQ6FpWCh_SLF
zlkM5&J;VkFXhB#7aGAI^yzZwRdrUAJqvAgOzAAX!=>kLyvcoyc{7)+KCF%y2^|10Gzj>
zL0}mQu&fn*rQLbUwmrY|uf4~2jzJo)P{GW~@3DLJeJQx8;@wb2kmxbA7lAP6&YxFT
ztAk{j`0RO3Fr>PN5da10Xjp5aA|BNlUc7k0D3t}xK8qrqW>=cf%A`RJm+YXc{@X-F
zS@5A8T^TwdV9)Epe5IzQ3Pgz-=J(EafhlJ~Lw87Ga%TW^AoU0?bU~pV$|%4u%q+_fc#^_!fLU~NHXCFcv0Ep)U4V$9?&alL0r1hm
z>>?HmV=as031DI*AXG1f*ml{QuC4g-Z#LrO^W1PJzlHck7Zh@%lSgqK0^qKO?ygJ
z4|)Ph;bJAN5$3*hICgwwqz(mQo)9c|xobFu!EO*g-sKNRy4D6kgiMk@W5pBT&gH|g
z%QOA5;NokfpJDh|aWh4|4d5C`2M-=R5kH)NMGNIK5+1VyRj0-PEXS?Wm&rx9=Bu?6
z9#oN#KZe^r#hXOGqRr5MMMv=7DM<9gwcb
z&A-`Cg5b)&Ah+#-pcWB16qtu5#1WsTdc}pbV}8HOcf%%RzzM9D1jH2=Yy5l>a)ct&
z(o(q{fFUz|04bS^=V3@ioi(`se>=0a-}Af72!Zrsn1^;Pp7VA{%?4PGLaT>RdEaaQ8Mi34PfTG2ydtW
zKnBEMEZ1m)+OUgUr~}w7KjwG%PJpa8gn&d}vbTA|Y;baIyGTN{15{gt725ndw6H0KZufL~4g3?#olI50s5XOp
zP~j*lDq18#=|SW0qu{?bZ`JVg^W$-Qr`J*Cy(}v9FAP_6+ai2*!EadN2pnCj!qkgZ
zN>U;rD#J$ixdBu~W%!_O#N+(t4|q0s5Q`ZCj0bw92IWi?-5z=Et%51^KeFg&uCLDq
z0iqYacN50Q3?QUbRA{IKp8V}BfNX3mY_zK7N*Vg<5IN|5g?@jh^RXMU
zM(KcI%kBzNBUrw<_eWp&53B{Npj5A|%Yc<3FBv_vhq+12|5Fu7wHf-$0g5jw5WiT%
zX?%aRHyw=gxD;*f=k>y<=&*o5x$CC~qf+1BhJx*5o1s4uK!|MS7a#}u$L1jP8JnHX
z&P$B@mQZ2+&o0b|mIsX^W-dc%=*&Cy5v$p0ob(IL;*4pb~I9$&*9est}n57Rq4osl93AS-;a(i5kqhP)1f;zfmT`f7nhTIgT-B41$-
zPaF^c3+~_uND(SVS6+q!xUD7szfi&SlK=dY|G#G%0eL10V^>bnsbD}2U1tc=-hZWR
zGWO`H>k5%+2))g1(Qq>?@0pMFTiR+x+G$*-y(aoP*JIFO8K)r=><}cz5UL1=1YrUo
zk$4gY5zqbf1MnG4Av-Mc1Xu(gB3p7Ggd~B1)b_h7yRDPFu14vak-*kLBh9cBykvM~M=hQ$ZcXM!Dm0-uXnxHB^M0Oc1=g*z9
zI)p0F7zcI8+3v{?12Sg`Nee5h-r2LeWCyMvk7E0?y!Dr|y!8AVxv0Vc>&d@|Vt-G?
z;E<5621so=#7y>pX+>c*FDeM2Qk|^}h`pYnVQjh@8orR-U5dO9c@HZ1Q&Vg;V|6MG
zGFwCKe{GMK%J&fMd%2uD{m95S|3MI3${`4xQ=dFJ07hkM9Ks1A6eEJ5
zM4$$M5UfT+H{ACqCZ$X;vM~z?3y?S0Lj<}+XjHQBSYZ-qmNYvmH-qp~f=>GgKr9Y8
z%HM3dfe5r~ewuPQQgbm}G0CjBmo~=RO_`i@z)b|q#_mKiFV%<8=fz(0(;_7>J}Tzg
z50pxTG-6ULMZl?V=caM!p`|UIhDVfsyu-~j;DLcRZ{CbiaJzP3S6?6d4f^V$4&&o!
zQcWukM97`+CKbZR%28?}SC*QgqDE40k**KcpgS|ia5TCX=ixVkYfPu
zNa|h_i7Ro@iWY-hh{U}}LREmUjxaI;KK0>hLA7-AyX@_ykY5@4Yo1I-9
zk{3W9G;~{s_>XPH#37rHV$TvsQ=oe&0EAfBc5{Urs5Ve0g9O1}PE@vc=Lj+)3dhtJ
z+^3<|7N*JXD<$B*e&#yly}*mPH+t@+f11`=O6C@ozazB;Ek5?B@eoMa{(F!GDO3TM
z4^L%<1Qg}>fJB5?9ovfvJ!%51RW}yTs%#CodJmW)aC(j7V6jC6QW+)pkj$DTtv^Ki
z(|&*D(;3C0t1WS*fJaZ_QOzph`ai!KY8UpS2o>r1yC*KFq>MZs-IG`sBysg^%vD_t
z%Nc;QW(*urqzU%4^TjeaQd~cA+=3JySJiX4d|TileGRE8Iwqj%3K0oZj(zoT@4I((
z=8XAhRKEjDlJ)FaFj!B`wj^aqXMfDZ3D_T$A1#uAu5=VY(5~>O@JUox0*|$A&(VE=
z@pEkDbv*+qkW3eDQ$R`M_hW=|tvK@-Ga0~8Py~GifDrVXLMQuUEB<1npH5amF^`99
z7CSDDo|m5G!`(>fDu%&UW|&?0jXZzt}CO_z3VHXlC6OV
zJP5JLfyF?{7MfsF44bUP1#HhcW$0C&VN
zV3d5QmS}|}L@`4@Qx_#fuuGwkImSrYKG^Av#6QJmh_7np?rnfE%!hh*{!g^Hd3CRs
zc-7~#D7+>g<(1OS&ABbH^orEpAry+1eoas>@1jVpp+=v
z;zRdHq#DluX~`>}B~`wAq#=B=9PRZ$3iH5cP6*sb^gtlIh1Kp*6z#`hQU*~Lq6B%>
zA_;1O-y%UUDi;pI!vHjNoR|0V`sB}!W`^osF6uW+()WoAhw~1J@FkWw<`(T`k!cvs
zy!yv(*pV+U)vfmm){kTItvj>Kwzt;g->|bMm_7RVL$JnsD^!|!v0jSh8L6#CMSoP4*QM~OZ_jDD_+yXCJ7PRy~fdDoAFnr_S72)=FB
zzr6isXnSjJZdUM$oyf5t$EHIjYgA=rAkeIeGwi;e^0I#7)`%
z=u|fr!hoom6K8UbGih?pXKZiTofaL4`EeyP$*>Y3ZLaR;uUBH5W$>+&PwIRX*Rwv8^YgtTU{ggOn>77^}KZaPS@9MgntU1g2zDNc2l6rH}_oUzkl1AB_x8h=_%GWzP3&Np{L#`@j68>Sx_|8#D?
zXJIuDe?5LGP2aC}xE!?n-cNfK344{{+SC@7c6Z7CI>eaY2!&`~El|q0ae)aBexNm9
z8OIZ+v+X_+er#u}aSjZY?yPtJ4pWy(-6yIGJy&t^q^2P`=jNBW!cI$F=JY
z4L7&%)kRAB<<-uBjLbn76yPM-S*LT2v?$t#G^Xn(7(I+~Y`W-Vn`8R{_$U5ZRuwU3t>;A)#0DsR6%Qkpd8kOqT;5>?4M3#3CZtJ
zN9_%@KOJj_Tazx9O8ocNMGn6SNxKszQ@TX`Uk8f5KJ(9$`&HZt{toP?5e>^US
zcsMRG(97!`l`^rx)*MbvKWaxYsFDq*#_|+LRRy~Y$iv4wKM8t22)g?pKnVSHzqd3J
zmxlj-+j1Uhb?$qUz0I;SKN*o?qR6O^^5LbM$!Id9Htsm)`B23Qly2_(q
zPv`rlKlBMemc(P@v1NIB*DY@j>Hp)*K%8bk#k{5E*6aQW1E2nrF?2vmlFn3;n#ZY!
z$8xiO-c@xNJsKR3JQ#(#=biaM
z0WX=OEp=e}fd9)<7bC;hD->q$sksmsxR>Q8WBof?)Rg|fA&}Lc4{_g!(I8E#wP;xI
zgCK<1G8@ZxJ%T?O<3;3Js!k&RU@-kGtWTumCn=kPs#T#k+nt9RnY24Kga2E#jj(7#
zrXD79U4%cl1brDnr#G>
zk(A?mhAOmp+N<>c+XeT4ZchBZE2vJzL)zcs<9`|I8zA7k4b{P8&r4>5>$!`qf0WND
zP#)JkWUe6*kda*F>i=b?Ex?f8?LcOlpJ}Fl`Podf!=5QTWSYwLfzJOj(+J)KUhQS8
zTJ;4}>Bg8MdzYWgv@ROm`Ma4G=5YMUCHI_!g`Jsqb|F&lGtKn>a`w!xOWInIw~UYH
zW(W56Uif)eLG@haghQ{D+CUXy(A+EpxFWBAh^n$9z%qQ~x!5VcW7d4&1A&c2w&8Ox
zxC&;Wj%k2Yryv}5J&_!H%qQ8dmoZwD^;GNX(I5Qim-nrC2w0(QVh-0G8t?Gp$OX-k
z2`JV4@=95R@J!(egti7rUUMqF{__#Hk+;6ZMB2W5#t1pIS_S({Co9(jH*=ea
zW>{Xn!z9>#`Ap#sv|a8iwp-Q5X#-n&XK!3J6dii0T>HZ~`4D1Hv;&`#Cpkgs#p@!1
z)#2*3xyo(A8&2vC@-wv+uAMI@3-mIif+HRe3
zp_kWGa=0~~+w#L~tfEupRn-#QsDI($0KvSN8?)BLo{##-#GSqj)dwf=JFC2WQ0e^J
zTgzpPG}~Ow`kc6JLO;xgPu(TJKlbPo%>;=Y|66w4B?kC5KI4R+h5>gyCuFYZ;JSN6
znwCu|7LINR)_L?}G;+@ijF;1~mzsJeKD72Nz0al|P^xNLn}1x?TM*XwwbmJ-fo7&G
z+$P?hvxJy3SC=2R*eWVj{uN(2$5{Op^4_AhMZ0yH(SgXPKTTLvePLVHix;85ZhMCf
z=pi3x+tLujsD~XeEs|!;bw2xPvlDh0OJSklFvSmr9Vn-epNKNvO142x!~_4ssqp|a
z%Srawy+6yCyCkt@vi^E_O!JDH!%v&7YgWA3su}7+Jgf*|KYaM`k~aI=E(EfSsT8*
zilaljpPqZh*yOs++@BotrpyHbu@!~DF+3^y4+}kaPC4v`1Hi)}?
z)^ismxi=(z-)3kbSt7ZR`Szx(uYg^jo1gTwt&jR?AVWB*wT>zmKc7zz_0~*kmfCVr
zBhRHD#4ierQv1L8W91HNEPVpk6e7|@dMs~u>_??S{S#9EF>};4!8OGA=9sU)p}jw^
zAN~3V@jC+UHRZmpQr2m0zV3?GMdwEqNj<{RSAW#+X3$NWn@$N5Le4JWBUnf0`h5@A>I7W@wyu
z5N7y%9Nf=sqLnU?Ltn6CdUYn3iFr6FD^it$;xoEm`_v$z;y_pjyt1A?4I&bWsFoDU
zEh`4i8Ej=`WqsklIsEeren*gZk||%a%=ua9p6P6%lo<5Z+gh$&`GZMNVvhVuG1F!!
z9DwGU5Cpn0TQ{)&e(!pEsz)iPzYY~3s^@NtBObiu!(D`oo0SRFRd0MhgA>$
zSWbP7&LdoJS2O9s$=dvT
zOxhvyfgch-%`w}Opx9zNFCT$rct*CKgx0WA>2a>QS_pkYH3bB3K-&_6i9{~EIMI9o
z$}@o3xIta3KD%TnuD-CnTyPiDD3LyIy_`7<#Xsp!Q~)6t(2o$pTmb(SF
zY42slQv0X8vjz28dl@T5rBfuf{&!BtHzYuz7;Ib(G({BfK0eO{g;D5dQbE=H)iQu+
z55?8``4Fj(DbL3*)IFO|^v+fWOikP0_qg`nL1C80jd9|{g!?zy_}0q4o8(_*X+1Ch^?bjRXbSN3*Kc382R~NYd
z#^SJzw-|ON#gqC-I`6qqSueq~O*Et+Ty9^(_JfT+8+lTI##t$+t5E$xtonLr%wzSZ
zPniP{E(0Y2`VASaeijbVK&Z*SivZS{1u#-5KzypZwNqtJZqMdL0(FbZ49E0}f(&$g`rOKoeu_(FhVUkqXI-*91xE15wAdeo`r
z2h&BAoc#imEMra&oAsZbJFqJVQ1j+f4T$u>BwzOTB`}SZ=0R4=V
zQz~H9o?$Bg=-It!DHXtP~tKxm#)OCJvqhxHOzU!%M
z$&BCCc#RQ`1;
zo(iod?7*CUVJ?2?P!P<#9#~#+GfAik4`6wKTcKOI-q1SnJl1ci&)O1-0WDEM8GX>&
z^EN@gz)uPI852;2;9x6q>@I4g4$yNOB(<7>t)h3U0^f#JlKE|cOYF&JRhh3sql|Ig
zhD!aGb4fcfGs(+q;kHASUbwds_;(SAP$@TZ@AxryfA5Lv+lW&FeN*g6w?r?#+$Yf4
zJnA%5MGMP^GAi^oq
zEz)u!h71kIP$(YfHBEzx9iYtvqF$ckPyr$?zK<{#Q&3R3(dny
zMO~iHHP^s`G@}hB@fyMzT^5<%p?qaINfE>g%2PF~1S2#cq4y*3>oY
zv#Qq^cd#=>Zj>VI+c2yA8GrE&kte9AFZg>wuNe_hsTuS&yw`XlXN1bC4e<2SXD%e2
zN*91e%^~O!X{cHr;-2cs4ngXP2-%{UPAX7k3q}kghglHXH@bUlG*4CRt{Y62Q`qv*
zeP~>w#{2RWpYe}gGsIgW-=$r(zXx0!@I!HfZoT!;$ZOI0?m8PW=V7C^QZUvcVm|W1JTLOk2VAGgK)RHK9QJonuoWloMUz&
z#yH7@3yKPIx1N4~BxWfJ+VuP8A>L8s17ML
z0nF*^xEwMTp}cgFo;++KMuxfiP;2?a7g`m?QBRhrki97s_X>D75yEcmJQ&_Drf|5m
zX0Z%#IQzL6Cl%@`S8@XXy4U+ndv!OinfU!aTu9Idbco4yA0S8LlhE8i;-_x>6xipePSrKnclY=xAravb2&|uadaf?of591?t?!-44GD0aOZBR&@sRX~
zCPospj7C7OrgE|4VBE|_!^P+tnjmr*r5@y=jvD`UQK6elwoMZ%6n|@ej-WdgV|wx0
z^_jC?f0$jYF8jEF7-Ni1+!c$f(aZSKs!u}X;M0EdksZ0_HPlyIRelEsA3rL|H6N0+
z1MWGl`@BJVOCt0h-;eBiy#7oz#B2ED)&}WyuQw{a9^D5>mL+Y$UUtP-jxz6DU><9G
zhuiz5IYeeft&dRD&6pWVJe7{vV|<<;{-Q$L(H_L@M9)P8IMED;@?5{g=ZM55lvn`K
z2(@jU)^_pbr9bH=P{a25q-B0>*7H?-g8%eA>inU!rLt-V0|%4q{ckT;+iGsn-`F!=
z!@Eb~k|8=`HbFrllLReV>O3xQC2SQFG^fQ9qobqo(15fHF=qcbey5Jzz=Rd~Rhcx|
zCd9Cdk;7S_?m$W!Km8zLC2sMsKAnD6!k>in0@h)Kk?j8Nu4lcYgIA);ifsjcdcqXZR^W|^`L@jD-yDp2R;5t-9k$paY1
zJg)73;@bb*dWAOhs=q5+-*14D7ld2VX{&n>rpTocd40yFexdEOI+n
zpdI1CXq~FD^QDvHrE6@Onh|2ZfPh&?90`xN7HzzQC{tfvDOLJXP8w*x5$!t9lR}J9
z@x6igxE)1yy{nz_ulglYPxqFREH%}mZw~nKEzH~^hpYe`(2Ce8_l=W6w8%G9fc|m+
z@ekVKeGl2VW6*>2Vn7zEOvL(-0%xZb-<2kBjrypj$b@|fB7}alMFey<;SM!hDKVdb!seJ&@BT6JlzPW&B}M
zGu_PaYrT}x=;_{=vF*UdcL}LG%%vg%(Hy)mg?|qusQG*xxlf76)ee_zSafMFsayJC%HBf2!T(yZ*-Cj|B6d4ka**KwU-x
zLqZMU(0*12-NzjuL@bDL(igt9-AZ%&C)S;efn*@PiW_YyGm4xnOO_mz!CVq>iG(H1YC7fkNEv^#K8ST
z=!cC!2}T~IU!s}6*u*6ys3j<0zNF;d7et9=yQ}%<5Tj<$X~2x#oK8=mwk0d?m5g?5
zRXz3nAt^AmoEUPzX6gA5^9xT-LLT^8*D|4qKBi2d*2mwJ%Suuj6p*Ee2|8T
z3U09}&$;bI>F(0NW2=?qhrDfSG!hq@o;l!_#FK;8tC#B!_M7zm^XvDZAfP9!mZN3(
zC{hwg6f9rg{DsLiNB6a$TYT~=?D<$xzj%bw{0U?ZnXwSu2*GNy7BAP;Af@Nj6PgX
zTXOJtw8M|bw+{-c%ZQ?i15Oqm+DJ*z@)*(Pw^YzkVBJ<|39b&j-hLHemZ|~siJ2Ke
zHgx5Xgeu8(>LI_mqOYs=+WZr_nR|X=3f8Sn*_7AuNkMIl$@+^gb5d`!ZFsjnAW#1b
zb-4{(uic(^V{wuSR|D)pdEdzBsCwNjZ!16$=Pq1era?%*;P|_Vc0o}&246SFByI9&E7jn&b
z5ziNaWdZ`AcWQrk3bv2&fN7?!xZv>~!~Qm(r_Z)$xn$H-|A7)rT*LO$4g6*%dm&-w
z(EathR9M|iT~Ry-SBe3(I2?Fy){4KqQjCg^40I9R5sVkZN{A&&i2~;}Oo3b^-A`<;
zN#u>JUcWf-nM!z)mB`|@RVID#R05%Q^%o2Z8
z(+9U0{LX1|{m%qo$9BL?N80#*+31nEIz$-rDNc`up0iK#o8#`wtslKoUxM_GGasG~w2km&7BVbkph{F}pHJ711
z1;^6H?aw#9@TR>G{8fHX#z~SVB2A+zb`{C;{W}XIsu~
z%I!$a24UfyA=v7|!;W4SC!tK5rZ;{8Jd|u(biGrOcnI6hN#5v$qoU#5Ly|LV8{2x%
zkhj=|(RkYL7!=gaDx#MsyG58c#-Ni!1-q!uO@%s%^Dd-;pj*UR2y;IFGDRBOt3`?x
zjOX%YK>fH5{k*1!K=tA{=`C)nnxCUCi_k`7#nlNwfm0OR!G>~07O~QOx>)*W)Qb~{
zBKM*Cuv@-aamd!Oa9JkmBm+$eLl$+kc1<|
zz~w3^fXl)vCVUUZRJR<8(^LaeHcGwG1t4klgs7=7hpXIaO1waEoO{_;<;r6W1xmXtd)M`Ct;m!`m%
zX=o!_i2m
z?FvLxqBL6;;?Q^$9%`%X{5;sB&MrOy8`aRbn60BkVxWS+M3j4
z0xHV-`(b5u*FS}N+A~&9q%U=y*+6}kfDaXL!P;ur5jO>JUaq*j&<;4Ov{u8Hj@~}g
z;f9nB2$T&jI5>R#`}@?}tAXdyevMbL(prf+Ob$*?a`D`Da0Wt(B(usxt(BBUD$!TG
zzUj!LBMGP>>&uIPI?#-YAj+yF&uu30o5%7PRC;Ld_Gq$u=e4u4QbBk1BZ-m-SxQe+
z+>c&o2Kap#hyPqQb2K?-d+{yYAXGX6+j*~Iz2xO&xs`Te-T|TYxxCWRAVIzJ#?gO0
z`SwIiJEEesXFS}^UdL|D!?R9p8lkq;?yz|$Kl(@-cp78%jo2GX3@L9npsN1(NW@XY
zICMhHgsUyntV>o|%aOZ!F+w8|VGllxUh#TEtoLEyB0c@V%c~-Km}H|w+
z4~uYJpo%HCTPv_JNwxaPVIkxM_K+Tf!XE-H8*k=CctcOYF_HPYWPu08yIk|~n4grx
zpY~Z<1hQ8|t1R4b`7nL`ljQS
zfUIyw*1}b>exB%oMW2Lu5}s5YD`H`wW6C1@T{i;|Z6?6|`RNi}O5(bL6l1BLjW{CV
z%jG*n+^$Hp^N-=io3CG_)%c5r&NoeRXm3Okh!BIB846SxBu24B1T%wD?)IvVaR-RE
zv9z_DaKH$Np|_s*w0KA(
z)>Bkv?K!9AY*Y4+HXvUdA`Z;HNZ^7|lJD~VZp}x)@|nNuYcBQ>df*#8lE9HDKFl
zBv)J-Tq>n`xDfv)uS@z#_~Psb4ZCih{JsVIB!Tp
zhL=O8T)wlwOD`R5OqW<$i>T)$dml10tt$FuBWzP`e$(s@J$u;-qvH)IF1stdE!6+5
zIlsQOXt-fBTv|B*JRm+#FE=G1WW>l7YVydWcyF8OmcFw%yQ}twThP$pZ_vSCI4Aji
zLIEW}p1>^a7ZzqkToPURQm4vN3#|bq%agRl?xOprU`J!MWbtp)8)Z!vp
zOro%N7C$#+YI!18tfQ#Ce`CbH^u{e1o$Dhhoz!|Sl4V~5FRnRKi^v!^&^Ygq-`Lw{
zcAneCz#**cdGTyfPf6*Vx!~sN;d6Zg%g=N&EP&yaXH^>>=rz^VQ|{Ij
zQoA*(PVe{)<`1w)Q}z8ELq;}6MEv=HtLbgt?MTs*QFXxD-do`h
zH3d)Tze7LJh1sT4_kME)zRsV$O?ca(FaT0RN59KhiUV`7hY;I$?VRDy44dI}x!@Qk
z%;_*t#j?^cgXRSxz0iL7Ym;Xwox$^-w(4Fq=Y|J?fqS}3?2r@J<|(i6@l!oH9%{8Q
z>)mmu!_s|STEEsD=9Kf#Eewc!`bahlL4s2l|WV)Osw?ycjZY`eBm
z>_V_XDFX$SQV^t7P*75kmTnMGx&|-+0c8ZFOQb_Oq*0{1g#kvSV`e0VaTsE+3!mHj
zdEejn{k?yCb32sYb6wYYo~ze74t~{p4%+#5c{$ZfL{DX5m>~rO!(B8Svy4)QFTYLn
zS$*vXYXJ%tIZtN)Iz2;s;ea=OfUf5h
zswp1^HnUt^Op&Ad`ZYUeGx~sp>jGCi?d(xQ+688EsUWAV&EMrkdLyaK_CWUK8uWfq
zFFZT}qlNNX7!7T@7XHeIB3Nb_{)IH|BpZwh=E>>eNB!Rl2m0&abypG*>zf9O_mNfE
zeqBprEjzJR{crOJ)AM3_szO_EypbS}zNh-8m00M5I%v+$Guv2ohRklOX0c$LZgJ^g
z^R%$#+|Sv%XykR?!0EKd!j3xRDI<82_@FcJtyo=b)TGYe`!3{yUZBo<(1kKHSj6M%
z$oVGGm-t4Z;TMcyF0PgNBdwC~<`+#kM;I+ja28>dzKhD&+$Q@YDs3%?S9`l*M|%_5
zk#}B{crc!JPSgO7GYoK=g;DpM~8B7qYVtaDD{)jz(UgFYF9$*@?&D{}TAPa)lJ
zh-W;AFEOw)&Vt5lPiJ!#Nl7sN0gEqX48Oi(zNY`w9BF6(&BBk__b>T-5
z$Nt_MEtSYAhpKA@_?RUkrF`el`>b&IFTQjGS$qI@-wi#pmJsupl(PK2^ET)_rV{#$
zR7%$yb&wZSdtt;0oT&}9MR!vBG@?Cl9?(fupD!1R49d;0H>OSOi@aB_*?R
zzMtggz#Qw~#%?$}^!2C7A?pk2$_Q;$=7N^y`RNA%OXIl$Cp&0a)Q?@fyQj@|8**&>
zjaQ-3n2Jv$-a7W@3N*^h`mRFE5euFyvWmIxb|Tg8GVoRA(Lx41qE&j9-z;nzywc(s
z`ZHVb-Q*7=b<15F{)uO~QwQ;XJ%`R9aOtQB>eDZVZ#p`6Ag|Z2;V9?nq3*(PhSRKj
ze|}q@ZA-gJ1$?3-72JEE3}Re#rl
z={Xqp&IRxhu9fLNdxKYFoMz&^dHy_TVDM+nZM**`a}jf!iNTI(2tg_T$!P4`;mw->{`RQ
zeF{A_*#JXbTUX-g>OKgFLT4`^r3$vu{Y@=>2nCx!rRfbhWJdQ}&ybh<#LR8D0(1*a
zWe=a>4h`MP^wMEwxRRkcu?eT!K<1Acc{xbKKKn>lgawd4_l9kjzt&ND4_NFU@7n&=
zAVx5EM%8KI0DbMn^DdC60k_2|yj^X9E3N~&T{A2~IHM9Fs>*K@PJFW5?tFzG7hAx?
zy?2G(|F)=5YG~I!BD?>Nocc6aJfJCm{-YmFO`6HVx`VXH}$%7G%INd7aoT8u5A$qEF
zAB=sV%1**8{V}0`-n;WUcr{**+)$4A5O)_mmWN1GHa|TdoUUHrV2Y^ds{({gtN^od
z^i@OUFvr`TwZ+;+*PQzLBg!r2bu1wFmtW&!0a7vTtiSLyVRM;bORJFL
zS?NKV(&&|IQh!ls+PiSZxO5yydL|
zr)hm#l|7>ko+YdJInI$;{DQF75eapyzTB&st7mV&H~x5m{W=E?%`#2EPOet!7c~C0
zZ_-|WXn%da{DnX3?jzUpbIwWT+Xu@F&8{d__USla#VsmTDpN8uUCADCsqq+&nZ@-8EeGUX2x^50_4mDJud`wvw5
zpUsP)+K-F{GEzmiDH?`Ky;WgmD)_)}JP}MTvJW
z>I6kgB1@lfATb?H@~?0R;{a=DnYJ|_FS;*-KB(R1YBtFN5M
zwX=O+%Xc2FYdaQmD`){nV`1Z@$Zc(2((9(}$e96ezh<<*^4!ro@w#eU=pLPqU4N57
z$W@NhZeQgSfu7vm{A{cgEBIclqxk17`4WaHht
z_Vrq2LAeZJ0iWNCp*FX+Dm^7fve2ULci`N88b{!Q6RXX)SV&ntZzxREg~X|O1JQ}n8r^??kw65{R)L%2hLMV#YE*||q3WQU+f3L5^U3xJQcZf)_0$xX<5)EEHMIQExI;!a?wvk;o#?+k>To^1{kxH_DxU23
z<%~k^szo&MDpu*}207g7p6)NppD1q7;;M!jS}Uw(d-SnOvrf(&4u@O$%i7TfYu-o7
zQ?jqRLdI6+^1qGq<;e7g**@}~2rBwEYb5d=Y
zL`D|hft0^lUgQEt|16ogAda6Ck-jy5j}j6b0nEwXxa<#_?mLR?_w;p#y2|zvy$$a&
zJ1j~XqzJ8jott4`&$5;gFSqPzx#Bcfls1})s06;sI{^&GI_Ts{&Eti1rk#JE2fkrH
zxP2%h@{eV@2s}))
zL_FSFrcz(Jz_PhJVe=6^>e)**;z?`O+yAZBBD}VbHPtR2Y6*~}43nDu#F;7X5E-_E_X9bOH*Xw1KE%4N7rMw@eH_Nd3pSp3K
zAAJsT%6oT&pqJ;GCmnMS{`cvwalYH>?$0Bq41F@Lfc4fpJj@Z_!B&F#1jWQzXvXRW
zqMEDd2IV<@&@Hkzee~1HhSTS4Q)!|#ZWvLVMe-h$ai11b@a=?~S-UWIaAJVGuJ5of
z@$Sv&uk#1)68pL0M~5a05N)Dk<>I<$h3ufymUDGrT{Fj|&v_yj^MF_HzZX{eyqQ?K
zgQMddT(<`*;8LPcoCX1A$oCkkknHuM6aa0QYZl0p=Pkb_3VluewEIdYj
zkwE#+(cB9;w~`Ad7|}H}_xg^@igbu*#yjo1Fn9Q_abRL-?|4dYFJ4W#Tz7u7#M@RXf*|%l*?uygm^?!qQ5XP*a&WI!g&VLpVa39`eWLBj>1)+i2O%_@m
zBLMlSV-~@DS5djK;va*Y4;tT*6wMr&BAtO9I2LsD+##txhUVQ}<;!04@^=M)-Z9soE~OTgT&M3nYxoc8
z&h~QgoIc7IpM+q-dq_+x^Xv&
z^a|8WlA4qKlvSp^FrPr_v9gP=b+oci_c06Nia(<1{%Z^M&chb&0k8=(z_k{F-E)BE
zu}nZNujD)xFbhqs1qi;*Jks4-wmBKD+YfyLS%5T`c0vM{yym77{+*ae`2)7e;l)d5
z0xZ=`Z)s_{6*+j?Tz@s1%1LnpPvOD!{y4=)gd+R-$}qe~iJB{8lq$Zv&=&NnHhiZf
zSE^hDn%Y@AL(V$$vO*TKt}_08gE{w-#(&)>)qCdK%lDr^w*nAvL>HR0ok8GHG4<9Z
zmVmdRS?y5?5M2*O0Bda4idK9*7r-2ILa(Zw+Fr(pTa1p;r{qZ%WA-`nYKg{LQo7&s
z*U0_-I#!l4SudEmH_y+Qi+)LSeen>tK))$wEbk^{FZO9TlsZj#dFQ;JmAqWe)8qfu
z;R@y&xt+PGXq$c@d6}>+_30b6E}4fKaW~A>WFufJ+Mdw(cLZVZs(Ib#s+~dXpZmV2
zC~QrUFC`YYDfwHZ^q{MCE=891I7;
z%Bve1X^YB#jQ?r;-$sYtQ<_g!3BbLkUX$`LxH2d;+C#ZEbsm|AxkH1TKjj#V{=n_G
zq2O*^x6!g;&xpl&fF8Frm5O&{jVG9qEK9gQs9z4h!;%17B$|*`TtYlNSUha3;L`zO
z+5G6ph-RG5n36Z
zqM2GLCc)NpsmnNgz*sG^CCI(7m{`W-CzPs9Q;zd$u#QUkn)mrm*XOTY3k~1BCKXjt
ze5b-kOd9ohjY=>Rg{S@UN8Z(%gw(=s6hto-!5E)2!1O~9c=(=**1Ug-}hMetPAB#4Y({9N2a82RGz~!)dLri!Q8#5FMFQ~7shLYYm48g<6xclYxeo0dHub8NIWba41r
z=xTmTbuyj;@UM8zNx-CUnY0Zx8>sC}KobF7BL3p9aGg
zE7&2t;Wz!vj#^>o_?@%Il;Mx1g4v^n%XUK{S5t*KcGz3S@+!AmnDSEB$tkB?u9M>>
zhpG>X$Ek!5W*ZGY63Nyta{5lK5-zBsGW7_w!;PkCc~$#=ZLZg4Z&(|AB}qpHK|f;e
zl7^e|>VEp&DoSSzWQLSW@@tTD*muE#a47Q=TT=08?vSg*Y|e&gzb(%(mRjB#=kSAB
z1Quhx%J0agz=dL|KbSIW&raWH!u8GKxLmXyPw&nA{I9!GBPr3zXpZnF5Mio8YmN&b
zs9&sh4Gm>%P)KOActGM)Z?3GYoWtX}CUSXpqEM)pVLPa5CTe2DZTasLt?
zx=^f4qf*w#B8Di(zN`#41XjHs+K3eLys6r|OtrV0!9PRbL?37XNs8bTpDUs?DsGG!
zS7gLo8Eu7ewu6VkRT8vgE|}Nec+&C734UHnFTw2pyz8ZY)jldc3%&NgpO*});-g&M
z++>ET^`kBcIQt3-2?1x)^&0{Lsq@ej#VEQqleh;r4P;I!)_}47kO`R?>IF)GgM8;<
zIrZER)g_I-?mZsldfvzNf)YEIx1kcd2|J@gVUx(2ep`+%F_W-MPc0kY*Ip8&ZZcP1
zE3LgWc)02Pi2#|!n1+ZXXS|_b`;Oz`wLB{Lcg;+}1Ls18TU+f?BeP_zItm>ISx@Qz
zyQ7L0FqYE`UHp^wWN6Un1B_jr!cC1XM*oKKH9$DFJP-*&fDD^)jHMw5R5}GU5i=hL{nfBF=0!Oi-}-j|P#r12Jh63jdAa_MHA`FQKWpwuDE
zo3DEu<$BIYqob8tTRmGp9jc?=W1z%yWsjlKSra2s1(Cgp_fi-`&%YXC^G-8Q6F%=C
zrF5f~Qc81Dv7?u*IC*PidYvVY?icpo3?CLzX#xEStaf$&5hPf?->%aEasv
zB*arROaEo*GMZVl`E_o5xn9lZ+~CDQ+=UUli5(keBByUDcVlB>Kq#xb;fp=r9m?9rfkN$48pdipi&E-IcIJkx(aldoYFfVIHt
ziuu;=w$xk-p;{O0a#1oKde{453X2nEhKrxqJ)6blDXINj`XkqoAW*?-
zXJd#WUBzrCIBQNPp7@z^A~5n`gO6-I-CIb_0QbQFPBF5DD`(rpwFJ>*gqJfdl`UMc
zOJ)Y)wz3_vvK2h03xTV(ly&U6l94zMe8kT$j#F+_R4IF>-2eG}NqmZuo&eBnNgK!c
z;y(f?@&SNZzk9u{^`HaHPGkc-cHE0se>zsY$8#}{v{fspvh?Yf%HV2DQQFGU
zpUYl8B(IOzvx_n*Dfsl4?|OLG;F)*g;y1(oW$D(!Uelq-S;q(=@O4MNq?Ns_EA{$f
z(s=BF6Wr$|7Hy4l#7BCfl?LTtX~Q&1MT^?31ttmyyB$^+R7QKQ)@hXp<06H8IeX$U
z`XLzea5nOcBkS4^)Hcp0BEVE{PQI8@?t}&?hf$a5%V*l$rOPe)u0VfXb?}Ha_ZZ^+
zf|nIrYpwigAXziVQZ~>gD&^xd-lGrDQ3vY`{J+WG{n%gQ3X!J`dlYqvRPQ8hCNFt-
zS|RJ(=qzo^G&(I+`kcud&u7X9@BM^7bC-#FK3`0vt$nqvP0zo^-{0Fg5;&2_yEr`F
zn$dDFBRcPO6p7xJHOFv}G{hY0B2;f(<8w};zx;Y*W3|l7AeG|N!S7Xy@B3sq*-0;i
z4D0&ECz?n3M=K5U8DAlrMfo=z?a@tz!HVOApLGSRJ(C#yPy`tpX`KjY<>cEKvP!jwr8Kmcle(c{r}`g(wE2HK!Q
zTW;{5+g?PfgLOP_>~j^k?%M{gMWm~ISN^h`ed}jlPyGHgN^oYL)1_T=VxH%-bh1>6
zpFjU5cln4P{CWG6T_b?z307$Cn!cWVx&Glz;ey&ZGTolfjK#A1u_o#}$$qw1V&a{x
z75W(j$2JzgHwiKeKe>R8PBBRT;BfsBg8=W?kfe71YL?@mL*C~sOj~Q-(yq-EgI%vE
zJyKCqdP@g|<_)Ixyq8L(N(&CgP3>%BGL!L9F
zUOqlwCuj|yVeDAbF&QxS%(-{fg;Q?oMMTWgGS1V|9W<#J>L%-grqFd#$cD{DBH{8f
z;nG(789z^_Qo1`yt1=r}y#BUhGINwz3Wb%(dw*-RapUyLvT*%cLG$KT9GNMo?5wm4
z-RXtk-4Ul;YG=S$(}d=%yS+`N4eAQ)=uM+TNn&a_k!-
zc@}Oux44;lWqgSFFPscde%$@^$FVK7#JR(vuB`M|)2U3@&u|kJeXPz8SL%O!Fco%u
z$CRYpW#3(mOF=*CogN5KpV0OkBR;=_lPGfd{&rolLbSBaq!B0k_@>%aVP>m&cmwHx!9^jR;0I)N?pnzA~>ASw~Ebv+>0iwkLsqMI@
z<{RWc9x0275ok`8WF3rlX7R*?F)rTL+rtn2Y|2W~NFU>4<-Yaf@()6qT5dD?b=HL8-
zRvKuZYgt0kL8Y}XIW15AUO0=I3%uO@!%0%Qh&OaF3`Gj9*a$7f-1!;9>vT4E_`n72
z_F>|kriRwoYxx*sCbsG9)5TfS!9i-KR`J#GwuJhi3QH-x$85Y|dk3Gg&5D-zaPhtN
zkz-j-_Y^&}&W3wRY-CJ``cE!i*p$_TrsF|0zuC#Wn$vY*6C;W|BQHGCKe
zm~M&hk5bqn?6}Yg)N|SW{r&bMz;8rc=~2k6s;YW*;g82`_{D^GqIhsJ?kr*b+fQ(J
z({_$UtbG-{y`sp+Bu!|^4luF_NawEfJpVbaQpx@O#Zh=~uV)>6$+uWjZW--N`gv_^
zh2fEcPnPm+%ks9)=if4=&NTD4NveyS>Ui~SJpI>a^DA)~3O+3|=N$5GUuleI&{Xgy
zDPv`PMYjU?2kzjSl72iB^!Znba3xyMOG3Q_3WyklYZ_bqwq74
zXvS4pa3C%+Tk#Ku5Yw$*EyA7fsK~xUGd%mCsi|oXL;LBarGnZ5ZmUnA^%cedwyOM{Gh=2cTn}yFr;GD#ve9N7rJUJ{j$Wdc4y0a-
zUwO`(SMYgRC#NpteKvSz*Lm`XGPIJxhqr!|5?@iFh>ua!gI8m0jZ8-$oa26D-9eiv
z{G{J1-OF_?o9g;?r&H2m;n$t6H&*uCn#e#MEg$u)JKmhBOKEl(%k8AAIJvcs&Qk=3|0+_c_D
z$Q}7P*xQ={=I#*Sl9y#yRq4Q(NFjiHtA7pJelDsLXplm~f|l{Za98$Plc-1@SN3CS
zJZF^IgZG#De$4x3$hs&(-;^yQmNIlWKS%t8s+MWV$0h}p%E`(6!3MnB`%Oi)2czwx
zc}ns5EhbYEV+&eUE$@?K*52LJZg288@~nxbBv_ZlJSKAyZ|8ANzr^-tph{UzF!-GC
zi#&MO;GhYrqx27kK}w+6()mS2KApLQiQMG)4I4|D0}anNjj;F6p~Ahh`p5-@+;^2{
zs@s%Q%VLdhcwX>K-teehFEzg4MCojp>A2;j*Z7SrmEZB4B#@stQN`Aab(7Y>SY3D$
z?}~0(D(LnSA0HN$Fv9nK_!fIM*iaf9d0`$K*c11;u`blzekg?Q?agC!l{az2&@2A*
z2gs6=sHo^#^%iN%0w`=|%c7#r04Ba?x4tiv>OTvp$L^z_q;}}4(_1-~k&zL|b)m{C
zY$vY)X6~8jcK@>{MY#J8>UT}}lfD@J5{Wpu*6~Tkro~m(yI+}(26E;Xy;#s%wIm3%
zgB{XUh73$hREj}k?g215YLqaEsvQjy=?g+HY1C=WkLRB_imhe^^4`|YOinZ
zAl=^YzTd4|*537*uy5>eo7<&PD;;=wUSe=TjJH7{Hv0N>ki*#RVZM`ok>D*m-IgBy
za(3RO)m81KEM{WaV`!?sVLaucs{`=Qb^`J2|#dkng+F29?6{`i)72Ki3GZ!g4-wqG(M-C(mV)oH2V5sNk
zqZUYSeU#%jbOz0^(R?A?u1Yzm*5NgK!DW=)_s{RBYQBRixE~9HDXu^c!{GopFdO1f
z^D+lC^9w@#;Ey6Dij%g^h^hlKa{JMf+sD6pYDQ@XKD>y-8EuG4?vR}8a|BAO5&ow0(
z%7k-nm~v9T!$?hCD^R?ZA-DSVSfrk($=Ct6Rqt^PrzBaNz^{)d{e&*ei^Mo;HJ#$z
zap{a0F(L`Uw67>bX0rF$X8}+RlDAG|_@}8|uQ~T9&%OukCcH+f56{MwI4=+yA*C>o#Thh{x6!_sgfyS5GO3
zn&2-TMYrVZ{*=XxBOl#`jlCH>k_3qUR5guBcpXLAl*qCOFYzDuu5eSu
zR|M!x$-5TEc)5R+v(~=CW1~=M(pE;%9&Rn|iOs^W&SOcXINqEcN$PwV+174r2Hxex
zRoMic+{Y|YqSv_D8@}D@{5K+`;+dkZeTO({=5!?GxSO`SxJq{r?S&&XC`JROfgxJq
z7}Z^j+-^l%>irpOkqt4pl*o!hcRWxcaRs`nBd@CkE{tCI68HEyZ_!+85L7thHA8vJ
z#oV+qMtQDZ4Ig?E87em36tL%~AU1P>U@YRW*+h75tYyo>s}a5-+BO>JR`PNa|NhYK4Am+%>#9eXZyske_X?oA7*%W`slZF>?#Oxpj_7XSWG*RvOb9iG|h
z#;@J!>OQ9pUr_P*}2l%LpOq}7IpQ-nl@;R~@$Fq``kRFytvl2Xx-0znP
zN%(Ch61Ts~)GC0rcEt~uUYx$cdz;c5yRR4P%}{Dwu;qH$F8qbFYV=d~tP!_WR{RgW
z2Sq&$MrRx$V83hNm**YQaa=d$YnSur>QfHuN-FR&-&o3G=q-1*v0V3N
z6yTm*p8!+L>fJLk@(K8+dnQA#(kiQ{^zC4}dh#P}!%u(7asPVWgq5cp+0G(eTn^LE
zhhIMsIuc)i$`xib%D7HR;+hL&1N
zOa&eubnx^3bsRlwCFtZ#pN5+I>eH*e`}$SNbXE;Zhi<7jNq&c)WB<4j_W9Xm?beRN
zhfiK?ZaYI95LvXF_1t>SC3Su8kp7X{!8-b%JJS*ZgVrMNM+)Eg7DDIpZ9G3r*~zc5
zti{*CO&k{@&c;jPI`r(KXZ_+zEbG!HXA)jA$j*1abtBaW@x=s>FS`;Y|NEqYx5?UM
z4dsHt$w=Az?s~_hy@v|8#iU1q&N5+EFnh)?cUtjE<*ovG~nwSLm&M{YgVqkU!J$nETpQYD!l3qJ&=XY9p&SFPI`oz
zOMS1YEnalcGlioi;76yw$4lTqQU(LtY`
zYfM--+fFy->$B%@J!}^V*PmF3H)o;oF0`8OH*(u9O23$$ytv__zXS!N|9X1()+<=X
zJHzUyf!AZiuVEPu=E@PVF3!lAZho1O5XM!EM
zh6hvGq9g_h*$2G;ScQL9;DaPgO(!P?3T2pW4EpyU|L6DreAT;i_J6M}6;&>eY!9D|
z=zcvOv3LapgrrQw3IDis1b-~h%mR~d8~|m27<)2Ox(7zF2Lfjy^0^eTyn`xYJ%RwA
z&uoAH=QI2!HARs<3E|CcfqH%h@PGLCS0|c@?%0=>l5!6K<+zAEJYGNmG6U1_+(aJO
zEqX(w9s!kzzg3Ap6$+#_A%sw91{1BWYIOYb5dVDjdgiy?9>aJrRuA>aS`jQr-o7aqAD4&vGW@!-f0q{CG2
zo&)d$w*mC_ikU8hfORhrr>2C3ovJgq27D>A0JZiG0L7dI8NJ;GAGX@3<*-#u21X
zpNMBW^L8#dT&Ejo?lV_c9S3oaZ83t%fW%ZtBfkD?XUzS2{75;mdW%v$1mJaR?leFs
z5(`)?8NfQDE?y_X22GN02j&tbXrAr7wnLAe8MX3oIV~~p`b8o|<>5p9&06vGm!-gi
zqC|TV5;KX3iM17^QMb0`4smP@;A?m-r?K|T+DC!13M4NSbOe@RVF)-9;kK0vZ|Sqq
z_0f+2OdpkgOA84&)#=nkkJ(a^Q?J*`3e?^-H3IhDAyaF#?IqT^y*aj0&YysjWL
z%eo9~vYW31J1S_YZp~HzVbv5+Bc1NSInoMs0C5p!9XN%pi%Uva6vZLxo_Z@VY6clB
zn(qiGgu$pAq0&TznWaxql(JAT1qh3KH=-vAn|MMi4pV~8h&PA>wR^d(t!)Zmi41f+
zH;7X}vegERRWB;o;sXZej*rJE-URWZzCuqO6;Ez8-HRHF*-+8dRj7epj2^xm0Os2v
z(ItTb;>&p6^0G3TG%Rq-)^Kohv#5&0iUF(P#*Ruq%;2DTwq}vV_vu2juJg;t!1}=S
zZmJq}GD6NwsBk!IV*&VN9*u{-+iqp=_r7xhpBh2fcVa#UI++R)QZ^Gq!|~TT%L4rT
zG?d@1lvWB<$6wbOOaVce&CrwLqaDkhfbw>)cL2dqo7iJHsLKN6gR=1*0zd7b;yMLH
zn!*bn6*@U&K;?Y<`Ol-Lm`4GX=nFE8nRmzBu2UD|$YU6do
zxDaXBj`({Vtu=>pEQd3n3LH3A*ebw?)DFV|WTR%e4ox_g7g=HWiA3V$TfAsfB~QJjIPx3fo`+J*y8mcNPp0$gnj)+RM0gRxdp#J-rJuoPC3X>0tXV
zp9;_@Mh-O~o%#Bp7zhScEQ(p62tITIya~<5viO$W==?);Ln5HGngg@!!QDG8%*_E#
zMa$I<8opNXBf=AlktEu6*em)^P`7ym%cY=$a&aj=#jTSCeOE;#C6>U5<9l)e_`Iw)2@m3pl{Vj9?opuq4(~s`~
zV3TBo@;1Nsv`+$Hey2fR4jhwK2Hz3u0c0%^u(?_|HgK-ISW&>hIv~E$BYrp&Cyfp1
zsIw&cJ(H*3l`LDjiymuTjw`OX>J12Iwst^VHOrr;-s(OPB-IMYbQ(i#k-WZ{fjg*_
zhakp}jiUpU)>eR?>IR@Pwl<`FvfPZ%B3rk56k$YNo*Gd=%_-O7ZNOo2Daq3;eiBIr
zU~%=K%B@Yx6x1!F2L=GGMP#80xm-&Xe{|bAa8jE%+S?~#z|&f;qTqQ`<)Tf@%iYPg
zyl379mLpm?>oIiJh4t0sPiF*W#dUXe1(lp{f&FZQmcLe8HZ<&9WVp7Y#%RUw5rT))
zcht%G4XwFpWPb1bQ5j5szv?oyg0+{Io1;*blN(E$FebA6`a)ptf|{0=$D|Z=xD=_sb+XIjU4^v_g1V9gQ&))!}X<=UCh|^rIW!cP4);2ayE(K6P
zeWEgAX3kCmY9;;Cy9?k`?($F&qs!@Is~6ON0^MbuIe?X0ke}bZBtrq~!jy}$vnwdo
z`?6Dpf}|SmG6G7(cnj=}6_f3MPT@SqKrOW+>#!
z)$+(*ex~2=RJ9zt%R`xxsk@P3jP*W5r#b4?<^bwieF&O3XvybF%ukVE{bNC&dar;@
zh+syuiLwaBw%^vJn?BP%TvvgpaQ0YQ)Qm)!;7o*J;59clw|yg~pbS!K$8r})pKMT;
zohT1Lh|n5Rh~{qtl&5ho970T{IV8*&Sny$&axfJZ{fVXJ)$Z3jsOWW(Dm?FrgKy2^&G@27d+|{>EPaLvpu3B*
z*2ip1TVbheI#FQFT>wu`W33E8dVLq>p_iy+VcE%(r;oSqN9y1J~f8MvXIIb9+a?A-FDQSA+5=d)&%H{FFPc
zfJsvXr^B8M7{on*K&#d%7C|~50e)L@uFJBCj0@uYfzI|VBBY8DFK-8iyNXeOTU!Wd
zMD{MwzPbj=K-`F>)Q*VgVPM|7O=?1+*AZb6Vea@q;m|I7gn;~%F$UBvZCW>~Y%2f^
zfX5Zt&ngW*F{JaJEOPzoEY9|Z2@(oR055l&LLw-H({XAh0Z=xzB^C%vzbScun|tsk
zFrHtkUZ9f+?j0TF0>PgVs|E^t&dFi2^I5pc^9miCvUNbzHUs}?SFtB3?UQfs^-RM1
zfctt^V%4x@y!T18uz&}29I{-0a`EB|d!%)|jL}bW1zbCinpN<=Tmi+aXVTyQU@U;OORQd)
z>=-CDY**Pf!Y7^fH}*BXThRy8pm@AHXZ|WL4Q>qEaGBP5}63g`h+F_MzWz34A@SAaYF)^T%YI
z@{_a&Fn#t@0rwwd*}L{@m@@rZgu?fq&OjgGeGEPcJqqF@N&?>*AOH1Po53UJbYc>Q
z^XdRF`E-S}Q>d#`D5_g|Dr#z4&ChQ^*Y8wuEaF^S1rT-Iti{>loIe^Tgnfwt*7Gae
z+zR0WP@tv-PyRdVZ6C6vPbySP&g4wL%Ddaicq>i->)xZpY@I6;4CI5!dk&pSY8iW~
z4q%}=&+qMpPQ()6JgfjJ&$1nu>2^#5lT!>M4R}n#z=F3=bW{&>Z%N=Q*a^-OOe_~+
zu%N+qa!GIF%_MRmvyxHQOeC1PuOuh;76IUX$YcZcDuBS6T>|gu2Ef+p6LhmmJy^jH
zT}J%S_u`w2=-ER}N#73Yc-L3Nqg`026lDRo47LO+0s6j?+ddlk^LXHV$w(E7QV7t!
z_7KR-Ll|;ql|JAG7E$DO^l3TUt6o=cNpv4yjNvJUX^Te0BFVUb4ZbiWUV_3eLb9O-
zv9emt5JQBwOrFU_{P?pJqcAhV$G>j;jE5YEZGl5OIKJEdoV{yE!fS~5~-D`
zC!YR-+@~_Rr(CIOBv(Kh)SJOSkrDR&
zTPgcSX~B;1n6@*@{JwnR;Nkh5OAx|A{{tng3?wlLTU=^42nm+G8`Njj@WY>tTTb0g
z?9wNyWRX2M5H)HrUbOa{q`XkY;|R}|yMOo2p;EilWNTnnz94kZngVpGXxGOu&v6or
zNKUeQ{b^I`Au*>orc4(%@D#%Y99x>3_f`_8&DO5`5w%6<$H2DW_jN3n716l;5Go4I
zjh}MW8O}5Geep$4r~I$q`p)*{6fi<4+1TW8l};RE0v+fV}S!)qfP;qX3l8N%0@;SJ;W!@-OL>#*1*)Je-KmZtxlW|p$}#i#Q0S`b937Zw#Y
z@wM3x&e~@{hn{3Zgs59_^6=1*=DR#l=Yt!7^F9FKs7-qL@1FttM%bLc^b0eUx*IINp&)>H#eT_#UF#`IKnu2jOrFIdc%`aW>{j33H$ENq{IsChb$T;ODl-2_W)k5Q_s9N5rCGGB={&fb4bD8SP
z8`5hKVSNYXZX*(Ry#CZxkdnp?;}}#x#@LmsR~c3!K>n|Q!%+~wkrfpk-Qxf$hB9b=
z^&NI9v~$8&j9{-F>QeAT9VU6>)VJNvC6ebB3GO?Dl?g(*G9ctW=(u3e_T{*FHp_io
z*!w#W8yfH7x{sKfi}#@m$Q9ZuS1{O3Rq&un+lA&iv;m~93}{jc!SH|5D5%fJLSEn_
zGRCv9T3aDr21o$xNoetxIT!9Dx9!Y%0nUCRn0wOH3)vPEmHv29TMl
zsB|*XDcqa)B1E>8z}}Z(`Jl%Zui2^{I=p*l;u$y!AtT_XW+G8aSQ!$qM1kpiM+tPq
z<849-n^Sm$&9{Go(IXz<%vnG_Irvzn^DxZB?Bi3QNm94_B^fm@)eYl6-aMVY5io~@
zm`Hgs@&rufJbE;PL_EYUv`4Sf7C6{fxj%DVBcO}9si+Rl0-kCR5}+ap0~_OCkKxL_
z;0mOJI-G$ZfT_?b{r~(Rjg_|Sj5O%q^a+Y)orXK9yxssTzcLnZ`Z*lH$Badwe)VzU
zL#4t_qj*Au_e^T_U!korD=I9UiL%VTA71^tj+=&_Pgt=o>LpwEWAR{QbzeQ7ibOaz
zkaXL=kpYu}S-_}FFm~txjX4j&Btt&S)J70-4@f`6V<=dYegHU6fP~(CB`d2>+k;Io
z(xeJ$Hc*wT3xkP>L0Fq$6Te)`!+M{IiK%QNSjHY#G(h9LuGB`_*G-3{Z7Wn+Etwzjqxd7gLwG#H1utOCk+AHbi7=xi9>w4ELt
zc5!Ae#WB%HRjchl7sqd|p2i=-L^hQk(TF!wS7Xf^@KFc^b|3&Y0QN+Fq{#FVZ@vZAtz;&BT72hx~8-_$E
z_(gYkO)At7|P4wF?s>@Rs7P%8%Let5}Wu*8=C00l-Zut>7uJslpWife(
zCM2Nzo)nLHwmLSR^Hp!&Xe;>VIqhMlQ?nVG)QP!RU6?QlZ~!Rs)D|2L=L!jzrJ=Wu
z*6))<-BzhxTi*}o{a?%kqCNorz6VA*I2=Gu8N068Vpu@SB{GBLht&P2Sr}uhm4+m{
zfkPwhG1tIrbU5WUQN0ZV&OmVOm~{BA=U%H|N5McNc}4oe@g3nFo8U||^Sn7%t(yJV
zT(BNOtfip}@>FyfzjqwnbVodv5G(d?w1mWL9Fvf}K8lOSR6$o|&f(?F&JD!%ulF~P
za)r2$!y*3nH#VQj>Nb-em=-lpcY^`8W#l=ZSXmXhSN*Upg+$j!56r3g%GJMqU;^bd
z?LS`cux=x`bEB_UvEZP6XaLtf!z1Wb1~u*0Vye$G_o4k&Lt+O{W}Ma}sJgU|(*0uj&y
zFlYPRhlgD#pmOtuQ!LoI;c$FtV0eO&-n{1w`iX<(Ye$TrT@6O_B;tM36OgnfBvkB6
z)6?&Ba&p#=R;$}>NRQI8Pa&=ryA+ed`{W86Y!z&co8=4y1^)_LH}vIJ_NAGbMKYq^Lh_E(eTSDL-<|PdzgP8-QUcgEs}RIX>rdgMo}E0iILiE
zYdBX0ZIq3
zh4>qZ%$OiKSc|vJLb3(m)|d4;i?Y4pM8fo#r(X|50jz#m1>~ZU3PbG>2{c-Ias@y*
z-=R57<#ix6Ir%PtVn=OzFwkcTKyCAUZmSC~R-OSHkydl*^5QMX7w#aguBNm!FxtHV
z7vhE
zTHrpdz0PA8odr)kjti;HN-a~_C-&z
zWW+H#86Pae1&JgGD`Elad^R7}?oT2KnJ#SM{DhPQA(lsVqP9Z<+1+$H&I#K|6Sy!f
z8E{6T%0K~fIv`OG=heKaD}OcpY<>$@!TT*pvTB3x)3^Z{_johHXyvS}ib^OjH=v1_
zFc+mQAI@c1~pq$|M{(8oOE@-XlTvHF^Mdq1n(A{+22d)^qCv4oU$WI0E=#
z&$gqf7Dy3u+Vw$-)3=g@uF}3+~493
z6HauIdFoGUP@52jOtgK{B{!?>#re9#BP)0YK?~+wMzbyhKNORFwt!sE`j3~itx$&1
zSQSRnm}Y!JKg1Bm}9K?3N_mg@BYGAJ|j@65zR!^TZWJnt%~s2J|X0)}rZv<7Mo
zSwU7x1Wv(n{VI|v{XV^l1T0}FEBXdrb^-}sY#
z@#(5a9~m9BZU@kLo2>>G&*7!9U)kE_OI%gKMjq3`*wc=>b*|zckowQ91c=u9`KW8J
zvmsh}3W{kK=F`jMR)Pnq+=V3xDR`JTIgvh~cnG{;yC0ZBn$Kmq6DdZ)Tk;ctE3%k>
z874pkGBY!mS6#qo*@t6eq>1)r@%U_v$ksA&-jpWCL#28dBF<(lswqgaFs=%Ycy4XD
zj8l+20VHBQiwYr29ZMdg_59wQ{qf`1;bJRH?%HL<#=Jua_hv|TaFyzj>jQjH+58>3
zu16;oc?oJE%}@)WPZ9ifW`!yx%UL8FXsqV_*y3_~F;Ezf7uN;*IaGxz2VdLR4eI=H
z9&6^YkW{C4X;dUc
zA%^C-U(E4Ky)o)oXD--&pTdf0_-{0QBezE+9wc|MhnLi}E`2j-y
zX{*e%v`)y`si>-^z=psra}p}e@2^dJZki(Tfy8PNB-fB;fw`HP#(7iVmO+w0uzY}4
zVN8MKLMrkg(7#YCmIIYOrEQsV@Xw^D>y)O^PatpuKTq>PY
zDG4Q1W)&$RrIK0Zd1#QAP$Cghk_J*TMKaG*rj)sakj#{^GE+IGgy>uQZPf3&zQ4Y|
ze%JS2=St@s?=$RYKYQQzy4Stdn^BlD_12>F|8VO2Q%pr+>LUcuRZAZChTR-RzJ97|
z=l2rwHl=5`_c$-v_|Ia0tg%LI^atlT;<Qn{n*kQP-03%z_YCB)7AABRmAfyfxdZCh2Y_ao4&k|5)T7vsHmZP
z#k~Co_U~+dTMe4FsUFEmF{0K$O+0(2`#^2!Lqb&zm`jbc
z;uf4E2qM`DdlfHE-bGe;)$!|UZ1BY2izEcrs6ecE{i@5VZ%6Qidz<699)bDUK1p%4
zk-!y!!4JAYTJY2tngW_fr{07iN0uf;fL%=L*sb8CBtTy7;q#)AEPz#B)PUxS8MSYN
z!+)3T?d>~<&I?+$iIQIl5W8@0-xRstQ8+}k(c!t*scJ=wR2*3&
z3(l`yJU`v2aG`lqx-{5ye15VdKpQIAu(#LMa8a1%FW4I;Z*zo(r>%p9{$MwdIU+h~0Its&s%7qyoX@AaqT8K%(`vwRhXZFU~js
zqV&iLhIYyTkx+tB(hfiXW6j;Y;hqhRd7p(6^>gj(rf0L%p~>)gS*>7&@`|Hzc0)yL
z$H3*$AWI~W+Z`s&`{!2#JAT$8_#IIoQ=h5?&u$WIwM~BILUB%iA4^Uy!9;&9IC(cf
zeyk1~9fNyMFDdP8{O4g^BlNJ4oZx2b5aI#`sc8nzY!Cx}H`%tA6>crt_4fhYH$1{v
zsngTbFW5sMWgy#gWnVaej9`yad|h>QDENJPu$a;S$Ak}=Q+Xb;>T4(z-MZ}YOGx_1
zKo&gTSCw;xfTBl>X!YP@Xpg8G^t1>iEkGt{4O3jdGh4b?`_V1JS4-T-^tmMe33trX{6@}d=s%}4F2RY5sp<}&o7N`~)x;Ov0KI&iPc+tTU
zOR^W`JOJ@mGulD8%sBn-nYA7AXj05mu0k&-q4QD<5$EQP$fqH$ICciB^0a%@rP_uZC;p
zUzO+^6+I(;$a!V`U>D1s*{t{M-@mW$824&g3cQp1hDiz$5D*YHrdZ{$vMI+dEfNg<
z76O+#mE2;cUFd=!CY+`D(s|ULtijgzj`%Gi|NVLlMTr4qIxwWLF)19x6tJmx56s!a
zrq{1u-*tM|YL7!4(x?X`ucn4O#gD-1{r6)Ug4-kGe@fJm;~9SWF?PPGjRVZpGtduA
zNRR_pb{@-!1SDki2-dOG>bG0fk3j)RYJ%N+J?;2;Q8w{n%>@-p-w{3wKq0MuqaVNX
z>&LMu1X>^zn2~mbmaxy{-f^ox%3UoMnUPG3=N}S^+D{4?AdqVO&qEx%8#qXMCbopO
z(7!Bv_unA;xp=>xcH9;#>zIqwi-F*!CJ-Liz2<@Enx~a8paf36Ty^
z3e?I~3>2bOu+88Wd@&JY(OJDaNI^Dm=JQ2TkH!9BMoO`uv-jR0|M5GA~{}wPS
zQduTv$8IzwW(?{lsW1W>GZ@Snxka8qE-E}|Jy6(CE3gcyxgsIO6B@B&7q>w*D7-?k
z>bpSaFYK}wp@+q#G*)AfiL3E;yJdU>ykNq)!LIX;E6b)?SBc8v)-`@vn`*Kz*jw*c
zQ;T(TkxpXYH$uv0@R9zOfHxzeuw8l6;ye(_9FdFF!M_|Cid3ob`kAl+Oscr}_}YJ^
zm_kuPSM*x#Su%$7XaLDhBhX`0t=8%*-aPf>r6E?
zG`F94G4iUpX_P;$W}U7fk2kxC6T!mO`I8e8$m|>~;&(cNYKH2*snj>8L_j9D2G6tC
z;M4S2AeMlAO#9$^(qHg?g8Yu
zkktYXI?4SAIdRrUK;zW&Rc@#jOg8(l
z=oV)@`@XZBXX=YSyh$7L{Px8&>qBa}s+N|Px04^g0VE=`WZPjVP2H!FU4IL0&9;q}
z9K2fuh%08j#bZ)e@QUaOzNin8Aa~;9w(K!L{ogpVRC=7~tV;txayOgN?o$Vgfzp)y
zWv=78Hktfrtvwcp=Z*s80EVItrEgZhc)@Q4Kz|7xp%?pSDl{YcTI~lCIo6eEQcO&$
z_I@qg+Y6S%xvWn&4ZeoypMSRiMTYoxM~mDsbur*oeO5L$8A-XHo3?G>{_7gfp9qL@
zn7O8%b-AgT`LO7@1!*kvAm+<-RA~5FbH~zN$+Y;JOci=@
z0mkG-VV|cU&BgW4;?DYfyqCUK0t|KVPM#7gPS8qAx9+Q%GxZo3JPPn%7m$_@JLxOf
za{u&YFwzvrnlUh%xu$9k%uM&`T>kq@+--Xn
zz0k?JOna~+lEw5vYu;BTE~Ud9O9DLoZreRN>PdwnpwqhTcs3~66tKUhEwX>YR|Sq{
zW@cjq=K_xBk5rtUf~{LS*FFQ_#-D(m{}@*Q!6iXwSU0oeuXn(mE$ZIlJHoaL(=+3P
zeO_eGYigud-nDaPe`jF|6r=lD4ZXOftC)(;mT^Y+!lb?qC}i}lTeqxpD|-m_rg~5u
zKv6Xcp@I5COtWv)Fz3ee_e89=VLBJ0*F*+;bDs8vdZ{)?w!K_5%-=-Oc<=X`a!C^e8u@u&h|lzp=x+1mmN4*0C!(+6kW2
zes3okDRoZA_~~2VCjc+@obM^Sytx~fNy4%`;K;4}O=?{uu2Fwc|tJCzT7m)xyP
z;;emX>InfCmwoHxs2Q_8}jxm%I&+2oMgrdC`mQyp7lVe$8vDf9qU|_#IZsp61ohqCYIW5f98-r4j*QXDtZ?8
zLDlsY-9?3v9K~kLrBydDm%P|B3yqh!pHyeB^d89Jd!u=s>G1l-eIqCX>|$ozi<;*m
zJ&&)xIu@kwZfl{yafYiLryg((V&_BqD4G{?IkH>DyE_)mKAAs{z2p(|a;
z=^UN68SjXI^s~0AL1@vKK2<*)!rAvfsRcE16mC2~=l=Zh@&LE}tXQec`o7iS1S}8D
zQMb>7m#x;^?kz#^RX}tPiHbgyok>HPTx}g5`6yJZG&S_?P8@ml*LWL-UBi3S$Xxe|
zF8|SHm(Ey2J6Vl~b%l4?)v}niz3JHvbg8Zc(98B~e!Bm;M5udn$V9QndU`rH4i0s8
zgC|y9&gLLuu#Sz6MriEFA1Yoy#{X@YzwaYiqZD?%n@@s(C`vyzttEdWb^?*lJEEXs
z+Eh!gdXxXQ)2TjMQ$-Dl3l4KW4ld!;pDZfnkcLb-&%R+Y9I?qtj*)@&rI$7_WbPZm
zV~z|aDJ=pJu+c#!VV6eshJTwZ7S1zzlZUu+dLVx$o-cP)S-J)QdLlSd=qNn9?9g8w
z+e*5K-+DYvaBAMX5bdnFz7i8q_npdex$(SM`i5xiONwH$!UO%toV@)@qc5m+AGNUx
z@h%0bYtd{k%z1-a#~`Ov;d6s0H2yaCC-u&Df2WQA;PV7Q!LgJ;cM_FSYHe}g#%
zR}2H9K964=ZOqLz{WPkh!KNs_a8ru%in9{6+`8BQv6FQ5jeuW_U|Jblpa*V!$fRXq
z#nj|vO(i!s_o7qd02<p4v^gm?Re9+eo~njK9S#y&xvu{!uaUSkpKY5t
zb^kgPQ_;dzgAP{faT
zZrV*)0WB8e&gREbUh=Z0y8Qj#9xL5&%XFme!E@R!-qt2>hYxgzWX00wK%UxHtyJad
zFt&lzH}1+SRunL-$HYPBSVVAUdb$Y^0F-tz(@A?B`uCQx4V4p40rRMTP*6}`55YW0
zE$z>b^J>q)rux3dC|?!~p3dNw4Yt-_gdQ}!u-SboK<#7o%l_>Z2}368uR8EINbt&v
z$9j>75yAf-DX2H;%@MF6agE}$FieTkWEHRvGq
zrweOrXdp<)JQmXKqqd95*L!g!KXxOA=)ZRP&5QAfnXkn~?)i69d##UMOEbNyti~oy
z7We0}BCq=BEud`gtAEEq-NWX@@T5%Uhn@R7X%3ylH0J0-!L$xsMZQ9Ty5{D1D4P?;
zt`E3OfKH+{c{bMyo?y627~H#=<^{h3Wg*Dv6B-{8G#$PF*GyyBVt@J0aZS;fH3mmH
zhSwNKz=r}JEHRPXn#1)k(qIU|yggjm?Nv-&=#Dt+-j~mhB{r({htBbzTWnMH74`Lc
zkS>>^%E6jzHGw6wrdcKPls}U7ykVc@W%fiJers+ea#XhH+TG{o{q=ATLjSnQzObpS
zAv)@jxVhzE?dNGnQ`5oPPp_Qq_g5>gI3s~|%vy8%VW-zG55zd^3-a?Ro#XxTFe4Erj>m}l1S+Z~9sU)GJVY$6K7EV3o_c9#P2>-_XJ=f1ZH`C)bCBYOf
zJ5!tCPTDScb4N^3Y}u^quBL~)ikCdeuFkpF+BlLf@JJ-gbB-VLv7%X3@OVW)^nD^6xl{5Bst>DHQR&OXCi8b|~|$DKFN@Kt~3b)|`!2THMSyV#+i=g#G6
ztbRc-ElMsePAtHnr`~7>x6SEekvX51tg4;wEUNNeSQ91PShv|nEb#t!aS04k>heC_
z{(NpxeG@bO)?#(|(&21RZ+`~Lc(_*34CJqMb&N&%dVsiDaTiFU|_lMGz2}F?hAnvn?vCTc>26hdOWWL&j
zfak{~BX#Jq6YC@wID4`FC3R7-dhPWhXy_}O*&a?5yIytPY`f@#CEjjzZEL+KzV_*b
zDt%{6s;!gP$WaXd*3{Y6#@`WEx9ha}XVW6*r&NjlKW^L5i}v8LzW=_=JTTmZ(Dl}q
zxn0*MKj-~-Wy$T6+-I9I46}sSZRKygERwvYe#`!@41GVq!DIi-F?_b^?+cs1YH>;G
zv-eM5%5=W5flbiYJIX6;>U7Tqb~pM&Yiw3bRLFyS$yFI)BP$vPHe?+9+UYT?Tcd!B
zLTk|1df6YBg}*KCavbyaOl!P3@~{Zqeljz@8?&HJOzZOkL>`d
z3-Akl_g@uFl?T`fXb)fp*UUV)t$pD#xm6Ye0p`u^^?e%bJ5$yiwrN@}q-w8f(5EhW
z0x>$R$Ck@o*Olzl?j2KI`eH6kaVFB$z<_{5bu*ABkDPh8VTP4?y8*HuzO3F&r1p(^
ztxw^d-5w@_aUSc1`+@z|l6nS-Vfv;mo^-82b3jzV$=T7Qzucyj#|Y<4KPoJEv4eG3
zHAZxdnm4oVLZFN9+}V&m*#yS|Jd5k}FXBZ_U($JP32xM|SM4%dU`12#9}<`eG~Xnn
zT~h%8;lNlwQkDAQu5u}B_ezKE9okvev1prFjfd2SgtwXimVm}6?uVAon$lZ+pr4KD
zOxFKf=P(1O($iX#qt4}HXd+qK<_zsJ4=@<0&&jgljp1(0!7EqiWA-ZDN=P-U%f@qH
z>qZ*G%Z!a_rFTGT=Iv%RgA%%>k`~nFn#NeCt=vr$(u-);
z0hRk7%|s$Wlh4-X3B+~iS(S2-Mv~QZZey4#2k|SlVFz#0Zd09gMu|C)QEzx~JD_QM
zyccocfc4qA^a*MTb#2jcd)Gay*ptUhpN?8p#PgC>#!u`+?CkBAhR@~Cy`vfHw)1FhSrGgqV)AMd
zpJbc}&={z{oMlxZo1~=wjwSOBx*LYwo3+eHpMMVwRu=3w{(L6Y6Af;Ee74eE+!g1S
zY1>=GYi@5Oo4qr`+Ry&5i&fKd*mJ2FbREH3J?8T%K}s=8H1`>=U!i*cySX$<0ti|k
z91Vy9y>+Qo!hYu2ae;tnwWhA6kS(RqcW3UyNcrT!5320OzV@1Nqq`=Ty9=v6Q8Rca
zEuN(YZx|znNESXCnuEfK7Lgh&>}?0zp6vY0fI}BK6jn&QBFi6TA5zjYlyK2-+`WB}*&OR4O7jKr*mm9RyL^-yGhK&x`
zyb;QO6~Caie3hq7tW+}IuvC&L(>Tu)!refG-=9FoxnO!Cv?0Yd(y;=_(Ck1a>o$26
zWTugzul0>Of#P)qT$hI_jDI>rp)O@A_Vk*5Q^OrP--}gEdyE~`?3lE7wVEyW+Tzk>
zqu+RK_&6!_U=r(kk=2Q4Hf~=giL?`K{S8q5Pq1_x&>{L4BE1_H<3FQFRkK{UB?KiK
zZpUSX0;87SK3g6Xon1TffBmfbaa&85?4t7amM#?@i#6$<6E$bbJkr&@BHK@XI)XHjS?PtzsI9A?-J4=LPE9=Jry10xz{!YY$OZePm
z=ZX^ArjrnpU*#v)c>U&p^?R?r0399us*ZV}^{;E(cUF25%}?yoeGi{_YbH7%u_Em?
zW012N&o;0qKte)&#c?q=1x){VAHeU=g{JcbgTslXRp&(xx81eNOWqUlIq&w%XM9Qz
zN;=Z}zPQ?mP)e&N$<#fTEj0nEU6&Jox;r1FFT+X>>L&y9H
znp0QPPg%%|Xy!TSd$iD9kS@kh9kOUyRH4F`^WXj;n+7ey0*l2BDJJJl#=Rdpub-{j
z+k!qSNG?>b&HHbGWA~2WBOvalxXlhl7X0fONY-qf3h~@0wb8DU#AR*%#2uR{Qy5bJxfOG8*pW#&}d{
zc(v0Hlky1|*0Fz`lC7a(eT`1GgZ+*PVpEpof>eQ9(J^ulGtb^L(m}@Rem?exX=p+u
zHmg>N2BMvt5av*5j;xcM^-em^TeG-i^wR^r+>G*QVXx5P?pG4AZuR`hMmJ^rE-=Bg5t8NAo>n+PqqkR>|!EG&lwcU%bhyaN(z6DFI37ik@TxfEjKeIW`cD47HyQ@y
zk{Qw5F%=iGSA`DeB8_-7?MPel{#aXn#ceu^gt|Lt&8$0H7!_MS!u$>Di$%=geu~MDw9GWz
z46;S$^_6tfDS`+1~F@2m@A$&tEQ={`YwADlWx^rOi{%B3Z(aF5HZ|VDq2540Dra
z?23xmhSc3cabsCBVla7f{&yV!Ak;fBHj^s$^dn$*f_jo)3);6Tz<}RJ2VHd@ye4y7
zOE=mz$aH3lOvBR91ooCuTKz|iUjkx(>On7Z{E!b;zF3#_+!>Fba%Z~ulwtjQPImCh
zz2913x&voIP2Lz4{bPi>A_>BLklusj0S)p!0|eLsV&MR_}8|ikg%aM-t3BS
z6YRge&Ig86k#zTt#7Z)9lY3ILyC2EIh%LvT+=#EQ@90^qF<3*rPZJNT-=C}RS4h>)
z8CE@?0~^NHASV^n>DsVY<@jg>-J^g0N}9V#{nQ3ME|h2
zW`zSN(pDl*CTB%STO*Sso~O>8`1I=d?H0c;{k;GUuNA&eUym&(Ns@5~xAz8sEF%Ls
zsm+VMalpeJyG-8-IW9?iX08BCDaqi`|9%(3|sdh=WDPVc*!5ut=8f
zhp(4WkSur0ao66bbm8z(Pio7AGItK;gw{xg;0-ri+_Cd%F1(+ly(j^I&G?2)ejgl9
z`a1W@n`Q>KIPkuY(ylKY=X_LfeUW{6m9fyUcOU(y1RA^d+vvH1we&WVP!7E|G;$`0
z<(!B-7vMJ>QQgce9?c&ykZ#JUE1Y%l#XgTIaeH`du5uW>P#P)Eu3vXb;Y!(E?mL;E
z=hLGURC6a5W{?)<_qyxYT{_|Fs5J2*z{=;zhe%S^E{NEP8G@OC0(2uP;vCYXPd1!X
zpEy|P|GWz&(Wi&yE@YF^BOr>9&*wPQIocb85(a4FGPXpRh;lC+Z8VQu|KH*|dp%g-
zL;+$E%mx~g#?sT^8(-GJgA5)9JL!0=ei4M$PWmE=pcWN`MB_#%0PB%R7OLOyTdKLU
zm(SRnl0lWJhWZQRqdS)_D@@q9EMyZ`{I#;M11^kr<{xn><=(n*S@z@kBaCwT^JFCI
zu3fEgo_~1tzt46RU;i*KO~8!5RxGzMuhH&XOn-mUJ)?$C;`OcVl{WP@4|;Y-znTd0
zzges2Seg9uMy1$;g@u?D<1Ia_&KvBC%{v_@NXM~V-OpZgnWSl)ReWxP#+pr*$-Ft*
zW;w%8xJ0s$4h!_CjVhX92;0$$GzRQQiBt+nREb8D0dU5Z&MDCj
zjl+6uXU1HWBPHw%w#LpJR=#(iVsp=}!e~dGatG&?7iJEo+zVec-wYl0HBHu~3#>nZ
zhyQl5s&&;@Qh8_ZBWNLZ0#urII+Db7h0}lYNW>`usxnL`**#0nzUavtt&!c5t^4yX
z$*#Az=fq^sePU9$0JpDG#aBc)H;0U
z()GREp{Opvke)?`@8xNFX2E)SGC@P
z>Y>ugw#2-Rxw?DiT3ZWqec-gKgx&TXVwZ-uNeO+)h|ATEZ;H!EP1NSrc7bzZbOxdB
z8E&5)`xLm}t_VIwsiK%RlQRrCdla~
zx?5fOx^yPPWsY0<)}_ZhP4+Rb*REev7x#!U(PSyt;qPB(nEiFlqenx&RBlr{6ZiZycj<&XS5xqw5+2E=BAkhggr~h+VeyNB0pT<_L
z#dii#5BhX%=eShH3EKnPZqDmsw$W#D>>e+DO1tX!1gJJ1*3~OKW8=wQ
zC$v(d=d`ZQIVt*-T}o~09rZX7PD?pc`=w#nfo=$A^aQLr8~i5f>L1BJV*23IN8$^PDF9u{cP)lI~KU%s=5s!za3Jb)QZv
zlPmFHuM=CT(RkXZSCw_%tT21@ciuPV4kG!sRmig1?NSX>2%p&WSKcBfX
z2Y?R=LA5n3!LRQ*G@9(cr@Mf?^rm*am`KzU8QFk&MZA}+aK-`|`sur0P}+hlfCjC%
z0i+eP&_Z+~vw21T^x%c|DQhsWNU64w5NrTd>+(ehTIOlNb@xA2-#^1!0bab{fm3Xg
z?H>!9()TE@*{XPAMBOjb&o@QFP9;Uw?ySVkz`1y>6Zr@%STLV{y`bXeyF`DeQu)Q#
z^jd{lPjJj6#o-`Ri>DinLUtb{7W~)&zNpA-z6*NnT`fqQ{rVJmmv;_h+tM6(w1U$5
z`QPcmTSl%c*Tt7NmFI*=l?bkV)``*eWTg)6O9q_JAkEmrt2BbW6tZtq&F$i0BcusV
z1jpx~-~WMZl|VKfpWFO7l5&y9H%I%4NR8$1xtd`y^-%u<(-G02w5$ZL?vU)NdpVT-
zAvwE4Hd05^@KF5g5Iapa_>4rb7UlrLVybNmwri&_2d_#yreOx0N*
z3(2V2M_y3HmP?TzbMk8%a4=0CiwkdvUN9!kT)Vnzo4i`w=YO}7?;D5TSdJa#+44dq
zDXEf(`)N?@wQjp~>5}yBEx!f_BYcO!J!-Usxp1=Z^Zt_I<+(;((YrNRMt9Ze52#4#
zu^w*IA5fDDQe?If&!|7&Wvg-OIhnx)t7Bic&lP1+q%e7wZ0Wjx{Xm%Dx$M@vRtkR{
z+gY-DM?h89M@j8W#{*>e2P96FCHL7hjnm%ARAkV&&?iIYMu=|FLV~AL83xz=F5LA}!CeSxL;GP=M}wU71M
z4J&yDWpLd=?Hq*yQJq=j+s4rt4=P*-k_jF!X`7#(2>v!<6g+ro5zE#AlRPwgvL(UV
z^4I63-gRpQv2f}#fw!{Kno$XH=Jkw+_a#L
z`;&&Ac98uZ=faYb{hdQgjE1jVJ=#Y}j4tb_;#@jlZM6-qYZ=;nZsyu%SHS)$6CHT%1^@F&!!jKm$!T<6Go1>XKG=rdzp|tbrA#D3KCKErJk_pXeslRpda9
zf~fv1u>BKHiIUwERGXxcNXFjF=1Ief0R^aAxfvh<%2R8v?M2yw8o+BG#YebQi@OAEV=3=u;WUcrB{9up_+V-B8NL
ziPJphHun};%c)4<@pI>D$K|T~QI~fP#9V$6;~*9hQQ*;7MMoLDeUTSq%>tro`qK5G
zWRrR^*DS!8a*E*)=W%@%m2h%t_6Uc?K8};;`SU|3zx6@2nHcLwrdvLjJC8jb&Qnr;
zlVkVxuIg?3eA$r!N0Bp5i5Q0HyK5U_Uk#>a@sMwxm!;o;3qWM;LMYW^et0_eXrq)h
z8g_IPt9!n2Qd4*Y#To;Yk)xZMnxZl+ex49NPaD3`)ek%;HLBbbquqPM0ksQ>nY+g0GK#qo3>=`Q&>_c*zpklmYa_9>F3~3@ik*;o
zP#|qTHGR4H{dg9A&}FZ}uA#5zG|@!}x;!ytll}SmAdAGpFZ&Sf)8V8exed(9o9^P|
znV56|Ye&83c79wnw~Jgu-TBUQuM_zI#Y54u-W}vjEy(CtV7HT2770>E0CeckAv8PC
zFP=~0D)5)U_P)veXYhg7d%)HeH+oI~6PGp5;Bt;czIgX?3l%f@ZHM($+V12eHpJWQ
z^MnsAHJP9(NDnx(Z{#}UEr<*R9I$otXn$Teej-8(XcA|rl?@7aRkCZmwsZ85cX^<1
zL;XLe;}eU+kr5#c!~dyx{W>1cZ)czp#e;lZiDGO$D-F>+DfpnFTrWIQp^M+vgUkDc
zoY`{yXuU)smW+ngBDb+=b?h6qt7icQL`kF~JI1j6{NqXt^AT2EWRDaEuj2Lk>Z@%e
z#7{RD*xA*XG@hLv(xyS{mDzB#TBV`|~>?Ds~@+Tf_%v>ud^p8BH{8LQZ)^nWg
zuh%vNW{1o44A-i=RouQ6w3f%UO!2-!csS!+kgF*1)Me)Maju;vd1%}M6zi}y{{4LaaDC3qB1A($I*_=~H~nvr<(t$K=y
zdf7q*Bc$u%4ExG^-e`FL^%2D2~9NBu=ZLp7WFSB`^{tG8yeLBqm#XS%_WC$U_B!viE)q>$ljAXq!2ywu+mQ<8j1#L
z0Z`guIYV6vzF)BO8;<)gz4v#nn%8-(wN&zY8J(A+YLBgt%~o=u@1vY`>9Pn$NJB%H
zfa^qo#F}#dF#9Of*!qxoh<_M?Cfiv=Qjrr7a=8^F{%ahN0@2?%nV!N=X1#guax+PT
z1I>%VXt$)P`<<(bYoW`ix35R+gv{e(hIj^jiFt;8{gmGJWrh9QskgF26}LjX6(CZ}
z%|s{bl{c1X$$X^hD=|ipIfnWiQTvwCW&3@~kkk`r?LIQxFq5=={149{@BDIGS1+7S
z!p2F1^ML+huM73+1KcQQ5mD?R;YpNtZKMw2XXccViIs`2Afp!%YFxM?Q?_c=~}>#gmt*B>!>Y?bBR
zyeu{{OH>qLHTQxt9aB-OJ#=4fzxVJZC|Bw32v@-A8^kBKbvaS(3qCH(jxUobL
zg0Q|w-$QO&=9!K|Vo=bBNG26bqmmsE+Y*_44AYr4E!0Kw`_;TvdS0tFcGatYowNx_
z?pN>e$$zs!t?4~q*SWw@yM2nB5^efAy)x8jKT&ZcP7FmH-v(;GOTirkc~9731~7dW
z9v3#G=OZ$y6T&R@LXEoNW=T&DA@c<%{`f-^hAJe&ZTZJivXS%7
zt5{)g3#xG@AcRX#j1g{-^vF|n&RTH?W=1|r0
z?sP9{Iy&K}7lk>mde!JKRX^HbU-9vMwUqo=BQzhWkJ{NPw(N?BS)$b8q&Fn&BzrRZ0swdadbC!>Hy#kG(L
ze`?$E%ah{aL`oFWtWJ@n6$oq+m7RgS%pIWZqoFo;s&%k|XkwG5xzsmbvi`XJT`O}#
zuOLrq`1XmRVS}x^N$sa=Hw+HwoiTM(;5A#~o8`@Kw#4*|iUdn^Ykv*(p8dBOt0JTL
za4uUM0ee3>h)pQGE3a=|c|9gBP6kWt8udRO=neyMOVa@f)qxwK!#2%s^*aI{W+mkA
zI(7Ay#WE8uS+!V|iB#W^fVdWGPU^SbF0ObSGLiR>!0%%?7y7;G&T!H=e6eL)f=#p3
z=(ATw9?y5E`>92-zU5n38h<0G%!MFNnJ#=?)Jv3e)%sVkB(K$~oR>81t(cl7QS=zO
z)M47+OTW^;VX+DNExVN$`wlXYpi0Jg*tcG##}*?U-oWVDt#+YK`6I8pi>o=Fy60U9
z>Xt=QJBy|G(rVrv?-|>Y(|u#bNe_p+M|HD{dsJmJG
zMZG$%O84afD^{!^njDNQEb3cVD~ks=f(sVk-EI71lcD~iGsO>y#f`{}J@*l@#p;Di
z=hg_t?S)F?=cli|^)h$&Hl+F*hAy?s!0|gmN!T}`yW?}^_viGIvZG&ka%RQ}aw+Y#
zL~j<^%%_ZR5H=eVccBJgP#s~HPE1Uk#1z`mm7yN?ZR+B;WOT@UaS_kU$grXP9)D0T
z<}{kX>r6z$Tkk}ib5n8MXm{QrXOEZi#a*$N4$Hiun5Z~ehZ~S=S9)o`by=85Mx#Ac
zlf4a~BZ-e(^14-m=tKW@q1C!pUM9MBdqwVErZ?@2)}o_?G@xU(gxv_y#N4tcI2nz1
z(9FrIKSBL6^$#Uh2^Q%S<&qu8_6?^h*~#?jws|o!@00|(X)}CTJ17VBc-|N_#{zR{
zUg{SN?XfP1`jz+LvB$7n_^|C>)Dw-676Et1g_T>fATnSB$!;ztI&S<5oDA+Im6>Fd&TU)OfGi6Ig_^)@wkBo;&O4=AdfMxP%ad01H1lIX5R}J;0Bk))Wx`C%X!#-T9jbiNBLfaaN_IH6YIHc`*F|IF>eR0YjFSQm
zl)AiBzc_DZSVrYE)P37+5ke_Tcu_
zqm+1A7|K^D9Vm>z55;1UY^gOn`6byw?xrKwBa$h}IYq1^zbWcH2B%*?Qf
zx666UM3R~n_PJ6Bki$I(ZxnEM>
zqbjmm!8kfMNhCj>M?!zG$Avmw?U5Mqw_ddtfuEbGBUaF&g3AC&LfUItVHJ8RyfO*Q79#1{h`tGy|1i?s1U=74ME+yqmnQ8CfU}Hf+0c-9_
z&_7R%01iLBOZ47}cmF&;nlk+g74{DWJ2v3)d-j0YceYU1p}R+3g)PN>auerAy6C#K
z3KUy*y_PjlNlr&x?==|^udCgr9N9H8S6g*Z?W~WEhZ>*I7d@-pbgMTia{nvKy^Ysr
zE{(C*lP@pf>6i4*Zm;mc@FTLx2Dp`X@7~osPD-*+esxbKQsx-A|C~MdrQ6PTcsM4V
zOw*c%wow)M>x-x&#L(`tMo|Q+MvC^!2{3{F(grq>5=dUwp_N^l{@r0PpkMW`M3O1^
z_8xRmKa`BH&^SLairPCOuX4jUvf5iPV5gvR%dM!$YSlA=zE)92HnCn2BAK!0@?+`9
zKXohuYF#g7ZphwiRSp(x*|J==>9|b_jkDGX90Ox>X(%Uny~v(Dytz&YKcmB@&R@KE
zkphKb0bIEG%IjC)e6*9qKcu|?xIzNo@AUPo#P%(&HOgDfw|e_NTU8t?cSdI)>#$gT
z_R>qkpCz`beiEklzmWUAa9hBmjNw58BdNcW%x-uh=hUNlj%qDB1F$x>w6vtOH8t5k
z7kV`xW!j)YhiGwV8WZu-Y7lxMHoFA^S)rkMW{B*i&C6<_xD~q=(&HW1FyGEMA^}&8`ZII;m`|{*OuQUn4+2Rfm@g`h$p6&(>_=MOm+IFHu;FxCLBrTINjdYHoF58Qd`bqGP@VO{WD0FaXHROB=lV8u$pMcZ@k
z!)?{YHwL*)oCF{dPPAH-H%>zZ`N0_LS!q%wSTXq;DtclN7ZDkGxnm3=SzbEPGSnk7
z@ebnc5vX$4ML_M3O+;$rKS}}&_r2{;cYbx+`wcfDu;@SX9)0ex!vt?Ry{pmz@bCs{
zO0$Gq^P*$Gmg+x0^?$UyxK4;kW3$E`$3(h-a*JA&g0+kFfr+VJus(Ix$2W7KTGttE
zy-hSUZtm^GzH|C~Tjlag5(PB_8dRJZU45j-+bhBV(wUP`Mos{yr`FB-7AiM{hY5iX
zFWS~>;!h`?Y_s#f^P)sHCkzjRGmzKXmn<^LXrfQO^`5$Nkw5$$_g{Z`{mg+$?ssZuVZZWs6oX6Q;G&9Tkg`cP
zFCzm3@+lIjgp-)2Pu9Sz)nf14DMFhfVX$_Zv3zXc1SZqybw!7xak9ZFM1+1R-(v|9
zoy+`bWNYlEx-(fGS?&h+HJ3Xh`MS0(FRD@ZvpszOoMgp5Pn6+Z1?)Vec%Kg4>O?KR
zerm~`@2?9}5`d+tX{S~YwI-ofk>DVnjDaE4cCs*u!^gx73$GXL8t%D;G`I`t1N&4B
z8c#A@B~3`n5%Xc~CE9hPP|SECD1XoR-M}Qg^PE1X1^evpd7YW|N+h1gBo9I{OMk~+
z1@QV*VHQP{a`xpOUuSH$C-RMMtow2wIA{!K?-4A(_zGdeY#E?
zPCk^sP+?g#m>U12DZD#w=!QUY^YZeP&ja3ZI3->zuB*@4*@&hh)8vP_~pTzVG|?sjR6gY5dy(WT1&=3HKxDZ
zxg2QmK@TV1xbgS~6bZg(wKQ^f*WG*e2pSphuB@_twq%Q@URlBp5s^5eMSkjILfWg;
z7{;GB?Oci^~RCRxfZ-|E9WdiU4rv!$d6*lEwJ_O96>Dw>D5uIj5u`}x~B
zPYo9P3QyMScHOBk)+7rN`S9#ybLsXMAwBJfq@-le`jtmQPoy&I^7sFZKj}8!c}3Z!
zzu0Ys;(3qf<6;}Gp9Fxe?k5%rI@99E^>1ygy~Dvp=Sx
zY59S6pkgNG>QPRQ=i3=?Mf$wxOyE1CjhNh&*1nF(I{r!ALv#F1wM!j=B*Mz&bNo;q
zz*gXdVzDp4?qmHBN8?Fg`F>M77VI0*>L*N(F(mG4#3-34J@;XFYp|_$o%a5w$U^Hn
ziXEgMDjSdVQ4>jZB#dWhC`3^bem#MgHg}F60+NM`JZw37b?lI(X5ds9FlBYWon595
z3PKuob*q_{x@Xr5qH4=D8nf-KZ~4A0-zOc7T&~tyK?7*%5;YmL9~}ZsAucho9y%{$
zkTF&#l+pSw`D{4JQC&jVGn*5!ivi;!GLt4IWZzQ~&mUiuMnrW~6vZN;G26%YJrly6
zzMKPKlm9-C4d;fXK7&j*bo81chM#;eO|Xh*eXA~6pw^NlYeqsxHPSEUTSCdC(v$Gb
zkccpsZelnyiajz{FdtYR5g5u8oq_aF5^2@}l2j|mAq@=_Qp6e~BL#Z=W1<=Q!ZMsz+IQtY|vboE)+&peU7Or;shQp%AY$$FVZ_jzV
zqNz&v#Ji!Z&N?1NHo@^>-7KW{wXK`;dkNEw(~|bl8SXUwsLUSBfKC1^E`d
zTwb`f*)kxCc$38g6M-RMqj!VelBE0@dkE^t5f&?xto`>rtsqulKNQ{!xpFOuKNg&@}S&?o)B&*{TC)W5tzTH_-Qhbt1c5t?0k=
z1-!{OUv+$+UjEahG=Xi#yBPjXrB0sHHGX;Qr1keuY`7haA2BgkUOzyYCaoOAfG)_s
zKUPIAFA~~eOhn+^D*|P9(r-Z?Ff5Jj&IOx}Fx`&SEe
zNtT7=g>w4zL&3esTH1zR6YXN{d~Edd3gDfo1*^eIYe-FT-!1J$BK-i5KcHr2&!@-7
z8WvS-LApg)f)FC!qV>D(=6?zM*{9Po0~hv#=fSEvW3PBPdw(e$mOPg8GBDoV_+>7HopwH%c0&SR|U3Z8=W_AwsW>HgX-7DbmW~MZ3W&3s$QTT7u&7
z*4%L-M*~p+8|cEycoFjxj+IO7a@#m_eudZ0_euoiZI*9I2Y`hO(az^i5I*OMdX}OY
z^FB|>avc|BQF<*4Gahqp^efz%X!Bz@&#EEOfT|UzG&*jeJpg#*V)?O)&?oZA@-cv)
zP~`220|fSy-8X_98_hlk2hW%6i3<7gUSoT{$Lc4XVZKrOgOdIS)jaNm!`t^H+N9T?
zN42*r5!IOGaf!t`lT$yq$j*J_DI8{3W&{Hzzv~RT^^t&_>~kr;$(LmkT*7?zOaQD*@a}as$6P}gUNvt5bxoj&nvDLSQcd0eb3VFl$4Ydr-}IX?c1f1M*jGy-g0Oo
z1P>IU({aAQN!sSbc}GrIb*I-K={jff<_cdI9;!&x?v0rpiQhi`I8lfdI1nv^<9@}V
zO1-?EP@n0M=^z%_Sg|gYAJgO0AY>KKhx>n?hGqcG(b&fWH(x1T+T5Fdj?*s!>i~E2
zW$icGiS%Ub64j-GGDkhqe|*LG0VYgiW1}pW!{ID=RzMzcH`4{bDIzZA#g4X}2je*>
z^Lv<>nRz`N#oIgSe>EToxb7d4V^zxA6IS7PM>%u2`n++I86|$m^n?zpocJ0(OIrJ=
z+#l1DMkO9K9d3;z9uJjRZz4^ei(&x(o^E1V0@a}-{a4RS_C*hl-^Y>|c}7pK_0JP6
zS=o2L?L%-?r~|l|Q=9siZi&ua10H7mR7My`lbDEa)D!WH>L>LUIT7wDKF;fsaYnSR
z6B8tC%_w>hPq&~m#p|rHTfHI>{6bRbh;rz_lfrjZ2%7RTMGc@LsUQ!?fV%V(2O-k%t}Hx4dMF^lZfTc?Ez7q8
zGFsx1V?SR<=QoukPJA;|_2mKU@RE^GP3)obp42_>d{TFW9!7XROpq$$tNn!&v3!#NA+I4UF7nJSk
zclgnvL0+AQuiR;WmHwUY@%vOzOn3xYWGMn(HA*~*p-265{$b}o<#vp6VkD}bV?#Pu
zrX)Fh-i>*F`)%(W0wd!p83TWW+E!AFjWPY%a#GRNC%?zYVQSBl2z88_VUsAMZm
zz)@EEweDnLX_q>klM?q2i{;|ST{dqL`M!hjV8bl<%}jpicU}ZuTH@QbiZiWWao2M}
z`AO}@A;&YjPa!L*y=c7{2e>Sgs_aCh&
z7W_w=velPsVQDQR%X&}O7vU6+?Yra4gRJ?WxH#Ylig&K!()B0=EzH-xO!}0mAHz+u
zm%E89ejKrO5t-}_Pkj7UAEbjYLZVn9`k!-sO_QuSVpIW
zEh8=XlSHO5_-p4DywARMKhIfk{90rxX)N%|I`otIWGHyTM(Zx$+jGEal_d)jMe=1o
zX0+{h!<}I{t=I0jQ)rQvCHLbH{zE)V0%VnU2G$eO6IrIRU>iR+QF)Otb6=(FP7$*i
zB1|WS`3U+j=~3%7{5ik<*MS<_yzrQPY+6<9*T`2#%=?#e@0}Ou(`r8uaT8X}w%u`H
zX3@(WPv9HiUC=^@SKIaW`2sOkfxHsYx9T2^oPi$30zU>siGl(7MhNK8e5~w?i%+V-
z_Ah&Bka^F!USdW~Y-^B&$dguIBu?Y~#5EHDXQ#EuivF*C*4maiLsUp*8dfKnB)^J-
zzC+FV#||&E{||fb9gp=M{}1alk5s3V(GU%l5R!yMiwfB@E6K=~k)2b?Dd7;wN(c235;n&1RC>dg%y|<{V%ss10
z&&xde#|Fpa%u_E{k70z&0GZE#GNg1dZ&}sqI-Q*(#(dGJoExHFJbSGD(e~1HZ~g*b
zew@Gq$$SSZj4M9>s&(-oB$(+u`9|0^P{^3Ml;OzxDBznBGr+~ajv86L2Hcf9U(9{m
z@~aId^3EDRpY-y*uH6U6_ozL`k^y{(DYGC9K2B5_2kPUwhC~{q_B*VqIbU6KmyVqj
z?oN{Pcli4J_hPP}c`~M5;m`w66c5?D){=S|cBUtY+j)(iC1
zFJ^V`Iq5d>G9MzXHbl#{WS)ezjZJ_4{6PK~8KOdz>L5krThTW;>x^~XIuM#%kV3+)##!xp=uK^SXs6Yn5De9j81AY
z)xzhwm0&F9jiWt-DM9<0yd=ozMr2Mz*c%0!Om$B7(nT-*UXDVqh^)^#;~rA-<^n`V
z%sGx7sE6sc?)<(Li>kD*Jian&!f;xhZcbL@=fYmR9VibW2dKi&3{ax8yb*ic-!J
z8yCNJHr~d|@EZSNlX{UT3eiO{?-@8Um0NwAwL{Ye7DFoTjY~e|W$^v8ePc6mGW%ub
z#p_?#&=f=r&A7whcl{*hG~J-K53aUxTHI3WZ!L8_FDe0!-&Dg;8I4^w{1@LBPgegU
z5j`_&2b?a{YCcmmIT6dTs`S@|z8s##bb*iB*4kY_wRhS`ZfpUNi2bHDmHOW6EbabN*fJuMizHGR<{
zxct1d|J8HA;rCBXY>hSKx>cf_rWDU+Gx2Gte0lgs*X?zYk9NYaXiNAEE1k>Myqy6i#EPZSA-FO#$
zM|DTIR)~5i`7b7GFJn$FwU#-+dwg9SgU}GYgROVNQ;kx7+wo;9(}w#+)dJBHA+&s_
z3|ZHD`nwhGD_?HvM)M{i>+;V}{FA9y`5Mw4H8+!>aj>)oN?}h73~B(;ToYHr*|>=&g>2?Os~7S*RtW
z)gpH3ipSgPuAL(WJ6VMJcXA8Uo;TtSlw%7@&l=pVG+-Gej5^%o-{{R)ZxT;YJx5
zuv;K-i9{){kWdT;ccMo_I#+8MI8zo2+*GTJdCwy_^(Z{#s=P~s+S9+RYm4jeuH!N}
zzisx4uvGFl`!)TI618VVJo~M8&HGlA-eiiX-Ln{xxu{+gTUn-M*F)!o`DkQdZnyz&
zR{cCQUrj1qqnd2l<%9pSv&n
zCVAyiaoOj&Ein8j@DL|_jI{lb!
z_gDCIH6>zhPFt5Kl!Mp@pdT;-z`=?2S^j*}-%rb{nhbdvN?cb^TZM|roGe%a?Ed?X
zbDl$FZtd*fznrsnbqm5q>i9&9$Bu)RWq*2^EUhYs^2qhXKa0A^81EF*R>6PbXlCB-
z6Mho!*uzfRb1VeRk~Kdw5D}yI^R4+{RBu*V?U&S~elU5amO<)*Mq5g9^SzVijvOq*
z*P_e6$elXKt+{o!HEL~!LXXXdKYngC6ps19RY1ls5=W+ng^9e~eESJ1QD+H`hB(p<
zPM=P#7IH(`fl&PjqtE9#(%>Znmf(h3QH8-%+FhXyVM4y|R5aRr&7nIqrH(F);(#Tc
z=KQatiHZ3c6@3aHx_ryT%>RCCQ-W1TC!fp=^*>3G%0y(B-J1>u%kbP!&&qiNDKj8;
zJysXF?;H`-vM3W_+RMe*r{H4RwXkUTIjexgp9s~pz
zrvXh^M?(XcjY-q#MYC{7i7iNe^6b;!SeWl#>HDhkLWo#z@@rBNoXpa~^pbABHR+FOQ>cT}^c2FQ!IRMZXFT0Rb3a;IZt0DI2My7@Ww};#~d8
zV(~+{1cal6gR&T@#t~HH^c=uD`rMm2Jf2m4+8FvXrFlrR6pf8vkVXXLHU?DR0yaq^
zwnCMjg?U@Ll7nvY7A6117>df}906^}uqteorumckjtYm;R)^fSB|4osD@;6ytR#?+
zJ*vjaL
z=sw1xI@#Lct2x9}JM-u-&7ogWaX)*rvSf|l(RK3UOp(P#{k~yqQ=UGPI&*|x&~LVt
zZnkpg;zCe`pD375eF563T!)th88IUm@}RUwaB!5Qz`*EolpPfm^vw8Ko4@#U-drwT
z>XY0&q9K$*!VcF?1z(WqtNw0(-D05nhG1xai(TxG_SB>;u3hE)P94vkl6NesO5$*m|ZI@Kc#Zd12KQ$*}i@EgxULV-jK6M+to|#jE
zXE50!^m}nA0f{5uyNw=l)czMgU%(Fv4M>=I8QZU^IPyQJLs7`PiXVJYGwVijXrj^#
zV-2J0?$#L|FdQ?|1n$^l;%^i2P?+%d(ZQ#T4IoeDa#sxnU+2nE)eI|}U(PV(9@eO4&e+g2l&1_~|D@rM$YhTI&jf}E%kCSfpVr&NKnpy+Vz!o5hVI9OJ)uWoQi4+4b
zK-r!JjuzAoqQ#0q)K5uSNB@zX7%<`oh9IYh6ln%^5YrKjg)Ok-eksH2kBRSXkAFY#
zx@&iVlivrE?`Ko$?XA@vQc)is$NVBU=cPmfk+=YxFfat9TZ(>Agal{i>G=Hl
zEXaKh1@S-H%*m{FK^wmH;pb`j6bNTJl~;$DN#j|X0WRVh}5jee3ytJWRt=!
zPCqKFQ;t)QBz}3Od!Gn2#P~vb7M@IyhzcxziYx)LECGuAvJGN#J)`D4(dHu$k9nQH
zd{wDkOf+eWTu6HuYFeqn2n`BMEKE+^)PlA`?eV451@Nj5Al6Bcf(HSWkJ3HRmstEa%
zT+kT4*J0fx@oHpwZvPzT%41TE#)W@K|1B%_{^TJx17TSWjSwPcq=9CblK;ZTGjD*c
zh1`j9_NkxguYIh80`W3+z(;
z|KY%2DlA60+@c8KbCu8|r(d8E8i_+SS`ho7LI>E
z{l3f3T<+yEko81;wut(uy1F-?<#`s@aZB@n4M+Py+VrgVza#Hq^O8Ri|14pgU!li>
z^^-+ZiM&d4eNLhBn!jc>Y>*(1oBaK<2_I0`?z<{52XGjf*7F>d4$PB9<1--K?rh&d
zno~eie4$lb06?N@=&#I6_M0N>L8jl^5Ah0HFg?n6@Q&55Oik$r(#P$sv@)sbLX1qo
zh#%IvuXb0%GN|VM{f2sOTQ>4;a6LJLX}fXP=jyN50>-*A1c0BPS=9So*i9lnRiFm)
zO^Bu>9*HT-eufMR6lGfJz8KDt$7S)OR}>wfwh>*2LQ1T0w9<#Jf7&uCOPPYzW!GW6
z2Hr5wC#+hvszlI#bi9mm5$}(I4NAmI63sXiG&g&ZaH%X?&UMHDeV`YNJLn
zV>lPnL_CW{(e}f4qQpR8{RX^jk-u>=uMLu>387eBkhnsRfC{nsi(DH+U18gw=+N+P
z68YU=eHIE8;lHtR-7eYo%fAl1OF9V&iP#V(($wTaU@#YRP^-xp7{zF%NT7~|Ln}HL
zuvss?*X%n)N-2d{5ZZKHI^B8QSk9q@npus4<8~gN>^2-`>+Sz_!RybV-JDKFufu}X
z6y&6(DUpeDQX+F!iSQl0`t{;iPTS?{0ur@3CjUMoS2BEK5IC
zs~O>GIL2_Jr@*u4K<%R{k-()e2@UBe1UC7gqp;9rJ%mCx^Y@RdZ@s5j-vk85)u0zt
zUb^VWE6l{ie17ntmp(1r<5p?*2j!|7Gn$T^*-=94q16Qy2wD!)Xd$VU$2?yLrf2lp
zJg7J(g`zV>#dvAsyw@b$!hr#H4~$*0hM=pO%0j@IERSk}KFbrdj!hu3j-6xRC?v!b
z_!|dBbHd^H=nbX=CXrQDb|(PSQckT`rS|qRSq
z@xc`H_Hhl%Apu|uuSi_qDWlm?m}0U+aQ83W4&Ts|veA?&?Nz+;8C|!dTra{#qZ9_N
zEj9eerN5`fRfmEBc_mnK?|~Rf57Z?>(%^gQ7B+eVSL=s9VVFx$#X__|UYP1)mg1n6VRKUxMcjk5
zE-ocLeB}7;+=3ydB>69Wk@$HlC_S+yzVzA1J+Vz!Ag-}atg4Am<$&T>Td-bg|
z-O73r{3s-&2U&gytS@i=$pfOilZ!a`o0jLY<|dlQL0)7FDx+v6K+AIvNch&Ols_6&
z-s{h`vfxy~<0%724*o~7{N9xYLa~*d_WZIc8}?A@2c;qg&i)#Qh5e&)rD~_B;|=4Z
zxhFg;_6^66WFe+o(2k+J8r5;vXz(bS+a~xZle-4>MWPWp4V+@0`HLt+K;Zr7?Yc;h
z_$ARws^hd6gg81*+q~v~W`5O?>73raTP16keN(a5v)N`AJ7J)GQwxmYTaPp34+|?_
z5k4q1e6=BFsWXFjr#GW7RYwS`y8?xImuxvZJK?+ugm%
z1%KIUZ#%Cm-gTBIyJ%jr%GZTiyo4mRQi|^j!&QL`|X`1-tF6*dFS~f15{btmxALFL9hW=+=0NWnQOjwrMQ3L&-{2$3MN(kJ1(oSp-ywg-tx4geZ}upF9fu&
zpBNb#Ki22k1#_Lb-6q=XA1ml`g@Aq-v>au9#J87y!2qL^lsHQ-81--4y%Bh26}AZ5
ztOSp+q`P6scO%wzC7N)AC<^(>8xLkA*(oJjnU-7AUps0{yny*p+Re>bAr7&Ay#=Xk
z>B%WvpZ2gWmO^p8FQ2@Cq7Ex9n+Gvh1RX|k0WOW4aAle_&M4LHsd6>H_LQHiU76;#
z^yYm$n||rq^twAzfSy|9FT;3wm|2WKkaq}Cwid2uI$@!&YS8k<=3P&Mss`WBbtC_>
zl!E)j6wN*7Fb6X=wYHNY`m0jFdp^w4ZqFfnyHeTms5R{65eVb4+ryLjIVCBlIw);I!vXe9{g(VCs0c;
zJ;zP6A1(00J`UF+oc0UcJ7uJlm*8i3vR*!}6>xbc%&)5@qD*KwlK$RIbp8zcLOPSM
zAyGkT+w88e<4|_^lW$yp6?sWY}y+cLVwHb05#Y|v7VXNy}cR9@x$gQ>_q
z#HP{sc5V7UoDvm>62(;vr8SR{VXsI=$Phehpcy|wpCOf!xLz#hDf?BU#9=p-Hnbjc
z_PD+3N-6%rwj$Sw)8WcC^P}CC0^Qe|dn^TLSxx6Qr7cUhjNg%2s+~OZfZXGsU!dq9
z5<@aG_su`QX0^!F3GmLyG~f?JB$Ml#_1x(Db9_Y3!+UCc!r~
zN;GVOayYXc!~CD|PD*cf(6E^f);VGB=4k5nJuWdJpyOVOJ)Sj7s~Cv+V`$a
zA0m3;1UZahKttN0_1rYN$(GS;cjL139zf+xhL`lsvfrG8&FtR*^!_>Y9K$+P#1j?b
zXlcE|l1jQIqf3QZ;J+n+*Q`MG_N70z(j)OY%c3#&B?>ueFzFq&>A^ydCgnz$$
zPW(6qB}x1-nizYfJmxnN{OvdgKsT&0D6IWlE8n>{zXLIaHBio(e(qiN(tW&)?5m1*7hhud
zc2b$pAl{6m=#6@%fkNeiqskU@8cI6+jt=;ytu9|6Pf!gt)@ZTnBE-_
z1yO*34O9_~hN~jRP*8bu#M(bboGRSEoa>>jpiN7(QYw~g>u*k~dCS=&(YG=+2dadW
zSNr)RSrnV)3!om+5_se#4W#r}?b=U5(jpm2KuG{)0uLtx4O-ul@}Y}U9aozr4;aPP
z-A&ti!03s@Vo#L3+DrB0JR}G`bQjIDJNhY3+)8VFHx#Bg8F0uj$#X!;?Csr4>07>K
z58}LjW6*LhBlO*R&KFdx?x_+esLD*T*cGD4;U^CPy`h^HL##IYnD2(g
zaypb`4)PsV%B-aYet+{0GYF$bmOLx`)rc^W(oSt~|Hr-tXUd(DQL~(b4$>V-DSSst
zqR;C`Zpet0)QE!8h$Mc-aWkuNneMw?v?(C?Qe+HtnQGII#KIc~-h4Fj!Pd{gk%=Sb
z@aop63Be7~&HvoAnA<^VD=V;8^ZJ$d_`UD;E1`eg9%-yujQ1Lxy0GiMJkKGfHO$-g
z6-{`!7DyEJOkR-CyGqW8nOzg4O_3yh=XAqQN7HOaPFR%Jb$v;tUpR-^kmqd&YVpEvZ#-P51z*l+yZ^JeX
zpZ@8Usi+2T?m01va&WS->E_!&eYG=w%_#n+RFBn8b_elsyA*OK1+|&oO+3HVqF09F
zI!kjq!g58n{?`1`IM;RaCoxQI^Iqi1Mov~)4XZD!@RtbmcWeD-nt(k_t0_R7SyH8)$N>l6K*wYv#)x+
z9sYA?Xtk!WO>?Q|NH*iQtO*s%<{oP}x<)_)dy<+zo&DFLRM-Ke*!1^T){Ms*y38*|
zDu`2HWBC~C#>C(uHjc7`G^M8MJf)r6ckD|*IQ25BLyCL-mC4==k>4fnNLPf9f5$2>
zR-y~Rm~Y+t<(Zn(^xur)Yu_jU?{9>
zts|K2h0_dl>kshvQjD0pfjoklvkNx`b@p%nwtKgOiT;phEgn}=)w7u7-v
zgAu*iC!fe%X$NARP%H@X(jNUxOsecl`JKB_c8
z&D!gk|=5PPc>F>Mis)A^ajcBS1+umo}u{He9*fljZC?V_KMNGnri)Ydjck
zcHxSj*k*0s#T9q{p&KY?mvh-qLOJd?Rx=vk8$CqslT_9IWu>U}Xi9JP-g+NVm!3ao
zBD%}F>ie-Tc0@3-DP1TJh(RRIUgg5GgH=sL5$MP0^?9%Ufq{q=B`RilJL@m6r@AbPInqBlI`1Qc^2iTu>SE+8zWJBk9;bk2Txxi*elX`>)@
zal9WbSYab
zSva}ILsJd1jM;;H0(Xrz6*({s
z*t;iIo4%8${?lu9aZw@X(I;k0>qvfi`D!<=3bmOh#(9p@-%i>8Kx-3ppTtq9+bGPs
zX_?hI8KtoYmRE&rqkGkpK;+In>cb2}y){9yYi@X1FT2)ca#gS}
z`-az$rPL?d;ot<6vZ$Yo$X#qvr11u`>zGt_ZTjEJ2b2$yf)63FZvFa_;1BDYAdnFm
z`T4K%O5{&`U%q?^^=)#Q`!!>_LT=BmNcZd+sqI5t{fi{*i`=D4o%z4eX9z$cl}|J?cv$+ul1vnbiI4d${CzI
zB@>gO6m_U(&GjD14|rgtx@RkfdpHS)(sX_JCBQlVdVZe}OL99d-ViyS#GW;1zK;q(Vm!=LGouC|FiwNAa_
zw8Ol}gQ6~hZcE$Twz)^6<}H{qLez`AJ~1LEm)Fv2$K@0!nzm-0JJw#l?39m_Tty}q
zU%ah)-vgFxS^oM4o6d%~JC@0g?elHv
zMS<0NB}V=^>x=vT3g$akGC2EVP5ATEBZsx$T?0{ILN|$A{o`+6bD%e1N)gm(S(FBu
zYx&UFc;)jr`z`~|Vt>iKrM;Z~1AkR?*kqUX-Z|a*r{OQ_Z|jTvP~^E>qU$fTNz*i2
zl`k}-ms9OXX|GhXE!960Dsr!S*!CKr#8tcJJ)46Kw{%3co1>=!TWY)IFY?-X?KN5)
z#eT0lnB2P4=zjUcsrJP3$iHteRk)Jqin4WYJ`lYza1zx(RNlB|MMD8C+vfwr0C%12m&_s;+G4aA9j
z1-*pRP{ArcHmOedYD)eGjRv<+dleD*{%wn|LyvV58=Ncb_))xrsDst%zBMa;K?Zb2
zeeGVi_Ah~q1D3@l
z;E%`C96jUq1U;RUT3%j$O0eir5tl~R*q;OcD3MZDP-c2fV8tbeRd3p%xdOuiwA_S)
z@P8JUDtQwz<|bwiYK@M_;8)LK=#A!3L*g^uYoJBKCb1~~J50c~@d3@cKzQuQ2EQ`G
zh(%9O=F1!*IP-}>5uJ9;ioLP_ESyo^($5`NZiDGzQIH4WZBH`^g2QOMX%Bt$HZ{I{
zkR|pdFH*6Vu95B@o}`!DXax!wye&j4Ru3A^1Nk5Zey!sb%sdYBavIc;m)*7Wl!aeh
zsJj!gs3c>_X!G_T^OJNQVtdY29GeU#3b7g>>&^=0flUxP{a(MME)Uuf53I#PO(PYe
zjPrC$>D}4>V1bSeF_^vE_>5(C{Fab_ci^U@9CHYT{7;7_MPJXRLUKp}5rXsM;U<0_
zhy~3w=g+Cl4Yki>Y&01S2Xz_iH|vg|dZ_3FZ2CBHH}SGmGN7K3!U^Ie8jm
z8g)m3gL@Zv@;{%8%H7J^`t#dO(!ps1s#|&6^PC*62${7Btz{2rC5qCq8re!<0Q``>
zkPX2KA`@lw>c+~bxVSou);cUGcws^qQ*TIZ2~Cb_wMDYV(z{6DMYR$x{^92zddQeB
zhzZlliB5LrJU&Bg%A?XAs34^|>snbUOFAK8c4yAGwV0;6(v_L0r5Qs4MnfS`
z1Vo_=Ikt(`D=|Q6|EqsU7cH+q6TElT;^FEG2R$|}F0Sf3QkQt3@WY2@9@y{}jb%e4
zhqMKWCdUlgzKr^?MD3&j6zT@OtrokKn~nW2Hr2*58Ztg5z&q)zYK7e`C#;
z9xM6xTnozMzW*I}i$__P(7Q`drINY5gz{c`@G;F2a(n5q<6D++%1e*A@cd5~$cT?}
z5vtY3HDyQI)%nnBN!~zigPzEvNf^?FWm)iqI3jLzG}XN4qurNYbnzDjjD;ap=YM~(
z{bw8p`M>|~FYW*LYxh50Ab$)e^jMRu2b4h2k!o#ig-{z&Wq>e*HSA6<>C)(gs!IiC3ho`q0b2$9T!am`|Wcv^r;TAJY*O~>5vWcM5Y~x*%w1_
zD*ZL>&%uU%z?c(2Xm7lF3~y=Gd1s#?2(+Ya7k|G@Zye~}6Uck(KYaKLnv)kUTu8AW
zHv~=e((l8U)ghMe4Ah1ZIBH?DMCDuR=n(J9U;a3kU2fF|U~IKVd#x9Zz}qcvSGe5#
z`sK&`mtN#12I5V9?7yvfczs;?y6$=!8WjyTtfh{vZ3B?T*A1Kpb(jx9leg`g09&z@
zU`Q_v&Sm73$!8o}Vd4U=Pv~FQ%TkYX(nLf#3TD-jP|${UXGsZ%9)Zi!v@G`7V`is?
zmS!)8VO|t_R=LGO8bO60P*RuU`v^m9{eU{c&0ZqfR{do%zvqxGWP^G!G2Z^IwRC;o
zvT8f>gm80yV`qrGax*|+s=a+ygVWy*otglm+_&NLccDp?n##e7J~Mhh^!xMAHrbQ2
z!DdEAhs?4*@3k~A_>>U0>CWl*pi#EPL`OT68ZkNyCiY?s@To(g70i{#j^QKqevSyu
zYY$Zw9*>j`02)-}>A=E$4A0JP{$9Z4tgQ)wlwRPsw3Q&+RigjRq4U~!fQ9r!A=rUI
zWu5?DGMaOElA-TTJix)fXaWlt4n11sJYCkA;{bd(HW
z-KjBvsVB!iil_ul3BswALAm)j_dj@`TMQL8Db8?wnJ+V2>CXVRXh@kHi@
zaehT#H8|O^MEAH_l@oichY%Upa^)n{&otDZ
z&7_$YiA$6YX}sjvS`@UBRoz2NeWlPrj&
zs64}5i@fLB%K_u2lylH~y3klb?SrV%sz&zAe($pe$j3`A^XSgDPnTco572+)jg;w=
z!^}Ybyb;kkWmiML38o1`6$<+LeVWz{LpI08KAa+AU5+2>1IitKp*rr92M7|GaV`8p
zXT$iR>0=|=Gw(C@NiJiTAEsh!Zl7yy9~$R!6$Y|32zqB>I@nFq?pohp2LqPVXn~ji
z9<4+5GC0kCyuZpaF+98wYG~|baQLrj+}`LGLHuD9<*C?dXxTZ$_YD`I-Tk4y8T?gE
zEgfr^!JrDEQOQP&ZAVObMZS4^4O+)SS*iPRJfQ^V4d(I%mF1uiSVmM54@N4KfbR5&+*jQO<
z@p5#ur7v>>tjwtm$5QGo4Iri8yGdF|TaPCoNoRI;woJ_|*E-(ph>5W=$83(H7Ei#v
zOvvFRO``r9Kp-Y%R)QLWrUnM@a=;6j?2ntT2ZC=krG)%a_{V&L-Dq!8*CQkfqtMG^
zKN=SmRnn5@Gc74!zr4!1qT}l=Bz93bD#8FF(HlY?9yHnOW#<
z*QqhJx3-#as%In&P6e4}UD?XMit2GvjAm|=dWQKEI|TR-M{K{l5Y4Ai=xF~KY`tcs
zP}@{A(*9iecSDyICqMl`Rpr;_y`Ely<5Piie6Bj(Y1xF_hObSpZse*5($f9qIks#6
zEgx~|HIdIN?0$UwJs>6Eugh{%&UKd#R0QaU<{r5{c<4}t-9)Zvn>w9T6ld{)^p;DN
zarzaH#KgtL6BG54GtX)PH_Y~Jr=7*FUAt%?apIoV?mTO9X9S7Q?fCe3(eIcbq!f$U
z^v88o!7S0{384A>`lc%Q&V{-auBDh4GJ>bmFTv?Ynu2wV0_dY7rGV6bY=-dw#QO~u_A$Cf%*c))p@tg#*AG5eZJL*ADM8xr4yr@2Nu
zYC_*~PobW^{x*D)tCTxqJpao_wWt~P&EunNZ@v78^W{$vD2qd
zN16^|X^Jk-R9m>b17Q~eJ7GGvd
zZT;}%RBitCA2+&EQh4X!1^sx$sHmc{59$=YD<}w)G=b90I3g3ZV5~)ZOd33W#bv&r
zwVr0^8LeEs+P|r=tn56@(7l383@h<(>TSuiypUob`zo>cauvEv2G)+qg#CY6zI?5x
zj*d>MURj`AbAyo-6_vsRQprB!#pK6w*sM(*L)G&JjhueWO^QoPbMZ5AUv#;>e)|Q(
zZTE|xV^qbf&KB(Gy>Gb1jddz2mJc4rXJsS$W~nG--RL6XF(|F-xK6yvy1r~cnCdax
zX)&=2jH_3yc!6`nmzoQ+alq4yQ9$m}Am){YPfbnT=z{p&r?~9lq^2_+sWT9Ymc#Li
zG@-sOM%sQQWo5B7eA@-BK7b9OU>+PAs@0wMgxjGU=0qaZuvQ%Z>#v)qdct0R)114}
zFT78I>G!f_w26qd_pq?gGNv0h%H3SGE-7*dw~WKnpF>sdkKN0u9#3SCmHDuQ9CJ_t
zu7WGI4Cb7}b8URlo=nIAbbtP=YMx`+Cl$hP@$~H!9lH`M7gzj8+YgUV7&az_)jBgW
zGTwE3Y&^vDN)spLG0$L2raUPBQm;lph2g^Amgco#RStNXXfUkaz!dZN@#7m^@)1&3
zK+fM&*gQH)kB`#DSK$
zcOZwa4O)&$_hX;0y<@d}^?DBe^0Km800|}TiP#K2oEU7BHy`Zj2`j$8Pi^Q7Tb3pR
zlcn}VAdZUSACvvpqsuK%_Ux==JiZaEg#>;kVaJT~X1{P1Y8uYXjF-H7_aY$?c|mh6
z@{@O&RZ-W-ZBq~%85>gw6?QW2k2a6d-Yh!2oKtZsb>nWah8i!0F(z#s={Kks>p7-tRS5|({d-rNO-nf|zMAyrATjoihEGk(
z75P+y%BLUs_w73aPfW+lLq%nn-&N$rAfTM@JokIo+W6*N`*9zvcG=uG=8@G5_)T0;
z9p0FA?F*-}a{Z02P5Y!&gfi7Hi1?8c&enwa6j8VlXMG%*8dj*9Z~ItZ8RSeQ1YTq!7|*DM9kQltMGl`Ea*HduqFIXOZ>GfDOKS^?M=FWYS6
zou}s-vbiW{S>@gP_X_Ij!37B51N}a4b?w5emeOO0zvE~_ohAYbMm|+OlknimDOak?
z+D=EOJMtfB*wj^DNu!smFTx@?`Y!LVl$FMG1aFR-Tdf}HS_H!#4ZDa^1@W^3Uz}-;0
zK)W@)Z38iRNyNxqHJ>`_r`P*FUb6L@mf+hG06lb0?%1^I{{4pixxm`91#
zItW&~cOB9%S9sR|w>G2%f)HNzLU1;eHYH5tZ9~?rS;HzH>RLZ^>(+{(nf)!pS7+Eh
z|Fl=TfPt2VDZ0;+nUV1c98_<3p-Jn~Y|feK>Ehzz$d3)id;^1x$^TlIoKk;e0&uG`
z-GGT+*3;`p3Ra87_j~X_=@R3Bvuw;P6_o?B`%p+F{-Di?s3
zKwKoGg!G|1?%qJryM4S
zu`W(wuotu`s-RF2DWEwpB@d)A*UdduL7K1Ffl-7qK+uihFtNjGRJpdEr~YDoH4;sX
ze&q0VD3t2RZp`I&aH@M05D@wO`}eEky7A+A98SyNB65_uq6Eu-^>e@5OT|Guuj}}k
zUNPg&Ew}DtU`m~T7#Hl^NpbPJqANMiH6`nNu|zu0%@C?G
zE;F2r_QPA$5|(1Uro(w}Z|^`J-MgaM7+rOx128`v7?gF#Wf~|!(E4g!JkL#
znR)7m_wV0d^?)I58U{eJDoQb$qudE`oMBx|Ky6x&Mz(wOH;tAilM06w3#UE-3S&e9
zwaS%^i7+K~WAE=ttlz4BziuXJY$ZNA>t_i`1noqmY;JavYr-0y8#DWqw;sH7t6-YM
z&}Tcd-ezgFQ9cCnFz*YghGChOee{tunkq0!Opaeqz^j~u8B&c*R7`EtlG2Jnh4iat
zu8@<3myE+-|oKRJBM=}ZGp@B{2VCt&+=c$yfAhS{Yg8p#ctm*i0Yj#cA`t|E)u%iw{
z1z{wfAqJ8t&1$!Dsc8{=3M+^
z-&d-hpW_LT^m+dLIScXWi2W7r)W=7S&tILnl)IYBWwO8Lv%ABsrkkfNspxZZayUHQ
z9jY1wUrVp2%iBvumGQCJEWZ}jFGGuAAa!a`9nu>;T#{|WF!|QZ!YKXNmyMLbv19<#
z+#}#|_nd?2sw2T;hf{;my0~*jPO38q4|e&clq0b{#+QnDWnpM)=~={OoVKi+`!-H)
zA84Sf$I$Xg|Cpg1uSvajZFP)la!sAocnEU^}5x0eoM~A;@UNTjEpQ0z$gIgp{CkiBN|5j51qCcs4RME
zDMTOw^%q~=xX~r%v6a|M#1+dEr;anO~Q^(~o+$<3Jc|K?n$sX9Pe
zLE=d@6|937!XXY`gAXrvWga+kL|MN)cz^X_Pi7HQi}GH3crApO4{qKZ(n^M)V|gdQr4Ow0S&`1V9D`S?=$t~)
zD0OHZGtR8%$eD2mokjdUGIbM3E=@Pej12gSa`e`TokOEo3g
z0`BL^qJV$^@v~=N_~tF_)ZGFCnIH3&V^ntDFTOlp@$uEo192O-ZBt{>Lp(}=K
zBt!b_YPVw|8x~y3*;lV#(H9|v+b=)+dISfI{r5LnX1UBHZ`TE@5_%MF1(_CIg^ew3
zuU?(dDZH1+k5ONRyDWM%wp9cR=#0$WaCdjdxIR^568feuhJ0#YA_S30y5n<-($2dw
zGBIg}Pi)+{F$_9xF6^~h*XP1ypNZ{1b}aX!I<^rh|J&KyYt|heN;L)GJR1B$|5jxi
zo3y7-pBneOJAjQauUBDRsp*thx17rG>H6)0DvZ$l^pBhiE0*`^?&y$Zxo!R9+w3x`
z$2lzK!KpHu
zwPw}!rop%=NJ>h+N=#0+^xp7s8CAybqOe?3UpwgON^jh}ISxxwTvXJT6t8C6+6Gp9
z0iR+W03BhA(K$w*n~dynyubIncuQRgC8@|7KubF~Bm|l6rAx%r1vNJt#d4MQEt?3&
z(WDCl-jlv4LOPTacSh}0eY{rwS(?S*W&iNbq@=w^wX%B8$vHbadp|7n*cOf3LO(a$
zmfPGbJeb9%-OBU}WbcWTCMB*xwkLGMy~YwO@(ghC8`pRvYG
zfGJQ9<^ZU9RrA1NBEqBhezO4o_qo&yR#quKK0d~#TKtVsU-@c(A8^*D#BglGI};GU
z_#)b7f9O9p{o~<59S%?Sf#iwTbH=S%im;7*Dpo
z00LXm+Qu{&$u0kM3_+o{TDXVetTRr8&5v6EvabT;44
zo9bNaZdo_H;9fZEU;eTDuyI2I&)ny>-0XtGEiEl~-_lO*{M-}gPB1uDR#vYPLqkLD
zCxTsi!i8+5<(rbhO{?|J7=B`K7pdZB_{c_}sziB(Tm
zm%L%n>rn6fi6*0xk`lJm^QTYWa-QmNyV2D-yp1|}(N1c~wD#Q+zf5)f;P1cxPJ_tq
zl-#ROqU-T?3Q_A8+}ngdLl5fQ-hPIL>iD=%V4&gHU}NHO6E}hk2y27r9r3k5Do4&j_Wss;)kF!QyS=DaVH@F*;9{I>RHq)>c;d?tpK
zafsQ(G&MEvm!w)URF>lnL4KSBzXmoGoB70@Ns&7dRc1`eq9Z9_G?
zVG5@G8A^flBZNI#>r5$S8Y@1k=w92EYhU(o6WeO+Oz|-wuxRae&%Io}L4|`A6`w-n
zb?!L=IF*qW2(hBJ38Cs_49_oGSBa)@u}ZGJb-)jnJ$qD#z96i)?dIktdR-&S>LARO
z{zir^Tdt_1Iw@K>(d8x5B$ST1j`dGtk!p@0R#UroXy3k~Dg5Sv4|3tH&2UTOyRx#>
zNM=%0p>klYaBD(o@$l9ors~h)Tg97Q`}b37K3DPD~exsg{w&Nz!>J
zx!3*hm4*cELYyd$PK2KxWZ>sJhDfaQVL5quiJ_a;p{T^kSg+c^q<(pOKl0f`lpc14
zn(W)VcPp&zVMj;DyD8Ji)5M4N;p#rY;fMyIeY6F7s$rrcE
zA2~W*#pKCD(-vLti(0@#nm6L>?5UJFk{e@w-L#i9aOnFm%LONvm6@4Y^voG{0fEL&
zK((*MV(K28N@|zEGO8Dvl6&P{HAq`=E3d&{wHaUXe`v~wOYTo9Q$UtLVxOA9ZtUqC<=aal=4MY^pMoB%Pd
zWt00Rz6-sin44XsenO_|+zmEE5$%^>e({Ar#J*(1Qg@Cc7$%L^FNBPmW
z2sWlBLYgc9gI!rEV6`VsARn%8OxCBPqf_iozH-hUNCe(%!|KsaqNh*4(8_m4p@6MQ
z8Z880B-o!m8T9n_UdU;SR_2P;%GVqo9_FhUAUfpGl`*g=hvq9xo*}@yDF669d}uI|
zg$)X`vzjDTe3Lq4gPF^s*Gh}9FwRIaL{L%7aYQuoV2*P97R!@+Uc6?xMs@f&>PHqh
zh75L3UpyDV*!nyR6=s403PTmCQ?a(`}k9mn=nK
zv$(M~@jMG}C)3DwDX1LYWGm1H$#xpS$iBV({1khg|E^{Q9x;2=fg;@KOf9ziF2z%^
zixwm!BjeJw1E~{5jg5`AXs(xxO^=~fckkuP<3Y2VA^W1MIQG7x;s}|w7&JTb^(!|q
zvOnM2TvoL%#AhC#vNk*qImV&hTX%bQP_eoO1qJ2J4j-Mvc_o^&;`c_!#%gc~UVQy(
z9>f;+3zbWW1xD(!^71NR|9KCel`@$smK}
zSFdMGh`gj`L5ar=Z|ppEn-xV%LR~=-QvBXPQ)=`))XV#W%<{aWqm2S)6Z;VGkz9=K
zGttu_aWVRcku{T1*cHhT7LWK5?`Aql~?w2aGgP
z3fRtXejMn+{L-;$D}PQ6tB)_25x@nipr&^$VEHQ1xQK$M)xaPjKCK_SRJ4Fe(zFOS0~H~Hhgl#JDipxK69l0qKJwIv8)e@x$ia>t)>z;N9Twj4vM^(m64Mp
zb);itjKQ5DoscLuV6iy80|TRAxd&iN#U&)}W6g1!W>gf@3@ZCTEl(~8}2^ZJ>2{
z_Z&W~Ncd4GvHSV>?1CGGy^q8rhR7{k$6jS^KpXO$ghVxV7cCuKSa^
zt^7Q}Yr`=lpExg;E{f7Kk%0g3L54J4;DrpUp5K8jWYX<;ue{d6&OIX%i|^L@&Kly*tI3vER*{Vpsl
zj4p=>x!uEu53f$%|Ld>E2x&e89Uy~hapJ+&>}&PNTjLQ|`erW*lP|sMVSmg7c^0+W
zA`ED1_cq7T^TbK*lL}@%oVM%tGE`CGNdfoHojZI5?HKDZ1Gqv@XQy18GrKq(4B`nH
z^OhLZLz!7wN*%~t|Mlfk;ujJUO92D?v3zw2ChwTe$yer3leRihLzmDZ(@9CE2>=m`
zw)%Qy_;5Iv;LfftKjcVXn_j!F^?URvF7*1m>fZasoLwAcL^0T+^KBHn{@x{zIY
zici@PE3!I!d_|D0otp1JQaS9}G18zWG}^S!{BlR=}+N+WN#9!^;TIoC1hq^jIrE
z(fEyxjlZUTI()wZwZD#sOk=4POPgz@VrTAL#PV0X
z)k1IPnO5MqOLIp7W1~NPTI+!~0IpES72It7e-C>KmaV7m3=}RTfb{q}L(W}&n^nOX
zDG&8esdyzA@{TbA2>w5pKRN8yy8fmAgVo>NT(WVj0|i15!#~IN{r3<38DR10U%Ghl
z?PL{{dgd4t@rEyy|M^zvM6nORveUYDz+5FUf&
zFwkZXMc_c_;V=purp)_&i2pOV7@2`xUQH|(8@;KT=E6ag$7L(>(>LQGmNaQ|$2OS3Em$H)vHxv~eZSMFPLdmR66*74&Ei7Ve
z{yvQ5``=$jw~J+ja4GLBy?i9Nt{jokvK(Oln;-$^W
zmq^Ns)nQhjjyn;&o-L@nqgs{T;$oY_6ggo?y*;
z{`~o=i@}!X?qqWObLheM_ZUsMa)NKj%TRXQ5Rb2nPBQaV*Vj%;GGWMClpahw+^WIj
z_X0jhWTGe7q`swZ3S*Yk&e{YdT^r!0H^op81G=Dg0dVdgE*?#-n>Fwqd37}Ith_AY@44^<(w)-31M+7BrTmC2FMd>sQb?f-GSj{Ie+A0XTy9qBOKQgeU
zm>w3X@?n#Y2#$QTf32!qTSin(_Q1VR_}aDw!N5zGZG0$)I`C9G3ibhiawxNd%z=ysO?wI<9Q;#cDvl(Myn
zeJsYztGf1d!L70Uq`+C#rPMHomBK7(du{w#ug$tF-wN4-Zx&%HnPx@
z7bz%U9*sY;L
z!-*rAz&r|Qs5U+>D#t4@Zo3Xx<{`{6!KXI4z`ib+9PGq4SJ$pI7yvs`hwes1VDR?O
zFoAG)9_iaucJ&8mn1B2QUNIAg0_hBU0sH{!xcfp4ZAIR}qTf8JJ5un(sZRB3=*ic9
zm`mhy0rifz;&WTimWeDD!bU6IBNy4NLvcz2ku3siF0Q?$>5s}MC-%uhX@$hE&tG}h
z*GU;p9hBbon(Q3<2wJb}%Ad4|hcAWY=N~uds;br-FUhJw5;Z{~q2O2J;D~N^)Ygsx
z{8RI@2%yAyP?bjwwgNg|Akg?t19spDcEHYXs>#v_Vgx&+&I39hD9T~mHux?h-UUG#
z4v-o1_#a(vIYw~eLHD|%EIo{4^EMr~Ud_QGis55nsznH``uYwFTKHzag`;Jc&1{KU
zL6}kzcSAvP?5q+wBZ;p)cD=W-xYD<3i(#*B?xnHO`BdjQXT=a&nYg?~nU8r1UZSK%
zyd9SbZLAXo9#M^1YxmYVXcFwk>hwT6)4RX7OHW6a4*e2gt2-lg5=K)iTZI{su>w-2
z28k3A$Rg14=>Pc`xk1#GtmOl)L5_+79efgk=Y=p`
zEBS+4283aBoJuc1#0_jp)T>wdRaN3Mb8`k|iIBG;?J?mPiGQd5AxyMTt{&FfvnuAm
zwWPnwHT>xC&gPLln+GEOV%=Pd3Rh-LvM^-$WukJq
zl5kj1P%pGa|9*h$*7B%e!a;-HW&2u=rYp!T0~mwAR*m1*f-{aEoktRU;PHgb+fM_o
zHf-;l!w+Jv6i~O$!$zp3p`r0+8~$Wzw6=0k6wtXIkovZSfX?opODDy@uTg*IqflSJ}!4Y<LwYfUVA`R;e1&kCa)VQp(w1bKSn
zf1aM51$Re-1}IVcvy>U@!9a{ONMBoD=Zol2=G4sfWh?mx3j-TQa4_c4S72N%`${SA!ggKPxkez?
zI!sPwApve%(@RS~Vmq^jYM^f|aL2mkmiQ^GaYh(h@@(
z_k06MJF@!5e71}bIKKA@`|4X_nSf6^6jB#eRaHGbJl;dYH46(KkeLDB&Vi7gK#1fb
zS_xH|y)qW);)9%KySA~B|LU3ENjf@H(mrU%HUP+;hbQfaGLrt}$y69+pfBH#kDJtc
zZ8covZTNRXylxj6AB~G_)59#zHLDB|Unk3TVK##vJW2dBn*G;-t!}&e!^q%mW2>}Q
z=l5ga!`zb6r_}CN_P^{@-slyW(5J`d^?#KrO@)0PJ)JAe
z_j35rICykZ?&Ox-S_iQxpr5KpL-td2bjKq)1URFBl9X^IBd|UhxL){Y2JHDb5b5WE
zG^m&)1vxUJZUXf`8Cc%|cJI@^CE?4dNKYJ`bPI#hXzLgRVoGx(=9@}(Xql=>d+iz~BD82;Fex(@5b
z#>Cqx*KuLUGoGSY(3L^oxCoDYJrGiZGON~78!X^#g)yUb#%-5XW
zrD3b@og;UrKH^l4&w!FR2asK-2Ss}Xdys{r!M_K|s5~h8)7jf>MQys0P>AXPL^Jtc
zzI^%XE0{YF6)ae{!!|ZY9Be=WL@%lSPqYB>pq@&SUb1~qua_T_wsv9lC-0m3qVf&s
z*S4Y?O@$uy7MX(15J6;Cq_dLUSvBVlv5vaArnI=)^SGats|^v^v<EDT37pB21hT9_yk+TOR#Ij)gA9szgN(zWE%
zwh`e$UaS`=DZr;vv%6f2DC3VUb%0a{h22mKV?iOE`fUJ&L4XcKD85^tVRxR~i~l
z<%Lm0Hp!g@BASY_zHFLl+;kSD01#>yLfCO>(7>
zAgdsDkCaEqxp{tk#Y}nk)GdCHXwoHclsJ%X862`JM9#k%mVN2ncxxvzeX69;6=E^>
z&aG{2kpS#Tg`L+2+%WV>X2!1o|0e^_qvq{hH|8-#jern$k<{t$tN$1I^VhKC?7fz8AAzj2{89Ul=x7L?d
zGPBNm@!2Qy)w!NhhP`D@!rtBsW%=2rzZk74Q-@u~Uu*v=KO393GLu&==GGIoWt3jw
zYpjiT7iE)E-7hl{^Qlt~&+g^7p~GCgA(S}}#dRqfddrwCv~NP+Fv0620YXfnA$wO1SV25L62D`kKL
zBd>A{t4PftT(o=c@8^d9UOHYn)J-cnB|J@_?6fKTx-e-NKkYRyEZ;ys0oyvm{=gBR
zlB){avq6fV#$CkKw|vVD4v*<(AAEDvJ!(BPQ)7G|TfuVRm~6l8k`T&irW@iwp2||S
z|GvZUq!b4JC(nlT5Nq$^^XIz7Q_G0(ATzEJ-I@2MUt&&nf_gHIb
zMb*{i%QRzX0e{2-V&w`Hnhr(n$LCasP)*Qvx-Mzj8NI77c|SsUXH+?UK;TbWT01sX
z5|2Drsd6C35nlnlLvo944NlA;5X^{uWYC*-rZG)jcGwq&vHOZSWzdv8^m
zFy|!kk-;H4)Iav$kWoQS(GYYlXpxk7DO_Okf~ER-@^MQ!s!_?5=oUBoyjb6(B>cT>
zg^(^G#vKpSDBmH!n?kLw{qIA4MZ1oRv@Q=i$2WZSry16L)8LnI1nYV8slM=+{ONFX
zq4l0V#`44R#kutl0S$u;>6UlO@qej98WN=(U8kAPk4&#n(;u??Pu?m?vjwQM?S!-_
zOWEen680+O-VZtnG+Z$ZauF*tZ3MB!QbG^bl5o#_b{3Ydt5dhEto~xsPkb}v>73TU
zO5*S%%MD6}F76=g@~+56$3EST`N7e0h;(+OUoaXvexA`0Cs-T>(S2uGyOXNS5_aYX
zKI%Agx@tU#ln@QWi7WezQhJs~%a=c$Cm5c|`~p$*^^9C*ab|bb?}t$=SG+0tbig#v_#j^@j!6XVYgvfEm2SLV87i
zQX(PTRAkI7V!28}P4&5LwuF7B+qqO9afz23VGTF1_w;nbNgAbVNSKNr&VI5-1y#1%
z5zq?%`(D%tum0@p&o_CyVK8W&FliwArT_D@3*^3<8*i%LEHN&`Yg6o0*7l}8owvId
zVWsZFc$Pi6tH%aML*7kX6>SzaQhA0w&C{L6VY*_Moc2rmO`V0Y}a?gGUstJrqD`}auTqebbLowc
z=-%_FjLWoKT3N74v5wwyqmVQA#XiRPLC(CoDj!#~{HS23t6)^P$WC_m#3}7W6+*9K
zM^pJEJ`&a$el9hZ)1^PfEriF@jHqbJDi*TXs|9fYqF(1q=i#%-`MCJ)VZXaDs-ihD
z&t@TuQ&3Wh0yz!{z7#@Go@*J#*aZ$B5b%Iy^3oa>aFY%2v>?4)arqNJYz=A_0r#xh
z8m8h)FW!8%a7}wknR6i&cbM|-y<6VYtoP8Kas0HTseI0+p8T3}M`vGfaq9oBAAB%G
zN)LhOiz!zV+czKFG(Wz&)iX)8GY`Q9yGMGY(Ds4vswkhNs=H5vEPN~{*GGTQ;l-tk
z-jB`lJPF%{@OdF7Xwbt6%O=!{j)SsY(BZkTB=e&Ra=lKJ#Un)VYfe2BN%EEQg!c&t1{-DL#1P5)5oy
z=eI|R%~DCsgQ`s*D7_ef|1-OOXb$Ax%cT4#>3MVN4kVrb6N&Db{svEUkulPngL}gx
zj}!1kO{@s1k8Pv_8q!3L;u87*dRd5lP#}KSzYg>j~m
z@7sFbgt9$h-*dgJ*LOCM{Cf3t!lV}!u@CAI%;@{t2s!QgCtr8x<6|hndx?!a8&OD>
z<6pz_Jy7`fqJwX(gYE@%#R>>v8gV7*<;xsIf+w^8HGK>k2J9`G97M1qgen+PbyPZ^
zaJeXYO%7Z+fr$7Jj}=JpcpWbO8*L6nT?Al}H6JNoZgF#s+lq{J5am@vt#BiF>kD#$
zLHJunG3+Mtf+rRdmK=9PHlmUkne!KGwsmmFhRmZKM9aQ(ovYv8y^uMg8@K)NVZp|y
zPk99&K0{ja%xF)f7}xk#HG{mkRIFdJRRz`5*>_qkO-G}1AI9Pk05#G}xX(G5cK&_b
z#wpXY`{!}x800JD{A!&Fu{MkJ*Z4{Lh2{Ml&7ARb
z3DiEt9Cw6T+;aYtUKO^}5yDty3K31$)vM|nZAYg-WQ63H#7xDr2!01ScP&_`%mm}i
z&fR%NPXN&8#s@?)28VW%!{u0V%YdHz=TdtW5_oFkTd!Jk63RjI+uxCn=!lyR*W=vo
zgbX!MCHB=cue_y@)5bg1T?*8qgrsw66}}>P{nh=iX38c`*Hc?H?SdM!%zf&muHGtO
z^hB?{Z_kqLJAQPg>p2Dw`Oc-~&z`Qwp%st806r>^jt9~#to}|{19p1XN1x8I=3N!=
z3eYIWfHKsdgfUK5=#FlN5fy)+A+UFNAa}Zlc=^$Y2yA3Y
zK?)FDhPNcADDR6z*Jj^<&Q*<|was!9>9Gco2j8i;!MmpLGDH(7aGVSoG|~g0tv)un
zyRndt%&Y&%s5JETGANL+UB(d!%{dqC}*b@d+xb$Slfn
zp3U-&&r*9uLSvl>HCI%qKu19A1whXS|FVuK--nA$1AF`Wz}c9J9H9sv-e{LpiETi(
zDWKauV>kuVrUz_@BA#nzVBCZ@3%7x6I7UM=fSmsec0f2o-uTy55MLr)x|XDM{+V8f
zUPp64?CdDG%CIwggzsQ6gXm!?7r8G|RqpF&>wl!&#w_q;j4%z=s8~_-fYenrsLl04
zy2Ka}fd5FB5gv9)?s3C!q0?xDZyWKuDLei#1pu_X$02=uAA51t1JYO3B5RIBRmn>7
z1g1Zd?+T$ASR}beXmZQ1&vnj`2ewC$eAJD}XelN!7QZ#XGVrug3^SGb3vP8857gli{KlIz^+lJJtcM2NM;mI)QAn+s#5AO0FRFE_lFHA--N)OD*2m3~Rs=U^
zFCxv&CfCI;k%G*G!k1+9JqgaMvM?iMY5gj7j*4nq?5`a5*&w?n=6o=0wkHo6nkX;w
zjh~8e=HM0^?~asN0z8N%sybeJUQN>$6`!NNV&9v9qve+D!uGBg-IXcuyq~hn+^x_V
zijEJ^VymhZCvV~o2m35}IA!@#OPbG}L`uCvg_SRE!0vq+ht4j&pxR$KWeWUKD{o5}d&g88WhB%N7(VKEh7L5Q)1s2{7^QbK!+aZcvNcLRUwIn=*pJQF
za1+C7=N&tVS5_ipP0i|ka#S|kvU~lgqC)07zZn?zi=vV9hWTuWyYSRAn~7v%Q_uU07jkn?CU
z!BM=BX)$ch9`Pv_xl?f(-GIcm)pys8#!;`cF4~~mMw``DLv6E7Sea9#3&{F8>&(G(qQby8hRi!K|Nc
zD03^MBF*@3tI6p77qZItL>YJNihHE@3NTh>~be3k1zKCc#B(IV)R;Uq%};}!7pAmp*;(~HdzK`h{N)7!Iu3(
z9zu0abb{H2r3S2RQxmYB^vNOX8=1%k4!k7@0u3y*HXeh+3S%M7*V=qhq##KLq8sUq@K_
zVf9{8aWig^9zB=2wJ)A#%gAFX@ie_m=fQUJ<#@xM|b41};c5GBQoGHqnz2i;!~4ez)mjTw3AB9!cS
zz|vXokBO8IIh!@PazfX{wN^&YVuIX4>WPiYhhdrMPM43rRpkcg_~%70?Kkh?!7ig0
zBuU@CHCDDbITr6nRg{*ln{S~jCIz?SW(O6x*=%5==$A))vw7p$C_4u#J!9=xE=$#MgoS)!g7o@}EQss~vHpITdil
zt>5x-GqhWMrRjgk3*sLtaYimLk87;2%wJGF+j?rM#EF1VrC7hwleJoX_@fBIIpJW}
z&Bd4w6jEbhLL;&Zz}Txqc>cqueZtDS3lU`RS2G3Zl8CNZOj^T55GV6SLZR5wxskS(dmc4O@a3nW|>CUc`
z9YNP;Q))Wbx!7zz0g2CW*4G$nl!({;r#odBwKld|Cu*y{>vnr}F7qxu<8d;}K_t_r
z;daQ~gPkCJXgwZYefeWM;OO@N^^Jy#Q~NkS0)!W+A^`U?wPmD>w1IxhGf6n2zx}5l
zfobH%nEk-w7)O@nVs7$5Zw7582Dp>B9oVfJ1Cn}+Dn+gKXRQ(24DK-FWp;kG-iv(XqKLN;
z9D31JFC(o-H$I+*aG*lgdfHQAP(C0pd$)0{Ad-7v%0O(bcWcYI0HAGkz$gr|9x`MB
zgx63zhk?SstiLMp>YVWEBR&al34#h6PQTVPQh2$ZfORF__>MfXc2}e#xyimr27%sS
zdvvVDgs4SbXBgzO6wG(Ey-jGu^ASt1Q_h_q^2C~(KW=HL)bpB*C}`QOl3au|
zY+-J9_fnO7Vms?y5$*8~G~Sq`*RemOI-0K)-!MNn+A3_ee8i{bYTn><`$z9m=^YdE
z*>b8b-TEY4-)l$5@HwJvx7bk*Lpsa!LN(SwOz@_-++6M&eZ?hV}33G#H`x0qM@PY
zBU!Cxf{yDy6wa4=ik;^ulO+!do{8IOdPDgTkGguxM_(joI-F<-p_;CC$3~Y*roM6c
z=^5J~Z57|1pqW@GF}f3zSNe-S-N~CE%>^s4
zOH^(#Q6$hV@8uG#z`%gA0n}mrc4DsW?cPEy<3g34t@0(2YB?c-F-svbuk1=W-(sJ;
zqzbP0OY?1f{Zg^!=FGpMrheST&R9qBfT+{gFqn%74W1i(waibW6WZ7>7}d%?vj5p^
zW_D4=kLf%9*JX=p`#1tcw9$x40iX0Py>#z6XwL4@YsMdhYXn@&qJ2V@6O-m$iSJ);(5-&tgq@td!}vA
zXbFOj>+dV2E~0C09)URaIz19589i$;vsE+^0x{)k5t-ZG!!t*2N(3jS8hJ-
zEnRQ#A46V<$%u+(&WGn39@P>HQzKsR4JSde=JL!DLEJ1S_^GW%)P!2y)E4g$#d5b?
zFfqnE9EQ9!ugbWkfmJY$|2^%Y9i#Tzdo>pKEm|JY9>WM=)qu-Q{48}5G7}yZ;jmEt
z?ISzLvxnvJL$s-$TDN&9WsO+
zTZ~wPq9!3lP{?)~vcHY1%#c>ZT3kMgPO6?xd&)@5F+c1sN-k{R+xPys|
znf>$WVtz7aeUHv}hH|2=6h*Tzebfj1-0j?j_9=jLh^g|-Pm-1R)`tDInEC*h&P~cz
zq<;?c*su+1C{T+R@znnCnho!TzLM{QBw&~&(M;2u%MXV8bXw<64bhTCyoPKJVubqQ
zVEd&}LjnHdefy@|%`N3QE2*(S^ZPOK2&I3vUnUw77QN;l;Y;mX{HUXhMTF6gj|~wqfm8e|o|q5dYZlRT6|P$__5i)!a=N0O6WizZXCm`h}Aq
z(SS9W520WAzcV)U>%xdN9IX#R4>dzofi7?9>#nt#p{cHDPu^0L|QQ*|Ff
zgPvrj#(&vA16y(Zs}rLG5+>`}E*IPCjxdZ==YAtso!K3Z^=sjg6d3=Wkn7a&6#Nge
zZf@}7B7j)g1M6d2r?ntLE?`nz{G~9&0_D1P6R)Yxg^$~Y6gwl6G5bz5O1S^j4Qi?K
zugN}?;k-vXzLu{}q;GunS#3jZMtS*UO7@)!9odyhx`(_G_s;Fi;3Kh~o>ixMOYAUx
ztzG$!1j5>b8Z~A{kuVTTW^G!hius0IUemv+UlFq;nab!TjQcAby4Ca2|Cj>!>o5Gc
z0vbF~v)jKg7EyyxRiZUip#)jG2Kk(_-d%u~r
z0z}-O3hFrjQLRp9Xy5eDg=PoLVx6xC!7N}P5}B2;R)5;;?GGM``0$Wd>1kt_Z^HpY
zy>lNLV)aJt3wqXSTKi(5UL4%U^%$pSi1A&b?2Lp#bpB
zRc=3xZeu&FW(0JG@@F#s9`m=2{TjCTMs9`b?K`=4u&PK)$K9-MQOOX__1%Ca5@mD3
zAdDT;5}|gR!(#BXOi6mO@i~$@kfI$#fxPV6og>y06}sn}zn$wGKV7hI_jy;XKd$U@
zfuzSBsG1NgeR#)nq};FHUXHGpGBj&thr(*}k-e<$>-ZsgRSSAq?1Zf1CNrs(G0o+R
zR{S@gQ4v$6qC2h_4WjH}euj}rT#K1mXgVGu3v$L-(0a-{?86j53!YbtT-l2
z?!gb*c*{{Qe$vVERVyvC`jk8I#&-wx%_W>9%B0Yp+Gp)1zuDQ@f!yInva4KFq-6|y
zeaTu%i@SB+dDBP4_ag_AWcnRR|}YS&=N{lB>{^bs!yE*|Nn}K(*YRhRW0#QtfE(TUTt_SWlXY7rJ`u
z!oD=U^qGEX5RL%(WT?2ASj3QEDY^mBkbcF=t@4j;_tqzFAu5flmR$xRi4D{KhOd|q
zv9Tm2Zd1@6vlSJQ4W7(j-Rue8w88_YZ@5beN#otTi&+E1PFL`MA3B@fFSF)d@S^d>K&E
zgw;+`$ax5_RbD*`U_B!59v$NPGc3%CSAc{G4-LR%<=2WEk^$ITHm*_xb;AO@@R^lG
zWBK$lWeDFE_}@qxj1e;eK#$}mZ*>gyWE|Dm)|s3?lro79j^4ZP1gf|*@`!ij@5>Og
z7!GgkR9?=z6A6=YE?@eN6aU~odYv$<)2i$+>Jn{VUsDb9C#!oZH?t*y+Ik|n7}0W|
zuBIh2cvM>r2uw)CMVM>)A)LB%`Xe-)ym>Joi~-~Fr)mB2Vj+~(w~cqP2Kg*Z{R)tL
z%q(-QX~ky=NT(PT&++5xhh9jJoGOT>QXxNaWOlLp(=;d~?Yf@3q44}RzVcuh;{TrLcKTV+L_@NBj`VzsL!FD;Em*w{xmJz;{dgYT2gy;tx3oN>-iU&igGD|^_
zeck5aX3OsX3hHeU;4}#&htcT#%~)Thfco--i|1VA=?
zhe$HXk=dR$VOGE}&J3xUkH>2QmG>#(yMi1^94#nP?LNx=hDar9Nx0xs(OhA~WXQxE
z6=|}gA`(}n{*T@1^V(V^-r#&_8efWzd?e2%AzJtnLKg=P9vEsN
z5D7zn=pJAJph3quWoXg>eI;VjO}CS4ewgn4N7+K1nTnOnv+sh_9^1dlk-8@&pJnCuqwD|n&l_R1&a{z{b%|K1to#K3rVuseInaaGOnmPO+fn^}<2(wTP1VB(|Pfl#S)}CcEJ(GYWG1Ok)aWh2VcOL|P-Wh&3BC6Se
zV@U-;`ux;LE$&%Z0&$TEShob}p)4d{&v@R8(@LLh?+~+rl}PPng8*-Z@C6t%$pVim
zzwp4{k#u$K-S2#!MRAXJzLxYsnc$0}=BI#8wfCatvCQB7S11hr#
z?0JlfVD|z#L7Eu>HP^t-+$U|0ijFp+#pNfG<$UBd7LB*ji_@M9^;hKh!b~fF8
z1}LVc6O&S}4CIVUbdQAdH0k1$zAfKeh$pUh=cp(L`Pg-YmmZT0*TC#TWfT7uxUDiN
zM3kkyyEvZp(AUq!pM_!gPN7QZZDTR`?xEshvXd}|87gxG!!>r#YEK-^}#pCRB
z$JL!bhe&2S9t@=of#P>8AQ^vSi2(!VEK1j#f*FnWm3DrDclmU(50d?P)=KErFN6FK
z#IdCo0<=0_3ZOvK@xSzYK@sY=1TM;A#6hE`1KD`klS4aS?Epz&{b9
zl?d&7^PGOLhWR^5xGmQ$>s2Xk`IH-Q+2ybd0d&#OxP?JVVF*;i_a4I$Lbbu^h#STx
z`CLv?UU>97MW5US!YVeM>)f1Vxd5!MV(khr%>cb?_2r;|w61uQ
zva~6V+HCTr_Op59ON}yLALr&7V5I^>(geP
zbJNpSa1N0^oPB|~x@YE0zTUR~E{AxdnFwyDZfH>I3cZ7PFXc=#^7czX!>?mUk8+FC
zP*bC!trPCSEuD(~el5iF{mJ9Yr#E?;flE}-7|Ko;PB_ciLt5`vf$Q32h~JmqaFiE%
zAtjXGbuJq-a@LKj9-#9A2NMFC)MWd0XwZ29O*jas7nCo&*VuF*+wJ{A<132xBkrpa4ZPQDScD+r=0#vWpw%p|v~Buxee
z5l#Qn^S(tK4Ub3%cE$9FDo$Jvavya_cckP*N
zdKOx
z!(pXbA2MfAlgczuTlQ=;Q$gC@R?B|Edi>AQ7I&>uYz6AF|Jt>K%>JKl8^9&lG=eo6b(Ze7jfTlZ0cRtsh4Qn508jcJY4U@Rq@8Hyd4&NeRUxen6
ziXf^ZA|nPJ%AETCO}jn?MZg^+x^Km;L^W;uh8j^kj=Mg=#%lKt0ItT*h9pfRgiRfD
zE~<`b6J73(1b~3Kt?lL^wNV$^{Osk2lsteIIF=V!0k!nBZ%7rWY?)uM8Q}$~3aU|9
z3wGH-7Xpnkc|ICo{5*?>8HR*MkK_UF?0-rVLIM3fq-J&Boi|}(x2(7KBSA_fM@_xS
zt8-8k_VV2cv0=zIMdMXAfkJ^MQzvQhh`%TK}6n%RPf>T;k`
zY(Diu!FTS~)hSAA)6A19(naoC#0-Qe3y??JgZX1gTH96$qn%`LP-HYd>RkR;!l2mP
zRX$!F#5V~K@Lu2XvkX*>1L@DOR=?5uYG?f|Hq~L(2#Ds{#p5M%PBJs#QpIYeQk@W!
zpdu29;AF6FINT-`-u3s5*?rt6`|;!BVt39azaIx{Bw_%9qeE^%%L=d=v
z&QuTTbl*XG5FO2Ehy8LWMfChwYH>W#S;t$$BAnDP#KI+JDTe^@B?au`3K4*!Kt-hO
zzG+bl#)u|s~Ijgs5Wf5oVm&8CGNRi@qcQ5b_dl{B;JnB`*KYddQX9ACfd^B<2A&~_a!n{wAr2J3tFXt;urgRM(}(9UxKuj3DQ8b
z+9|W)+nOTMY8y^Sh~WQrN;pmlXw=(Sr}7AL`CK2wCF6x55nrz2RD&9PSj2Gz&IYdA1y8A~
z8rV*>r$AKvA8w!n$8z+L&M^p6t#bxx;12!*rh8-gQFCRL!u;v2yodyc!p*H06@yse
z)wi;Tk7mjUKj_JM(Sqx59cWh?yO2C9V7{V%J3}>9EO|^tjpb6?4(iq{tmp}T4Iwd|@XPN@v
zilikb4#C8Yt8W;38`R5p`2`W|$4)$tc7VCOI>^X=|4I8?$7Zq`cnE6t$k&xW4{NdT
zNAFTr!-cG|_KrDjx44E*k6(NJeS!b(m#n}HmS2%JFs5z{kYyEkXUCcufVV)Pp(cs1
z=(q2KYIHrZ-mzJt=oiw-k$6aHHpWq{2m=h($MOzwUJc_0JrlcNBA8%Yzbe%fVrFr*
zI~Cmk_T-KFWQYL!Dq?B=7yy5Jl&;2gBlmjY)bxO|%C4?hc0}8}+&iXO@eUp*BdLeYxslEc4=Qa_k4ZZ;_!eTZqt>i5h
z`f}9}6=79*`5vUh337-y9GnpGPUZ&zv^K*0Z*WkRiSZ9%Y(Z+CTW=G@*rUOR@l7Q*x+?fZ8tY$C%dU@Wb_GfWGEO*s3?UD=B3ZKFmI|yi|5KDH(&YMdMOF0
z&g)LdH$}ez`h5z_c{P7KZLYyj9mHVGtQf0n#UWL@?FmHCb}_RH@TUNYVERzLjz9m?
z(LlYKrs#J-(dxxAamxpo%7JJ#^>3hvx>4eJ-6-tXg1bS#9s;C*=-n=eb+{oM(IBnl
zU(1KII6f;Gn#II8Hq}(PyHi>BuCCNW!}q6N6ItK^ZI
z2K&aECjq~TMMS2{Ru|R+*a&KEw6{hUP;_80cz*Q_Mk{c|^QS|X+7f;At=?o=%?v#d
z=qsqkBhL3voao(@SD>k?;#U?aGLo&|Hpn<*9~^zp{41DqNDlY1DUe7SjT0J&&-|eb
zY3|4Iixf1s^RUOI8%-cM@dMre?vaWpoFx@M$4_`(CPN7U5Eor1eC^{S2<$6>iZ<4M10w~ck*FT*S;q37S>m-sKA>AT5
z*bO~`vL85AgVG)`qC$5W#BWR7oc$MN@b@_%kP6EiL?-tDNpl?{U1jVA^t#M;{3uGe
ztQ_c)dzH6RA=P#`i2W39!SP16=EaphJZORd)W7CA5P6m#nL`y!*KnND_VFOIM2I%(
z`i>YaKOPQ60Y2Kk_QTn>K@RHUvWPwAK$Nu5|xD%T6&AQR|<9YlLNSg-mSaxB>v&#ZH
zEaI6Unq7Dv&9n3!TmXq1l4SgcuNNz7x&#NHMdIB_ECb(^)kRUSKP^t=TgsJ_LPl{U
z2!+>x>dJI?4*5K9sp;g}b>?iu3~ti0gD|9?{Bcay-3OX|r9}jVJX4gw8_0|nuB_D8
ze4sUrDVL}R4e7!B$W178c~y0|g4ZjJm~+CJ85hAG2re9tg*}Gevj(PRYp>-|G8K=&
zM|YEdjzg4L1v)$2q<7u~>N));gAI_yn8~Ta{{CJ+%b%lD^||7cr93sDv1WP04w?7K
zlPB^TH#D|0kI*pXzzC8980}xg>NML={kvhMSV%%4h)5$vPFnJOj<-exCNnpDN>M6Z
zp~nWmq!%48brPD0fT=@&v}8X`kL-I-8%6`w;nS}B$ATrtZ$^g8*U~^(}K85N?dGFyz`fY@2toA14V-hu%*A)@P
zZS%}8s$?>L0m$@}AUBiZ+p!i6pxyS>|7!Vs?AzXp-cm)sr}lD65qBDE<@tLobU<&LaQ@E5|h&(cv+93#JlL+YcLpHe28HK_#Np+BxKw?BP>+
z2qjkI6TP%-irXsz(7o82yvlSbc={6EmE!9YFUw-!vIMeL6Z-SI9xNj
z$F1*Kg0isN-HU?6ap4QMfCjZ=P_%=}OR+Ro&T7ba#O=GZ1F^%r*z}E-5=?O+^7lyb
z@+u;yg+ep6aDvZ
z$2YZqC{Nk|6G2K~U`5YkTs(PHB#^S6WXh986Y~TS2p*7XU0pk{SYKNzS6i~?jda+;
zBvl>o(ivTqx6UT~sjX{7Yl)JS&=qspmAsc#m>s;#IH<6-;gAdY_6D&+7wqk(uJ&hV
zW*PM>4j#uW$)til+!ZE4yhn87?Pytf#Kp6K>~4?k(3?ADd3c0aN6Q91gZ|Ij%wV7d
zi6o+nnmJhEya0TZ1>%ImXmQsHBSJHx*q`Y)==Nr-_Gl;gV#_X-g2X0xJ1DsiC4iYXieCC&?w5tkBjAj=(aW{t9L*1lWb~
za#63^SOcKFPrK&Lt?Ni`g)hIoB
z8swWr`wsW|CT@jzTc)#|^Dvjb8}A^xv9zgMziN;{kkmwUbu0|Mcb55e2FB_0xFXdJ
zpMBwh^9YXc8CIzwClK`Z2}mtCU9J8$`8zZ>N3`+?W==A6Rz}mDbvu3LOxBARFaDYW
za|^UYDn2IXVy>vHOoTQ;$3l@~?<8Cmd?To#xs%f0{o_D1alUX`#LrSG0wFhKvla0r
z?ma1P)Rf+@zl-2k)F1F~cmx^ivlKG-G&`7@yli7vULI2dXD05>nEA*+!OjF=_=3^yR3!0r2iixU7z_J5ns%Y2
zAPniL&~!T1Wi0FKy*Iu7AbD{cnYLHZ-g=QTfw4q!h+8lL?;MoII
z`uBq%AFE>VZ3|gM0p>%+z(s`;t}0(<9@HpQVXxQDf^>aU!Y|=wSnRh?7Ek?{eVjqY
z>*&tEHjIG%0GktJ-2dy-??9tvq!->UtJ}~HS9oa!|HtKYq|DA^$Y+4vd^9dkCm0)#
z;=Tn!%V3{G%6_{R@md*Lzvmlt3I4v(?(f(%H#f`k#2YTp&*#7?epY}=GsyVX85-eQ
zH4*(Ea{1?h-0ZDN2HEOn4Y1=lA5(`2;-NzlvEk_?ZRUR3+DW^hE!{ZB~nc17NvNs`nmzDXuUhnGtd4G@N_x#b((eOOa{kre#
zIgvcoJt0dP+GQP-sR1{85MP{#TI*&N}EQ9A734`C9U;PjD
z-uEfA{R3?f-v@MRN0w{PPcS15U;x~eENFjzI4n1R7Y%i_6k3lg86FF;SgSccJ43gU
zZTcHjTSUI%y9=o!?F;&ftLj^h4nq8@h~EdEE6;BK51%UPovf#mcnG_EoOK6j$?tkd
zoKAG}gUEFXNVppZRspR~Y*LWsvjT-*RA2M*VVKn}lwXGqmLYI-5j_W_#BV?4)dbb!
z9#6r@o8Yt`!IzqpqG32ST;jTf%sPU(a@mjlem__k=LL}eCD@?`rz*ZbbEJ$L=ta=!
zvATRg#VuD<6p~uwW4C<{MD$y<%KW-+@MdF;D6Q>9`AzO{Fddq!WiTKE%aAr-V5pic
zRGg$0YEL)I?|D@r>D#7&BQb8|Ez4_AO^&;iNy)l#uukT
zu6qYU?_*eBq?cJA3Q^~z-BY%Y^q++)WGE4@lug&F-Vh&*zKd)Ca09w-2BuEFobaqUUHv2by~uRwID~PWKo35ewg*e#`{I8Jeqe85@Bl*X<3(eeyYcQ@_uBdIUl@P9b`@o$vc#pelrt@y_rH#}N)q@|WnnZ$Z{
zxG_~ZA7L%vnSL-CyVu6Jn&0Dsxcd-JALQ&pPDkq;g|mW&JSYA0ni+pIfWuOocW#z=
zmSD}9fABe9Z+lqAI#BNGT+=w%R?k`P*j$PRzjBVaqWKV;p+I6BxF$Z|Ik&TxX)su7
zXvXx8DJG=x!IblNm<&~f53H6sj3YsAhJXn-YU)km+^T~nXNE!RV8cM@+uuVoQ`2R8
zy8HiB%k&y(&|Nl!=vqh+%uVtt>%n-svLgH7Ctk8b{|^28F#^P<_OB~Z*kptG+AVE_
ze4}=59aW1}c;k*fG}viRIly0E-W)^OD+3c0M1wwG_s0REl}#Qi>uu?Vj&!K^7$r;%
zYyqpH=coLC>;W*~0Cw0w+;;+$%+UO|+|-)LV*(Zzu@?E=9w+1}*d%_pC|$1U#Ww7)
zOPLt+9$L}0bQj4aRX+(skJ8HhzYhWAsyhF~AwU67`o0iXlf=sPeckhp8)H-g
zYT(^DlBdin*7`rWKzf;?4%q$NdL!q`&+DK68ZHs%%6rdM@q-{WSgriLyVm!G-=skY
z=jw9!`rydo=K4$or^C+57p#*<9~$SSUaeLjE(aK<(4tF6Yu7AyNGho)
z>u~-<{`!a(Ou|r7)!+X@MuYNB6yDt4gxQkYhT6ppX+o@oHhccJ+evJQ*CQ{i?`Spb
zM%xQYz3Rz?olVPeOWA@2o?Z1JN-Lc+P2a<*j!aQXNVle}*n{pA5qg5hwwQ5oNo(5i
z2>^XSV__L?O8(miUh3%N4$h4pkI-dx3YP@V*tCDFL3hid!|ryuw_gK`2RIy;YecN3
zV^;ubbLZ(R#k!;$)zon!RM@OE*{JtoW?GjT{OPX`7+~2SkM<=}ePfY<{;I~hy35(Q99;%8yDq9fD_EA05$=5-Tw3gXa+)PGK=r)rgug#
zDC35D5v?^YkPC6naF~IWk!8$LCkHp7?*vU7JV#;=PlsjViP%6V)b)D4GqP3Ytle?-
zsvL;u;fQ+{5*$*dK;dWWRE=0Bev{|L9T3Yz*EK-%E@tpU7@xRWJ~hnHjJM>;K=&^a
zQ-4*gnnUO^0iIH8l6aA@B!o@69I51Re)&Gq+0WG)wSL-%^!(#mO%jV~x4zStw!=!%rk}dDd3@jhe}0jUEZ4h=fK0ixz!G
zr2QCzw01M!ANtDmv87vuT5v%MJd0a>{PmjmPe(Q3I}U<>|LaK=1I$ta
zQx7srX{6#KLrv(?w+xatmq(a!7A!EI2f^<0rw59OvZdD1b@*oj|AaQ&t-Ohb(RWbe
z=vCDgBWV#S3%ArBW^E&V$={(bd9EA!k}pGF@)QtvqX`}Dy*W9w08>7$$qgz)TWL6T
zFnPw8=}AqEU57tUK(worYoU=OH9%o}uO%}NT--bJU`6`TqqPeoDL^a`hsi8&jLFLT
zFi=MH5ndMBx68f5)F7D;x{|b=nQgM7rB)2HK24r{RaHe1juZ7wZ$kXp4)KcK%7>a#
zl$O%
zFg|^3OS<&s_E>yU=;g3iTaBHktOu?x7rpO9qJ7BTU43UHzL1U~;A;IwWC8a{e_XOU
zMkQzGMf-+ad=i~6IrY5
zpU)f0LI2j48aqO+{j@wC)9~ZOjC;E(KKij6171!UV~Th)rRftBLLvS>ik_+Ye%3mD
z+3SRIZv+i03UGu+6Q6OneH=K&C36y{_8CET!PNCd0wZ={2f{Klhus-&1Lf{Ftyie!_xHy{;gZ
z7+1HfV4~alRuONmmmta2Ft=cc<
zIy=`o`-xy+@b6c6)F+*BKbJ8(!+|L|YT#-8(;6+{Ymp4T%2VVz%4o_m;Y)akL2_SW
zLS%%}C7`mgPixazn~}CpKpm&+;D-UR5$hM4a1@98S1@if84QiSntXx%=}KV8ODRvW
z$jn1S;UO(y3ETqQS`YuoBC4o>4*N5Fm)w!KK#7|l%Dr;8Y86}^El}3vaK?(7_6EmW
z#F^8t6A}<8_ZXX5JXPFShHHxRwJuWzgnS&+SPjl0-`-(cWdG7b++m9TUgo{{Bekor
z0>nt}G2iw~KIC~ZH_qQ<$+b{j
z+U=dud|uUhsmA%HUKzu|Zjo5UVinPi0_#fiqXC1vEJ;*Y9$f1uM`D`JPQDuhQ=wXA
z^r+)=59{tniqn4^e@-^y@E*n1|Gc5N!J-11B6F5B@?lJ0dQ2^?TKGm1IH2=8O(kXp
z!d<4{?%DS_Y;SMB?wB8*h8e^XN=izM&I85j>gtAPrzgYHR9vQ)Iy)<8@AttF;Q{i~
zPDa>=rw2ciN?y@m9sIPSnj&^HRAWM=B3}uLZar!o5G8>t)iXs0etG5!COK(GeBE_Q
z!`fU8!F*Bq^Bg{blle0mgN_g4EMYPg=3|M8K~%&6=M60ijiW1cUDPGGghygSb{Rij
zTgXm-1%D@xEvZG#nCI$w6mh?hmH~D7Lmp=G>F54dQdlk01>@9)?!dszs+s9u0}FUFKaC9G7*mLV0oSY-PSisu2`;ogf#oU*)zau|F(6Z`8hF+_h
zANN!As?^~0ylub-LovHj&OSRcUW>;Xv%y~G2YX7DnTxM1UDD%tzvfLQ^B(-HHCtJ`
zbSs+v@6Lujlp%XFzqOG^j$n1pC^V9w;kDp2DF*M*aD&(LN&8J2-m5(~+A57lMQkyw!x5esQ+A3^DlMrH;*+9{aEy=?R3e4<(6ggYBt!`t_n3X!wv+^S4kBF&wV~0UflqxGX4ymJb_6Tc?KI-4<65GAD;Uz=Q7pL)JapOnB
z99_-3g4ADi@wgw}B474V^l(sia_{hk@Q2=JOetkXUlRiVeF;c;MGz)$-fwXU;CzQ4
zj=?)P+>jIDZa78b(*E!hJ5%^Q_JMH>i5lzI`pRMY3XkUY`#)7oG+O)H&OaHtlF(gw
zPEgfrLa?3E5%bfJa|8tDrPBU{(^uQ;qcQs=&zm71p^-6QtMf6n5O<|9>(}5&UAaChrNY84Ki*n;Dwr*?U9%8r_X1uwcu_5SlS
zI8>6lzVW35LqfMv1ZQ6sKDmGHWj49ZDxY3is}>nm$hE1V^@;bcJPd~iOB=N@M6)mb
zdyA|qCAvlY_npMQ4~UM$IqPU8-B!HI;GbM$ZdTsQdg+OYtD88R-@aq(th_xe;FN_|
zs<=O%^M`MnKYu~cb98yelx0!>F$TR^hv~BVrlGapm6-<8jSfLo<^862{QujiP8G<8
zFS&{9rrA76&YK%XM66(WbeqNuTcTRvGj&hcZp+Yp|AS>$V%B-}ms53Vl?2qAG7Th0
zsvHkC0yCuD=)MM(r_$4|JFw(k!cLugtvpn=B@-d;4;zilXD_Bgrm5Qi=l(E
za_zD>Y)x8gT6m=VBLsBER@rWgCyMJBsj*bWf_R1Gde`_6x`>DXmNx4Zqfdc?+9q#@W~Vk4r}ivgl&7d&
zIGBILGc_F^vLfw2=6)ykvf`_~*8bEQH#4S{GSb@+6aTzYa8a}y+Y2>v0EhYpsth|5}uvuo%#xw~XhRHHma&v;
zp~jS(X%83=nvXas*vnlP@u1Hkp7SW31+G&7p6K_jlLifT2*{@0?quo_2DJaAm3k>fWh_AY`9rnTQV<%{wD3&>Drh(ba7i4QALbRuo7S%0@mrEpIx
zeat`*MT=tfnu7%j?IFMA$xjSrkEOTo+&n#nVD`4a+(3ESt2_TWh?pb}%v%f7MfYyx
z5~_=Iwvl(3Jw9#B%*zr^qF4>ikoGXv^yKgsNb*;Wjh0&1R+$Vm^SJ{--AzlF4r^m*
zjCVUEurkB%8B;acm0)ZO))M{xo|a2Qxoi^nPer&)+H-AAXkDFB&)qM({;j~#4GBHM
z*43hHQL^;k3X0vdO79R{aq6;IbxI=?5@;l13)%G#r!q4~K4G})pMWp^?oO@n>(Ck*
z`q#2g?S1!RM7~hK=}nwWc??-6;(I9RhGp=y!ooKL*_*i`yX^EMs6@}NlDdDek=n2d
zty{!v+01a<+Hl^*&YSy@gTFnf+)1(YLX+{ZX(DsCis0h2r-|DwT9x!v{*gF&LwZ~;
z@0j)CzfXTi;tkwT%c#ECUv8^E0gflFkB=_EEgpiY{;Ob=Eppv9I))1bAKPf0(Gve}
zNrO}$Oo!~dFw8_p@Z(F$p?&1&ZGudXwc1~#+Wf>sMQ(jPFsp_#TuI3v00}-oWSlOh
z(jzL_n=J=ncr&9M!mbW)Np_rEwJm7-LgJ*)|H0GmE^`=lHQpn!Rlu!B7vZ`p1dX#>
zp05cbHBb+}i$;yvx#)ObX{-}?d4%z4E;6Xbz-Hv|{9)NW1QBHNC43<)uV8GRBxI)h
zzU9JhSx$vywampLp5C@bb6+jKTZP5ipNts}1zbJTNT{fn2S@Yp&ELu~HPk$x;NWOS
zwY9yk;=#)zhT_d1`<&8V%GFU8#dOcsZN+seQlPr@CY48otmJNQ$JAwb2dv$~%DgtQ
zfk+v_xir}igm6XA^MV4ljk+^$9T83?=y&K9gn9B05f$D`ZcHiCyYyGXPmu|Rmi4gk%XE;~8bq4UNqGql9c
zt-a1EzF)0;k_s1|=0v_9^NPF7T?sb5PcXbF_eV*V?Q-8jE
zg)^CQ_L&!3SnDL3&b5;^$85E8oolO4kv~bmCm~qG7)ow$g*T-=^b|(t$a(Qlc{;7x
zL+}mze1B7l_`<@AN>>k4_ES#>EQtl=)JsafMcj{`ye!Mm~eZHu=>;l`F
z8^PJH4Rn>4XJ<}BrXMa&Q^~a*gy9BVjHOtT-9CKe(<~&CaLsY0NWdiJQ&JLDTwL5c
zr5jtT1$DDn&Rf!!mX<{zE_uRzvwZfm=qNfqVx4f^B;6u{
zseZpyG9Ux;VsdWH``*5NGat7FF0&>~-?wi}$wDpUS`{eJH;o!JQhstZH1LuRCSRPP
ziQmem`(W!sI
z^+}6I0+(8Fmt^aa(%
z5qGjOZ8gds`arTy_jD%>3*BnIp|8ynEF=1+9hKVnWWDe@3s$~{^m?y=a`fO$v7azi
zxq7GXeqd10C#oG`SSJ`FrZqKNpghq`m`N`mw
z)32gc%PsBB$wImr5b(lX^zINCsxC`0L>gGw-VNC>30B-spT#8T_e*8FY+$Q$K`-%p
zm>b$;$>GnTNR!CHS*yJ(==|~Tqif7F6dLP@xL;jd3uG3THplT?lVcbDN|laLnK()8
z^by%d)ZNV)9;#oz=AQBoifX=GY&)DSn$i2(PjHqXP~Vg-PqGyDA=>yyM!?qhd$vLz
z(RhI4EP9l62A?8ug1byfO;L}hRg2(So02Vs^6u|VJW#y!B@N;bZ~Cr%o>Qy&Q5%CZ13r*^PaL?tRUv3W;a05$kz#i%e$Of1APC*=I(`kE7G}RQGuC1
zf8`CS^D-4ax_|CeAUYs&reSH$qL%}wtf6R!lO@E0pJn=uj2Nz#&>egQ;uqu_xhJHn
ztKYhAq6RK4hO}pDC3GP5bETNCRImNPsuh*Si;in9Jex7n9#7YPJY*TW90ryA@bqxo
zU`mHq!g;a!sQdm}R1r`6R$5m#c?Tj5Wee#}x$3W=39-0|6=MoSx{+b04l0t>nLc6D
zW=XzQw|>F$tXj10iKCD+eTlbk?Sq@&f=|pxo^ViiG=3+YvmG`{RG~LG*=F%9WIhki
zzSIj!&h3Ayf-&qvffcm1zYmFDn{;;kNTP_hh}70P^zPIZdzY`3SF+GuA7?TW%WXXm
z^3IU73@TB{@a7Gn7NLTHh;31~w6`Gg&W;or50~p=KVO`mza}C=4Y#3N{M%d4A*G%UDnnU=bC$S-
z=h)Pp?5d;DAE>TPv|S!oc+A~R{6dR|4$ByAje8yrXb_RY#7%kS2GVnrqy`u
zyt)`|-$J&~Zw>FMwAiP@BCjoyDm9_)2^vATT_Np81B3R#HcCT@L1EGUs%R#IHA<(mG1z;azBX5E5?X%W;ssnMDhz;ybq}lMh_>kwEMi0P64=TIFzUVtu6|cjS4XYKVGB9o;+u-IJUVuC|CE(=
z)3hh)6@(|c>(|o~ssED@-7lP14+Mnm#@%0ND~10wS@AoP#vlySR2MjA$O&p>q4$be
zqI?aP-8#6(Cgc*07qU|_YqBgz8!5}~@{WQ5eav{U?7EfEu=@=)dKAl0Q$ua5Yg2Jl
zexKJbUtE_7{Sa+v_~a_5tnD3cefaw@6GKa@Ys3mTq6klN#K#LH$bu+Ft*e7@MH#1Wj`_L!(ECJc=?CInTiTzc3MeR<-TLMK6d`FXaB=&
zl?0hm=EFMSa=Kcq0G0bi2G!JnZofff*K!fUws1y68Hrgk>@5+^JNBmkXOUC#o0Jq^
zXfo`HyNZ~xOkEBzUY<|cou`@!`L2B6r-@K}>0chn!D{EZ`-;&*Sn&!8PxXc4s!3dCz5Odw8`UL9K
zD>gwuy)4ZeWY2U9B$fUK0}FnY2C%+;vKEjB^DUbD>k^u7h-kCK6QH|TDr~4{54(P^@?
z3r_ygQ9?YGUN>6?wMef7s6L368r-+%X#0X2Q)rsW*pw4-Owii{5opeivv~J(CGM?O
z5jO!)R4Np5m?%N$F}z=K3KVt%K7~6^`#$}>43&_ZiH?7a&{)-KJ)P$Wx{+gEZL(eh
zgrLwZd}q_@;H%1(B}|XKU)9zMn|3Dz#d4XQL*eA)wA)*I0Ql}gY-}uCD=%eYLcg*C
z*XzKIn1zLfPjhmZ;d<$>RW7!Eetz{G9XVXo7=M$h6J3|=l_9FGM!dV6%4&lsba%+o
zF$8BJAXFzZOunJPf&>)uL3>tNYm~+!dGs3VRvCB0;*pB-aGF)=o~txJgO59wV#rQo
zv9YINCZlConYP++T0JDj?WP$yDbh_0XqtuS#I#nkrAq{#%BYVeKo<7%+nq5l5
zaWx_vFCEyIwt%fQQfeWNFA!(rj;fv1nIfM~D=yAXQqHC?lz)Hx5Z=gv6!@z~E@MxF
zcjNrji+|G&kKgk`#?m!bTZD*xFjaHo$U;tSqSgl)elJt66O=np
zIU;hA?8bxVlhh^Q!;3A%H-Hu~ANsXF+}S82P5wvzz)YU}_DH-MZT8f^
zkPZhW23WEC<;})sp7uFM+|1`aKZ#JrvtBkB4WXHsxAkeOIUAp9Hi8oh@f5IJ@nIDt
z)zdu~PxGQQ$^u!w1
zIGKnS9hf!_wB%*42v0}9Sb~2+%+N;aQzdAtbUjkG-WDn6_O7dO-?;4%+W$b)PGI$7
zl#NXNj&Nv&;J_6x-CH)5%q-^7UNV}=sz37sJroiVMo$&Zz-)}4Xb2FAsegrm)lNgcU7TEBTiz7XOmKa@GR}I1cF}?I#o-7|
zZkTEY&UKoVmz9$LBM39O)P}g{5-DX4*3}epoZvgyu`ZsAiob5OA*$I)@g3u?V-xPm
zn-ckA6@Ti`N3;D1oVD?yd$^E&1#PvC3J<@n<+s>Q9ZKnuF(k#
z7*1+!rtzrezLTk2EAlV`id95eAR&vwb1H9!^|-9g^9@q?NVFR5im{!%eCoNn#4jzj
z84fdMw$G|0bb(02hFaX_C&6oml3o5mVAea#+BqgP1&LF%NS6)OCD|eF8yKoxCA^p;
zxhcq6Pj%l6z2QOAw8tN?akj8&fZ>B#+->tbv*SNB?2kAmkdLrt=9aPB7dw80su=7C6qSs})>{-B4VYBsp=k)zPX
z0rb{_*wHf!_UTqhYQ7`-}oZe3Yr@@ZYqym8aA&ZD=3Wmy4lXUP$L3DPmbjc?#O
zwP5LMx4XkY8y@8w>RKM4ooy-*>?bh&=H95+^CF3c4yzs*{VZ;hJV~(QG#3;TBPmOpSK*=3GwzTE552if|v5n8L@TjFdUszU4olrvt5hPge_
zbCo&F|KKe`puCu~r$Ar358C0I39$ijbcs7;NR<q$nj2wL~!RGU}a(e-#pSx7o*5z=v25#7b
z)`@NQu>fd^Pb2PGN&~ut`Q{p@XFarc9nm^*?HeZF=i8N5?luxz_$)f+(|p9~uS2NN
zUy#SGrxJgbd%%A?lJZaZ
zp`}H^>5}y<6~URl+9?{LGHBB#&zg_uZd0R4e*D++D|`Y4g*-%EOEU0(tDxD|K@}>)
zxn+9))y~Sh7Jn9TwQMS0l12oyiEQs#Zxv;3Q!lTpfFN2{BTfv>b6q;dvR{~b7IKlT
zDn61>5(y*&bpWZ7`aJ|4Eb7R86--AC29%Dy1xPkG?unatt?Dxadx-F9xo)mBhm{YX
z$VE`*KFDeeyUV%#IY~`<#@vhYW>QrLW>{GD?!d7gZu-I8=LSIQ)H!AJvmfI&!@kd2
zbpBd!&GEJ6`2VM!yfO{iaD%4-S0JO#l>XUVmyUp(sDg42I#
zx2%i4p!@7VWXQeWzeY60&WV@bhTOL-#7@J74fA4l7u8x4XF*Uh2I@k1IC
zky0)({K8*Gs8Ma#Q*xyz99ICVZ%qfC>K^htr6u2zJ{)y+ruZ9T2D<+zccf6|q-CRa
z7!l$-W+|!F{Y$3E1`1pQlW41{HI|0~q(JL_s0*rWvmLXQFF&%f6`kS)`q^i)=tOK;Nk0)o7y
z{H~tjnzpkRw4}&y^SxDJT1oH?H3hBxt_W|(o-5X!HweL3S;e;CS7BuMgr)DkrR@Xl
z>D=Zyk;I0oVs~SW!26iaS!9|P@mm|A*WtWqs?{WB2_wbU%?4cSq%AAMv;g(tT9K65
z*GeOY`*%&exTZp0)*PM?uxeJ({5Nfhz=kq<5OWoTf)r{AOLzVlBdCq4c|KD^9kAWD
ztaDZN))j94qc}v;OnCV6Zh*(kXqBfyO3!_17pBw_45Unc99QB0*i+$mIR$~mx=j=3
z-#Fi73zrX{ZSzh-(Q7%
z)DDn7yS49t=&+3eRVwVM1wKx|mlruRJ3Zy4waH86U8XOAK3o$`AX4_tu$#3B1l5)yab(ODi{
zH?17Sx3#qLF}$up-Cb|yp=$ffO(_$-`gl?5?cnX%pm05FTpdd^*lOE4!ti-6b9-q+
z==&>ped}fr+IJ~#UNCF%@zH6|6CEMByY)>8kA>9d=dXeRo|(jTnS;5Iio)ue(ZRyw
zM{eUyKa7BG;h-NOP<=+Jtfc(U>40tiU6)}0>R|5Wt*(YAum$mK<+ks->MyeX;vO0$
zkBdAw6cs>J3Wg7di)zO39psk$F#{@o@<;wHElbFs|DlM%@sQfQpg!A`snxuo`7)dO
zySYDPz=M(4sgJFlq9k}YKM^tB?sm;35z3C%sWhYB2os7cOjdjm0XSwq@Mmp;Fke&{
zf1Dt27r2yc9-Q(8gC#hq4U)3*F4d4UuoP{80B~HKBSYn01_Zbn0V5UFa@`;&?&gVX
zB+X%w+@+6g+WpVJJu)1j%Ig#Phh8G3mfKwS8|Kk#+z!!J6!QkIST>u2fS(?v&p9Ea
zz}%dE5KJyjpF2BJR-Pwz6>*A(PO%cN4>gr;hGjK`0^v!Z%}QMIuz>I>_ub;cU6pI#
zvS@~)5#=coUk1x0b+RlqJQT9f%P-|vzKrm{mPEZ8Y}R)04a&DuzQkb4ZK=nEMKNh0
z_OhMW6Nn_YH}n{?az
zMp@Xrm0=*bH%LhyPlr;f+y{HpRzDru_KH3Uf!EB?wIu-lDNyE9cP^*yVk@u2zdbPW
zVX75;>udVqkWrV&i}KjTh;4#*gpw2I{PKF|rLA8R-VoW&L)nyrgAuL9JNs$68wtC&
znbi2`Ia#LLTCOtFJrlf@dkdJJ&NhrDPb($mVLy42i(ByRu3y&3n%oCIS?+8WYlG|?
z5Ge-@W0G}f0vmDgcncjYX?aS2+&NNYjrxbBbNTh3g{{QJ==wKMXcPJ6M8rqi1l^T!
zO3m~FcUemg(LcChe9@_tvymbKZ41z|74YH7p=Q@u^}X6R<37eodzSHD$-y)E_F=o$
z)is9kiOCox%eu|~V4kpTlV@&`=ZmZ0Nh05ns|oim8~HVR&(n*BQlI+X-3XNv$vI0f
zs8LaD1d+78awk0rMQm%bH?d_spM
zySDF8lX+-fLsjdaYoLFWX+md*!a?P4IlBgj!~U^$ZxLYOy%%
zj`B#5A*rse_+kdQ>*zLLj(7^%dfo;d7Sx^&u(wf>5Cx#&eN(c?@J;o9HRDRL_hou_
znHm6!Y)$CavJb2toWJ)s$4R<~3+nqb{DpQFn4|NhTGcnHFjZxx29E?|jHD{Ag5hm_
z=(%tHC4|TX6uRihT)6R%r2jH*3mav(OBP51zgK2Ii#SufJW`|7hj{0nCw@No^@s4DWp&_3k_JCgZ!VfZnooo*eP9AP
zmY^zH?nIPpMid;bJKTQGy$`-
zjJ|ma756MaInov5ez8Q0f`9b=wwaW;!c%UvJGq4*@I%h&;`v8KN7gRw+NHR^20rET
z{!AsK-S?L~YZXt@9-^=hM9#F>*Md;BkpANSb;2E&Vo4v~`;rPc&6^nxTOFUTURLK0
z925CeL0(+P9}1P}*5P*)t;vQGCyQ91l{|}3I*bViG1yT>X;Bw&o-`qQ+9qurm2!$o
zk-|9F;}MM!SU23{#DgPFx-LCI{`Uls`zp6$n2Cg4M&9PbM^f22>0if!I=FM
z8MzD2_3^6bz8RShh)r6AA#(9pVFUL_N`^O@=+oZ@rD?>VREh`Qj%BX|_U!0e$manH?cMta=XGPzp_Z5d
zh3_FZS^U#LZ`MN2p|<1Xo|JrWh$Qios7U0w?Ba91jh%++peclloObfdwMr%j*!uPKQ<&bvUy6r)m$kl1gS@rdqy;YIJgboSoG
zj^;6ox5>A>Jv`Z|^gPI;E#n{N-pny?^r^iQx=DrA!cHBJyPB8%o(wQt>mku7xDH&)
zc!ru9%~8Q2nOjPf^lH~>YvC;l;t>K-i!agXLrdi!qbi&B`h|{ZR)p}~*+K!%sR8_3
z-*xgWOKZU$$mpT6y%;ORl0g1c#sM?$#B(ZZqQeP-3AlL%1GZ4>d!`US5XaYk*`~yQ
z_m|UEJu#X;VJ?ML{sUp*j2!FKRFdD9L(|e-&MfpW-2G;3V=u#8Db#VO3bn`xLNpnF
z%^`}vr!9Fl1%z58Bd2>iqlaDkSsy%iT(YwLr09=d&j)W
z*+1e@DV$F{!sl~?>R|i21KV)9mg;y~vxKF>OjFenZEjeE^br9%D&oa*lRF27W2tp8
zdr;`b4`35Z>l!x}*F7f#)gFr{siUb%@Qsp&BlmY(%j~fBo2Wp3W@-E9&=X#0JwIj)
zE@#+tL2P>;vUIoJg4ypE(D_QXmMj;rpMhHr(<#SI{^At`umVTj`!&}a^^I@-WiYoi
zr8eDppV7bj-^2JqGwI)b*CET23rYe@_q;|STd_$ZDMrpi_M*_yb
zh9n`&ezm9pm2h`P4$OAV+F)Vg$UIVrwq`@DT}9le@vJ4MMK!J9wFcv`q1Drx7lL#a
zu^F#8c)F=yV)_WZYHrLXwv3BBmvpu+^u>~Vdy8H1)lT>Wjo_B}Sv$T`IklRzGvcp)
z6)rVWIEWDk@)2-)khevdP~EGvL>bm=dkVl@F2vP}$#o<+2S7R{iSCcqY=36pQhj?0
z4?Z>J*Q|wv&KnS7_|l>V0<-Hnrg85#J^N;1k~RY-+dnS>%>RU>`2p^mTR&}FUFcnS`tNpX6qL7xs?YVV~q~!=F(E!PEQ*d01BwY<*98PT64*8)ybZhd>
z(>E*9)dEGDRksBGdsZ**!YSH$ZGb&KzKK>-+dbls$pjwDD61^gKd~+X5BgntXoN$?wDL?uv;2|WM$p>iwII|
zt*(nk4bZjc3)xpK4+l}~we7)T|V}jFp<%F)<3CN)Qz}3G13+!qW8hB-p
zbC0v%oD_Z6@J)gX{=Yr(0^Uo
z)%wU!RYmktYS3ep94wYs!E1XPL}jw2FI$a#`khOwep3JJ-rT`MY5$9xn{utd@)cIc
zdtS291dbYb(1y6wSo|VZ)F|mnS7Wd+?Yk_$!6wQ)>K_iDDgJa~V4M;F@OAp5&D5HbaJ_N1^KUhHjpm2YCG~IMt8W6xrw5Qv{dju8F?FeGwPt41V2GouOxZ!1n^?MS7VN;vyP#7*W(cKWbo^r(
z{0HpZDG_+=Ew8SArS@b`+Y`pnEsdA6AvZyG#`EH(r>7@QlK%~~=31a6fO&O$dqZu2
zmw9k#6)~oQe#MXISCf{6r2(%vhVF3UYa3%1S=~PefL}XLk?pq{F!hfjVrZE?Etcpk
z4D~ZtE!KS=#&?<7VgtgU=YHG$j0)+w-_AwSMH-wd;6q%4a^$r8yY|q!A}gXOY|lxc
zN&4vK{LeEf+q~mL3C|gfIS}7%nZGLNJ_jTX{EaaXMl7RO!y;l=7^Cj$-vA2#+@kcr+TJ
zpVLw-ly~V)tcpCP@h9?Lf#Yd09B8?r@e8To^zGfa3=Jpu*Po0+Ck)77&os|S-uAzE
zm&`B^WutcdToGHAq*_fu;swCc#_uvBk8rGE;A-%l5w_<7^9wZr@ZpSP>;}_3>0vYo7p967uL)f6|e1X0WbqpynTJoZ^!%
zO&!jkhV(t`JUk?Q^D_J4gdVt9ff$!NI}Xfz{mDO^bt>^n2#zAIVS6Cj=am2A#fw}0iXw*J+rxR$yM1$1yNL)1xBBk0HH?mu!8W4C
zr4ky6wf<9o^w#O%;IyTj{g{j?KfErkvDOe!^`_t~QSk}1t&F(x;2Dbu1wwt3ofj?p
z6r5iMJsqj+dFB1P!y)d3pNjcUlSB}IBs-Uq4_Z^OTO`)eEY{R$WT?9o=Is$N1rxp2
zfgaqs8p_X)A8TagA*r%TpWGintyIAEpprpw7lSNs5JNHLF8jn@oo>O?@hT(Nmx4M)
zkS_w68^KUG8$cIpu^EbjQY@iU=+bcG*z74q+T`&D)_?%r9m;B<_auAOw=WW%TbJ6@
z1Z)Jj-hMa$bNg$YDqoCBcG2{OE3#K=MG}1NsVSSg4~&5G5KyVU-HkV{f7RDen1_7%
zFCh?^$*k-%FM~}=O8O11E^LFjrD1R1Ue494AzvLXxGVE{FiUbcJ%RW3?Qd}9Xp?Q-
z2?jMawb1FooaX#cnApl%1Cln;>X~9^V_$S8AbBEwVqw7ussNd0CC8L`!w@UHyqjQlr`a
zj@0W2{wS-^Ha&v=Gt~NjweZO#YgOKFrq+H4`UV1;Ws)##r|)6!5!F4`7T@nGuH)o$
z?+ue;2B*oS-PawLS9H3sz`?&(R5&klddAZ@jL~7*K4ad`wGkrz_xN6yj;0u#TU-o)
z$!OFt_%dsZ9s~*Y-ZhykMak%vqP7)|p#!YvM7Uz{g^)zTtsHCSB
zRJHPSzj3@~dvY?JrZlsx-)(r@hAHLW39VTNo6UNN#o|S0mO2t>f3}1lSlNhx6aR64
z?ed3Gq{FQtXU}M`tXc5zr0`=tnXPn-(a><4q<^Qi{OGGCtG*21C@29hHNtBOyb5ERkWgeP)|kugKT
z8~x8xPpZPA=x-=C@nZJ(=305lI_O3ahJ)8{c?R{8*PasQoBM?jU>zhez91PLyxWDm
zTu|)kjw3|0hd28FaJ@yT@CTKbu{k}nwGA7t_6gK1uXY78`^O_xbYA%@+w(=z+Z=l7
zYl0H~ny&q`4wOhv!gn1dj(>eu5-Quctzf2WUL;K~y8iPV3gQYiF?6VSKvC)vKOn!{
zo`$tL=LbYi#cOR}$nix$s9t8Wcj?ZwQ2GWgs)JKIj8@FCxf#PG((mTbjkqg7@__VMG#LX!?+
zKYxEQh6vqhR;+WNuRA;Q5VPrB!o$PsjNyRNfW>o!CAMUBzrTZd(pCjtB7oAent%5Obed_MEzyMFmDJ^(tat5f@7A0YExbp)6x(mT3O$L6o67;I1=IeE
zn?HP=D2O?-&<)HyIX1wDo$l$34q{Kr`v-0vhdX`b6Gta9)dy|om9PDzVdRn&xpN7Q
zC>iI!9XJ+J(TR_z2(#2)!ZsBeA2NW$aU$GU#wi}{?&ucl}#=hXM
zp0cmVlG~W$quW?D9>H$=ngUv?yuErKAg7G-UK=lFUvHXPo#+?n6=GA|YB~Ydlx~%{
zIOgB|cspDBeAn6Mh6Ysd@7+xn_Ie#2ZhvxeR(%6Z|37~GD18V&
zlRHay{5j1iD8R4*Vh7IubEb8ry@N4yn;`bau3naqWs_haa1GK5Zl(2gU+`rDqELG4=p5_3z@n{sfCr`P)p!40a1r@#Xw5hZB@%lHjy#u4Up~Gs%*eqqHyHW($
ztROL5(hcM1h;bV-tWx&Fx>Zrr2e*>6e29^*B)f;A8S?0Cxw&n9T^B|O^wVldpF**%
z;n%^@86ZI)_~emF?#tIrLu%AuII}J-3k&84@F=m-xqOyJhO}sd3=gU-^awsf4m)6R
z3-7DCntJ1YpkvOgqAkY|t^wV}bKu}Z{_zVWmh&iJkVC{kzL=lgH~wZ3Nh7DKcWz>0
zsNTohcaIO|!rHsLG3*>Gj+4Rk1n1h?`qq@!zOL0sA!y)_Vd7vFe0;Pg6QHv^c4-fvAJ~fbo`2
zYLXP#3EpK~!Ek?g4GbgDIoS$ZU1^ZUrZ+{L-T=DK!1G9xJvI0Rc$0RH^ytaN68XQY
zJ3!|Y{O*(NhsL2i?IQPG3mDUdCi~%s`@7?Zudkwjxp50td=3W7N*fu`Y82?b%FMiR
zn}1Pf>bf6q`ax6oTcV^aM<{q^Ufo1>HB4ZGL|_buF)ebSq@&2`&(Hv0hJbV+#E;;N~A15oZ~H^OP|B{mdsc-R-gKKHyi=^_lKBt}eP&hM#rI
zFYqEW#nx2lbyyDD=%lQl|Lc<`Qs3M(c!_X!_T|tn`Q#P!9|pd9YH*((_p)qZ!99}Q
zu569{EK8Ny=ejq+CCI9mIDieZ$(YlMr-?2X*b)8o6@#>&7#pXAAzg_z<#e#CgV=fM
zspvedmDNU3z^TW&axKp=E#tWd<|pGRQQoUE%uR8r55S4%Fy2P-uaaD59Q}9OO5Rb7
z#*SmYd{I(L$`CFr9x1n_Mi;9vbmzC*Z7hd|3@VQ`4g{FnIXG0#Z|COa6&bZ$obcGJ
zAr*LXBRe}A))fYP_pLu$p!VECJ=|HQtE?>zqxfBiPk!qB_z*Exh2ORpnADI~8-%RYd$e4Qxkr&IL;^;KTFi-l%_>cL8k7D%xz}DEoNMZ5>4J4HK`$9;B3k?X|IMEVFo=
z#v&Z7F(40uMl1!P-CH2aU!>=IN}0?}3m=e?t3e7cK6PRIpEs+LOPAqs(wjHW26Mof
zQt5Pqxyl{&bh^I-XkwVX>c^PuN!Xt*|6GmfboP;`C`yvo-h*77PlPCt;NFL~^~Q>e
zi?h4$EP=)GpPic7W(nQ?5bO~%LEPJw=M}B)oCu9-`l3?H<9D*{iB#7MnCG}~V5iAx
zy6e*LTw-$k_Gl5(>wJcd!}}5ohhpUm7|Qg8ggS{T^ZZ^&fDrc$9}mK&Q$LRwir%>E
zg>gMnR4>ZdCB3Yll=qpN8s+WVZ{%H37rFM83I=n4DVHrW
z_@v-jvQ(ycYb;yj87vinzHn+j_eM343lZ6@OGIrYWOuJs)xc#8*;
zYv2)d-b-~K1?|=PQlkJ8V9B{HkD-*p)MoqpUBO=d80>W}P+*#EJ%vo6Vt22&Sh+$`
z1t}!^Oo-N-5@vpMiyVL<7z!`^n@)X6I|l
zGCc1o-1)XJAJW2Lx(D}|ux$Ih!u?UG-$M%F__Om}6Xc~Od?%qdoVUUQZGMUYX!CD=
zxi68b{%&#s(w1w-xHYVqc!7E30f=DA4ml^SETlm^AnK{4BiIJ>jg@ykk8l&;fs`>U
z37;2*^h5^@1a_?Gbz*mZq<-C(%1{r1f7aBBA;`Rx2uGI?pim6NTP-3t-b
zftB6H7fFdWqx9IKOS`;3DI0r6d>DvN&$lele;rYHG0On7aVX5b0#^$EXCDb3wnfcG
z*s0PSzLP;K^+s#KpdWl(NDX|L)7ocRe3V%df+?WUbE((^RSufF72j;=X&IyjwkKO%
zC6v9y!gFrSiuO*cSFtjX)xu6=6`uz>#09bek4HPI&^IC6e##;|6HW*Xu7%EOMcDbi
zcV#e`(KVx+`EMpMfjIqj)MxNq5Afy?ZkhJ>%<(REuc0wjHmzr|LE5lg<~Ee%;W69XV`XN!K#S(amJ}(*Yq6H2}ITK
z;^8nwTzD>&tji#-TLJZNUd_k(aq~uAe!M*YPH1uW9yknP`W^X%D56DIYr^mq?iXo9
z)qP}Zt86B*>=yWn0nA7(b?FzKPG?W2GS6)Vo`>Ex^i_xK9Z2Ayr8oNNn=w5Z6RKa6
zq;CC(d%J%tA1&`Xz&zn-vIDQSX0+M$q5lj`PPD(;%B?L
z9a;)>pz{E}L!XY2PU~!dib}d|B;SjwUxAABo8%aL=~*l)xP2Uq#edf~K;SW}@vVYO
zkXHd>XKhQ?^FUks3W#r~uBU|j2hRNBb2a-_M#{%!vfl85%&%uI`uTA~UkaM;C^DSqp8Cr+w}Gfn
zexI?-P}wQxEQ0X#T)~*5@s=oH+GlI~)kNG`kx6q))f^@ou*6>d*k-PeespiWQ)_Ce
zZGA|T5whN9#?wmlzSd{B+3|BWd6yi+|3*7+@B60>Oq#a0HPuBvwgaPwS=-Kpg+*9PL#kyoV>iY4B
z+-3KP0_`w=l4=L6A!$K&XFgTe9uZwhZ<4%S0nm*izY~Lx9wm1rC54o|d5mo6ra4P2
zIV6Fh`4r*|l}t6w_~#yH23X0|g#^*22?Y6@`3*-!doxT>t3k
zOKML>h)P%5lwa5CDE(}ya9ZuqH@C7fPV_r?0f1c|pJsZip&vn5PrE{3Zxes?T2T^n
zr6`-=5dU$~xRr0pI-Ta;a(eXF4@U+3aaI&s22C-ZDV
zF-6NmiD0$kkH5W+PEzaEnLwQ;(sNAFs0?jcQ5?bfG)jJ*@vV=`7jtGp^Mc^By?UgN
zUmaQmNj~3eYd=HA;IcDQSjctk_;H(G8+o=d8+plH5X!5nJT5KaN~^2;kJJSZfr0O@
zkGiKtMMZf^eiLHTgH|gpnr45yXxhK`tgtPd{40Aq#`Hhqe{
zJ4*XwVRF4`-W=mXsuV|ihoDg0v
zE))t*zUk>{o}$o-*YX}ztm7_BZa+?}(
zMsb<#t?Hy|Mqere#922#W`+Un-T{EVk-vpEXg#6&+566@(_EIwk5e#{}szf6R8~oesPv_Uz7Ow}JvrX=!Pml6b~3kS1qkXS+p4Ms{|Vmfq~P
zYUJaBEE#8RZ#t)O9{x2?S%Qj+iiUx~q=nzm(C`EvUd8U}3j%6;@sQL
zNtZpLbwgZ7?o+oU7QxZSH_$Cd&zdONz@dV!Uod+Lp*O-!U4B-6}!7cbn^W_g(*D(0;Ecob@cV^Y6vF9L`609^x7DAn!;H*I7Y{ytVqJ@
zZ+v?BBCwMX2`JCh%cM=<$S9I9dUbaIAZ;VTB!>N^_iY{cgcKPnTi6hk^DDWI3@nO|
zPt$_X$D{kyRgmO?aR_9asw`Z}V1EIemW7^ZY#P}~{WI?;r}|q($^iD`)oIRHvro1O
zS$|@N+5e)1e&J5Z1%&)Odu*>7ad#tGXN`pG*&1rxiun9B&I(K5MM;evH8TfhEVQ~=1NaN1wXC%fDUj7*{nIeq-{*_}%jEMd
zrCTwY>Ph#_nhkJUe`+f5>jQ~3Fj)?N;&6aKZ~-6RmC||r2!wYcBBJwr4s5V^S~^T@
z9JOow$_8eJhlj-{pYI3JBr8H$^ib`J{`|Ov{%iGUe(xzm?N^bM6wkqo5Q|p^)1s@z
zg?jZ_j)$gC7ib+8Mt0eJ*PyE2y&33J!hh3MpkcW8qd0)mqXy@yo$XOj=XpH%I{4f#
zPBLY_GC=gz&O9o=>RfVqd!PuSa-4o@aTO7N{P()Wta(a~*dPNDA-oL)2wxD?)Vy>}
zJj{Eb(o1``yXZV@=9_$cntFPeA4Jq5I4$2cWPDQ3kWhFb
zK1Xvh@-5Hzc5O~pM124Jk(v9M>JRp2Wo1M@0Nkv>(`&Db_lMflZUjdJR#NF)?T64xM)q&x3;ar19!5{jSc%)q_MI?IZ^(*B$^ZXJi4i
z%m6XWISIV4%e{WsgSJt3TaH>V#}fia(X`X{MgfAv4`!cHo3YG59N!Ks4(HYtpP{xb
zS+IbXve5UU%)Aj*V2ks$Z?p6$LgQY1e+QHu&_TcN`UInA9#8^sqe)5s+loQh95Fx|
zav%M)Cvn5fUt=RrTWV^TkD<4fjf|J|dYy1ZDOEYp0*ZV-^cSC0cUg7y|Dn+UdckG0V$&X3-Mq!EZDYMx=|N%Izb+uRwMJ69wW1
z#1IFhE3DqB$05IwzjI9ci!hcl_H#Hm)G*UJ`L6owl{HJJ)S5IP(@eZO23B>%poiAX
z3eMZSw;LZH0;t=F;8eBcXCS1CC5*e?v?PKO*U(H$_}(%9#h(lB~Y
z8R>dMOZwG9K?`8nB}g+_jCj$4F>x@#1WelyE}r_2slLH-s8ykH0@kZ{9*M2I*4?gw*b9?dc3sa3Q4OkAgskKCnL^Jcz_NG
zL2!;xG|#+wKxJ)Ld}H2FxtH$#4v2#N4d*r^G`grKSqqzI_zf7m|vK-XS5RNwTzxii)3_
zo6owrxt+kp^%SjEuH2`cNwr^v222f+Cgg;K3OyhYdk9J{gj84gMzEXlA=qr%>8(@)
zTTjqHQ}c5pwIxtc$)##6^O?VXBoRDMrqS1+x+?$}VFc-j?|gX!V*Lr!r*Bd#8Qs*UrOj`SO@Je|8!++f*pGxq_5Mm;tfr-S(>e2epOWSjk*-g!IIw%|*
z94_Z=E)KXZRGXE={txaB&cfuNyWHQ=J({o*U#Ok$od(tB8(oy
zPT`GDs&YCp0SjkS(BMXPIl!mH%hqu-t+a^Nx>R4n4k*>NK
zMHe`r=fnkVVh8j6SQCO7fD&8T`aLO}_aDDLh;cCyqEqgp!u}WT+S_wYPGzdmzk}<=
z7zPAuer?Um*B1xMSt(^@pN}6|u2NIS78PxHZZ0lbKKJs{UYqSX&!Tf*pa1tyOqT`V
z9y;YfH8}&mlVFPRWyihe#@DV*&%0%v{dewh0~7gDdK{Qz6ry+$>4FcHdtpyNb~&zm
zJ$ALbK*U)&Gs8F^#5=*(C0JZtHkvLFX+$7QOyJdjfur}%+?0l%D=3EEpC690>5Ki>
zvO%u^&$2W>|D4t64?!oG;QWaTg%tDl!vVs~mc#eQCnkDw)n#M|a4Gp;A=Qe@_Cn2y
zPr8kb&3jgTTz~^KbiSJZcELi?{B8Y5<%>Mo+36a331+w__-(Ht1X(aUtwi4{AmBX?
zT83;R<+B_S1jN-ghs8SR4(Re~=?Um>JMmYv7XO7a`?ei!>wg5f6PDGc2C$S7uUd-@
zxq>u!{UDwlj9+kO{@FemZ2Kp7I5;X{{*a?b1)QY71S-D3VrOex{WDg00Sp_px(h8B
zJbxUyB_V+aMSa{eA0lgN;
zdhS0Gkc_!*4R{!Bz>lXShOC3mx!l(pn(zMjC6E)Y_n7#an&+mymEm2m23^yI^4Uva(~EE@pD8a*#=kK7|D-~yt#
ziiu>^krvS}_(x)iEWrIrok_L$Im|P?fAuWLg010IX^vUG)ILu~IWV0mWn94Fcw$p@3078I&
z&-(8DYj0^+4DDGlC`$RcQES-d9&ZJ^FQi6>QmxXT_Xs2jj+RVj?rg*zWe~-jI|cke
zgr5R^?5Sz_f3GL3=FWYaUf0x1CxnEAkd0zzU0P%{Hn=esDU58NA=clPEPNth1qm#z
z%AdK5w!C_px)_L&QsZhoBJ@W3wa`g@YCRK%#s?)-3WKqe177VYGm
z7FP{~x-DVVc6yrQUzg!s%mx5t@Y}ch03=dw>*!bu*RZm%JWEWZK7018DHkBi@R71>
zZ%X^xj@7)d;%3cuUCwCAcSUD>&h$mBp)UT7`{bymG(v=r2)*}PuLDWos{FF}8$fxJ
zm)s8iP>2+u=VVpPWZ7e1P>}dV_i~u<;2o^UzhCpjjonA#h-u$5GcfqYSi{E5T)4Ye
zU0rR!=o}pl2^$QLJ?;*mc*;YXXWBuUw#`c{*7vJ5r6?f
zd*BG_*~N=MDpmFS5E|;Zv&X>^W_ysB^(Y_>)vs5zAor76`75gK+8c7ZXK(XH09n{3
z*&ax}2J(PAYm%^oz=LRE2XK(
zmOv39xOflf=|11WD$y2CI*sb@p{QM-d0SXjWt*^X76U4xO9A)MbGQCJw1aO7#Na9`
zz3{x;+>VfvksU!nROA82RhO#GDTFg^hx?+gKf72o4>
z7$2%qXnq9Y-hf|itnD5K7H)sV-VRekI4>4lmmvPdz}l?G9UpPW4-kj@Ifq(zDVS1Q
z+tg?x5YTzWXRDPgUkrSJ5Q@N$6H)sio&84EB48DF|FjTWwgHEhGV?wSyKixCY$yJD
zSNwi(U!fcP1PGe*U}8B0%-4zwgaR(RH-T}D#mUL}ii8!j%yG^0pDYD36O~f?Gg!Ff
z2&33Fb->5C<%hcShVC&eEW5=k2r3V5^sF%U0**ZLRqEiEDQh{Lp8@rNc@)ix5)oib
z%f^6@&_;ovfNYu<9&#r94Tu#X{P$J8Qi20i_;1LN(g%=*8-)aXgrU2+GIc3HC0q-_
zI#_lufY77IQa}(N)$j001^?L1`A-=3fB^8snH_|GF$3wOtW9%F{;trM_dFh$lpR)W
zUYT*lJpvjE7@Xq?HaUn%@3!?#vM%k@(UK?AXUAYyj0{-5TFjYw&HtCRe(>PN+j990
za8Uv~%LHJ4y8y1?vE}8v4*lfod$%?OR8I%1cbOU(ctbLQ*LZVD)N4g_f776Q#r57^
zftI=<6?@EN&1M&}UV!Jz*8Qjs;1kH3@h3Gs-WVQP-;rfR=4`~Ic#=&57w-q_?-P?Ns*#M)Bk$C$0
zV}3>lYamG#ak~d|DR9IE^&&9;z#9(HP?#wub$x(oHuHe&{-B)kg`f@|P2iNv19kCN
zcOkxhZT;pBhW}oKfb|D>O+b^@ZcUL>%rhc-^X85D;;;xbGWILQ^hS;p1wEg;4
zqo%>s<3F2TDLT9sVl5!eXZh@Ap^3mouZ
zcD+rNlnye1&&Gi}H|#)iBQ1hu{qM8{5|bmpTLgEMw9K?_fbF%g^Ih<#fSEvu4}-Fd
z(;*??pTF;STLC=*({N4&q4+2a^$RR(PSH+Y3cBB~VcOJ@-W>o@h*9<3Cs_s8R11B(
zmK`Elv^Err;AnPEZcbPG6|76_rR<;P`oDkZpI^{2Hx5#Y@PxF4Gm+CGpZyB8&>Xbj
zBSOmLx8&a4QJSM{oO1>ISD<7Bt~bh6L*J_OMir${S&2M;Vf3RH04NNFVi+1oe@CGj
z?j602$@%$5T43muCm~|!S@#75k&^9kvdWo&#OG)~MUeRMsc$?{LI*qU@7KxXV%a8@
zWZA(VA6U5{rdV29O3KN3Y;HQ7c-E9K1WDXB0CS|1Z;;oCmO3drXp3JnVI-NyGxIIiVjCVc;DC$TBm_ikH)T6qT4%I<^jY!ERN
zxV&bHPkVsR*QJ&(QMMv-V8(G3rg;o77&nZ_55P19@P*04;GK$~oeEi)1urpMS}d)$
zADtnS#w%<8#*@yRv5`=sWD|f|9WGf?Ny(vd*b>xt%N>nZb~5
z`gN%yyatrJh;K94vQRX|a{+4#$={(LD76B9xbj-V7ON7}!PK70Su1zEdsM7CALnzf_$h+ykUAE0sXmuofQtUZlLFx@gl
zF(_WjfSjYxYEfP+^vqJUuNFcgijtTCuq57<~|km~7k
zLvbPqLg?XU7hYLPtq6+iDH5G|1x?cslf$$FfeDp3u*{(oO%;w9$2kTP&-u5D)xi*=<5LjB*sX8+-gaS1D{J3H3ZoQ4rKX^OX
z=EUds9#&i+jM+ci{?D%rEl_d*b_MnKQ>T|j@$pm~rrq99#oE~#??2{yh*RlbktC*qS!r#ch28hd2JbF#HaiBm+Nx1ekX73NOeaBXK~s9$8;%`y&3zLhKlR-x
zWWJe_7_nOdhzZnYxfI1^>>yZT$Ugy=vZ*^wgF0ZhydV_5~bC
zBza}5<>$R*>gETz4#={k@3*@_$F_BaWc{%jEon%rL=4A2@Di#YbRXb0^0L!OLPrHr
z)D1yn%YK(p{rqHYXZ)Va_v@LJ`}3<*Xj96A%dV@DOu2FHl|OIx3{6Z=e24CbA8hZC
zE8$qs$?z6n_D7;e!CK~Jid`NHz;u?cCR(!tH~+H_yp>|}1eaoBVy5;Aa&x}|2+WgB
zhCBo5#F&heh%O37o7`;$iLN%dVu7{f^E;O8Kehp@M25j3EvX=zqSl=$aDC2WI7!wx
zstxXT!0DV_zoB9UQxp(K;1oUD4ffy036NZ5RG5K1is;;sH@L?FL%d;i;phkDZ3n7KyABlD~>Zn+D1KY`;*&-{Bw
zp2P8h7Tq@W{i?lX9A^Z{P;9_)%s(sg&#!j3;k~kSv_^RVH6%E=ePw?CB^-h^{4F!dY{eevzV?rMNWd+z
z=1msJxO<(ww|*mMVmgY>Dy|goo*!2g(C2eiJ9qTjy%p1xR*)7y}rHhkZ7|;j!NPTQ^e)YhEO_>RF
zU3g2N>)O$X$=p?#gqb=p^UfWVMp`Qa*lcvlF3eyrXmK^25ShfKU0D{DXl2#3B@fVA
zrnrLuH6#6;jwzsig75K%n+8|S?TF51+?UKO-54r@3Xyln2fTS`iYsOlioug+_F%MA
z@&@T~6d*kZW^4`EGbjIH>8OVq^1WkkoO728nIiOgMcP
z9w?B7?DrD?7^QvWIQEI*)p8c?WpMvj0gDS@_{ycXDS)&F;yZZe`2e@@TX=nI#Fh9$
zV8INU(>_#DEcZ`6F8}i8ssPDk?Yxuk5=#%A@_w^m(4HLcbxjU(&I3#6e2%8bWyoA
z!Em%5V7tPtt|9v!kbqrU0$j=ai76M19mpqTsnAO*bJd`3Iafd=$KDT?dq)00!-wCt
z4@9#kF8s(GgMxU6LUf^BMhF?q^B>d^0HomPR&A_4P@|D^nWIj59L+3SC9U?OI1SyC
z22-R|PZFk0d5l;BfLAVzllxm=nFKFQeTzfP?<&|39yS-Ll;$U@gU|?S*+}ZLp4Vb?&H8t*p2EwTv(+0#z|FjFMWROg9@N#
zFEjDtu2kGsQFI0jy_B0B1@^!Nt*I4dCqei306TrnzCfK>MS)`VsOU!GbQ#UE#}
z{M{AX`a+Z=efXJUFyrrktDHCzB?>kyS7AygLYNj{4}AcO`F=s5at?gZkN6D7-o@a$
zOo@1;vk|ju2fUJipV{7ZnJ}{KSKTQvpgIt0!oK79wL5s?sU0(h`m}<8=H`7R62G{h
z7d-jEiAb!mA4-<$B|Qn#6wQcF-{IrKM)*B2%t^AR$suY_S}nd)a+6&xU!ihQsBG>g
z{T|pdBjjeNszdWtf24lR1PFdlV~v;JpW}L_;n(j_4R5KGCpl0lFXaAcb
z-p|=D{jJ6ts-gtlnVmMRuU@;RwXry&SpJmT+QvpxSNAvuhC2s^#N~jCe0-`xJxIK>
zaYBa8YUs1T_$kkeNtp#4p!q|i?kro)HhH*i^03_GY$JwI0B}%Q{EAd@sHq_baVnH~
zFnX{+$ZN1R?kqCCHt-oa67;v7)Ks!I#~tt@cmold=7-C&(YtKmOcyU#PhxQa2R4GDJzQ}
z9kMvZ19v4=2e{PVX*u_#wh$<#{o2YikAMizk`i`K5Qncfp?({2)1;L?8O-NFOsLry
zP@t0ISy{UaHS*KtNElc-xt}1)OSg<_gI;UjCfwj6y#P!q1I4MPx^%5r7w`xai`dUZ
z_O@j9Gm!>`i^j#ymC)X15QGtfWS2b(DL)~ynRodolT
z%XLkVfu!}=_tX`9{EV}3khSHIiTCkpK=k)3H(tI5d2@z5HvSZa6yY%4e!J0XDD7?
zUWCN1si`@?wB#l%Y`?={{Ws{{oYud{b_socWaAzj6&qM$b5B&B+
zLi2Tl+7Vf{y`2KInGO40O#wGxx$eLSP
z0Glj3?gR~}Y`Zx%P+-_uA_z^~$rZ5&Z2uDi
zV!Gn<*Z-(?=qMcC`O5Cl6mP2ZJmKzjpQ-
z8X8XE;LLnAg*|?s;IBii9A{}oVagf2bZ%d0x!O*c=j4mfB;D4rrUx~ocM2YKT7kr{
zP4R=R>%5I&rUdRM5c`4Gak*jF&smHnXLRnRaw`9z|WW|#4fsPG|^eO5U&Q$ssD3r=|2095d`i}TL(_c)LG(4l`M(=tbl?zMY
zJf7(oZV)2j-UunSF5p*>OggH3Ltx(OIp*egvRgV^%)={>(h1vRbn@JvvJZr`IXrD^
zyF6D>sNv;M;4N8yixN+NRlrlzVD(*P$VVFST9TspYGsDz@w%9m%v7Z$PnVGq9MnG_
z$qy-yqo2gy^PTR4W<&Aw`zVy8>Uq!T4Ht@^KBot*S@;ss>k{qP4D1sz!;)0R;U|ks
zTk!2^r}-u5^0tn7GUBYDKgpjuy=rA;%N5z(6d$c;${*)@vKDtuJYj4ykBXOF*M954
zH_^^e>w5%artM}6enmv_PVONgET!Q*Y}httTK`-Q3MHo!#K1P!k(2n$-90EGBExBG
zbz*steWw
zconD5iMCjDDmkVMK+
z=^sO(zF(oPxHU)L6??=i^SVsH#-q@+#PKaLte)2$8`m>GCG4g3ChnT0TcmvJZtO~_
z!OBI)csWSv_?TWCJ$(aaVG;
zf6}ofII`UxJ#;;&z0B|DLLN4QnO{;?R>kQEMEDH$W2tXgkD^ez3w6DLr0c6nVygMd
zMH?eb%uY`h#KRvnT4?Hxf!sZieY_{nL3cr1cZBFIXbi&#_8+jcZ
zmx9s54@|O0cH(6WG>43Lw>MHA_SCF`mofnlPTrnwM!rzTg5i
z>jPgie9|bxSSI<*(Sf_Y5_R8O9{Si8^VBchdvGtKy0J3_rhCej_$LOFQa-AbpzQ8`
z6zM;cQmyHB;Tt~jOO!fO8CR}q_FA7(v9hpqjtak-TYVF8#nq&_(9}HhuAkCFPNnn?
zkFuG>5!m&++CPW#)66J|Du;e5>me4sKF3=_b!9c=vV_2%X5FP8*ei_2q@#Z5RH{m5HshsBWw|us*FQYj->~mze{L%5
zojbL#ws6a{5P!vxDB8HQy*0)J(ofydbK@SAcH;sCwiX>vmGR;yC%C)vX3Rrm7J@mF
z(`zd`Qy<;QsuF=MBzSEzx17}HweIiI^58}Y;y
zM^LD-stY15Emrwcjqb_fRqEt&4`nBp`4`>
zFk@1PQ%RrUcD^Uk*pmSpU%blhv7!v}r%Eu{d%{RA^05}C%g^ydzv@2fX@+|Z+z?6
zV-HKd2A66Y3c9sq8|#06(-~vVG*fMPmImP*H(5J
zqN&MVmhR0FIkLxTJKgm-9z-`c`FNz^s#r*Ys+aV~u$LA2+D>BRXr(jk+wf%j4VHDK
zHeo4MUErQEpF@ri)p7+1+{bbWHwYy344O-4luE|pWERpVJq^Ck+fJU9D-m5fe1%aj
zi9`HJSQ9?Vz<<5V^*$_Ff2_u+s^MzlVCdar#*10D#knHyWfpouJ*SGraoD!}D{
z7fnLgnB>)a+gf);sK-jQ4Lck(1=G%%@Q%tpwN{K$BX1Kg3u(8o(z~@#T9yWJzRc5Q
z-sh!5<9Ke~0%>oun^GIjb(^%X?W0b)JZcc(QoEljCoi~_tC6;6dQ`7^zw-~yyE$=q
zTdK^bSVsdp$3?B^VT_i)B5bB;V4tseu14hTACsj
z7g3gg{FjD+)|ZFI#@pdxgF9Pa8-a^UQ5+otgZub$$1(mVP%nFF?Rkvn?fov9GH&(Rlbdzw1U9N;
zn3GM+XsRW-YY;RJs~N<%1MFl
z48X7cV~?`tW5lRm!^rY_mjp8{z0aVQh@IDI+Z|(|^UUMlfgI$Q*YPmO}3i--vE{dEyi5
zupdovMO}HOnc8PerIgxJqv6jbTMa3hHej3M_*BIZd*-*e7PQlF_Kljmw2caVXUdwW
zNf-8cDkGv9?Z)q5q(SF9-h98!XnW7;&{esnq;;MPp{Ay$V`LPst*w3V@L^!RUW@Ay
z3_=o;M;*yWP?9FPBj?6@h#Z$|L+nR*rKU*+=hCS&Oyi|`NK5jXw&0EA^=Dq;dGl_@
z+-z&0WplIrj_=Hwq5O>=D&EXndymQ_DAPI>bQVlBVdEla6=@frQm>jkp3aFvaZ&r%
zvvWP7GQl&9i@V(d{#@)0E8%2DU)a+L&rOegUp{oHD9QVIv}_U&9yEguP9l&~1$pge
ztqUuxCz>yxt{2$bwxYOcFZo8c!r7_EqK3k>kqG5FsaMr7k{^>2;Jjd&)BycM0Y!#kYLz3FZbZvtiAf2GiBm;m5rI`&FjG0$6Px5q?HCHRT@h>e$iaCRcZbmN
zNAmjn`HPUCggbEH*;(o7?R4EqaS6T8&|}d(pynW6uC{LB)mu@NBWy+MAII7e@{w75
zDePuh5$t5O^PTce%1ghFw?;-51Yg55PLyilcpL36hqq#q!RyE#kjY8CarjE@9|UEh
zX=rGgY}!>5!5~MPo0}VV?IA6*z|?A&nSw7VyUuw}FlA)}q|7ev6zW#q8;Fb$q9@lz
zjS^q}a4Ji4C^WNTa4rn4@%ho{Fx#1bYJP!svGUlr}T#uCvrUiFeE~$C*QaO8!Nsg#OuVp)kJ7Ur)n=b?DvCXVI#sTfks-
zV^AHkU<*Ma;;ES=lPC`4{nB2Sy`9SvoJ{o0%#uQ$*x3cd3`)ZdZ;zmo7I(Q`$6T7*
ziK#t3^fo|Q(&(wbp62F60GuBc9@{?Gmsg)-MjwHHd6K;r`Jq4+j)=^f7A^m{iDJBV
z#>?p;-ThZ#;x;AyM4AgI08=QR{BmB$_nhb
zrchHOT^X5(qRm7xR=23j3z}>Z*lwH!S^qdGaD-X~-
zzc~`D{x&p}4tRG3Be4CFD86i
zY>suBGdFFk2YNpb)0Y)!WnLg_`goSb>h0l_XK+lFu1Q!zwMB{3+LR_W&uF{!h+PuF
zVB(lperq9#%ZCi8{QgNKljEij-@`?@h1*N|5l`;Dfn{KXPKpL=rBu08`4Q5oHxC)J
zT_OVmV^vFRlc54*tR;XHrhyr|es9Vf08Sz57ORK81&VRXj4ztCF_cpDZne^`E-!pE
z`aZu}yj!_)w|CE=o*!pQR=xi6?VDj8dr(qRW!EfsZ&UEt@^mHhUtuy$f|E~v=3?&&
zuhW(D;yAhicU#)3ramQ$t~|bw;h1TVu!>_WZ)Uw3ws|u18gy4{nNvzK64tum=
z^CBhQ#o9Q{jPrtdVX%UR!I!X^5R3NsAj?x*pNB>Hcm?F?Y_D+>_1(Oz80eMPLM8U4
zJB&nf1$zp8tCENPwdQ%bQ5k~6S2kZjt87qi+QUOcNO=EEX=$l-4TYVo{SR;N6OPeO
zq~BOosiRP`3LQ_5Z<@FAI~5v5TAqF!UyZflFrluHhkjodGd!caa?6uwX}C3g*=qVm
z_;>T0(N5a8KRW-iROGZa9M67gxnvTO&!{%X*cUrp+U(N1%P-G|E-0EE@3;fy+TIvW
zA;G_ELpcekr3Ea9z2ho;#6#E&W5BWFl>eg~J+ZAd{f4mQd3(4fIpei3pjWq
z{0vj$9*~_R*+xNja`?HpE+&8U7=;69bq>r9XWrbfvb3D;+ge{Q)DeYp{tXi2N-v5p
z?ePrCKCM(b;-G1utlB}_T>qh{Cd-F(e5(&{qJ3QkckKj2!--3#
za;18sYS%rC&bE!F?05J$cMY!yXwcIJeYjcga
z0&Q=Wde=_1_YR&~hsu$1NC2Do=+F6F!!t{CGs~1Sb*mrPeIzK
zzbOf_XER(*AK#Me@Pb!;=%b;aOBW6{rdLEDz-_I~1=s5Zwi+?4*<;~dKm!A0W(KNb
z1ukKD9M5LFT9%i)XEvuaQXuJ$F*aVDw>3ILGT8g|W}IQTMo&vgGNinT-?jkuNbta0
zdE>9JK`9(&ytcsV;LyOa6Y(A%W6izj5SFy?PWGfn4$Oxx1YY(Tx%{S55K64hv9hwR
z)G<{g0oiZlf*Fi3UY#q0RXY(MEKehVy0wA?_|d&5ceW&SlZ123dmJ9Uy?lF{jyIj<
zVPh?lI=2x|5$Lc!@XsU~k3HF*+lHe``dur#P(To`IMYt1erqXfHS)W4VZoMtF~4eX
zlw*d0QZzS<)zZrBVp&K&huVht_9vn3GWOj``Ay-1>cx){>H_~tpHX8Ku%~)s?w+pt
z`jzI!4XHQFpoj=6Y1#%nD1^r*r7S4}*3_w!+ydej$5C8!k`EFhLMw#o2K~A+O}JmD
zFgc5$AvjIGdl;K?S1=3Wu;JDXzP%w_3f}M;*+?=b(>Mr0(&-n~IrSB|x1CCt2b*k3
zcRH#eV=a4JfSH$>crOp5j(r#E)%{!}QSWcAF=e!Yc^KwEp`*HZ6<5l&E-l
zL^x$?^jv03B$f>qLfmbJx2Zc
zR^I~*s*|kGBp*nkp?RpK}asMrayNeOy!$
zEeF*#YHN_D2x
z3lr@sfHlNN)K}KMW&P(4;5*s7cNMhc&Hx}6!eJ8PiATv8TA%Rj*-^fY;lRy)cf4hP
zmu(@{V(WmbB%YTbovsh%q~qp(_GWk)}vP#0c@
zd`ML|H;1;Xprn@(sC-@CVSY=%L?8iK=QiPFvYX}Emv-L*1fuE~*c|?Hu8a0IL?C%z
zBdlWXoD}NIU)7r(0}hruDD6%4JO`&H1H@_2XFjH2;tw?=K3-f)SX%h_0M}oJY5v=GS>IOaC-W5
z84BZ6NSY!<$WfBlu`8RV8NAqarNSU)*6}qYzf$4jSz@aHWi1J3nT!vhWO@@}!>?2j
zxG9H&(vr4ZP0WRlH!dAB*Eel>aQ!>m~f9+OaVx%LLE1#eFs*pN-cY
zooJ=vU74xI*xXx73Zl9BO9C>NHppDmoBq3f6KT~A7)9)QY=Yt4q$rz}$<_E#>7vgPK7DGHepWl7!4*jw#I*p-q721yYvyH5ad^|@??;_}xWBO3Rm
zDnW2&aiR}i>rbXUqD}HvU+|MQaePFtKMjrcm#<0f11R$9>if!wp$8>?;Xl9mJGZV=
z=5x#GI7`J!*1JS`UBfjM3fSO=5T2afqy4f}pEWKK00%g?$_XZlpLAmShAsrd?lzfh
zZ3^3R7_ZWt`FCQCGFMBLCo*I=ZbJu3@F!D8*xz>9SqTOMcjQLGd2Aklqsl34Y*~Bz
zLM<&V1d#;lxlYf}JKpf+u+Irh3pQ07uFx<6Wp7$xd<=d(i(|qyWN0pPck3(kkGgZk55U$15
z6plIYfjRVXwM=~{_e(xi4(>!6hS|{a5}|HUaXa%UGi?_N0oG$f%TG%$$%Ji^2(^br
zp`C8(ebu(BDs!3Lss3%#GHQag9=(v_O$3)wuk;7iTaS&14Uf&pWw3|k-JG4fy;hk_
zMO+-oUMhoufOM13*X0a)msGO=C8TJ+2hlkG+ZLT&xVcdn0?M+wccqw$xhNzYE^Q#s
zP|Blc!$PSPo_g$AzR50Swp*$^!Mzb*y=DK%dX7lUMm
z89;HOR52&}VrX=@Yq`3ygdHF^2MYt<6@znXqj}^a_03BH)ke^R0fg>37L=&AlWKlN
zjIs&^Ft9-Ru0d5p9Lt)CBHb+}T$4op^vm6^Ne(?X2$&{>AsDC>-wIqnmx{V_cjgTf
z2bqk|CJ;kx0DwAi%s`1+v9H_W#ps^Roj~I1iLW2R&JGPp=!}mVl3AP7Y=&?ppW@W>?Wq3CV^IdXh+9d5QVl^H%q-R-XdzJF166o!o&u}9I_&&*1~0NBkGg+`PI(#
z*gPTNYf3CS`gG&Tzg}n|vlL|QNsHq8V-v7{mRHQSbkE1vcpcv`8tiW)wUxqnME{PZ
zQ9oOeZ8-*WvW51x*-ojl`c4Rq^7W+#s7mB#MVn(4@|x0v@7C2REte|e#*IUMN@RyF
z(%Mj~uUvt%{Ut6Q?G(%W9%(BsTF5DMDlgJDh_s6#AwL1zIB_)K(uHr>|9Vy_jHl|4
zpyb{`=3p@;RaU4WoJ{Q#$v*j}np7Yv$Ov;&)_xa&E~GFn1~`|G&#na4v69yIhp?x7
zYeTpYr0yfo6o82{Yt1Z6|EIn8jEXYbx<;$pW7};!1_YIG45)yBC_%Cb6(koyi3*}*
zP?BW34YUMlQ9#LpfMfy56sU+O2uP9~1PMiyoZ*|B*6!B(zW2`^_Y33RI^&FCBUU~2
zJbSM-*PL^$J=W_JJY(DOL$rHm-;F7w$~M8Rm5+3?+&jFk5tfKq5rv)4T?F
z9S6m2+O1hm7V_U*(Y4VvH@hg;I5~zd+}d5*n3(1$FT&6oYyLZ^sU#kyG_8=+2yz0m
zErTH0mO0o!>?teb<&&6rW3*9RbiL@P~_J;+#!FOw1A#!tokWuAh<*u|d
z`x-JVbR*xbq3k^?@A9jJ220YU+Mud=UPATMVO`$&IM-EP1FYN@ym5^qBPklzqwGps
z-=`<)=scrJnhLAv<(@xPCB*zb9&DtB+pe?(-DA9KERybY2i;g(ORvuKTW~xnM5CE{
z+p>s8ctn`c(^>g?w`%94P`_D8*Epk?l=bY%el8L)#;8xy2R|fhDKQ;l@)W7xudSlqsCL_{+M9s=%G1#-9q;
z2wWbt9gvpc?@!D5Vnupw&-rts;GGm$ZBujRc(|stwCKQV1Gt5Em6IoV2eo6#e-u5Lo3F5
z+k-`d!I0#FofUNusK937c%Lznv7e1MZZIo6<`yynql;&aPhE%nq?wB7VP369d1no&
zOul2^etdECNZi<%-Q6tkVTrjTGG46W8fdAz@9(c}5WSqDDu2;DkI3GkiE@g031dP%
zrY)i2FBWy88?#UL-CY2~tIqB+aN5U~SvUa+u!?Pka5p7EV!dq<+65mRchG97>zo(G|X_Znd1If7o(OZ&D!hKh@TTk|tzu
zHrq4ENlrUkGc-v-<=2gcBOql1_CHNC@2ON&GwJLc@XSltSwl0*Y|+h9XG^G$&i!$8
zCcCiu1Jvkhv6Nnhl5bWo#WGQbo1aYI8>>;*HNpt-1D=Zv9W0VAS^#)87`0cE=j`aU
z<=_cu_R1G7TwuSrisIXG%GfVtkx%Wkp0~PTkbZQkO{p4b55;G>;Bbdjp=fvw7>w4q`1Uv
z8U5Fu6>uDP_Gvo1ul*rR3=n@t&pEsWBJIPhCLD$EFIjKcq;3Z{c=G<
z?4a5iP`R5GnxX2w&M-!5-FWPWZ)q7MVLR3E_j6j!Id-)uuHsRU8)4LY_DpY_LE1ua
z)OjW_1;A%BaHN8i<4rTHIEohI4-50NT*6kACz;RQiOD@km8*5l)VX|80YW%*B)i25
zY2DTqITU>EzpSfNCxZM*BFN_}&+Z8+uI?!p>|L-(?>VE9&gFM*(orwvCp4BNEj**v
z+p~wJ@JJJ7>I+HxsZYBzeb2XdlV`7Lx=(p|xq?u$^}Ws98jr89Sl5d+s@j-tCdUU~
z2)tDe7+hNO%!oQpuR5vgG<*}jD=rQb%3d~zFx}qAvPVi)1M)szTUab$b~i{q6~XIK
zIdU@TJ*o$kUO`sn;YV0{jq39g-w%lEe=6-BFaL4pSzYHYla(1L
zXjZvwomkk@r~9d%kVOInOssMIUz~Y!b~eVara^j;DQ2PsWegq9KH;2lq~qdTB$YU6
zGLV$4hWZ{sm7$hWLiIY1&N=fNS#F!3I;>!0&aBa!xg~3PK<<9|>x(q`Kpf*?@Qcp^
zk6$Qa{7hb!Osj>6ig9kuj``G+o_>-In#&q%4}Kp2t`)0tuPiOE$+Egc15+RZ`VQ<&
z1lZ)ajg6X>tx|Vxo!@)#Ahp$L)C)68pS*kbPNs~B;_e3%ONL8JBq*zzq~T~8uXPin
zAAn2^p*2+}D?OF#n0+qp=qid@|*HbSB7+4
zvhFC#rw^ai^!0hDZtPTaOF&@p*ARz`r?xGhwHFomHvOYoGuCYG9vDb?bj;1T=lvrQ
zo8J56G)3p>PXC5n`&95~v>s+kY`8#<0@0%zT#K`W3RWBIlCn{$IbfkPpxijE=XIi2
zO}?BqE&FQpMN^S8#-UpR*YB@%8B%X&Utb)ixGsl*%a)U(82-2lTJ?*y+;tAsF;if7#$KikR7b1c
zINg=R@+nT;q9<%UqfqrLC~~894>xpB4~+6JxS7qkRBe}I{UD#vSM#)0GwY!Ay)Lub
zNB8$dcde`qjr#i;ox194EO3
zi;VrX#g|l>+#E6PZSFPRRi5+g>MUP$7YW=R1r0Ikqaul?zD<3UtB2FL_*=7W;__yC
zx#U76v@zk-f6T5T3)T2}CZET+S8Ff?72#S5C)OB5tqNmCsLmenXvH)xeuJx`Hik?Z
z^&F~i(vKNAI1CD!iQk9lpYfo9FpdEyZ)FPb0^bex)EvJqQe6d%sgarRiTYuc=`8|T
z6l&QI3FIaDt4>as$2vL+A-MN>bi&Huv47Xd(o&NCtPPga&2{R!+qc
zn4J`u%B3^pw_ao9)Psdohfs+#X$o1>=?A>mv-ZbHUvKPbxHBF%=lWfQR?Ov8U(z6)
z$7|FP()=)Pd)GV;eedV!+P;1JR^cm;$<>93JE~pGrfBsSE*FJ()@C^mz$rd8z=lc5i|5|#i25A~K
z`L3=68W!AIb1y&N)!^~U=U${nfzWu`^DHbZi4Kllf0mXN$6Z=a
z=7@N)qNCF`y0L;D=W1I8)703@-+UAFcTlxW-dDqL0q5Q@%Ev
z$0A~VDl021RyEE~Bh5H+usMhN%3G#t$ARPOX}7D(Meq1C`2#4RLN*y>b0bLG#$xl}
zqtzbiKo`5;wL}FMl^tSeO|rQ`d>UInthBbe$e@oR_sKDF?TVB;EjnL-<$$Zjk1I#U
zEAtbLWBB}~-sY^_{2g$-HWF8TbTnruPjj9u0{@8V?U5!8^OB_$=NooB`>dMY9WFb-*YYU-4ae5k~L
z-!!zzkA9cqVuOO1n_XrHX1W3`WIRtRDAW?az?Op-4L`)6&7K=65x>9vvm_DJPp0mt
zr8;>_Xa|NlX}(o$vRV`i?-aeq52;~mO#tqvwBmFJf|!_UfscoEM&Qn(a~lJ1=aJZ_12iN
zV%(BzAJwO$qhkzjpz(+J7%cY4$jJJk;6s;>q5!H!&0$?{;BPNtaQN4}7PvS}pp+jb
z1`?EK?5{)LmenE&3BVKxB2(V1uh#ms&I)-0VqVao&EB96vuyoPeVSNImQ8;84)3(B
zCAfDc=dW}U=<5Je}aTpU5Pj(yJ_6U-_mmngm)hyufN
z`5D5Ng^(}q>^cdVVP<0GnlTQ61$Y6sjttp2Tz;`OvO9Bd4LjLmWhDc_|L4+&(%=U_fI&4?h-S<$VsSY^@FklQ>U(bb}u{Z$6;LxCX=G)6mW@
zb@F6m5*s#^1#R3fx^lVug)|Lo{o2V^bjfv!dvOJ+02qTx`s{M$sIik~m_St3Vn+t+>q&(-q9*d^T;pJ!N2Bgsn7f==?
ztZ#t|rW39Mr{v)^TlwEVGpedi(v_S|!x@CVkK9<5&zyOnX|-HtdCxQ1L0q%ErH=mph^)4Ru|}qBmeBmAdg|*Va5|QUN4r=cxHucfH%<46j5shL<$^
zaVc*07yP9P9%7@0?5ngKC-0O|83_ZY&cuzqk~V3qxhYwL{WVaA*uOA&9t$TTMmD~Wz9Dj#^>8#{##8h9Lo1x{mt&J0RwKp|c
zdpuNAB+h)zqH@RN?#R93(`1H(ihC0s;vvW^7|L`khsiiK{k2M+AB`4tQ0B9a%;d<=}{UX^(>e=r|+Jpf?pQHB?b_)I}?VCR+0B4MoS(hDO!5
ze|$)*rYSMfvUVI(Y7u=)VC>!Vi^dvzPGz0lQe1lFvJZ-3r5dAhlog!?F6$`I
zZ~iLIh7h~VQ376M$%)xjR0ju#$TEdT)Aq5SCF3y>iV(qG>o;vuX@Af;{9*-L57e)u
z_e|S_%&RegmosRUmOf@n`UW43nQ=R%WVSD0i-oFky49lO&tnIy&F;(jAK%sYe8Nja
z(SZ?jR7`5llMiS3uRpxt*JZw%v{U56EtN6>O&%8g{PWLyFUy9B7%5e~pSrVL!{t?Y
z=(@AM7MpY}TLhY-9#sh5oVvRI$UmP846B?su)I}lZPQ~0`ua4x_~z#3WC!Bo<5zb6
zOGVHkjz8?tqq6hM1ANcbl<~*WU07U??F_7|4v$ij-tzrJUb876Gx$OV`b!ecrIUNF6_}V(8h{b`B&<#LKMb0>AzC
zTkL?V_lsZ?W6SQIV)u(D%uMkzCPqM^)yDi;@+EYgACT%I&#?`-*5i?Q)K7LjUS7&^awJ$bp8U()+*
zf|?hL=m+Zo>=E8^l~J6_Vgjvl!uHgu-%&=DpF@eQUlnaoWM&y>3^M2wAD
zOIP;R#Eqj8>jgUAcVGdzI=kbJsBA5(%hdU*w>=?#_wMN%c2X#9Ysq>FTC5xTYbBjOhi%t3SLEV)o>S|fW@glfW?XRjO*c1_mp6V1
z*nj@F`39CxK+X_Gv-a
zi<3>wEQE}!Pr10b_&%t(X$F#QtDxxvnz-Gd7R257kqrnB<}X4JIj6nnS-(b3#-Apf
z5Zqk*CmEvvn_-}R-;&qv&b4Xl*52f4nz-P`*c%w1s)IU=Mgqo~ZGt^`ti`3Js!+5+
zlP0i=JG^Oa%}=S~|7FdZ8c?@fqH8uqz&mCPzRw^UU#rQJMCwttS#b*G&(Gso{q-^P
zGUJXXKFi|Z&p(XI^t6Mk;@j6=pR|;3aW(mS6>g$Ve)p2y3l;Ud*MlY3^|wFV|A@HS
zzkQuM`bhZOpCIhqAin%>U)O$tuJ-+FBa#2Ud+q+OE-;r%^ao1KX^7EdD5nA%u;S+m
z{`+V0Wc8Od@ZEc(SKthJr|({eYyPKviT^|Ha>;*NdY3G%*JYHjV$kQeZ{Kc6Hw#?L
zBJ#MpS_P+W#i%7{pe)PEwjJmlp^d?DLTtIuFtIvV!dc^oAAWFmcUOi+pb7!Nzl>qq
zwm5i&`cRF+428Mj4+slznkVacOG~0-!^gJ*aM0HnT)Jd}gLE3QtfG;3K7nhzg)>3n
zo>jt8OIjlS(K_ose+r;bEYo15rDF_dC1}$745h#_JQU0xk2sOIEZv%gxS}OIo>h{oSd9I
zfiboq3&noU9UdNj&7IMtH#IY}S=hf&kI!Lp&@5humVI=z&Q!1ilOP2U50(0}U%q_l
zi8tO#r_*cnvfPfuN?q@;XJ;z9X!z&b4iyx`t^J;$1^_bym8J@Y
zqSZy5XP)t4K>yC&yQ5xp&*$akohT0x_rjRr9NCW4p=A_BdqJ~?3r$X=rME&ub#Ko)
zUH@r~CoImd583ppWOd<-dXi)5wxyZW^4Q+-OAofH9P0CC^(060+DI3;KoEpnvA__9cX|THMt3Ej!Qn;29VO#C
z%w=TUD?oxp*H%B4-l#u2F`(+Obc4Vddo*PfkA_cRsQ+o_Wttz07+~W!2r0UkwBo8U
z`JD!gST;O<;)EYv*!9AN$5pr!pdYtHPP*H<2@1JeeM5TBS=%Q1Z}~fSRtfZ-QJK6_oG%Jaq8Xz
zFVgniI?wduwH81~Pa{3P_M6IG6
z_Pqj=yvb-+>DtBhilOv{zbVKCl@TDipiZ%3PzP&U0rLEbagR~zqq)#5;UO=
zMr+Q_zjvIdR2LKgHsR?Ug_O{2t^2ki*dDGtX;l
z)zQ#j1K@Nz_!3IaUUWdylYiTVJsSt{67Q{yq7-*ac9Iu&GvQ3~(S?Nt`6N0Dpla}7
zm$EM=pII`($508!WBH~4eA>ZFWz|UQ!B{OOKT;0+w7ATgd2JIai>XV=+pWt~UK3Xo
z(Dsw>+0M0L#*VOhGPiJ8my1s_xvgVMFWR(e6I1G?azQ*)Q+JcPr`v}_exhi-&&I}V
zWyBy~FXCf8lWF)?J@^^*-R=1@Y*BmIc?X7_wQd2TbvtR8)~i*EzeTb*D3Y3q~sv%E*8D&IksjUkazg6SXm8RMmRnY
z;xc38R#k%`!bhTO`5~q3SX_9DJVR{)>*tAJ@}M23QG0?CjP4pH>EVzGR&!y?Rmd_r-(?yrp0#$%dhU&M~L=A
z;Ag6+sCbR#eXfITasPN9y29`J`KeuqFTH5>AP!4#
zEw2wFI}cCU=aG>EEFWXMHt*&<0cRR15TynJQZ?-Z|jVp5poN
z2_SQW-fbH<>O1_9{*;3n^`ISC^lUF%)|!IUuW_joLc?lok6D*b9Uav6(e{@?^*MEu
z^^-qPe4~*Mqr`haMhikCKHZ<{G<~I@v9YmwDAHetGr1hN{(^fFSoQVWwrQHq3AH-u
zyH8F`*zVoLD}xnMu;7ek`oO)Y%r_vwSj%a+Flq{0&tJrQPwl@b&$G%l2e{q1!Gv%w
zNF-l`w=qe0p;?N&_>y4CVBGFJ}S
z8`P&5uumk{o4y7tG4DNi{^bqj?vd)gA40V76cUL;vr1=U=Wyaa+P2Rl0rUKJMl)-8pIHZ5#f0X=AEL%4o0Ezo`_7wk7?{J_me=OzBX1qd8SYdIYwKs`IRoj+-FtJ@%Y%fe$am}$9CKTzu{GFTT^BdZ
zVmF?^=}-|gZAHbl&zX<*6A*LFO2Di^1$^J#n%+F+Ga+${39(7P3?4(3vf}@qZYAYh
zx5QbW$M6Ah96Xr%N@BFTTqteTP*Gvl@at_5A}?6rw2L7a22LdpuVUm;K}4p(VqyVl
z@^Q6&yjonrs^UoT6Q8RIB6Y)L18s}^`E=Sm{t?%qLzzt-0KDbZwzj(cRngus1@{lY
zm_i4-;u3863vE;aE0`KHE_B3l;dZS<#C%@mbMKzq0Ai?cbH?S4*HN~>70JmrCto+3
z=Ok3?anXm4W^*NGz9jriRk)OgyO*SO&mZZg^?DX7R;(afC9-U%@L=stE1q{$MEbA;
zpS9*)V@CqoBv5QwK1CF!=D02{$cz6Xw#_jSK#c=@mO<7J6w5p`toaqB`N$8|rJ4BC
zFWe6c`;W~~OLI)t%A&2eK7Kybrgd{j+oncUzI3Os#ECOc&mBol{&Pe5`TIvVTI6e^
zJHux|f^Pk}?L{XmFGx&8GCpl9+jUrjz&)XK4Qa=xe*t-4z@b118$$RfqY%~>SuvZp
zW$7kBQ#J>Ljvuyn7G5(ewJ!w9~9Jk_wRq-(t-e4Z$HAoh6
z$ZIQ`)Y$CZnT$Y@%yUS6QR%5SwU^pmi5k)fd9fi`-^~L}sBLq0KtOILAQ%c?Gqz;p
z*!1nTu&{{k?nCgq-QjDUw9k7z^79T!NlC|9oaYo}$K%iMElR>p91RK?sfc!Q@bjw-
z<;|MkeC^@orK+P7LSxyuF#_mIq`8&q=zR8T&EgyCGV^xf!~y!y##}8g=hpS)Yu@9@
z?%6>VMbe<_MFC0#G!RAfz#w3(h;9D^+CX=AH2OwFgCn9R9C2-K0-J>VNl?BPJ*?HN
zq^h;C$pdL^E$SQD0f6=UF|Hq{UUvLIxz-Mi<3sfwcXywpB#Y$XkcNy=pq*$>e;Xcr
z9qgLwn5?V&exy7}#Ib9SkaOx9lk#SaAL;~gyYHElQYbCd!BJ0lTo&i;s5wh5PK(gE
z#K+zrBPEt`O>87EH|}U0R+0lGI(H|ky;9v|i6qp>#P?_+qz+S&TBsKPDS!L60xQET
z+ZLW6#x0sxc}a4+?YeAl{O6WTaNV8V-J$~i_=0v{YpLn(;V~^sHt+=xE*Kcl0pp@f
zpuTceG2QI28)#7dm%6AH#NEtXbJ(xF*nZob-8E%hM}bdRYM^b)j3cio@cIP&GqF1Y}HB?pIW^Za>R
z!ecEiOy;M-GZ7gT#mU8W8vmvixMK`?Db9Yhi!f{SXHUbQ4*5$g?cQb`46r$yu*el@
zkAu9&kbE|83k?W}-DaNoLS>Bq!kd4u*>d3Vn<@7}uce76`T4Zqz`!`5myCCvG4px*
z2sW#_ny51)rg~n^l9$|rATfL8Tj%Q0qjNf{NrQmY&w0-6uYQT{;%G_|vtpQJdO^a$bKe$Bu7vPp;j;@Jw9c4V
zm~v(x18YY3tR5-|oU1orhNd5cMd4TWBd8UT8Y$|Wa~!(p4?tqiD%keg!v~cD{(QDp
z%gPIKAJvq3HgD$yPG5{3@2{s0(I!LYg`E*FF%^@z!05i}Iu${}R>+@{be#W?#0oG+
zA~%NaJw+Q%K4i;@M!lk>o|e7R<9)Tfm*1tX%oo(b{IKS<*3)H4f7aO95wV%OGyU!8
z+bKM|Q1wRH!c_BcaX;&ldI2U%>B^OqLF~mUl=HV@G&9WEC%AIUH@CQ*rXG^uAj7rKAAjcUu#yZfK8tHzqVwOG3I>{Ib#8`};*Cqf
z#nJ!=WbxAjniaI1&w1L_4-y|lKgkMm*6T}L`aYza2#Vk?X;Ai+H-6cuC72#P(boH{
zcImUUwsUirTL0+3%d9>{%4gH&%~23f$>5>v?hr@*tDny`U+wU6K%w&t1OWDDakT|P
zF)sjHJ$*AktN0KNaK2fKSf{T+c9ZAihKe-64Z%;OOyo)Su94a};NN7(n
z^`tjiVkZu{f{lE>OH{P6dSZN>dz9&>!m85Z;#ftP_k)HA0_E1p1>qdwEujqCuFTT6
zdqU0gXvh(t{<6p!B<9Dc064Oht$g%!Pb(E9-#1sbTh
z9L9T9Kg~m9!BIuE*}buGvbDMnbauCwHn*Mg!P;#Q*kJ9R>x{M-XoNE=
zolzox02or!Gc_2P?0o0}&X|It{sIr{&LBxpfajE_f{!8R7_bu1`-<-e%JW5X#D_y)
zLWXQD0dwRY%8z5^YhP{UF_u+-N3GT>`~oYUJORzon_R@2nlY5waYqlgp@iyaY17bG
zasX;uqGFST6&j;^K#_4ICqegjV{XG=(X_zQM%ps$ZmLAc+;*qQP3d16+{t;;CS
zt;XHo73$v@U4aZMyChkKx6ri$UJfyHiUA2uHKLz%9Gt>~L}(>yNx38LRr)H{Lp;4K
z`BDSTAx@r4dr46Vt$6v$R4ThPXptI|BwE*quvpp(^=Mk&K61-f77iS=Yq5`}&Ih8^
z8cOoRL=RRMjH795a6~2Dmi&U?U@6E7vD<>Np8y2bph8$G%
z*QW}A+ox7kZL`RIR4%!g`(~KSB%ilji)dw^wP-u6hM7Ljp?IO(dztTvHeQdppUZu~
zrQAP+FZ0LdeP_a;BRrU>C(K1vlw4}4OS|XGS<{csnfy09Xf&FK6QiY6H%F{@s)A`V
zfx?`6sE+~;Ub;h@2T8G)pTD|uRK;4Ce|3Zw?^O2a*NFPd&p-bGJWtm^c?6s1r!gjV
zt;;uKXhv1L-IykvPxjA(S0su(S;>wVx_lJDQW5arbiWzC>^k}!HpGaC#5lt
zPeq0&rRCtum1t2YSGSheu&5Rayr7X)xPg_`oYNehpnnK@EbG^Q^l3u5tQ)VDrM&Zm
zry>IOyvE|f{5aC3NbYCNfS0rVU|5T*^AS5xsDGD9!giF+GxZ<2{*w_fr}@L^@Y(j^
zjv_g4VPNBz1qCeaV$)w39xjHKe8RTI)l5sKrkU1PR`VE#8noKI%3DYI{21G)w%P?p
z>jk+u+v8AS(LDMsL`HnA#+(U%q5yIhEnVzb3=qGhe&@GXIZn1k~p@
zjUh{uQ5h)x2WqjD9s>_>?A`lBOW(n`mFT8ewk6`~Kx1I?f&)B?c3_H%_dh@$hBfOO
zcYpeHKV~tjkm|FEiK*w`1$nv)_UPDrf*KN5tA~l`8ebB3rJN5Kex#YgNdtMy#^KIO
zM}54%oZGAW{QnJxJCxZI?jbvXye`^22?an#R`yv2`fQnXu0gXrN|ML;P;0BT-dTK+
zv~)}{60b(o8$nf}f?;jwrf71R;A;LKvoZ@!SWFjQ{*%P+rx@UhKy{iqlB
zl8wrpJjD2VX%B|C{L2=*_<)zv)W1gCbr#vMHe&`7Ya3RTr@}}EXmd!Q97I6)yLYmV
z1aOi~T4j}G^5uq<#`Xe|koxjH&Cw3Bb7LcP3=+Pm&Nw`ZN_B*rJyCWI%nIFD0=`+VIP254{YdWeR3u7rDF%?s12&TKqt}cGly|w$Htj^ZItwkX-v0=74
zQCky!;M9yY1@D*4a4tlvq3=w<5gp{FZJ1q>KU7wbeiTR-{R0r1@6QyO7wjK{n<6l=
z*|yOv>fV`Eqo2T`ky1O+8qhMZ0qZuKxMl_>iP;zQ-2{n${O6uu+o4}Sxk#4Rlhqh{
zBaqe#x}4N{HFhAmq7)kU8Rw?{w3;alB40xz1jZSB4(K(Ed^$K#L!@+Y0B7|=Unbqn
zA1UT4E-T|nR)7oQ;=2duEf~kYFhE3mn`w=m31~a<6J^s!7^qHIT0Y(Wc47Qmeiw6#
zkFUE(7|1K&*CR0LB8tX`+)Sp_Hyvp85^6CFh{I1$XlQ8MO$N@-1WJ<|Mrz;#6MZ^(
zkD%a(ry2=Sc~#L0=m5pP+$0I!iIZe}F@w%x-zXXML5y{?+;r=}tfsjjeV9V}P8X{*vMl3L
zIqOakH2k`lQsCvwr5?~uXh1Dg9BZ@4UXV{3NX!{L@KvsmweRZc+DgotN^xr3R8zDK
zdgkVeeWCO}-*C@;LLfl|s>!wU-KBw-W;#CObTyV1C-%2jfro-ZO8$;_2*;~E3iTT9
z;X*H&HavT~$sfda?sQk+TGvx%h+NQE=o`AvwO(pnK~V{jaGp8Te@xtQf*%@Y*XM=_
zxb(0ft`+lnEvTVTuD6l?JfjfQ$XkFHtPfGT@@5CE9OSSz
z?A{FB+Gf7rcBsY7T@#Mxibuy*P_?im*F%}A7F#0Ay5R`XzUz9)l>~A}Ie^V%*L%G5
zQl(ojAc3ar&U7o>FC%=N_4)D=Sac9LHJ+aPbx9G#W>vwwA@*In_6i8pSWCiMbK0Lr
z72!+l0XJIY@ue@mfz4Ik_$l~M|;co$)
zP6fu{F-x?IfDl7al97|E`E}U}RIlf=^VbIOB}56CE3&p0X`d+loI7_O
zgH%h!ou<1WN2?`j#bAf{gA{a`2IqBHidocF78I=d(WAc=&`__DNjA6z2(ikbehN&g
ze8zerynFHN_Sz(3FaseYuo~Bn@`GytOD}Wklp+{9x=V(6^E2ZbPV_Myq9x)kDPT_C
zBYFU4vY?<;L1Z0h&DY(d5W?RKoEE^Rf6F}c<4@7uf67Z-A|e{d>M%)?HcTWTCB4;O
zwZAi;)`o3;Q(Sz&9GtwH-6n=fhRvJ1EQ|NT)U)H#r2M74;*<>d@SEX#v~=jl`Reg?
z-f#B3g>>o3m6Tgaw-1kq@WLoGzb~?}omF9xHIHsy(-ZBS^s3o*xBxx-`}+@+|4qHq
z5%UG$AqZ;8hu}iDG&VH)8a%+9Nx2vs8R-HXy~g`1N7Y6{cvIL(LX|LfhkD{haTu;V
zQIiXcE1Ww=iXBh#=AZ{G)y_@?x98#H&W>s=)aI-vznPp}PGQG+-nFO<;~;L+LELf*
z^6cGv3b`N@OybAt+i@Ub#21FWT@CRtp_|;trMY|MfG>pz$w}tnbc(ExM=;RHwvLfl
zn9@gdjDMB+%f{V?pn&Cr>(n+a<@4UQVy>iWh@IBplQ{S9e_EG`7)nQp`yK+;PD#o9
zZ*BrnZlONgU{Co?X$kD!ePSqg^iH~Yb1VR(ztP$WXYf;pI}M?Iqst(1D1T80f|g&6
z#uXzukY_gd5aPump7n=1p@Sef)6E*AqC*^H$Yl#A0)EYWx~DJ($%YHjpFUikqLDz#
zcrx_{2`#Sf5a_gKcorJ+oO59BINN2vtDMvk#VDDHvB9r!zxxz38)ffni0s60!U9_f
zxPg^x)~I3&)I^+IH$6M6ZtDQQ6EnQOA3!2MLl_MfwmJb}hcp(z1o!BtHCr>S6Cu4D
zfkYB<7<+xNuTOThbHtuk3
ziA#z&7O~SnK{u{Xi9FqP4pA~}1pM6zI55dhL)nhjy97Mkz5Djb
zBAzJXFJ!n+*qy-c5;Uy~gId&w=4$Xg$~1@ZYB=1luzgYvI_9>PT#txl+qIO`R0iNy
zJe#;ndCa%D#6lXiw6a%=j7segD
zA!*=~c{MC$FfoxNC}7c&`*OOwv(pHHkwi7b-$+l-)u@L#P?snv
zDUm7=b`Xuh;V(AJ=L~^vNQ
zoyRa*thlJCh(3K0RwdFS1o+R*2Z8f6f(z87g0bhz);&Rln{Y%$c#}xQJ7$snH;Hy-
z^@-L3q48fTV=fIARfmU8Sw==CS$}GJ+6YXGLvKtpi9Z`^EqN3cgUU(l(E+&&IC2tW
z3=3bAQJ18)B)S0+-(!+9ELsy8b*>)qVB}Rpx5QmO_?WUg{WSTZk;9IED0mW$5&ZTe
z7truad$q{wL!KZ>u8VWsk^<+RQ=+@St|#?mrd#J#Y`-ox%KfgU@Qcz!Cx@v|+ql2}
z#~x%+qp_X}Sdutx5($}xqGx1sl9!JM-o?eKB1!Vix*10n;Y*1H4O-vG&Jf`LIP>Tz
z%(nrat0*(vm1BIT5`5fCA(8m8v~Aq;S?Zguxvg<|@YCs6cbV
zmh5_qS{GoCq%dV=pJR_E&~h~XYNJ9AFbVhNCegvnh&MY%(Z@ih|6_fMz}Y~oXV9hm
z6NOy6T!k&BiPe1j-NlIWE`V_=5f{1^ewg+isbJy+9T_SV=-Th#Z;6M{E_b
zenJ}SNs~w2u)e;&0F=4TPoEwn&SG%`-~p7V;0wZHNDOtIot?tLqF?W{^ifH
zH%CGYS;0AD7#^510hk-GT3=tqOQQNvg3e!z}NNEoJzlsK!WQ^-4jiO_-L;3z!!>1qc
z>63vf^^G_!7F9(MHl!f7;{(0LnLb{u#d?*`tjO-5qEJFzl)57c3k&LpH}@w$y}d`;
zli_Cx(1RlV%z4%pYR(y)rWXu7=*8`?IiGX+U+EwHEx9+lE)g*nRMI_|yQmjJVW>gd
z!5Q*{`G%d|V&RAyo3|{Ir3ZgWMuy~U|3N}o$R~8-_fzUk3%d?rxC$AhFky?pi_jFj
zbv7QWj$w9`qgY+nITFyft`THQHOMEK{*K$Bsk^w(rX0s#rO_LXtrLHYk0^%w^FhQe
zLRo>+;2vqg?^;*M3Dq~kgH+?gewvsPHxxNRNFv*yu8~k$06E?N_6M-Sjs*d7+J`hZ
za9
z0m)nJyIC-jnw>%Of;omC;zV^vQ55SjJFKJ~ASsYo;5Z9w3jciIA+GJ)U+7%mnV;YN
z<0X%G?0=2D46FRRY2eUMGe{*^zBvVmp``cyqw6#ppewpp7`Fua`Wh^@7^jJ7k7@Y^
zYZ``xh9;4NKxF5ehpk#bth&sPt1mHK0Oc+ZM>xxHAD>xu%RA1()@U31W-cB%sUcrz
z^)WE_mwy+YY`wh;4bAs=Qor1z&$+#eu|i+|gA$nukuLZS4Xks2Yon+})Ve1O
z@vxy0N!#Ynk0%U9aY+eR6&R4Em*SRxB)(ddJm{V~8QpG(%~FsLMTjeWn*OQwv^=Ll!4_aBLhyWFiZs?h@N*8QqaV#@*YdgKc?pI{)
z7;I@m;I=sQag&WedZ0Bl0!#%pW9Cbg`G*oiM?rs=4jl&$$i~kF1uY!4*+-ofJUht70uxryGJAvM7*r`buegvGWMnZ@+Nz96>yVpu4nkq<4A4h0X1%dVq6E*z1zmDA~8^K9DU#^()
zqzs8c07rf=O?JgakSZ1{N@klNrqrqVaR}m`k_0o3ePM$782HoDUIJ)>jFP7}NG?t*
z&?Xv8R<2sbl{}QFoud_^Acc&#mz`b82Q3*Kfu&tOdZV~tDmcgnP$(yE7ID92_ty$1
z@BtBP27)cAtP{?ro`6)aHW^;oS};gsNHZvPFPoP_rC)lv|D#`r=N!gcpo1Go?KH6>
z0zV_*?gmOw2*80`XudM>ZiXd{7*C*5WQlnr9MNH?nwTIrSV3~WIwlX45Knn@xN&Ww
z881Jg3Wy$S>0e#Yss;CpZ)hm5G%<)nwBZy>Jc!CZ8kxZmXQTT(CK@?5Yyi5ky2?Y7
z07ax-lO`)pveg*)Ye${trB&~Qk8bJp{A}X1lk}f|rclm7dW$IG$&n=zG|0gOr2kgy
z4U_GK9t_yLBlfPd147hULL+8dn3~4NRmD6-+6ZjGmb~(ooG1jeJ%OF-cZXTH-6y$(
zK*1$YYVu*TtO+He0&d_q
zUDtWlhYugFy$rH5K-emZC+pJ&P?@bRH29Eu!Cc?fM^Ba}kxD0^sm2gf1JQvt^XkN-
zdA2?uQyUnmt+1CKCF^Yh3_GEvNFY*qV8(RoLy~S1<_VY--^bYiVB7qM+&*3eqf?c?
zFwR?*2EWEhOot|}3(_(2{t_8t2D_a#`cⅇuYR;23DeD6{ZtAqBSsjj74i6=mT2jVK<2jY|kO3^(llH#!C$gCKkYTUYkSTieDUlmslWU{L#DvqRgjD+ucw
zkl1S99bDM;H7F0ZYuA5Ws1(IubXn7HGU|}J=s$P}1gMiFn3R-+ih%*#yy7)xCZ;DO
zrquBvYg>ca3m{I82(&pJdUfJYo}08GSD@1~@$Sx(4M_tnG);AF8(-pvBr_et!VZ&M
z2osw4?gIyu*__Aj^5oBrjLb1L4H5?&?&dgb8;wcx!$oY_ga}3Xf|iRKXmg}|fsL1x
zFRZf&`5AEK$m%DdF$Jw2f54sK+z(|ECdA%98%w#V3wY3^?_&(&&nX{t84%U_=B-irK9ULZOf$eKI$X~@?E1QX)Rzt``g6fE!Y1$@&(lLZS;Gg(Dh!2mENDOWJL4z?
zNEwm-ZDU*j~p3+*u>Jl4W$P08o=%R&dS~$7m4^KO2+HKN*Wt;
zRT5X?IML5BS%(EjSag_a!(knh$LgGLB&s?L_uwDY+nLbtgAN``hqCJGYGsd)pl;QLeTakfloB2;0SOeir~UR-Aml%G
zT^J3`1{@@=CjiGozO5h~o?-9Uz;06a03}loiQyo83BMBkIzbizmp5-J9KKq9R1LVR
zeoSmzw#1;GJ%&ok+IWtPfQFh*jBK#XcPMud5d&hH6r$V*tPY$DME|!HSaA~=<4J#a
zHB1f4MPs9*Rd|3z+a=D+k%_K%|M~M-P<#vYf*kLE{l1jFsVH%dtMKqh
zuO!G_Qi~&sVS^>0@1R(G0etj0YJ*;=r!vyg#0x`)?7a5c76(5IEN(ob5BA6hy$2Uh
zIG6;qvwA6A1BlK82|tP

diff --git a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_21_0.png b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_21_0.png
index 8391525c4e7c4e46b86c623ce1aa7d5124964951..a7a92e6dd62b692beb06d5eb11d3de1fcd05737f 100644
GIT binary patch
literal 193069
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�VU9Y=9VtO&(uEr7SKc~l=
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�^Zl=~+V_8-$Nn%d!-^S#V
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
SIDmYXoXn{siNBux{eJ;Qx#O|`

literal 190612
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
z
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≫y0uv!nG-<)a=Q4xVO?>F#+S
zZoBsnZYudd9c9>h$IT8H&CsZ(?PERTAgl6BWv(<@-?s8w^GYDE{VuF7#I?#
z@7fr5K0LW9t8iGLR8qzIWf|o)y1iKZ64gwqlB=^OJd#RE(i^y{v&A3A-0Dx}m}|8u
zweoxzwUf6uh(25Dxlm}&rX1&+yV7AJ6r1u6e+1l?b}3`
zREb;;Yemo^FaH^aADOj-D}OC(SGZTL{-Q>?-tI=O!p&Vx{-8Of2-dz=OhT2w4msno
zx(uBMlOv61`J0n07@@OA25n?m0T@QNzm*CNIx7*+1x=t}jnoo^AC3RtXC-a3!r&x@
z94C{|^!>jU_effYf_54)KCjOvZ>6PG(XO|BDKjm)_r7%SmCBGzLS+rmHw8>^VxzTivLN^odX
zZLkHS5d%sc=U02LWS@Cf=kr8oOO`KMY_P-j=t7Dt?YVC=*(u@9Az$>_UU;BDBn%5<
zq(j;cgnk%c0F41DVFsxM%xHGrgPSUHaF}rcus1O0X9Dq92#n_D_I5S5rQ-om;*LOr
zhQ4^wiyXlN$hmjY#sBl3skq~dOe)w@%1pPaQ_GFptlmyGan>=86Vkpt-~~yWo(l&oWu0
z(4t~5Wk5Mpqsv_xH2m=1vl==Irr|6WgnLHL20VNIJd{u?!T3%2>0pa%0L>zE7OaaQ
zP?G`2C=bFTEkF~T*@b|B11ew`glAR0J1)rTf}vR#DCNl;YMfEs$x^wHû@GBjl
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
XW=wJaAuvt8T~(E{Co+%!^y~isPQ!tf

diff --git a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_23_0.png b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_23_0.png
index 49e61dbbb8c46c2be81f0293efe4952762b1e3f5..a3a11821692bcf8646c549696c9c60b87d6de70e 100644
GIT binary patch
literal 189983
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∨_LQcfA5Tu
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
H_v`-wlHKp(

literal 192254
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

?=gB&2__b?cK@+oq1I--gVe6byK!8by%!;+T#< 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

#!I`STLG{0t|0!mTV+9-T8}J20Zrht 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≈b45@* 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

9Xl#$aYm
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
aTz5J1`Y*OJ$NkA4S3ItIEcxi~SN}iL?gY*N

delta 181131
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
z

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 diff --git a/dev/search/search_index.json b/dev/search/search_index.json index 70a8d6b1cb..448c004d4f 100644 --- a/dev/search/search_index.json +++ b/dev/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"api/overview/","title":"Overview","text":""},{"location":"api/overview/#active","title":"active","text":"

Online active learning.

  • EntropySampler
"},{"location":"api/overview/#base","title":"base","text":"
  • ActiveLearningClassifier
"},{"location":"api/overview/#anomaly","title":"anomaly","text":"

Anomaly detection.

Estimators in the anomaly module have a bespoke API. Each anomaly detector has a score_one method instead of a predict_one method. This method returns an anomaly score. Normal observations should have a low score, whereas anomalous observations should have a high score. The range of the scores is relative to each estimator.

Anomaly detectors are usually unsupervised, in that they analyze the distribution of the features they are shown. But River also has a notion of supervised anomaly detectors. These analyze the distribution of a target variable, and optionally include the distribution of the features as well. They are useful for detecting labelling anomalies, which can be detrimental if they learned by a model.

  • GaussianScorer
  • HalfSpaceTrees
  • LocalOutlierFactor
  • OneClassSVM
  • PredictiveAnomalyDetection
  • QuantileFilter
  • StandardAbsoluteDeviation
  • ThresholdFilter
"},{"location":"api/overview/#base_1","title":"base","text":"
  • AnomalyDetector
  • AnomalyFilter
  • SupervisedAnomalyDetector
"},{"location":"api/overview/#bandit","title":"bandit","text":"

Multi-armed bandit (MAB) policies.

The bandit policies in River have a generic API. This allows them to be used in a variety of situations. For instance, they can be used for model selection (see model_selection.BanditRegressor).

Classes

  • BayesUCB
  • EpsilonGreedy
  • Exp3
  • LinUCBDisjoint
  • RandomPolicy
  • ThompsonSampling
  • UCB

Functions

  • evaluate
  • evaluate_offline
"},{"location":"api/overview/#base_2","title":"base","text":"
  • ContextualPolicy
  • Policy
"},{"location":"api/overview/#datasets","title":"datasets","text":"
  • BanditDataset
  • NewsArticles
"},{"location":"api/overview/#envs","title":"envs","text":"
  • CandyCaneContest
  • KArmedTestbed
"},{"location":"api/overview/#base_3","title":"base","text":"

Base interfaces.

Every estimator in River is a class, and as such inherits from at least one base interface. These are used to categorize, organize, and standardize the many estimators that River contains.

This module contains mixin classes, which are all suffixed by Mixin. Their purpose is to provide additional functionality to an estimator, and thus need to be used in conjunction with a non-mixin base class.

This module also contains utilities for type hinting and tagging estimators.

  • Base
  • BinaryDriftAndWarningDetector
  • BinaryDriftDetector
  • Classifier
  • Clusterer
  • DriftAndWarningDetector
  • DriftDetector
  • Ensemble
  • Estimator
  • MiniBatchClassifier
  • MiniBatchRegressor
  • MiniBatchSupervisedTransformer
  • MiniBatchTransformer
  • MultiLabelClassifier
  • MultiTargetRegressor
  • Regressor
  • SupervisedTransformer
  • Transformer
  • Wrapper
  • WrapperEnsemble
"},{"location":"api/overview/#cluster","title":"cluster","text":"

Unsupervised clustering.

  • CluStream
  • DBSTREAM
  • DenStream
  • KMeans
  • ODAC
  • STREAMKMeans
  • TextClust
"},{"location":"api/overview/#compat","title":"compat","text":"

Compatibility tools.

This module contains adapters for making River estimators compatible with other libraries, and vice-versa whenever possible. The relevant adapters will only be usable if you have installed the necessary library. For instance, you have to install scikit-learn in order to use the compat.convert_sklearn_to_river function.

Classes

  • River2SKLClassifier
  • River2SKLClusterer
  • River2SKLRegressor
  • River2SKLTransformer
  • SKL2RiverClassifier
  • SKL2RiverRegressor

Functions

  • convert_river_to_sklearn
  • convert_sklearn_to_river
"},{"location":"api/overview/#compose","title":"compose","text":"

Model composition.

This module contains utilities for merging multiple modeling steps into a single pipeline. Although pipelines are not the only way to process a stream of data, we highly encourage you to use them.

Classes

  • Discard
  • FuncTransformer
  • Grouper
  • Pipeline
  • Prefixer
  • Renamer
  • Select
  • SelectType
  • Suffixer
  • TargetTransformRegressor
  • TransformerProduct
  • TransformerUnion

Functions

  • learn_during_predict
"},{"location":"api/overview/#conf","title":"conf","text":"

Conformal predictions. This modules contains wrappers to enable conformal predictions on any regressor or classifier.

  • Interval
  • RegressionJackknife
"},{"location":"api/overview/#covariance","title":"covariance","text":"

Online estimation of covariance and precision matrices.

  • EmpiricalCovariance
  • EmpiricalPrecision
"},{"location":"api/overview/#datasets_1","title":"datasets","text":"

Datasets.

This module contains a collection of datasets for multiple tasks: classification, regression, etc. The data corresponds to popular datasets and are conveniently wrapped to easily iterate over the data in a stream fashion. All datasets have fixed size. Please refer to river.synth if you are interested in infinite synthetic data generators.

Regression

Name Samples Features AirlinePassengers 144 1 Bikes 182,470 8 ChickWeights 578 3 MovieLens100K 100,000 10 Restaurants 252,108 7 Taxis 1,458,644 8 TrumpApproval 1,001 6 WaterFlow 1,268 1

Binary classification

Name Samples Features Sparse Bananas 5,300 2 CreditCard 284,807 30 Elec2 45,312 8 Higgs 11,000,000 28 HTTP 567,498 3 MaliciousURL 2,396,130 3,231,961 \u2714\ufe0f Phishing 1,250 9 SMSSpam 5,574 1 SMTP 95,156 3 TREC07 75,419 5

Multi-class classification

Name Samples Features Classes ImageSegments 2,310 18 7 Insects 52,848 33 6 Keystroke 20,400 31 51

Multi-output binary classification

Name Samples Features Outputs Music 593 72 6

Multi-output regression

Name Samples Features Outputs SolarFlare 1,066 10 3 WebTraffic 44,160 3 2"},{"location":"api/overview/#base_4","title":"base","text":"
  • Dataset
  • FileDataset
  • RemoteDataset
  • SyntheticDataset
"},{"location":"api/overview/#synth","title":"synth","text":"

Synthetic datasets.

Each synthetic dataset is a stream generator. The benefit of using a generator is that they do not store the data and each data sample is generated on the fly. Except for a couple of methods, the majority of these methods are infinite data generators.

Binary classification

Name Features Agrawal 9 AnomalySine 2 ConceptDriftStream 9 Hyperplane 10 Mixed 4 SEA 3 Sine 2 STAGGER 3

Regression

Name Features Friedman 10 FriedmanDrift 10 Mv 10 Planes2D 10

Multi-class classification

Name Features Classes LED 7 10 LEDDrift 7 10 RandomRBF 10 2 RandomRBFDrift 10 2 RandomTree 10 2 Waveform 21 3

Multi-output binary classification

Name Features Outputs Logical 2 3"},{"location":"api/overview/#drift","title":"drift","text":"

Concept Drift Detection.

This module contains concept drift detection methods. The purpose of a drift detector is to raise an alarm if the data distribution changes. A good drift detector method is the one that maximizes the true positives while keeping the number of false positives to a minimum.

  • ADWIN
  • DriftRetrainingClassifier
  • DummyDriftDetector
  • KSWIN
  • NoDrift
  • PageHinkley
"},{"location":"api/overview/#binary","title":"binary","text":"

Drift detection for binary data.

  • DDM
  • EDDM
  • FHDDM
  • HDDM_A
  • HDDM_W
"},{"location":"api/overview/#datasets_2","title":"datasets","text":"
  • AirlinePassengers
  • Apple
  • Bitcoin
  • BrentSpotPrice
  • Occupancy
  • RunLog
  • UKCoalEmploy
"},{"location":"api/overview/#dummy","title":"dummy","text":"

Dummy estimators.

This module is here for testing purposes, as well as providing baseline performances.

  • NoChangeClassifier
  • PriorClassifier
  • StatisticRegressor
"},{"location":"api/overview/#ensemble","title":"ensemble","text":"

Ensemble learning.

Broadly speaking, there are two kinds of ensemble approaches. There are those that copy a single model several times and aggregate the predictions of said copies. This includes bagging as well as boosting. Then there are those that are composed of an arbitrary list of models, and can therefore aggregate predictions from different kinds of models.

  • ADWINBaggingClassifier
  • ADWINBoostingClassifier
  • AdaBoostClassifier
  • BOLEClassifier
  • BaggingClassifier
  • BaggingRegressor
  • EWARegressor
  • LeveragingBaggingClassifier
  • SRPClassifier
  • SRPRegressor
  • StackingClassifier
  • VotingClassifier
"},{"location":"api/overview/#evaluate","title":"evaluate","text":"

Model evaluation.

This module provides utilities to evaluate an online model. The goal is to reproduce a real-world scenario with high fidelity. The core function of this module is progressive_val_score, which allows to evaluate a model via progressive validation.

This module also exposes \"tracks\". A track is a predefined combination of a dataset and one or more metrics. This allows a principled manner to compare models with each other. For instance, the RegressionTrack contains several datasets and metrics to evaluate regression models. There is also a bare Track class to implement a custom track. The benchmarks directory at the root of the River repository uses these tracks.

Classes

  • BinaryClassificationTrack
  • MultiClassClassificationTrack
  • RegressionTrack
  • Track

Functions

  • iter_progressive_val_score
  • progressive_val_score
"},{"location":"api/overview/#facto","title":"facto","text":"

Factorization machines.

  • FFMClassifier
  • FFMRegressor
  • FMClassifier
  • FMRegressor
  • FwFMClassifier
  • FwFMRegressor
  • HOFMClassifier
  • HOFMRegressor
"},{"location":"api/overview/#feature_extraction","title":"feature_extraction","text":"

Feature extraction.

This module can be used to extract information from raw features. This includes encoding categorical data as well as looking at interactions between existing features. This differs from the preprocessing module, in that the latter's purpose is rather to clean the data so that it may be processed by a particular machine learning algorithm.

  • Agg
  • BagOfWords
  • PolynomialExtender
  • RBFSampler
  • TFIDF
  • TargetAgg
"},{"location":"api/overview/#feature_selection","title":"feature_selection","text":"

Feature selection.

  • PoissonInclusion
  • SelectKBest
  • VarianceThreshold
"},{"location":"api/overview/#forest","title":"forest","text":"

This module implements forest-based classifiers and regressors.

  • AMFClassifier
  • AMFRegressor
  • ARFClassifier
  • ARFRegressor
  • OXTRegressor
"},{"location":"api/overview/#imblearn","title":"imblearn","text":"

Sampling methods.

  • ChebyshevOverSampler
  • ChebyshevUnderSampler
  • HardSamplingClassifier
  • HardSamplingRegressor
  • RandomOverSampler
  • RandomSampler
  • RandomUnderSampler
"},{"location":"api/overview/#linear_model","title":"linear_model","text":"

Linear models.

  • ALMAClassifier
  • BayesianLinearRegression
  • LinearRegression
  • LogisticRegression
  • PAClassifier
  • PARegressor
  • Perceptron
  • SoftmaxRegression
"},{"location":"api/overview/#base_5","title":"base","text":"
  • GLM
"},{"location":"api/overview/#metrics","title":"metrics","text":"

Evaluation metrics.

All the metrics are updated one sample at a time. This way we can track performance of predictive methods over time.

Note that all metrics have a revert method, enabling them to be wrapped in utils.Rolling. This allows computirng rolling metrics:

from river import metrics, utils\n\ny_true = [True, False, True, True]\ny_pred = [False, False, True, True]\n\nmetric = utils.Rolling(metrics.Accuracy(), window_size=3)\n\nfor yt, yp in zip(y_true, y_pred):\n    print(metric.update(yt, yp))\n
Accuracy: 0.00%\nAccuracy: 50.00%\nAccuracy: 66.67%\nAccuracy: 100.00%\n
  • Accuracy
  • AdjustedMutualInfo
  • AdjustedRand
  • BalancedAccuracy
  • ClassificationReport
  • CohenKappa
  • Completeness
  • ConfusionMatrix
  • CrossEntropy
  • F1
  • FBeta
  • FowlkesMallows
  • GeometricMean
  • Homogeneity
  • Jaccard
  • LogLoss
  • MAE
  • MAPE
  • MCC
  • MSE
  • MacroF1
  • MacroFBeta
  • MacroJaccard
  • MacroPrecision
  • MacroRecall
  • MicroF1
  • MicroFBeta
  • MicroJaccard
  • MicroPrecision
  • MicroRecall
  • MultiFBeta
  • MutualInfo
  • NormalizedMutualInfo
  • Precision
  • R2
  • RMSE
  • RMSLE
  • ROCAUC
  • Rand
  • Recall
  • RollingROCAUC
  • SMAPE
  • Silhouette
  • VBeta
  • WeightedF1
  • WeightedFBeta
  • WeightedJaccard
  • WeightedPrecision
  • WeightedRecall
"},{"location":"api/overview/#base_6","title":"base","text":"
  • BinaryMetric
  • ClassificationMetric
  • Metric
  • Metrics
  • MultiClassMetric
  • RegressionMetric
  • WrapperMetric
"},{"location":"api/overview/#multioutput","title":"multioutput","text":"

Metrics for multi-output learning.

  • ExactMatch
  • MacroAverage
  • MicroAverage
  • MultiLabelConfusionMatrix
  • PerOutput
  • SampleAverage
"},{"location":"api/overview/#base_7","title":"base","text":"
  • MultiOutputClassificationMetric
  • MultiOutputRegressionMetric
"},{"location":"api/overview/#misc","title":"misc","text":"

Miscellaneous.

This module essentially regroups some implementations that have nowhere else to go.

  • SDFT
  • Skyline
"},{"location":"api/overview/#model_selection","title":"model_selection","text":"

Model selection.

This module regroups a variety of methods that may be used for performing model selection. An model selector is provided with a list of models. These are called \"experts\" in the expert learning literature. The model selector's goal is to perform at least as well as the best model. Indeed, initially, the best model is not known. The performance of each model becomes more apparent as time goes by. Different strategies are possible, each one offering a different tradeoff in terms of accuracy and computational performance.

Model selection can be used for tuning the hyperparameters of a model. This may be done by creating a copy of the model for each set of hyperparameters, and treating each copy as a separate model. The utils.expand_param_grid function can be used for this purpose.

  • BanditClassifier
  • BanditRegressor
  • GreedyRegressor
  • SuccessiveHalvingClassifier
  • SuccessiveHalvingRegressor
"},{"location":"api/overview/#base_8","title":"base","text":"
  • ModelSelectionClassifier
  • ModelSelectionRegressor
"},{"location":"api/overview/#multiclass","title":"multiclass","text":"

Multi-class classification.

  • OneVsOneClassifier
  • OneVsRestClassifier
  • OutputCodeClassifier
"},{"location":"api/overview/#multioutput_1","title":"multioutput","text":"

Multi-output models.

  • ClassifierChain
  • MonteCarloClassifierChain
  • MultiClassEncoder
  • ProbabilisticClassifierChain
  • RegressorChain
"},{"location":"api/overview/#naive_bayes","title":"naive_bayes","text":"

Naive Bayes algorithms.

  • BernoulliNB
  • ComplementNB
  • GaussianNB
  • MultinomialNB
"},{"location":"api/overview/#neighbors","title":"neighbors","text":"

Neighbors-based learning.

Also known as lazy methods. In these methods, generalisation of the training data is delayed until a query is received.

  • KNNClassifier
  • KNNRegressor
  • LazySearch
  • SWINN
"},{"location":"api/overview/#neural_net","title":"neural_net","text":"

Neural networks.

  • MLPRegressor
"},{"location":"api/overview/#activations","title":"activations","text":"
  • Identity
  • ReLU
  • Sigmoid
"},{"location":"api/overview/#optim","title":"optim","text":"

Stochastic optimization.

  • AMSGrad
  • AdaBound
  • AdaDelta
  • AdaGrad
  • AdaMax
  • Adam
  • Averager
  • FTRLProximal
  • Momentum
  • Nadam
  • NesterovMomentum
  • RMSProp
  • SGD
"},{"location":"api/overview/#base_9","title":"base","text":"
  • Initializer
  • Loss
  • Optimizer
  • Scheduler
"},{"location":"api/overview/#initializers","title":"initializers","text":"

Weight initializers.

  • Constant
  • Normal
  • Zeros
"},{"location":"api/overview/#losses","title":"losses","text":"

Loss functions.

Each loss function is intended to work with both single values as well as numpy vectors.

  • Absolute
  • BinaryFocalLoss
  • BinaryLoss
  • Cauchy
  • CrossEntropy
  • EpsilonInsensitiveHinge
  • Hinge
  • Huber
  • Log
  • MultiClassLoss
  • Poisson
  • Quantile
  • RegressionLoss
  • Squared
"},{"location":"api/overview/#schedulers","title":"schedulers","text":"

Learning rate schedulers.

  • Constant
  • InverseScaling
  • Optimal
"},{"location":"api/overview/#preprocessing","title":"preprocessing","text":"

Feature preprocessing.

The purpose of this module is to modify an existing set of features so that they can be processed by a machine learning algorithm. This may be done by scaling numeric parts of the data or by one-hot encoding categorical features. The difference with the feature_extraction module is that the latter extracts new information from the data

  • AdaptiveStandardScaler
  • Binarizer
  • FeatureHasher
  • GaussianRandomProjector
  • LDA
  • MaxAbsScaler
  • MinMaxScaler
  • Normalizer
  • OneHotEncoder
  • OrdinalEncoder
  • PredClipper
  • PreviousImputer
  • RobustScaler
  • SparseRandomProjector
  • StandardScaler
  • StatImputer
  • TargetMinMaxScaler
  • TargetStandardScaler
"},{"location":"api/overview/#proba","title":"proba","text":"

Probability distributions.

  • Beta
  • Gaussian
  • Multinomial
  • MultivariateGaussian
"},{"location":"api/overview/#base_10","title":"base","text":"
  • BinaryDistribution
  • ContinuousDistribution
  • DiscreteDistribution
  • Distribution
"},{"location":"api/overview/#reco","title":"reco","text":"

Recommender systems module.

Recommender systems (recsys for short) is a large topic. This module is far from comprehensive. It simply provides models which can contribute towards building a recommender system.

A typical recommender system is made up of a retrieval phase, followed by a ranking phase. The output of the retrieval phase is a shortlist of the catalogue of items. The items in the shortlist are then usually ranked according to the expected preference the user will have for each item. This module focuses on the ranking phase.

Models which inherit from the Ranker class have a rank method. This allows sorting a set of items for a given user. Each model also has a learn_one(user, item, y, context) which allows learning user preferences. The y parameter is a reward value, the nature of which depends is specific to each and every recommendation task. Typically the reward is a number or a boolean value. It is up to the user to determine how to translate a user session into training data.

  • Baseline
  • BiasedMF
  • FunkMF
  • RandomNormal
"},{"location":"api/overview/#base_11","title":"base","text":"
  • Ranker
"},{"location":"api/overview/#rules","title":"rules","text":"

Decision rules-based algorithms.

  • AMRules
"},{"location":"api/overview/#sketch","title":"sketch","text":"

Data containers and collections for sequential data.

This module has summary and sketch structures that operate with constrained amounts of memory and processing time.

  • Counter
  • HeavyHitters
  • Histogram
  • Set
"},{"location":"api/overview/#stats","title":"stats","text":"

Running statistics

  • AbsMax
  • AutoCorr
  • BayesianMean
  • Count
  • Cov
  • EWMean
  • EWVar
  • Entropy
  • IQR
  • KolmogorovSmirnov
  • Kurtosis
  • Link
  • MAD
  • Max
  • Mean
  • Min
  • Mode
  • NUnique
  • PeakToPeak
  • PearsonCorr
  • Quantile
  • RollingAbsMax
  • RollingIQR
  • RollingMax
  • RollingMin
  • RollingMode
  • RollingPeakToPeak
  • RollingQuantile
  • SEM
  • Shift
  • Skew
  • Sum
  • Var
"},{"location":"api/overview/#base_12","title":"base","text":"
  • Bivariate
  • Univariate
"},{"location":"api/overview/#stream","title":"stream","text":"

Streaming utilities.

The module includes tools to iterate over data streams.

Classes

  • Cache
  • TwitchChatStream
  • TwitterLiveStream

Functions

  • iter_arff
  • iter_array
  • iter_csv
  • iter_libsvm
  • iter_pandas
  • iter_polars
  • iter_sklearn_dataset
  • iter_sql
  • shuffle
  • simulate_qa
"},{"location":"api/overview/#time_series","title":"time_series","text":"

Time series forecasting.

Classes

  • ForecastingMetric
  • HoltWinters
  • HorizonAggMetric
  • HorizonMetric
  • SNARIMAX

Functions

  • evaluate
  • iter_evaluate
"},{"location":"api/overview/#base_13","title":"base","text":"
  • Forecaster
"},{"location":"api/overview/#tree","title":"tree","text":"

This module implements incremental Decision Tree (iDT) algorithms for handling classification and regression tasks.

Each family of iDT will be presented in a dedicated section.

At any moment, iDT might face situations where an input feature previously used to make a split decision is missing in an incoming sample. In this case, the most traversed path is selected to pass down the instance. Moreover, in the case of nominal features, if a new category arises and the feature is used in a decision node, a new branch is created to accommodate the new value.

1. Hoeffding Trees

This family of iDT algorithms use the Hoeffding Bound to determine whether or not the incrementally computed best split candidates would be equivalent to the ones obtained in a batch-processing fashion.

All the available Hoeffding Tree (HT) implementation share some common functionalities:

  • Set the maximum tree depth allowed (max_depth).

  • Handle Active and Inactive nodes: Active learning nodes update their own internal state to improve predictions and monitor input features to perform split attempts. Inactive learning nodes do not update their internal state and only keep the predictors; they are used to save memory in the tree (max_size).

  • Enable/disable memory management.

  • Define strategies to sort leaves according to how likely they are going to be split. This enables deactivating non-promising leaves to save memory.

  • Disabling \u2018poor\u2019 attributes to save memory and speed up tree construction. A poor attribute is an input feature whose split merit is much smaller than the current best candidate. Once a feature is disabled, the tree stops saving statistics necessary to split such a feature.

  • Define properties to access leaf prediction strategies, split criteria, and other relevant characteristics.

2. Stochastic Gradient Trees

Stochastic Gradient Trees (SGT) directly optimize a loss function, rather than relying on split heuristics to guide the tree growth. F-tests are performed do decide whether a leaf should be expanded or its prediction value should be updated.

SGTs can deal with binary classification and single-target regression. They also support dynamic and static feature quantizers to deal with numerical inputs.

  • ExtremelyFastDecisionTreeClassifier
  • HoeffdingAdaptiveTreeClassifier
  • HoeffdingAdaptiveTreeRegressor
  • HoeffdingTreeClassifier
  • HoeffdingTreeRegressor
  • SGTClassifier
  • SGTRegressor
  • iSOUPTreeRegressor
"},{"location":"api/overview/#base_14","title":"base","text":"

This module defines generic branch and leaf implementations. These should be used in River by each tree-based model. Using these classes makes the code more DRY. The only exception for not doing so would be for performance, whereby a tree-based model uses a bespoke implementation.

This module defines a bunch of methods to ease the manipulation and diagnostic of trees. Its intention is to provide utilities for walking over a tree and visualizing it.

  • Branch
  • Leaf
"},{"location":"api/overview/#splitter","title":"splitter","text":"

This module implements the Attribute Observers (AO) (or tree splitters) that are used by the Hoeffding Trees (HT). It also implements the feature quantizers (FQ) used by Stochastic Gradient Trees (SGT). AOs are a core aspect of the HTs construction, and might represent one of the major bottlenecks when building the trees. The same holds for SGTs and FQs. The correct choice and setup of a splitter might result in significant differences in the running time and memory usage of the incremental decision trees.

AOs for classification and regression trees can be differentiated by using the property is_target_class (True for splitters designed to classification tasks). An error will be raised if one tries to use a classification splitter in a regression tree and vice-versa. Lastly, AOs cannot be used in SGT and FQs cannot be used in Hoeffding Trees. So, care must be taken when choosing the correct feature splitter.

  • DynamicQuantizer
  • EBSTSplitter
  • ExhaustiveSplitter
  • GaussianSplitter
  • HistogramSplitter
  • QOSplitter
  • Quantizer
  • Splitter
  • StaticQuantizer
  • TEBSTSplitter
"},{"location":"api/overview/#utils","title":"utils","text":"

Shared utility classes and functions

Classes

  • Rolling
  • SortedWindow
  • TimeRolling
  • VectorDict

Functions

  • expand_param_grid
  • log_method_calls
"},{"location":"api/overview/#math","title":"math","text":"

Mathematical utility functions (intended for internal purposes).

A lot of this is experimental and has a high probability of changing in the future.

  • argmax
  • chain_dot
  • clamp
  • dot
  • dotvecmat
  • log_sum_2_exp
  • matmul2d
  • minkowski_distance
  • norm
  • outer
  • prod
  • sherman_morrison
  • sigmoid
  • sign
  • softmax
  • woodbury_matrix
"},{"location":"api/overview/#norm","title":"norm","text":"
  • normalize_values_in_dict
  • scale_values_in_dict
"},{"location":"api/overview/#pretty","title":"pretty","text":"

Helper functions for making things readable by humans.

  • humanize_bytes
  • print_table
"},{"location":"api/overview/#random","title":"random","text":"
  • exponential
  • poisson
"},{"location":"api/active/EntropySampler/","title":"EntropySampler","text":"

Active learning classifier based on entropy measures.

The entropy sampler selects samples for labeling based on the entropy of the prediction. The higher the entropy, the more likely the sample will be selected for labeling. The entropy measure is normalized to [0, 1] and then raised to the power of the discount factor.

"},{"location":"api/active/EntropySampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    The classifier to wrap.

  • discount_factor

    Type \u2192 float

    Default \u2192 3

    The discount factor to apply to the entropy measure. A value of 1 won't affect the entropy. The higher the discount factor, the more the entropy will be discounted, and the less likely samples will be selected for labeling. A value of 0 will select all samples for labeling. The discount factor is thus a way to control how many samples are selected for labeling.

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/active/EntropySampler/#examples","title":"Examples","text":"

from river import active\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.SMSSpam()\nmetric = metrics.Accuracy()\nmodel = (\n    feature_extraction.TFIDF(on='body') |\n    linear_model.LogisticRegression()\n)\nmodel = active.EntropySampler(model, seed=42)\n\nn_samples_used = 0\nfor x, y in dataset:\n    y_pred, ask = model.predict_one(x)\n    metric.update(y, y_pred)\n    if ask:\n        n_samples_used += 1\n        model.learn_one(x, y)\n\nmetric\n
Accuracy: 86.60%\n

dataset.n_samples, n_samples_used\n
(5574, 1921)\n

print(f\"{n_samples_used / dataset.n_samples:.2%}\")\n
34.46%\n

"},{"location":"api/active/EntropySampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/active/base/ActiveLearningClassifier/","title":"ActiveLearningClassifier","text":"

Base class for active learning classifiers.

"},{"location":"api/active/base/ActiveLearningClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    The classifier to wrap.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/active/base/ActiveLearningClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/anomaly/GaussianScorer/","title":"GaussianScorer","text":"

Univariate Gaussian anomaly detector.

This is a supervised anomaly detector. It fits a Gaussian distribution to the target values. The anomaly score is then computed as so:

\\[score = 2 \\mid CDF(y) - 0.5 \\mid\\]

This makes it so that the anomaly score is between 0 and 1.

"},{"location":"api/anomaly/GaussianScorer/#parameters","title":"Parameters","text":"
  • window_size

    Default \u2192 None

    Set this to fit the Gaussian distribution over a window of recent values.

  • grace_period

    Default \u2192 100

    Number of samples before which a 0 is always returned. This is handy because the Gaussian distribution needs time to stabilize, and will likely produce overly high anomaly score for the first samples.

"},{"location":"api/anomaly/GaussianScorer/#examples","title":"Examples","text":"

import random\nfrom river import anomaly\n\nrng = random.Random(42)\ndetector = anomaly.GaussianScorer()\n\nfor y in (rng.gauss(0, 1) for _ in range(100)):\n    detector.learn_one(None, y)\n\ndetector.score_one(None, -3)\n
0.999477...\n

detector.score_one(None, 3)\n
0.999153...\n

detector.score_one(None, 0)\n
0.052665...\n

detector.score_one(None, 0.5)\n
0.383717...\n

"},{"location":"api/anomaly/GaussianScorer/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/HalfSpaceTrees/","title":"HalfSpaceTrees","text":"

Half-Space Trees (HST).

Half-space trees are an online variant of isolation forests. They work well when anomalies are spread out. However, they do not work well if anomalies are packed together in windows.

By default, this implementation assumes that each feature has values that are comprised between 0 and 1. If this isn't the case, then you can manually specify the limits via the limits argument. If you do not know the limits in advance, then you can use a preprocessing.MinMaxScaler as an initial preprocessing step.

The current implementation builds the trees the first time the learn_one method is called. Therefore, the first learn_one call might be slow, whereas subsequent calls will be very fast in comparison. In general, the computation time of both learn_one and score_one scales linearly with the number of trees, and exponentially with the height of each tree.

Note that high scores indicate anomalies, whereas low scores indicate normal observations.

"},{"location":"api/anomaly/HalfSpaceTrees/#parameters","title":"Parameters","text":"
  • n_trees

    Default \u2192 10

    Number of trees to use.

  • height

    Default \u2192 8

    Height of each tree. Note that a tree of height h is made up of h + 1 levels and therefore contains 2 ** (h + 1) - 1 nodes.

  • window_size

    Default \u2192 250

    Number of observations to use for calculating the mass at each node in each tree.

  • limits

    Type \u2192 dict[base.typing.FeatureName, tuple[float, float]] | None

    Default \u2192 None

    Specifies the range of each feature. By default each feature is assumed to be in range [0, 1].

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed.

"},{"location":"api/anomaly/HalfSpaceTrees/#attributes","title":"Attributes","text":"
  • size_limit

    This is the threshold under which the node search stops during the scoring phase. The value .1 is a magic constant indicated in the original paper.

"},{"location":"api/anomaly/HalfSpaceTrees/#examples","title":"Examples","text":"

from river import anomaly\n\nX = [0.5, 0.45, 0.43, 0.44, 0.445, 0.45, 0.0]\nhst = anomaly.HalfSpaceTrees(\n    n_trees=5,\n    height=3,\n    window_size=3,\n    seed=42\n)\n\nfor x in X[:3]:\n    hst.learn_one({'x': x})  # Warming up\n\nfor x in X:\n    features = {'x': x}\n    hst.learn_one(features)\n    print(f'Anomaly score for x={x:.3f}: {hst.score_one(features):.3f}')\n
Anomaly score for x=0.500: 0.107\nAnomaly score for x=0.450: 0.071\nAnomaly score for x=0.430: 0.107\nAnomaly score for x=0.440: 0.107\nAnomaly score for x=0.445: 0.107\nAnomaly score for x=0.450: 0.071\nAnomaly score for x=0.000: 0.853\n

The feature values are all comprised between 0 and 1. This is what is assumed by the model by default. In the following example, we construct a pipeline that scales the data online and ensures that the values of each feature are comprised between 0 and 1.

from river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.HalfSpaceTrees(seed=42)\n)\n\nauc = metrics.ROCAUC()\n\nfor x, y in datasets.CreditCard().take(2500):\n    score = model.score_one(x)\n    model.learn_one(x)\n    auc.update(y, score)\n\nauc\n
ROCAUC: 91.15%\n

You can also use the evaluate.progressive_val_score function to evaluate the model on a data stream.

from river import evaluate\n\nmodel = model.clone()\n\nevaluate.progressive_val_score(\n    dataset=datasets.CreditCard().take(2500),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=1000\n)\n
[1,000] ROCAUC: 88.43%\n[2,000] ROCAUC: 89.28%\n[2,500] ROCAUC: 91.15%\nROCAUC: 91.15%\n

"},{"location":"api/anomaly/HalfSpaceTrees/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Tan, S.C., Ting, K.M. and Liu, T.F., 2011, June. Fast anomaly detection for streaming data. In Twenty-Second International Joint Conference on Artificial Intelligence. \u21a9

"},{"location":"api/anomaly/LocalOutlierFactor/","title":"LocalOutlierFactor","text":"

Incremental Local Outlier Factor (Incremental LOF).

The Incremental Local Outlier Factor (ILOF) is an online version of the Local Outlier Factor (LOF), proposed by Pokrajac et al. (2017), and is used to identify outliers based on density of local neighbors.

The algorithm take into account the following elements: - NewPoints: new points;

- `kNN(p)`: the k-nearest neighboors of `p` (the k-closest points to `p`);\n\n- `RkNN(p)`: the reverse-k-nearest neighboors of `p` (points that have `p` as one of their neighboors);\n\n- `set_upd_lrd`: Set of points that need to have the local reachability distance updated;\n\n- `set_upd_lof`: Set of points that need to have the local outlier factor updated.\n

This current implementation within River, based on the original one in the paper, follows the following steps: 1) Insert new data points (NewPoints) and calculate its distance to existing points; 2) Update the nreaest neighboors and reverse nearest neighboors of all the points; 3) Define sets of affected points that required updates; 4) Calculate the reachability-distance from new point to neighboors (NewPoints -> kNN(NewPoints)) and from rev-neighboors to new point (RkNN(NewPoints) -> NewPoints); 5) Update the reachability-distance for affected points: RkNN(RkNN(NewPoints)) -> RkNN(NewPoints) 6) Update local reachability distance of affected points: lrd(set_upd_lrd); 7) Update local outlier factor: lof(set_upd_lof).

The incremental LOF algorithm is expected to provide equivalent detection performance as the iterated static LOF algroithm (applied after insertion of each data record), while requiring significantly less computational time. Moreover, the insertion of a new data point as well as deletion of an old data point influence only a limited number of their closest neighbors, which means that the number of updates per such insertion/deletion does not depend on the total number of instances learned/in the data set.

"},{"location":"api/anomaly/LocalOutlierFactor/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 10

    The number of nearest neighbors to use for density estimation.

  • distance_func

    Type \u2192 DistanceFunc | None

    Default \u2192 None

    Distance function to be used. By default, the Euclidean distance is used.

"},{"location":"api/anomaly/LocalOutlierFactor/#attributes","title":"Attributes","text":"
  • x_list

    A list of stored observations.

  • x_batch

    A buffer to hold incoming observations until it's time to update the model.

  • x_scores

    A buffer to hold incoming observations until it's time to score them.

  • dist_dict

    A dictionary to hold distances between observations.

  • neighborhoods

    A dictionary to hold neighborhoods for each observation.

  • rev_neighborhoods

    A dictionary to hold reverse neighborhoods for each observation.

  • k_dist

    A dictionary to hold k-distances for each observation.

  • reach_dist

    A dictionary to hold reachability distances for each observation.

  • lof

    A dictionary to hold Local Outlier Factors for each observation.

  • local_reach

    A dictionary to hold local reachability distances for each observation.

"},{"location":"api/anomaly/LocalOutlierFactor/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import anomaly\nfrom river import datasets\n\ncc_df = pd.DataFrame(datasets.CreditCard())\n\nlof = anomaly.LocalOutlierFactor(n_neighbors=20)\n\nfor x, _ in datasets.CreditCard().take(200):\n    lof.learn_one(x)\n\nlof.learn_many(cc_df[201:401])\n\nscores = []\nfor x in cc_df[0][401:406]:\n    scores.append(lof.score_one(x))\n\n[round(score, 3) for score in scores]\n
[1.802, 1.936, 1.566, 1.181, 1.272]\n

X = [0.5, 0.45, 0.43, 0.44, 0.445, 0.45, 0.0]\nlof = anomaly.LocalOutlierFactor()\n\nfor x in X[:3]:\n    lof.learn_one({'x': x})  # Warming up\n\nfor x in X:\n    features = {'x': x}\n    print(\n        f'Anomaly score for x={x:.3f}: {lof.score_one(features):.3f}')\n    lof.learn_one(features)\n
Anomaly score for x=0.500: 0.000\nAnomaly score for x=0.450: 0.000\nAnomaly score for x=0.430: 0.000\nAnomaly score for x=0.440: 1.020\nAnomaly score for x=0.445: 1.032\nAnomaly score for x=0.450: 0.000\nAnomaly score for x=0.000: 0.980\n

"},{"location":"api/anomaly/LocalOutlierFactor/#methods","title":"Methods","text":"learn learn_many learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

David Pokrajac, Aleksandar Lazarevic, and Longin Jan Latecki (2007). Incremental Local Outlier Detection for Data Streams. In: Proceedings of the 2007 IEEE Symposium on Computational Intelligence and Data Mining (CIDM 2007). 504-515. DOI: 10.1109/CIDM.2007.368917.

"},{"location":"api/anomaly/OneClassSVM/","title":"OneClassSVM","text":"

One-class SVM for anomaly detection.

This is a stochastic implementation of the one-class SVM algorithm, and will not exactly match its batch formulation.

It is encouraged to scale the data upstream with preprocessing.StandardScaler, as well as use feature_extraction.RBFSampler to capture non-linearities.

"},{"location":"api/anomaly/OneClassSVM/#parameters","title":"Parameters","text":"
  • nu

    Default \u2192 0.1

    An upper bound on the fraction of training errors and a lower bound of the fraction of support vectors. You can think of it as the expected fraction of anomalies.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/anomaly/OneClassSVM/#attributes","title":"Attributes","text":"
  • weights
"},{"location":"api/anomaly/OneClassSVM/#examples","title":"Examples","text":"

from river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = anomaly.QuantileFilter(\n    anomaly.OneClassSVM(nu=0.2),\n    q=0.995\n)\n\nauc = metrics.ROCAUC()\n\nfor x, y in datasets.CreditCard().take(2500):\n    score = model.score_one(x)\n    is_anomaly = model.classify(score)\n    model.learn_one(x)\n    auc.update(y, is_anomaly)\n\nauc\n
ROCAUC: 74.68%\n

You can also use the evaluate.progressive_val_score function to evaluate the model on a data stream.

from river import evaluate\n\nmodel = model.clone()\n\nevaluate.progressive_val_score(\n    dataset=datasets.CreditCard().take(2500),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=1000\n)\n
[1,000] ROCAUC: 74.40%\n[2,000] ROCAUC: 74.60%\n[2,500] ROCAUC: 74.68%\nROCAUC: 74.68%\n

"},{"location":"api/anomaly/OneClassSVM/#methods","title":"Methods","text":"learn_many learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/PredictiveAnomalyDetection/","title":"PredictiveAnomalyDetection","text":"

Predictive Anomaly Detection.

This semi-supervised technique to anomaly detection employs a predictive model to learn the normal behavior of a dataset. It forecasts future data points and compares these predictions with actual values to determine anomalies. An anomaly score is calculated based on the deviation of the prediction from the actual value, with higher scores indicating a higher probability of an anomaly.

The actual anomaly score is calculated by comparing the squared-error to a dynamic threshold. If the error is larger than this threshold, the score will be 1.0; else, the score will be linearly distributed within the range (0.0, 1.0), with a higher score indicating a higher squared error compared to the threshold.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#parameters","title":"Parameters","text":"
  • predictive_model

    Type \u2192 base.Estimator | None

    Default \u2192 None

    The underlying model that learns the normal behavior of the data and makes predictions on future behavior. This can be an estimator of any type, depending on the type of problem (e.g. some Forecaster for Time-Series Data).

  • horizon

    Type \u2192 int

    Default \u2192 1

    When a Forecaster is used as a predictive model, this is the horizon of its forecasts.

  • n_std

    Type \u2192 float

    Default \u2192 3.0

    Number of Standard Deviations to calculate the threshold. A larger number of standard deviation will result in a higher threshold, resulting in the model being less sensitive.

  • warmup_period

    Type \u2192 int

    Default \u2192 0

    Duration for the model to warm up. Since the model starts with zero knowledge, the first instances will have very high anomaly scores, resulting in bad predictions (or high error). As such, a warm-up period is necessary to discard the first seen instances. While the model is within the warm-up period, no score will be calculated and the score_one method will return 0.0.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#attributes","title":"Attributes","text":"
  • dynamic_mae (stats.Mean)

    The running mean of the (squared) errors from the predictions of the model to update the dynamic threshold.

  • dynamic_se_variance (stats.Var)

    The running variance of the (squared) errors from the predictions of the model to update the dynamic threshold.

  • iter (int)

    The number of iterations (data points) passed.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#examples","title":"Examples","text":"

from river import datasets\nfrom river import time_series\nfrom river import anomaly\nfrom river import preprocessing\nfrom river import linear_model\nfrom river import optim\n\nperiod = 12\npredictive_model = time_series.SNARIMAX(\n    p=period,\n    d=1,\n    q=period,\n    m=period,\n    sd=1,\n    regressor=(\n        preprocessing.StandardScaler()\n        | linear_model.LinearRegression(\n            optimizer=optim.SGD(0.005),\n        )\n    ),\n)\n\nPAD = anomaly.PredictiveAnomalyDetection(\n    predictive_model,\n    horizon=1,\n    n_std=3.5,\n    warmup_period=15\n)\n\nscores = []\n\nfor t, (x, y) in enumerate(datasets.AirlinePassengers()):\n    score = PAD.score_one(None, y)\n    PAD = PAD.learn_one(None, y)\n    scores.append(score)\n\nprint(scores[-1])\n
0.05329236123455621\n

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict | None'
  • y \u2014 'base.typing.Target | float'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Laptev N, Amizadeh S, Flint I. Generic and scalable framework for Automated Time-series Anomaly Detection. Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 2015. doi:10.1145/2783258.2788611.\u00a0\u21a9

"},{"location":"api/anomaly/QuantileFilter/","title":"QuantileFilter","text":"

Threshold anomaly filter.

"},{"location":"api/anomaly/QuantileFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    An anomaly detector.

  • q

    Type \u2192 float

    The quantile level above which to classify an anomaly score as anomalous.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/QuantileFilter/#attributes","title":"Attributes","text":"
  • q
"},{"location":"api/anomaly/QuantileFilter/#examples","title":"Examples","text":"

from river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.QuantileFilter(\n        anomaly.HalfSpaceTrees(seed=42),\n        q=0.95\n    )\n)\n\nreport = metrics.ClassificationReport()\n\nfor x, y in datasets.CreditCard().take(2000):\n    score = model.score_one(x)\n    is_anomaly = model['QuantileFilter'].classify(score)\n    model.learn_one(x)\n    report.update(y, is_anomaly)\n\nreport\n
               Precision   Recall   F1       Support\n<BLANKLINE>\n       0      99.95%   94.49%   97.14%      1998\n       1       0.90%   50.00%    1.77%         2\n<BLANKLINE>\n   Macro      50.42%   72.25%   49.46%\n   Micro      94.45%   94.45%   94.45%\nWeighted      99.85%   94.45%   97.05%\n<BLANKLINE>\n                 94.45% accuracy\n

"},{"location":"api/anomaly/QuantileFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/StandardAbsoluteDeviation/","title":"StandardAbsoluteDeviation","text":"

Standard Absolute Deviation (SAD).

SAD is the model that calculates the anomaly score by using the deviation from the mean/median, divided by the standard deviation of all the points seen within the data stream. The idea of this model is based on the \\(3 \\times \\sigma\\) rule described in 1.

This implementation is adapted from the implementation within PySAD (Python Streaming Anomaly Detection) 2.

As a univariate anomaly detection algorithm, this implementation is adapted to River in a similar way as that of the GaussianScorer algorithm, with the variable taken into the account at the learning phase and scoring phase under variable y, ignoring x.

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#parameters","title":"Parameters","text":"
  • sub_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    The statistic to be subtracted, then divided by the standard deviation for scoring. Defaults to stats.Mean()`.

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#examples","title":"Examples","text":"

import random\nfrom river import anomaly\nfrom river import stats\nfrom river import stream\n\nrng = random.Random(42)\n\nmodel = anomaly.StandardAbsoluteDeviation(sub_stat=stats.Mean())\n\nfor _ in range(150):\n    y = rng.gauss(0, 1)\n    model.learn_one(None, y)\n\nmodel.score_one(None, 2)\n
2.057...\n

model.score_one(None, 0)\n
0.084...\n

model.score_one(None, 1)\n
0.986...\n

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Hochenbaum, J., Vallis, O.S., Kejariwal, A., 2017. Automatic Anomaly Detection in the Cloud Via Statistical Learning. https://doi.org/10.48550/ARXIV.1704.07706.\u00a0\u21a9

  2. Yilmaz, S.F., Kozat, S.S., 2020. PySAD: A Streaming Anomaly Detection Framework in Python. https://doi.org/10.48550/ARXIV.2009.02572.\u00a0\u21a9

"},{"location":"api/anomaly/ThresholdFilter/","title":"ThresholdFilter","text":"

Threshold anomaly filter.

"},{"location":"api/anomaly/ThresholdFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    An anomaly detector.

  • threshold

    Type \u2192 float

    A threshold above which to classify an anomaly score as anomalous.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/ThresholdFilter/#examples","title":"Examples","text":"

Anomaly filters can be used as part of a pipeline. For instance, we might want to filter out anomalous observations so as not to corrupt a supervised model. As an example, let's take the datasets.WaterFlow dataset. Some of the samples have anomalous target variables because of human interventions. We don't want our model to learn these values.

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\ndataset = datasets.WaterFlow()\nmetric = metrics.SMAPE()\n\nperiod = 24  # 24 samples per day\n\nmodel = (\n    anomaly.ThresholdFilter(\n        anomaly.GaussianScorer(\n            window_size=period * 7,  # 7 days\n            grace_period=30\n        ),\n        threshold=0.995\n    ) |\n    time_series.HoltWinters(\n        alpha=0.3,\n        beta=0.1,\n        multiplicative=False\n    )\n)\n\ntime_series.evaluate(\n    dataset,\n    model,\n    metric,\n    horizon=period\n)\n
+1  SMAPE: 4.220171\n+2  SMAPE: 4.322648\n+3  SMAPE: 4.418546\n+4  SMAPE: 4.504986\n+5  SMAPE: 4.57924\n+6  SMAPE: 4.64123\n+7  SMAPE: 4.694042\n+8  SMAPE: 4.740753\n+9  SMAPE: 4.777291\n+10 SMAPE: 4.804558\n+11 SMAPE: 4.828114\n+12 SMAPE: 4.849823\n+13 SMAPE: 4.865871\n+14 SMAPE: 4.871972\n+15 SMAPE: 4.866274\n+16 SMAPE: 4.842614\n+17 SMAPE: 4.806214\n+18 SMAPE: 4.763355\n+19 SMAPE: 4.713455\n+20 SMAPE: 4.672062\n+21 SMAPE: 4.659102\n+22 SMAPE: 4.693496\n+23 SMAPE: 4.773707\n+24 SMAPE: 4.880654\n

"},{"location":"api/anomaly/ThresholdFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/AnomalyDetector/","title":"AnomalyDetector","text":"

An anomaly detector.

"},{"location":"api/anomaly/base/AnomalyDetector/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/AnomalyFilter/","title":"AnomalyFilter","text":"

Anomaly filter base class.

An anomaly filter has the ability to classify an anomaly score as anomalous or not. It can then be used to filter anomalies, in particular as part of a pipeline.

"},{"location":"api/anomaly/base/AnomalyFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    Type \u2192 AnomalyDetector

    An anomaly detector wrapped by the anomaly filter.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/base/AnomalyFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/SupervisedAnomalyDetector/","title":"SupervisedAnomalyDetector","text":"

A supervised anomaly detector.

"},{"location":"api/anomaly/base/SupervisedAnomalyDetector/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/bandit/BayesUCB/","title":"BayesUCB","text":"

Bayes-UCB bandit policy.

Bayes-UCB is a Bayesian algorithm for the multi-armed bandit problem. It uses the posterior distribution of the reward of each arm to compute an upper confidence bound (UCB) on the expected reward of each arm. The arm with the highest UCB is then pulled. The posterior distribution is updated after each pull. The algorithm is described in [^1].

"},{"location":"api/bandit/BayesUCB/#parameters","title":"Parameters","text":"
  • reward_obj

    Default \u2192 None

    The reward object that is used to update the posterior distribution.

  • burn_in

    Default \u2192 0

    Number of initial observations per arm before using the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/BayesUCB/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/BayesUCB/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.BayesUCB(seed=123)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 841.\n

"},{"location":"api/bandit/BayesUCB/#methods","title":"Methods","text":"compute_index

the p-th quantile of the beta distribution for the arm

Parameters

  • arm_id

pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Rewrite update function

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/EpsilonGreedy/","title":"EpsilonGreedy","text":"

\\(\\varepsilon\\)-greedy bandit policy.

Performs arm selection by using an \\(\\varepsilon\\)-greedy bandit strategy. An arm is selected at each step. The best arm is selected (1 - \\(\\varepsilon\\))% of the time.

Selection bias is a common problem when using bandits. This bias can be mitigated by using burn-in phase. Each model is given the chance to learn during the first burn_in steps.

"},{"location":"api/bandit/EpsilonGreedy/#parameters","title":"Parameters","text":"
  • epsilon

    Type \u2192 float

    The probability of exploring.

  • decay

    Default \u2192 0.0

    The decay rate of epsilon.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/EpsilonGreedy/#attributes","title":"Attributes","text":"
  • current_epsilon

    The value of epsilon after factoring in the decay rate.

  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/EpsilonGreedy/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.EpsilonGreedy(epsilon=0.9, seed=101)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 775.\n

"},{"location":"api/bandit/EpsilonGreedy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. \u03b5-Greedy Algorithm - The Multi-Armed Bandit Problem and Its Solutions - Lilian Weng \u21a9

"},{"location":"api/bandit/Exp3/","title":"Exp3","text":"

Exp3 bandit policy.

This policy works by maintaining a weight for each arm. These weights are used to randomly decide which arm to pull. The weights are increased or decreased, depending on the reward. An egalitarianism factor \\(\\gamma \\in [0, 1]\\) is included, to tune the desire to pick an arm uniformly at random. That is, if \\(\\gamma = 1\\), the arms are picked uniformly at random.

"},{"location":"api/bandit/Exp3/#parameters","title":"Parameters","text":"
  • gamma

    Type \u2192 float

    The egalitarianism factor. Setting this to 0 leads to what is called the EXP3 policy.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/Exp3/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/Exp3/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.Exp3(gamma=0.5, seed=42)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 799.\n

"},{"location":"api/bandit/Exp3/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. Auer, P., Cesa-Bianchi, N., Freund, Y. and Schapire, R.E., 2002. The nonstochastic multiarmed bandit problem. SIAM journal on computing, 32(1), pp.48-77. \u21a9

  2. Adversarial Bandits and the Exp3 Algorithm \u2014 Jeremy Kun \u21a9

"},{"location":"api/bandit/LinUCBDisjoint/","title":"LinUCBDisjoint","text":"

LinUCB, disjoint variant.

Although it works, as of yet it is too slow to realistically be used in practice.

The way this works is that each arm is assigned a linear_model.BayesianLinearRegression instance. This instance is updated every time the arm is pulled. The context is used as features for the regression. The reward is used as the target. The posterior distribution is used to compute the upper confidence bound. The arm with the highest upper confidence bound is pulled.

"},{"location":"api/bandit/LinUCBDisjoint/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 float

    Default \u2192 1.0

    Parameter used in each Bayesian linear regression.

  • beta

    Type \u2192 float

    Default \u2192 1.0

    Parameter used in each Bayesian linear regression.

  • smoothing

    Type \u2192 float | None

    Default \u2192 None

    Parameter used in each Bayesian linear regression.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm.

  • burn_in

    Default \u2192 0

    The number of time steps during which each arm is pulled once.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/LinUCBDisjoint/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/LinUCBDisjoint/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'
  • context \u2014 'dict | None' \u2014 defaults to None

Returns

ArmID: A single arm.

update

Rewrite update function

Parameters

  • arm_id
  • context
  • reward_args
  • reward_kwargs

  1. A Contextual-Bandit Approach to Personalized News Article Recommendation [^2:] Contextual Bandits Analysis of LinUCB Disjoint Algorithm with Dataset \u21a9

"},{"location":"api/bandit/RandomPolicy/","title":"RandomPolicy","text":"

Random bandit policy.

This policy simply pulls a random arm at each time step. It is useful as a baseline.

"},{"location":"api/bandit/RandomPolicy/#parameters","title":"Parameters","text":"
  • reward_obj

    Default \u2192 None

    The reward object that is used to update the posterior distribution.

  • burn_in

    Default \u2192 0

    Number of initial observations per arm before using the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/RandomPolicy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/RandomPolicy/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.RandomPolicy(seed=123)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 755.\n

"},{"location":"api/bandit/RandomPolicy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/ThompsonSampling/","title":"ThompsonSampling","text":"

Thompson sampling.

Thompson sampling is often used with a Beta distribution. However, any probability distribution can be used, as long it makes sense with the reward shape. For instance, a Beta distribution is meant to be used with binary rewards, while a Gaussian distribution is meant to be used with continuous rewards.

The randomness of a distribution is controlled by its seed. The seed should not set within the distribution, but should rather be defined in the policy parametrization. In other words, you should do this:

policy = ThompsonSampling(dist=proba.Beta(1, 1), seed=42) \n

and not this:

policy = ThompsonSampling(dist=proba.Beta(1, 1, seed=42)) \n
"},{"location":"api/bandit/ThompsonSampling/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 proba.base.Distribution | None

    Default \u2192 None

    A distribution to sample from.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/ThompsonSampling/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/ThompsonSampling/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.ThompsonSampling(reward_obj=proba.Beta(), seed=101)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 820.\n

"},{"location":"api/bandit/ThompsonSampling/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. An Empirical Evaluation of Thompson Sampling \u21a9

"},{"location":"api/bandit/UCB/","title":"UCB","text":"

Upper Confidence Bound (UCB) bandit policy.

Due to the nature of this algorithm, it's recommended to scale the target so that it exhibits sub-gaussian properties. This can be done by passing a preprocessing.TargetStandardScaler instance to the reward_scaler argument.

"},{"location":"api/bandit/UCB/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    The confidence level. Setting this to 1 leads to what is called the UCB1 policy.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/UCB/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/UCB/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import preprocessing\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.UCB(\n    delta=100,\n    reward_scaler=preprocessing.TargetStandardScaler(None),\n    seed=42\n)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 744.\n

"},{"location":"api/bandit/UCB/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. Lai, T. L., & Robbins, H. (1985). Asymptotically efficient adaptive allocation rules. Advances in applied mathematics, 6(1), 4-22. \u21a9

  2. Upper Confidence Bounds - The Multi-Armed Bandit Problem and Its Solutions - Lilian Weng \u21a9

  3. The Upper Confidence Bound Algorithm - Bandit Algorithms \u21a9

"},{"location":"api/bandit/evaluate-offline/","title":"evaluate_offline","text":"

Evaluate a policy on historical logs using replay.

This is a high-level utility function for evaluating a policy using the replay methodology. This methodology is an off-policy evaluation method. It does not require an environment, and is instead data-driven.

At each step, an arm is pulled from the provided policy. If the arm is the same as the arm that was pulled in the historical data, the reward is used to update the policy. If the arm is different, the reward is ignored. This is the off-policy aspect of the evaluation.

"},{"location":"api/bandit/evaluate-offline/#parameters","title":"Parameters","text":"
  • policy

    Type \u2192 bandit.base.Policy

    The policy to evaluate.

  • history

    Type \u2192 History | bandit.datasets.BanditDataset

    The history of the bandit problem. This is a generator that yields tuples of the form (arms, context, arm, reward).

  • reward_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    The reward statistic to use. Defaults to stats.Sum.

"},{"location":"api/bandit/evaluate-offline/#examples","title":"Examples","text":"

import random\nfrom river import bandit\n\nrng = random.Random(42)\narms = ['A', 'B', 'C']\nclicks = [\n    (\n        arms,\n        # no context\n        None,\n        # random arm\n        rng.choice(arms),\n        # reward\n        rng.random() > 0.5\n    )\n    for _ in range(1000)\n]\n\ntotal_reward, n_samples_used = bandit.evaluate_offline(\n    policy=bandit.EpsilonGreedy(0.1, seed=42),\n    history=clicks,\n)\n\ntotal_reward\n
Sum: 172.\n

n_samples_used\n
321\n

This also works out of the box with datasets that inherit from river.bandit.BanditDataset.

news = bandit.datasets.NewsArticles()\ntotal_reward, n_samples_used = bandit.evaluate_offline(\n    policy=bandit.RandomPolicy(seed=42),\n    history=news,\n)\n\ntotal_reward, n_samples_used\n
(Sum: 105., 1027)\n

As expected, the policy succeeds in roughly 10% of cases. Indeed, there are 10 arms and 10000 samples, so the expected number of successes is 1000.

  1. Offline Evaluation of Multi-Armed Bandit Algorithms in Python using Replay \u21a9

  2. Unbiased Offline Evaluation of Contextual-bandit-based News Article Recommendation Algorithms \u21a9

  3. Understanding Inverse Propensity Score for Contextual Bandits \u21a9

"},{"location":"api/bandit/evaluate/","title":"evaluate","text":"

Benchmark a list of policies on a given Gym environment.

This is a high-level utility function for benchmarking a list of policies on a given Gym environment. For example, it can be used to populate a pandas.DataFrame with the contents of each step of each episode.

"},{"location":"api/bandit/evaluate/#parameters","title":"Parameters","text":"
  • policies

    Type \u2192 list[bandit.base.Policy]

    A list of policies to evaluate. The policy will be reset before each episode.

  • env

    Type \u2192 gym.Env

    The Gym environment to use. One copy will be made for each policy at the beginning of each episode.

  • reward_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    A univariate statistic to keep track of the rewards. This statistic will be reset before each episode. Note that this is not the same as the reward object used by the policies. It's just a statistic to keep track of each policy's performance. If None, stats.Sum is used.

  • n_episodes

    Type \u2192 int

    Default \u2192 20

    The number of episodes to run.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility. A random number generator will be used to seed differently the environment before each episode.

"},{"location":"api/bandit/evaluate/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\n\ntrace = bandit.evaluate(\n    policies=[\n        bandit.UCB(delta=1, seed=42),\n        bandit.EpsilonGreedy(epsilon=0.1, seed=42),\n    ],\n    env=gym.make(\n        'river_bandits/CandyCaneContest-v0',\n        max_episode_steps=100\n    ),\n    n_episodes=5,\n    seed=42\n)\n\nfor step in trace:\n    print(step)\n    break\n
{'episode': 0, 'step': 0, 'policy_idx': 0, 'arm': 81, 'reward': 0.0, 'reward_stat': 0.0}\n

The return type of this function is a generator. Each step of the generator is a dictionary. You can pass the generator to a pandas.DataFrame to get a nice representation of the results.

import pandas as pd\n\ntrace = bandit.evaluate(\n    policies=[\n        bandit.UCB(delta=1, seed=42),\n        bandit.EpsilonGreedy(epsilon=0.1, seed=42),\n    ],\n    env=gym.make(\n        'river_bandits/CandyCaneContest-v0',\n        max_episode_steps=100\n    ),\n    n_episodes=5,\n    seed=42\n)\n\ntrace_df = pd.DataFrame(trace)\ntrace_df.sample(5, random_state=42)\n
     episode  step  policy_idx  arm  reward  reward_stat\n521        2    60           1   25     0.0         36.0\n737        3    68           1   40     1.0         20.0\n740        3    70           0   58     0.0         36.0\n660        3    30           0   31     1.0         16.0\n411        2     5           1   35     1.0          5.0\n

The length of the dataframe is the number of policies times the number of episodes times the maximum number of steps per episode.

len(trace_df)\n
1000\n

(\n    trace_df.policy_idx.nunique() *\n    trace_df.episode.nunique() *\n    trace_df.step.nunique()\n)\n
1000\n

"},{"location":"api/bandit/base/ContextualPolicy/","title":"ContextualPolicy","text":"

Contextual bandit policy base class.

"},{"location":"api/bandit/base/ContextualPolicy/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 RewardObj | None

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Type \u2192 compose.TargetTransformRegressor | None

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

"},{"location":"api/bandit/base/ContextualPolicy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/base/ContextualPolicy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'
  • context \u2014 'dict | None' \u2014 defaults to None

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • context
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/base/Policy/","title":"Policy","text":"

Bandit policy base class.

"},{"location":"api/bandit/base/Policy/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 RewardObj | None

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Type \u2192 compose.TargetTransformRegressor | None

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

"},{"location":"api/bandit/base/Policy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/base/Policy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/datasets/BanditDataset/","title":"BanditDataset","text":"

Base class for bandit datasets.

"},{"location":"api/bandit/datasets/BanditDataset/#parameters","title":"Parameters","text":"
  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/bandit/datasets/BanditDataset/#attributes","title":"Attributes","text":"
  • arms

    The list of arms that can be pulled.

  • desc

    Return the description from the docstring.

"},{"location":"api/bandit/datasets/BanditDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/bandit/datasets/NewsArticles/","title":"NewsArticles","text":"

News articles bandit dataset.

This is a personalization dataset. It contains 10000 observations. There are 10 arms, and the reward is binary. There are 100 features, which turns this into a contextual bandit problem.

"},{"location":"api/bandit/datasets/NewsArticles/#attributes","title":"Attributes","text":"
  • arms

    The list of arms that can be pulled.

  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/bandit/datasets/NewsArticles/#examples","title":"Examples","text":"

from river import bandit\n\ndataset = bandit.datasets.NewsArticles()\ncontext, arm, reward = next(iter(dataset))\n\nlen(context)\n
100\n

arm, reward\n
(2, False)\n

"},{"location":"api/bandit/datasets/NewsArticles/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Machine Learning for Personalization homework \u21a9

  2. Contextual Bandits Analysis of LinUCB Disjoint Algorithm with Dataset \u21a9

"},{"location":"api/bandit/envs/CandyCaneContest/","title":"CandyCaneContest","text":"

Candy cane contest Kaggle competition.

"},{"location":"api/bandit/envs/CandyCaneContest/#parameters","title":"Parameters","text":"
  • n_machines

    Default \u2192 100

    Number of vending machines.

  • reward_decay

    Default \u2192 0.03

    The multiplicate rate at which the expected reward of each vending machine decays.

"},{"location":"api/bandit/envs/CandyCaneContest/#attributes","title":"Attributes","text":"
  • np_random

    Returns the environment's internal :attr:_np_random that if not set will initialise with a random seed. Returns: Instances of np.random.Generator

  • render_mode

  • spec

  • unwrapped

    Returns the base non-wrapped environment. Returns: Env: The base non-wrapped :class:gymnasium.Env instance

"},{"location":"api/bandit/envs/CandyCaneContest/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import stats\n\nenv = gym.make('river_bandits/CandyCaneContest-v0')\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\nmetric = stats.Sum()\nwhile True:\n    arm = env.action_space.sample()\n    observation, reward, terminated, truncated, info = env.step(arm)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 734.\n

"},{"location":"api/bandit/envs/CandyCaneContest/#methods","title":"Methods","text":"close

After the user has finished using the environment, close contains the code necessary to \"clean up\" the environment.

This is critical for closing rendering windows, database or HTTP connections. Calling close on an already closed environment has no effect and won't raise an error.

get_wrapper_attr

Gets the attribute name from the environment.

Parameters

  • name \u2014 'str'

render

Compute the render frames as specified by :attr:render_mode during the initialization of the environment.

The environment's :attr:metadata render modes (env.metadata[\"render_modes\"]) should contain the possible ways to implement the render modes. In addition, list versions for most render modes is achieved through gymnasium.make which automatically applies a wrapper to collect rendered frames. Note: As the :attr:render_mode is known during __init__, the objects used to render the environment state should be initialised in __init__. By convention, if the :attr:render_mode is: - None (default): no render is computed. - \"human\": The environment is continuously rendered in the current display or terminal, usually for human consumption. This rendering should occur during :meth:step and :meth:render doesn't need to be called. Returns None. - \"rgb_array\": Return a single frame representing the current state of the environment. A frame is a np.ndarray with shape (x, y, 3) representing RGB values for an x-by-y pixel image. - \"ansi\": Return a strings (str) or StringIO.StringIO containing a terminal-style text representation for each time step. The text can include newlines and ANSI escape sequences (e.g. for colors). - \"rgb_array_list\" and \"ansi_list\": List based version of render modes are possible (except Human) through the wrapper, :py:class:gymnasium.wrappers.RenderCollection that is automatically applied during gymnasium.make(..., render_mode=\"rgb_array_list\"). The frames collected are popped after :meth:render is called or :meth:reset. Note: Make sure that your class's :attr:metadata \"render_modes\" key includes the list of supported modes. .. versionchanged:: 0.25.0 The render function was changed to no longer accept parameters, rather these parameters should be specified in the environment initialised, i.e., gymnasium.make(\"CartPole-v1\", render_mode=\"human\")

reset

Resets the environment to an initial internal state, returning an initial observation and info.

This method generates a new starting state often with some randomness to ensure that the agent explores the state space and learns a generalised policy about the environment. This randomness can be controlled with the seed parameter otherwise if the environment already has a random number generator and :meth:reset is called with seed=None, the RNG is not reset. Therefore, :meth:reset should (in the typical use case) be called with a seed right after initialization and then never again. For Custom environments, the first line of :meth:reset should be super().reset(seed=seed) which implements the seeding correctly. .. versionchanged:: v0.25 The return_info parameter was removed and now info is expected to be returned. Args: seed (optional int): The seed that is used to initialize the environment's PRNG (np_random). If the environment does not already have a PRNG and seed=None (the default option) is passed, a seed will be chosen from some source of entropy (e.g. timestamp or /dev/urandom). However, if the environment already has a PRNG and seed=None is passed, the PRNG will not be reset. If you pass an integer, the PRNG will be reset even if it already exists. Usually, you want to pass an integer right after the environment has been initialized and then never again. Please refer to the minimal example above to see this paradigm in action. options (optional dict): Additional information to specify how the environment is reset (optional, depending on the specific environment) Returns: observation (ObsType): Observation of the initial state. This will be an element of :attr:observation_space (typically a numpy array) and is analogous to the observation returned by :meth:step. info (dictionary): This dictionary contains auxiliary information complementing observation. It should be analogous to the info returned by :meth:step.

Parameters

  • seed \u2014 'int | None' \u2014 defaults to None
  • options \u2014 'dict[str, Any] | None' \u2014 defaults to None

step

Run one timestep of the environment's dynamics using the agent actions.

When the end of an episode is reached (terminated or truncated), it is necessary to call :meth:reset to reset this environment's state for the next episode. .. versionchanged:: 0.26 The Step API was changed removing done in favor of terminated and truncated to make it clearer to users when the environment had terminated or truncated which is critical for reinforcement learning bootstrapping algorithms. Args: action (ActType): an action provided by the agent to update the environment state. Returns: observation (ObsType): An element of the environment's :attr:observation_space as the next observation due to the agent actions. An example is a numpy array containing the positions and velocities of the pole in CartPole. reward (SupportsFloat): The reward as a result of taking the action. terminated (bool): Whether the agent reaches the terminal state (as defined under the MDP of the task) which can be positive or negative. An example is reaching the goal state or moving into the lava from the Sutton and Barton, Gridworld. If true, the user needs to call :meth:reset. truncated (bool): Whether the truncation condition outside the scope of the MDP is satisfied. Typically, this is a timelimit, but could also be used to indicate an agent physically going out of bounds. Can be used to end the episode prematurely before a terminal state is reached. If true, the user needs to call :meth:reset. info (dict): Contains auxiliary diagnostic information (helpful for debugging, learning, and logging). This might, for instance, contain: metrics that describe the agent's performance state, variables that are hidden from observations, or individual reward terms that are combined to produce the total reward. In OpenAI Gym <v26, it contains \"TimeLimit.truncated\" to distinguish truncation and termination, however this is deprecated in favour of returning terminated and truncated variables. done (bool): (Deprecated) A boolean value for if the episode has ended, in which case further :meth:step calls will return undefined results. This was removed in OpenAI Gym v26 in favor of terminated and truncated attributes. A done signal may be emitted for different reasons: Maybe the task underlying the environment was solved successfully, a certain timelimit was exceeded, or the physics simulation has entered an invalid state.

Parameters

  • machine_index

  1. Santa 2020 - The Candy Cane Contest \u21a9

"},{"location":"api/bandit/envs/KArmedTestbed/","title":"KArmedTestbed","text":"

k-armed testbed.

This is a simple environment that can be used to test bandit algorithms. It is based on the 10 armed testbed described in the book \"Reinforcement Learning: An Introduction\" by Sutton and Barto.

"},{"location":"api/bandit/envs/KArmedTestbed/#parameters","title":"Parameters","text":"
  • k

    Type \u2192 int

    Default \u2192 10

    Number of arms.

"},{"location":"api/bandit/envs/KArmedTestbed/#attributes","title":"Attributes","text":"
  • np_random

    Returns the environment's internal :attr:_np_random that if not set will initialise with a random seed. Returns: Instances of np.random.Generator

  • render_mode

  • spec

  • unwrapped

    Returns the base non-wrapped environment. Returns: Env: The base non-wrapped :class:gymnasium.Env instance

"},{"location":"api/bandit/envs/KArmedTestbed/#methods","title":"Methods","text":"close

After the user has finished using the environment, close contains the code necessary to \"clean up\" the environment.

This is critical for closing rendering windows, database or HTTP connections. Calling close on an already closed environment has no effect and won't raise an error.

get_wrapper_attr

Gets the attribute name from the environment.

Parameters

  • name \u2014 'str'

render

Compute the render frames as specified by :attr:render_mode during the initialization of the environment.

The environment's :attr:metadata render modes (env.metadata[\"render_modes\"]) should contain the possible ways to implement the render modes. In addition, list versions for most render modes is achieved through gymnasium.make which automatically applies a wrapper to collect rendered frames. Note: As the :attr:render_mode is known during __init__, the objects used to render the environment state should be initialised in __init__. By convention, if the :attr:render_mode is: - None (default): no render is computed. - \"human\": The environment is continuously rendered in the current display or terminal, usually for human consumption. This rendering should occur during :meth:step and :meth:render doesn't need to be called. Returns None. - \"rgb_array\": Return a single frame representing the current state of the environment. A frame is a np.ndarray with shape (x, y, 3) representing RGB values for an x-by-y pixel image. - \"ansi\": Return a strings (str) or StringIO.StringIO containing a terminal-style text representation for each time step. The text can include newlines and ANSI escape sequences (e.g. for colors). - \"rgb_array_list\" and \"ansi_list\": List based version of render modes are possible (except Human) through the wrapper, :py:class:gymnasium.wrappers.RenderCollection that is automatically applied during gymnasium.make(..., render_mode=\"rgb_array_list\"). The frames collected are popped after :meth:render is called or :meth:reset. Note: Make sure that your class's :attr:metadata \"render_modes\" key includes the list of supported modes. .. versionchanged:: 0.25.0 The render function was changed to no longer accept parameters, rather these parameters should be specified in the environment initialised, i.e., gymnasium.make(\"CartPole-v1\", render_mode=\"human\")

reset

Resets the environment to an initial internal state, returning an initial observation and info.

This method generates a new starting state often with some randomness to ensure that the agent explores the state space and learns a generalised policy about the environment. This randomness can be controlled with the seed parameter otherwise if the environment already has a random number generator and :meth:reset is called with seed=None, the RNG is not reset. Therefore, :meth:reset should (in the typical use case) be called with a seed right after initialization and then never again. For Custom environments, the first line of :meth:reset should be super().reset(seed=seed) which implements the seeding correctly. .. versionchanged:: v0.25 The return_info parameter was removed and now info is expected to be returned. Args: seed (optional int): The seed that is used to initialize the environment's PRNG (np_random). If the environment does not already have a PRNG and seed=None (the default option) is passed, a seed will be chosen from some source of entropy (e.g. timestamp or /dev/urandom). However, if the environment already has a PRNG and seed=None is passed, the PRNG will not be reset. If you pass an integer, the PRNG will be reset even if it already exists. Usually, you want to pass an integer right after the environment has been initialized and then never again. Please refer to the minimal example above to see this paradigm in action. options (optional dict): Additional information to specify how the environment is reset (optional, depending on the specific environment) Returns: observation (ObsType): Observation of the initial state. This will be an element of :attr:observation_space (typically a numpy array) and is analogous to the observation returned by :meth:step. info (dictionary): This dictionary contains auxiliary information complementing observation. It should be analogous to the info returned by :meth:step.

Parameters

  • seed \u2014 'int | None' \u2014 defaults to None
  • options \u2014 'dict[str, Any] | None' \u2014 defaults to None

step

Run one timestep of the environment's dynamics using the agent actions.

When the end of an episode is reached (terminated or truncated), it is necessary to call :meth:reset to reset this environment's state for the next episode. .. versionchanged:: 0.26 The Step API was changed removing done in favor of terminated and truncated to make it clearer to users when the environment had terminated or truncated which is critical for reinforcement learning bootstrapping algorithms. Args: action (ActType): an action provided by the agent to update the environment state. Returns: observation (ObsType): An element of the environment's :attr:observation_space as the next observation due to the agent actions. An example is a numpy array containing the positions and velocities of the pole in CartPole. reward (SupportsFloat): The reward as a result of taking the action. terminated (bool): Whether the agent reaches the terminal state (as defined under the MDP of the task) which can be positive or negative. An example is reaching the goal state or moving into the lava from the Sutton and Barton, Gridworld. If true, the user needs to call :meth:reset. truncated (bool): Whether the truncation condition outside the scope of the MDP is satisfied. Typically, this is a timelimit, but could also be used to indicate an agent physically going out of bounds. Can be used to end the episode prematurely before a terminal state is reached. If true, the user needs to call :meth:reset. info (dict): Contains auxiliary diagnostic information (helpful for debugging, learning, and logging). This might, for instance, contain: metrics that describe the agent's performance state, variables that are hidden from observations, or individual reward terms that are combined to produce the total reward. In OpenAI Gym <v26, it contains \"TimeLimit.truncated\" to distinguish truncation and termination, however this is deprecated in favour of returning terminated and truncated variables. done (bool): (Deprecated) A boolean value for if the episode has ended, in which case further :meth:step calls will return undefined results. This was removed in OpenAI Gym v26 in favor of terminated and truncated attributes. A done signal may be emitted for different reasons: Maybe the task underlying the environment was solved successfully, a certain timelimit was exceeded, or the physics simulation has entered an invalid state.

Parameters

  • arm

"},{"location":"api/base/Base/","title":"Base","text":"

Base class that is inherited by the majority of classes in River.

This base class allows us to handle the following tasks in a uniform manner:

  • Getting and setting parameters

  • Displaying information

  • Mutating/cloning

"},{"location":"api/base/Base/#methods","title":"Methods","text":"clone

Return a fresh estimator with the same parameters.

The clone has the same parameters but has not been updated with any data. This works by looking at the parameters from the class signature. Each parameter is either - recursively cloned if its a class. - deep-copied via copy.deepcopy if not. If the calling object is stochastic (i.e. it accepts a seed parameter) and has not been seeded, then the clone will not be idempotent. Indeed, this method's purpose if simply to return a new instance with the same input parameters.

Parameters

  • new_params \u2014 'dict | None' \u2014 defaults to None
  • include_attributes \u2014 defaults to False

mutate

Modify attributes.

This changes parameters inplace. Although you can change attributes yourself, this is the recommended way to proceed. By default, all attributes are immutable, meaning they shouldn't be mutated. Calling mutate on an immutable attribute raises a ValueError. Mutable attributes are specified via the _mutable_attributes property, and are thus specified on a per-estimator basis.

Parameters

  • new_attrs \u2014 'dict'

"},{"location":"api/base/BinaryDriftAndWarningDetector/","title":"BinaryDriftAndWarningDetector","text":"

A binary drift detector that is also capable of issuing warnings.

"},{"location":"api/base/BinaryDriftAndWarningDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/BinaryDriftAndWarningDetector/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

"},{"location":"api/base/BinaryDriftDetector/","title":"BinaryDriftDetector","text":"

A drift detector for binary data.

"},{"location":"api/base/BinaryDriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/BinaryDriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

"},{"location":"api/base/Classifier/","title":"Classifier","text":"

A classifier.

"},{"location":"api/base/Classifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/base/Clusterer/","title":"Clusterer","text":"

A clustering model.

"},{"location":"api/base/Clusterer/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

"},{"location":"api/base/DriftAndWarningDetector/","title":"DriftAndWarningDetector","text":"

A drift detector that is also capable of issuing warnings.

"},{"location":"api/base/DriftAndWarningDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/DriftAndWarningDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/base/DriftDetector/","title":"DriftDetector","text":"

A drift detector.

"},{"location":"api/base/DriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/DriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/base/Ensemble/","title":"Ensemble","text":"

An ensemble is a model which is composed of a list of models.

"},{"location":"api/base/Ensemble/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[Estimator]

"},{"location":"api/base/Ensemble/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/base/Ensemble/#methods","title":"Methods","text":"append

S.append(value) -- append value to the end of the sequence

Parameters

  • item

clear

S.clear() -> None -- remove all items from S

copy count

S.count(value) -> integer -- return number of occurrences of value

Parameters

  • item

extend

S.extend(iterable) -- extend sequence by appending elements from the iterable

Parameters

  • other

index

S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

Parameters

  • item
  • args

insert

S.insert(index, value) -- insert value before index

Parameters

  • i
  • item

pop

S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range.

Parameters

  • i \u2014 defaults to -1

remove

S.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present.

Parameters

  • item

reverse

S.reverse() -- reverse IN PLACE

sort"},{"location":"api/base/Estimator/","title":"Estimator","text":"

An estimator.

"},{"location":"api/base/Estimator/#methods","title":"Methods","text":""},{"location":"api/base/MiniBatchClassifier/","title":"MiniBatchClassifier","text":"

A classifier that can operate on mini-batches.

"},{"location":"api/base/MiniBatchClassifier/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/base/MiniBatchRegressor/","title":"MiniBatchRegressor","text":"

A regressor that can operate on mini-batches.

"},{"location":"api/base/MiniBatchRegressor/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and real-valued targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted outcomes.

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/base/MiniBatchSupervisedTransformer/","title":"MiniBatchSupervisedTransformer","text":"

A supervised transformer that can operate on mini-batches.

"},{"location":"api/base/MiniBatchSupervisedTransformer/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/MiniBatchTransformer/","title":"MiniBatchTransformer","text":"

A transform that can operate on mini-batches.

"},{"location":"api/base/MiniBatchTransformer/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/MultiLabelClassifier/","title":"MultiLabelClassifier","text":"

Multi-label classifier.

"},{"location":"api/base/MultiLabelClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, bool]'

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, dict[bool, float]]: A dictionary that associates a probability which each label.

"},{"location":"api/base/MultiTargetRegressor/","title":"MultiTargetRegressor","text":"

Multi-target regressor.

"},{"location":"api/base/MultiTargetRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, RegTarget]'
  • kwargs

predict_one

Predict the outputs of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[FeatureName, RegTarget]: The predictions.

"},{"location":"api/base/Regressor/","title":"Regressor","text":"

A regressor.

"},{"location":"api/base/Regressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/base/SupervisedTransformer/","title":"SupervisedTransformer","text":"

A supervised transformer.

"},{"location":"api/base/SupervisedTransformer/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/Transformer/","title":"Transformer","text":"

A transformer.

"},{"location":"api/base/Transformer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/Wrapper/","title":"Wrapper","text":"

A wrapper model.

"},{"location":"api/base/WrapperEnsemble/","title":"WrapperEnsemble","text":"

A wrapper ensemble is an ensemble composed of multiple copies of the same model.

"},{"location":"api/base/WrapperEnsemble/#parameters","title":"Parameters","text":"
  • model

    The model to copy.

  • n_models

    The number of copies to make.

  • seed

    Random number generator seed for reproducibility.

"},{"location":"api/base/WrapperEnsemble/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/base/WrapperEnsemble/#methods","title":"Methods","text":""},{"location":"api/cluster/CluStream/","title":"CluStream","text":"

CluStream

The CluStream algorithm 1 maintains statistical information about the data using micro-clusters. These micro-clusters are temporal extensions of cluster feature vectors. The micro-clusters are stored at snapshots in time following a pyramidal pattern. This pattern allows to recall summary statistics from different time horizons.

Training with a new point p is performed in two main tasks:

  • Determinate the closest micro-cluster to p.

  • Check whether p fits (memory) into the closest micro-cluster:

    • if p fits, put into micro-cluster

    • if p does not fit, free some space to insert a new micro-cluster.

    This is done in two ways, delete an old micro-cluster or merge the two micro-clusters closest to each other.

This implementation is an improved version from the original algorithm. Instead of calculating the traditional cluster feature vector of the number of observations, linear sum and sum of squares of data points and time stamps, this implementation adopts the use of Welford's algorithm 2 to calculate the incremental variance, facilitated through stats.Var available within River.

Since River does not support an actual \"off-line\" phase of the clustering algorithm (as data points are assumed to arrive continuously, one at a time), a time_gap parameter is introduced. After each time_gap, an incremental K-Means clustering algorithm will be initialized and applied on currently available micro-clusters to form the final solution, i.e. macro-clusters.

"},{"location":"api/cluster/CluStream/#parameters","title":"Parameters","text":"
  • n_macro_clusters

    Type \u2192 int

    Default \u2192 5

    The number of clusters (k) for the k-means algorithm.

  • max_micro_clusters

    Type \u2192 int

    Default \u2192 100

    The maximum number of micro-clusters to use.

  • micro_cluster_r_factor

    Type \u2192 int

    Default \u2192 2

    Multiplier for the micro-cluster radius. When deciding to add a new data point to a micro-cluster, the maximum boundary is defined as a factor of the micro_cluster_r_factor of the RMS deviation of the data points in the micro-cluster from the centroid.

  • time_window

    Type \u2192 int

    Default \u2192 1000

    If the current time is T and the time window is h, we only consider the data that arrived within the period (T-h,T).

  • time_gap

    Type \u2192 int

    Default \u2192 100

    An incremental k-means is applied on the current set of micro-clusters after each time_gap to form the final macro-cluster solution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for generating initial centroid positions.

  • kwargs

    Other parameters passed to the incremental kmeans at cluster.KMeans.

"},{"location":"api/cluster/CluStream/#attributes","title":"Attributes","text":"
  • centers (dict)

    Central positions of each cluster.

"},{"location":"api/cluster/CluStream/#examples","title":"Examples","text":"

In the following example, max_micro_clusters is set relatively low due to the limited number of training points. Moreover, all points are learnt before any predictions are made. The halflife is set at 0.4, to show that you can pass cluster.KMeans parameters via keyword arguments.

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [-4, 2],\n    [-4, 4],\n    [-4, 0],\n    [5, 0],\n    [5, 2],\n    [5, 4]\n]\n\nclustream = cluster.CluStream(\n    n_macro_clusters=3,\n    max_micro_clusters=5,\n    time_gap=3,\n    seed=0,\n    halflife=0.4\n)\n\nfor x, _ in stream.iter_array(X):\n    clustream.learn_one(x)\n\nclustream.predict_one({0: 1, 1: 1})\n
1\n

clustream.predict_one({0: -4, 1: 3})\n
2\n

clustream.predict_one({0: 4, 1: 3.5})\n
0\n

"},{"location":"api/cluster/CluStream/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to 1.0

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

  1. Aggarwal, C.C., Philip, S.Y., Han, J. and Wang, J., 2003, A framework for clustering evolving data streams. In Proceedings 2003 VLDB conference (pp. 81-92). Morgan Kaufmann.\u00a0\u21a9

  2. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1982. Updating formulae and a pairwise algorithm for computing sample variances. In COMPSTAT 1982 5th Symposium held at Toulouse 1982 (pp. 30-41). Physica, Heidelberg. https://doi.org/10.1007/978-3-642-51461-6_3.\u00a0\u21a9

"},{"location":"api/cluster/DBSTREAM/","title":"DBSTREAM","text":"

DBSTREAM

DBSTREAM 1 is a clustering algorithm for evolving data streams. It is the first micro-cluster-based online clustering component that explicitely captures the density between micro-clusters via a shared density graph. The density information in the graph is then exploited for reclustering based on actual density between adjacent micro clusters.

The algorithm is divided into two parts:

Online micro-cluster maintenance (learning)

For a new point p:

  • Find all micro clusters for which p falls within the fixed radius (clustering threshold). If no neighbor is found, a new micro cluster with a weight of 1 is created for p.

  • If no neighbor is found, a new micro cluster with a weight of 1 is created for p. If one or more neighbors of p are found, we update the micro clusters by applying the appropriate fading, increasing their weight and then we try to move them closer to p using the Gaussian neighborhood function.

  • Next, the shared density graph is updated. To prevent collapsing micro clusters, we will restrict the movement for micro clusters in case they come closer than \\(r\\) (clustering threshold) to each other. Finishing this process, the time stamp is also increased by 1.

  • Finally, the cleanup will be processed. It is executed every t_gap time steps, removing weak micro clusters and weak entries in the shared density graph to recover memory and improve the clustering algorithm's processing speed.

Offline generation of macro clusters (clustering)

The offline generation of macro clusters is generated through the two following steps:

  • The connectivity graph C is constructed using shared density entries between strong micro clusters. The edges in this connectivity graph with a connectivity value greater than the intersection threshold (\\(\\alpha\\)) are used to find connected components representing the final cluster.

  • After the connectivity graph is generated, a variant of the DBSCAN algorithm proposed by Ester et al. is applied to form all macro clusters from \\(\\alpha\\)-connected micro clusters.

"},{"location":"api/cluster/DBSTREAM/#parameters","title":"Parameters","text":"
  • clustering_threshold

    Type \u2192 float

    Default \u2192 1.0

    DBStream represents each micro cluster by a leader (a data point defining the micro cluster's center) and the density in an area of a user-specified radius \\(r\\) (clustering_threshold) around the center.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.01

    Parameter that controls the importance of historical data to current cluster. Note that fading_factor has to be different from 0.

  • cleanup_interval

    Type \u2192 float

    Default \u2192 2

    The time interval between two consecutive time points when the cleanup process is conducted.

  • intersection_factor

    Type \u2192 float

    Default \u2192 0.3

    The intersection factor related to the area of the overlap of the micro clusters relative to the area cover by micro clusters. This parameter is used to determine whether a micro cluster or a shared density is weak.

  • minimum_weight

    Type \u2192 float

    Default \u2192 1.0

    The minimum weight for a cluster to be not \"noisy\".

"},{"location":"api/cluster/DBSTREAM/#attributes","title":"Attributes","text":"
  • n_clusters

    Number of clusters generated by the algorithm.

  • clusters

    A set of final clusters of type DBStreamMicroCluster. However, these are either micro clusters, or macro clusters that are generated by merging all \\(\\alpha\\)-connected micro clusters. This set is generated through the offline phase of the algorithm.

  • centers

    Final clusters' centers.

  • micro_clusters

    Micro clusters generated by the algorithm. Instead of updating directly the new instance points into a nearest micro cluster, through each iteration, the weight and center will be modified so that the clusters are closer to the new points, using the Gaussian neighborhood function.

"},{"location":"api/cluster/DBSTREAM/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 0.5], [1, 0.625], [1, 0.75], [1, 1.125], [1, 1.5], [1, 1.75],\n    [4, 1.5], [4, 2.25], [4, 2.5], [4, 3], [4, 3.25], [4, 3.5]\n]\n\ndbstream = cluster.DBSTREAM(\n    clustering_threshold=1.5,\n    fading_factor=0.05,\n    cleanup_interval=4,\n    intersection_factor=0.5,\n    minimum_weight=1\n)\n\nfor x, _ in stream.iter_array(X):\n    dbstream.learn_one(x)\n\ndbstream.predict_one({0: 1, 1: 2})\n
0\n

dbstream.predict_one({0: 5, 1: 2})\n
1\n

dbstream._n_clusters\n
2\n

"},{"location":"api/cluster/DBSTREAM/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. Michael Hahsler and Matthew Bolanos (2016, pp 1449-1461). Clustering Data Streams Based on Shared Density between Micro-Clusters, IEEE Transactions on Knowledge and Data Engineering 28(6) . In Proceedings of the Sixth SIAM International Conference on Data Mining, April 20\u201322, 2006, Bethesda, MD, USA.\u00a0\u21a9

  2. Ester et al (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In KDD-96 Proceedings, AAAI.\u00a0\u21a9

"},{"location":"api/cluster/DenStream/","title":"DenStream","text":"

DenStream

DenStream 1 is a clustering algorithm for evolving data streams. DenStream can discover clusters with arbitrary shape and is robust against noise (outliers).

\"Dense\" micro-clusters (named core-micro-clusters) summarise the clusters of arbitrary shape. A pruning strategy based on the concepts of potential and outlier micro-clusters guarantees the precision of the weights of the micro-clusters with limited memory.

The algorithm is divided into two parts:

Online micro-cluster maintenance (learning)

For a new point p:

  • Try to merge p into either the nearest p-micro-cluster (potential), o-micro-cluster (outlier), or create a new o-micro-cluster and insert it into the outlier buffer.

  • For each T_p iterations, consider the weights of all potential and outlier micro-clusters. If their weights are smaller than a certain threshold (different for each type of micro-clusters), the micro-cluster is deleted.

Offline generation of clusters on-demand (clustering)

A variant of the DBSCAN algorithm 2 is used, such that all density-connected p-micro-clusters determine the final clusters. Moreover, in order for the algorithm to always be able to generate clusters, a certain number of points must be passed through the algorithm with a suitable streaming speed (number of points passed through within a unit time), indicated by n_samples_init and stream_speed.

"},{"location":"api/cluster/DenStream/#parameters","title":"Parameters","text":"
  • decaying_factor

    Type \u2192 float

    Default \u2192 0.25

    Parameter that controls the importance of historical data to current cluster. Note that decaying_factor has to be different from 0.

  • beta

    Type \u2192 float

    Default \u2192 0.75

    Parameter to determine the threshold of outlier relative to core micro-clusters. The value of beta must be within the range (0,1].

  • mu

    Type \u2192 float

    Default \u2192 2

    Parameter to determine the threshold of outliers relative to core micro-cluster. As beta * mu must be greater than 1, mu must be within the range (1/beta, inf).

  • epsilon

    Type \u2192 float

    Default \u2192 0.02

    Defines the epsilon neighborhood

  • n_samples_init

    Type \u2192 int

    Default \u2192 1000

    Number of points to to initiqalize the online process

  • stream_speed

    Type \u2192 int

    Default \u2192 100

    Number of points arrived in unit time

"},{"location":"api/cluster/DenStream/#attributes","title":"Attributes","text":"
  • n_clusters

    Number of clusters generated by the algorithm.

  • clusters

    A set of final clusters of type MicroCluster, which means that these cluster include all the required information, including number of points, creation time, weight, (weighted) linear sum, (weighted) square sum, center and radius.

  • p_micro_clusters

    The potential core-icro-clusters that are generated by the algorithm. When a generate cluster request arrives, these p-micro-clusters will go through a variant of the DBSCAN algorithm to determine the final clusters.

  • o_micro_clusters

    The outlier micro-clusters.

"},{"location":"api/cluster/DenStream/#examples","title":"Examples","text":"

The following example uses the default parameters of the algorithm to test its functionality. The set of evolving points X are designed so that clusters are easily identifiable.

from river import cluster\nfrom river import stream\n\nX = [\n    [-1, -0.5], [-1, -0.625], [-1, -0.75], [-1, -1], [-1, -1.125],\n    [-1, -1.25], [-1.5, -0.5], [-1.5, -0.625], [-1.5, -0.75], [-1.5, -1],\n    [-1.5, -1.125], [-1.5, -1.25], [1, 1.5], [1, 1.75], [1, 2],\n    [4, 1.25], [4, 1.5], [4, 2.25], [4, 2.5], [4, 3],\n    [4, 3.25], [4, 3.5], [4, 3.75], [4, 4],\n]\n\ndenstream = cluster.DenStream(decaying_factor=0.01,\n                              beta=0.5,\n                              mu=2.5,\n                              epsilon=0.5,\n                              n_samples_init=10)\n\nfor x, _ in stream.iter_array(X):\n    denstream.learn_one(x)\n\ndenstream.predict_one({0: -1, 1: -2})\n
1\n

denstream.predict_one({0: 5, 1: 4})\n
2\n

denstream.predict_one({0: 1, 1: 1})\n
0\n

denstream.n_clusters\n
3\n

"},{"location":"api/cluster/DenStream/#methods","title":"Methods","text":"BufferItem learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. Feng et al (2006, pp 328-339). Density-Based Clustering over an Evolving Data Stream with Noise. In Proceedings of the Sixth SIAM International Conference on Data Mining, April 20\u201322, 2006, Bethesda, MD, USA.\u00a0\u21a9

  2. Ester et al (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In KDD-96 Proceedings, AAAI.\u00a0\u21a9

"},{"location":"api/cluster/KMeans/","title":"KMeans","text":"

Incremental k-means.

The most common way to implement batch k-means is to use Lloyd's algorithm, which consists in assigning all the data points to a set of cluster centers and then moving the centers accordingly. This requires multiple passes over the data and thus isn't applicable in a streaming setting.

In this implementation we start by finding the cluster that is closest to the current observation. We then move the cluster's central position towards the new observation. The halflife parameter determines by how much to move the cluster toward the new observation. You will get better results if you scale your data appropriately.

"},{"location":"api/cluster/KMeans/#parameters","title":"Parameters","text":"
  • n_clusters

    Default \u2192 5

    Maximum number of clusters to assign.

  • halflife

    Default \u2192 0.5

    Amount by which to move the cluster centers, a reasonable value if between 0 and 1.

  • mu

    Default \u2192 0

    Mean of the normal distribution used to instantiate cluster positions.

  • sigma

    Default \u2192 1

    Standard deviation of the normal distribution used to instantiate cluster positions.

  • p

    Default \u2192 2

    Power parameter for the Minkowski metric. When p=1, this corresponds to the Manhattan distance, while p=2 corresponds to the Euclidean distance.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for generating initial centroid positions.

"},{"location":"api/cluster/KMeans/#attributes","title":"Attributes","text":"
  • centers (dict)

    Central positions of each cluster.

"},{"location":"api/cluster/KMeans/#examples","title":"Examples","text":"

In the following example the cluster assignments are exactly the same as when using sklearn's batch implementation. However changing the halflife parameter will produce different outputs.

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [-4, 2],\n    [-4, 4],\n    [-4, 0]\n]\n\nk_means = cluster.KMeans(n_clusters=2, halflife=0.1, sigma=3, seed=42)\n\nfor i, (x, _) in enumerate(stream.iter_array(X)):\n    k_means.learn_one(x)\n    print(f'{X[i]} is assigned to cluster {k_means.predict_one(x)}')\n
[1, 2] is assigned to cluster 1\n[1, 4] is assigned to cluster 1\n[1, 0] is assigned to cluster 0\n[-4, 2] is assigned to cluster 1\n[-4, 4] is assigned to cluster 1\n[-4, 0] is assigned to cluster 0\n

k_means.predict_one({0: 0, 1: 0})\n
0\n

k_means.predict_one({0: 4, 1: 4})\n
1\n

"},{"location":"api/cluster/KMeans/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

learn_predict_one

Equivalent to k_means.learn_one(x).predict_one(x), but faster.

Parameters

  • x

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

  1. Sequential k-Means Clustering \u21a9

  2. Sculley, D., 2010, April. Web-scale k-means clustering. In Proceedings of the 19th international conference on World wide web (pp. 1177-1178 \u21a9

"},{"location":"api/cluster/ODAC/","title":"ODAC","text":"

The Online Divisive-Agglomerative Clustering (ODAC)1 aims at continuously maintaining a hierarchical cluster structure from evolving time series data streams.

ODAC continuosly monitors the evolution of clusters' diameters and split or merge them by gathering more data or reacting to concept drift. Such changes are supported by a confidence level that comes from the Hoeffding bound. ODAC relies on keeping the linear correlation between series to evaluate whether or not the time series hierarchy has changed.

The distance between time-series a and b is given by rnomc(a, b) = sqrt((1 - corr(a, b)) / 2), where corr(a, b) is the Pearson Correlation coefficient.

In the following topics, \u03b5 stands for the Hoeffding bound and considers clusters cj with descendants ck and cs.

The Merge Operator

The Splitting Criteria guarantees that cluster's diameters monotonically decrease.

  • If diameter (ck) - diameter (cj) > \u03b5 OR diameter (cs) - diameter (cj ) > \u03b5:

    • There is a change in the correlation structure, so merge clusters ck and cs into cj.

Splitting Criteria

Consider:

  • d0: the minimum distance;

  • d1: the farthest distance;

  • d_avg: the average distance;

  • d2: the second farthest distance.

Then:

  • if d1 - d2 > \u03b5k or t > \u03b5k then

    • if (d1 - d0)|(d1 - d_avg) - (d_avg - d0) > \u03b5k then

      • Split the cluster
"},{"location":"api/cluster/ODAC/#parameters","title":"Parameters","text":"
  • confidence_level

    Type \u2192 float

    Default \u2192 0.9

    The confidence level that user wants to work.

  • n_min

    Type \u2192 int

    Default \u2192 100

    Number of minimum observations to gather before checking whether or not clusters must be split or merged.

  • tau

    Type \u2192 float

    Default \u2192 0.1

    Threshold below which a split will be forced to break ties.

"},{"location":"api/cluster/ODAC/#attributes","title":"Attributes","text":"
  • structure_changed (bool)

    This variable is true when the structure changed, produced by splitting or aggregation.

"},{"location":"api/cluster/ODAC/#examples","title":"Examples","text":"

from river import cluster\nfrom river.datasets import synth\n\nmodel = cluster.ODAC()\n\ndataset = synth.FriedmanDrift(drift_type='gra', position=(150, 200), seed=42)\n\nfor i, (x, _) in enumerate(dataset.take(500)):\n    model.learn_one(x)\n    if model.structure_changed:\n        print(f\"Structure changed at observation {i + 1}\")\n
Structure changed at observation 1\nStructure changed at observation 100\nStructure changed at observation 200\nStructure changed at observation 300\n

print(model.draw(n_decimal_places=2))\n
ROOT d1=0.79 d2=0.76 [NOT ACTIVE]\n\u251c\u2500\u2500 CH1_LVL_1 d1=0.74 d2=0.72 [NOT ACTIVE]\n\u2502   \u251c\u2500\u2500 CH1_LVL_2 d1=<Not calculated> [3]\n\u2502   \u2514\u2500\u2500 CH2_LVL_2 d1=0.73 [2, 4]\n\u2514\u2500\u2500 CH2_LVL_1 d1=0.81 d2=0.78 [NOT ACTIVE]\n    \u251c\u2500\u2500 CH1_LVL_2 d1=0.73 d2=0.67 [NOT ACTIVE]\n    \u2502   \u251c\u2500\u2500 CH1_LVL_3 d1=0.72 [0, 9]\n    \u2502   \u2514\u2500\u2500 CH2_LVL_3 d1=<Not calculated> [1]\n    \u2514\u2500\u2500 CH2_LVL_2 d1=0.74 d2=0.73 [NOT ACTIVE]\n        \u251c\u2500\u2500 CH1_LVL_3 d1=0.71 [5, 6]\n        \u2514\u2500\u2500 CH2_LVL_3 d1=0.71 [7, 8]\n

You can acess some properties of the clustering model directly:

model.n_clusters\n
11\n

model.n_active_clusters\n
6\n

model.height\n
3\n

These properties are also available in a summarized form:

model.summary\n
{'n_clusters': 11, 'n_active_clusters': 6, 'height': 3}\n

"},{"location":"api/cluster/ODAC/#methods","title":"Methods","text":"draw

Method to draw the hierarchical cluster's structure.

Parameters

  • n_decimal_places \u2014 'int' \u2014 defaults to 2

learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

predict_one

This algorithm does not predict anything. It builds a hierarchical cluster's structure.

Parameters

  • x \u2014 'dict'

  1. Hierarchical clustering of time-series data streams. \u21a9

"},{"location":"api/cluster/STREAMKMeans/","title":"STREAMKMeans","text":"

STREAMKMeans

STREAMKMeans is an alternative version of the original algorithm STREAMLSEARCH proposed by O'Callaghan et al. 1, by replacing the k-medians using LSEARCH by the k-means algorithm.

However, instead of using the traditional k-means, which requires a total reclustering each time the temporary chunk of data points is full, the implementation of this algorithm uses an increamental k-means.

At first, the cluster centers are initialized with a KMeans instance. For a new point p:

  • If the size of chunk is less than the maximum size allowed, add the new point to the temporary chunk.

  • When the size of chunk reaches the maximum value size allowed

    • A new incremental KMeans instance is created. The latter will process all points in the

    temporary chunk. The centers of this new instance then become the new centers.

    • All points are deleted from the temporary chunk so that new points can be added.
  • When a prediction request arrives, the centers of the algorithm will be exactly the same as the centers of the original KMeans at the time of retrieval.

"},{"location":"api/cluster/STREAMKMeans/#parameters","title":"Parameters","text":"
  • chunk_size

    Default \u2192 10

    Maximum size allowed for the temporary data chunk.

  • n_clusters

    Default \u2192 2

    Number of clusters generated by the algorithm.

  • kwargs

    Other parameters passed to the incremental kmeans at cluster.KMeans.

"},{"location":"api/cluster/STREAMKMeans/#attributes","title":"Attributes","text":"
  • centers

    Cluster centers generated from running the incremental KMeans algorithm through centers of each chunk.

"},{"location":"api/cluster/STREAMKMeans/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 0.5], [1, 0.625], [1, 0.75], [1, 1.125], [1, 1.5], [1, 1.75],\n    [4, 1.5], [4, 2.25], [4, 2.5], [4, 3], [4, 3.25], [4, 3.5]\n]\n\nstreamkmeans = cluster.STREAMKMeans(chunk_size=3, n_clusters=2, halflife=0.5, sigma=1.5, seed=0)\n\nfor x, _ in stream.iter_array(X):\n    streamkmeans.learn_one(x)\n\nstreamkmeans.predict_one({0: 1, 1: 0})\n
0\n

streamkmeans.predict_one({0: 5, 1: 2})\n
1\n

"},{"location":"api/cluster/STREAMKMeans/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. O'Callaghan et al. (2002). Streaming-data algorithms for high-quality clustering. In Proceedings 18th International Conference on Data Engineering, Feb 26 - March 1, San Jose, CA, USA. DOI: 10.1109/ICDE.2002.994785.\u00a0\u21a9

"},{"location":"api/cluster/TextClust/","title":"TextClust","text":"

textClust, a clustering algorithm for text data.

textClust 12 is a stream clustering algorithm for textual data that can identify and track topics over time in a stream of texts. The algorithm uses a widely popular two-phase clustering approach where the stream is first summarised in real-time.

The result is many small preliminary clusters in the stream called micro-clusters. Micro-clusters maintain enough information to update and efficiently calculate the cosine similarity between them over time, based on the TF-IDF vector of their texts. Upon request, the miro-clusters can be reclustered to generate the final result using any distance-based clustering algorithm, such as hierarchical clustering. To keep the micro-clusters up-to-date, our algorithm applies a fading strategy where micro-clusters that are not updated regularly lose relevance and are eventually removed.

"},{"location":"api/cluster/TextClust/#parameters","title":"Parameters","text":"
  • radius

    Default \u2192 0.3

    Distance threshold to merge two micro-clusters. Must be within the range (0, 1]

  • fading_factor

    Default \u2192 0.0005

    Fading factor of micro-clusters

  • tgap

    Default \u2192 100

    Time between outlier removal

  • term_fading

    Default \u2192 True

    Determines whether individual terms should also be faded

  • real_time_fading

    Default \u2192 True

    Parameter that specifies whether natural time or the number of observations should be used for fading

  • micro_distance

    Default \u2192 tfidf_cosine_distance

    Distance metric used for clustering macro-clusters

  • macro_distance

    Default \u2192 tfidf_cosine_distance

    Distance metric used for clustering macro-clusters

  • num_macro

    Default \u2192 3

    Number of macro clusters that should be identified during the reclustering phase

  • min_weight

    Default \u2192 0

    Minimum weight of micro clusters to be used for reclustering

  • auto_r

    Default \u2192 False

    Parameter that specifies if radius should be automatically updated

  • auto_merge

    Default \u2192 True

    Determines, if close observations shall be merged together

  • sigma

    Default \u2192 1

    Parameter that influences the automated trheshold adaption technique

"},{"location":"api/cluster/TextClust/#attributes","title":"Attributes","text":"
  • micro_clusters

    Micro-clusters generated by the algorithm. Micro-clusters are of type textclust.microcluster

"},{"location":"api/cluster/TextClust/#examples","title":"Examples","text":"

from river import compose\nfrom river import feature_extraction\nfrom river import metrics\nfrom river import cluster\n\ncorpus = [\n   {\"text\":'This is the first document.',\"idd\":1, \"cluster\": 1, \"cluster\":1},\n   {\"text\":'This document is the second document.',\"idd\":2,\"cluster\": 1},\n   {\"text\":'And this is super unrelated.',\"idd\":3,\"cluster\": 2},\n   {\"text\":'Is this the first document?',\"idd\":4,\"cluster\": 1},\n   {\"text\":'This is super unrelated as well',\"idd\":5,\"cluster\": 2},\n   {\"text\":'Test text',\"idd\":6,\"cluster\": 5}\n]\n\nstopwords = [ 'stop', 'the', 'to', 'and', 'a', 'in', 'it', 'is', 'I']\n\nmetric = metrics.AdjustedRand()\n\nmodel = compose.Pipeline(\n    feature_extraction.BagOfWords(lowercase=True, ngram_range=(1, 2), stop_words=stopwords),\n    cluster.TextClust(real_time_fading=False, fading_factor=0.001, tgap=100, auto_r=True,\n    radius=0.9)\n)\n\nfor x in corpus:\n    y_pred = model.predict_one(x[\"text\"])\n    y = x[\"cluster\"]\n    metric.update(y,y_pred)\n    model.learn_one(x[\"text\"])\n\nprint(metric)\n
AdjustedRand: -0.17647058823529413\n

"},{"location":"api/cluster/TextClust/#methods","title":"Methods","text":"distances get_assignment get_macroclusters learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • t \u2014 defaults to None
  • w \u2014 defaults to None

microcluster predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None
  • type \u2014 defaults to micro

Returns

int: A cluster number.

showclusters tfcontainer updateMacroClusters
  1. Assenmacher, D. und Trautmann, H. (2022). Textual One-Pass Stream Clustering with Automated Distance Threshold Adaption. In: Asian Conference on Intelligent Information and Database Systems (Accepted)\u00a0\u21a9

  2. Carnein, M., Assenmacher, D., Trautmann, H. (2017). Stream Clustering of Chat Messages with Applications to Twitch Streams. In: Advances in Conceptual Modeling. ER 2017.\u00a0\u21a9

"},{"location":"api/compat/River2SKLClassifier/","title":"River2SKLClassifier","text":"

Compatibility layer from River to scikit-learn for classification.

"},{"location":"api/compat/River2SKLClassifier/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Classifier

"},{"location":"api/compat/River2SKLClassifier/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y

Returns

self

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y
  • classes \u2014 defaults to None

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Predicted target values for each row of X.

predict_proba

Predicts the target probability of an entire dataset contained in memory.

Parameters

  • X

Returns

Predicted target values for each row of X.

score

Return the mean accuracy on the given test data and labels.

In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.

Parameters

  • X
  • y
  • sample_weight \u2014 defaults to None

Returns

float

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

set_partial_fit_request

Request metadata passed to the partial_fit method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to partial_fit if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to partial_fit. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • classes \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLClassifier: object

set_score_request

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to score. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • sample_weight \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLClassifier: object

"},{"location":"api/compat/River2SKLClusterer/","title":"River2SKLClusterer","text":"

Compatibility layer from River to scikit-learn for clustering.

"},{"location":"api/compat/River2SKLClusterer/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Clusterer

"},{"location":"api/compat/River2SKLClusterer/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

fit_predict

Perform clustering on X and returns cluster labels.

Parameters

  • X
  • y \u2014 defaults to None

Returns

ndarray of shape (n_samples,), dtype=np.int64

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Transformed output.

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

"},{"location":"api/compat/River2SKLRegressor/","title":"River2SKLRegressor","text":"

Compatibility layer from River to scikit-learn for regression.

"},{"location":"api/compat/River2SKLRegressor/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Regressor

"},{"location":"api/compat/River2SKLRegressor/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y

Returns

self

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

np.ndarray: Predicted target values for each row of X.

score

Return the coefficient of determination of the prediction.

The coefficient of determination :math:R^2 is defined as :math:(1 - \\frac{u}{v}), where :math:u is the residual sum of squares ((y_true - y_pred)** 2).sum() and :math:v is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a :math:R^2 score of 0.0.

Parameters

  • X
  • y
  • sample_weight \u2014 defaults to None

Returns

float

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

set_score_request

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to score. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • sample_weight \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLRegressor: object

"},{"location":"api/compat/River2SKLTransformer/","title":"River2SKLTransformer","text":"

Compatibility layer from River to scikit-learn for transformation.

"},{"location":"api/compat/River2SKLTransformer/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Transformer

"},{"location":"api/compat/River2SKLTransformer/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

fit_transform

Fit to data, then transform it.

Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.

Parameters

  • X
  • y \u2014 defaults to None
  • fit_params

Returns

ndarray array of shape (n_samples, n_features_new)

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

set_output

Set output container.

See :ref:sphx_glr_auto_examples_miscellaneous_plot_set_output.py for an example on how to use the API.

Parameters

  • transform \u2014 defaults to None

Returns

estimator instance

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

transform

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Transformed output.

"},{"location":"api/compat/SKL2RiverClassifier/","title":"SKL2RiverClassifier","text":"

Compatibility layer from scikit-learn to River for classification.

"},{"location":"api/compat/SKL2RiverClassifier/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.ClassifierMixin

    A scikit-learn regressor which has a partial_fit method.

  • classes

    Type \u2192 list

"},{"location":"api/compat/SKL2RiverClassifier/#examples","title":"Examples","text":"

from river import compat\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import linear_model\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_breast_cancer(),\n    shuffle=True,\n    seed=42\n)\n\nmodel = preprocessing.StandardScaler()\nmodel |= compat.convert_sklearn_to_river(\n    estimator=linear_model.SGDClassifier(\n        loss='log_loss',\n        eta0=0.01,\n        learning_rate='constant'\n    ),\n    classes=[False, True]\n)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.198029\n

"},{"location":"api/compat/SKL2RiverClassifier/#methods","title":"Methods","text":"learn_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_many predict_one

Predict the label of a set of features x.

Parameters

  • x

Returns

The predicted label.

predict_proba_many predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/compat/SKL2RiverRegressor/","title":"SKL2RiverRegressor","text":"

Compatibility layer from scikit-learn to River for regression.

"},{"location":"api/compat/SKL2RiverRegressor/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.BaseEstimator

    A scikit-learn transformer which has a partial_fit method.

"},{"location":"api/compat/SKL2RiverRegressor/#examples","title":"Examples","text":"

from river import compat\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import linear_model\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_diabetes(),\n    shuffle=True,\n    seed=42\n)\n\nscaler = preprocessing.StandardScaler()\nsgd_reg = compat.convert_sklearn_to_river(linear_model.SGDRegressor())\nmodel = scaler | sgd_reg\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 84.501421\n

"},{"location":"api/compat/SKL2RiverRegressor/#methods","title":"Methods","text":"learn_many learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_many predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/compat/convert-river-to-sklearn/","title":"convert_river_to_sklearn","text":"

Wraps a river estimator to make it compatible with scikit-learn.

"},{"location":"api/compat/convert-river-to-sklearn/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 base.Estimator

"},{"location":"api/compat/convert-sklearn-to-river/","title":"convert_sklearn_to_river","text":"

Wraps a scikit-learn estimator to make it compatible with river.

"},{"location":"api/compat/convert-sklearn-to-river/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.BaseEstimator

  • classes

    Type \u2192 list | None

    Default \u2192 None

    Class names necessary for classifiers.

"},{"location":"api/compose/Discard/","title":"Discard","text":"

Removes features.

This can be used in a pipeline when you want to remove certain features. The transform_one method is pure, and therefore returns a fresh new dictionary instead of removing the specified keys from the input.

"},{"location":"api/compose/Discard/#parameters","title":"Parameters","text":"
  • keys

    Type \u2192 tuple[base.typing.FeatureName]

    Key(s) to discard.

"},{"location":"api/compose/Discard/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12, 'c': 13}\ncompose.Discard('a', 'b').transform_one(x)\n
{'c': 13}\n

You can chain a discarder with any estimator in order to apply said estimator to the desired features.

from river import feature_extraction as fx\n\nx = {'sales': 10, 'shop': 'Ikea', 'country': 'Sweden'}\n\npipeline = (\n    compose.Discard('shop', 'country') |\n    fx.PolynomialExtender()\n)\npipeline.transform_one(x)\n
{'sales': 10, 'sales*sales': 100}\n

"},{"location":"api/compose/Discard/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/FuncTransformer/","title":"FuncTransformer","text":"

Wraps a function to make it usable in a pipeline.

There is often a need to apply an arbitrary transformation to a set of features. For instance, this could involve parsing a date and then extracting the hour from said date. If you're processing a stream of data, then you can do this yourself by calling the necessary code at your leisure. On the other hand, if you want to do this as part of a pipeline, then you need to follow a simple convention.

To use a function as part of a pipeline, take as input a dict of features and output a dict. Once you have initialized this class with your function, then you can use it like you would use any other (unsupervised) transformer.

It is up to you if you want your function to be pure or not. By pure we refer to a function that doesn't modify its input. However, we recommend writing pure functions because this reduces the chances of inserting bugs into your pipeline.

"},{"location":"api/compose/FuncTransformer/#parameters","title":"Parameters","text":"
  • func

    Type \u2192 typing.Callable[[dict], dict]

    A function that takes as input a dict and outputs a dict.

"},{"location":"api/compose/FuncTransformer/#examples","title":"Examples","text":"

from pprint import pprint\nimport datetime as dt\nfrom river import compose\n\nx = {'date': '2019-02-14'}\n\ndef parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    x['is_weekend'] = date.day in (5, 6)\n    x['hour'] = date.hour\n    return x\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'date': '2019-02-14', 'hour': 0, 'is_weekend': False}\n

The above example is not pure because it modifies the input. The following example is pure and produces the same output:

def parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    return {'is_weekend': date.day in (5, 6), 'hour': date.hour}\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'hour': 0, 'is_weekend': False}\n

The previous example doesn't include the date feature because it returns a new dict. However, a common usecase is to add a feature to an existing set of features. You can do this in a pure way by unpacking the input dict into the output dict:

def parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    return {'is_weekend': date.day in (5, 6), 'hour': date.hour, **x}\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'date': '2019-02-14', 'hour': 0, 'is_weekend': False}\n

You can add FuncTransformer to a pipeline just like you would with any other transformer.

from river import naive_bayes\n\npipeline = compose.FuncTransformer(parse_date) | naive_bayes.MultinomialNB()\npipeline\n
Pipeline (\n  FuncTransformer (\n    func=\"parse_date\"\n  ),\n  MultinomialNB (\n    alpha=1.\n  )\n)\n

If you provide a function without wrapping it, then the pipeline will do it for you:

pipeline = parse_date | naive_bayes.MultinomialNB()\n
"},{"location":"api/compose/FuncTransformer/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Grouper/","title":"Grouper","text":"

Applies a transformer within different groups.

This transformer allows you to split your data into groups and apply a transformer within each group. This happens in a streaming manner, which means that the groups are discovered online. A separate copy of the provided transformer is made whenever a new group appears. The groups are defined according to one or more keys.

"},{"location":"api/compose/Grouper/#parameters","title":"Parameters","text":"
  • transformer

    Type \u2192 base.Transformer

  • by

    Type \u2192 base.typing.FeatureName | list[base.typing.FeatureName]

    The field on which to group the data. This can either by a single value, or a list of values.

"},{"location":"api/compose/Grouper/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Pipeline/","title":"Pipeline","text":"

A pipeline of estimators.

Pipelines allow you to chain different steps into a sequence. Typically, when doing supervised learning, a pipeline contains one or more transformation steps, whilst it's a regressor or a classifier. It is highly recommended to use pipelines with River. Indeed, in an online learning setting, it is very practical to have a model defined as a single object. Take a look at the user guide for further information and practical examples.

One special thing to take notice to is the way transformers are handled. It is usual to predict something for a sample and wait for the ground truth to arrive. In such a scenario, the features are seen before the ground truth arrives. Therefore, the unsupervised parts of the pipeline are updated when predict_one and predict_proba_one are called. Usually the unsupervised parts of the pipeline are all the steps that precede the final step, which is a supervised model. However, some transformers are supervised and are therefore also updated during calls to learn_one.

"},{"location":"api/compose/Pipeline/#parameters","title":"Parameters","text":"
  • steps

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/Pipeline/#examples","title":"Examples","text":"

The recommended way to declare a pipeline is to use the | operator. The latter allows you to chain estimators in a very terse manner:

from river import linear_model\nfrom river import preprocessing\n\nscaler = preprocessing.StandardScaler()\nlog_reg = linear_model.LinearRegression()\nmodel = scaler | log_reg\n

This results in a pipeline that stores each step inside a dictionary.

model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

You can access parts of a pipeline in the same manner as a dictionary:

model['LinearRegression']\n
LinearRegression (\n  optimizer=SGD (\n    lr=Constant (\n      learning_rate=0.01\n    )\n  )\n  loss=Squared ()\n  l2=0.\n  l1=0.\n  intercept_init=0.\n  intercept_lr=Constant (\n    learning_rate=0.01\n  )\n  clip_gradient=1e+12\n  initializer=Zeros ()\n)\n

Note that you can also declare a pipeline by using the compose.Pipeline constructor method, which is slightly more verbose:

from river import compose\n\nmodel = compose.Pipeline(scaler, log_reg)\n

By using a compose.TransformerUnion, you can define complex pipelines that apply different steps to different parts of the data. For instance, we can extract word counts from text data, and extract polynomial features from numeric data.

from river import feature_extraction as fx\n\ntfidf = fx.TFIDF('text')\ncounts = fx.BagOfWords('text')\ntext_part = compose.Select('text') | (tfidf + counts)\n\nnum_part = compose.Select('a', 'b') | fx.PolynomialExtender()\n\nmodel = text_part + num_part\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n

The following shows an example of using debug_one to visualize how the information flows and changes throughout the pipeline.

from river import compose\nfrom river import naive_bayes\n\ndataset = [\n    ('A positive comment', True),\n    ('A negative comment', False),\n    ('A happy comment', True),\n    ('A lovely comment', True),\n    ('A harsh comment', False)\n]\n\ntfidf = fx.TFIDF() | compose.Prefixer('tfidf_')\ncounts = fx.BagOfWords() | compose.Prefixer('count_')\nmnb = naive_bayes.MultinomialNB()\nmodel = (tfidf + counts) | mnb\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nx = dataset[0][0]\nreport = model.debug_one(dataset[0][0])\nprint(report)\n
0. Input\n--------\nA positive comment\n1. Transformer union\n--------------------\n    1.0 TFIDF | Prefixer\n    --------------------\n    tfidf_comment: 0.43017 (float)\n    tfidf_positive: 0.90275 (float)\n    1.1 BagOfWords | Prefixer\n    -------------------------\n    count_comment: 1 (int)\n    count_positive: 1 (int)\ncount_comment: 1 (int)\ncount_positive: 1 (int)\ntfidf_comment: 0.43017 (float)\ntfidf_positive: 0.90275 (float)\n2. MultinomialNB\n----------------\nFalse: 0.19221\nTrue: 0.80779\n

"},{"location":"api/compose/Pipeline/#methods","title":"Methods","text":"debug_one

Displays the state of a set of features as it goes through the pipeline.

Parameters

  • x \u2014 'dict'
  • show_types \u2014 defaults to True
  • n_decimals \u2014 defaults to 5

forecast

Return a forecast.

Only works if each estimator has a transform_one method and the final estimator has a forecast method. This is the case of time series models from the time_series module.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_many

Fit to a mini-batch.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None
  • params

learn_one

Fit to a single instance.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None
  • params

predict_many

Call transform_many, and then predict_many on the final step.

Parameters

  • X \u2014 'pd.DataFrame'

predict_one

Call transform_one on the first steps and predict_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

predict_proba_many

Call transform_many, and then predict_proba_many on the final step.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Call transform_one on the first steps and predict_proba_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

score_one

Call transform_one on the first steps and score_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

transform_many

Apply each transformer in the pipeline to some features.

The final step in the pipeline will be applied if it is a transformer. If not, then it will be ignored and the output from the penultimate step will be returned. Note that the steps that precede the final step are assumed to all be transformers.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Apply each transformer in the pipeline to some features.

The final step in the pipeline will be applied if it is a transformer. If not, then it will be ignored and the output from the penultimate step will be returned. Note that the steps that precede the final step are assumed to all be transformers.

Parameters

  • x \u2014 'dict'
  • params

"},{"location":"api/compose/Prefixer/","title":"Prefixer","text":"

Prepends a prefix on features names.

"},{"location":"api/compose/Prefixer/#parameters","title":"Parameters","text":"
  • prefix

    Type \u2192 str

"},{"location":"api/compose/Prefixer/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12}\ncompose.Prefixer('prefix_').transform_one(x)\n
{'prefix_a': 42, 'prefix_b': 12}\n

"},{"location":"api/compose/Prefixer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Renamer/","title":"Renamer","text":"

Renames features following substitution rules.

"},{"location":"api/compose/Renamer/#parameters","title":"Parameters","text":"
  • mapping

    Type \u2192 dict[str, str]

    Dictionnary describing substitution rules. Keys in mapping that are not a feature's name are silently ignored.

"},{"location":"api/compose/Renamer/#examples","title":"Examples","text":"

from river import compose\n\nmapping = {'a': 'v', 'c': 'o'}\nx = {'a': 42, 'b': 12}\ncompose.Renamer(mapping).transform_one(x)\n
{'b': 12, 'v': 42}\n

"},{"location":"api/compose/Renamer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Select/","title":"Select","text":"

Selects features.

This can be used in a pipeline when you want to select certain features. The transform_one method is pure, and therefore returns a fresh new dictionary instead of filtering the specified keys from the input.

"},{"location":"api/compose/Select/#parameters","title":"Parameters","text":"
  • keys

    Type \u2192 tuple[base.typing.FeatureName]

    Key(s) to keep.

"},{"location":"api/compose/Select/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12, 'c': 13}\ncompose.Select('c').transform_one(x)\n
{'c': 13}\n

You can chain a selector with any estimator in order to apply said estimator to the desired features.

from river import feature_extraction as fx\n\nx = {'sales': 10, 'shop': 'Ikea', 'country': 'Sweden'}\n\npipeline = (\n    compose.Select('sales') |\n    fx.PolynomialExtender()\n)\npipeline.transform_one(x)\n
{'sales': 10, 'sales*sales': 100}\n

This transformer also supports mini-batch processing:

import random\nfrom river import compose\n\nrandom.seed(42)\nX = [{\"x_1\": random.uniform(8, 12), \"x_2\": random.uniform(8, 12)} for _ in range(6)]\nfor x in X:\n    print(x)\n
{'x_1': 10.557707193831535, 'x_2': 8.100043020890668}\n{'x_1': 9.100117273476478, 'x_2': 8.892842952595291}\n{'x_1': 10.94588485665605, 'x_2': 10.706797949691644}\n{'x_1': 11.568718270819382, 'x_2': 8.347755330517664}\n{'x_1': 9.687687278741082, 'x_2': 8.119188877752281}\n{'x_1': 8.874551899214413, 'x_2': 10.021421152413449}\n

import pandas as pd\nX = pd.DataFrame.from_dict(X)\n

You can then call transform_many to transform a mini-batch of features:

compose.Select('x_2').transform_many(X)\n
    x_2\n0   8.100043\n1   8.892843\n2  10.706798\n3   8.347755\n4   8.119189\n5  10.021421\n

"},{"location":"api/compose/Select/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/SelectType/","title":"SelectType","text":"

Selects features based on their type.

This is practical when you want to apply different preprocessing steps to different kinds of features. For instance, a common usecase is to apply a preprocessing.StandardScaler to numeric features and a preprocessing.OneHotEncoder to categorical features.

"},{"location":"api/compose/SelectType/#parameters","title":"Parameters","text":"
  • types

    Type \u2192 tuple[type]

    Python types which you want to select. Under the hood, the isinstance method will be used to check if a value is of a given type.

"},{"location":"api/compose/SelectType/#examples","title":"Examples","text":"
import numbers\nfrom river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\nnum = compose.SelectType(numbers.Number) | preprocessing.StandardScaler()\ncat = compose.SelectType(str) | preprocessing.OneHotEncoder()\nmodel = (num + cat) | linear_model.LogisticRegression()\n
"},{"location":"api/compose/SelectType/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Suffixer/","title":"Suffixer","text":"

Appends a suffix on features names.

"},{"location":"api/compose/Suffixer/#parameters","title":"Parameters","text":"
  • suffix

    Type \u2192 str

"},{"location":"api/compose/Suffixer/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12}\ncompose.Suffixer('_suffix').transform_one(x)\n
{'a_suffix': 42, 'b_suffix': 12}\n

"},{"location":"api/compose/Suffixer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/TargetTransformRegressor/","title":"TargetTransformRegressor","text":"

Modifies the target before training.

The user is expected to check that func and inverse_func are coherent with each other.

"},{"location":"api/compose/TargetTransformRegressor/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

  • func

    Type \u2192 typing.Callable

    A function modifying the target before training.

  • inverse_func

    Type \u2192 typing.Callable

    A function to return to the target's original space.

"},{"location":"api/compose/TargetTransformRegressor/#examples","title":"Examples","text":"

import math\nfrom river import compose\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    compose.TargetTransformRegressor(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15),\n        func=math.log,\n        inverse_func=math.exp\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 10.999752\n

"},{"location":"api/compose/TargetTransformRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/compose/TransformerProduct/","title":"TransformerProduct","text":"

Computes interactions between the outputs of a set transformers.

This is for when you want to add interaction terms between groups of features. It may also be used an alternative to feature_extraction.PolynomialExtender when the latter is overkill.

"},{"location":"api/compose/TransformerProduct/#parameters","title":"Parameters","text":"
  • transformers

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/TransformerProduct/#examples","title":"Examples","text":"

Let's say we have a certain set of features with two groups. In practice these may be different namespaces, such one for items and the other for users.

x = dict(\n    a=0, b=1,  # group 1\n    x=2, y=3   # group 2\n)\n

We might want to add interaction terms between groups ('a', 'b') and ('x', 'y'), as so:

from pprint import pprint\nfrom river.compose import Select, TransformerProduct\n\nproduct = TransformerProduct(\n    Select('a', 'b'),\n    Select('x', 'y')\n)\npprint(product.transform_one(x))\n
{'a*x': 0, 'a*y': 0, 'b*x': 2, 'b*y': 3}\n

This can also be done with the following shorthand:

product = Select('a', 'b') * Select('x', 'y')\npprint(product.transform_one(x))\n
{'a*x': 0, 'a*y': 0, 'b*x': 2, 'b*y': 3}\n

If you want to include the original terms, you can do something like this:

group_1 = Select('a', 'b')\ngroup_2 = Select('x', 'y')\nproduct = group_1 + group_2 + group_1 * group_2\npprint(product.transform_one(x))\n
{'a': 0, 'a*x': 0, 'a*y': 0, 'b': 1, 'b*x': 2, 'b*y': 3, 'x': 2, 'y': 3}\n

"},{"location":"api/compose/TransformerProduct/#methods","title":"Methods","text":"learn_many

Update each transformer.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None

learn_one

Update each transformer.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

transform_many

Passes the data through each transformer and packs the results together.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Passes the data through each transformer and packs the results together.

Parameters

  • x \u2014 'dict'

"},{"location":"api/compose/TransformerUnion/","title":"TransformerUnion","text":"

Packs multiple transformers into a single one.

Pipelines allow you to apply steps sequentially. Therefore, the output of a step becomes the input of the next one. In many cases, you may want to pass the output of a step to multiple steps. This simple transformer allows you to do so. In other words, it enables you to apply particular steps to different parts of an input. A typical example is when you want to scale numeric features and one-hot encode categorical features.

This transformer is essentially a list of transformers. Whenever it is updated, it loops through each transformer and updates them. Meanwhile, calling transform_one collects the output of each transformer and merges them into a single dictionary.

"},{"location":"api/compose/TransformerUnion/#parameters","title":"Parameters","text":"
  • transformers

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/TransformerUnion/#examples","title":"Examples","text":"

Take the following dataset:

X = [\n    {'place': 'Taco Bell', 'revenue': 42},\n    {'place': 'Burger King', 'revenue': 16},\n    {'place': 'Burger King', 'revenue': 24},\n    {'place': 'Taco Bell', 'revenue': 58},\n    {'place': 'Burger King', 'revenue': 20},\n    {'place': 'Taco Bell', 'revenue': 50}\n]\n

As an example, let's assume we want to compute two aggregates of a dataset. We therefore define two feature_extraction.Aggs and initialize a TransformerUnion with them:

from river import compose\nfrom river import feature_extraction\nfrom river import stats\n\nmean = feature_extraction.Agg(\n    on='revenue', by='place',\n    how=stats.Mean()\n)\ncount = feature_extraction.Agg(\n    on='revenue', by='place',\n    how=stats.Count()\n)\nagg = compose.TransformerUnion(mean, count)\n

We can now update each transformer and obtain their output with a single function call:

from pprint import pprint\nfor x in X:\n    agg.learn_one(x)\n    pprint(agg.transform_one(x))\n
{'revenue_count_by_place': 1, 'revenue_mean_by_place': 42.0}\n{'revenue_count_by_place': 1, 'revenue_mean_by_place': 16.0}\n{'revenue_count_by_place': 2, 'revenue_mean_by_place': 20.0}\n{'revenue_count_by_place': 2, 'revenue_mean_by_place': 50.0}\n{'revenue_count_by_place': 3, 'revenue_mean_by_place': 20.0}\n{'revenue_count_by_place': 3, 'revenue_mean_by_place': 50.0}\n

Note that you can use the + operator as a shorthand notation:

agg = mean + count

This allows you to build complex pipelines in a very terse manner. For instance, we can create a pipeline that scales each feature and fits a logistic regression as so:

from river import linear_model as lm\nfrom river import preprocessing as pp\n\nmodel = (\n    (mean + count) |\n    pp.StandardScaler() |\n    lm.LogisticRegression()\n)\n

Whice is equivalent to the following code:

model = compose.Pipeline(\n    compose.TransformerUnion(mean, count),\n    pp.StandardScaler(),\n    lm.LogisticRegression()\n)\n

Note that you access any part of a TransformerUnion by name:

model['TransformerUnion']['Agg']\n
Agg (\n    on=\"revenue\"\n    by=['place']\n    how=Mean ()\n)\n

model['TransformerUnion']['Agg1']\n
Agg (\n    on=\"revenue\"\n    by=['place']\n    how=Count ()\n)\n

You can also manually provide a name for each step:

agg = compose.TransformerUnion(\n    ('Mean revenue by place', mean),\n    ('# by place', count)\n)\n

Mini-batch example:

X = pd.DataFrame([\n    {\"place\": 2, \"revenue\": 42},\n    {\"place\": 3, \"revenue\": 16},\n    {\"place\": 3, \"revenue\": 24},\n    {\"place\": 2, \"revenue\": 58},\n    {\"place\": 3, \"revenue\": 20},\n    {\"place\": 2, \"revenue\": 50},\n])\n

Since we need a transformer with mini-batch support to demonstrate, we shall use a StandardScaler.

from river import compose\nfrom river import preprocessing\n\nagg = (\n    compose.Select(\"place\") +\n    (compose.Select(\"revenue\") | preprocessing.StandardScaler())\n)\n\nagg.learn_many(X)\nagg.transform_many(X)\n
   place   revenue\n0      2  0.441250\n1      3 -1.197680\n2      3 -0.693394\n3      2  1.449823\n4      3 -0.945537\n5      2  0.945537\n

"},{"location":"api/compose/TransformerUnion/#methods","title":"Methods","text":"learn_many

Update each transformer.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None

learn_one

Update each transformer.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

transform_many

Passes the data through each transformer and packs the results together.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Passes the data through each transformer and packs the results together.

Parameters

  • x \u2014 'dict'

"},{"location":"api/compose/learn-during-predict/","title":"learn_during_predict","text":"

A context manager for fitting unsupervised steps during prediction.

Usually, unsupervised parts of a pipeline are updated during learn_one. However, in the case of online learning, it is possible to update them before, during the prediction step. This context manager allows you to do so.

This usually brings a slight performance improvement. But it is not done by default because it is not intuitive and is more difficult to test. It also means that you have to call predict_one before learn_one in order for the whole pipeline to be updated.

"},{"location":"api/compose/learn-during-predict/#examples","title":"Examples","text":"

Let's first see what methods are called if we just call predict_one.

import io\nimport logging\nfrom river import compose\nfrom river import datasets\nfrom river import linear_model\nfrom river import preprocessing\nfrom river import utils\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nclass_condition = lambda x: x.__class__.__name__ in ('StandardScaler', 'LinearRegression')\n\nlogger = logging.getLogger()\nlogger.setLevel(logging.DEBUG)\n\nlogs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_one(x)\n\nprint(logs.getvalue())\n
StandardScaler.transform_one\nLinearRegression.predict_one\n

Now let's use the context manager and see what methods get called.

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition), compose.learn_during_predict():\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_one(x)\n\nprint(logs.getvalue())\n
StandardScaler.learn_one\nStandardScaler.transform_one\nLinearRegression.predict_one\n

We can see that the scaler did not get updated before transforming the data.

This also works when working with mini-batches.

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_many(pd.DataFrame([x]))\nprint(logs.getvalue())\n
StandardScaler.transform_many\nLinearRegression.predict_many\n

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition), compose.learn_during_predict():\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_many(pd.DataFrame([x]))\nprint(logs.getvalue())\n
StandardScaler.learn_many\nStandardScaler.transform_many\nLinearRegression.predict_many\n

"},{"location":"api/conf/Interval/","title":"Interval","text":"

An object to represent a (prediction) interval.

Users are not expected to use this class as-is. Instead, they should use the with_interval parameter of the predict_one method of any regressor or classifier wrapped with a conformal prediction method.

"},{"location":"api/conf/Interval/#parameters","title":"Parameters","text":"
  • lower

    Type \u2192 float

    The lower bound of the interval.

  • upper

    Type \u2192 float

    The upper bound of the interval.

"},{"location":"api/conf/Interval/#attributes","title":"Attributes","text":"
  • center

    The center of the interval.

  • width

    The width of the interval.

"},{"location":"api/conf/RegressionJackknife/","title":"RegressionJackknife","text":"

Jackknife method for regression.

This is a conformal prediction method for regression. It is based on the jackknife method. The idea is to compute the quantiles of the residuals of the regressor. The prediction interval is then computed as the prediction of the regressor plus the quantiles of the residuals.

This works naturally online, as the quantiles of the residuals are updated at each iteration. Each residual is produced before the regressor is updated, which ensures the predicted intervals are not optimistic.

Note that the produced intervals are marginal and not conditional. This means that the intervals are not adjusted for the features x. This is a limitation of the jackknife method. However, the jackknife method is very simple and efficient. It is also very robust to outliers.

"},{"location":"api/conf/RegressionJackknife/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regressor to be wrapped.

  • confidence_level

    Type \u2192 float

    Default \u2192 0.95

    The confidence level of the prediction intervals.

  • window_size

    Type \u2192 int | None

    Default \u2192 None

    The size of the window used to compute the quantiles of the residuals. If None, the quantiles are computed over the whole history. It is advised to set this if you expect the model's performance to change over time.

"},{"location":"api/conf/RegressionJackknife/#examples","title":"Examples","text":"
from river import conf\nfrom river import datasets\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\n\ndataset = datasets.TrumpApproval()\n\nmodel = conf.RegressionJackknife(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(intercept_lr=.1)\n    ),\n    confidence_level=0.9\n)\n\nvalidity = stats.Mean()\nefficiency = stats.Mean()\n\nfor x, y in dataset:\n    interval = model.predict_one(x, with_interval=True)\n    validity.update(y in interval)\n    efficiency.update(interval.width)\n    model.learn_one(x, y)\n

The interval's validity is the proportion of times the true value is within the interval. We specified a confidence level of 90%, so we expect the validity to be around 90%.

validity\n
Mean: 0.939061\n

The interval's efficiency is the average width of the intervals.

efficiency\n
Mean: 4.078361\n

Lowering the confidence lowering will mechanically improve the efficiency.

"},{"location":"api/conf/RegressionJackknife/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • with_interval \u2014 defaults to False
  • kwargs

Returns

The prediction.

  1. Barber, Rina Foygel, Emmanuel J. Candes, Aaditya Ramdas, and Ryan J. Tibshirani. \"Predictive inference with the jackknife+.\" The Annals of Statistics 49, no. 1 (2021): 486-507. \u21a9

"},{"location":"api/covariance/EmpiricalCovariance/","title":"EmpiricalCovariance","text":"

Empirical covariance matrix.

"},{"location":"api/covariance/EmpiricalCovariance/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/covariance/EmpiricalCovariance/#attributes","title":"Attributes","text":"
  • matrix
"},{"location":"api/covariance/EmpiricalCovariance/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import covariance\n\nnp.random.seed(42)\nX = pd.DataFrame(np.random.random((8, 3)), columns=[\"red\", \"green\", \"blue\"])\nX\n
        red     green      blue\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n5  0.183405  0.304242  0.524756\n6  0.431945  0.291229  0.611853\n7  0.139494  0.292145  0.366362\n

cov = covariance.EmpiricalCovariance()\nfor x in X.to_dict(orient=\"records\"):\n    cov.update(x)\ncov\n
        blue     green    red\n blue    0.076    0.020   -0.010\ngreen    0.020    0.113   -0.053\n  red   -0.010   -0.053    0.079\n

There is also an update_many method to process mini-batches. The results are identical.

cov = covariance.EmpiricalCovariance()\ncov.update_many(X)\ncov\n
        blue     green    red\n blue    0.076    0.020   -0.010\ngreen    0.020    0.113   -0.053\n  red   -0.010   -0.053    0.079\n

The covariances are stored in a dictionary, meaning any one of them can be accessed as such:

cov[\"blue\", \"green\"]\n
Cov: 0.020292\n

Diagonal entries are variances:

cov[\"blue\", \"blue\"]\n
Var: 0.076119\n

"},{"location":"api/covariance/EmpiricalCovariance/#methods","title":"Methods","text":"revert

Downdate with a single sample.

Parameters

  • x \u2014 'dict'

update

Update with a single sample.

Parameters

  • x \u2014 'dict'

update_many

Update with a dataframe of samples.

Parameters

  • X \u2014 'pd.DataFrame'

"},{"location":"api/covariance/EmpiricalPrecision/","title":"EmpiricalPrecision","text":"

Empirical precision matrix.

The precision matrix is the inverse of the covariance matrix.

This implementation leverages the Sherman-Morrison formula. The resulting inverse covariance matrix is not guaranteed to be identical to a batch computation. However, the difference shrinks with the number of observations.

"},{"location":"api/covariance/EmpiricalPrecision/#attributes","title":"Attributes","text":"
  • matrix
"},{"location":"api/covariance/EmpiricalPrecision/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import covariance\n\nnp.random.seed(42)\nX = pd.DataFrame(np.random.random((1000, 3)))\nX.head()\n
          0         1         2\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n

prec = covariance.EmpiricalPrecision()\nfor x in X.to_dict(orient=\"records\"):\n    prec.update(x)\n\nprec\n
    0        1        2\n0   12.026   -0.122   -0.214\n1   -0.122   11.276   -0.026\n2   -0.214   -0.026   11.632\n

pd.DataFrame(np.linalg.inv(np.cov(X.T, ddof=1)))\n
           0          1          2\n0  12.159791  -0.124966  -0.218671\n1  -0.124966  11.393394  -0.026662\n2  -0.218671  -0.026662  11.756907\n

"},{"location":"api/covariance/EmpiricalPrecision/#methods","title":"Methods","text":"update

Update with a single sample.

Parameters

  • x

update_many

Update with a dataframe of samples.

Parameters

  • X \u2014 'pd.DataFrame'

  1. Online Estimation of the Inverse Covariance Matrix - Markus Thill \u21a9

  2. Fast rank-one updates to matrix inverse? - Tim Vieira \u21a9

  3. Woodbury matrix identity \u21a9

"},{"location":"api/datasets/AirlinePassengers/","title":"AirlinePassengers","text":"

Monthly number of international airline passengers.

The stream contains 144 items and only one single feature, which is the month. The goal is to predict the number of passengers each month by capturing the trend and the seasonality of the data.

"},{"location":"api/datasets/AirlinePassengers/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/AirlinePassengers/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. International airline passengers: monthly totals in thousands. Jan 49 \u2013 Dec 60 \u21a9

"},{"location":"api/datasets/Bananas/","title":"Bananas","text":"

Bananas dataset.

An artificial dataset where instances belongs to several clusters with a banana shape. There are two attributes that correspond to the x and y axis, respectively.

"},{"location":"api/datasets/Bananas/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/Bananas/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. OpenML page \u21a9

"},{"location":"api/datasets/Bikes/","title":"Bikes","text":"

Bike sharing station information from the city of Toulouse.

The goal is to predict the number of bikes in 5 different bike stations from the city of Toulouse.

"},{"location":"api/datasets/Bikes/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Bikes/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. A short introduction and conclusion to the OpenBikes 2016 Challenge \u21a9

"},{"location":"api/datasets/ChickWeights/","title":"ChickWeights","text":"

Chick weights along time.

The stream contains 578 items and 3 features. The goal is to predict the weight of each chick along time, according to the diet the chick is on. The data is ordered by time and then by chick.

"},{"location":"api/datasets/ChickWeights/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/ChickWeights/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Chick weight dataset overview \u21a9

"},{"location":"api/datasets/CreditCard/","title":"CreditCard","text":"

Credit card frauds.

The datasets contains transactions made by credit cards in September 2013 by european cardholders. This dataset presents transactions that occurred in two days, where we have 492 frauds out of 284,807 transactions. The dataset is highly unbalanced, the positive class (frauds) account for 0.172% of all transactions.

It contains only numerical input variables which are the result of a PCA transformation. Unfortunately, due to confidentiality issues, we cannot provide the original features and more background information about the data. Features V1, V2, ... V28 are the principal components obtained with PCA, the only features which have not been transformed with PCA are 'Time' and 'Amount'. Feature 'Time' contains the seconds elapsed between each transaction and the first transaction in the dataset. The feature 'Amount' is the transaction Amount, this feature can be used for example-dependant cost-senstive learning. Feature 'Class' is the response variable and it takes value 1 in case of fraud and 0 otherwise.

"},{"location":"api/datasets/CreditCard/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/CreditCard/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Andrea Dal Pozzolo, Olivier Caelen, Reid A. Johnson and Gianluca Bontempi. Calibrating Probability with Undersampling for Unbalanced Classification. In Symposium on Computational Intelligence and Data Mining (CIDM), IEEE, 2015\u00a0\u21a9

  2. Dal Pozzolo, Andrea; Caelen, Olivier; Le Borgne, Yann-Ael; Waterschoot, Serge; Bontempi, Gianluca. Learned lessons in credit card fraud detection from a practitioner perspective, Expert systems with applications,41,10,4915-4928,2014, Pergamon\u00a0\u21a9

  3. Dal Pozzolo, Andrea; Boracchi, Giacomo; Caelen, Olivier; Alippi, Cesare; Bontempi, Gianluca. Credit card fraud detection: a realistic modeling and a novel learning strategy, IEEE transactions on neural networks and learning systems,29,8,3784-3797,2018,IEEE\u00a0\u21a9

  4. Dal Pozzolo, Andrea Adaptive Machine learning for credit card fraud detection ULB MLG PhD thesis (supervised by G. Bontempi)\u00a0\u21a9

  5. Carcillo, Fabrizio; Dal Pozzolo, Andrea; Le Borgne, Yann-Ael; Caelen, Olivier; Mazzer, Yannis; Bontempi, Gianluca. Scarff: a scalable framework for streaming credit card fraud detection with Spark, Information fusion,41, 182-194,2018,Elsevier\u00a0\u21a9

  6. Carcillo, Fabrizio; Le Borgne, Yann-Ael; Caelen, Olivier; Bontempi, Gianluca. Streaming active learning strategies for real-life credit card fraud detection: assessment and visualization, International Journal of Data Science and Analytics, 5,4,285-300,2018,Springer International Publishing\u00a0\u21a9

  7. Bertrand Lebichot, Yann-Ael Le Borgne, Liyun He, Frederic Oble, Gianluca Bontempi Deep-Learning Domain Adaptation Techniques for Credit Cards Fraud Detection, INNSBDDL 2019: Recent Advances in Big Data and Deep Learning, pp 78-88, 2019\u00a0\u21a9

  8. Fabrizio Carcillo, Yann-Ael Le Borgne, Olivier Caelen, Frederic Oble, Gianluca Bontempi Combining Unsupervised and Supervised Learning in Credit Card Fraud Detection Information Sciences, 2019\u00a0\u21a9

"},{"location":"api/datasets/Elec2/","title":"Elec2","text":"

Electricity prices in New South Wales.

This is a binary classification task, where the goal is to predict if the price of electricity will go up or down.

This data was collected from the Australian New South Wales Electricity Market. In this market, prices are not fixed and are affected by demand and supply of the market. They are set every five minutes. Electricity transfers to/from the neighboring state of Victoria were done to alleviate fluctuations.

"},{"location":"api/datasets/Elec2/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Elec2/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. SPLICE-2 Comparative Evaluation: Electricity Pricing \u21a9

  2. DataHub description \u21a9

"},{"location":"api/datasets/HTTP/","title":"HTTP","text":"

HTTP dataset of the KDD 1999 cup.

The goal is to predict whether or not an HTTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

"},{"location":"api/datasets/HTTP/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/HTTP/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. HTTP (KDDCUP99) dataset \u21a9

"},{"location":"api/datasets/Higgs/","title":"Higgs","text":"

Higgs dataset.

The data has been produced using Monte Carlo simulations. The first 21 features (columns 2-22) are kinematic properties measured by the particle detectors in the accelerator. The last seven features are functions of the first 21 features; these are high-level features derived by physicists to help discriminate between the two classes.

"},{"location":"api/datasets/Higgs/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Higgs/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/ImageSegments/","title":"ImageSegments","text":"

Image segments classification.

This dataset contains features that describe image segments into 7 classes: brickface, sky, foliage, cement, window, path, and grass.

"},{"location":"api/datasets/ImageSegments/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/ImageSegments/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/Insects/","title":"Insects","text":"

Insects dataset.

This dataset has different variants, which are:

  • abrupt_balanced

  • abrupt_imbalanced

  • gradual_balanced

  • gradual_imbalanced

  • incremental-abrupt_balanced

  • incremental-abrupt_imbalanced

  • incremental-reoccurring_balanced

  • incremental-reoccurring_imbalanced

  • incremental_balanced

  • incremental_imbalanced

  • out-of-control

The number of samples and the difficulty change from one variant to another. The number of classes is always the same (6), except for the last variant (24).

"},{"location":"api/datasets/Insects/#parameters","title":"Parameters","text":"
  • variant

    Default \u2192 abrupt_balanced

    Indicates which variant of the dataset to load.

"},{"location":"api/datasets/Insects/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Insects/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. USP DS repository \u21a9

  2. Souza, V., Reis, D.M.D., Maletzke, A.G. and Batista, G.E., 2020. Challenges in Benchmarking Stream Learning Algorithms with Real-world Data. arXiv preprint arXiv:2005.00113. \u21a9

"},{"location":"api/datasets/Keystroke/","title":"Keystroke","text":"

CMU keystroke dataset.

Users are tasked to type in a password. The task is to determine which user is typing in the password.

The only difference with the original dataset is that the \"sessionIndex\" and \"rep\" attributes have been dropped.

"},{"location":"api/datasets/Keystroke/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Keystroke/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Keystroke Dynamics - Benchmark Data Set \u21a9

"},{"location":"api/datasets/MaliciousURL/","title":"MaliciousURL","text":"

Malicious URLs dataset.

This dataset contains features about URLs that are classified as malicious or not.

"},{"location":"api/datasets/MaliciousURL/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/MaliciousURL/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Detecting Malicious URLs \u21a9

  2. Identifying Suspicious URLs: An Application of Large-Scale Online Learning \u21a9

"},{"location":"api/datasets/MovieLens100K/","title":"MovieLens100K","text":"

MovieLens 100K dataset.

MovieLens datasets were collected by the GroupLens Research Project at the University of Minnesota. This dataset consists of 100,000 ratings (1-5) from 943 users on 1682 movies. Each user has rated at least 20 movies. User and movie information are provided. The data was collected through the MovieLens web site (movielens.umn.edu) during the seven-month period from September 19th, 1997 through April 22nd, 1998.

"},{"location":"api/datasets/MovieLens100K/#parameters","title":"Parameters","text":"
  • unpack_user_and_item

    Default \u2192 False

    Whether or not the user and item should be extracted from the context and included as extra keyword arguments.

"},{"location":"api/datasets/MovieLens100K/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/MovieLens100K/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. The MovieLens Datasets: History and Context \u21a9

"},{"location":"api/datasets/Music/","title":"Music","text":"

Multi-label music mood prediction.

The goal is to predict to which kinds of moods a song pertains to.

"},{"location":"api/datasets/Music/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Music/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Read, J., Reutemann, P., Pfahringer, B. and Holmes, G., 2016. MEKA: a multi-label/multi-target extension to WEKA. The Journal of Machine Learning Research, 17(1), pp.667-671. \u21a9

"},{"location":"api/datasets/Phishing/","title":"Phishing","text":"

Phishing websites.

This dataset contains features from web pages that are classified as phishing or not.

"},{"location":"api/datasets/Phishing/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/Phishing/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/Restaurants/","title":"Restaurants","text":"

Data from the Kaggle Recruit Restaurants challenge.

The goal is to predict the number of visitors in each of 829 Japanese restaurants over a priod of roughly 16 weeks. The data is ordered by date and then by restaurant ID.

"},{"location":"api/datasets/Restaurants/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Restaurants/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Recruit Restaurant Visitor Forecasting \u21a9

"},{"location":"api/datasets/SMSSpam/","title":"SMSSpam","text":"

SMS Spam Collection dataset.

The data contains 5,574 items and 1 feature (i.e. SMS body). Spam messages represent 13.4% of the dataset. The goal is to predict whether an SMS is a spam or not.

"},{"location":"api/datasets/SMSSpam/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/SMSSpam/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Almeida, T.A., Hidalgo, J.M.G. and Yamakami, A., 2011, September. Contributions to the study of SMS spam filtering: new collection and results. In Proceedings of the 11th ACM symposium on Document engineering (pp. 259-262). \u21a9

"},{"location":"api/datasets/SMTP/","title":"SMTP","text":"

SMTP dataset from the KDD 1999 cup.

The goal is to predict whether or not an SMTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

"},{"location":"api/datasets/SMTP/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/SMTP/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. SMTP (KDDCUP99) dataset \u21a9

"},{"location":"api/datasets/SolarFlare/","title":"SolarFlare","text":"

Solar flare multi-output regression.

"},{"location":"api/datasets/SolarFlare/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/SolarFlare/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/TREC07/","title":"TREC07","text":"

TREC's 2007 Spam Track dataset.

The data contains 75,419 chronologically ordered items, i.e. 3 months of emails delivered to a particular server in 2007. Spam messages represent 66.6% of the dataset. The goal is to predict whether an email is a spam or not.

The available raw features are: sender, recipients, date, subject, body.

"},{"location":"api/datasets/TREC07/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/TREC07/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. TREC 2007 Spam Track Overview \u21a9

  2. Code ran to parse the dataset \u21a9

"},{"location":"api/datasets/Taxis/","title":"Taxis","text":"

Taxi ride durations in New York City.

The goal is to predict the duration of taxi rides in New York City.

"},{"location":"api/datasets/Taxis/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Taxis/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. New York City Taxi Trip Duration competition on Kaggle \u21a9

"},{"location":"api/datasets/TrumpApproval/","title":"TrumpApproval","text":"

Donald Trump approval ratings.

This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald Trump's approval ratings. It contains 5 features, which are approval ratings collected by 5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of this task is to see if we can reproduce FiveThirtyEight's model.

"},{"location":"api/datasets/TrumpApproval/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/TrumpApproval/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Trump Approval Ratings \u21a9

"},{"location":"api/datasets/WaterFlow/","title":"WaterFlow","text":"

Water flow through a pipeline branch.

The series includes hourly values for about 2 months, March 2022 to May 2022. The values are expressed in liters per second. There are four anomalous segments in the series:

  • 3 \"low value moments\": this is due to water losses or human intervention for maintenance * A small peak in the water inflow after the first 2 segments: this is due to a pumping operation into the main pipeline, when more water pressure is needed

This dataset is well suited for time series forecasting models, as well as anomaly detection methods. Ideally, the goal is to build a time series forecasting model that is robust to the anomalous segments.

This data has been kindly donated by the Tecnojest s.r.l. company (www.invidea.it) from Italy.

"},{"location":"api/datasets/WaterFlow/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/WaterFlow/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/WebTraffic/","title":"WebTraffic","text":"

Web sessions information from an events company based in South Africa.

The goal is to predict the number of web sessions in 4 different regions in South Africa.

The data consists of 15 minute interval traffic values between '2023-06-16 00:00:00' and '2023-09-15 23:45:00' for each region. Two types of sessions are captured sessionsA and sessionsB. The isMissing flag is equal to 1 if any of the servers failed to capture sessions, otherwise if all servers functioned properly this flag is equal to 0.

Things to consider:

  • region R5 captures sessions in backup mode. Strictly speaking, R5 is not necessary to predict. * Can sessionsA and sessionsB events be predicted accurately for each region over the next day (next 96 intervals)? * What is the best way to deal with the missing values? * How can model selection be used (a multi-model approach)? * Can dependence (correlation) between regions be utilised for more accurate predictions? * Can both sessionA and sessionB be predicted simultaneously with one model?

This dataset is well suited for time series forecasting models, as well as anomaly detection methods. Ideally, the goal is to build a time series forecasting model that is robust to the anomalous events and generalise well on normal operating conditions.

"},{"location":"api/datasets/WebTraffic/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/WebTraffic/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/Dataset/","title":"Dataset","text":"

Base class for all datasets.

All datasets inherit from this class, be they stored in a file or generated on the fly.

"},{"location":"api/datasets/base/Dataset/#parameters","title":"Parameters","text":"
  • task

    Type of task the dataset is meant for. Should be one of the following: - \"Regression\" - \"Binary classification\" - \"Multi-class classification\" - \"Multi-output binary classification\" - \"Multi-output regression\"

  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/datasets/base/Dataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/base/Dataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/FileDataset/","title":"FileDataset","text":"

Base class for datasets that are stored in a local file.

Small datasets that are part of the river package inherit from this class.

"},{"location":"api/datasets/base/FileDataset/#parameters","title":"Parameters","text":"
  • filename

    The file's name.

  • directory

    Default \u2192 None

    The directory where the file is contained. Defaults to the location of the datasets module.

  • desc

    Extra dataset parameters to pass as keyword arguments.

"},{"location":"api/datasets/base/FileDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/base/FileDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/RemoteDataset/","title":"RemoteDataset","text":"

Base class for datasets that are stored in a remote file.

Medium and large datasets that are not part of the river package inherit from this class.

The filename doesn't have to be provided if unpack is False. Indeed in the latter case the filename will be inferred from the URL.

"},{"location":"api/datasets/base/RemoteDataset/#parameters","title":"Parameters","text":"
  • url

    The URL the dataset is located at.

  • size

    The expected download size.

  • unpack

    Default \u2192 True

    Whether to unpack the download or not.

  • filename

    Default \u2192 None

    An optional name to given to the file if the file is unpacked.

  • desc

    Extra dataset parameters to pass as keyword arguments.

"},{"location":"api/datasets/base/RemoteDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/base/RemoteDataset/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/SyntheticDataset/","title":"SyntheticDataset","text":"

A synthetic dataset.

"},{"location":"api/datasets/base/SyntheticDataset/#parameters","title":"Parameters","text":"
  • task

    Type of task the dataset is meant for. Should be one of: - \"Regression\" - \"Binary classification\" - \"Multi-class classification\" - \"Multi-output binary classification\" - \"Multi-output regression\"

  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/datasets/base/SyntheticDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/base/SyntheticDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Agrawal/","title":"Agrawal","text":"

Agrawal stream generator.

The generator was introduced by Agrawal et al. 1, and was a common source of data for early work on scaling up decision tree learners. The generator produces a stream containing nine features, six numeric and three categorical. There are 10 functions defined for generating binary class labels from the features. Presumably these determine whether the loan should be approved. Classification functions are listed in the original paper 1.

Feature | Description | Values

  • salary | salary | uniformly distributed from 20k to 150k

  • commission | commission | 0 if salary < 75k else uniformly distributed from 10k to 75k

  • age | age | uniformly distributed from 20 to 80

  • elevel | education level | uniformly chosen from 0 to 4

  • car | car maker | uniformly chosen from 1 to 20

  • zipcode | zip code of the town | uniformly chosen from 0 to 8

  • hvalue | house value | uniformly distributed from 50k x zipcode to 100k x zipcode

  • hyears | years house owned | uniformly distributed from 1 to 30

  • loan | total loan amount | uniformly distributed from 0 to 500k

"},{"location":"api/datasets/synth/Agrawal/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    The classification function to use for the generation. Valid values are from 0 to 9.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    If True, the class distribution will converge to a uniform distribution.

  • perturbation

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. Each new sample will be perturbed by the magnitude of perturbation. Valid values are in the range [0.0 to 1.0].

"},{"location":"api/datasets/synth/Agrawal/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Agrawal/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Agrawal(\n    classification_function=0,\n    seed=42\n)\n\ndataset\n
Synthetic data generator\n<BLANKLINE>\n    Name  Agrawal\n    Task  Binary classification\n Samples  \u221e\nFeatures  9\n Outputs  1\n Classes  2\n  Sparse  False\n<BLANKLINE>\nConfiguration\n-------------\nclassification_function  0\n                   seed  42\n        balance_classes  False\n           perturbation  0.0\n

for x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[103125.4837, 0, 21, 2, 8, 3, 319768.9642, 4, 338349.7437] 1\n[135983.3438, 0, 25, 4, 14, 0, 423837.7755, 7, 116330.4466] 1\n[98262.4347, 0, 55, 1, 18, 6, 144088.1244, 19, 139095.3541] 0\n[133009.0417, 0, 68, 1, 14, 5, 233361.4025, 7, 478606.5361] 1\n[63757.2908, 16955.9382, 26, 2, 12, 4, 522851.3093, 24, 229712.4398] 1\n

"},{"location":"api/datasets/synth/Agrawal/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function randomly.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Agrawal/#notes","title":"Notes","text":"

The sample generation works as follows: The 9 features are generated with the random generator, initialized with the seed passed by the user. Then, the classification function decides, as a function of all the attributes, whether to classify the instance as class 0 or class 1. The next step is to verify if the classes should be balanced, and if so, balance the classes. Finally, add noise if perturbation > 0.0.

  1. Rakesh Agrawal, Tomasz Imielinksi, and Arun Swami. \"Database Mining: A Performance Perspective\", IEEE Transactions on Knowledge and Data Engineering, 5(6), December 1993.\u00a0\u21a9\u21a9

"},{"location":"api/datasets/synth/AnomalySine/","title":"AnomalySine","text":"

Simulate a stream with anomalies in sine waves.

The amount of data generated by this generator is finite.

The data generated corresponds to sine and cosine functions. Anomalies are induced by replacing the cosine values with values from a different a sine function. The contextual flag can be used to introduce contextual anomalies which are values in the normal global range, but abnormal compared to the seasonal pattern. Contextual attributes are introduced by replacing cosine entries with sine values.

The target indicates whether or not the instances are anomalous.

"},{"location":"api/datasets/synth/AnomalySine/#parameters","title":"Parameters","text":"
  • n_samples

    Type \u2192 int

    Default \u2192 10000

    The number of samples to generate. This generator creates a batch of data affected by contextual anomalies and noise.

  • n_anomalies

    Type \u2192 int

    Default \u2192 2500

    Number of anomalies. Can't be larger than n_samples.

  • contextual

    Type \u2192 bool

    Default \u2192 False

    If True, will add contextual anomalies.

  • n_contextual

    Type \u2192 int

    Default \u2192 2500

    Number of contextual anomalies. Can't be larger than n_samples.

  • shift

    Type \u2192 int

    Default \u2192 4

    Shift in number of samples applied when retrieving contextual anomalies.

  • noise

    Type \u2192 float

    Default \u2192 0.5

    Amount of noise.

  • replace

    Type \u2192 bool

    Default \u2192 True

    If True, anomalies are randomly sampled with replacement.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/datasets/synth/AnomalySine/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/AnomalySine/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.AnomalySine(\n    seed=12345,\n    n_samples=100,\n    n_anomalies=25,\n    contextual=True,\n    n_contextual=10\n)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'sine': -0.7119, 'cosine': 0.8777} False\n{'sine': 0.8792, 'cosine': -0.0290} False\n{'sine': 0.0440, 'cosine': 3.0852} True\n{'sine': 0.5520, 'cosine': 3.4515} True\n{'sine': 0.8037, 'cosine': 0.4027} False\n

"},{"location":"api/datasets/synth/AnomalySine/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/ConceptDriftStream/","title":"ConceptDriftStream","text":"

Generates a stream with concept drift.

A stream generator that adds concept drift or change by joining two streams. This is done by building a weighted combination of two pure distributions that characterizes the target concepts before and after the change.

The sigmoid function is an elegant and practical solution to define the probability that each new instance of the stream belongs to the new concept after the drift. The sigmoid function introduces a gradual, smooth transition whose duration is controlled with two parameters:

  • \\(p\\), the position of the change.

  • \\(w\\), the width of the transition.

The sigmoid function at sample \\(t\\) is

\\[f(t) = 1/(1+e^{-4(t-p)/w})\\]"},{"location":"api/datasets/synth/ConceptDriftStream/#parameters","title":"Parameters","text":"
  • stream

    Type \u2192 datasets.base.SyntheticDataset | None

    Default \u2192 None

    Original stream

  • drift_stream

    Type \u2192 datasets.base.SyntheticDataset | None

    Default \u2192 None

    Drift stream

  • position

    Type \u2192 int

    Default \u2192 5000

    Central position of the concept drift change.

  • width

    Type \u2192 int

    Default \u2192 1000

    Width of concept drift change.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • alpha

    Type \u2192 float | None

    Default \u2192 None

    Angle of change used to estimate the width of concept drift change. If set, it will override the width parameter. Valid values are in the range (0.0, 90.0].

"},{"location":"api/datasets/synth/ConceptDriftStream/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/ConceptDriftStream/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.ConceptDriftStream(\n    stream=synth.SEA(seed=42, variant=0),\n    drift_stream=synth.SEA(seed=42, variant=1),\n    seed=1, position=5, width=2\n)\n\nfor x, y in dataset.take(10):\n    print(x, y)\n
{0: 6.3942, 1: 0.2501, 2: 2.7502} False\n{0: 2.2321, 1: 7.3647, 2: 6.7669} True\n{0: 8.9217, 1: 0.8693, 2: 4.2192} True\n{0: 0.2979, 1: 2.1863, 2: 5.0535} False\n{0: 6.3942, 1: 0.2501, 2: 2.7502} False\n{0: 2.2321, 1: 7.3647, 2: 6.7669} True\n{0: 8.9217, 1: 0.8693, 2: 4.2192} True\n{0: 0.2979, 1: 2.1863, 2: 5.0535} False\n{0: 0.2653, 1: 1.9883, 2: 6.4988} False\n{0: 5.4494, 1: 2.2044, 2: 5.8926} False\n

"},{"location":"api/datasets/synth/ConceptDriftStream/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/ConceptDriftStream/#notes","title":"Notes","text":"

An optional way to estimate the width of the transition \\(w\\) is based on the angle \\(\\alpha\\), \\(w = 1/ tan(\\alpha)\\). Since width corresponds to the number of samples for the transition, the width is rounded to the nearest smaller integer. Notice that larger values of \\(\\alpha\\) result in smaller widths. For \\(\\alpha > 45.0\\), the width is smaller than 1 so values are rounded to 1 to avoid division by zero errors.

"},{"location":"api/datasets/synth/Friedman/","title":"Friedman","text":"

Friedman synthetic dataset.

Each observation is composed of 10 features. Each feature value is sampled uniformly in [0, 1]. The target is defined by the following function:

\\[y = 10 sin(\\pi x_0 x_1) + 20 (x_2 - 0.5)^2 + 10 x_3 + 5 x_4 + \\epsilon\\]

In the last expression, \\(\\epsilon \\sim \\mathcal{N}(0, 1)\\), is the noise. Therefore, only the first 5 features are relevant.

"},{"location":"api/datasets/synth/Friedman/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Friedman/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Friedman/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Friedman(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 7.04\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 8.90\n

"},{"location":"api/datasets/synth/Friedman/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Friedman, J.H., 1991. Multivariate adaptive regression splines. The annals of statistics, pp.1-67. \u21a9

"},{"location":"api/datasets/synth/FriedmanDrift/","title":"FriedmanDrift","text":"

Friedman synthetic dataset with concept drifts.

Each observation is composed of 10 features. Each feature value is sampled uniformly in [0, 1]. Only the first 5 features are relevant. The target is defined by different functions depending on the type of the drift.

The three available modes of operation of the data generator are described in 1.

"},{"location":"api/datasets/synth/FriedmanDrift/#parameters","title":"Parameters","text":"
  • drift_type

    Type \u2192 str

    Default \u2192 lea

    The variant of concept drift. - 'lea': Local Expanding Abrupt drift. The concept drift appears in two distinct regions of the instance space, while the remaining regions are left unaltered. There are three points of abrupt change in the training dataset. At every consecutive change the regions of drift are expanded. - 'gra': Global Recurring Abrupt drift. The concept drift appears over the whole instance space. There are two points of concept drift. At the second point of drift the old concept reoccurs. - 'gsg': Global and Slow Gradual drift. The concept drift affects all the instance space. However, the change is gradual and not abrupt. After each one of the two change points covered by this variant, and during a window of length transition_window, examples from both old and the new concepts are generated with equal probability. After the transition period, only the examples from the new concept are generated.

  • position

    Type \u2192 tuple[int, ...]

    Default \u2192 (50000, 100000, 150000)

    The amount of monitored instances after which each concept drift occurs. A tuple with at least two element must be passed, where each number is greater than the preceding one. If drift_type='lea', then the tuple must have three elements.

  • transition_window

    Type \u2192 int

    Default \u2192 10000

    The length of the transition window between two concepts. Only applicable when drift_type='gsg'. If set to zero, the drifts will be abrupt. Anytime transition_window > 0, it defines a window in which instances of the new concept are gradually introduced among the examples from the old concept. During this transition phase, both old and new concepts appear with equal probability.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/FriedmanDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/FriedmanDrift/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.FriedmanDrift(\n    drift_type='lea',\n    position=(1, 2, 3),\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 7.04\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] -2.65\n

dataset = synth.FriedmanDrift(\n    drift_type='gra',\n    position=(2, 3),\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 8.96\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 8.90\n

dataset = synth.FriedmanDrift(\n    drift_type='gsg',\n    position=(1, 4),\n    transition_window=2,\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 8.92\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 17.32\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 6.05\n

"},{"location":"api/datasets/synth/FriedmanDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Ikonomovska, E., Gama, J. and D\u017eeroski, S., 2011. Learning model trees from evolving data streams. Data mining and knowledge discovery, 23(1), pp.128-168.\u00a0\u21a9

"},{"location":"api/datasets/synth/Hyperplane/","title":"Hyperplane","text":"

Hyperplane stream generator.

Generates a problem of prediction class of a rotation hyperplane. It was used as testbed for CVFDT and VFDT in 1.

A hyperplane in d-dimensional space is the set of points \\(x\\) that satisfy

\\[\\sum^{d}_{i=1} w_i x_i = w_0 = \\sum^{d}_{i=1} w_i\\]

where \\(x_i\\) is the i-th coordinate of \\(x\\).

  • Examples for which \\(\\sum^{d}_{i=1} w_i x_i > w_0\\), are labeled positive.

  • Examples for which \\(\\sum^{d}_{i=1} w_i x_i \\leq w_0\\), are labeled negative.

Hyperplanes are useful for simulating time-changing concepts because we can change the orientation and position of the hyperplane in a smooth manner by changing the relative size of the weights. We introduce change to this dataset by adding drift to each weighted feature \\(w_i = w_i + d \\sigma\\), where \\(\\sigma\\) is the probability that the direction of change is reversed and \\(d\\) is the change applied to each example.

"},{"location":"api/datasets/synth/Hyperplane/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of attributes to generate. Higher than 2.

  • n_drift_features

    Type \u2192 int

    Default \u2192 2

    The number of attributes with drift. Higher than 2.

  • mag_change

    Type \u2192 float

    Default \u2192 0.0

    Magnitude of the change for every example. From 0.0 to 1.0.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.05

    Percentage of noise to add to the data. From 0.0 to 1.0.

  • sigma

    Type \u2192 float

    Default \u2192 0.1

    Probability that the direction of change is reversed. From 0.0 to 1.0.

"},{"location":"api/datasets/synth/Hyperplane/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Hyperplane/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Hyperplane(seed=42, n_features=2)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 0.2750, 1: 0.2232} 0\n{0: 0.0869, 1: 0.4219} 1\n{0: 0.0265, 1: 0.1988} 0\n{0: 0.5892, 1: 0.8094} 0\n{0: 0.3402, 1: 0.1554} 0\n

"},{"location":"api/datasets/synth/Hyperplane/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Hyperplane/#notes","title":"Notes","text":"

The sample generation works as follows: The features are generated with the random number generator, initialized with the seed passed by the user. Then the classification function decides, as a function of the sum of the weighted features and the sum of the weights, whether the instance belongs to class 0 or class 1. The last step is to add noise and generate drift.

  1. G. Hulten, L. Spencer, and P. Domingos. Mining time-changing data streams. In KDD'01, pages 97-106, San Francisco, CA, 2001. ACM Press.\u00a0\u21a9

"},{"location":"api/datasets/synth/LED/","title":"LED","text":"

LED stream generator.

This data source originates from the CART book 1. An implementation in C was donated to the UCI 2 machine learning repository by David Aha. The goal is to predict the digit displayed on a seven-segment LED display, where each attribute has a 10% chance of being inverted. It has an optimal Bayes classification rate of 74%. The particular configuration of the generator used for experiments (LED) produces 24 binary attributes, 17 of which are irrelevant.

"},{"location":"api/datasets/synth/LED/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. At each new sample generated, a random number is generated, and if it is equal or less than the noise_percentage, the led value will be switched

  • irrelevant_features

    Type \u2192 bool

    Default \u2192 False

    Adds 17 non-relevant attributes to the stream.

"},{"location":"api/datasets/synth/LED/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/LED/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.LED(seed = 112, noise_percentage = 0.28, irrelevant_features= False)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1, 1: 0, 2: 1, 3: 0, 4: 0, 5: 1, 6: 0} 7\n{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 0} 8\n{0: 1, 1: 1, 2: 1, 3: 1, 4: 0, 5: 1, 6: 0} 9\n{0: 0, 1: 0, 2: 1, 3: 0, 4: 0, 5: 1, 6: 0} 1\n{0: 0, 1: 1, 2: 1, 3: 0, 4: 0, 5: 0, 6: 0} 1\n

"},{"location":"api/datasets/synth/LED/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/LED/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. If has_noise is set then the total number of attributes will be 24, otherwise there will be 7 attributes.

  1. Leo Breiman, Jerome Friedman, R. Olshen, and Charles J. Stone. Classification and Regression Trees. Wadsworth and Brooks, Monterey, CA,1984.\u00a0\u21a9

  2. A. Asuncion and D. J. Newman. UCI Machine Learning Repository [http://www.ics.uci.edu/~mlearn/mlrepository.html]. University of California, Irvine, School of Information and Computer Sciences,2007.\u00a0\u21a9

"},{"location":"api/datasets/synth/LEDDrift/","title":"LEDDrift","text":"

LED stream generator with concept drift.

This class is an extension of the LED generator whose purpose is to add concept drift to the stream.

"},{"location":"api/datasets/synth/LEDDrift/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. At each new sample generated, a random number is generated, and if it is equal or less than the noise_percentage, the led value will be switched

  • irrelevant_features

    Type \u2192 bool

    Default \u2192 False

    Adds 17 non-relevant attributes to the stream.

  • n_drift_features

    Type \u2192 int

    Default \u2192 0

    The number of attributes that have drift.

"},{"location":"api/datasets/synth/LEDDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/LEDDrift/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.LEDDrift(seed = 112, noise_percentage = 0.28,\n                         irrelevant_features= True, n_drift_features=4)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1] 7\n[1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0] 6\n[0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1] 1\n[1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1] 6\n[1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0] 7\n

"},{"location":"api/datasets/synth/LEDDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/LEDDrift/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. If has_noise is set then the total number of attributes will be 24, otherwise there will be 7 attributes.

"},{"location":"api/datasets/synth/Logical/","title":"Logical","text":"

Logical functions stream generator.

Make a toy dataset with three labels that represent the logical functions: OR, XOR, AND (functions of the 2D input).

Data is generated in 'tiles' which contain the complete set of logical operations results. The tiles are repeated n_tiles times. Optionally, the generated data can be shuffled.

"},{"location":"api/datasets/synth/Logical/#parameters","title":"Parameters","text":"
  • n_tiles

    Type \u2192 int

    Default \u2192 1

    Number of tiles to generate.

  • shuffle

    Type \u2192 bool

    Default \u2192 True

    If set, generated data will be shuffled.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/datasets/synth/Logical/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Logical/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Logical(n_tiles=2, shuffle=True, seed=42)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'A': 1, 'B': 1} {'OR': 1, 'XOR': 0, 'AND': 1}\n{'A': 0, 'B': 0} {'OR': 0, 'XOR': 0, 'AND': 0}\n{'A': 1, 'B': 0} {'OR': 1, 'XOR': 1, 'AND': 0}\n{'A': 1, 'B': 1} {'OR': 1, 'XOR': 0, 'AND': 1}\n{'A': 1, 'B': 0} {'OR': 1, 'XOR': 1, 'AND': 0}\n

"},{"location":"api/datasets/synth/Logical/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Mixed/","title":"Mixed","text":"

Mixed data stream generator.

This generator is an implementation of a data stream with abrupt concept drift and boolean noise-free examples as described in 1.

It has four relevant attributes, two boolean attributes \\(v, w\\) and two numeric attributes \\(x, y\\) uniformly distributed from 0 to 1. The examples are labeled depending on the classification function chosen from below.

  • function 0: if \\(v\\) and \\(w\\) are true or \\(v\\) and \\(z\\) are true or \\(w\\) and \\(z\\) are true then 0 else 1, where \\(z\\) is \\(y < 0.5 + 0.3 sin(3 \\pi x)\\)

  • function 1: The opposite of function 0.

Concept drift can be introduced by changing the classification function. This can be done manually or using ConceptDriftStream.

"},{"location":"api/datasets/synth/Mixed/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Which of the two classification functions to use for the generation. Valid options are 0 or 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to a uniform distribution.

"},{"location":"api/datasets/synth/Mixed/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Mixed/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.Mixed(seed = 42, classification_function=1, balance_classes = True)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: True, 1: False, 2: 0.2750, 3: 0.2232} 1\n{0: False, 1: False, 2: 0.2186, 3: 0.5053} 0\n{0: False, 1: True, 2: 0.8094, 3: 0.0064} 1\n{0: False, 1: False, 2: 0.1010, 3: 0.2779} 0\n{0: True, 1: False, 2: 0.37018, 3: 0.2095} 1\n

"},{"location":"api/datasets/synth/Mixed/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Mixed/#notes","title":"Notes","text":"

The sample generation works as follows: The two numeric attributes are generated with the random generator initialized with the seed passed by the user (optional). The boolean attributes are either 0 or 1 based on the comparison of the random number generator and 0.5, the classification function decides whether to classify the instance as class 0 or class 1. The next step is to verify if the classes should be balanced, and if so, balance the classes.

The generated sample will have 4 relevant features and 1 label (it is a binary-classification task).

  1. Gama, Joao, et al. \"Learning with drift detection.\" Advances in artificial intelligence-SBIA 2004. Springer Berlin Heidelberg, 2004. 286-295\"\u00a0\u21a9

"},{"location":"api/datasets/synth/Mv/","title":"Mv","text":"

Mv artificial dataset.

Artificial dataset composed of both nominal and numeric features, whose features present co-dependencies. Originally described in 1.

The features are generated using the following expressions:

  • \\(x_1\\): uniformly distributed over [-5, 5].

  • \\(x_2\\): uniformly distributed over [-15, -10].

  • \\(x_3\\):

    • if \\(x_1 > 0\\), \\(x_3 \\leftarrow\\) 'green'

    • else \\(x_3 \\leftarrow\\) 'red' with probability \\(0.4\\) and \\(x_3 \\leftarrow\\) 'brown' with probability \\(0.6\\).

  • \\(x_4\\):

    • if \\(x_3 =\\) 'green', \\(x_4 \\leftarrow x_1 + 2 x_2\\)

    • else \\(x_4 = \\frac{x_1}{2}\\) with probability \\(0.3\\) and \\(x_4 = \\frac{x_2}{2}\\) with probability \\(0.7\\).

  • \\(x_5\\): uniformly distributed over [-1, 1].

  • \\(x_6 \\leftarrow x_4 \\times \\epsilon\\), where \\(\\epsilon\\) is uniformly distributed

over [0, 5].

  • \\(x_7\\): 'yes' with probability \\(0.3\\), and 'no' with probability \\(0.7\\).

  • \\(x_8\\): 'normal' if \\(x_5 < 0.5\\) else 'large'.

  • \\(x_9\\): uniformly distributed over [100, 500].

  • \\(x_{10}\\): uniformly distributed integer over the interval [1000, 1200].

The target value is generated using the following rules:

  • if \\(x_2 > 2\\), \\(y \\leftarrow 35 - 0.5 x_4\\)

  • else if \\(-2 \\le x_4 \\le 2\\), \\(y \\leftarrow 10 - 2 x_1\\)

  • else if \\(x_7 =\\) 'yes', \\(y \\leftarrow 3 - \\frac{x_1}{x_4}\\)

  • else if \\(x_8 =\\) 'normal', \\(y \\leftarrow x_6 + x_1\\)

  • else \\(y \\leftarrow \\frac{x_1}{2}\\).

"},{"location":"api/datasets/synth/Mv/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Mv/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Mv/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Mv(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[1.39, -14.87, 'green', -28.35, -0.44, -31.64, 'no', 'normal', 370.67, 1178.43] -30.25\n[-4.13, -12.89, 'red', -2.06, 0.01, -0.27, 'yes', 'normal', 359.95, 1108.98] 1.00\n[-2.79, -12.05, 'brown', -1.39, 0.61, -4.87, 'no', 'large', 162.19, 1191.44] 15.59\n[-1.63, -14.53, 'red', -7.26, 0.20, -29.33, 'no', 'normal', 314.49, 1194.62] -30.96\n[-1.21, -12.23, 'brown', -6.11, 0.72, -17.66, 'no', 'large', 118.32, 1045.57] -0.60\n

"},{"location":"api/datasets/synth/Mv/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Mv in Lu\u00eds Torgo regression datasets \u21a9

"},{"location":"api/datasets/synth/Planes2D/","title":"Planes2D","text":"

2D Planes synthetic dataset.

This dataset is described in 1 and was adapted from 2. The features are generated using the following probabilities:

\\[P(x_1 = -1) = P(x_1 = 1) = \\frac{1}{2}\\] \\[P(x_m = -1) = P(x_m = 0) = P(x_m = 1) = \\frac{1}{3}, m=2,\\ldots, 10\\]

The target value is defined by the following rule:

\\[\\text{if}~x_1 = 1, y \\leftarrow 3 + 3x_2 + 2x_3 + x_4 + \\epsilon\\] \\[\\text{if}~x_1 = -1, y \\leftarrow -3 + 3x_5 + 2x_6 + x_7 + \\epsilon\\]

In the expressions, \\(\\epsilon \\sim \\mathcal{N}(0, 1)\\), is the noise.

"},{"location":"api/datasets/synth/Planes2D/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Planes2D/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Planes2D/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Planes2D(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[-1, -1, 1, 0, -1, -1, -1, 1, -1, 1] -9.07\n[1, -1, -1, -1, -1, -1, 1, 1, -1, 1] -4.25\n[-1, 1, 1, 1, 1, 0, -1, 0, 1, 0] -0.95\n[-1, 1, 0, 0, 0, -1, -1, 0, -1, -1] -6.10\n[1, -1, 0, 0, 1, 0, -1, 1, 0, 1] 1.60\n

"},{"location":"api/datasets/synth/Planes2D/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. 2DPlanes in Lu\u00eds Torgo regression datasets \u21a9

  2. Breiman, L., Friedman, J., Stone, C.J. and Olshen, R.A., 1984. Classification and regression trees. CRC press.\u00a0\u21a9

"},{"location":"api/datasets/synth/RandomRBF/","title":"RandomRBF","text":"

Random Radial Basis Function generator.

Produces a radial basis function stream. A number of centroids, having a random central position, a standard deviation, a class label and weight are generated. A new sample is created by choosing one of the centroids at random, taking into account their weights, and offsetting the attributes in a random direction from the centroid's center. The offset length is drawn from a Gaussian distribution.

This process will create a normally distributed hypersphere of samples on the surrounds of each centroid.

"},{"location":"api/datasets/synth/RandomRBF/#parameters","title":"Parameters","text":"
  • seed_model

    Type \u2192 int | None

    Default \u2192 None

    Model's random seed to generate centroids.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Sample's random seed.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of class labels to generate.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of numerical features to generate.

  • n_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids to generate.

"},{"location":"api/datasets/synth/RandomRBF/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomRBF/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.RandomRBF(seed_model=42, seed_sample=42,\n                          n_classes=4, n_features=4, n_centroids=20)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1.0989, 1: 0.3840, 2: 0.7759, 3: 0.6592} 2\n{0: 0.2366, 1: 1.3233, 2: 0.5691, 3: 0.2083} 0\n{0: 1.3540, 1: -0.3306, 2: 0.1683, 3: 0.8865} 0\n{0: 0.2585, 1: -0.2217, 2: 0.4739, 3: 0.6522} 0\n{0: 0.1295, 1: 0.5953, 2: 0.1774, 3: 0.6673} 1\n

"},{"location":"api/datasets/synth/RandomRBF/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/RandomRBFDrift/","title":"RandomRBFDrift","text":"

Random Radial Basis Function generator with concept drift.

This class is an extension from the RandomRBF generator. Concept drift can be introduced in instances of this class.

The drift is created by adding a \"speed\" to certain centroids. As the samples are generated each of the moving centroids' centers is changed by an amount determined by its speed.

"},{"location":"api/datasets/synth/RandomRBFDrift/#parameters","title":"Parameters","text":"
  • seed_model

    Type \u2192 int | None

    Default \u2192 None

    Model's random seed to generate centroids.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Sample's random seed.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of class labels to generate.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of numerical features to generate.

  • n_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids to generate.

  • change_speed

    Type \u2192 float

    Default \u2192 0.0

    The concept drift speed.

  • n_drift_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids that will drift.

"},{"location":"api/datasets/synth/RandomRBFDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomRBFDrift/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.RandomRBFDrift(seed_model=42, seed_sample=42,\n                               n_classes=4, n_features=4, n_centroids=20,\n                               change_speed=0.87, n_drift_centroids=10)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1.0989, 1: 0.3840, 2: 0.7759, 3: 0.6592} 2\n{0: 1.1496, 1: 1.9014, 2: 1.5393, 3: 0.3210} 0\n{0: 0.7146, 1: -0.2414, 2: 0.8933, 3: 1.6633} 0\n{0: 0.3797, 1: -0.1027, 2: 0.8717, 3: 1.1635} 0\n{0: 0.1295, 1: 0.5953, 2: 0.1774, 3: 0.6673} 1\n

"},{"location":"api/datasets/synth/RandomRBFDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/RandomTree/","title":"RandomTree","text":"

Random Tree generator.

This generator is based on 1. The generator creates a random tree by splitting features at random and setting labels at its leaves.

The tree structure is composed of node objects, which can be either inner nodes or leaf nodes. The choice comes as a function of the parameters passed to its initializer.

Since the concepts are generated and classified according to a tree structure, in theory, it should favor decision tree learners.

"},{"location":"api/datasets/synth/RandomTree/#parameters","title":"Parameters","text":"
  • seed_tree

    Type \u2192 int | None

    Default \u2192 None

    Seed for random generation of tree.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Seed for random generation of instances.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of classes to generate.

  • n_num_features

    Type \u2192 int

    Default \u2192 5

    The number of numerical features to generate.

  • n_cat_features

    Type \u2192 int

    Default \u2192 5

    The number of categorical features to generate.

  • n_categories_per_feature

    Type \u2192 int

    Default \u2192 5

    The number of values to generate per categorical feature.

  • max_tree_depth

    Type \u2192 int

    Default \u2192 5

    The maximum depth of the tree concept.

  • first_leaf_level

    Type \u2192 int

    Default \u2192 3

    The first level of the tree above max_tree_depth that can have leaves.

  • fraction_leaves_per_level

    Type \u2192 float

    Default \u2192 0.15

    The fraction of leaves per level from first_leaf_level onwards.

"},{"location":"api/datasets/synth/RandomTree/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomTree/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.RandomTree(seed_tree=42, seed_sample=42, n_classes=2,\n                           n_num_features=2, n_cat_features=2,\n                           n_categories_per_feature=2, max_tree_depth=6,\n                           first_leaf_level=3, fraction_leaves_per_level=0.15)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'x_num_0': 0.6394, 'x_num_1': 0.0250, 'x_cat_0': 1, 'x_cat_1': 0} 0\n{'x_num_0': 0.2232, 'x_num_1': 0.7364, 'x_cat_0': 0, 'x_cat_1': 1} 1\n{'x_num_0': 0.0317, 'x_num_1': 0.0936, 'x_cat_0': 0, 'x_cat_1': 0} 0\n{'x_num_0': 0.5612, 'x_num_1': 0.7160, 'x_cat_0': 1, 'x_cat_1': 0} 0\n{'x_num_0': 0.4492, 'x_num_1': 0.2781, 'x_cat_0': 0, 'x_cat_1': 0} 0\n

"},{"location":"api/datasets/synth/RandomTree/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Domingos, Pedro, and Geoff Hulten. \"Mining high-speed data streams.\" In Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 71-80. 2000.\u00a0\u21a9

"},{"location":"api/datasets/synth/SEA/","title":"SEA","text":"

SEA synthetic dataset.

Implementation of the data stream with abrupt drift described in 1. Each observation is composed of 3 features. Only the first two features are relevant. The target is binary, and is positive if the sum of the features exceeds a certain threshold. There are 4 thresholds to choose from. Concept drift can be introduced by switching the threshold anytime during the stream.

  • Variant 0: True if \\(att1 + att2 > 8\\)

  • Variant 1: True if \\(att1 + att2 > 9\\)

  • Variant 2: True if \\(att1 + att2 > 7\\)

  • Variant 3: True if \\(att1 + att2 > 9.5\\)

"},{"location":"api/datasets/synth/SEA/#parameters","title":"Parameters","text":"
  • variant

    Default \u2192 0

    Determines the classification function to use. Possible choices are 0, 1, 2, 3.

  • noise

    Default \u2192 0.0

    Determines the amount of observations for which the target sign will be flipped.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/SEA/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/SEA/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.SEA(variant=0, seed=42)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 6.39426, 1: 0.25010, 2: 2.75029} False\n{0: 2.23210, 1: 7.36471, 2: 6.76699} True\n{0: 8.92179, 1: 0.86938, 2: 4.21921} True\n{0: 0.29797, 1: 2.18637, 2: 5.05355} False\n{0: 0.26535, 1: 1.98837, 2: 6.49884} False\n

"},{"location":"api/datasets/synth/SEA/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. A Streaming Ensemble Algorithm (SEA) for Large-Scale Classification \u21a9

"},{"location":"api/datasets/synth/STAGGER/","title":"STAGGER","text":"

STAGGER concepts stream generator.

This generator is an implementation of the dara stream with abrupt concept drift, as described in 1.

The STAGGER concepts are boolean functions f with three features describing objects: size (small, medium and large), shape (circle, square and triangle) and colour (red, blue and green).

f options:

  1. True if the size is small and the color is red.

  2. True if the color is green or the shape is a circle.

  3. True if the size is medium or large

Concept drift can be introduced by changing the classification function. This can be done manually or using datasets.synth.ConceptDriftStream.

One important feature is the possibility to balance classes, which means the class distribution will tend to a uniform one.

"},{"location":"api/datasets/synth/STAGGER/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Classification functions to use. From 0 to 2.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to an uniform distribution.

"},{"location":"api/datasets/synth/STAGGER/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/STAGGER/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.STAGGER(classification_function = 2, seed = 112,\n                     balance_classes = False)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'size': 1, 'color': 2, 'shape': 2} 1\n{'size': 2, 'color': 1, 'shape': 2} 1\n{'size': 1, 'color': 1, 'shape': 2} 1\n{'size': 0, 'color': 1, 'shape': 0} 0\n{'size': 2, 'color': 1, 'shape': 0} 1\n

"},{"location":"api/datasets/synth/STAGGER/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function at random.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/STAGGER/#notes","title":"Notes","text":"

The sample generation works as follows: The 3 attributes are generated with the random number generator. The classification function defines whether to classify the instance as class 0 or class 1. Finally, data is balanced, if this option is set by the user.

  1. Schlimmer, J. C., & Granger, R. H. (1986). Incremental learning from noisy data. Machine learning, 1(3), 317-354.\u00a0\u21a9

"},{"location":"api/datasets/synth/Sine/","title":"Sine","text":"

Sine generator.

This generator is an implementation of the dara stream with abrupt concept drift, as described in Gama, Joao, et al. 1.

It generates up to 4 relevant numerical features, that vary from 0 to 1, where only 2 of them are relevant to the classification task and the other 2 are optionally added by as noise. A classification function is chosen among four options:

  1. SINE1. Abrupt concept drift, noise-free examples. It has two relevant attributes. Each attributes has values uniformly distributed in [0, 1]. In the first context all points below the curve \\(y = sin(x)\\) are classified as positive.

  2. Reversed SINE1. The reversed classification of SINE1.

  3. SINE2. The same two relevant attributes. The classification function is \\(y < 0.5 + 0.3 sin(3 \\pi x)\\).

  4. Reversed SINE2. The reversed classification of SINE2.

Concept drift can be introduced by changing the classification function. This can be done manually or using ConceptDriftStream.

Two important features are the possibility to balance classes, which means the class distribution will tend to a uniform one, and the possibility to add noise, which will, add two non relevant attributes.

"},{"location":"api/datasets/synth/Sine/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Classification functions to use. From 0 to 3.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to an uniform distribution.

  • has_noise

    Type \u2192 bool

    Default \u2192 False

    Adds 2 non relevant features to the stream.

"},{"location":"api/datasets/synth/Sine/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Sine/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Sine(classification_function = 2, seed = 112,\n                     balance_classes = False, has_noise = True)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 0.4812, 1: 0.6660, 2: 0.6198, 3: 0.6994} 1\n{0: 0.9022, 1: 0.7518, 2: 0.1625, 3: 0.2209} 0\n{0: 0.4547, 1: 0.3901, 2: 0.9629, 3: 0.7287} 0\n{0: 0.4683, 1: 0.3515, 2: 0.2273, 3: 0.6027} 0\n{0: 0.9238, 1: 0.1673, 2: 0.4522, 3: 0.3447} 0\n

"},{"location":"api/datasets/synth/Sine/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function at random.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Sine/#notes","title":"Notes","text":"

The sample generation works as follows: The two attributes are generated with the random number generator. The classification function defines whether to classify the instance as class 0 or class 1. Finally, data is balanced and noise is added, if these options are set by the user.

The generated sample will have 2 relevant features, and an additional two noise features if has_noise is set.

  1. Gama, Joao, et al.'s 'Learning with drift detection.' Advances in artificial intelligence-SBIA 2004. Springer Berlin Heidelberg, 2004. 286-295.\"\u00a0\u21a9

"},{"location":"api/datasets/synth/Waveform/","title":"Waveform","text":"

Waveform stream generator.

Generates samples with 21 numeric features and 3 classes, based on a random differentiation of some base waveforms. Supports noise addition, in this case the samples will have 40 features.

"},{"location":"api/datasets/synth/Waveform/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • has_noise

    Type \u2192 bool

    Default \u2192 False

    Adds 19 unrelated features to the stream.

"},{"location":"api/datasets/synth/Waveform/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Waveform/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Waveform(seed=42, has_noise=True)\n\nfor x, y in dataset:\n    break\n\nx\n
{0: -0.0397, 1: -0.7484, 2: 0.2974, 3: 0.3574, 4: -0.0735, 5: -0.3647, 6: 1.5631,     7: 2.5291, 8: 4.1599, 9: 4.9587, 10: 4.52587, 11: 4.0097, 12: 3.6705, 13: 1.7033,     14: 1.4898, 15: 1.9743, 16: 0.0898, 17: 2.319, 18: 0.2552, 19: -0.4775, 20: -0.71339,     21: 0.3770, 22: 0.3671, 23: 1.6579, 24: 0.7828, 25: 0.5855, 26: -0.5807, 27: 0.7112,     28: -0.0271, 29: 0.2968, 30: -0.4997, 31: 0.1302, 32: 0.3578, 33: -0.1900, 34: -0.3771,     35: 1.3560, 36: 0.7124, 37: -0.6245, 38: 0.1346, 39: 0.3550}\n

y\n
2\n

"},{"location":"api/datasets/synth/Waveform/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Waveform/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. The generator will randomly choose one of the hard coded waveforms, as well as random multipliers. For each feature, the actual value generated will be a a combination of the hard coded functions, with the multipliers and a random value.

If noise is added then the features 21 to 40 will be replaced with a random normal value.

"},{"location":"api/drift/ADWIN/","title":"ADWIN","text":"

Adaptive Windowing method for concept drift detection1.

ADWIN (ADaptive WINdowing) is a popular drift detection method with mathematical guarantees. ADWIN efficiently keeps a variable-length window of recent items; such that it holds that there has no been change in the data distribution. This window is further divided into two sub-windows \\((W_0, W_1)\\) used to determine if a change has happened. ADWIN compares the average of \\(W_0\\) and \\(W_1\\) to confirm that they correspond to the same distribution. Concept drift is detected if the distribution equality no longer holds. Upon detecting a drift, \\(W_0\\) is replaced by \\(W_1\\) and a new \\(W_1\\) is initialized. ADWIN uses a significance value \\(\\delta=\\in(0,1)\\) to determine if the two sub-windows correspond to the same distribution.

"},{"location":"api/drift/ADWIN/#parameters","title":"Parameters","text":"
  • delta

    Default \u2192 0.002

    Significance value.

  • clock

    Default \u2192 32

    How often ADWIN should check for changes. 1 means every new data point, default is 32. Higher values speed up processing, but may also lead to increased delay in change detection.

  • max_buckets

    Default \u2192 5

    The maximum number of buckets of each size that ADWIN should keep before merging buckets. The idea of data buckets comes from the compression algorithm introduced in the ADWIN2, the second iteration of the ADWIN algorithm presented in the original research paper. This is the ADWIN version available in River.

  • min_window_length

    Default \u2192 5

    The minimum length allowed for a subwindow when checking for concept drift. Subwindows whose size is smaller than this value will be ignored during concept drift evaluation. Lower values may decrease delay in change detection but may also lead to more false positives.

  • grace_period

    Default \u2192 10

    ADWIN does not perform any change detection until at least this many data points have arrived.

"},{"location":"api/drift/ADWIN/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • estimation

    Estimate of mean value in the window.

  • n_detections

    The total number of detected changes.

  • total

    The sum of the stored elements.

  • variance

    The sample variance within the stored (adaptive) window.

  • width

    Window size

"},{"location":"api/drift/ADWIN/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nadwin = drift.ADWIN()\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    adwin.update(val)\n    if adwin.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1023, input value: 4\n

"},{"location":"api/drift/ADWIN/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Apart from adding the element value to the window, by inserting it in the correct bucket, it will also update the relevant statistics, in this case the total sum of all values, the window width and the total variance.

Parameters

  • x \u2014 'int | float'

Returns

None: self

  1. Albert Bifet and Ricard Gavalda. \"Learning from time-changing data with adaptive windowing.\" In Proceedings of the 2007 SIAM international conference on data mining, pp. 443-448. Society for Industrial and Applied Mathematics, 2007.\u00a0\u21a9

"},{"location":"api/drift/DriftRetrainingClassifier/","title":"DriftRetrainingClassifier","text":"

Drift retraining classifier.

This classifier is a wrapper for any classifier. It monitors the incoming data for concept drifts and warnings in the model's accurary. In case a warning is detected, a background model starts to train. If a drift is detected, the model will be replaced by the background model, and the background model will be reset.

"},{"location":"api/drift/DriftRetrainingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier and background classifier class.

  • drift_detector

    Type \u2192 base.DriftAndWarningDetector | base.BinaryDriftAndWarningDetector | None

    Default \u2192 None

    Algorithm to track warnings and concept drifts. Attention! If the parameter train_in_background is True, the drift_detector must have a warning tracker.

  • train_in_background

    Type \u2192 bool

    Default \u2192 True

    Parameter to determine if a background model will be used.

"},{"location":"api/drift/DriftRetrainingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import drift\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Elec2().take(3000)\n\nmodel = drift.DriftRetrainingClassifier(\n    model=tree.HoeffdingTreeClassifier(),\n    drift_detector=drift.binary.DDM()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 86.46%\n

"},{"location":"api/drift/DriftRetrainingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/drift/DummyDriftDetector/","title":"DummyDriftDetector","text":"

Baseline drift detector that generates pseudo drift detection signals.

There are two approaches1:

  • fixed where the drift signal is generated every t_0 samples.

  • random corresponds to a pseudo-random drift detection strategy.

"},{"location":"api/drift/DummyDriftDetector/#parameters","title":"Parameters","text":"
  • trigger_method

    Type \u2192 str

    Default \u2192 fixed

    The trigger method to use. * fixed * random

  • t_0

    Type \u2192 int

    Default \u2192 300

    Reference point to define triggers.

  • w

    Type \u2192 int

    Default \u2192 0

    Auxiliary parameter whose purpose is twofold: - if trigger_method=\"fixed\", the periodic drift signals will only start after an initial warm-up period randomly defined between [0, w]. Useful to avoid that all ensemble members are reset at the same time when periodic triggers are used as the adaptation strategy. - if trigger_method=\"random\", w defines the probability bounds of triggering a drift. The chance of triggering a drift is \\(0.5\\) after observing t_0 instances and becomes \\(1\\) after monitoring t_0 + w / 2 instances. A sigmoid function is used to produce values between [0, 1] that are used as the reset probabilities.

  • dynamic_cloning

    Type \u2192 bool

    Default \u2192 False

    Whether to change the seed and w values each time clone() is called.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/drift/DummyDriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/DummyDriftDetector/#examples","title":"Examples","text":"
import random\nfrom river import drift\n\nrng = random.Random(42)\n

The observed values will not affect the periodic triggers.

data = [rng.gauss(0, 1) for _ in range(1000)]\n

Let's start with the fixed drift signals:

ptrigger = DummyDriftDetector(t_0=500, seed=42)\nfor i, v in enumerate(data):\n    ptrigger.update(v)\n    if ptrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 499.\nDrift detected at instance 999.\n

Now, the random drift signals:

rtrigger = DummyDriftDetector(\n    trigger_method=\"random\",\n    t_0=500,\n    w=100,\n    dynamic_cloning=True,\n    seed=42\n)\nfor i, v in enumerate(data):\n    rtrigger.update(v)\n    if rtrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 368.\nDrift detected at instance 817.\n

Remember to set a w > 0 value if random triggers are used:

try:\n    DummyDriftDetector(trigger_method=\"random\")\nexcept ValueError as ve:\n    print(ve)\n
The 'w' value must be greater than zero when 'trigger_method' is 'random'.\n

Since we set dynamic_cloning to True, a clone of the periodic trigger will have its internal paramenters changed:

rtrigger = rtrigger.clone()\nfor i, v in enumerate(data):\n    rtrigger.update(v)\n    if rtrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 429.\nDrift detected at instance 728.\n

"},{"location":"api/drift/DummyDriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/drift/DummyDriftDetector/#notes","title":"Notes","text":"

When used in ensembles, a naive implementation of periodic drift signals would make all ensemble members reset at the same time. To avoid that, the dynamic_cloning parameter can be set to True. In this case, every time the clone method of this detector is called in an ensemble a new seed is defined. If dynamic_cloning=True and trigger_method=\"fixed\", a new w between [0, t_0] will also be created for the new cloned instance.

  1. Heitor Gomes, Jacob Montiel, Saulo Martiello Mastelini, Bernhard Pfahringer, and Albert Bifet. On Ensemble Techniques for Data Stream Regression. IJCNN'20. International Joint Conference on Neural Networks. 2020.\u00a0\u21a9

"},{"location":"api/drift/KSWIN/","title":"KSWIN","text":"

Kolmogorov-Smirnov Windowing method for concept drift detection.

"},{"location":"api/drift/KSWIN/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 float

    Default \u2192 0.005

    Probability for the test statistic of the Kolmogorov-Smirnov-Test. The alpha parameter is very sensitive, therefore should be set below 0.01.

  • window_size

    Type \u2192 int

    Default \u2192 100

    Size of the sliding window.

  • stat_size

    Type \u2192 int

    Default \u2192 30

    Size of the statistic window.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • window

    Type \u2192 typing.Iterable | None

    Default \u2192 None

    Already collected data to avoid cold start.

"},{"location":"api/drift/KSWIN/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/KSWIN/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nkswin = drift.KSWIN(alpha=0.0001, seed=42)\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    kswin.update(val)\n    if kswin.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1016, input value: 6\n

"},{"location":"api/drift/KSWIN/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Adds an element on top of the sliding window and removes the oldest one from the window. Afterwards, the KS-test is performed.

Parameters

  • x \u2014 'int | float'

Returns

None: self

"},{"location":"api/drift/KSWIN/#notes","title":"Notes","text":"

KSWIN (Kolmogorov-Smirnov Windowing) is a concept change detection method based on the Kolmogorov-Smirnov (KS) statistical test. KS-test is a statistical test with no assumption of underlying data distribution. KSWIN can monitor data or performance distributions. Note that the detector accepts one dimensional input as array.

KSWIN maintains a sliding window \\(\\Psi\\) of fixed size \\(n\\) (window_size). The last \\(r\\) (stat_size) samples of \\(\\Psi\\) are assumed to represent the last concept considered as \\(R\\). From the first \\(n-r\\) samples of \\(\\Psi\\), \\(r\\) samples are uniformly drawn, representing an approximated last concept \\(W\\).

The KS-test is performed on the windows \\(R\\) and \\(W\\) of the same size. KS -test compares the distance of the empirical cumulative data distribution \\(dist(R,W)\\).

A concept drift is detected by KSWIN if:

\\[ dist(R,W) > \\sqrt{-\\frac{ln\\alpha}{r}} \\]

The difference in empirical data distributions between the windows \\(R\\) and \\(W\\) is too large since \\(R\\) and \\(W\\) come from the same distribution.

  1. Christoph Raab, Moritz Heusinger, Frank-Michael Schleif, Reactive Soft Prototype Computing for Concept Drift Streams, Neurocomputing, 2020,\u00a0\u21a9

"},{"location":"api/drift/NoDrift/","title":"NoDrift","text":"

Dummy class used to turn off concept drift detection capabilities of adaptive models. It always signals that no concept drift was detected. Examples --------

from river import drift >>> from river import evaluate >>> from river import forest >>> from river import metrics >>> from river.datasets import synth

dataset = datasets.synth.ConceptDriftStream( ... seed=8, ... position=500, ... width=40, ... ).take(700)

We can turn off the warning detection capabilities of Adaptive Random Forest (ARF) or other similar models. Thus, the base models will reset immediately after identifying a drift, bypassing the background model building phase:

adaptive_model = forest.ARFClassifier( ... leaf_prediction=\"mc\", ... warning_detector=drift.NoDrift(), ... seed=8 ... )

We can also turn off the concept drift handling capabilities completely:

stationary_model = forest.ARFClassifier( ... leaf_prediction=\"mc\", ... warning_detector=drift.NoDrift(), ... drift_detector=drift.NoDrift(), ... seed=8 ... )

Let's put that to test:

for x, y in dataset: ... adaptive_model.learn_one(x, y) ... stationary_model.learn_one(x, y)

The adaptive model:

adaptive_model.n_drifts_detected() 2

adaptive_model.n_warnings_detected() 0

The stationary one:

stationary_model.n_drifts_detected() 0

stationary_model.n_warnings_detected() 0

"},{"location":"api/drift/NoDrift/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/NoDrift/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/drift/PageHinkley/","title":"PageHinkley","text":"

Page-Hinkley method for concept drift detection.

This change detection method works by computing the observed values and their mean up to the current moment. Page-Hinkley does not signal warning zones, only change detections.

This detector implements the CUSUM control chart for detecting changes. This implementation also supports the two-sided Page-Hinkley test to detect increasing and decreasing changes in the mean of the input values.

"},{"location":"api/drift/PageHinkley/#parameters","title":"Parameters","text":"
  • min_instances

    Type \u2192 int

    Default \u2192 30

    The minimum number of instances before detecting change.

  • delta

    Type \u2192 float

    Default \u2192 0.005

    The delta factor for the Page-Hinkley test.

  • threshold

    Type \u2192 float

    Default \u2192 50.0

    The change detection threshold (lambda).

  • alpha

    Type \u2192 float

    Default \u2192 0.9999

    The forgetting factor, used to weight the observed value and the mean.

  • mode

    Type \u2192 str

    Default \u2192 both

    Whether to consider increases (\"up\"), decreases (\"down\") or both (\"both\") when monitoring the fading mean.

"},{"location":"api/drift/PageHinkley/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/PageHinkley/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nph = drift.PageHinkley()\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    ph.update(val)\n    if ph.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1006, input value: 5\n

"},{"location":"api/drift/PageHinkley/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

  1. E. S. Page. 1954. Continuous Inspection Schemes. Biometrika 41, 1/2 (1954), 100-115.\u00a0\u21a9

  2. Sebasti\u00e3o, R., & Fernandes, J. M. (2017, June). Supporting the Page-Hinkley test with empirical mode decomposition for change detection. In International Symposium on Methodologies for Intelligent Systems (pp. 492-498). Springer, Cham.\u00a0\u21a9

"},{"location":"api/drift/binary/DDM/","title":"DDM","text":"

Drift Detection Method.

DDM (Drift Detection Method) is a concept change detection method based on the PAC learning model premise, that the learner's error rate will decrease as the number of analysed samples increase, as long as the data distribution is stationary.

If the algorithm detects an increase in the error rate, that surpasses a calculated threshold, either change is detected or the algorithm will warn the user that change may occur in the near future, which is called the warning zone.

The detection threshold is calculated in function of two statistics, obtained when \\((p_i + s_i)\\) is minimum:

  • \\(p_{min}\\): The minimum recorded error rate.

  • \\(s_{min}\\): The minimum recorded standard deviation.

At instant \\(i\\), the detection algorithm uses:

  • \\(p_i\\): The error rate at instant \\(i\\).

  • \\(s_i\\): The standard deviation at instant \\(i\\).

The conditions for entering the warning zone and detecting change are as follows [see implementation note below]:

  • if \\(p_i + s_i \\geq p_{min} + w_l * s_{min}\\) -> Warning zone

  • if \\(p_i + s_i \\geq p_{min} + d_l * s_{min}\\) -> Change detected

In the above expressions, \\(w_l\\) and \\(d_l\\) represent, respectively, the warning and drift thresholds.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

"},{"location":"api/drift/binary/DDM/#parameters","title":"Parameters","text":"
  • warm_start

    Type \u2192 int

    Default \u2192 30

    The minimum required number of analyzed samples so change can be detected. Warm start parameter for the drift detector.

  • warning_threshold

    Type \u2192 float

    Default \u2192 2.0

    Threshold to decide if the detector is in a warning zone. The default value gives 95\\% of confidence level to the warning assessment.

  • drift_threshold

    Type \u2192 float

    Default \u2192 3.0

    Threshold to decide if a drift was detected. The default value gives a 99\\% of confidence level to the drift assessment.

"},{"location":"api/drift/binary/DDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/DDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nddm = drift.binary.DDM()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    ddm.update(x)\n    if ddm.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if ddm.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 1084\nChange detected at index 1334\nWarning detected at index 1492\n

"},{"location":"api/drift/binary/DDM/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

  1. Jo\u00e3o Gama, Pedro Medas, Gladys Castillo, Pedro Pereira Rodrigues: Learning with Drift Detection. SBIA 2004: 286-295\u00a0\u21a9

"},{"location":"api/drift/binary/EDDM/","title":"EDDM","text":"

Early Drift Detection Method.

EDDM (Early Drift Detection Method) aims to improve the detection rate of gradual concept drift in DDM, while keeping a good performance against abrupt concept drift.

This method works by keeping track of the average distance between two errors instead of only the error rate. For this, it is necessary to keep track of the running average distance and the running standard deviation, as well as the maximum distance and the maximum standard deviation.

The algorithm works similarly to the DDM algorithm, by keeping track of statistics only. It works with the running average distance (\\(p_i'\\)) and the running standard deviation (\\(s_i'\\)), as well as \\(p'_{max}\\) and \\(s'_{max}\\), which are the values of \\(p_i'\\) and \\(s_i'\\) when \\((p_i' + 2 * s_i')\\) reaches its maximum.

Like DDM, there are two threshold values that define the borderline between no change, warning zone, and drift detected. These are as follows:

  • if \\((p_i' + 2 * s_i') / (p'_{max} + 2 * s'_{max}) < \\alpha\\) -> Warning zone

  • if \\((p_i' + 2 * s_i') / (p'_{max} + 2 * s'_{max}) < \\beta\\) -> Change detected

\\(\\alpha\\) and \\(\\beta\\) are set to 0.95 and 0.9, respectively.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\\\neq y'\\)

"},{"location":"api/drift/binary/EDDM/#parameters","title":"Parameters","text":"
  • warm_start

    Type \u2192 int

    Default \u2192 30

    The minimum required number of monitored errors/failures so change can be detected. Warm start parameter for the drift detector.

  • alpha

    Type \u2192 float

    Default \u2192 0.95

    Threshold for triggering a warning. Must be between 0 and 1. The smaller the value, the more conservative the detector becomes.

  • beta

    Type \u2192 float

    Default \u2192 0.9

    Threshold for triggering a drift. Must be between 0 and 1. The smaller the value, the more conservative the detector becomes.

"},{"location":"api/drift/binary/EDDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/EDDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\neddm = drift.binary.EDDM(alpha=0.8, beta=0.75)\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    eddm.update(x)\n    if eddm.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if eddm.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 1059\nChange detected at index 1278\n

"},{"location":"api/drift/binary/EDDM/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Early Drift Detection Method. Manuel Baena-Garcia, Jose Del Campo-Avila, Ra\u00fal Fidalgo, Albert Bifet, Ricard Gavalda, Rafael Morales-Bueno. In Fourth International Workshop on Knowledge Discovery from Data Streams, 2006.\u00a0\u21a9

"},{"location":"api/drift/binary/FHDDM/","title":"FHDDM","text":"

Fast Hoeffding Drift Detection Method.

FHDDM is a drift detection method based on the Hoeffding's inequality which uses the input average as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/FHDDM/#parameters","title":"Parameters","text":"
  • sliding_window_size

    Type \u2192 int

    Default \u2192 100

    The minimum required number of analyzed samples so change can be detected.

  • confidence_level

    Type \u2192 float

    Default \u2192 1e-06

    Confidence level used to determine the epsilon coefficient in Hoeffding\u2019s inequality. The default value gives a 99\\% of confidence level to the drift assessment.

  • short_window_size

    Type \u2192 int | None

    Default \u2192 None

    The size of the short window size that it is used in a Stacking version of FHDDM 2.

"},{"location":"api/drift/binary/FHDDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/FHDDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nfhddm = drift.binary.FHDDM()\nfhddm_s = drift.binary.FHDDM(short_window_size = 20)\ndata_stream = rng.choices([0, 1], k=250)\ndata_stream = data_stream + rng.choices([0, 1], k=250, weights=[0.9, 0.1])\nfor i, x in enumerate(data_stream):\n    fhddm.update(x)\n    fhddm_s.update(x)\n    if fhddm.drift_detected or fhddm_s.drift_detected:\n        print(f\"Change detected at index {i}\")\n
Change detected at index 279\nChange detected at index 315\n

"},{"location":"api/drift/binary/FHDDM/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

  1. A. Pesaranghader, H.L. Viktor, Fast Hoeffding Drift Detection Method for Evolving Data Streams. In the Proceedings of ECML-PKDD 2016.\u00a0\u21a9

  2. Reservoir of Diverse Adaptive Learners and Stacking Fast Hoeffding Drift Detection Methods for Evolving Data Streams.\u00a0\u21a9

"},{"location":"api/drift/binary/HDDM-A/","title":"HDDM_A","text":"

Drift Detection Method based on Hoeffding's bounds with moving average-test.

HDDM_A is a drift detection method based on the Hoeffding's inequality which uses the input average as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/HDDM-A/#parameters","title":"Parameters","text":"
  • drift_confidence

    Default \u2192 0.001

    Confidence to the drift

  • warning_confidence

    Default \u2192 0.005

    Confidence to the warning

  • two_sided_test

    Default \u2192 False

    If True, will monitor error increments and decrements (two-sided). By default will only monitor increments (one-sided).

"},{"location":"api/drift/binary/HDDM-A/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/HDDM-A/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nhddm_a = drift.binary.HDDM_A()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    hddm_a.update(x)\n    if hddm_a.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if hddm_a.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 451\nChange detected at index 1206\n

"},{"location":"api/drift/binary/HDDM-A/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Fr\u00edas-Blanco I, del Campo-\u00c1vila J, Ramos-Jimenez G, et al. Online and non-parametric drift detection methods based on Hoeffding's bounds. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(3): 810-823.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/drift/binary/HDDM-W/","title":"HDDM_W","text":"

Drift Detection Method based on Hoeffding's bounds with moving weighted average-test.

HDDM_W is an online drift detection method based on McDiarmid's bounds. HDDM_W uses the Exponentially Weighted Moving Average (EWMA) statistic as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/HDDM-W/#parameters","title":"Parameters","text":"
  • drift_confidence

    Default \u2192 0.001

    Confidence to the drift

  • warning_confidence

    Default \u2192 0.005

    Confidence to the warning

  • lambda_val

    Default \u2192 0.05

    The weight given to recent data. Smaller values mean less weight given to recent data.

  • two_sided_test

    Default \u2192 False

    If True, will monitor error increments and decrements (two-sided). By default will only monitor increments (one-sided).

"},{"location":"api/drift/binary/HDDM-W/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/HDDM-W/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nhddm_w = drift.binary.HDDM_W()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    hddm_w.update(x)\n    if hddm_w.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if hddm_w.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 451\nChange detected at index 1077\n

"},{"location":"api/drift/binary/HDDM-W/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Fr\u00edas-Blanco I, del Campo-\u00c1vila J, Ramos-Jimenez G, et al. Online and non-parametric drift detection methods based on Hoeffding\u2019s bounds. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(3): 810-823.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/drift/datasets/AirlinePassengers/","title":"AirlinePassengers","text":"

JFK Airline Passengers

This dataset gives the number of passengers arriving and departing at JFK. The data is obtained from New York State's official Kaggle page for this dataset.

"},{"location":"api/drift/datasets/AirlinePassengers/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/AirlinePassengers/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.kaggle.com/new-york-state/nys-air-passenger-traffic,-port-authority-of-ny-nj#air-passenger-traffic-per-month-port-authority-of-ny-nj-beginning-1977.csv\u00a0\u21a9

"},{"location":"api/drift/datasets/Apple/","title":"Apple","text":"

Apple Stock

This dataset concerns the daily close price and volume of Apple stock around the year 2000. The dataset is sampled every 3 observations to reduce the length of the time series. This dataset is retrieved from Yahoo Finance.

"},{"location":"api/drift/datasets/Apple/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Apple/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://finance.yahoo.com/quote/AAPL/history?period1=850348800&period2=1084579200&interval=1d&filter=history&frequency=1d\u00a0\u21a9

"},{"location":"api/drift/datasets/Bitcoin/","title":"Bitcoin","text":"

Bitcoin Market Price

This is a regression task, where the goal is to predict the average USD market price across major bitcoin exchanges. This data was collected from the official Blockchain website. There is only one feature given, the day of exchange, which is in increments of three. The first 500 lines have been removed because they are not interesting.

"},{"location":"api/drift/datasets/Bitcoin/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Bitcoin/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.blockchain.com/fr/explorer/charts/market-price?timespan=all\u00a0\u21a9

"},{"location":"api/drift/datasets/BrentSpotPrice/","title":"BrentSpotPrice","text":"

Brent Spot Price

This is the USD price for Brent Crude oil, measured daily. We include the time series from 2000 onwards. The data is sampled at every 10 original observations to reduce the length of the series.

The data is obtained from the U.S. Energy Information Administration. Since the data is in the public domain, we distribute it as part of this repository.

Since the original data has observations only on trading days, there are arguably gaps in this time series (on non-trading days). However we consider these to be consecutive, and thus also consider the sampled time series to have consecutive observations.

"},{"location":"api/drift/datasets/BrentSpotPrice/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/BrentSpotPrice/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. U.S. Energy Information Administration (Sep. 2019)\u00a0\u21a9

  2. https://www.eia.gov/opendata/v1/qb.php?sdid=PET.RBRTE.D\u00a0\u21a9

"},{"location":"api/drift/datasets/Occupancy/","title":"Occupancy","text":"

Room occupancy data.

Dataset on detecting room occupancy based on several variables. The dataset contains temperature, humidity, light, and CO2 variables.

The data is sampled at every 16 observations to reduce the length of the series.

"},{"location":"api/drift/datasets/Occupancy/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Occupancy/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

Candanedo, Luis M., and V\u00e9ronique Feldheim. \"Accurate occupancy detection of an office room from light, temperature, humidity and CO2 measurements using statistical learning models.\" Energy and Buildings 112 (2016): 28-39.

"},{"location":"api/drift/datasets/RunLog/","title":"RunLog","text":"

Interval Training Running Pace.

This dataset shows the pace of a runner during an interval training session, where a mobile application provides instructions on when to run and when to walk.

"},{"location":"api/drift/datasets/RunLog/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/RunLog/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/drift/datasets/UKCoalEmploy/","title":"UKCoalEmploy","text":"

Historic Employment in UK Coal Mines

This is historic data obtained from the UK government. We use the employment column for the number of workers employed in the British coal mines Missing values in the data are replaced with the value of the preceding year.

"},{"location":"api/drift/datasets/UKCoalEmploy/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/UKCoalEmploy/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.gov.uk/government/statistical-data-sets/historical-coal-data-coal-production-availability-and-consumption\u00a0\u21a9

"},{"location":"api/dummy/NoChangeClassifier/","title":"NoChangeClassifier","text":"

Dummy classifier which returns the last class seen.

The predict_one method will output the last class seen whilst predict_proba_one will return 1 for the last class seen and 0 for the others.

"},{"location":"api/dummy/NoChangeClassifier/#attributes","title":"Attributes","text":"
  • last_class

    The last class seen.

  • classes

    The set of classes seen.

"},{"location":"api/dummy/NoChangeClassifier/#examples","title":"Examples","text":"

Taken from example 2.1 from this page.

import pprint\nfrom river import dummy\n\nsentences = [\n    ('glad happy glad', '+'),\n    ('glad glad joyful', '+'),\n    ('glad pleasant', '+'),\n    ('miserable sad glad', '\u2212')\n]\n\nmodel = dummy.NoChangeClassifier()\n\nfor sentence, label in sentences:\n    model.learn_one(sentence, label)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
'\u2212'\n

pprint.pprint(model.predict_proba_one(new_sentence))\n
{'+': 0, '\u2212': 1}\n

"},{"location":"api/dummy/NoChangeClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/dummy/PriorClassifier/","title":"PriorClassifier","text":"

Dummy classifier which uses the prior distribution.

The predict_one method will output the most common class whilst predict_proba_one will return the normalized class counts.

"},{"location":"api/dummy/PriorClassifier/#attributes","title":"Attributes","text":"
  • counts (collections.Counter)

    Class counts.

  • n (int)

    Total number of seen instances.

"},{"location":"api/dummy/PriorClassifier/#examples","title":"Examples","text":"

Taken from example 2.1 from this page

from river import dummy\n\nsentences = [\n    ('glad happy glad', '+'),\n    ('glad glad joyful', '+'),\n    ('glad pleasant', '+'),\n    ('miserable sad glad', '\u2212')\n]\n\nmodel = dummy.PriorClassifier()\n\nfor sentence, label in sentences:\n    model.learn_one(sentence, label)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
'+'\n
model.predict_proba_one(new_sentence)\n
{'+': 0.75, '\u2212': 0.25}\n

"},{"location":"api/dummy/PriorClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Krichevsky\u2013Trofimov estimator \u21a9

"},{"location":"api/dummy/StatisticRegressor/","title":"StatisticRegressor","text":"

Dummy regressor that uses a univariate statistic to make predictions.

"},{"location":"api/dummy/StatisticRegressor/#parameters","title":"Parameters","text":"
  • statistic

    Type \u2192 stats.base.Univariate

"},{"location":"api/dummy/StatisticRegressor/#examples","title":"Examples","text":"

from pprint import pprint\nfrom river import dummy\nfrom river import stats\n\nsentences = [\n    ('glad happy glad', 3),\n    ('glad glad joyful', 3),\n    ('glad pleasant', 2),\n    ('miserable sad glad', -3)\n]\n\nmodel = dummy.StatisticRegressor(stats.Mean())\n\nfor sentence, score in sentences:\n    model.learn_one(sentence, score)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
1.25\n

"},{"location":"api/dummy/StatisticRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/ensemble/ADWINBaggingClassifier/","title":"ADWINBaggingClassifier","text":"

ADWIN Bagging classifier.

ADWIN Bagging 1 is the online bagging method of Oza and Russell 2 with the addition of the ADWIN algorithm as a change detector. If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/ADWINBaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/ADWINBaggingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/ADWINBaggingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.ADWINBaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.65%\n

"},{"location":"api/ensemble/ADWINBaggingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

  1. Albert Bifet, Geoff Holmes, Bernhard Pfahringer, Richard Kirkby, and Ricard Gavald\u00e0. \"New ensemble methods for evolving data streams.\" In 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2009.\u00a0\u21a9

  2. Oza, N., Russell, S. \"Online bagging and boosting.\" In: Artificial Intelligence and Statistics 2001, pp. 105\u2013112. Morgan Kaufmann, 2001.\u00a0\u21a9

"},{"location":"api/ensemble/ADWINBoostingClassifier/","title":"ADWINBoostingClassifier","text":"

ADWIN Boosting classifier.

ADWIN Boosting 1 is the online boosting method of Oza and Russell 2 with the addition of the ADWIN algorithm as a change detector. If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/ADWINBoostingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/ADWINBoostingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/ADWINBoostingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\nmodel = ensemble.ADWINBoostingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.61%\n

"},{"location":"api/ensemble/ADWINBoostingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Albert Bifet, Geoff Holmes, Bernhard Pfahringer, Richard Kirkby, and Ricard Gavald\u00e0. \"New ensemble methods for evolving data streams.\" In 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2009.\u00a0\u21a9

  2. Oza, N., Russell, S. \"Online bagging and boosting.\" In: Artificial Intelligence and Statistics 2001, pp. 105\u2013112. Morgan Kaufmann, 2001.\u00a0\u21a9

"},{"location":"api/ensemble/AdaBoostClassifier/","title":"AdaBoostClassifier","text":"

Boosting for classification.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter lambda. The lambda parameter is updated when the weaks learners fit successively the same observation.

"},{"location":"api/ensemble/AdaBoostClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/AdaBoostClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/AdaBoostClassifier/#examples","title":"Examples","text":"

In the following example three tree classifiers are boosted together. The performance is slightly better than when using a single tree.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Phishing()\n\nmetric = metrics.LogLoss()\n\nmodel = ensemble.AdaBoostClassifier(\n    model=(\n        tree.HoeffdingTreeClassifier(\n            split_criterion='gini',\n            delta=1e-5,\n            grace_period=2000\n        )\n    ),\n    n_models=5,\n    seed=42\n)\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.370805\n

print(model)\n
AdaBoostClassifier(HoeffdingTreeClassifier)\n

"},{"location":"api/ensemble/AdaBoostClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/BOLEClassifier/","title":"BOLEClassifier","text":"

Boosting Online Learning Ensemble (BOLE).

A modified version of Oza Online Boosting Algorithm 1. For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter lambda. The first model to be trained will be the one with worst correct_weight / (correct_weight + wrong_weight). The worst model not yet trained will receive lambda values for training from the models that incorrectly classified an instance, and the best model's not yet trained will receive lambda values for training from the models that correctly classified an instance. For more details, see 2.

"},{"location":"api/ensemble/BOLEClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

  • error_bound

    Default \u2192 0.5

    Error bound percentage for allowing models to vote.

"},{"location":"api/ensemble/BOLEClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BOLEClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import drift\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Elec2().take(3000)\n\nmodel = ensemble.BOLEClassifier(\n    model=drift.DriftRetrainingClassifier(\n        model=tree.HoeffdingTreeClassifier(),\n        drift_detector=drift.binary.DDM()\n    ),\n    n_models=10,\n    seed=42\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 93.63%\n

"},{"location":"api/ensemble/BOLEClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

  2. R. S. M. d. Barros, S. Garrido T. de Carvalho Santos and P. M. Gon\u00e7alves J\u00fanior, \"A Boosting-like Online Learning Ensemble,\" 2016 International Joint Conference on Neural Networks (IJCNN), 2016, pp. 1871-1878, doi: 10.1109/IJCNN.2016.7727427.\u00a0\u21a9

"},{"location":"api/ensemble/BaggingClassifier/","title":"BaggingClassifier","text":"

Online bootstrap aggregation for classification.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter 1. k thus has a 36% chance of being equal to 0, a 36% chance of being equal to 1, an 18% chance of being equal to 2, a 6% chance of being equal to 3, a 1% chance of being equal to 4, etc. You can do scipy.stats.utils.random.poisson(1).pmf(k) to obtain more detailed values.

"},{"location":"api/ensemble/BaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/BaggingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BaggingClassifier/#examples","title":"Examples","text":"

In the following example three logistic regressions are bagged together. The performance is slightly better than when using a single logistic regression.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.BaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.65%\n

print(model)\n
BaggingClassifier(StandardScaler | LogisticRegression)\n

"},{"location":"api/ensemble/BaggingClassifier/#methods","title":"Methods","text":"learn_one predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/BaggingRegressor/","title":"BaggingRegressor","text":"

Online bootstrap aggregation for regression.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter 1. k thus has a 36% chance of being equal to 0, a 36% chance of being equal to 1, an 18% chance of being equal to 2, a 6% chance of being equal to 3, a 1% chance of being equal to 4, etc. You can do scipy.stats.utils.random.poisson(1).pmf(k) for more detailed values.

"},{"location":"api/ensemble/BaggingRegressor/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor

    The regressor to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/BaggingRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BaggingRegressor/#examples","title":"Examples","text":"

In the following example three logistic regressions are bagged together. The performance is slightly better than when using a single logistic regression.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = preprocessing.StandardScaler()\nmodel |= ensemble.BaggingRegressor(\n    model=linear_model.LinearRegression(intercept_lr=0.1),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.677586\n

"},{"location":"api/ensemble/BaggingRegressor/#methods","title":"Methods","text":"learn_one predict_one

Averages the predictions of each regressor.

Parameters

  • x
  • kwargs

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/EWARegressor/","title":"EWARegressor","text":"

Exponentially Weighted Average regressor.

"},{"location":"api/ensemble/EWARegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Regressor]

    The regressors to hedge.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function that has to be minimized. Defaults to optim.losses.Squared.

  • learning_rate

    Default \u2192 0.5

    The learning rate by which the model weights are multiplied at each iteration.

"},{"location":"api/ensemble/EWARegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/EWARegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\nfrom river import stream\n\noptimizers = [\n    optim.SGD(0.01),\n    optim.RMSProp(),\n    optim.AdaGrad()\n]\n\nfor optimizer in optimizers:\n\n    dataset = datasets.TrumpApproval()\n    metric = metrics.MAE()\n    model = (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(\n            optimizer=optimizer,\n            intercept_lr=.1\n        )\n    )\n\n    print(optimizer, evaluate.progressive_val_score(dataset, model, metric))\n
SGD MAE: 0.558735\nRMSProp MAE: 0.522449\nAdaGrad MAE: 0.477289\n

dataset = datasets.TrumpApproval()\nmetric = metrics.MAE()\nhedge = (\n    preprocessing.StandardScaler() |\n    ensemble.EWARegressor(\n        [\n            linear_model.LinearRegression(optimizer=o, intercept_lr=.1)\n            for o in optimizers\n        ],\n        learning_rate=0.005\n    )\n)\n\nevaluate.progressive_val_score(dataset, hedge, metric)\n
MAE: 0.496298\n

"},{"location":"api/ensemble/EWARegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

learn_predict_one predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Online Learning from Experts: Weighed Majority and Hedge \u21a9

  2. Wikipedia page on the multiplicative weight update method \u21a9

  3. Kivinen, J. and Warmuth, M.K., 1997. Exponentiated gradient versus gradient descent for linear predictors. information and computation, 132(1), pp.1-63. \u21a9

"},{"location":"api/ensemble/LeveragingBaggingClassifier/","title":"LeveragingBaggingClassifier","text":"

Leveraging Bagging ensemble classifier.

Leveraging Bagging [^1] is an improvement over the Oza Bagging algorithm. The bagging performance is leveraged by increasing the re-sampling. It uses a poisson distribution to simulate the re-sampling process. To increase re-sampling it uses a higher w value of the Poisson distribution (agerage number of events), 6 by default, increasing the input space diversity, by attributing a different range of weights to the data samples.

To deal with concept drift, Leveraging Bagging uses the ADWIN algorithm to monitor the performance of each member of the enemble If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Type \u2192 int

    Default \u2192 10

    The number of models in the ensemble.

  • w

    Type \u2192 float

    Default \u2192 6

    Indicates the average number of events. This is the lambda parameter of the Poisson distribution used to compute the re-sampling weight.

  • adwin_delta

    Type \u2192 float

    Default \u2192 0.002

    The delta parameter for the ADWIN change detector.

  • bagging_method

    Type \u2192 str

    Default \u2192 bag

    The bagging method to use. Can be one of the following: * 'bag' - Leveraging Bagging using ADWIN. * 'me' - Assigns \\(weight=1\\) if sample is misclassified, otherwise \\(weight=error/(1-error)\\). * 'half' - Use resampling without replacement for half of the instances. * 'wt' - Resample without taking out all instances. * 'subag' - Resampling without replacement.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#attributes","title":"Attributes","text":"
  • bagging_methods

    Valid bagging_method options.

  • models

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.LeveragingBaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.55%\n

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

"},{"location":"api/ensemble/SRPClassifier/","title":"SRPClassifier","text":"

Streaming Random Patches ensemble classifier.

The Streaming Random Patches (SRP) 1 is an ensemble method that simulates bagging or random subspaces. The default algorithm uses both bagging and random subspaces, namely Random Patches. The default base estimator is a Hoeffding Tree, but other base estimators can be used (differently from random forest variations).

"},{"location":"api/ensemble/SRPClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Estimator | None

    Default \u2192 None

    The base estimator.

  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of members in the ensemble.

  • subspace_size

    Type \u2192 int | float | str

    Default \u2192 0.6

    Number of features per subset for each classifier where M is the total number of features. A negative value means M - subspace_size. Only applies when using random subspaces or random patches. * If int indicates the number of features to use. Valid range [2, M]. * If float indicates the percentage of features to use, Valid range (0., 1.]. * 'sqrt' - sqrt(M)+1 * 'rmsqrt' - Residual from M-(sqrt(M)+1)

  • training_method

    Type \u2192 str

    Default \u2192 patches

    The training method to use. * 'subspaces' - Random subspaces. * 'resampling' - Resampling. * 'patches' - Random patches.

  • lam

    Type \u2192 int

    Default \u2192 6

    Lambda value for resampling.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift detector.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning detector.

  • disable_detector

    Type \u2192 str

    Default \u2192 off

    Option to disable drift detectors: * If 'off', detectors are enabled. * If 'drift', disables concept drift detection and the background learner. * If 'warning', disables the background learner and ensemble members are reset if drift is detected.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 False

    If True, disables weighted voting.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

  • metric

    Type \u2192 ClassificationMetric | None

    Default \u2192 None

    The metric to track members performance within the ensemble. This implementation assumes that larger values are better when using weighted votes.

"},{"location":"api/ensemble/SRPClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/SRPClassifier/#examples","title":"Examples","text":"

from river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river.datasets import synth\nfrom river import tree\n\ndataset = synth.ConceptDriftStream(\n    seed=42,\n    position=500,\n    width=50\n).take(1000)\n\nbase_model = tree.HoeffdingTreeClassifier(\n    grace_period=50, delta=0.01,\n    nominal_attributes=['age', 'car', 'zipcode']\n)\nmodel = ensemble.SRPClassifier(\n    model=base_model, n_models=3, seed=42,\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 71.97%\n

"},{"location":"api/ensemble/SRPClassifier/#methods","title":"Methods","text":"learn_one predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

reset"},{"location":"api/ensemble/SRPClassifier/#notes","title":"Notes","text":"

This implementation uses n_models=10 as default given the impact on processing time. The optimal number of models depends on the data and resources available.

  1. Heitor Murilo Gomes, Jesse Read, Albert Bifet. Streaming Random Patches for Evolving Data Stream Classification. IEEE International Conference on Data Mining (ICDM), 2019.\u00a0\u21a9

"},{"location":"api/ensemble/SRPRegressor/","title":"SRPRegressor","text":"

Streaming Random Patches ensemble regressor.

The Streaming Random Patches 1 ensemble method for regression trains each base learner on a subset of features and instances from the original data, namely a random patch. This strategy to enforce diverse base models is similar to the one in the random forest, yet it is not restricted to using decision trees as base learner.

This method is an adaptation of 2 for regression.

"},{"location":"api/ensemble/SRPRegressor/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The base estimator.

  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of members in the ensemble.

  • subspace_size

    Type \u2192 int | float | str

    Default \u2192 0.6

    Number of features per subset for each classifier where M is the total number of features. A negative value means M - subspace_size. Only applies when using random subspaces or random patches. * If int indicates the number of features to use. Valid range [2, M]. * If float indicates the percentage of features to use, Valid range (0., 1.]. * 'sqrt' - sqrt(M)+1 * 'rmsqrt' - Residual from M-(sqrt(M)+1)

  • training_method

    Type \u2192 str

    Default \u2192 patches

    The training method to use. * 'subspaces' - Random subspaces. * 'resampling' - Resampling. * 'patches' - Random patches.

  • lam

    Type \u2192 int

    Default \u2192 6

    Lambda value for bagging.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift detector.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning detector.

  • disable_detector

    Type \u2192 str

    Default \u2192 off

    Option to disable drift detectors: * If 'off', detectors are enabled. * If 'drift', disables concept drift detection and the background learner. * If 'warning', disables the background learner and ensemble members are reset if drift is detected.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 True

    If True, disables weighted voting.

  • drift_detection_criteria

    Type \u2192 str

    Default \u2192 error

    The criteria used to track drifts. * 'error' - absolute error. * 'prediction' - predicted target values.

  • aggregation_method

    Type \u2192 str

    Default \u2192 mean

    The method to use to aggregate predictions in the ensemble. * 'mean' * 'median'

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

  • metric

    Type \u2192 RegressionMetric | None

    Default \u2192 None

    The metric to track members performance within the ensemble.

"},{"location":"api/ensemble/SRPRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/SRPRegressor/#examples","title":"Examples","text":"

from river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river.datasets import synth\nfrom river import tree\n\ndataset = synth.FriedmanDrift(\n    drift_type='gsg',\n    position=(350, 750),\n    transition_window=200,\n    seed=42\n).take(1000)\n\nbase_model = tree.HoeffdingTreeRegressor(grace_period=50)\nmodel = ensemble.SRPRegressor(\n    model=base_model,\n    training_method=\"patches\",\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.R2()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
R2: 0.571117\n

"},{"location":"api/ensemble/SRPRegressor/#methods","title":"Methods","text":"learn_one predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

reset"},{"location":"api/ensemble/SRPRegressor/#notes","title":"Notes","text":"

This implementation uses n_models=10 as default given the impact on processing time. The optimal number of models depends on the data and resources available.

  1. Heitor Gomes, Jacob Montiel, Saulo Martiello Mastelini, Bernhard Pfahringer, and Albert Bifet. On Ensemble Techniques for Data Stream Regression. IJCNN'20. International Joint Conference on Neural Networks. 2020.\u00a0\u21a9

  2. Heitor Murilo Gomes, Jesse Read, Albert Bifet. Streaming Random Patches for Evolving Data Stream Classification. IEEE International Conference on Data Mining (ICDM), 2019.\u00a0\u21a9

"},{"location":"api/ensemble/StackingClassifier/","title":"StackingClassifier","text":"

Stacking for binary classification.

"},{"location":"api/ensemble/StackingClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Classifier]

  • meta_classifier

    Type \u2192 base.Classifier

  • include_features

    Default \u2192 True

    Indicates whether or not the original features should be provided to the meta-model along with the predictions from each model.

"},{"location":"api/ensemble/StackingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/StackingClassifier/#examples","title":"Examples","text":"

from river import compose\nfrom river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = compose.Pipeline(\n    ('scale', pp.StandardScaler()),\n    ('stack', ensemble.StackingClassifier(\n        [\n            lm.LogisticRegression(),\n            lm.PAClassifier(mode=1, C=0.01),\n            lm.PAClassifier(mode=2, C=0.01),\n        ],\n        meta_classifier=lm.LogisticRegression()\n    ))\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.14%\n

"},{"location":"api/ensemble/StackingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. A Kaggler's Guide to Model Stacking in Practice \u21a9

"},{"location":"api/ensemble/VotingClassifier/","title":"VotingClassifier","text":"

Voting classifier.

A classification is made by aggregating the predictions of each model in the ensemble. The probabilities for each class are summed up if use_probabilities is set to True. If not, the probabilities are ignored and each prediction is weighted the same. In this case, it's important that you use an odd number of classifiers. A random class will be picked if the number of classifiers is even.

"},{"location":"api/ensemble/VotingClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Classifier]

    The classifiers.

  • use_probabilities

    Default \u2192 True

    Whether or to weight each prediction with its associated probability.

"},{"location":"api/ensemble/VotingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/VotingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import naive_bayes\nfrom river import preprocessing\nfrom river import tree\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    ensemble.VotingClassifier([\n        linear_model.LogisticRegression(),\n        tree.HoeffdingTreeClassifier(),\n        naive_bayes.GaussianNB()\n    ])\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.94%\n

"},{"location":"api/ensemble/VotingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/evaluate/BinaryClassificationTrack/","title":"BinaryClassificationTrack","text":"

This track evaluates a model's performance on binary classification tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/BinaryClassificationTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/MultiClassClassificationTrack/","title":"MultiClassClassificationTrack","text":"

This track evaluates a model's performance on multi-class classification tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/MultiClassClassificationTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/RegressionTrack/","title":"RegressionTrack","text":"

This track evaluates a model's performance on regression tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/RegressionTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/Track/","title":"Track","text":"

A track evaluate a model's performance.

The following metrics are recorded:

  • Time, which should be interpreted with wisdom. Indeed time can depend on the architecture

    and local resource situations. Comparison via FLOPS should be preferred. - The model's memory footprint.

  • The model's predictive performance on the track's dataset.

"},{"location":"api/evaluate/Track/#parameters","title":"Parameters","text":"
  • name

    Type \u2192 str

    The name of the track.

  • datasets

    The datasets that compose the track.

  • metric

    The metric(s) used to track performance.

"},{"location":"api/evaluate/Track/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/iter-progressive-val-score/","title":"iter_progressive_val_score","text":"

Evaluates the performance of a model on a streaming dataset and yields results.

This does exactly the same as evaluate.progressive_val_score. The only difference is that this function returns an iterator, yielding results at every step. This can be useful if you want to have control over what you do with the results. For instance, you might want to plot the results.

"},{"location":"api/evaluate/iter-progressive-val-score/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    The stream of observations against which the model will be evaluated.

  • model

    The model to evaluate.

  • metric

    Type \u2192 metrics.base.Metric

    The metric used to evaluate the model's predictions.

  • moment

    Type \u2192 str | typing.Callable | None

    Default \u2192 None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    Default \u2192 None

    The amount to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation.

  • step

    Default \u2192 1

    Iteration number at which to yield results. This only takes into account the predictions, and not the training steps.

  • measure_time

    Default \u2192 False

    Whether or not to measure the elapsed time.

  • measure_memory

    Default \u2192 False

    Whether or not to measure the memory usage of the model.

  • yield_predictions

    Default \u2192 False

    Whether or not to include predictions. If step is 1, then this is equivalent to yielding the predictions at every iterations. Otherwise, not all predictions will be yielded.

"},{"location":"api/evaluate/iter-progressive-val-score/#examples","title":"Examples","text":"

Take the following model:

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

We can evaluate it on the Phishing dataset as so:

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nsteps = evaluate.iter_progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    step=200\n)\n\nfor step in steps:\n    print(step)\n
{'ROCAUC': ROCAUC: 90.20%, 'Step': 200}\n{'ROCAUC': ROCAUC: 92.25%, 'Step': 400}\n{'ROCAUC': ROCAUC: 93.23%, 'Step': 600}\n{'ROCAUC': ROCAUC: 94.05%, 'Step': 800}\n{'ROCAUC': ROCAUC: 94.79%, 'Step': 1000}\n{'ROCAUC': ROCAUC: 95.07%, 'Step': 1200}\n{'ROCAUC': ROCAUC: 95.07%, 'Step': 1250}\n

The yield_predictions parameter can be used to include the predictions in the results:

import itertools\n\nsteps = evaluate.iter_progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    step=1,\n    yield_predictions=True\n)\n\nfor step in itertools.islice(steps, 100, 105):\n   print(step)\n
{'ROCAUC': ROCAUC: 94.68%, 'Step': 101, 'Prediction': {False: 0.966..., True: 0.033...}}\n{'ROCAUC': ROCAUC: 94.75%, 'Step': 102, 'Prediction': {False: 0.035..., True: 0.964...}}\n{'ROCAUC': ROCAUC: 94.82%, 'Step': 103, 'Prediction': {False: 0.043..., True: 0.956...}}\n{'ROCAUC': ROCAUC: 94.89%, 'Step': 104, 'Prediction': {False: 0.816..., True: 0.183...}}\n{'ROCAUC': ROCAUC: 94.96%, 'Step': 105, 'Prediction': {False: 0.041..., True: 0.958...}}\n

  1. Beating the Hold-Out: Bounds for K-fold and Progressive Cross-Validation \u21a9

  2. Grzenda, M., Gomes, H.M. and Bifet, A., 2019. Delayed labelling evaluation for data streams. Data Mining and Knowledge Discovery, pp.1-30 \u21a9

"},{"location":"api/evaluate/progressive-val-score/","title":"progressive_val_score","text":"

Evaluates the performance of a model on a streaming dataset.

This method is the canonical way to evaluate a model's performance. When used correctly, it allows you to exactly assess how a model would have performed in a production scenario.

dataset is converted into a stream of questions and answers. At each step the model is either asked to predict an observation, or is either updated. The target is only revealed to the model after a certain amount of time, which is determined by the delay parameter. Note that under the hood this uses the stream.simulate_qa function to go through the data in arrival order.

By default, there is no delay, which means that the samples are processed one after the other. When there is no delay, this function essentially performs progressive validation. When there is a delay, then we refer to it as delayed progressive validation.

It is recommended to use this method when you want to determine a model's performance on a dataset. In particular, it is advised to use the delay parameter in order to get a reliable assessment. Indeed, in a production scenario, it is often the case that ground truths are made available after a certain amount of time. By using this method, you can reproduce this scenario and therefore truthfully assess what would have been the performance of a model on a given dataset.

"},{"location":"api/evaluate/progressive-val-score/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    The stream of observations against which the model will be evaluated.

  • model

    The model to evaluate.

  • metric

    Type \u2192 metrics.base.Metric

    The metric used to evaluate the model's predictions.

  • moment

    Type \u2192 str | typing.Callable | None

    Default \u2192 None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    Default \u2192 None

    The amount to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation.

  • print_every

    Default \u2192 0

    Iteration number at which to print the current metric. This only takes into account the predictions, and not the training steps.

  • show_time

    Default \u2192 False

    Whether or not to display the elapsed time.

  • show_memory

    Default \u2192 False

    Whether or not to display the memory usage of the model.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/evaluate/progressive-val-score/#examples","title":"Examples","text":"

Take the following model:

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

We can evaluate it on the Phishing dataset as so:

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    print_every=200\n)\n
[200] ROCAUC: 90.20%\n[400] ROCAUC: 92.25%\n[600] ROCAUC: 93.23%\n[800] ROCAUC: 94.05%\n[1,000] ROCAUC: 94.79%\n[1,200] ROCAUC: 95.07%\n[1,250] ROCAUC: 95.07%\nROCAUC: 95.07%\n

We haven't specified a delay, therefore this is strictly equivalent to the following piece of code:

model = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n\nmetric = metrics.ROCAUC()\n\nfor x, y in datasets.Phishing():\n    y_pred = model.predict_proba_one(x)\n    metric.update(y, y_pred)\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 95.07%\n

When print_every is specified, the current state is printed at regular intervals. Under the hood, Python's print method is being used. You can pass extra keyword arguments to modify its behavior. For instance, you may use the file argument if you want to log the progress to a file of your choice.

with open('progress.log', 'w') as f:\n    metric = evaluate.progressive_val_score(\n        model=model,\n        dataset=datasets.Phishing(),\n        metric=metrics.ROCAUC(),\n        print_every=200,\n        file=f\n    )\n\nwith open('progress.log') as f:\n    for line in f.read().splitlines():\n        print(line)\n
[200] ROCAUC: 94.00%\n[400] ROCAUC: 94.70%\n[600] ROCAUC: 95.17%\n[800] ROCAUC: 95.42%\n[1,000] ROCAUC: 95.82%\n[1,200] ROCAUC: 96.00%\n[1,250] ROCAUC: 96.04%\n

Note that the performance is slightly better than above because we haven't used a fresh copy of the model. Instead, we've reused the existing model which has already done a full pass on the data.

import os; os.remove('progress.log')\n
  1. Beating the Hold-Out: Bounds for K-fold and Progressive Cross-Validation \u21a9

  2. Grzenda, M., Gomes, H.M. and Bifet, A., 2019. Delayed labelling evaluation for data streams. Data Mining and Knowledge Discovery, pp.1-30 \u21a9

"},{"location":"api/facto/FFMClassifier/","title":"FFMClassifier","text":"

Field-aware Factorization Machine for binary classification.

The model equation is defined by:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_j} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_{j, f_{j'}}\\) is the latent vector corresponding to \\(j\\) feature for \\(f_{j'}\\) field, and \\(\\mathbf{v}_{j', f_j}\\) is the latent vector corresponding to \\(j'\\) feature for \\(f_j\\) field.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FFMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, True),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, True),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, True),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, True),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, False)\n)\n\nmodel = facto.FFMClassifier(\n    n_factors=10,\n    intercept=.5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
True\n

"},{"location":"api/facto/FFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Juan, Y., Zhuang, Y., Chin, W.S. and Lin, C.J., 2016, September. Field-aware factorization machines for CTR prediction. In Proceedings of the 10th ACM Conference on Recommender Systems (pp. 43-50). \u21a9

"},{"location":"api/facto/FFMRegressor/","title":"FFMRegressor","text":"

Field-aware Factorization Machine for regression.

The model equation is defined by:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_j} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_{j, f_{j'}}\\) is the latent vector corresponding to \\(j\\) feature for \\(f_{j'}\\) field, and \\(\\mathbf{v}_{j', f_j}\\) is the latent vector corresponding to \\(j'\\) feature for \\(f_j\\) field.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FFMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, 8),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, 5),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, 8),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, 2)\n)\n\nmodel = facto.FFMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
5.319945\n

report = model.debug_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n\nprint(report)\n
Name                                       Value      Weight     Contribution\n                               Intercept    1.00000    5.23501        5.23501\n                                user_Bob    1.00000    0.11438        0.11438\n                                    time    0.14000    0.03186        0.00446\n    item_Harry Potter(time) - time(item)    0.14000    0.03153        0.00441\n             user_Bob(time) - time(user)    0.14000    0.02864        0.00401\n                       item_Harry Potter    1.00000    0.00000        0.00000\nuser_Bob(item) - item_Harry Potter(user)    1.00000   -0.04232       -0.04232\n

"},{"location":"api/facto/FFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Juan, Y., Zhuang, Y., Chin, W.S. and Lin, C.J., 2016, September. Field-aware factorization machines for CTR prediction. In Proceedings of the 10th ACM Conference on Recommender Systems (pp. 43-50). \u21a9

"},{"location":"api/facto/FMClassifier/","title":"FMClassifier","text":"

Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/FMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, True),\n    ({'user': 'Alice', 'item': 'Terminator'}, True),\n    ({'user': 'Alice', 'item': 'Star Wars'}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, True),\n    ({'user': 'Bob', 'item': 'Superman'}, True),\n    ({'user': 'Bob', 'item': 'Terminator'}, True),\n    ({'user': 'Bob', 'item': 'Star Wars'}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, False)\n)\n\nmodel = facto.FMClassifier(\n    n_factors=10,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
True\n

"},{"location":"api/facto/FMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

  2. Rendle, S., 2012, May. Factorization Machines with libFM. In ACM Transactions on Intelligent Systems and Technology 3, 3, Article 57, 22 pages. \u21a9

"},{"location":"api/facto/FMRegressor/","title":"FMRegressor","text":"

Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/FMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = facto.FMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
5.236504\n

report = model.debug_one({'Bob': 1, 'Harry Potter': 1})\n\nprint(report)\n
Name                 Value      Weight     Contribution\n         Intercept    1.00000    5.23426        5.23426\nBob - Harry Potter    1.00000    0.00224        0.00224\n      Harry Potter    1.00000    0.00000        0.00000\n               Bob    1.00000    0.00000        0.00000\n

"},{"location":"api/facto/FMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

  2. Rendle, S., 2012, May. Factorization Machines with libFM. In ACM Transactions on Intelligent Systems and Technology 3, 3, Article 57, 22 pages. \u21a9

"},{"location":"api/facto/FwFMClassifier/","title":"FwFMClassifier","text":"

Field-weighted Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(f_j\\) and \\(f_{j'}\\) are \\(j\\) and \\(j'\\) fields, respectively, and \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FwFMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • int_weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the field pairs interaction weights.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FwFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

  • interaction_weights

    The current interaction strengths of field pairs.

"},{"location":"api/facto/FwFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, True),\n    ({'user': 'Alice', 'item': 'Terminator'}, True),\n    ({'user': 'Alice', 'item': 'Star Wars'}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, True),\n    ({'user': 'Bob', 'item': 'Superman'}, True),\n    ({'user': 'Bob', 'item': 'Terminator'}, True),\n    ({'user': 'Bob', 'item': 'Star Wars'}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, False)\n)\n\nmodel = facto.FwFMClassifier(\n    n_factors=10,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
True\n

"},{"location":"api/facto/FwFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Junwei Pan, Jian Xu, Alfonso Lobos Ruiz, Wenliang Zhao, Shengjun Pan, Yu Sun, and Quan Lu, 2018, April. Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, (pp. 1349\u20131357). \u21a9

"},{"location":"api/facto/FwFMRegressor/","title":"FwFMRegressor","text":"

Field-weighted Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(f_j\\) and \\(f_{j'}\\) are \\(j\\) and \\(j'\\) fields, respectively, and \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FwFMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • int_weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the field pairs interaction weights.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FwFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

  • interaction_weights

    The current interaction strengths of field pairs.

"},{"location":"api/facto/FwFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = facto.FwFMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
5.236501\n

report = model.debug_one({'Bob': 1, 'Harry Potter': 1})\n\nprint(report)\n
Name                                    Value      Weight     Contribution\n                            Intercept    1.00000    5.23426        5.23426\nBob(Harry Potter) - Harry Potter(Bob)    1.00000    0.00224        0.00224\n                         Harry Potter    1.00000    0.00000        0.00000\n                                  Bob    1.00000    0.00000        0.00000\n

"},{"location":"api/facto/FwFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Junwei Pan, Jian Xu, Alfonso Lobos Ruiz, Wenliang Zhao, Shengjun Pan, Yu Sun, and Quan Lu, 2018, April. Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, (pp. 1349\u20131357). \u21a9

"},{"location":"api/facto/HOFMClassifier/","title":"HOFMClassifier","text":"

Higher-Order Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right)\\]

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/HOFMClassifier/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 3

    Polynomial degree or model order.

  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/HOFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/HOFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, True),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, True),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, True),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, True),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, False)\n)\n\nmodel = facto.HOFMClassifier(\n    degree=3,\n    n_factors=10,\n    intercept=.5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
True\n

"},{"location":"api/facto/HOFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

"},{"location":"api/facto/HOFMRegressor/","title":"HOFMRegressor","text":"

Higher-Order Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right)\\]

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/HOFMRegressor/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 3

    Polynomial degree or model order.

  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note thatthe intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/HOFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/HOFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, 8),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, 5),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, 8),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, 2)\n)\n\nmodel = facto.HOFMRegressor(\n    degree=3,\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
5.311745\n

report = model.debug_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n\nprint(report)\n
Name                                  Value      Weight     Contribution\n                          Intercept    1.00000    5.23495        5.23495\n                           user_Bob    1.00000    0.11436        0.11436\n                               time    0.14000    0.03185        0.00446\n                    user_Bob - time    0.14000    0.00884        0.00124\nuser_Bob - item_Harry Potter - time    0.14000    0.00117        0.00016\n                  item_Harry Potter    1.00000    0.00000        0.00000\n           item_Harry Potter - time    0.14000   -0.00695       -0.00097\n       user_Bob - item_Harry Potter    1.00000   -0.04246       -0.04246\n

"},{"location":"api/facto/HOFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

"},{"location":"api/feature-extraction/Agg/","title":"Agg","text":"

Computes a streaming aggregate.

This transformer allows to compute an aggregate statistic, very much like the groupby method from pandas, but on a streaming dataset. This makes use of the streaming statistics from the stats module.

When learn_one is called, the running statistic how of group by is updated with the value of on. Meanwhile, the output of transform_one is a single-element dictionary, where the key is the name of the aggregate and the value is the current value of the statistic for the relevant group. The key is automatically inferred from the parameters.

Note that you can use a compose.TransformerUnion to extract many aggregate statistics in a concise manner.

"},{"location":"api/feature-extraction/Agg/#parameters","title":"Parameters","text":"
  • on

    Type \u2192 str

    The feature on which to compute the aggregate statistic.

  • by

    Type \u2192 str | list[str] | None

    The feature by which to group the data. All the data is included in the aggregate if this is None.

  • how

    Type \u2192 stats.base.Univariate | utils.Rolling | utils.TimeRolling

    The statistic to compute.

"},{"location":"api/feature-extraction/Agg/#attributes","title":"Attributes","text":"
  • state

    Return the current values for each group as a series.

"},{"location":"api/feature-extraction/Agg/#examples","title":"Examples","text":"

Consider the following dataset:

X = [\n    {'country': 'France', 'place': 'Taco Bell', 'revenue': 42},\n    {'country': 'Sweden', 'place': 'Burger King', 'revenue': 16},\n    {'country': 'France', 'place': 'Burger King', 'revenue': 24},\n    {'country': 'Sweden', 'place': 'Taco Bell', 'revenue': 58},\n    {'country': 'Sweden', 'place': 'Burger King', 'revenue': 20},\n    {'country': 'France', 'place': 'Taco Bell', 'revenue': 50},\n    {'country': 'France', 'place': 'Burger King', 'revenue': 10},\n    {'country': 'Sweden', 'place': 'Taco Bell', 'revenue': 80}\n]\n

As an example, we can calculate the average (how) revenue (on) for each place (by):

from river import feature_extraction as fx\nfrom river import stats\n\nagg = fx.Agg(\n    on='revenue',\n    by='place',\n    how=stats.Mean()\n)\n\nfor x in X:\n    agg.learn_one(x)\n    print(agg.transform_one(x))\n
{'revenue_mean_by_place': 42.0}\n{'revenue_mean_by_place': 16.0}\n{'revenue_mean_by_place': 20.0}\n{'revenue_mean_by_place': 50.0}\n{'revenue_mean_by_place': 20.0}\n{'revenue_mean_by_place': 50.0}\n{'revenue_mean_by_place': 17.5}\n{'revenue_mean_by_place': 57.5}\n

You can compute an aggregate over multiple keys by passing a tuple to the by argument. For instance, we can compute the maximum (how) revenue (on) per place as well as per day (by):

agg = fx.Agg(\n    on='revenue',\n    by=['place', 'country'],\n    how=stats.Max()\n)\n\nfor x in X:\n    agg.learn_one(x)\n    print(agg.transform_one(x))\n
{'revenue_max_by_place_and_country': 42}\n{'revenue_max_by_place_and_country': 16}\n{'revenue_max_by_place_and_country': 24}\n{'revenue_max_by_place_and_country': 58}\n{'revenue_max_by_place_and_country': 20}\n{'revenue_max_by_place_and_country': 50}\n{'revenue_max_by_place_and_country': 24}\n{'revenue_max_by_place_and_country': 80}\n

You can use a compose.TransformerUnion in order to calculate multiple aggregates in one go. The latter can be constructed by using the + operator:

agg = (\n    fx.Agg(on='revenue', by='place', how=stats.Mean()) +\n    fx.Agg(on='revenue', by=['place', 'country'], how=stats.Max())\n)\n\nimport pprint\nfor x in X:\n    agg.learn_one(x)\n    pprint.pprint(agg.transform_one(x))\n
{'revenue_max_by_place_and_country': 42, 'revenue_mean_by_place': 42.0}\n{'revenue_max_by_place_and_country': 16, 'revenue_mean_by_place': 16.0}\n{'revenue_max_by_place_and_country': 24, 'revenue_mean_by_place': 20.0}\n{'revenue_max_by_place_and_country': 58, 'revenue_mean_by_place': 50.0}\n{'revenue_max_by_place_and_country': 20, 'revenue_mean_by_place': 20.0}\n{'revenue_max_by_place_and_country': 50, 'revenue_mean_by_place': 50.0}\n{'revenue_max_by_place_and_country': 24, 'revenue_mean_by_place': 17.5}\n{'revenue_max_by_place_and_country': 80, 'revenue_mean_by_place': 57.5}\n

The state property returns a pandas.Series, which can be useful for visualizing the current state.

agg[0].state\n
Taco Bell      57.5\nBurger King    17.5\nName: revenue_mean_by_place, dtype: float64\n

agg[1].state\n
place        country\nTaco Bell    France     50\nBurger King  Sweden     20\n             France     24\nTaco Bell    Sweden     80\nName: revenue_max_by_place_and_country, dtype: int64\n

This transformer can also be used in conjunction with utils.TimeRolling. The latter requires a t argument, which is a timestamp that indicates when the current row was observed. For instance, we can calculate the average (how) revenue (on) for each place (by) over the last 7 days (t):

import datetime as dt\nimport random\nimport string\nfrom river import utils\n\nagg = fx.Agg(\n    on=\"value\",\n    by=\"group\",\n    how=utils.TimeRolling(stats.Mean(), dt.timedelta(days=7))\n)\n\nfor day in range(366):\n    g = random.choice(string.ascii_lowercase)\n    x = {\n        \"group\": g,\n        \"value\": string.ascii_lowercase.index(g) + random.random(),\n    }\n    t = dt.datetime(2023, 1, 1) + dt.timedelta(days=day)\n    agg.learn_one(x, t=t)\n\nlen(agg.state)\n
26\n

"},{"location":"api/feature-extraction/Agg/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'
  • t \u2014 defaults to None

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Streaming groupbys in pandas for big datasets \u21a9

"},{"location":"api/feature-extraction/BagOfWords/","title":"BagOfWords","text":"

Counts tokens in sentences.

This transformer can be used to counts tokens in a given piece of text. It takes care of normalizing the text before tokenizing it. In mini-batch settings, this transformers allows to convert a series of pandas of text into sparse dataframe.

Note that the parameters are identical to those of feature_extraction.TFIDF.

"},{"location":"api/feature-extraction/BagOfWords/#parameters","title":"Parameters","text":"
  • on

    Type \u2192 str | None

    Default \u2192 None

    The name of the feature that contains the text to vectorize. If None, then each learn_one and transform_one will assume that each x that is provided is a str, andnot a dict.

  • strip_accents

    Default \u2192 True

    Whether or not to strip accent characters.

  • lowercase

    Default \u2192 True

    Whether or not to convert all characters to lowercase.

  • preprocessor

    Type \u2192 typing.Callable | None

    Default \u2192 None

    An optional preprocessing function which overrides the strip_accents and lowercase steps, while preserving the tokenizing and n-grams generation steps.

  • stop_words

    Type \u2192 set[str] | None

    Default \u2192 None

    An optional set of tokens to remove.

  • tokenizer_pattern

    Default \u2192 (?u)\\b\\w[\\w\\-]+\\b

    The tokenization pattern which is used when no tokenizer function is passed. A single capture group may optionally be specified.

  • tokenizer

    Type \u2192 typing.Callable | None

    Default \u2192 None

    A function used to convert preprocessed text into a dict of tokens. By default, a regex formula that works well in most cases is used.

  • ngram_range

    Default \u2192 (1, 1)

    The lower and upper boundary of the range n-grams to be extracted. All values of n such that min_n <= n <= max_n will be used. For example an ngram_range of (1, 1) means only unigrams, (1, 2) means unigrams and bigrams, and (2, 2) means only bigrams.

"},{"location":"api/feature-extraction/BagOfWords/#examples","title":"Examples","text":"

By default, BagOfWords will take as input a sentence, preprocess it, tokenize the preprocessed text, and then return a collections.Counter containing the number of occurrences of each token.

from river import feature_extraction as fx\n\ncorpus = [\n    'This is the first document.',\n    'This document is the second document.',\n    'And this is the third one.',\n    'Is this the first document?',\n]\n\nbow = fx.BagOfWords()\n\nfor sentence in corpus:\n    print(bow.transform_one(sentence))\n
{'this': 1, 'is': 1, 'the': 1, 'first': 1, 'document': 1}\n{'this': 1, 'document': 2, 'is': 1, 'the': 1, 'second': 1}\n{'and': 1, 'this': 1, 'is': 1, 'the': 1, 'third': 1, 'one': 1}\n{'is': 1, 'this': 1, 'the': 1, 'first': 1, 'document': 1}\n

Note that learn_one does not have to be called because BagOfWords is stateless. You can call it but it won't do anything.

In the above example, a string is passed to transform_one. You can also indicate which field to access if the string is stored in a dictionary:

bow = fx.BagOfWords(on='sentence')\n\nfor sentence in corpus:\n    x = {'sentence': sentence}\n    print(bow.transform_one(x))\n
{'this': 1, 'is': 1, 'the': 1, 'first': 1, 'document': 1}\n{'this': 1, 'document': 2, 'is': 1, 'the': 1, 'second': 1}\n{'and': 1, 'this': 1, 'is': 1, 'the': 1, 'third': 1, 'one': 1}\n{'is': 1, 'this': 1, 'the': 1, 'first': 1, 'document': 1}\n

The ngram_range parameter can be used to extract n-grams (including unigrams):

ngrammer = fx.BagOfWords(ngram_range=(1, 2))\n\nngrams = ngrammer.transform_one('I love the smell of napalm in the morning')\nfor ngram, count in ngrams.items():\n    print(ngram, count)\n
love 1\nthe 2\nsmell 1\nof 1\nnapalm 1\nin 1\nmorning 1\n('love', 'the') 1\n('the', 'smell') 1\n('smell', 'of') 1\n('of', 'napalm') 1\n('napalm', 'in') 1\n('in', 'the') 1\n('the', 'morning') 1\n

BagOfWord allows to build a term-frequency pandas sparse dataframe with the transform_many method.

import pandas as pd\nX = pd.Series(['Hello world', 'Hello River'], index = ['river', 'rocks'])\nbow = fx.BagOfWords()\nbow.transform_many(X=X)\n
       hello  world  river\nriver      1      1      0\nrocks      1      0      1\n

"},{"location":"api/feature-extraction/BagOfWords/#methods","title":"Methods","text":"learn_many learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

process_text transform_many

Transform pandas series of string into term-frequency pandas sparse dataframe.

Parameters

  • X \u2014 'pd.Series'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/PolynomialExtender/","title":"PolynomialExtender","text":"

Polynomial feature extender.

Generate features consisting of all polynomial combinations of the features with degree less than or equal to the specified degree.

Be aware that the number of outputted features scales polynomially in the number of input features and exponentially in the degree. High degrees can cause overfitting.

"},{"location":"api/feature-extraction/PolynomialExtender/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 2

    The maximum degree of the polynomial features.

  • interaction_only

    Default \u2192 False

    If True then only combinations that include an element at most once will be computed.

  • include_bias

    Default \u2192 False

    Whether or not to include a dummy feature which is always equal to 1.

  • bias_name

    Default \u2192 bias

    Name to give to the bias feature.

"},{"location":"api/feature-extraction/PolynomialExtender/#examples","title":"Examples","text":"

from river import feature_extraction as fx\n\nX = [\n    {'x': 0, 'y': 1},\n    {'x': 2, 'y': 3},\n    {'x': 4, 'y': 5}\n]\n\npoly = fx.PolynomialExtender(degree=2, include_bias=True)\nfor x in X:\n    print(poly.transform_one(x))\n
{'x': 0, 'y': 1, 'x*x': 0, 'x*y': 0, 'y*y': 1, 'bias': 1}\n{'x': 2, 'y': 3, 'x*x': 4, 'x*y': 6, 'y*y': 9, 'bias': 1}\n{'x': 4, 'y': 5, 'x*x': 16, 'x*y': 20, 'y*y': 25, 'bias': 1}\n

X = [\n    {'x': 0, 'y': 1, 'z': 2},\n    {'x': 2, 'y': 3, 'z': 2},\n    {'x': 4, 'y': 5, 'z': 2}\n]\n\npoly = fx.PolynomialExtender(degree=3, interaction_only=True)\nfor x in X:\n    print(poly.transform_one(x))\n
{'x': 0, 'y': 1, 'z': 2, 'x*y': 0, 'x*z': 0, 'y*z': 2, 'x*y*z': 0}\n{'x': 2, 'y': 3, 'z': 2, 'x*y': 6, 'x*z': 4, 'y*z': 6, 'x*y*z': 12}\n{'x': 4, 'y': 5, 'z': 2, 'x*y': 20, 'x*z': 8, 'y*z': 10, 'x*y*z': 40}\n

Polynomial features are typically used for a linear model to capture interactions between features. This may done by setting up a pipeline, as so:

from river import datasets\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = (\n    fx.PolynomialExtender() |\n    pp.StandardScaler() |\n    lm.LogisticRegression()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.88%\n

"},{"location":"api/feature-extraction/PolynomialExtender/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/RBFSampler/","title":"RBFSampler","text":"

Extracts random features which approximate an RBF kernel.

This is a powerful way to give non-linear capacity to linear classifiers. This method is also called \"random Fourier features\" in the literature.

"},{"location":"api/feature-extraction/RBFSampler/#parameters","title":"Parameters","text":"
  • gamma

    Default \u2192 1.0

    RBF kernel parameter in (-gamma * x^2).

  • n_components

    Default \u2192 100

    Number of samples per original feature. Equals the dimensionality of the computed feature space.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed.

"},{"location":"api/feature-extraction/RBFSampler/#examples","title":"Examples","text":"

from river import feature_extraction as fx\nfrom river import linear_model as lm\nfrom river import optim\nfrom river import stream\n\nX = [[0, 0], [1, 1], [1, 0], [0, 1]]\nY = [0, 0, 1, 1]\n\nmodel = lm.LogisticRegression(optimizer=optim.SGD(.1))\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n    y_pred = model.predict_one(x)\n    print(y, int(y_pred))\n
0 0\n0 0\n1 0\n1 1\n

model = (\n    fx.RBFSampler(seed=3) |\n    lm.LogisticRegression(optimizer=optim.SGD(.1))\n)\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n    y_pred = model.predict_one(x)\n    print(y, int(y_pred))\n
0 0\n0 0\n1 1\n1 1\n

"},{"location":"api/feature-extraction/RBFSampler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

Returns

dict: The transformed values.

  1. Rahimi, A. and Recht, B., 2008. Random features for large-scale kernel machines. In Advances in neural information processing systems (pp. 1177-1184 \u21a9

"},{"location":"api/feature-extraction/TFIDF/","title":"TFIDF","text":"

Computes TF-IDF values from sentences.

The TF-IDF formula is the same one as scikit-learn. The only difference is the fact that the document frequencies are determined online, whereas in a batch setting they can be determined by performing an initial pass through the data.

Note that the parameters are identical to those of feature_extraction.BagOfWords.

"},{"location":"api/feature-extraction/TFIDF/#parameters","title":"Parameters","text":"
  • normalize

    Default \u2192 True

    Whether or not the TF-IDF values by their L2 norm.

  • on

    Type \u2192 str | None

    Default \u2192 None

    The name of the feature that contains the text to vectorize. If None, then the input is treated as a document instead of a set of features.

  • strip_accents

    Default \u2192 True

    Whether or not to strip accent characters.

  • lowercase

    Default \u2192 True

    Whether or not to convert all characters to lowercase.

  • preprocessor

    Type \u2192 typing.Callable | None

    Default \u2192 None

    An optional preprocessing function which overrides the strip_accents and lowercase steps, while preserving the tokenizing and n-grams generation steps.

  • tokenizer

    Type \u2192 typing.Callable | None

    Default \u2192 None

    A function used to convert preprocessed text into a dict of tokens. By default, a regex formula that works well in most cases is used.

  • ngram_range

    Default \u2192 (1, 1)

    The lower and upper boundary of the range n-grams to be extracted. All values of n such that min_n <= n <= max_n will be used. For example an ngram_range of (1, 1) means only unigrams, (1, 2) means unigrams and bigrams, and (2, 2) means only bigrams. Only works if tokenizer is not set to False.

"},{"location":"api/feature-extraction/TFIDF/#attributes","title":"Attributes","text":"
  • dfs (collections.defaultdict))

    Document counts.

  • n (int)

    Number of scanned documents.

"},{"location":"api/feature-extraction/TFIDF/#examples","title":"Examples","text":"

from river import feature_extraction\n\ntfidf = feature_extraction.TFIDF()\n\ncorpus = [\n    'This is the first document.',\n    'This document is the second document.',\n    'And this is the third one.',\n    'Is this the first document?',\n]\n\nfor sentence in corpus:\n    tfidf.learn_one(sentence)\n    print(tfidf.transform_one(sentence))\n
{'this': 0.447, 'is': 0.447, 'the': 0.447, 'first': 0.447, 'document': 0.447}\n{'this': 0.333, 'document': 0.667, 'is': 0.333, 'the': 0.333, 'second': 0.469}\n{'and': 0.497, 'this': 0.293, 'is': 0.293, 'the': 0.293, 'third': 0.497, 'one': 0.497}\n{'is': 0.384, 'this': 0.384, 'the': 0.384, 'first': 0.580, 'document': 0.469}\n

In the above example, a string is passed to transform_one. You can also indicate which field to access if the string is stored in a dictionary:

tfidf = feature_extraction.TFIDF(on='sentence')\n\nfor sentence in corpus:\n    x = {'sentence': sentence}\n    tfidf.learn_one(x)\n    print(tfidf.transform_one(x))\n
{'this': 0.447, 'is': 0.447, 'the': 0.447, 'first': 0.447, 'document': 0.447}\n{'this': 0.333, 'document': 0.667, 'is': 0.333, 'the': 0.333, 'second': 0.469}\n{'and': 0.497, 'this': 0.293, 'is': 0.293, 'the': 0.293, 'third': 0.497, 'one': 0.497}\n{'is': 0.384, 'this': 0.384, 'the': 0.384, 'first': 0.580, 'document': 0.469}\n

"},{"location":"api/feature-extraction/TFIDF/#methods","title":"Methods","text":"learn_many learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

process_text transform_many

Transform pandas series of string into term-frequency pandas sparse dataframe.

Parameters

  • X \u2014 'pd.Series'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/TargetAgg/","title":"TargetAgg","text":"

Computes a streaming aggregate of the target values.

This transformer is identical to feature_extraction.Agg, the only difference is that it operates on the target rather than on a feature. At each step, the running statistic how of target values in group by is updated with the target. It is therefore a supervised transformer.

"},{"location":"api/feature-extraction/TargetAgg/#parameters","title":"Parameters","text":"
  • by

    Type \u2192 str | list[str] | None

    The feature by which to group the target values. All the data is included in the aggregate if this is None.

  • how

    Type \u2192 stats.base.Univariate | utils.Rolling | utils.TimeRolling

    The statistic to compute.

  • target_name

    Default \u2192 y

    The target name which is used in the result.

"},{"location":"api/feature-extraction/TargetAgg/#attributes","title":"Attributes","text":"
  • state

    Return the current values for each group as a series.

  • target_name

"},{"location":"api/feature-extraction/TargetAgg/#examples","title":"Examples","text":"

Consider the following dataset, where the second value of each value is the target:

dataset = [\n    ({'country': 'France', 'place': 'Taco Bell'}, 42),\n    ({'country': 'Sweden', 'place': 'Burger King'}, 16),\n    ({'country': 'France', 'place': 'Burger King'}, 24),\n    ({'country': 'Sweden', 'place': 'Taco Bell'}, 58),\n    ({'country': 'Sweden', 'place': 'Burger King'}, 20),\n    ({'country': 'France', 'place': 'Taco Bell'}, 50),\n    ({'country': 'France', 'place': 'Burger King'}, 10),\n    ({'country': 'Sweden', 'place': 'Taco Bell'}, 80)\n]\n

As an example, let's perform a target encoding of the place feature. Instead of simply updating a running average, we use a stats.BayesianMean which allows us to incorporate some prior knowledge. This makes subsequent models less prone to overfitting. Indeed, it dampens the fact that too few samples might have been seen within a group.

from river import feature_extraction\nfrom river import stats\n\nagg = feature_extraction.TargetAgg(\n    by='place',\n    how=stats.BayesianMean(\n        prior=3,\n        prior_weight=1\n    )\n)\n\nfor x, y in dataset:\n    print(agg.transform_one(x))\n    agg.learn_one(x, y)\n
{'y_bayes_mean_by_place': 3.0}\n{'y_bayes_mean_by_place': 3.0}\n{'y_bayes_mean_by_place': 9.5}\n{'y_bayes_mean_by_place': 22.5}\n{'y_bayes_mean_by_place': 14.333}\n{'y_bayes_mean_by_place': 34.333}\n{'y_bayes_mean_by_place': 15.75}\n{'y_bayes_mean_by_place': 38.25}\n

Just like with feature_extraction.Agg, we can specify multiple features on which to group the data:

agg = feature_extraction.TargetAgg(\n    by=['place', 'country'],\n    how=stats.BayesianMean(\n        prior=3,\n        prior_weight=1\n    )\n)\n\nfor x, y in dataset:\n    print(agg.transform_one(x))\n    agg.learn_one(x, y)\n
{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 9.5}\n{'y_bayes_mean_by_place_and_country': 22.5}\n{'y_bayes_mean_by_place_and_country': 13.5}\n{'y_bayes_mean_by_place_and_country': 30.5}\n

agg.state\n
place        country\nTaco Bell    France     31.666667\nBurger King  Sweden     13.000000\n             France     12.333333\nTaco Bell    Sweden     47.000000\nName: y_bayes_mean_by_place_and_country, dtype: float64\n

This transformer can also be used in conjunction with utils.TimeRolling. The latter requires a t argument, which is a timestamp that indicates when the current row was observed. For instance, we can calculate the average (how) revenue (on) for each place (by) over the last 7 days (t):

import datetime as dt\nimport random\nimport string\nfrom river import utils\n\nagg = feature_extraction.TargetAgg(\n    by=\"group\",\n    how=utils.TimeRolling(stats.Mean(), dt.timedelta(days=7))\n)\n\nfor day in range(366):\n    g = random.choice(string.ascii_lowercase)\n    x = {\"group\": g}\n    y = string.ascii_lowercase.index(g) + random.random()\n    t = dt.datetime(2023, 1, 1) + dt.timedelta(days=day)\n    agg.learn_one(x, y, t=t)\n
"},{"location":"api/feature-extraction/TargetAgg/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'
  • t \u2014 defaults to None

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

1. Streaming groupbys in pandas for big datasets

"},{"location":"api/feature-selection/PoissonInclusion/","title":"PoissonInclusion","text":"

Randomly selects features with an inclusion trial.

When a new feature is encountered, it is selected with probability p. The number of times a feature needs to beseen before it is added to the model follows a geometric distribution with expected value 1 / p. This feature selection method is meant to be used when you have a very large amount of sparse features.

"},{"location":"api/feature-selection/PoissonInclusion/#parameters","title":"Parameters","text":"
  • p

    Type \u2192 float

    Probability of including a feature the first time it is encountered.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed value used for reproducibility.

"},{"location":"api/feature-selection/PoissonInclusion/#examples","title":"Examples","text":"

from river import datasets\nfrom river import feature_selection\nfrom river import stream\n\nselector = feature_selection.PoissonInclusion(p=0.1, seed=42)\n\ndataset = iter(datasets.TrumpApproval())\n\nfeature_names = next(dataset)[0].keys()\nn = 0\n\nwhile True:\n    x, y = next(dataset)\n    xt = selector.transform_one(x)\n    if xt.keys() == feature_names:\n        break\n    n += 1\n\nn\n
12\n

"},{"location":"api/feature-selection/PoissonInclusion/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. McMahan, H.B., Holt, G., Sculley, D., Young, M., Ebner, D., Grady, J., Nie, L., Phillips, T., Davydov, E., Golovin, D. and Chikkerur, S., 2013, August. Ad click prediction: a view from the trenches. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 1222-1230) \u21a9

"},{"location":"api/feature-selection/SelectKBest/","title":"SelectKBest","text":"

Removes all but the \\(k\\) highest scoring features.

"},{"location":"api/feature-selection/SelectKBest/#parameters","title":"Parameters","text":"
  • similarity

    Type \u2192 stats.base.Bivariate

  • k

    Default \u2192 10

    The number of features to keep.

"},{"location":"api/feature-selection/SelectKBest/#attributes","title":"Attributes","text":"
  • similarities (dict)

    The similarity instances used for each feature.

  • leaderboard (dict)

    The actual similarity measures.

"},{"location":"api/feature-selection/SelectKBest/#examples","title":"Examples","text":"

from pprint import pprint\nfrom river import feature_selection\nfrom river import stats\nfrom river import stream\nfrom sklearn import datasets\n\nX, y = datasets.make_regression(\n    n_samples=100,\n    n_features=10,\n    n_informative=2,\n    random_state=42\n)\n\nselector = feature_selection.SelectKBest(\n    similarity=stats.PearsonCorr(),\n    k=2\n)\n\nfor xi, yi, in stream.iter_array(X, y):\n    selector.learn_one(xi, yi)\n\npprint(selector.leaderboard)\n
Counter({9: 0.7898,\n        7: 0.5444,\n        8: 0.1062,\n        2: 0.0638,\n        4: 0.0538,\n        5: 0.0271,\n        1: -0.0312,\n        6: -0.0657,\n        3: -0.1501,\n        0: -0.1895})\n

selector.transform_one(xi)\n
{7: -1.2795, 9: -1.8408}\n

"},{"location":"api/feature-selection/SelectKBest/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-selection/VarianceThreshold/","title":"VarianceThreshold","text":"

Removes low-variance features.

"},{"location":"api/feature-selection/VarianceThreshold/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 0

    Only features with a variance above the threshold will be kept.

  • min_samples

    Default \u2192 2

    The minimum number of samples required to perform selection.

"},{"location":"api/feature-selection/VarianceThreshold/#attributes","title":"Attributes","text":"
  • variances (dict)

    The variance of each feature.

"},{"location":"api/feature-selection/VarianceThreshold/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import stream\n\nX = [\n    [0, 2, 0, 3],\n    [0, 1, 4, 3],\n    [0, 1, 1, 3]\n]\n\nselector = feature_selection.VarianceThreshold()\n\nfor x, _ in stream.iter_array(X):\n    selector.learn_one(x)\n    print(selector.transform_one(x))\n
{0: 0, 1: 2, 2: 0, 3: 3}\n{1: 1, 2: 4}\n{1: 1, 2: 1}\n

"},{"location":"api/feature-selection/VarianceThreshold/#methods","title":"Methods","text":"check_feature learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/forest/AMFClassifier/","title":"AMFClassifier","text":"

Aggregated Mondrian Forest classifier for online learning.

This implementation is truly online1, in the sense that a single pass is performed, and that predictions can be produced anytime.

Each node in a tree predicts according to the distribution of the labels it contains. This distribution is regularized using a \"Jeffreys\" prior with parameter dirichlet. For each class with count labels in the node and n_samples samples in it, the prediction of a node is given by

\\(\\frac{count + dirichlet}{n_{samples} + dirichlet \\times n_{classes}}\\).

The prediction for a sample is computed as the aggregated predictions of all the subtrees along the path leading to the leaf node containing the sample. The aggregation weights are exponential weights with learning rate step and log-loss when use_aggregation is True.

This computation is performed exactly thanks to a context tree weighting algorithm. More details can be found in the paper cited in the references below.

The final predictions are the average class probabilities predicted by each of the n_estimators trees in the forest.

"},{"location":"api/forest/AMFClassifier/#parameters","title":"Parameters","text":"
  • n_estimators

    Type \u2192 int

    Default \u2192 10

    The number of trees in the forest.

  • step

    Type \u2192 float

    Default \u2192 1.0

    Step-size for the aggregation weights. Default is 1 for classification with the log-loss, which is usually the best choice.

  • use_aggregation

    Type \u2192 bool

    Default \u2192 True

    Controls if aggregation is used in the trees. It is highly recommended to leave it as True.

  • dirichlet

    Type \u2192 float

    Default \u2192 0.5

    Regularization level of the class frequencies used for predictions in each node. A rule of thumb is to set this to 1 / n_classes, where n_classes is the expected number of classes which might appear. Default is dirichlet = 0.5, which works well for binary classification problems.

  • split_pure

    Type \u2192 bool

    Default \u2192 False

    Controls if nodes that contains only sample of the same class should be split (\"pure\" nodes). Default is False, namely pure nodes are not split, but True can be sometimes better.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/AMFClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/AMFClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\n\ndataset = datasets.Bananas().take(500)\n\nmodel = forest.AMFClassifier(\n    n_estimators=10,\n    use_aggregation=True,\n    dirichlet=0.5,\n    seed=1\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 85.37%\n

"},{"location":"api/forest/AMFClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/forest/AMFClassifier/#notes","title":"Notes","text":"

Only log_loss used for the computation of the aggregation weights is supported for now, namely the log-loss for multi-class classification.

  1. Mourtada, J., Ga\u00efffas, S., & Scornet, E. (2021). AMF: Aggregated Mondrian forests for online learning. Journal of the Royal Statistical Society Series B: Statistical Methodology, 83(3), 505-533.\u00a0\u21a9

"},{"location":"api/forest/AMFRegressor/","title":"AMFRegressor","text":"

Aggregated Mondrian Forest regressor for online learning.

This algorithm is truly online, in the sense that a single pass is performed, and that predictions can be produced anytime.

Each node in a tree predicts according to the average of the labels it contains. The prediction for a sample is computed as the aggregated predictions of all the subtrees along the path leading to the leaf node containing the sample. The aggregation weights are exponential weights with learning rate step using a squared loss when use_aggregation is True.

This computation is performed exactly thanks to a context tree weighting algorithm. More details can be found in the original paper1.

The final predictions are the average of the predictions of each of the n_estimators trees in the forest.

"},{"location":"api/forest/AMFRegressor/#parameters","title":"Parameters","text":"
  • n_estimators

    Type \u2192 int

    Default \u2192 10

    The number of trees in the forest.

  • step

    Type \u2192 float

    Default \u2192 1.0

    Step-size for the aggregation weights.

  • use_aggregation

    Type \u2192 bool

    Default \u2192 True

    Controls if aggregation is used in the trees. It is highly recommended to leave it as True.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/AMFRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/AMFRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\n\ndataset = datasets.TrumpApproval()\nmodel = forest.AMFRegressor(seed=42)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.268533\n

"},{"location":"api/forest/AMFRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Mourtada, J., Ga\u00efffas, S., & Scornet, E. (2021). AMF: Aggregated Mondrian forests for online learning. Journal of the Royal Statistical Society Series B: Statistical Methodology, 83(3), 505-533.\u00a0\u21a9

"},{"location":"api/forest/ARFClassifier/","title":"ARFClassifier","text":"

Adaptive Random Forest classifier.

The 3 most important aspects of Adaptive Random Forest 1 are:

  1. inducing diversity through re-sampling

  2. inducing diversity through randomly selecting subsets of features for node splits

  3. drift detectors per base tree, which cause selective resets in response to drifts

It also allows training background trees, which start training if a warning is detected and replace the active tree if the warning escalates to a drift.

"},{"location":"api/forest/ARFClassifier/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of trees in the ensemble.

  • max_features

    Type \u2192 bool | str | int

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If None, then max_features=n_features.

  • lambda_value

    Type \u2192 int

    Default \u2192 6

    The lambda value for bagging (lambda=6 corresponds to Leveraging Bagging).

  • metric

    Type \u2192 metrics.base.MultiClassMetric | None

    Default \u2192 None

    Metric used to track trees performance within the ensemble. Defaults to metrics.Accuracy()`.

  • disable_weighted_vote

    Default \u2192 False

    If True, disables the weighted vote prediction.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift Detection method. Set to None to disable Drift detection. Defaults to drift.ADWIN(delta=0.001)`.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning Detection method. Set to None to disable warning detection. Defaults to drift.ADWIN(delta=0.01)`.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    [Tree parameter] The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    [Tree parameter] Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Hellinger Distance

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    [Tree parameter] Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    [Tree parameter] Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    [Tree parameter] The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    [Tree parameter] Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/ARFClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/ARFClassifier/#examples","title":"Examples","text":"

from river import evaluate\nfrom river import forest\nfrom river import metrics\nfrom river.datasets import synth\n\ndataset = synth.ConceptDriftStream(\n    seed=42,\n    position=500,\n    width=40\n).take(1000)\n\nmodel = forest.ARFClassifier(seed=8, leaf_prediction=\"mc\")\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 71.17%\n

The total number of warnings and drifts detected, respectively

model.n_warnings_detected(), model.n_drifts_detected()\n
(2, 1)\n

The number of warnings detected by tree number 2

model.n_warnings_detected(2)\n
1\n

And the corresponding number of actual concept drift detected

model.n_drifts_detected(2)\n
1\n

"},{"location":"api/forest/ARFClassifier/#methods","title":"Methods","text":"learn_one n_drifts_detected

Get the total number of concept drifts detected, or such number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drifts detected.

n_warnings_detected

Get the total number of concept drift warnings detected, or the number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drift warnings detected.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Heitor Murilo Gomes, Albert Bifet, Jesse Read, Jean Paul Barddal, Fabricio Enembreck, Bernhard Pfharinger, Geoff Holmes, Talel Abdessalem. Adaptive random forests for evolving data stream classification. In Machine Learning, DOI: 10.1007/s10994-017-5642-8, Springer, 2017.\u00a0\u21a9

"},{"location":"api/forest/ARFRegressor/","title":"ARFRegressor","text":"

Adaptive Random Forest regressor.

The 3 most important aspects of Adaptive Random Forest 1 are:

  1. inducing diversity through re-sampling

  2. inducing diversity through randomly selecting subsets of features for node splits

  3. drift detectors per base tree, which cause selective resets in response to drifts

Notice that this implementation is slightly different from the original algorithm proposed in 2. The HoeffdingTreeRegressor is used as base learner, instead of FIMT-DD. It also adds a new strategy to monitor the predictions and check for concept drifts. The deviations of the predictions to the target are monitored and normalized in the [0, 1] range to fulfill ADWIN's requirements. We assume that the data subjected to the normalization follows a normal distribution, and thus, lies within the interval of the mean \\(\\pm3\\sigma\\).

"},{"location":"api/forest/ARFRegressor/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of trees in the ensemble.

  • max_features

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If None, then max_features=n_features.

  • aggregation_method

    Type \u2192 str

    Default \u2192 median

    The method to use to aggregate predictions in the ensemble. - 'mean' - 'median' - If selected will disable the weighted vote.

  • lambda_value

    Type \u2192 int

    Default \u2192 6

    The lambda value for bagging (lambda=6 corresponds to Leveraging Bagging).

  • metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    Metric used to track trees performance within the ensemble. Depending, on the configuration, this metric is also used to weight predictions from the members of the ensemble. Defaults to metrics.MSE()`.

  • disable_weighted_vote

    Default \u2192 True

    If True, disables the weighted vote prediction, i.e. does not assign weights to individual tree's predictions and uses the arithmetic mean instead. Otherwise will use the metric value to weight predictions.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift Detection method. Set to None to disable Drift detection. Defaults to drift.ADWIN(0.001)`.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning Detection method. Set to None to disable warning detection. Defaults to drift.ADWIN(0.01)`.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    [Tree parameter] The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    [Tree parameter] Prediction mechanism used at leaves. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    [Tree parameter] The regression model used to provide responses if leaf_prediction='model'. If not provided, an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    [Tree parameter] The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    [Tree parameter] The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters.By default, tree.splitter.EBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    [Tree parameter] The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/ARFRegressor/#attributes","title":"Attributes","text":"
  • models

  • valid_aggregation_method

    Valid aggregation_method values.

"},{"location":"api/forest/ARFRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    forest.ARFRegressor(seed=42)\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.788619\n

"},{"location":"api/forest/ARFRegressor/#methods","title":"Methods","text":"learn_one n_drifts_detected

Get the total number of concept drifts detected, or such number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drifts detected.

n_warnings_detected

Get the total number of concept drift warnings detected, or the number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drift warnings detected.

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

  1. Gomes, H.M., Bifet, A., Read, J., Barddal, J.P., Enembreck, F., Pfharinger, B., Holmes, G. and Abdessalem, T., 2017. Adaptive random forests for evolving data stream classification. Machine Learning, 106(9-10), pp.1469-1495.\u00a0\u21a9

  2. Gomes, H.M., Barddal, J.P., Boiko, L.E., Bifet, A., 2018. Adaptive random forests for data stream regression. ESANN 2018.\u00a0\u21a9

"},{"location":"api/forest/OXTRegressor/","title":"OXTRegressor","text":"

Online Extra Trees regressor.

The online Extra Trees1 ensemble takes some steps further into randomization when compared to Adaptive Random Forests (ARF). A subspace of the feature space is considered at each split attempt, as ARF does, and online bagging or subbagging can also be (optionally) used. Nonetheless, Extra Trees randomizes the split candidates evaluated by each leaf node (just a single split is tested by numerical feature, which brings significant speedups to the ensemble), and might also randomize the maximum depth of the forest members, as well as the size of the feature subspace processed by each of its trees' leaves.

On the other hand, OXT suffers from a cold-start problem. As the splits are random, the predictive performance in small samples is usually worse than using a deterministic split approach, such as the one used by ARF.

"},{"location":"api/forest/OXTRegressor/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    The number of trees in the ensemble.

  • max_features

    Type \u2192 bool | str | int

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If \"random\", then max_features will assume a different random number in the interval [2, n_features] for each tree leaf. - If None, then max_features=n_features.

  • resampling_strategy

    Type \u2192 str | None

    Default \u2192 subbagging

    The chosen instance resampling strategy: - If None, no resampling will be done and the trees will process all instances. - If 'baggging', online bagging will be performed (sampling with replacement). - If 'subbagging', online subbagging will be performed (sampling without replacement).

  • resampling_rate

    Type \u2192 int | float

    Default \u2192 0.5

    Only valid if resampling_strategy is not None. Controls the parameters of the resampling strategy.. - If resampling_strategy='bagging', must be an integer greater than or equal to 1 that parameterizes the poisson distribution used to simulate bagging in online learning settings. It acts as the lambda parameter of Oza Bagging and Leveraging Bagging. - If resampling_strategy='subbagging', must be a float in the interval \\((0, 1]\\) that controls the chance of each instance being used by a tree for learning.

  • detection_mode

    Type \u2192 str

    Default \u2192 all

    The concept drift detection mode in which the forest operates. Valid values are: - \"all\": creates both warning and concept drift detectors. If a warning is detected, an alternate tree starts being trained in the background. If the warning trigger escalates to a concept drift, the affected tree is replaced by the alternate tree. - \"drop\": only the concept drift detectors are created. If a drift is detected, the affected tree is dropped and replaced by a new tree. - \"off\": disables the concept drift adaptation capabilities. The forest will act as if the processed stream is stationary.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The detector that will be used to trigger concept drift warnings. Defaults to drift.ADWIN(0.01)`.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The detector used to detect concept drifts. Defaults to drift.ADWIN(0.001)`.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the ensemble members might reach. If None, the trees will grow indefinitely.

  • randomize_tree_depth

    Type \u2192 bool

    Default \u2192 False

    Whether or not randomize the maximum depth of each tree in the ensemble. If max_depth is provided, it is going to act as an upper bound to generate the maximum depth for each tree.

  • track_metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    The performance metric used to weight predictions. Defaults to metrics.MAE()`.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 True

    Defines whether or not to use predictions weighted by each trees' prediction performance.

  • split_buffer_size

    Type \u2192 int

    Default \u2192 5

    Defines the size of the buffer used by the tree splitters when determining the feature range and a random split point in this interval.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed to support reproducibility.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    [Tree parameter] Prediction mechanism used at leaves. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    [Tree parameter] The regression model used to provide responses if leaf_prediction='model'. If not provided, an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    [Tree parameter] The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    [Tree parameter] The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • max_size

    Type \u2192 int

    Default \u2192 500

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

"},{"location":"api/forest/OXTRegressor/#attributes","title":"Attributes","text":"
  • instances_per_tree

    The number of instances processed by each one of the current forest members. Each time a concept drift is detected, the count corresponding to the affected tree is reset.

  • models

  • n_drifts

    The number of concept drifts detected per ensemble member.

  • n_tree_swaps

    The number of performed alternate tree swaps. Not applicable if the warning detectors are disabled.

  • n_warnings

    The number of warnings detected per ensemble member.

  • total_instances

    The total number of instances processed by the ensemble.

"},{"location":"api/forest/OXTRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import forest\n\ndataset = datasets.synth.Friedman(seed=42).take(5000)\n\nmodel = forest.OXTRegressor(n_models=3, seed=42)\n\nmetric = metrics.RMSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
RMSE: 3.127311\n

"},{"location":"api/forest/OXTRegressor/#methods","title":"Methods","text":"learn_one predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/forest/OXTRegressor/#notes","title":"Notes","text":"

As the Online Extra Trees change the way in which Hoeffding Trees perform split attempts and monitor numerical input features, some of the parameters of the vanilla Hoeffding Tree algorithms are not available.

  1. Mastelini, S. M., Nakano, F. K., Vens, C., & de Leon Ferreira, A. C. P. (2022). Online Extra Trees Regressor. IEEE Transactions on Neural Networks and Learning Systems.\u00a0\u21a9

"},{"location":"api/imblearn/ChebyshevOverSampler/","title":"ChebyshevOverSampler","text":"

Over-sampling for imbalanced regression using Chebyshev's inequality.

Chebyshev's inequality can be used to define the probability of target observations being frequent values (w.r.t. the distribution mean).

Let \\(Y\\) be a random variable with finite expected value \\(\\overline{y}\\) and non-zero variance \\(\\sigma^2\\). For any real number \\(t > 0\\), the Chebyshev's inequality states that, for a wide class of unimodal probability distributions: \\(Pr(|y-\\overline{y}| \\ge t\\sigma) \\le \\dfrac{1}{t^2}\\).

Taking \\(t=\\dfrac{|y-\\overline{y}|}{\\sigma}\\), and assuming \\(t > 1\\), the Chebyshev\u2019s inequality for an observation \\(y\\) becomes: \\(P(|y - \\overline{y}|=t) = \\dfrac{\\sigma^2}{|y-\\overline{y}|}\\).

Alternatively, one can use \\(t\\) directly to estimate a frequency weight \\(\\kappa = \\lceil t\\rceil\\) and define an over-sampling strategy for extreme and rare target values1. Each incoming instance is used \\(\\kappa\\) times to update the underlying regressor. Frequent target values contribute only once to the underlying regressor, whereas rares cases are used multiple times for training.

"},{"location":"api/imblearn/ChebyshevOverSampler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regression model that will receive the biased sample.

"},{"location":"api/imblearn/ChebyshevOverSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.ChebyshevOverSampler(\n        regressor=rules.AMRules(\n            n_min=50, delta=0.01\n        )\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 1.673902\n[1,000] MAE: 1.743046\n[1,001] MAE: 1.741335\nMAE: 1.741335\n

"},{"location":"api/imblearn/ChebyshevOverSampler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

  1. Aminian, Ehsan, Rita P. Ribeiro, and Jo\u00e3o Gama. \"Chebyshev approaches for imbalanced data streams regression models.\" Data Mining and Knowledge Discovery 35.6 (2021): 2389-2466.\u00a0\u21a9

"},{"location":"api/imblearn/ChebyshevUnderSampler/","title":"ChebyshevUnderSampler","text":"

Under-sampling for imbalanced regression using Chebyshev's inequality.

Chebyshev's inequality can be used to define the probability of target observations being frequent values (w.r.t. the distribution mean).

Let \\(Y\\) be a random variable with finite expected value \\(\\overline{y}\\) and non-zero variance \\(\\sigma^2\\). For any real number \\(t > 0\\), the Chebyshev's inequality states that, for a wide class of unimodal probability distributions: \\(Pr(|y-\\overline{y}| \\ge t\\sigma) \\le \\dfrac{1}{t^2}\\).

Taking \\(t=\\dfrac{|y-\\overline{y}|}{\\sigma}\\), and assuming \\(t > 1\\), the Chebyshev\u2019s inequality for an observation \\(y\\) becomes: \\(P(|y - \\overline{y}|=t) = \\dfrac{\\sigma^2}{|y-\\overline{y}|}\\). The reciprocal of this probability is used for under-sampling1 the most frequent cases. Extreme valued or rare cases have higher probabilities of selection, whereas the most frequent cases are likely to be discarded. Still, frequent cases have a small chance of being selected (controlled via the sp parameter) in case few rare instances were observed.

"},{"location":"api/imblearn/ChebyshevUnderSampler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regression model that will receive the biased sample.

  • sp

    Type \u2192 float

    Default \u2192 0.15

    Second chance probability. Even if an example is not initially selected for training, it still has a small chance of being selected in case the number of rare case observed so far is small.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed to support reproducibility.

"},{"location":"api/imblearn/ChebyshevUnderSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.ChebyshevUnderSampler(\n        regressor=rules.AMRules(\n            n_min=50, delta=0.01,\n        ),\n        seed=42\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 1.787162\n[1,000] MAE: 1.515711\n[1,001] MAE: 1.515236\nMAE: 1.515236\n

"},{"location":"api/imblearn/ChebyshevUnderSampler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

  1. Aminian, Ehsan, Rita P. Ribeiro, and Jo\u00e3o Gama. \"Chebyshev approaches for imbalanced data streams regression models.\" Data Mining and Knowledge Discovery 35.6 (2021): 2389-2466.\u00a0\u21a9

"},{"location":"api/imblearn/HardSamplingClassifier/","title":"HardSamplingClassifier","text":"

Hard sampling classifier.

This wrapper enables a model to retrain on past samples who's output was hard to predict. This works by storing the hardest samples in a buffer of a fixed size. When a new sample arrives, the wrapped model is either trained on one of the buffered samples with a probability p or on the new sample with a probability (1 - p).

The hardness of an observation is evaluated with a loss function that compares the sample's ground truth with the wrapped model's prediction. If the buffer is not full, then the sample is added to the buffer. If the buffer is full and the new sample has a bigger loss than the lowest loss in the buffer, then the sample takes its place.

"},{"location":"api/imblearn/HardSamplingClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • size

    Type \u2192 int

    Size of the buffer.

  • p

    Type \u2192 float

    Probability of updating the model with a sample from the buffer instead of a new incoming sample.

  • loss

    Type \u2192 optim.losses.BinaryLoss | optim.losses.MultiClassLoss | None

    Default \u2192 None

    Criterion used to evaluate the hardness of a sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed.

"},{"location":"api/imblearn/HardSamplingClassifier/#attributes","title":"Attributes","text":"
  • classifier
"},{"location":"api/imblearn/HardSamplingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.HardSamplingClassifier(\n        classifier=linear_model.LogisticRegression(),\n        p=0.1,\n        size=40,\n        seed=42,\n    )\n)\n\nevaluate.progressive_val_score(\n    dataset=datasets.Phishing(),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=500,\n)\n
[500] ROCAUC: 92.78%\n[1,000] ROCAUC: 94.76%\n[1,250] ROCAUC: 95.06%\nROCAUC: 95.06%\n

"},{"location":"api/imblearn/HardSamplingClassifier/#methods","title":"Methods","text":"learn_one predict_one predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/HardSamplingRegressor/","title":"HardSamplingRegressor","text":"

Hard sampling regressor.

This wrapper enables a model to retrain on past samples who's output was hard to predict. This works by storing the hardest samples in a buffer of a fixed size. When a new sample arrives, the wrapped model is either trained on one of the buffered samples with a probability p or on the new sample with a probability (1 - p).

The hardness of an observation is evaluated with a loss function that compares the sample's ground truth with the wrapped model's prediction. If the buffer is not full, then the sample is added to the buffer. If the buffer is full and the new sample has a bigger loss than the lowest loss in the buffer, then the sample takes its place.

"},{"location":"api/imblearn/HardSamplingRegressor/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

  • size

    Type \u2192 int

    Size of the buffer.

  • p

    Type \u2192 float

    Probability of updating the model with a sample from the buffer instead of a new incoming sample.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    Criterion used to evaluate the hardness of a sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed.

"},{"location":"api/imblearn/HardSamplingRegressor/#attributes","title":"Attributes","text":"
  • regressor
"},{"location":"api/imblearn/HardSamplingRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.HardSamplingRegressor(\n        regressor=linear_model.LinearRegression(),\n        p=.2,\n        size=30,\n        seed=42,\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 2.274021\n[1,000] MAE: 1.392399\n[1,001] MAE: 1.391246\nMAE: 1.391246\n

"},{"location":"api/imblearn/HardSamplingRegressor/#methods","title":"Methods","text":"learn_one predict_one"},{"location":"api/imblearn/RandomOverSampler/","title":"RandomOverSampler","text":"

Random over-sampling.

This is a wrapper for classifiers. It will train the provided classifier by over-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution. The implementation is a discrete version of reverse rejection sampling.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomOverSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomOverSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomOverSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.0457...\n

"},{"location":"api/imblearn/RandomOverSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/RandomSampler/","title":"RandomSampler","text":"

Random sampling by mixing under-sampling and over-sampling.

This is a wrapper for classifiers. It will train the provided classifier by both under-sampling and over-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1. If set to None, then the observations will be sampled uniformly at random, which is stricly equivalent to using ensemble.BaggingClassifier.

  • sampling_rate

    Default \u2192 1.0

    The desired ratio of data to sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    sampling_rate=0.8,\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.09...\n

"},{"location":"api/imblearn/RandomSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/RandomUnderSampler/","title":"RandomUnderSampler","text":"

Random under-sampling.

This is a wrapper for classifiers. It will train the provided classifier by under-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution. The implementation is a discrete version of rejection sampling.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomUnderSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomUnderSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomUnderSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.0336...\n

"},{"location":"api/imblearn/RandomUnderSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Under-sampling a dataset with desired ratios \u21a9

  2. Wikipedia article on rejection sampling \u21a9

"},{"location":"api/linear-model/ALMAClassifier/","title":"ALMAClassifier","text":"

Approximate Large Margin Algorithm (ALMA).

"},{"location":"api/linear-model/ALMAClassifier/#parameters","title":"Parameters","text":"
  • p

    Default \u2192 2

  • alpha

    Default \u2192 0.9

  • B

    Default \u2192 1.1111111111111112

  • C

    Default \u2192 1.4142135623730951

"},{"location":"api/linear-model/ALMAClassifier/#attributes","title":"Attributes","text":"
  • w (collections.defaultdict)

    The current weights.

  • k (int)

    The number of instances seen during training.

"},{"location":"api/linear-model/ALMAClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.ALMAClassifier()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 82.56%\n

"},{"location":"api/linear-model/ALMAClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Gentile, Claudio. \"A new approximate maximal margin classification algorithm.\" Journal of Machine Learning Research 2.Dec (2001): 213-242 \u21a9

"},{"location":"api/linear-model/BayesianLinearRegression/","title":"BayesianLinearRegression","text":"

Bayesian linear regression.

An advantage of Bayesian linear regression over standard linear regression is that features do not have to scaled beforehand. Another attractive property is that this flavor of linear regression is somewhat insensitive to its hyperparameters. Finally, this model can output instead a predictive distribution rather than just a point estimate.

The downside is that the learning step runs in O(n^2) time, whereas the learning step of standard linear regression takes O(n) time.

"},{"location":"api/linear-model/BayesianLinearRegression/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1

    Prior parameter.

  • beta

    Default \u2192 1

    Noise parameter.

  • smoothing

    Type \u2192 float | None

    Default \u2192 None

    Smoothing allows the model to gradually \"forget\" the past, and focus on the more recent data. It thus enables the model to deal with concept drift. Due to the current implementation, activating smoothing may slow down the model.

"},{"location":"api/linear-model/BayesianLinearRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.TrumpApproval()\nmodel = linear_model.BayesianLinearRegression()\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.586...\n

x, _ = next(iter(dataset))\nmodel.predict_one(x)\n
43.852...\n

model.predict_one(x, with_dist=True)\n
\ud835\udca9(\u03bc=43.85..., \u03c3=1.00...)\n

The smoothing parameter can be set to make the model robust to drift. The parameter is expected to be between 0 and 1. To exemplify, let's generate some simulation data with an abrupt concept drift right in the middle.

import itertools\nimport random\n\ndef random_data(coefs, n, seed=42):\n    rng = random.Random(seed)\n    for _ in range(n):\n        x = {i: rng.random() for i, c in enumerate(coefs)}\n        y = sum(c * xi for c, xi in zip(coefs, x.values()))\n        yield x, y\n

Here's how the model performs without any smoothing:

model = linear_model.BayesianLinearRegression()\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.284...\n

And here's how it performs with some smoothing:

model = linear_model.BayesianLinearRegression(smoothing=0.8)\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.159...\n

Smoothing allows the model to gradually \"forget\" the past, and focus on the more recent data.

Note how this works better than standard linear regression, even when using an aggressive learning rate.

from river import optim\nmodel = linear_model.LinearRegression(optimizer=optim.SGD(0.5))\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.242...\n

"},{"location":"api/linear-model/BayesianLinearRegression/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'
  • with_dist \u2014 defaults to False

Returns

base.typing.RegTarget: The prediction.

  1. Pattern Recognition and Machine Learning, page 52 \u2014 Christopher M. Bishop \u21a9

  2. Bayesian/Streaming Algorithms \u2014 Vincent Warmerdam \u21a9

  3. Bayesian linear regression for practitioners \u2014 Max Halford \u21a9

"},{"location":"api/linear-model/LinearRegression/","title":"LinearRegression","text":"

Linear regression.

This estimator supports learning with mini-batches. On top of the single instance methods, it provides the following methods: learn_many, predict_many, predict_proba_many. Each method takes as input a pandas.DataFrame where each column represents a feature.

It is generally a good idea to scale the data beforehand in order for the optimizer to converge. You can do this online with a preprocessing.StandardScaler.

"},{"location":"api/linear-model/LinearRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights. Note that the intercept updates are handled separately.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/LinearRegression/#attributes","title":"Attributes","text":"
  • weights (dict)

    The current weights.

"},{"location":"api/linear-model/LinearRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(intercept_lr=.1)\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.558735\n

model['LinearRegression'].intercept\n
35.617670\n

You can call the debug_one method to break down a prediction. This works even if the linear regression is part of a pipeline.

x, y = next(iter(dataset))\nreport = model.debug_one(x)\nprint(report)\n
0. Input\n--------\ngallup: 43.84321 (float)\nipsos: 46.19925 (float)\nmorning_consult: 48.31875 (float)\nordinal_date: 736389 (int)\nrasmussen: 44.10469 (float)\nyou_gov: 43.63691 (float)\n<BLANKLINE>\n1. StandardScaler\n-----------------\ngallup: 1.18810 (float)\nipsos: 2.10348 (float)\nmorning_consult: 2.73545 (float)\nordinal_date: -1.73032 (float)\nrasmussen: 1.26872 (float)\nyou_gov: 1.48391 (float)\n<BLANKLINE>\n2. LinearRegression\n-------------------\nName              Value      Weight      Contribution\n      Intercept    1.00000    35.61767       35.61767\n          ipsos    2.10348     0.62689        1.31866\nmorning_consult    2.73545     0.24180        0.66144\n         gallup    1.18810     0.43568        0.51764\n      rasmussen    1.26872     0.28118        0.35674\n        you_gov    1.48391     0.03123        0.04634\n   ordinal_date   -1.73032     3.45162       -5.97242\n<BLANKLINE>\nPrediction: 32.54607\n

"},{"location":"api/linear-model/LinearRegression/#methods","title":"Methods","text":"debug_one

Debugs the output of the linear regression.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_many

Update the model with a mini-batch of features X and real-valued targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X

Returns

The predicted outcomes.

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/linear-model/LogisticRegression/","title":"LogisticRegression","text":"

Logistic regression.

This estimator supports learning with mini-batches. On top of the single instance methods, it provides the following methods: learn_many, predict_many, predict_proba_many. Each method takes as input a pandas.DataFrame where each column represents a feature.

It is generally a good idea to scale the data beforehand in order for the optimizer to converge. You can do this online with a preprocessing.StandardScaler.

"},{"location":"api/linear-model/LogisticRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights. Note that the intercept is handled separately.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for. Defaults to optim.losses.Log.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 float | optim.base.Scheduler

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/LogisticRegression/#attributes","title":"Attributes","text":"
  • weights

    The current weights.

"},{"location":"api/linear-model/LogisticRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer=optim.SGD(.1))\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.96%\n

"},{"location":"api/linear-model/LogisticRegression/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/linear-model/PAClassifier/","title":"PAClassifier","text":"

Passive-aggressive learning for classification.

"},{"location":"api/linear-model/PAClassifier/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 1.0

  • mode

    Default \u2192 1

  • learn_intercept

    Default \u2192 True

"},{"location":"api/linear-model/PAClassifier/#examples","title":"Examples","text":"

The following example is taken from this blog post.

from river import linear_model\nfrom river import metrics\nfrom river import stream\nimport numpy as np\nfrom sklearn import datasets\nfrom sklearn import model_selection\n\nnp.random.seed(1000)\nX, y = datasets.make_classification(\n    n_samples=5000,\n    n_features=4,\n    n_informative=2,\n    n_redundant=0,\n    n_repeated=0,\n    n_classes=2,\n    n_clusters_per_class=2\n)\n\nX_train, X_test, y_train, y_test = model_selection.train_test_split(\n    X,\n    y,\n    test_size=0.35,\n    random_state=1000\n)\n\nmodel = linear_model.PAClassifier(\n    C=0.01,\n    mode=1\n)\n\nfor xi, yi in stream.iter_array(X_train, y_train):\n    model.learn_one(xi, yi)\n\nmetric = metrics.Accuracy() + metrics.LogLoss()\n\nfor xi, yi in stream.iter_array(X_test, y_test):\n    metric.update(yi, model.predict_proba_one(xi))\n\nprint(metric)\n
Accuracy: 88.46%\nLogLoss: 0.325727...\n

"},{"location":"api/linear-model/PAClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S. and Singer, Y., 2006. Online passive-aggressive algorithms. Journal of Machine Learning Research, 7(Mar), pp.551-585 \u21a9

"},{"location":"api/linear-model/PARegressor/","title":"PARegressor","text":"

Passive-aggressive learning for regression.

"},{"location":"api/linear-model/PARegressor/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 1.0

  • mode

    Default \u2192 1

  • eps

    Default \u2192 0.1

  • learn_intercept

    Default \u2192 True

"},{"location":"api/linear-model/PARegressor/#examples","title":"Examples","text":"

The following example is taken from this blog post.

from river import linear_model\nfrom river import metrics\nfrom river import stream\nimport numpy as np\nfrom sklearn import datasets\n\nnp.random.seed(1000)\nX, y = datasets.make_regression(n_samples=500, n_features=4)\n\nmodel = linear_model.PARegressor(\n    C=0.01,\n    mode=2,\n    eps=0.1,\n    learn_intercept=False\n)\nmetric = metrics.MAE() + metrics.MSE()\n\nfor xi, yi in stream.iter_array(X, y):\n    y_pred = model.predict_one(xi)\n    model.learn_one(xi, yi)\n    metric.update(yi, y_pred)\n\nprint(metric)\n
MAE: 9.809402\nMSE: 472.393532\n

"},{"location":"api/linear-model/PARegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S. and Singer, Y., 2006. Online passive-aggressive algorithms. Journal of Machine Learning Research, 7(Mar), pp.551-585. \u21a9

"},{"location":"api/linear-model/Perceptron/","title":"Perceptron","text":"

Perceptron classifier.

In this implementation, the Perceptron is viewed as a special case of the logistic regression. The loss function that is used is the Hinge loss with a threshold set to 0, whilst the learning rate of the stochastic gradient descent procedure is set to 1 for both the weights and the intercept.

"},{"location":"api/linear-model/Perceptron/#parameters","title":"Parameters","text":"
  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/Perceptron/#attributes","title":"Attributes","text":"
  • weights

    The current weights.

"},{"location":"api/linear-model/Perceptron/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = pp.StandardScaler() | lm.Perceptron()\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 85.84%\n

"},{"location":"api/linear-model/Perceptron/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/linear-model/SoftmaxRegression/","title":"SoftmaxRegression","text":"

Softmax regression is a generalization of logistic regression to multiple classes.

Softmax regression is also known as \"multinomial logistic regression\". There are a set weights for each class, hence the weights attribute is a nested collections.defaultdict. The main advantage of using this instead of a one-vs-all logistic regression is that the probabilities will be calibrated. Moreover softmax regression is more robust to outliers.

"},{"location":"api/linear-model/SoftmaxRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used to tune the weights.

  • loss

    Type \u2192 optim.losses.MultiClassLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0

    Amount of L2 regularization used to push weights towards 0.

"},{"location":"api/linear-model/SoftmaxRegression/#attributes","title":"Attributes","text":"
  • weights (collections.defaultdict)
"},{"location":"api/linear-model/SoftmaxRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nmodel = preprocessing.StandardScaler()\nmodel |= linear_model.SoftmaxRegression()\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 81.88%\n

"},{"location":"api/linear-model/SoftmaxRegression/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Course on classification stochastic gradient descent \u21a9

  2. Binary vs. Multi-Class Logistic Regression \u21a9

"},{"location":"api/linear-model/base/GLM/","title":"GLM","text":"

Generalized Linear Model.

This serves as a base class for linear and logistic regression.

"},{"location":"api/linear-model/base/GLM/#parameters","title":"Parameters","text":"
  • optimizer

    The sequential optimizer used for updating the weights. Note that the intercept updates are handled separately.

  • loss

    The loss function to optimize for.

  • l2

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Initial intercept value.

  • intercept_lr

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Clips the absolute value of each gradient value.

  • initializer

    Weights initialization scheme.

"},{"location":"api/linear-model/base/GLM/#attributes","title":"Attributes","text":"
  • weights
"},{"location":"api/linear-model/base/GLM/#methods","title":"Methods","text":"learn_many learn_one"},{"location":"api/metrics/Accuracy/","title":"Accuracy","text":"

Accuracy score, which is the percentage of exact matches.

"},{"location":"api/metrics/Accuracy/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Accuracy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Accuracy/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Accuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
Accuracy: 60.00%\n

"},{"location":"api/metrics/Accuracy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/AdjustedMutualInfo/","title":"AdjustedMutualInfo","text":"

Adjusted Mutual Information between two clusterings.

Adjusted Mutual Information (AMI) is an adjustment of the Mutual Information score that accounts for chance. It corrects the effect of agreement solely due to chance between clusterings, similar to the way the Adjusted Rand Index corrects the Rand Index. It is closely related to variation of information. The adjusted measure, however, is no longer metrical.

For two clusterings \\(U\\) and \\(V\\), the Adjusted Mutual Information is calculated as:

\\[ AMI(U, V) = \\frac{MI(U, V) - E(MI(U, V))}{avg(H(U), H(V)) - E(MI(U, V))} \\]

This metric is independent of the permutation of the class or cluster label values; furthermore, it is also symmetric. This can be useful to measure the agreement of two label assignments strategies on the same dataset, regardless of the ground truth.

However, due to the complexity of the Expected Mutual Info Score, the computation of this metric is an order of magnitude slower than most other metrics, in general.

"},{"location":"api/metrics/AdjustedMutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • average_method

    Default \u2192 arithmetic

    This parameter defines how to compute the normalizer in the denominator. Possible options include min, max, arithmetic and geometric.

"},{"location":"api/metrics/AdjustedMutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/AdjustedMutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.AdjustedMutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.0\n0.105891\n0.298792\n

metric\n
AdjustedMutualInfo: 0.298792\n

"},{"location":"api/metrics/AdjustedMutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/AdjustedRand/","title":"AdjustedRand","text":"

Adjusted Rand Index.

The Adjusted Rand Index is the corrected-for-chance version of the Rand Index 1 2. Such a correction for chance establishes a baseline by using the expected similarity of all pair-wise comparisions between clusterings specified by a random model.

Traditionally, the Rand Index was corrected using the Permutation Model for Clustering. However, the premises of the permutation model are frequently violated; in many clustering scenarios, either the number of clusters or the size distribution of those clusters vary drastically. Variations of the adjusted Rand Index account for different models of random clusterings.

Though the Rand Index may only yield a value between 0 and 1, the Adjusted Rand index can yield negative values if the index is less than the expected index.

"},{"location":"api/metrics/AdjustedRand/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/AdjustedRand/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/AdjustedRand/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.AdjustedRand()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.0\n0.09090909090909091\n0.24242424242424243\n

metric\n
AdjustedRand: 0.242424\n

"},{"location":"api/metrics/AdjustedRand/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, January 13). Rand index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Rand_index&oldid=1000098911\u00a0\u21a9

  2. W. M. Rand (1971). \"Objective criteria for the evaluation of clustering methods\". Journal of the American Statistical Association. American Statistical Association. 66 (336): 846\u2013850. arXiv:1704.01036. doi:10.2307/2284239. JSTOR 2284239.\u00a0\u21a9

"},{"location":"api/metrics/BalancedAccuracy/","title":"BalancedAccuracy","text":"

Balanced accuracy.

Balanced accuracy is the average of recall obtained on each class. It is used to deal with imbalanced datasets in binary and multi-class classification problems.

"},{"location":"api/metrics/BalancedAccuracy/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/BalancedAccuracy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/BalancedAccuracy/#examples","title":"Examples","text":"

from river import metrics\ny_true = [True, False, True, True, False, True]\ny_pred = [True, False, True, True, True, False]\n\nmetric = metrics.BalancedAccuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
BalancedAccuracy: 62.50%\n

y_true = [0, 1, 0, 0, 1, 0]\ny_pred = [0, 1, 0, 0, 0, 1]\nmetric = metrics.BalancedAccuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
BalancedAccuracy: 62.50%\n

"},{"location":"api/metrics/BalancedAccuracy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/ClassificationReport/","title":"ClassificationReport","text":"

A report for monitoring a classifier.

This class maintains a set of metrics and updates each of them every time update is called. You can print this class at any time during a model's lifetime to get a tabular visualization of various metrics.

You can wrap a metrics.ClassificationReport with utils.Rolling in order to obtain a classification report over a window of observations. You can also wrap it with utils.TimeRolling to obtain a report over a period of time.

"},{"location":"api/metrics/ClassificationReport/#parameters","title":"Parameters","text":"
  • decimals

    Default \u2192 2

    The number of decimals to display in each cell.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/ClassificationReport/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ClassificationReport/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['pear', 'apple', 'banana', 'banana', 'banana']\ny_pred = ['apple', 'pear', 'banana', 'banana', 'apple']\n\nreport = metrics.ClassificationReport()\n\nfor yt, yp in zip(y_true, y_pred):\n    report.update(yt, yp)\n\nprint(report)\n
               Precision   Recall   F1       Support\n<BLANKLINE>\n   apple       0.00%    0.00%    0.00%         1\n  banana     100.00%   66.67%   80.00%         3\n    pear       0.00%    0.00%    0.00%         1\n<BLANKLINE>\n   Macro      33.33%   22.22%   26.67%\n   Micro      40.00%   40.00%   40.00%\nWeighted      60.00%   40.00%   48.00%\n<BLANKLINE>\n                 40.00% accuracy\n

"},{"location":"api/metrics/ClassificationReport/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/CohenKappa/","title":"CohenKappa","text":"

Cohen's Kappa score.

Cohen's Kappa expresses the level of agreement between two annotators on a classification problem. It is defined as

\\[ \\kappa = (p_o - p_e) / (1 - p_e) \\]

where \\(p_o\\) is the empirical probability of agreement on the label assigned to any sample (prequential accuracy), and \\(p_e\\) is the expected agreement when both annotators assign labels randomly.

"},{"location":"api/metrics/CohenKappa/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/CohenKappa/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/CohenKappa/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat']\n\nmetric = metrics.CohenKappa()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
CohenKappa: 42.86%\n

"},{"location":"api/metrics/CohenKappa/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. J. Cohen (1960). \"A coefficient of agreement for nominal scales\". Educational and Psychological Measurement 20(1):37-46. doi:10.1177/001316446002000104.\u00a0\u21a9

"},{"location":"api/metrics/Completeness/","title":"Completeness","text":"

Completeness Score.

Completeness 1 is symmetrical to homogeneity. In order to satisfy the completeness criteria, a clustering must assign all of those datapoints that are members of a single class to a single cluster. To evaluate completeness, we examine the distribution cluster assignments within each class. In a perfectly complete clustering solution, each of these distributions will be completely skewed to a single cluster.

We can evaluate this degree of skew by calculating the conditional entropy of the proposed cluster distribution given the class of the component data points. However, in the worst case scenario, each class is represented by every cluster with a distribution equal to the distribution of cluster sizes. Therefore, symmetric to the claculation above, we define completeness as:

\\[ c = \\begin{cases} 1 if H(K) = 0, \\\\ 1 - \\frac{H(K|C)}{H(K)} otherwise. \\end{cases}. \\]"},{"location":"api/metrics/Completeness/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Completeness/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Completeness/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.Completeness()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n1.0\n0.3836885465963443\n0.5880325916843805\n0.6666666666666667\n

metric\n
Completeness: 66.67%\n

"},{"location":"api/metrics/Completeness/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/ConfusionMatrix/","title":"ConfusionMatrix","text":"

Confusion Matrix for binary and multi-class classification.

"},{"location":"api/metrics/ConfusionMatrix/#parameters","title":"Parameters","text":"
  • classes

    Default \u2192 None

    The initial set of classes. This is optional and serves only for displaying purposes.

"},{"location":"api/metrics/ConfusionMatrix/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • classes

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • total_false_negatives

  • total_false_positives

  • total_true_negatives

  • total_true_positives

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ConfusionMatrix/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat']\n\ncm = metrics.ConfusionMatrix()\n\nfor yt, yp in zip(y_true, y_pred):\n    cm.update(yt, yp)\n\ncm\n
       ant  bird   cat\n ant     2     0     0\nbird     0     0     1\n cat     1     0     2\n

cm['bird']['cat']\n
1.0\n

"},{"location":"api/metrics/ConfusionMatrix/#methods","title":"Methods","text":"false_negatives false_positives get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

support true_negatives true_positives update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/ConfusionMatrix/#notes","title":"Notes","text":"

This confusion matrix is a 2D matrix of shape (n_classes, n_classes), corresponding to a single-target (binary and multi-class) classification task.

Each row represents true (actual) class-labels, while each column corresponds to the predicted class-labels. For example, an entry in position [1, 2] means that the true class-label is 1, and the predicted class-label is 2 (incorrect prediction).

This structure is used to keep updated statistics about a single-output classifier's performance and to compute multiple evaluation metrics.

"},{"location":"api/metrics/CrossEntropy/","title":"CrossEntropy","text":"

Multiclass generalization of the logarithmic loss.

"},{"location":"api/metrics/CrossEntropy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/CrossEntropy/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2]\ny_pred = [\n    {0: 0.29450637, 1: 0.34216758, 2: 0.36332605},\n    {0: 0.21290077, 1: 0.32728332, 2: 0.45981591},\n    {0: 0.42860913, 1: 0.33380113, 2: 0.23758974},\n    {0: 0.44941979, 1: 0.32962558, 2: 0.22095463}\n]\n\nmetric = metrics.CrossEntropy()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.222454\n1.169691\n1.258864\n1.321597\n

metric\n
CrossEntropy: 1.321598\n

"},{"location":"api/metrics/CrossEntropy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/F1/","title":"F1","text":"

Binary F1 score.

"},{"location":"api/metrics/F1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/F1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/F1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, False, False, True, True, True]\ny_pred = [False, False, True, True, False, False]\n\nmetric = metrics.F1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
F1: 40.00%\n

"},{"location":"api/metrics/F1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/FBeta/","title":"FBeta","text":"

Binary F-Beta score.

The FBeta score is a weighted harmonic mean between precision and recall. The higher the beta value, the higher the recall will be taken into account. When beta equals 1, precision and recall and equivalently weighted, which results in the F1 score (see metrics.F1).

"},{"location":"api/metrics/FBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/FBeta/#attributes","title":"Attributes","text":"
  • precision (metrics.Precision)

  • recall (metrics.Recall)

"},{"location":"api/metrics/FBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, False, False, True, True, True]\ny_pred = [False, False, True, True, False, False]\n\nmetric = metrics.FBeta(beta=2)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
FBeta: 35.71%\n

"},{"location":"api/metrics/FBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/FowlkesMallows/","title":"FowlkesMallows","text":"

Fowlkes-Mallows Index.

The Fowlkes-Mallows Index 1 2 is an external evaluation method that is used to determine the similarity between two clusterings, and also a metric to measure confusion matrices. The measure of similarity could be either between two hierarchical clusterings or a clustering and a benchmark classification. A higher value for the Fowlkes-Mallows index indicates a greater similarity between the clusters and the benchmark classifications.

The Fowlkes-Mallows Index, for two cluster algorithms, is defined as:

\\[ FM = \\sqrt{PPV \\times TPR} = \\sqrt{\\frac{TP}{TP+FP} \\times \\frac{TP}{TP+FN}} \\]

where

  • TP, FP, FN are respectively the number of true positives, false positives and false negatives;

  • TPR is the True Positive Rate (or Sensitivity/Recall), PPV is the Positive Predictive Rate (or Precision).

"},{"location":"api/metrics/FowlkesMallows/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/FowlkesMallows/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/FowlkesMallows/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.FowlkesMallows()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
FowlkesMallows: 0.00%\nFowlkesMallows: 100.00%\nFowlkesMallows: 57.74%\nFowlkesMallows: 40.82%\nFowlkesMallows: 35.36%\nFowlkesMallows: 47.14%\n

"},{"location":"api/metrics/FowlkesMallows/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2020, December 22). Fowlkes\u2013Mallows index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Fowlkes%E2%80%93Mallows_index&oldid=995714222\u00a0\u21a9

  2. E. B. Fowkles and C. L. Mallows (1983). \u201cA method for comparing two hierarchical clusterings\u201d. Journal of the American Statistical Association\u00a0\u21a9

"},{"location":"api/metrics/GeometricMean/","title":"GeometricMean","text":"

Geometric mean score.

The geometric mean is a good indicator of a classifier's performance in the presence of class imbalance because it is independent of the distribution of examples between classes. This implementation computes the geometric mean of class-wise sensitivity (recall).

\\[ gm = \\sqrt[n]{s_1\\cdot s_2\\cdot s_3\\cdot \\ldots\\cdot s_n} \\]

where \\(s_i\\) is the sensitivity (recall) of class \\(i\\) and \\(n\\) is the number of classes.

"},{"location":"api/metrics/GeometricMean/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/GeometricMean/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/GeometricMean/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat', 'bird']\n\nmetric = metrics.GeometricMean()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
GeometricMean: 69.34%\n

"},{"location":"api/metrics/GeometricMean/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Barandela, R. et al. \u201cStrategies for learning in class imbalance problems\u201d, Pattern Recognition, 36(3), (2003), pp 849-851.\u00a0\u21a9

"},{"location":"api/metrics/Homogeneity/","title":"Homogeneity","text":"

Homogeneity Score.

Homogeneity metric 1 of a cluster labeling given a ground truth.

In order to satisfy the homogeneity criteria, a clustering must assign only those data points that are members of a single class to a single cluster. That is, the class distribution within each cluster should be skewed to a single class, that is, zero entropy. We determine how close a given clustering is to this ideal by examining the conditional entropy of the class distribution given the proposed clustering.

However, in an imperfect situation, the size of this value is dependent on the size of the dataset and the distribution of class sizes. Therefore, instead of taking the raw conditional entropy, we normalize by the maximum reduction in entropy the clustering information could provide.

As such, we define homogeneity as:

\\[ h = \\begin{cases} 1 if H(C) = 0, \\\\ 1 - \\frac{H(C|K)}{H(C)} otherwise. \\end{cases}. \\]"},{"location":"api/metrics/Homogeneity/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Homogeneity/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Homogeneity/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.Homogeneity()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.311278\n0.37515\n0.42062\n

metric\n
Homogeneity: 42.06%\n

"},{"location":"api/metrics/Homogeneity/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/Jaccard/","title":"Jaccard","text":"

Jaccard score.

"},{"location":"api/metrics/Jaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Jaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Jaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, True, True]\ny_pred = [True, True, True]\n\nmetric = metrics.Jaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Jaccard: 0.00%\nJaccard: 50.00%\nJaccard: 66.67%\n

"},{"location":"api/metrics/Jaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Jaccard index \u21a9

"},{"location":"api/metrics/LogLoss/","title":"LogLoss","text":"

Binary logarithmic loss.

"},{"location":"api/metrics/LogLoss/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/LogLoss/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, False, True]\ny_pred = [0.9,  0.1,   0.2,   0.65]\n\nmetric = metrics.LogLoss()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.105360\n0.105360\n0.144621\n0.216161\n

metric\n
LogLoss: 0.216162\n

"},{"location":"api/metrics/LogLoss/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MAE/","title":"MAE","text":"

Mean absolute error.

"},{"location":"api/metrics/MAE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MAE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MAE()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.5\n0.5\n0.333\n0.5\n

metric\n
MAE: 0.5\n

"},{"location":"api/metrics/MAE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MAPE/","title":"MAPE","text":"

Mean absolute percentage error.

"},{"location":"api/metrics/MAPE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MAPE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MAPE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MAPE: 32.738095\n

"},{"location":"api/metrics/MAPE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MCC/","title":"MCC","text":"

Matthews correlation coefficient.

"},{"location":"api/metrics/MCC/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/MCC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MCC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, True, True, False]\ny_pred = [True, False, True, True]\n\nmcc = metrics.MCC()\n\nfor yt, yp in zip(y_true, y_pred):\n    mcc.update(yt, yp)\n\nmcc\n
MCC: -0.333333\n

"},{"location":"api/metrics/MCC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia article \u21a9

"},{"location":"api/metrics/MSE/","title":"MSE","text":"

Mean squared error.

"},{"location":"api/metrics/MSE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MSE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MSE()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.25\n0.25\n0.1666\n0.375\n

"},{"location":"api/metrics/MSE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MacroF1/","title":"MacroF1","text":"

Macro-average F1 score.

This works by computing the F1 score per class, and then performs a global average.

"},{"location":"api/metrics/MacroF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroF1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroF1: 100.00%\nMacroF1: 33.33%\nMacroF1: 55.56%\nMacroF1: 55.56%\nMacroF1: 48.89%\n

"},{"location":"api/metrics/MacroF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroFBeta/","title":"MacroFBeta","text":"

Macro-average F-Beta score.

This works by computing the F-Beta score per class, and then performs a global average.

"},{"location":"api/metrics/MacroFBeta/#parameters","title":"Parameters","text":"
  • beta

    Weight of precision in harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroFBeta(beta=.8)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroFBeta: 100.00%\nMacroFBeta: 31.06%\nMacroFBeta: 54.04%\nMacroFBeta: 54.04%\nMacroFBeta: 48.60%\n

"},{"location":"api/metrics/MacroFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroJaccard/","title":"MacroJaccard","text":"

Macro-average Jaccard score.

"},{"location":"api/metrics/MacroJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroJaccard: 100.00%\nMacroJaccard: 25.00%\nMacroJaccard: 50.00%\nMacroJaccard: 50.00%\nMacroJaccard: 38.89%\n

"},{"location":"api/metrics/MacroJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroPrecision/","title":"MacroPrecision","text":"

Macro-average precision score.

"},{"location":"api/metrics/MacroPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroPrecision: 100.00%\nMacroPrecision: 25.00%\nMacroPrecision: 50.00%\nMacroPrecision: 50.00%\nMacroPrecision: 50.00%\n

"},{"location":"api/metrics/MacroPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroRecall/","title":"MacroRecall","text":"

Macro-average recall score.

"},{"location":"api/metrics/MacroRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroRecall: 100.00%\nMacroRecall: 50.00%\nMacroRecall: 66.67%\nMacroRecall: 66.67%\nMacroRecall: 55.56%\n

"},{"location":"api/metrics/MacroRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MicroF1/","title":"MicroF1","text":"

Micro-average F1 score.

This computes the F1 score by merging all the predictions and true labels, and then computes a global F1 score.

"},{"location":"api/metrics/MicroF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 0]\ny_pred = [0, 1, 1, 2, 1]\n\nmetric = metrics.MicroF1()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MicroF1: 60.00%\n

"},{"location":"api/metrics/MicroF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MicroFBeta/","title":"MicroFBeta","text":"

Micro-average F-Beta score.

This computes the F-Beta score by merging all the predictions and true labels, and then computes a global F-Beta score.

"},{"location":"api/metrics/MicroFBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 0]\ny_pred = [0, 1, 1, 2, 1]\n\nmetric = metrics.MicroFBeta(beta=2)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MicroFBeta: 60.00%\n

"},{"location":"api/metrics/MicroFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem?

"},{"location":"api/metrics/MicroJaccard/","title":"MicroJaccard","text":"

Micro-average Jaccard score.

"},{"location":"api/metrics/MicroJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroJaccard: 100.00%\nMicroJaccard: 33.33%\nMicroJaccard: 50.00%\nMicroJaccard: 60.00%\nMicroJaccard: 42.86%\n

"},{"location":"api/metrics/MicroJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MicroPrecision/","title":"MicroPrecision","text":"

Micro-average precision score.

The micro-average precision score is exactly equivalent to the micro-average recall as well as the micro-average F1 score.

"},{"location":"api/metrics/MicroPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroPrecision: 100.00%\nMicroPrecision: 50.00%\nMicroPrecision: 66.67%\nMicroPrecision: 75.00%\nMicroPrecision: 60.00%\n

"},{"location":"api/metrics/MicroPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MicroRecall/","title":"MicroRecall","text":"

Micro-average recall score.

The micro-average recall is exactly equivalent to the micro-average precision as well as the micro-average F1 score.

"},{"location":"api/metrics/MicroRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroRecall: 100.00%\nMicroRecall: 50.00%\nMicroRecall: 66.67%\nMicroRecall: 75.00%\nMicroRecall: 60.00%\n

"},{"location":"api/metrics/MicroRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MultiFBeta/","title":"MultiFBeta","text":"

Multi-class F-Beta score with different betas per class.

The multiclass F-Beta score is the arithmetic average of the binary F-Beta scores of each class. The mean can be weighted by providing class weights.

"},{"location":"api/metrics/MultiFBeta/#parameters","title":"Parameters","text":"
  • betas

    Weight of precision in the harmonic mean of each class.

  • weights

    Class weights. If not provided then uniform weights will be used.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MultiFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MultiFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MultiFBeta(\n    betas={0: 0.25, 1: 1, 2: 4},\n    weights={0: 1, 1: 1, 2: 2}\n)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MultiFBeta: 100.00%\nMultiFBeta: 25.76%\nMultiFBeta: 62.88%\nMultiFBeta: 62.88%\nMultiFBeta: 46.88%\n

"},{"location":"api/metrics/MultiFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MutualInfo/","title":"MutualInfo","text":"

Mutual Information between two clusterings.

The Mutual Information 1 is a measure of the similarity between two labels of the same data. Where \\(|U_i|\\) is the number of samples in cluster \\(U_i\\) and \\(|V_j|\\) is the number of the samples in cluster \\(V_j\\), the Mutual Information between clusterings \\(U\\) and \\(V\\) can be calculated as:

\\[ MI(U,V) = \\sum_{i=1}^{|U|} \\sum_{v=1}^{|V|} \\frac{|U_i \\cup V_j|}{N} \\log \\frac{N |U_i \\cup V_j|}{|U_i| |V_j|} \\]

This metric is independent of the absolute values of the labels: a permutation of the class or cluster label values won't change the score.

This metric is furthermore symmetric: switching y_true and y_pred will return the same score value. This can be useful to measure the agreement of two independent label assignments strategies on the same dataset when the real ground truth is not known.

The Mutual Information can be equivalently expressed as:

\\[ MI(U,V) = H(U) - H(U | V) = H(V) - H(V | U) \\]

where \\(H(U)\\) and \\(H(V)\\) are the marginal entropies, \\(H(U | V)\\) and \\(H(V | U)\\) are the conditional entropies.

"},{"location":"api/metrics/MutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.MutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.0\n0.0\n0.0\n0.215761\n0.395752\n0.462098\n

metric\n
MutualInfo: 0.462098\n

"},{"location":"api/metrics/MutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/NormalizedMutualInfo/","title":"NormalizedMutualInfo","text":"

Normalized Mutual Information between two clusterings.

Normalized Mutual Information (NMI) is a normalized version of the Mutual Information (MI) score to scale the results between the range of 0 (no mutual information) and 1 (perfectly mutual information). In the formula, the mutual information will be normalized by a generalized mean of the entropy of true and predicted labels, defined by the average_method.

We note that this measure is not adjusted for chance (i.e corrected the effect of result agreement solely due to chance); as a result, the Adjusted Mutual Info Score will mostly be preferred. However, this metric is still symmetric, which means that switching true and predicted labels will not alter the score value. This fact can be useful when the metric is used to measure the agreement between two indepedent label solutions on the same dataset, when the ground truth remains unknown.

Another advantage of the metric is that as it is based on the calculation of entropy-related measures, it is independent of the permutation of class/cluster labels.

"},{"location":"api/metrics/NormalizedMutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • average_method

    Default \u2192 arithmetic

    This parameter defines how to compute the normalizer in the denominator. Possible options include min, max, arithmetic and geometric.

"},{"location":"api/metrics/NormalizedMutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/NormalizedMutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.NormalizedMutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.343711\n0.458065\n0.515803\n

metric\n
NormalizedMutualInfo: 0.515804\n

"},{"location":"api/metrics/NormalizedMutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/Precision/","title":"Precision","text":"

Binary precision score.

"},{"location":"api/metrics/Precision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Precision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Precision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Precision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Precision: 100.00%\nPrecision: 50.00%\nPrecision: 50.00%\nPrecision: 66.67%\nPrecision: 75.00%\n

"},{"location":"api/metrics/Precision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/R2/","title":"R2","text":"

Coefficient of determination (\\(R^2\\)) score

The coefficient of determination, denoted \\(R^2\\) or \\(r^2\\), is the proportion of the variance in the dependent variable that is predictable from the independent variable(s). 1

Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of \\(y\\), disregarding the input features, would get a \\(R^2\\) score of 0.0.

\\(R^2\\) is not defined when less than 2 samples have been observed. This implementation returns 0.0 in this case.

"},{"location":"api/metrics/R2/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/R2/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.R2()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.0\n0.9183\n0.9230\n0.9486\n

"},{"location":"api/metrics/R2/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Coefficient of determination (Wikipedia) \u21a9

"},{"location":"api/metrics/RMSE/","title":"RMSE","text":"

Root mean squared error.

"},{"location":"api/metrics/RMSE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RMSE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.RMSE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.5\n0.5\n0.408248\n0.612372\n

metric\n
RMSE: 0.612372\n

"},{"location":"api/metrics/RMSE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/RMSLE/","title":"RMSLE","text":"

Root mean squared logarithmic error.

"},{"location":"api/metrics/RMSLE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RMSLE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.RMSLE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
RMSLE: 0.357826\n

"},{"location":"api/metrics/RMSLE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/ROCAUC/","title":"ROCAUC","text":"

Receiving Operating Characteristic Area Under the Curve.

This metric is an approximation of the true ROC AUC. Computing the true ROC AUC would require storing all the predictions and ground truths, which isn't desirable. The approximation error is not significant as long as the predicted probabilities are well calibrated. In any case, this metric can still be used to reliably compare models between each other.

"},{"location":"api/metrics/ROCAUC/#parameters","title":"Parameters","text":"
  • n_thresholds

    Default \u2192 10

    The number of thresholds used for discretizing the ROC curve. A higher value will lead to more accurate results, but will also cost more time and memory.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/ROCAUC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ROCAUC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [ 0,  0,   1,  1]\ny_pred = [.1, .4, .35, .8]\n\nmetric = metrics.ROCAUC()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ROCAUC: 87.50%\n

The true ROC AUC is in fact 0.75. We can improve the accuracy by increasing the amount of thresholds. This comes at the cost more computation time and more memory usage.

metric = metrics.ROCAUC(n_thresholds=20)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ROCAUC: 75.00%\n

"},{"location":"api/metrics/ROCAUC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/Rand/","title":"Rand","text":"

Rand Index.

The Rand Index 1 2 is a measure of the similarity between two data clusterings. Given a set of elements S and two partitions of S to compare, X and Y, define the following:

  • a, the number of pairs of elements in S that are in the same subset in X and in the same subset in Y

  • b, the number of pairs of elements in S that are in the different subset in X and in different subsets in Y

  • c, the number of pairs of elements in S that are in the same subset in X and in different subsets in Y

  • d, the number of pairs of elements in S that are in the different subset in X and in the same subset in Y

The Rand index, R, is

\\[ R = \frac{a+b}{a+b+c+d} = \frac{a+b}{\frac{n(n-1)}{2}}. \\]"},{"location":"api/metrics/Rand/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Rand/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Rand/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.Rand()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
Rand: 0.666667\n

"},{"location":"api/metrics/Rand/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, January 13). Rand index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Rand_index&oldid=1000098911\u00a0\u21a9

  2. W. M. Rand (1971). \"Objective criteria for the evaluation of clustering methods\". Journal of the American Statistical Association. American Statistical Association. 66 (336): 846\u2013850. arXiv:1704.01036. doi:10.2307/2284239. JSTOR 2284239.\u00a0\u21a9

"},{"location":"api/metrics/Recall/","title":"Recall","text":"

Binary recall score.

"},{"location":"api/metrics/Recall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Recall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Recall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Recall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Recall: 100.00%\nRecall: 100.00%\nRecall: 50.00%\nRecall: 66.67%\nRecall: 75.00%\n

"},{"location":"api/metrics/Recall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/RollingROCAUC/","title":"RollingROCAUC","text":"

Rolling version of the Receiving Operating Characteristic Area Under the Curve.

The RollingROCAUC calculates the metric using the instances in its window of size S. It keeps a queue of the instances, when an instance is added and the queue length is equal to S, the last instance is removed. The metric has a tree with ordered instances, in order to calculate the AUC efficiently. It was implemented based on the algorithm presented in Brzezinski and Stefanowski, 2017.

The difference between this metric and the standard ROCAUC is that the latter calculates an approximation of the real metric considering all data from the beginning of the stream, while the RollingROCAUC calculates the exact value considering only the last S instances. This approach may be beneficial if it's necessary to evaluate the model's performance over time, since calculating the metric using the entire stream may hide the current performance of the classifier.

"},{"location":"api/metrics/RollingROCAUC/#parameters","title":"Parameters","text":"
  • window_size

    Default \u2192 1000

    The max length of the window.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/RollingROCAUC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RollingROCAUC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [ 0,  1,  0,  1,  0,  1,  0,  0,   1,  1]\ny_pred = [.3, .5, .5, .7, .1, .3, .1, .4, .35, .8]\n\nmetric = metrics.RollingROCAUC(window_size=4)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
RollingROCAUC: 75.00%\n

"},{"location":"api/metrics/RollingROCAUC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/SMAPE/","title":"SMAPE","text":"

Symmetric mean absolute percentage error.

"},{"location":"api/metrics/SMAPE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/SMAPE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0.07533, 0.07533, 0.07533, 0.07533, 0.07533, 0.07533, 0.0672, 0.0672]\ny_pred = [0, 0.102, 0.107, 0.047, 0.1, 0.032, 0.047, 0.108, 0.089]\n\nmetric = metrics.SMAPE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
SMAPE: 37.869392\n

"},{"location":"api/metrics/SMAPE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/Silhouette/","title":"Silhouette","text":"

Silhouette coefficient 1, roughly speaking, is the ratio between cohesion and the average distances from the points to their second-closest centroid. It rewards the clustering algorithm where points are very close to their assigned centroids and far from any other centroids, that is, clustering results with good cohesion and good separation.

It rewards clusterings where points are very close to their assigned centroids and far from any other centroids, that is clusterings with good cohesion and good separation. 2

The definition of Silhouette coefficient for online clustering evaluation is different from that of batch learning. It does not store information and calculate pairwise distances between all points at the same time, since the practice is too expensive for an incremental metric.

"},{"location":"api/metrics/Silhouette/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicates if a high value is better than a low one or not.

"},{"location":"api/metrics/Silhouette/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\nfrom river import metrics\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [4, 2],\n    [4, 4],\n    [4, 0],\n    [-2, 2],\n    [-2, 4],\n    [-2, 0]\n]\n\nk_means = cluster.KMeans(n_clusters=3, halflife=0.4, sigma=3, seed=0)\nmetric = metrics.Silhouette()\n\nfor x, _ in stream.iter_array(X):\n    k_means.learn_one(x)\n    y_pred = k_means.predict_one(x)\n    metric.update(x, y_pred, k_means.centers)\n\nmetric\n
Silhouette: 0.32145\n

"},{"location":"api/metrics/Silhouette/#methods","title":"Methods","text":"get

Return the current value of the metric.

revert

Revert the metric.

Parameters

  • x
  • y_pred
  • centers
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • x
  • y_pred
  • centers
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Rousseeuw, P. (1987). Silhouettes: a graphical aid to the intepretation and validation of cluster analysis 20, 53 - 65. DOI: 10.1016/0377-0427(87)90125-7\u00a0\u21a9

  2. Bifet, A. et al. (2018). \"Machine Learning for Data Streams\". DOI: 10.7551/mitpress/10654.001.0001.\u00a0\u21a9

"},{"location":"api/metrics/VBeta/","title":"VBeta","text":"

VBeta.

VBeta (or V-Measure) 1 is an external entropy-based cluster evaluation measure. It provides an elegant solution to many problems that affect previously defined cluster evaluation measures including

  • Dependance of clustering algorithm or dataset,

  • The \"problem of matching\", where the clustering of only a portion of data points are evaluated, and

  • Accurate evaluation and combination of two desirable aspects of clustering, homogeneity and completeness.

Based upon the calculations of homogeneity and completeness, a clustering solution's V-measure is calculated by computing the weighted harmonic mean of homogeneity and completeness,

\\[ V_{\\beta} = \\frac{(1 + \\beta) \\times h \\times c}{\\beta \\times h + c}. \\]"},{"location":"api/metrics/VBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Default \u2192 1.0

    Weight of Homogeneity in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/VBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/VBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.VBeta(beta=1.0)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.3437110184854507\n0.4580652856440158\n0.5158037429793888\n

metric\n
VBeta: 51.58%\n

"},{"location":"api/metrics/VBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/WeightedF1/","title":"WeightedF1","text":"

Weighted-average F1 score.

This works by computing the F1 score per class, and then performs a global weighted average by using the support of each class.

"},{"location":"api/metrics/WeightedF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedF1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedF1: 100.00%\nWeightedF1: 33.33%\nWeightedF1: 55.56%\nWeightedF1: 66.67%\nWeightedF1: 61.33%\n

"},{"location":"api/metrics/WeightedF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedFBeta/","title":"WeightedFBeta","text":"

Weighted-average F-Beta score.

This works by computing the F-Beta score per class, and then performs a global weighted average according to the support of each class.

"},{"location":"api/metrics/WeightedFBeta/#parameters","title":"Parameters","text":"
  • beta

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedFBeta(beta=0.8)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedFBeta: 100.00%\nWeightedFBeta: 31.06%\nWeightedFBeta: 54.04%\nWeightedFBeta: 65.53%\nWeightedFBeta: 62.63%\n

"},{"location":"api/metrics/WeightedFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedJaccard/","title":"WeightedJaccard","text":"

Weighted average Jaccard score.

"},{"location":"api/metrics/WeightedJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedJaccard: 100.00%\nWeightedJaccard: 25.00%\nWeightedJaccard: 50.00%\nWeightedJaccard: 62.50%\nWeightedJaccard: 50.00%\n

"},{"location":"api/metrics/WeightedJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedPrecision/","title":"WeightedPrecision","text":"

Weighted-average precision score.

This uses the support of each label to compute an average score, whereas metrics.MacroPrecision ignores the support.

"},{"location":"api/metrics/WeightedPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedPrecision: 100.00%\nWeightedPrecision: 25.00%\nWeightedPrecision: 50.00%\nWeightedPrecision: 62.50%\nWeightedPrecision: 70.00%\n

"},{"location":"api/metrics/WeightedPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedRecall/","title":"WeightedRecall","text":"

Weighted-average recall score.

This uses the support of each label to compute an average score, whereas MacroRecall ignores the support.

"},{"location":"api/metrics/WeightedRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedRecall: 100.00%\nWeightedRecall: 50.00%\nWeightedRecall: 66.67%\nWeightedRecall: 75.00%\nWeightedRecall: 60.00%\n

"},{"location":"api/metrics/WeightedRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/BinaryMetric/","title":"BinaryMetric","text":"

Mother class for all binary classification metrics.

"},{"location":"api/metrics/base/BinaryMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/base/BinaryMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/BinaryMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/ClassificationMetric/","title":"ClassificationMetric","text":"

Mother class for all classification metrics.

"},{"location":"api/metrics/base/ClassificationMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/base/ClassificationMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/ClassificationMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/Metric/","title":"Metric","text":"

Mother class for all metrics.

"},{"location":"api/metrics/base/Metric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/Metric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred

update

Update the metric.

Parameters

  • y_true
  • y_pred

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/Metrics/","title":"Metrics","text":"

A container class for handling multiple metrics at once.

"},{"location":"api/metrics/base/Metrics/#parameters","title":"Parameters","text":"
  • metrics

  • str_sep

    Default \u2192

"},{"location":"api/metrics/base/Metrics/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/Metrics/#methods","title":"Methods","text":"is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/MultiClassMetric/","title":"MultiClassMetric","text":"

Mother class for all multi-class classification metrics.

"},{"location":"api/metrics/base/MultiClassMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/base/MultiClassMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/MultiClassMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/RegressionMetric/","title":"RegressionMetric","text":"

Mother class for all regression metrics.

"},{"location":"api/metrics/base/RegressionMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/RegressionMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/WrapperMetric/","title":"WrapperMetric","text":""},{"location":"api/metrics/base/WrapperMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/WrapperMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred

update

Update the metric.

Parameters

  • y_true
  • y_pred

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/ExactMatch/","title":"ExactMatch","text":"

Exact match score.

This is the most strict multi-label metric, defined as the number of samples that have all their labels correctly classified, divided by the total number of samples.

"},{"location":"api/metrics/multioutput/ExactMatch/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/ExactMatch/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False},\n    {0: True, 1: True, 2: False},\n]\n\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False},\n    {0: True, 1: True, 2: False},\n]\n\nmetric = metrics.multioutput.ExactMatch()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ExactMatch: 33.33%\n

"},{"location":"api/metrics/multioutput/ExactMatch/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/multioutput/MacroAverage/","title":"MacroAverage","text":"

Macro-average wrapper.

A copy of the provided metric is made for each output. The arithmetic average of all the metrics is returned.

"},{"location":"api/metrics/multioutput/MacroAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/MacroAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/MacroAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/MicroAverage/","title":"MicroAverage","text":"

Micro-average wrapper.

The provided metric is updated with the value of each output.

"},{"location":"api/metrics/multioutput/MicroAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/MicroAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/MicroAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/","title":"MultiLabelConfusionMatrix","text":"

Multi-label confusion matrix.

Under the hood, this stores one metrics.ConfusionMatrix for each output.

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/#examples","title":"Examples","text":"

from river import metrics\n\ncm = metrics.multioutput.MultiLabelConfusionMatrix()\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False}\n]\n\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False}\n]\n\nfor yt, yp in zip(y_true, y_pred):\n    cm.update(yt, yp)\n\ncm\n
0\n            False   True\n    False       0      1\n     True       0      1\n<BLANKLINE>\n1\n            False   True\n    False       0      0\n     True       1      1\n<BLANKLINE>\n2\n            False   True\n    False       1      0\n     True       0      1\n

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/#methods","title":"Methods","text":"revert update"},{"location":"api/metrics/multioutput/PerOutput/","title":"PerOutput","text":"

Per-output wrapper.

A copy of the metric is maintained for each output.

"},{"location":"api/metrics/multioutput/PerOutput/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/PerOutput/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/PerOutput/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/SampleAverage/","title":"SampleAverage","text":"

Sample-average wrapper.

The provided metric is evaluate on each sample. The arithmetic average over all the samples is returned. This is equivalent to using average='samples' in scikit-learn.

"},{"location":"api/metrics/multioutput/SampleAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/SampleAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/SampleAverage/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False}\n]\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False}\n]\n\nsample_jaccard = metrics.multioutput.SampleAverage(metrics.Jaccard())\n\nfor yt, yp in zip(y_true, y_pred):\n    sample_jaccard.update(yt, yp)\n\nsample_jaccard\n
SampleAverage(Jaccard): 58.33%\n

"},{"location":"api/metrics/multioutput/SampleAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/","title":"MultiOutputClassificationMetric","text":"

Mother class for all multi-output classification metrics.

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#parameters","title":"Parameters","text":"
  • cm

    Type \u2192 MultiLabelConfusionMatrix | None

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/","title":"MultiOutputRegressionMetric","text":"

Mother class for all multi-output regression metrics.

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, float | int]'
  • y_pred \u2014 'dict[str | int, float | int]'

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, float | int]'
  • y_pred \u2014 'dict[str | int, float | int]'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/misc/SDFT/","title":"SDFT","text":"

Sliding Discrete Fourier Transform (SDFT).

Initially, the coefficients are all equal to 0, up until enough values have been seen. A call to numpy.fft.fft is triggered once window_size values have been seen. Subsequent values will update the coefficients online. This is much faster than recomputing an FFT from scratch for every new value.

"},{"location":"api/misc/SDFT/#parameters","title":"Parameters","text":"
  • window_size

    The size of the window.

"},{"location":"api/misc/SDFT/#attributes","title":"Attributes","text":"
  • window_size
"},{"location":"api/misc/SDFT/#examples","title":"Examples","text":"
import numpy as np\nfrom river import misc\n\nX = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n\nwindow_size = 5\nsdft = misc.SDFT(window_size)\n\nfor i, x in enumerate(X):\n    sdft.update(x)\n    if i + 1 >= window_size:\n        assert np.allclose(sdft.coefficients, np.fft.fft(X[i+1 - window_size:i+1]))\n
"},{"location":"api/misc/SDFT/#methods","title":"Methods","text":"update
  1. Jacobsen, E. asample_average.pynd Lyons, R., 2003. The sliding DFT. IEEE Signal Processing Magazine, 20(2), pp.74-80. \u21a9

  2. Understanding and Implementing the Sliding DFT \u21a9

"},{"location":"api/misc/Skyline/","title":"Skyline","text":"

A skyline is set of points which is not dominated by any other point.

This implementation uses a block nested loop. Identical observations are all part of the skyline if applicable.

"},{"location":"api/misc/Skyline/#parameters","title":"Parameters","text":"
  • minimize

    Type \u2192 list | None

    Default \u2192 None

    A list of features for which the values need to be minimized. Can be omitted as long as maximize is specified.

  • maximize

    Type \u2192 list | None

    Default \u2192 None

    A list of features for which the values need to be maximized. Can be omitted as long as minimize is specified.

"},{"location":"api/misc/Skyline/#examples","title":"Examples","text":"

Here is an example taken from this blog post.

import random\nfrom river import misc\n\ncity_prices = {\n    'Bordeaux': 4045,\n    'Lyon': 4547,\n    'Toulouse': 3278\n}\n\ndef random_house():\n    city = random.choice(['Bordeaux', 'Lyon', 'Toulouse'])\n    size = round(random.gauss(200, 50))\n    price = round(random.uniform(0.8, 1.2) * city_prices[city] * size)\n    return {'city': city, 'size': size, 'price': price}\n\nskyline = misc.Skyline(minimize=['price'], maximize=['size'])\n\nrandom.seed(42)\n\nfor _ in range(100):\n    house = random_house()\n    skyline.update(house)\n\nprint(len(skyline))\n
13\n

print(skyline[0])\n
{'city': 'Toulouse', 'size': 280, 'price': 763202}\n

Here is another example using the kart data from Mario Kart: Double Dash!!.

import collections\nfrom river import misc\n\nKart = collections.namedtuple(\n     'Kart',\n     'name speed off_road acceleration weight turbo'\n)\n\nkarts = [\n    Kart('Red Fire', 5, 4, 4, 5, 2),\n    Kart('Green Fire', 7, 3, 3, 4, 2),\n    Kart('Heart Coach', 4, 6, 6, 5, 2),\n    Kart('Bloom Coach', 6, 4, 5, 3, 2),\n    Kart('Turbo Yoshi', 4, 5, 6, 6, 2),\n    Kart('Turbo Birdo', 6, 4, 4, 7, 2),\n    Kart('Goo-Goo Buggy', 1, 9, 9, 2, 3),\n    Kart('Rattle Buggy', 2, 9, 8, 2, 3),\n    Kart('Toad Kart', 3, 9, 7, 2, 3),\n    Kart('Toadette Kart', 1, 9, 9, 2, 3),\n    Kart('Koopa Dasher', 2, 8, 8, 3, 3),\n    Kart('Para-Wing', 1, 8, 9, 3, 3),\n    Kart('DK Jumbo', 8, 2, 2, 8, 1),\n    Kart('Barrel Train', 8, 7, 3, 5, 3),\n    Kart('Koopa King', 9, 1, 1, 9, 1),\n    Kart('Bullet Blaster', 8, 1, 4, 1, 3),\n    Kart('Wario Car', 7, 3, 3, 7, 1),\n    Kart('Waluigi Racer', 5, 9, 5, 6, 2),\n    Kart('Piranha Pipes', 8, 7, 2, 9, 1),\n    Kart('Boo Pipes', 2, 9, 8, 9, 1),\n    Kart('Parade Kart', 7, 3, 4, 7, 3)\n]\n\nskyline = misc.Skyline(\n    maximize=['speed', 'off_road', 'acceleration', 'turbo'],\n    minimize=['weight']\n)\n\nfor kart in karts:\n    skyline.update(kart._asdict())\n\nbest_cart_names = [kart['name'] for kart in skyline]\nfor name in best_cart_names:\n    print(f'- {name}')\n
- Green Fire\n- Heart Coach\n- Bloom Coach\n- Goo-Goo Buggy\n- Rattle Buggy\n- Toad Kart\n- Toadette Kart\n- Barrel Train\n- Koopa King\n- Bullet Blaster\n- Waluigi Racer\n- Parade Kart\n

for name in sorted(set(kart.name for kart in karts) - set(best_cart_names)):\n    print(f'- {name}')\n
- Boo Pipes\n- DK Jumbo\n- Koopa Dasher\n- Para-Wing\n- Piranha Pipes\n- Red Fire\n- Turbo Birdo\n- Turbo Yoshi\n- Wario Car\n

"},{"location":"api/misc/Skyline/#methods","title":"Methods","text":"
  1. Skyline queries in Python \u21a9

  2. Borzsony, S., Kossmann, D. and Stocker, K., 2001, April. The skyline operator. In Proceedings 17th international conference on data engineering (pp. 421-430). IEEE. \u21a9

  3. Tao, Y. and Papadias, D., 2006. Maintaining sliding window skylines on data streams. IEEE Transactions on Knowledge and Data Engineering, 18(3), pp.377-391. \u21a9

"},{"location":"api/model-selection/BanditClassifier/","title":"BanditClassifier","text":"

Bandit-based model selection for classification.

Each model is associated with an arm. At each learn_one call, the policy decides which arm/model to pull. The reward is the performance of the model on the provided sample. The predict_one and predict_proba_one methods use the current best model.

"},{"location":"api/model-selection/BanditClassifier/#parameters","title":"Parameters","text":"
  • models

    The models to select from.

  • metric

    Type \u2192 metrics.base.ClassificationMetric

    The metric that is used to measure the performance of each model.

  • policy

    Type \u2192 bandit.base.Policy

    The bandit policy to use.

"},{"location":"api/model-selection/BanditClassifier/#attributes","title":"Attributes","text":"
  • best_model

  • models

"},{"location":"api/model-selection/BanditClassifier/#examples","title":"Examples","text":"

from river import bandit\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LogisticRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\ndataset = datasets.Phishing()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.BanditClassifier(\n        models,\n        metric=metrics.Accuracy(),\n        policy=bandit.EpsilonGreedy(\n            epsilon=0.1,\n            decay=0.001,\n            burn_in=20,\n            seed=42\n        )\n    )\n)\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.96%\n

"},{"location":"api/model-selection/BanditClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/model-selection/BanditRegressor/","title":"BanditRegressor","text":"

Bandit-based model selection for regression.

Each model is associated with an arm. At each learn_one call, the policy decides which arm/model to pull. The reward is the performance of the model on the provided sample. The predict_one method uses the current best model.

"},{"location":"api/model-selection/BanditRegressor/#parameters","title":"Parameters","text":"
  • models

    The models to select from.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    The metric that is used to measure the performance of each model.

  • policy

    Type \u2192 bandit.base.Policy

    The bandit policy to use.

"},{"location":"api/model-selection/BanditRegressor/#attributes","title":"Attributes","text":"
  • best_model

  • models

"},{"location":"api/model-selection/BanditRegressor/#examples","title":"Examples","text":"

from river import bandit\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.BanditRegressor(\n        models,\n        metric=metrics.MAE(),\n        policy=bandit.EpsilonGreedy(\n            epsilon=0.1,\n            decay=0.001,\n            burn_in=100,\n            seed=42\n        )\n    )\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 3.134089\n

Here's another example using the UCB policy. The latter is more sensitive to the target scale, and usually works better when the target is rescaled.

models = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetStandardScaler(\n        model_selection.BanditRegressor(\n            models,\n            metric=metrics.MAE(),\n            policy=bandit.UCB(\n                delta=1,\n                burn_in=100\n            )\n        )\n    )\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.875333\n

"},{"location":"api/model-selection/BanditRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/model-selection/GreedyRegressor/","title":"GreedyRegressor","text":"

Greedy selection regressor.

This selection method simply updates each model at each time step. The current best model is used to make predictions. It's greedy in the sense that updating each model can be costly. On the other hand, bandit-like algorithms are more temperate in that only update a subset of the models at each step.

"},{"location":"api/model-selection/GreedyRegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Regressor]

    The models to select from.

  • metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    The metric that is used to measure the performance of each model.

"},{"location":"api/model-selection/GreedyRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/GreedyRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [1e-5, 1e-4, 1e-3, 1e-2]\n]\n\ndataset = datasets.TrumpApproval()\nmetric = metrics.MAE()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.GreedyRegressor(models, metric)\n)\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.319678\n

"},{"location":"api/model-selection/GreedyRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/","title":"SuccessiveHalvingClassifier","text":"

Successive halving algorithm for classification.

Successive halving is a method for performing model selection without having to train each model on all the dataset. At certain points in time (called \"rungs\"), the worst performing will be discarded and the best ones will keep competing between each other. The rung values are designed so that at most budget model updates will be performed in total.

If you have k combinations of hyperparameters and that your dataset contains n observations, then the maximal budget you can allocate is:

\\[\\frac{2kn}{eta}\\]

It is recommended that you check this beforehand. This bound can't be checked by the function because the size of the dataset is not known. In fact it is potentially infinite, in which case the algorithm will terminate once all the budget has been spent.

If you have a budget of B, and that your dataset contains n observations, then the number of hyperparameter combinations that will spend all the budget and go through all the data is:

\\[\\left\\lceil\\left\\lfloor\\frac{B}{2n}\\right\\rfloor \\times eta \\right\\rceil\\]"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#parameters","title":"Parameters","text":"
  • models

    The models to compare.

  • metric

    Type \u2192 metrics.base.Metric

    Metric used for comparing models with.

  • budget

    Type \u2192 int

    Total number of model updates you wish to allocate.

  • eta

    Default \u2192 2

    Rate of elimination. At every rung, math.ceil(k / eta) models are kept, where k is the number of models that have reached the rung. A higher eta value will focus on less models but will allocate more iterations to the best models.

  • verbose

    Default \u2192 False

    Whether to display progress or not.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#examples","title":"Examples","text":"

As an example, let's use successive halving to tune the optimizer of a logistic regression. We'll first define the model.

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

Let's now define a grid of parameters which we would like to compare. We'll try different optimizers with various learning rates.

from river import utils\nfrom river import optim\n\nmodels = utils.expand_param_grid(model, {\n    'LogisticRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01, .005]}),\n            (optim.Adam, {'beta_1': [.01, .001], 'lr': [.1, .01, .001]}),\n            (optim.Adam, {'beta_1': [.1], 'lr': [.001]}),\n        ]\n    }\n})\n

We can check how many models we've created.

len(models)\n
10\n

We can now pass these models to a SuccessiveHalvingClassifier. We also need to pick a metric to compare the models, and a budget which indicates how many iterations to run before picking the best model and discarding the rest.

from river import model_selection\n\nsh = model_selection.SuccessiveHalvingClassifier(\n    models,\n    metric=metrics.Accuracy(),\n    budget=2000,\n    eta=2,\n    verbose=True\n)\n

A SuccessiveHalvingClassifier is also a classifier with a learn_one and a predict_proba_one method. We can therefore evaluate it like any other classifier with evaluate.progressive_val_score.

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    dataset=datasets.Phishing(),\n    model=sh,\n    metric=metrics.ROCAUC()\n)\n
[1] 5 removed       5 left  50 iterations   budget used: 500        budget left: 1500       best Accuracy: 80.00%\n[2] 2 removed       3 left  100 iterations  budget used: 1000       budget left: 1000       best Accuracy: 84.00%\n[3] 1 removed       2 left  166 iterations  budget used: 1498       budget left: 502        best Accuracy: 86.14%\n[4] 1 removed       1 left  250 iterations  budget used: 1998       budget left: 2  best Accuracy: 84.80%\nROCAUC: 95.22%\n

We can now view the best model.

sh.best_model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LogisticRegression (\n    optimizer=Adam (\n      lr=Constant (\n        learning_rate=0.01\n      )\n      beta_1=0.01\n      beta_2=0.999\n      eps=1e-08\n    )\n    loss=Log (\n      weight_pos=1.\n      weight_neg=1.\n    )\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Jamieson, K. and Talwalkar, A., 2016, May. Non-stochastic best arm identification and hyperparameter optimization. In Artificial Intelligence and Statistics (pp. 240-248). \u21a9

  2. Li, L., Jamieson, K., Rostamizadeh, A., Gonina, E., Hardt, M., Recht, B. and Talwalkar, A., 2018. Massively parallel hyperparameter tuning. arXiv preprint arXiv:1810.05934. \u21a9

  3. Li, L., Jamieson, K., DeSalvo, G., Rostamizadeh, A. and Talwalkar, A., 2017. Hyperband: A novel bandit-based approach to hyperparameter optimization. The Journal of Machine Learning Research, 18(1), pp.6765-6816. \u21a9

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/","title":"SuccessiveHalvingRegressor","text":"

Successive halving algorithm for regression.

Successive halving is a method for performing model selection without having to train each model on all the dataset. At certain points in time (called \"rungs\"), the worst performing will be discarded and the best ones will keep competing between each other. The rung values are designed so that at most budget model updates will be performed in total.

If you have k combinations of hyperparameters and that your dataset contains n observations, then the maximal budget you can allocate is:

\\[\\frac{2kn}{eta}\\]

It is recommended that you check this beforehand. This bound can't be checked by the function because the size of the dataset is not known. In fact it is potentially infinite, in which case the algorithm will terminate once all the budget has been spent.

If you have a budget of B, and that your dataset contains n observations, then the number of hyperparameter combinations that will spend all the budget and go through all the data is:

\\[\\left\\lceil\\left\\lfloor\\frac{B}{2n}\\right\\rfloor \\times eta \\right\\rceil\\]"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#parameters","title":"Parameters","text":"
  • models

    The models to compare.

  • metric

    Type \u2192 metrics.base.Metric

    Metric used for comparing models with.

  • budget

    Type \u2192 int

    Total number of model updates you wish to allocate.

  • eta

    Default \u2192 2

    Rate of elimination. At every rung, math.ceil(k / eta) models are kept, where k is the number of models that have reached the rung. A higher eta value will focus on less models but will allocate more iterations to the best models.

  • verbose

    Default \u2192 False

    Whether to display progress or not.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#examples","title":"Examples","text":"

As an example, let's use successive halving to tune the optimizer of a linear regression. We'll first define the model.

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(intercept_lr=.1)\n)\n

Let's now define a grid of parameters which we would like to compare. We'll try different optimizers with various learning rates.

from river import optim\nfrom river import utils\n\nmodels = utils.expand_param_grid(model, {\n    'LinearRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01, .005]}),\n            (optim.Adam, {'beta_1': [.01, .001], 'lr': [.1, .01, .001]}),\n            (optim.Adam, {'beta_1': [.1], 'lr': [.001]}),\n        ]\n    }\n})\n

We can check how many models we've created.

len(models)\n
10\n

We can now pass these models to a SuccessiveHalvingRegressor. We also need to pick a metric to compare the models, and a budget which indicates how many iterations to run before picking the best model and discarding the rest.

from river import model_selection\n\nsh = model_selection.SuccessiveHalvingRegressor(\n    models,\n    metric=metrics.MAE(),\n    budget=2000,\n    eta=2,\n    verbose=True\n)\n

A SuccessiveHalvingRegressor is also a regressor with a learn_one and a predict_one method. We can therefore evaluate it like any other classifier with evaluate.progressive_val_score.

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    dataset=datasets.TrumpApproval(),\n    model=sh,\n    metric=metrics.MAE()\n)\n
[1] 5 removed       5 left  50 iterations   budget used: 500        budget left: 1500       best MAE: 4.419643\n[2] 2 removed       3 left  100 iterations  budget used: 1000       budget left: 1000       best MAE: 2.392266\n[3] 1 removed       2 left  166 iterations  budget used: 1498       budget left: 502        best MAE: 1.541383\n[4] 1 removed       1 left  250 iterations  budget used: 1998       budget left: 2  best MAE: 1.112122\nMAE: 0.490688\n

We can now view the best model.

sh.best_model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=Adam (\n      lr=Constant (\n        learning_rate=0.1\n      )\n      beta_1=0.01\n      beta_2=0.999\n      eps=1e-08\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.1\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Jamieson, K. and Talwalkar, A., 2016, May. Non-stochastic best arm identification and hyperparameter optimization. In Artificial Intelligence and Statistics (pp. 240-248). \u21a9

  2. Li, L., Jamieson, K., Rostamizadeh, A., Gonina, E., Hardt, M., Recht, B. and Talwalkar, A., 2018. Massively parallel hyperparameter tuning. arXiv preprint arXiv:1810.05934. \u21a9

  3. Li, L., Jamieson, K., DeSalvo, G., Rostamizadeh, A. and Talwalkar, A., 2017. Hyperband: A novel bandit-based approach to hyperparameter optimization. The Journal of Machine Learning Research, 18(1), pp.6765-6816. \u21a9

"},{"location":"api/model-selection/base/ModelSelectionClassifier/","title":"ModelSelectionClassifier","text":"

A model selector for classification.

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[base.Estimator]

  • metric

    Type \u2192 metrics.base.Metric

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/model-selection/base/ModelSelectionRegressor/","title":"ModelSelectionRegressor","text":"

A model selector for regression.

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[base.Estimator]

  • metric

    Type \u2192 metrics.base.Metric

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/multiclass/OneVsOneClassifier/","title":"OneVsOneClassifier","text":"

One-vs-One (OvO) multiclass strategy.

This strategy consists in fitting one binary classifier for each pair of classes. Because we are in a streaming context, the number of classes isn't known from the start, hence new classifiers are instantiated on the fly.

The number of classifiers is k * (k - 1) / 2, where k is the number of classes. However, each call to learn_one only requires training k - 1 models. Indeed, only the models that pertain to the given label have to be trained. Meanwhile, making a prediction requires going through each and every model.

"},{"location":"api/multiclass/OneVsOneClassifier/#parameters","title":"Parameters","text":"
  • classifier

    A binary classifier, although a multi-class classifier will work too.

"},{"location":"api/multiclass/OneVsOneClassifier/#attributes","title":"Attributes","text":"
  • classifiers (dict)

    A mapping between pairs of classes and classifiers. The keys are tuples which contain a pair of classes. Each pair is sorted in lexicographical order.

"},{"location":"api/multiclass/OneVsOneClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\novo = multiclass.OneVsOneClassifier(linear_model.LogisticRegression())\nmodel = scaler | ovo\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 80.76%\n

"},{"location":"api/multiclass/OneVsOneClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/multiclass/OneVsRestClassifier/","title":"OneVsRestClassifier","text":"

One-vs-the-rest (OvR) multiclass strategy.

This strategy consists in fitting one binary classifier per class. Because we are in a streaming context, the number of classes isn't known from the start. Hence, new classifiers are instantiated on the fly. Likewise, the predicted probabilities will only include the classes seen up to a given point in time.

Note that this classifier supports mini-batches as well as single instances.

The computational complexity for both learning and predicting grows linearly with the number of classes. If you have a very large number of classes, then you might want to consider using an multiclass.OutputCodeClassifier instead.

"},{"location":"api/multiclass/OneVsRestClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    A binary classifier, although a multi-class classifier will work too.

"},{"location":"api/multiclass/OneVsRestClassifier/#attributes","title":"Attributes","text":"
  • classifiers (dict)

    A mapping between classes and classifiers.

"},{"location":"api/multiclass/OneVsRestClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\novr = multiclass.OneVsRestClassifier(linear_model.LogisticRegression())\nmodel = scaler | ovr\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 77.46%\n

This estimator also also supports mini-batching.

for X in pd.read_csv(dataset.path, chunksize=64):\n    y = X.pop('category')\n    y_pred = model.predict_many(X)\n    model.learn_many(X, y)\n
"},{"location":"api/multiclass/OneVsRestClassifier/#methods","title":"Methods","text":"learn_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_many predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/multiclass/OutputCodeClassifier/","title":"OutputCodeClassifier","text":"

Output-code multiclass strategy.

This also referred to as \"error-correcting output codes\".

This class allows to learn a multi-class classification problem with a binary classifier. Each class is converted to a code of 0s and 1s. The length of the code is called the code size. A copy of the classifier made for code. The codes associated with the classes are stored in a code book.

When a new sample arrives, the label's code is retrieved from the code book. Then, each classifier is trained on the relevant part of code, which is either a 0 or a 1.

For predicting, each classifier outputs a probability. These are then compared to each code in the code book, and the label which is the \"closest\" is chosen as the most likely class. Closeness is determined in terms of Manhattan distance.

One specificity of online learning is that we don't how many classes there are initially. Therefore, a random procedure generates random codes on the fly whenever a previously unseed label appears.

"},{"location":"api/multiclass/OutputCodeClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    A binary classifier, although a multi-class classifier will work too.

  • code_size

    Type \u2192 int

    The code size, which dictates how many copies of the provided classifiers to train. Must be strictly positive.

  • coding_method

    Type \u2192 str

    Default \u2192 random

    The method used to generate the codes. Can be either 'exact' or 'random'. The 'exact' method generates all possible codes of a given size in memory, and streams them in a random order. The 'random' method generates random codes of a given size on the fly. The 'exact' method necessarily generates different codes for each class, but requires more memory. The 'random' method can generate duplicate codes for different classes, but requires less memory.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    A random seed number that can be set for reproducibility.

"},{"location":"api/multiclass/OutputCodeClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\nooc = multiclass.OutputCodeClassifier(\n    classifier=linear_model.LogisticRegression(),\n    code_size=10,\n    coding_method='random',\n    seed=1\n)\nmodel = scaler | ooc\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 79.58%\n

"},{"location":"api/multiclass/OutputCodeClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Dietterich, T.G. and Bakiri, G., 1994. Solving multiclass learning problems via error-correcting output codes. Journal of artificial intelligence research, 2, pp.263-286. \u21a9

  2. James, G. and Hastie, T., 1998. The error coding method and PICTs. Journal of Computational and Graphical statistics, 7(3), pp.377-387. \u21a9

"},{"location":"api/multioutput/ClassifierChain/","title":"ClassifierChain","text":"

A multi-output model that arranges classifiers into a chain.

This will create one model per output. The prediction of the first output will be used as a feature in the second model. The prediction for the second output will be used as a feature for the third model, etc. This \"chain model\" is therefore capable of capturing dependencies between outputs.

"},{"location":"api/multioutput/ClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    A classifier model used for each label.

  • order

    Type \u2192 list | None

    Default \u2192 None

    A list with the targets order in which to construct the chain. If None then the order will be inferred from the order of the keys in the target.

"},{"location":"api/multioutput/ClassifierChain/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.fetch_openml('yeast', version=4, parser='auto', as_frame=False),\n    shuffle=True,\n    seed=42\n)\n\nmodel = feature_selection.VarianceThreshold(threshold=0.01)\nmodel |= preprocessing.StandardScaler()\nmodel |= multioutput.ClassifierChain(\n    model=linear_model.LogisticRegression(),\n    order=list(range(14))\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n    # Convert y values to booleans\n    y = {i: yi == 'TRUE' for i, yi in y.items()}\n    y_pred = model.predict_one(x)\n    metric.update(y, y_pred)\n    model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 41.81%\n

"},{"location":"api/multioutput/ClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Multi-Output Chain Models and their Application in Data Streams \u21a9

"},{"location":"api/multioutput/MonteCarloClassifierChain/","title":"MonteCarloClassifierChain","text":"

Monte Carlo Sampling Classifier Chains.

Probabilistic Classifier Chains using Monte Carlo sampling, as described in 1.

m samples are taken from the posterior distribution. Therefore we need a probabilistic interpretation of the output, and thus, this is a particular variety of ProbabilisticClassifierChain.

"},{"location":"api/multioutput/MonteCarloClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

  • m

    Type \u2192 int

    Default \u2192 10

    Number of samples to take from the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/multioutput/MonteCarloClassifierChain/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.MonteCarloClassifierChain(\n    model=linear_model.LogisticRegression(),\n    m=10,\n    seed=42\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 51.79%\n

"},{"location":"api/multioutput/MonteCarloClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Read, J., Martino, L., & Luengo, D. (2014). Efficient monte carlo methods for multi-dimensional learning with classifier chains. Pattern Recognition, 47(3), 1535-1546.\u00a0\u21a9

"},{"location":"api/multioutput/MultiClassEncoder/","title":"MultiClassEncoder","text":"

Convert a multi-label task into multiclass.

Assigns a class to each unique combination of labels, and proceeds with training the supplied multi-class classifier.

The transformation is done by converting the label set, which could be seen as a binary number, into an integer representing a class. At prediction time, the predicted integer is converted back to a binary number which is the predicted label set.

"},{"location":"api/multioutput/MultiClassEncoder/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier used for learning.

"},{"location":"api/multioutput/MultiClassEncoder/#examples","title":"Examples","text":"

from river import forest\nfrom river import metrics\nfrom river import multioutput\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.MultiClassEncoder(\n    model=forest.ARFClassifier(seed=7)\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 95.10%\n

"},{"location":"api/multioutput/MultiClassEncoder/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, bool]'

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, dict[bool, float]]: A dictionary that associates a probability which each label.

"},{"location":"api/multioutput/ProbabilisticClassifierChain/","title":"ProbabilisticClassifierChain","text":"

Probabilistic Classifier Chains.

The Probabilistic Classifier Chains (PCC) 1 is a Bayes-optimal method based on the Classifier Chains (CC).

Consider the concept of chaining classifiers as searching a path in a binary tree whose leaf nodes are associated with a label \\(y \\in Y\\). While CC searches only a single path in the aforementioned binary tree, PCC looks at each of the \\(2^l\\) paths, where \\(l\\) is the number of labels. This limits the applicability of the method to data sets with a small to moderate number of labels. The authors recommend no more than about 15 labels for real-world applications.

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#examples","title":"Examples","text":"

from river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.ProbabilisticClassifierChain(\n    model=linear_model.LogisticRegression()\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 51.84%\n

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Cheng, W., H\u00fcllermeier, E., & Dembczynski, K. J. (2010). Bayes optimal multilabel classification via probabilistic classifier chains. In Proceedings of the 27th international conference on machine learning (ICML-10) (pp. 279-286).\u00a0\u21a9

"},{"location":"api/multioutput/RegressorChain/","title":"RegressorChain","text":"

A multi-output model that arranges regressors into a chain.

This will create one model per output. The prediction of the first output will be used as a feature in the second output. The prediction for the second output will be used as a feature for the third, etc. This \"chain model\" is therefore capable of capturing dependencies between outputs.

"},{"location":"api/multioutput/RegressorChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor

    The regression model used to make predictions for each target.

  • order

    Type \u2192 list | None

    Default \u2192 None

    A list with the targets order in which to construct the chain. If None then the order will be inferred from the order of the keys in the target.

"},{"location":"api/multioutput/RegressorChain/#examples","title":"Examples","text":"

from river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river import stream\n\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_linnerud(),\n    shuffle=True,\n    seed=42\n)\n\nmodel = multioutput.RegressorChain(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(intercept_lr=0.3)\n    ),\n    order=[0, 1, 2]\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.MAE())\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MicroAverage(MAE): 12.733525\n

"},{"location":"api/multioutput/RegressorChain/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the outputs of features x.

Parameters

  • x
  • kwargs

Returns

The predictions.

"},{"location":"api/naive-bayes/BernoulliNB/","title":"BernoulliNB","text":"

Bernoulli Naive Bayes.

Bernoulli Naive Bayes model learns from occurrences between features such as word counts and discrete classes. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/BernoulliNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

  • true_threshold

    Default \u2192 0.0

    Threshold for binarizing (mapping to booleans) features.

"},{"location":"api/naive-bayes/BernoulliNB/#attributes","title":"Attributes","text":"
  • class_counts (collections.Counter)

    Number of times each class has been seen.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

"},{"location":"api/naive-bayes/BernoulliNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"yes\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.BernoulliNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.75\n
model[\"nb\"].p_class(\"no\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.883..., 'no': 0.116...}\n

model.predict_one(\"test\")\n
'yes'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"yes\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.BernoulliNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
         no       yes\n0  0.116846  0.883154\n1  0.047269  0.952731\n

model.predict_many(unseen)\n
0    yes\n1    yes\ndtype: object\n

"},{"location":"api/naive-bayes/BernoulliNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many p_feature_given_class predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. The Bernoulli model \u21a9

"},{"location":"api/naive-bayes/ComplementNB/","title":"ComplementNB","text":"

Naive Bayes classifier for multinomial models.

Complement Naive Bayes model learns from occurrences between features such as word counts and discrete classes. ComplementNB is suitable for imbalance dataset. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/ComplementNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

"},{"location":"api/naive-bayes/ComplementNB/#attributes","title":"Attributes","text":"
  • class_dist (proba.Multinomial)

    Class prior probability distribution.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

  • class_totals (collections.Counter)

    Total frequencies per class.

"},{"location":"api/naive-bayes/ComplementNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"maybe\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.ComplementNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.5\n

model[\"nb\"].p_class(\"no\")\n
0.25\n

model[\"nb\"].p_class(\"maybe\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.275, 'maybe': 0.375, 'no': 0.35}\n

model.predict_one(\"test\")\n
'maybe'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"maybe\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.ComplementNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
      maybe        no       yes\n0  0.415129  0.361624  0.223247\n1  0.248619  0.216575  0.534807\n

model.predict_many(unseen)\n
0    maybe\n1      yes\ndtype: object\n

"},{"location":"api/naive-bayes/ComplementNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. Rennie, J.D., Shih, L., Teevan, J. and Karger, D.R., 2003. Tackling the poor assumptions of naive bayes text classifiers. In Proceedings of the 20th international conference on machine learning (ICML-03) (pp. 616-623) \u21a9

  2. StackExchange discussion \u21a9

"},{"location":"api/naive-bayes/GaussianNB/","title":"GaussianNB","text":"

Gaussian Naive Bayes.

A Gaussian distribution \\(G_{cf}\\) is maintained for each class \\(c\\) and each feature \\(f\\). Each Gaussian is updated using the amount associated with each feature; the details can be be found in proba.Gaussian. The joint log-likelihood is then obtained by summing the log probabilities of each feature associated with each class.

"},{"location":"api/naive-bayes/GaussianNB/#examples","title":"Examples","text":"

from river import naive_bayes\nfrom river import stream\nimport numpy as np\n\nX = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])\nY = np.array([1, 1, 1, 2, 2, 2])\n\nmodel = naive_bayes.GaussianNB()\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n\nmodel.predict_one({0: -0.8, 1: -1})\n
1\n

"},{"location":"api/naive-bayes/GaussianNB/#methods","title":"Methods","text":"joint_log_likelihood joint_log_likelihood_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

"},{"location":"api/naive-bayes/MultinomialNB/","title":"MultinomialNB","text":"

Naive Bayes classifier for multinomial models.

Multinomial Naive Bayes model learns from occurrences between features such as word counts and discrete classes. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/MultinomialNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

"},{"location":"api/naive-bayes/MultinomialNB/#attributes","title":"Attributes","text":"
  • class_dist (proba.Multinomial)

    Class prior probability distribution.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

  • class_totals (collections.Counter)

    Total frequencies per class.

"},{"location":"api/naive-bayes/MultinomialNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"maybe\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.MultinomialNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.5\n

model[\"nb\"].p_class(\"no\")\n
0.25\n

model[\"nb\"].p_class(\"maybe\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.413, 'maybe': 0.310, 'no': 0.275}\n

model.predict_one(\"test\")\n
'yes'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"maybe\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.MultinomialNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
      maybe        no       yes\n0  0.373272  0.294931  0.331797\n1  0.160396  0.126733  0.712871\n

model.predict_many(unseen)\n
0    maybe\n1      yes\ndtype: object\n

"},{"location":"api/naive-bayes/MultinomialNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many p_feature_given_class predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. Naive Bayes text classification \u21a9

"},{"location":"api/neighbors/KNNClassifier/","title":"KNNClassifier","text":"

K-Nearest Neighbors (KNN) for classification.

Samples are stored using a first-in, first-out strategy. The strategy to perform search queries in the data buffer is defined by the engine parameter.

"},{"location":"api/neighbors/KNNClassifier/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 5

    The number of nearest neighbors to search for.

  • engine

    Type \u2192 BaseNN | None

    Default \u2192 None

    The search engine used to store the instances and perform search queries. Depending on the choose engine, search will be exact or approximate. Please, consult the documentation of each available search engine for more details on its usage. By default, use the SWINN search engine for approximate search queries.

  • weighted

    Type \u2192 bool

    Default \u2192 True

    Weight the contribution of each neighbor by its inverse distance.

  • cleanup_every

    Type \u2192 int

    Default \u2192 0

    This determines at which rate old classes are cleaned up. Classes that have been seen in the past but that are not present in the current window are dropped. Classes are never dropped when this is set to 0.

  • softmax

    Type \u2192 bool

    Default \u2192 False

    Whether or not to use softmax normalization to normalize the neighbors contributions. Votes are divided by the total number of votes if this is False.

"},{"location":"api/neighbors/KNNClassifier/#examples","title":"Examples","text":"
import functools\nfrom river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import neighbors\nfrom river import preprocessing\nfrom river import utils\n\ndataset = datasets.Phishing()\n

To select a custom distance metric which takes one or several parameter, you can wrap your chosen distance using functools.partial:

l1_dist = functools.partial(utils.math.minkowski_distance, p=1)\n\nmodel = (\n    preprocessing.StandardScaler() |\n    neighbors.KNNClassifier(\n        engine=neighbors.SWINN(\n            dist_func=l1_dist,\n            seed=42\n        )\n    )\n)\n\nevaluate.progressive_val_score(dataset, model, metrics.Accuracy())\n
Accuracy: 89.59%\n

"},{"location":"api/neighbors/KNNClassifier/#methods","title":"Methods","text":"clean_up_classes

Clean up classes added to the window.

Classes that are added (and removed) from the window may no longer be valid. This method cleans up the window and and ensures only known classes are added, and we do not consider \"None\" a class. It is called every cleanup_every step, or can be called manually.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/neighbors/KNNClassifier/#notes","title":"Notes","text":"

Note that since the window is moving and we keep track of all classes that are added at some point, a class might be returned in a result (with a value of 0) if it is no longer in the window. You can call model.clean_up_classes(), or set cleanup_every to a non-zero value.

"},{"location":"api/neighbors/KNNRegressor/","title":"KNNRegressor","text":"

K-Nearest Neighbors regressor.

Samples are stored using a first-in, first-out strategy. The strategy to perform search queries in the data buffer is defined by the engine parameter. Predictions are obtained by aggregating the values of the closest n_neighbors stored samples with respect to a query sample.

"},{"location":"api/neighbors/KNNRegressor/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 5

    The number of nearest neighbors to search for.

  • engine

    Type \u2192 BaseNN | None

    Default \u2192 None

    The search engine used to store the instances and perform search queries. Depending on the choose engine, search will be exact or approximate. Please, consult the documentation of each available search engine for more details on its usage. By default, use the SWINN search engine for approximate search queries.

  • aggregation_method

    Type \u2192 str

    Default \u2192 mean

    The method to aggregate the target values of neighbors. | 'mean' | 'median' | 'weighted_mean'

"},{"location":"api/neighbors/KNNRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import neighbors\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = neighbors.KNNRegressor()\nevaluate.progressive_val_score(dataset, model, metrics.RMSE())\n
RMSE: 1.427743\n

"},{"location":"api/neighbors/KNNRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/neighbors/LazySearch/","title":"LazySearch","text":"

Exact nearest neighbors using a lazy search estrategy.

"},{"location":"api/neighbors/LazySearch/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Default \u2192 50

    Size of the sliding window use to search neighbors with.

  • min_distance_keep

    Type \u2192 float

    Default \u2192 0.0

    The minimum distance (similarity) to consider adding a point to the window. E.g., a value of 0.0 will add even exact duplicates.

  • dist_func

    Type \u2192 DistanceFunc | FunctionWrapper | None

    Default \u2192 None

    A distance function which accepts two input items to compare. If not set, use the Minkowski distance with p=2.

"},{"location":"api/neighbors/LazySearch/#methods","title":"Methods","text":"append

Add a point to the window, optionally with extra metadata.

Parameters

  • item \u2014 'typing.Any'
  • extra \u2014 'typing.Any | None' \u2014 defaults to None
  • kwargs

search

Find the n_neighbors closest points to item, along with their distances.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int'
  • kwargs

update

Update the window with a new point, only added if > min distance.

If min distance is 0, we do not need to do the calculation. The item (and extra metadata) will not be added to the window if it is too close to an existing point.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int' \u2014 defaults to 1
  • extra \u2014 'typing.Any | None' \u2014 defaults to None

Returns

A boolean (true/false) to indicate if the point was added.

"},{"location":"api/neighbors/LazySearch/#notes","title":"Notes","text":"

Updates are by default stored by the FIFO (first in first out) method, which means that when the size limit is reached, old samples are dumped to give room for new samples. This is circular, meaning that older points are dumped first. This also gives the implementation a temporal aspect, because older samples are replaced with newer ones.

The parameter min_dinstance_keep controls the addition of new items to the window - items that are far enough away (> min_distance_keep) are added to the window. Thus a value of 0 indicates that we add all points, and increasing from 0 makes it less likely we will keep a new item.

"},{"location":"api/neighbors/SWINN/","title":"SWINN","text":"

Sliding WIndow-based Nearest Neighbor (SWINN) search using Graphs.

Extends the NNDescent algorithm1 to handle vertex addition and removal in a FIFO data ingestion policy. SWINN builds and keeps a directed graph where edges connect the nearest neighbors. Any distance metric can be used to build the graph. By using a directed graph, the user must set the desired number of neighbors. More neighbors imply more accurate search queries at the cost of increased running time and memory usage. Note that although the number of directed neighbors is limited by the user, there is no direct control on the number of reverse neighbors, i.e., the number of vertices that have an edge to a given vertex.

The basic idea of SWINN and NNDescent is that \"the neighbor of my neighbors might as well be my neighbor\". Hence, the connections are constantly revisited to improve the graph structure. The algorithm for creating and maintaining the search graph can be described in general lines as follows:

  • Start with a random neighborhood graph;

  • For each node in the search graph: refine the current neighborhood by checking if there are better neighborhood options among the neighbors of the current neighbors;

  • If the total number of neighborhood changes is smaller than a given stopping criterion, then stop.

SWINN adds strategies to remove vertices from the search graph and pruning redundant edges. SWINN is more efficient when the selected maxlen is greater than 500. For small sized data windows, using the lazy/exhaustive search, i.e., neighbors.LazySearch might be a better idea.

"},{"location":"api/neighbors/SWINN/#parameters","title":"Parameters","text":"
  • graph_k

    Type \u2192 int

    Default \u2192 20

    The maximum number of direct nearest neighbors each node has.

  • dist_func

    Type \u2192 DistanceFunc | FunctionWrapper | None

    Default \u2192 None

    The distance function used to compare two items. If not set, use the Minkowski distance with p=2.

  • maxlen

    Type \u2192 int

    Default \u2192 1000

    The maximum size of the data buffer.

  • warm_up

    Type \u2192 int

    Default \u2192 500

    How many data instances to observe before starting the search graph.

  • max_candidates

    Type \u2192 int | None

    Default \u2192 None

    The maximum number of vertices to consider when performing local neighborhood joins. If not set SWINN will use min(50, max(50, self.graph_k)).

  • delta

    Type \u2192 float

    Default \u2192 0.0001

    Early stop parameter for the neighborhood refinement procedure. NNDescent will stop running if the maximum number of iterations is reached or the number of edge changes after an iteration is smaller than or equal to delta * graph_k * n_nodes. In the last expression, n_nodes refers to the number of graph nodes involved in the (local) neighborhood refinement.

  • prune_prob

    Type \u2192 float

    Default \u2192 0.0

    The probability of removing redundant edges. Must be between 0 and 1. If set to zero, no edge will be pruned. When set to one, every potentially redundant edge will be dropped.

  • n_iters

    Type \u2192 int

    Default \u2192 10

    The maximum number of NNDescent iterations to perform to refine the search index.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/neighbors/SWINN/#methods","title":"Methods","text":"append

Add a new item to the search index.

Data is stored using the FIFO strategy. Both the data buffer and the search graph are updated. The addition of a new item will trigger the removal of the oldest item, if the maximum size was reached. All edges of the removed node are also dropped and safety procedures are applied to ensure its neighbors keep accessible. The addition of a new item also trigger local neighborhood refinement procedures, to ensure the search index is effective and the node degree constraints are met.

Parameters

  • item \u2014 'typing.Any'
  • kwargs

connectivity

Get a list with the size of each connected component in the search graph.

This metric provides an overview of reachability in the search index by using Kruskal's algorithm to build a forest of connected components. We want our search index to have a single connected component, i.e., the case where we get a list containing a single number which is equal to maxlen. If that is not the case, not every node in the search graph can be reached from any given starting point. You may want to try increasing graph_k to improve connectivity. However, keep in mind the following aspects: 1) computing this metric is a costly operation (\\(O(E\\log V)\\)), where \\(E\\) and \\(V\\) are, respectively, the number of edges and vertices in the search graph; 2) often, connectivity comes at the price of increased computational costs. Tweaking the sample_rate might help in such situations. The best possible scenario is to decrease the value of graph_k while keeping a single connected component.

Returns

list[int]: A list of the number of elements in each connected component of the graph.

search

Search the underlying nearest neighbor graph given a query item.

In case not enough samples were observed, i.e., the number of stored samples is smaller than warm_up, then the search switches to a brute force strategy.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int'
  • epsilon \u2014 'float' \u2014 defaults to 0.1
  • kwargs

Returns

tuple[list, list]: neighbors, dists

"},{"location":"api/neighbors/SWINN/#notes","title":"Notes","text":"

There is an accuracy/speed trade-off between graph_k and sample_rate. To ensure a single connected component, and thus an effective search index, one can increase graph_k. The connectivity method is a helper to determine whether the search index has a single connected component. However, search accuracy might come at the cost of increased memory usage and slow processing. To alleviate that, one can rely on decreasing the sample_rate to avoid exploring all the undirected edges of a node during search queries and local graph refinements. Moreover, the edge pruning procedures also help decreasing the computational costs. Note that, anything that limits the number of explored neighbors or prunes edges might have a negative impact on search accuracy.

  1. Dong, W., Moses, C., & Li, K. (2011, March). Efficient k-nearest neighbor graph construction for generic similarity measures. In Proceedings of the 20th international conference on World wide web (pp. 577-586).\u00a0\u21a9

"},{"location":"api/neural-net/MLPRegressor/","title":"MLPRegressor","text":"

Multi-layer Perceptron for regression.

This model is still work in progress. Here are some features that still need implementing:

  • learn_one and predict_one just cast the input dict to a single row dataframe and then

    call learn_many and predict_many respectively. This is very inefficient. - Not all of the optimizers in the optim module can be used as they are not all vectorised.

  • Emerging and disappearing features are not supported. Each instance/batch has to have the

    same features. - The gradient haven't been numerically checked.

"},{"location":"api/neural-net/MLPRegressor/#parameters","title":"Parameters","text":"
  • hidden_dims

    The dimensions of the hidden layers. For example, specifying (10, 20) means that there are two hidden layers with 10 and 20 neurons, respectively. Note that the number of layers the network contains is equal to the number of hidden layers plus two (to account for the input and output layers).

  • activations

    The activation functions to use at each layer, including the input and output layers. Therefore you need to specify three activation if you specify one hidden layer.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    Loss function. Defaults to optim.losses.Squared.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    Optimizer. Defaults to optim.SGD with the learning rate set to 0.01.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/neural-net/MLPRegressor/#attributes","title":"Attributes","text":"
  • n_layers

    Return the number of layers in the network. The number of layers is equal to the number of hidden layers plus 2. The 2 accounts for the input layer and the output layer.

"},{"location":"api/neural-net/MLPRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import neural_net as nn\nfrom river import optim\nfrom river import preprocessing as pp\nfrom river import metrics\n\nmodel = (\n    pp.StandardScaler() |\n    nn.MLPRegressor(\n        hidden_dims=(5,),\n        activations=(\n            nn.activations.ReLU,\n            nn.activations.ReLU,\n            nn.activations.Identity\n        ),\n        optimizer=optim.SGD(1e-3),\n        seed=42\n    )\n)\n\ndataset = datasets.TrumpApproval()\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.580578\n

You can also use this to process mini-batches of data.

model = (\n    pp.StandardScaler() |\n    nn.MLPRegressor(\n        hidden_dims=(10,),\n        activations=(\n            nn.activations.ReLU,\n            nn.activations.ReLU,\n            nn.activations.ReLU\n        ),\n        optimizer=optim.SGD(1e-4),\n        seed=42\n    )\n)\n\ndataset = datasets.TrumpApproval()\nbatch_size = 32\n\nfor epoch in range(10):\n    for xb in pd.read_csv(dataset.path, chunksize=batch_size):\n        yb = xb.pop('five_thirty_eight')\n        y_pred = model.predict_many(xb)\n        model.learn_many(xb, yb)\n\nmodel.predict_many(xb)\n
      five_thirty_eight\n992           39.405231\n993           46.447481\n994           42.121865\n995           40.251148\n996           40.836378\n997           40.893153\n998           40.949927\n999           48.416504\n1000          42.077830\n

"},{"location":"api/neural-net/MLPRegressor/#methods","title":"Methods","text":"call

Make predictions.

Parameters

  • X \u2014 'pd.DataFrame'

learn_many

Train the network.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.DataFrame'

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/neural-net/activations/Identity/","title":"Identity","text":"

Identity activation function.

"},{"location":"api/neural-net/activations/Identity/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/neural-net/activations/ReLU/","title":"ReLU","text":"

Rectified Linear Unit (ReLU) activation function.

"},{"location":"api/neural-net/activations/ReLU/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/neural-net/activations/Sigmoid/","title":"Sigmoid","text":"

Sigmoid activation function.

"},{"location":"api/neural-net/activations/Sigmoid/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/optim/AMSGrad/","title":"AMSGrad","text":"

AMSGrad optimizer.

"},{"location":"api/optim/AMSGrad/#parameters","title":"Parameters","text":"
  • lr

    Type \u2192 int | float | optim.base.Scheduler

    Default \u2192 0.1

    The learning rate.

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

  • correct_bias

    Default \u2192 True

"},{"location":"api/optim/AMSGrad/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

  • v_hat (collections.defaultdict)

"},{"location":"api/optim/AMSGrad/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AMSGrad()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.60%\n

"},{"location":"api/optim/AMSGrad/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Reddi, S.J., Kale, S. and Kumar, S., 2019. On the convergence of adam and beyond. arXiv preprint arXiv:1904.09237 \u21a9

"},{"location":"api/optim/AdaBound/","title":"AdaBound","text":"

AdaBound optimizer.

"},{"location":"api/optim/AdaBound/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.001

    The learning rate.

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

  • gamma

    Default \u2192 0.001

  • final_lr

    Default \u2192 0.1

"},{"location":"api/optim/AdaBound/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • s (collections.defaultdict)

"},{"location":"api/optim/AdaBound/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaBound()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.06%\n

"},{"location":"api/optim/AdaBound/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Luo, L., Xiong, Y., Liu, Y. and Sun, X., 2019. Adaptive gradient methods with dynamic bound of learning rate. arXiv preprint arXiv:1902.09843 \u21a9

"},{"location":"api/optim/AdaDelta/","title":"AdaDelta","text":"

AdaDelta optimizer.

"},{"location":"api/optim/AdaDelta/#parameters","title":"Parameters","text":"
  • rho

    Default \u2192 0.95

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaDelta/#attributes","title":"Attributes","text":"
  • g2 (collections.defaultdict)

  • s2 (collections.defaultdict)

"},{"location":"api/optim/AdaDelta/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaDelta()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 80.56%\n

"},{"location":"api/optim/AdaDelta/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Zeiler, M.D., 2012. Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701. \u21a9

"},{"location":"api/optim/AdaGrad/","title":"AdaGrad","text":"

AdaGrad optimizer.

"},{"location":"api/optim/AdaGrad/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaGrad/#attributes","title":"Attributes","text":"
  • g2 (collections.defaultdict)
"},{"location":"api/optim/AdaGrad/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaGrad()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.01%\n

"},{"location":"api/optim/AdaGrad/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Duchi, J., Hazan, E. and Singer, Y., 2011. Adaptive subgradient methods for online learning and stochastic optimization. Journal of machine learning research, 12(Jul), pp.2121-2159. \u21a9

"},{"location":"api/optim/AdaMax/","title":"AdaMax","text":"

AdaMax optimizer.

"},{"location":"api/optim/AdaMax/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaMax/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

"},{"location":"api/optim/AdaMax/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaMax()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.61%\n

"},{"location":"api/optim/AdaMax/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Kingma, D.P. and Ba, J., 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. \u21a9

  2. Ruder, S., 2016. An overview of gradient descent optimization algorithms. arXiv preprint arXiv:1609.04747. \u21a9

"},{"location":"api/optim/Adam/","title":"Adam","text":"

Adam optimizer.

"},{"location":"api/optim/Adam/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/Adam/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

"},{"location":"api/optim/Adam/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Adam()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.52%\n

"},{"location":"api/optim/Adam/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Kingma, D.P. and Ba, J., 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. \u21a9

"},{"location":"api/optim/Averager/","title":"Averager","text":"

Averaged stochastic gradient descent.

This is a wrapper that can be applied to any stochastic gradient descent optimiser. Note that this implementation differs than what may be found elsewhere. Essentially, the average of the weights is usually only used at the end of the optimisation, once all the data has been seen. However, in this implementation the optimiser returns the current averaged weights.

"},{"location":"api/optim/Averager/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer

    An optimizer for which the produced weights will be averaged.

  • start

    Type \u2192 int

    Default \u2192 0

    Indicates the number of iterations to wait before starting the average. Essentially, nothing happens differently before the number of iterations reaches this value.

"},{"location":"api/optim/Averager/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Averager/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Averager(optim.SGD(0.01), 100)\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.97%\n

"},{"location":"api/optim/Averager/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Bottou, L., 2010. Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT'2010 (pp. 177-186). Physica-Verlag HD. \u21a9

  2. Stochastic Algorithms for One-Pass Learning slides by L\u00e9on Bottou \u21a9

  3. Xu, W., 2011. Towards optimal one pass large scale learning with averaged stochastic gradient descent. arXiv preprint arXiv:1107.2490. \u21a9

"},{"location":"api/optim/FTRLProximal/","title":"FTRLProximal","text":"

FTRL-Proximal optimizer.

"},{"location":"api/optim/FTRLProximal/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 0.05

  • beta

    Default \u2192 1.0

  • l1

    Default \u2192 0.0

  • l2

    Default \u2192 1.0

"},{"location":"api/optim/FTRLProximal/#attributes","title":"Attributes","text":"
  • z (collections.defaultdict)

  • n (collections.defaultdict)

"},{"location":"api/optim/FTRLProximal/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.FTRLProximal()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.56%\n

"},{"location":"api/optim/FTRLProximal/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. McMahan, H.B., Holt, G., Sculley, D., Young, M., Ebner, D., Grady, J., Nie, L., Phillips, T., Davydov, E., Golovin, D. and Chikkerur, S., 2013, August. Ad click prediction: a view from the trenches. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 1222-1230) \u21a9

  2. Tensorflow's FtrlOptimizer \u21a9

"},{"location":"api/optim/Momentum/","title":"Momentum","text":"

Momentum optimizer.

"},{"location":"api/optim/Momentum/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

"},{"location":"api/optim/Momentum/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Momentum/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Momentum()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 84.09%\n

"},{"location":"api/optim/Momentum/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/Nadam/","title":"Nadam","text":"

Nadam optimizer.

"},{"location":"api/optim/Nadam/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/Nadam/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Nadam/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Nadam()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.60%\n

"},{"location":"api/optim/Nadam/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Nadam: A combination of adam and nesterov \u21a9

"},{"location":"api/optim/NesterovMomentum/","title":"NesterovMomentum","text":"

Nesterov Momentum optimizer.

"},{"location":"api/optim/NesterovMomentum/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

"},{"location":"api/optim/NesterovMomentum/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/NesterovMomentum/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.NesterovMomentum()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 84.22%\n

"},{"location":"api/optim/NesterovMomentum/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/RMSProp/","title":"RMSProp","text":"

RMSProp optimizer.

"},{"location":"api/optim/RMSProp/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/RMSProp/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/RMSProp/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.RMSProp()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.24%\n

"},{"location":"api/optim/RMSProp/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Divide the gradient by a running average of itsrecent magnitude \u21a9

"},{"location":"api/optim/SGD/","title":"SGD","text":"

Plain stochastic gradient descent.

"},{"location":"api/optim/SGD/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.01

"},{"location":"api/optim/SGD/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/SGD/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.SGD(0.1)\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.85%\n

"},{"location":"api/optim/SGD/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Robbins, H. and Monro, S., 1951. A stochastic approximation method. The annals of mathematical statistics, pp.400-407 \u21a9

"},{"location":"api/optim/base/Initializer/","title":"Initializer","text":"

An initializer is used to set initial weights in a model.

"},{"location":"api/optim/base/Initializer/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/base/Loss/","title":"Loss","text":"

Base class for all loss functions.

"},{"location":"api/optim/base/Loss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/base/Optimizer/","title":"Optimizer","text":"

Optimizer interface.

Every optimizer inherits from this base interface.

"},{"location":"api/optim/base/Optimizer/#parameters","title":"Parameters","text":"
  • lr

    Type \u2192 int | float | Scheduler

"},{"location":"api/optim/base/Optimizer/#attributes","title":"Attributes","text":"
  • learning_rate (float)

    Returns the current learning rate value.

"},{"location":"api/optim/base/Optimizer/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/base/Scheduler/","title":"Scheduler","text":"

Can be used to program the learning rate schedule of an optim.base.Optimizer.

"},{"location":"api/optim/base/Scheduler/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/initializers/Constant/","title":"Constant","text":"

Constant initializer which always returns the same value.

"},{"location":"api/optim/initializers/Constant/#parameters","title":"Parameters","text":"
  • value

    Type \u2192 float

"},{"location":"api/optim/initializers/Constant/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Constant(value=3.14)\n\ninit(shape=1)\n
3.14\n

init(shape=2)\n
array([3.14, 3.14])\n

"},{"location":"api/optim/initializers/Constant/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/initializers/Normal/","title":"Normal","text":"

Random normal initializer which simulate a normal distribution with specified parameters.

"},{"location":"api/optim/initializers/Normal/#parameters","title":"Parameters","text":"
  • mu

    Default \u2192 0.0

    The mean of the normal distribution

  • sigma

    Default \u2192 1.0

    The standard deviation of the normal distribution

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed that can be set for reproducibility.

"},{"location":"api/optim/initializers/Normal/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Normal(mu=0, sigma=1, seed=42)\n\ninit(shape=1)\n
0.496714\n

init(shape=2)\n
array([-0.1382643 ,  0.64768854])\n

"},{"location":"api/optim/initializers/Normal/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/initializers/Zeros/","title":"Zeros","text":"

Constant initializer which always returns zeros.

"},{"location":"api/optim/initializers/Zeros/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Zeros()\n\ninit(shape=1)\n
0.0\n

init(shape=2)\n
array([0., 0.])\n

"},{"location":"api/optim/initializers/Zeros/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/losses/Absolute/","title":"Absolute","text":"

Absolute loss, also known as the mean absolute error or L1 loss.

Mathematically, it is defined as

\\[L = |p_i - y_i|\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = sgn(p_i - y_i)\\]"},{"location":"api/optim/losses/Absolute/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Absolute()\nloss(-42, 42)\n
84\n
loss.gradient(1, 2)\n
1\n
loss.gradient(2, 1)\n
-1\n

"},{"location":"api/optim/losses/Absolute/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/BinaryFocalLoss/","title":"BinaryFocalLoss","text":"

Binary focal loss.

This implements the \"star\" algorithm from the appendix of the focal loss paper.

"},{"location":"api/optim/losses/BinaryFocalLoss/#parameters","title":"Parameters","text":"
  • gamma

    Default \u2192 2

  • beta

    Default \u2192 1

"},{"location":"api/optim/losses/BinaryFocalLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

1. Lin, T.Y., Goyal, P., Girshick, R., He, K. and Doll\u00e1r, P., 2017. Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision (pp. 2980-2988)

"},{"location":"api/optim/losses/BinaryLoss/","title":"BinaryLoss","text":"

A loss appropriate for binary classification tasks.

"},{"location":"api/optim/losses/BinaryLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Cauchy/","title":"Cauchy","text":"

Cauchy loss function.

"},{"location":"api/optim/losses/Cauchy/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 80

"},{"location":"api/optim/losses/Cauchy/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. \"Effect of MAE\" Kaggle discussion \u21a9

  2. Paris Madness Kaggle kernel \u21a9

"},{"location":"api/optim/losses/CrossEntropy/","title":"CrossEntropy","text":"

Cross entropy loss.

This is a generalization of logistic loss to multiple classes.

"},{"location":"api/optim/losses/CrossEntropy/#parameters","title":"Parameters","text":"
  • class_weight

    Type \u2192 dict[base.typing.ClfTarget, float] | None

    Default \u2192 None

    A dictionary that indicates what weight to associate with each class.

"},{"location":"api/optim/losses/CrossEntropy/#examples","title":"Examples","text":"

from river import optim\n\ny_true = [0, 1, 2, 2]\ny_pred = [\n    {0: 0.29450637, 1: 0.34216758, 2: 0.36332605},\n    {0: 0.21290077, 1: 0.32728332, 2: 0.45981591},\n    {0: 0.42860913, 1: 0.33380113, 2: 0.23758974},\n    {0: 0.44941979, 1: 0.32962558, 2: 0.22095463}\n]\n\nloss = optim.losses.CrossEntropy()\n\nfor yt, yp in zip(y_true, y_pred):\n    print(loss(yt, yp))\n
1.222454\n1.116929\n1.437209\n1.509797\n

for yt, yp in zip(y_true, y_pred):\n    print(loss.gradient(yt, yp))\n
{0: -0.70549363, 1: 0.34216758, 2: 0.36332605}\n{0: 0.21290077, 1: -0.67271668, 2: 0.45981591}\n{0: 0.42860913, 1: 0.33380113, 2: -0.76241026}\n{0: 0.44941979, 1: 0.32962558, 2: -0.77904537}\n

"},{"location":"api/optim/losses/CrossEntropy/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. What is Softmax regression and how is it related to Logistic regression? \u21a9

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/","title":"EpsilonInsensitiveHinge","text":"

Epsilon-insensitive hinge loss.

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/#parameters","title":"Parameters","text":"
  • eps

    Default \u2192 0.1

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Hinge/","title":"Hinge","text":"

Computes the hinge loss.

Mathematically, it is defined as

\\[L = max(0, 1 - p_i * y_i)\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[ \\\\frac{\\\\partial L}{\\\\partial y_i} = \\\\left\\{ \\\\begin{array}{ll} \\\\ 0 & p_iy_i \\geqslant 1 \\\\\\\\ \\\\ - y_i & p_iy_i < 1 \\\\end{array} \\\\right. \\]"},{"location":"api/optim/losses/Hinge/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 1.0

    Margin threshold. 1 yield the loss used in SVMs, whilst 0 is equivalent to the loss used in the Perceptron algorithm.

"},{"location":"api/optim/losses/Hinge/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Hinge(threshold=1)\nloss(1, .2)\n
0.8\n

loss.gradient(1, .2)\n
-1\n

"},{"location":"api/optim/losses/Hinge/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Huber/","title":"Huber","text":"

Huber loss.

Variant of the squared loss that is robust to outliers.

"},{"location":"api/optim/losses/Huber/#parameters","title":"Parameters","text":"
  • epsilon

    Default \u2192 0.1

"},{"location":"api/optim/losses/Huber/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

1. Huber loss function - Wikipedia

"},{"location":"api/optim/losses/Log/","title":"Log","text":"

Logarithmic loss.

This loss function expects each provided y_pred to be a logit. In other words if must be the raw output of a linear model or a neural network.

"},{"location":"api/optim/losses/Log/#parameters","title":"Parameters","text":"
  • weight_pos

    Default \u2192 1.0

  • weight_neg

    Default \u2192 1.0

"},{"location":"api/optim/losses/Log/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. Logit Wikipedia page \u21a9

"},{"location":"api/optim/losses/MultiClassLoss/","title":"MultiClassLoss","text":"

A loss appropriate for multi-class classification tasks.

"},{"location":"api/optim/losses/MultiClassLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Poisson/","title":"Poisson","text":"

Poisson loss.

The Poisson loss is usually more suited for regression with count data than the squared loss.

Mathematically, it is defined as

\\[L = exp(p_i) - y_i \\times p_i\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = exp(p_i) - y_i\\]"},{"location":"api/optim/losses/Poisson/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Quantile/","title":"Quantile","text":"

Quantile loss.

"},{"location":"api/optim/losses/Quantile/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 0.5

    Desired quantile to attain.

"},{"location":"api/optim/losses/Quantile/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Quantile(0.5)\nloss(1, 3)\n
1.0\n

loss.gradient(1, 3)\n
0.5\n

loss.gradient(3, 1)\n
-0.5\n

"},{"location":"api/optim/losses/Quantile/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. Wikipedia article on quantile regression \u21a9

  2. Derivative from WolframAlpha \u21a9

"},{"location":"api/optim/losses/RegressionLoss/","title":"RegressionLoss","text":"

A loss appropriate for regression tasks.

"},{"location":"api/optim/losses/RegressionLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Squared/","title":"Squared","text":"

Squared loss, also known as the L2 loss.

Mathematically, it is defined as

\\[L = (p_i - y_i) ^ 2\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = 2 (p_i - y_i)\\]

One thing to note is that this convention is consistent with Vowpal Wabbit and PyTorch, but not with scikit-learn. Indeed, scikit-learn divides the loss by 2, making the 2 disappear in the gradient.

"},{"location":"api/optim/losses/Squared/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Squared()\nloss(-4, 5)\n
81\n
loss.gradient(-4, 5)\n
18\n
loss.gradient(5, -4)\n
-18\n

"},{"location":"api/optim/losses/Squared/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/schedulers/Constant/","title":"Constant","text":"

Always uses the same learning rate.

"},{"location":"api/optim/schedulers/Constant/#parameters","title":"Parameters","text":"
  • learning_rate

    Type \u2192 int | float

"},{"location":"api/optim/schedulers/Constant/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/schedulers/InverseScaling/","title":"InverseScaling","text":"

Reduces the learning rate using a power schedule.

Assuming an initial learning rate \\(\\eta\\), the learning rate at step \\(t\\) is:

\\[\\\\frac{eta}{(t + 1) ^ p}\\]

where \\(p\\) is a user-defined parameter.

"},{"location":"api/optim/schedulers/InverseScaling/#parameters","title":"Parameters","text":"
  • learning_rate

    Type \u2192 float

  • power

    Default \u2192 0.5

"},{"location":"api/optim/schedulers/InverseScaling/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/schedulers/Optimal/","title":"Optimal","text":"

Optimal learning schedule as proposed by L\u00e9on Bottou.

"},{"location":"api/optim/schedulers/Optimal/#parameters","title":"Parameters","text":"
  • loss

    Type \u2192 optim.losses.Loss

  • alpha

    Default \u2192 0.0001

"},{"location":"api/optim/schedulers/Optimal/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

  1. Bottou, L., 2012. Stochastic gradient descent tricks. In Neural networks: Tricks of the trade (pp. 421-436). Springer, Berlin, Heidelberg. \u21a9

"},{"location":"api/preprocessing/AdaptiveStandardScaler/","title":"AdaptiveStandardScaler","text":"

Scales data using exponentially weighted moving average and variance.

Under the hood, a exponentially weighted running mean and variance are maintained for each feature. This can potentially provide better results for drifting data in comparison to preprocessing.StandardScaler. Indeed, the latter computes a global mean and variance for each feature, whereas this scaler weights data in proportion to their recency.

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.3

    This parameter is passed to stats.EWVar. It is expected to be in [0, 1]. More weight is assigned to recent samples the closer fading_factor is to 1.

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#examples","title":"Examples","text":"

Consider the following series which contains a positive trend.

import random\n\nrandom.seed(42)\nX = [\n    {'x': random.uniform(4 + i, 6 + i)}\n    for i in range(8)\n]\nfor x in X:\n    print(x)\n
{'x': 5.278}\n{'x': 5.050}\n{'x': 6.550}\n{'x': 7.446}\n{'x': 9.472}\n{'x': 10.353}\n{'x': 11.784}\n{'x': 11.173}\n

This scaler works well with this kind of data because it uses statistics that assign higher weight to more recent data.

from river import preprocessing\n\nscaler = preprocessing.AdaptiveStandardScaler(fading_factor=.6)\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0}\n{'x': -0.816}\n{'x': 0.812}\n{'x': 0.695}\n{'x': 0.754}\n{'x': 0.598}\n{'x': 0.651}\n{'x': 0.124}\n

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/Binarizer/","title":"Binarizer","text":"

Binarizes the data to 0 or 1 according to a threshold.

"},{"location":"api/preprocessing/Binarizer/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 0.0

    Values above this are replaced by 1 and the others by 0.

  • dtype

    Default \u2192 <class 'bool'>

    The desired data type to apply.

"},{"location":"api/preprocessing/Binarizer/#examples","title":"Examples","text":"

import river\nimport numpy as np\n\nrng = np.random.RandomState(42)\nX = [{'x1': v, 'x2': int(v)} for v in rng.uniform(low=-4, high=4, size=6)]\n\nbinarizer = river.preprocessing.Binarizer()\nfor x in X:\n    binarizer.learn_one(x)\n    print(binarizer.transform_one(x))\n
{'x1': False, 'x2': False}\n{'x1': True, 'x2': True}\n{'x1': True, 'x2': True}\n{'x1': True, 'x2': False}\n{'x1': False, 'x2': False}\n{'x1': False, 'x2': False}\n

"},{"location":"api/preprocessing/Binarizer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/FeatureHasher/","title":"FeatureHasher","text":"

Implements the hashing trick.

Each pair of (name, value) features is hashed into a random integer. A module operator is then used to make sure the hash is in a certain range. We use the Murmurhash implementation from scikit-learn.

"},{"location":"api/preprocessing/FeatureHasher/#parameters","title":"Parameters","text":"
  • n_features

    Default \u2192 1048576

    The number by which each hash will be moduloed by.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Set the seed to produce identical results.

"},{"location":"api/preprocessing/FeatureHasher/#examples","title":"Examples","text":"

import river\n\nhasher = river.preprocessing.FeatureHasher(n_features=10, seed=42)\n\nX = [\n    {'dog': 1, 'cat': 2, 'elephant': 4},\n    {'dog': 2, 'run': 5}\n]\nfor x in X:\n    print(hasher.transform_one(x))\n
Counter({1: 4, 9: 2, 8: 1})\nCounter({4: 5, 8: 2})\n

"},{"location":"api/preprocessing/FeatureHasher/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Wikipedia article on feature vectorization using the hashing trick \u21a9

"},{"location":"api/preprocessing/GaussianRandomProjector/","title":"GaussianRandomProjector","text":"

Gaussian random projector.

This transformer reduces the dimensionality of inputs through Gaussian random projection.

The components of the random projections matrix are drawn from N(0, 1 / n_components).

"},{"location":"api/preprocessing/GaussianRandomProjector/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of components to project the data onto.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/preprocessing/GaussianRandomProjector/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = preprocessing.GaussianRandomProjector(\n    n_components=3,\n    seed=42\n)\n\nfor x, y in dataset:\n    x = model.transform_one(x)\n    print(x)\n    break\n
{0: -61289.371..., 1: 141312.510..., 2: 279165.993...}\n

model = (\n    preprocessing.GaussianRandomProjector(\n        n_components=5,\n        seed=42\n    ) |\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression()\n)\nevaluate.progressive_val_score(dataset, model, metrics.MAE())\n
MAE: 0.933...\n

"},{"location":"api/preprocessing/GaussianRandomProjector/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Gaussian random projection \u21a9

  2. scikit-learn random projections module \u21a9

"},{"location":"api/preprocessing/LDA/","title":"LDA","text":"

Online Latent Dirichlet Allocation with Infinite Vocabulary.

Latent Dirichlet allocation (LDA) is a probabilistic approach for exploring topics in document collections. The key advantage of this variant is that it assumes an infinite vocabulary, meaning that the set of tokens does not have to known in advance, as opposed to the implementation from sklearn The results produced by this implementation are identical to those from the original implementation proposed by the method's authors.

This class takes as input token counts. Therefore, it requires you to tokenize beforehand. You can do so by using a feature_extraction.BagOfWords instance, as shown in the example below.

"},{"location":"api/preprocessing/LDA/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of topics of the latent Drichlet allocation.

  • number_of_documents

    Default \u2192 1000000.0

    Estimated number of documents.

  • alpha_theta

    Default \u2192 0.5

    Hyper-parameter of the Dirichlet distribution of topics.

  • alpha_beta

    Default \u2192 100.0

    Hyper-parameter of the Dirichlet process of distribution over words.

  • tau

    Default \u2192 64.0

    Learning inertia to prevent premature convergence.

  • kappa

    Default \u2192 0.75

    The learning rate kappa controls how quickly new parameters estimates replace the old ones. kappa \u2208 (0.5, 1] is required for convergence.

  • vocab_prune_interval

    Default \u2192 10

    Interval at which to refresh the words topics distribution.

  • number_of_samples

    Default \u2192 10

    Number of iteration to computes documents topics distribution.

  • ranking_smooth_factor

    Default \u2192 1e-12

  • burn_in_sweeps

    Default \u2192 5

    Number of iteration necessaries while analyzing a document before updating document topics distribution.

  • maximum_size_vocabulary

    Default \u2192 4000

    Maximum size of the stored vocabulary.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed used for reproducibility.

"},{"location":"api/preprocessing/LDA/#attributes","title":"Attributes","text":"
  • counter (int)

    The current number of observed documents.

  • truncation_size_prime (int)

    Number of distincts words stored in the vocabulary. Updated before processing a document.

  • truncation_size (int)

    Number of distincts words stored in the vocabulary. Updated after processing a document.

  • word_to_index (dict)

    Words as keys and indexes as values.

  • index_to_word (dict)

    Indexes as keys and words as values.

  • nu_1 (dict)

    Weights of the words. Component of the variational inference.

  • nu_2 (dict)

    Weights of the words. Component of the variational inference.

"},{"location":"api/preprocessing/LDA/#examples","title":"Examples","text":"

from river import compose\nfrom river import feature_extraction\nfrom river import preprocessing\n\nX = [\n   'weather cold',\n   'weather hot dry',\n   'weather cold rainy',\n   'weather hot',\n   'weather cold humid',\n]\n\nlda = compose.Pipeline(\n    feature_extraction.BagOfWords(),\n    preprocessing.LDA(\n        n_components=2,\n        number_of_documents=60,\n        seed=42\n    )\n)\n\nfor x in X:\n    lda.learn_one(x)\n    topics = lda.transform_one(x)\n    print(topics)\n
{0: 0.5, 1: 2.5}\n{0: 2.499..., 1: 1.5}\n{0: 0.5, 1: 3.5}\n{0: 0.5, 1: 2.5}\n{0: 1.5, 1: 2.5}\n

"},{"location":"api/preprocessing/LDA/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

learn_transform_one

Equivalent to lda.learn_one(x).transform_one(x)s, but faster.

Parameters

  • x \u2014 'dict'

Returns

dict: Component attributions for the input document.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Zhai, K. and Boyd-Graber, J., 2013, February. Online latent Dirichlet allocation with infinite vocabulary. In International Conference on Machine Learning (pp. 561-569). \u21a9

  2. PyInfVoc on GitHub \u21a9

"},{"location":"api/preprocessing/MaxAbsScaler/","title":"MaxAbsScaler","text":"

Scales the data to a [-1, 1] range based on absolute maximum.

Under the hood a running absolute max is maintained. This scaler is meant for data that is already centered at zero or sparse data. It does not shift/center the data, and thus does not destroy any sparsity.

"},{"location":"api/preprocessing/MaxAbsScaler/#attributes","title":"Attributes","text":"
  • abs_max (dict)

    Mapping between features and instances of stats.AbsMax.

"},{"location":"api/preprocessing/MaxAbsScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\nfor x in X:\n    print(x)\n
{'x': 10.557707}\n{'x': 8.100043}\n{'x': 9.100117}\n{'x': 8.892842}\n{'x': 10.945884}\n

scaler = preprocessing.MaxAbsScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 1.0}\n{'x': 0.767216}\n{'x': 0.861940}\n{'x': 0.842308}\n{'x': 1.0}\n

"},{"location":"api/preprocessing/MaxAbsScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/MinMaxScaler/","title":"MinMaxScaler","text":"

Scales the data to a fixed range from 0 to 1.

Under the hood a running min and a running peak to peak (max - min) are maintained.

"},{"location":"api/preprocessing/MinMaxScaler/#attributes","title":"Attributes","text":"
  • min (dict)

    Mapping between features and instances of stats.Min.

  • max (dict)

    Mapping between features and instances of stats.Max.

"},{"location":"api/preprocessing/MinMaxScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\nfor x in X:\n    print(x)\n
{'x': 10.557707}\n{'x': 8.100043}\n{'x': 9.100117}\n{'x': 8.892842}\n{'x': 10.945884}\n

scaler = preprocessing.MinMaxScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0}\n{'x': 0.0}\n{'x': 0.406920}\n{'x': 0.322582}\n{'x': 1.0}\n

"},{"location":"api/preprocessing/MinMaxScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/Normalizer/","title":"Normalizer","text":"

Scales a set of features so that it has unit norm.

This is particularly useful when used after a feature_extraction.TFIDF.

"},{"location":"api/preprocessing/Normalizer/#parameters","title":"Parameters","text":"
  • order

    Default \u2192 2

    Order of the norm (e.g. 2 corresponds to the \\(L^2\\) norm).

"},{"location":"api/preprocessing/Normalizer/#examples","title":"Examples","text":"

from river import preprocessing\nfrom river import stream\n\nscaler = preprocessing.Normalizer(order=2)\n\nX = [[4, 1, 2, 2],\n     [1, 3, 9, 3],\n     [5, 7, 5, 1]]\n\nfor x, _ in stream.iter_array(X):\n    print(scaler.transform_one(x))\n
{0: 0.8, 1: 0.2, 2: 0.4, 3: 0.4}\n{0: 0.1, 1: 0.3, 2: 0.9, 3: 0.3}\n{0: 0.5, 1: 0.7, 2: 0.5, 3: 0.1}\n

"},{"location":"api/preprocessing/Normalizer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/OneHotEncoder/","title":"OneHotEncoder","text":"

One-hot encoding.

This transformer will encode every feature it is provided with. If a list or set is provided, this transformer will encode every entry in the list/set. You can apply it to a subset of features by composing it with compose.Select or compose.SelectType.

"},{"location":"api/preprocessing/OneHotEncoder/#parameters","title":"Parameters","text":"
  • drop_zeros

    Default \u2192 False

    Whether or not 0s should be made explicit or not.

  • drop_first

    Default \u2192 False

    Whether to get k - 1 dummies out of k categorical levels by removing the first key. This is useful in some statistical models where perfectly collinear features cause problems.

"},{"location":"api/preprocessing/OneHotEncoder/#examples","title":"Examples","text":"

Let us first create an example dataset.

from pprint import pprint\nimport random\nimport string\n\nrandom.seed(42)\nalphabet = list(string.ascii_lowercase)\nX = [\n    {\n        'c1': random.choice(alphabet),\n        'c2': random.choice(alphabet),\n    }\n    for _ in range(4)\n]\npprint(X)\n
[{'c1': 'u', 'c2': 'd'},\n    {'c1': 'a', 'c2': 'x'},\n    {'c1': 'i', 'c2': 'h'},\n    {'c1': 'h', 'c2': 'e'}]\n

e can now apply one-hot encoding. All the provided are one-hot encoded, there is therefore no need to specify which features to encode.

from river import preprocessing\n\noh = preprocessing.OneHotEncoder()\nfor x in X[:2]:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c1_u': 0, 'c2_d': 0, 'c2_x': 1}\n

The drop_zeros parameter can be set to True if you don't want the past features to be included in the output. Otherwise, all the past features will be included in the output.

oh = preprocessing.OneHotEncoder(drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c2_x': 1}\n{'c1_i': 1, 'c2_h': 1}\n{'c1_h': 1, 'c2_e': 1}\n

You can encode only k - 1 features out of k by setting drop_first to True.

oh = preprocessing.OneHotEncoder(drop_first=True, drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c2_d': 1}\n{'c2_x': 1}\n{'c2_h': 1}\n{'c2_e': 1}\n

A subset of the features can be one-hot encoded by piping a compose.Select into the OneHotEncoder.

from river import compose\n\npp = compose.Select('c1') | preprocessing.OneHotEncoder()\n\nfor x in X:\n    pp.learn_one(x)\n    pprint(pp.transform_one(x))\n
{'c1_u': 1}\n{'c1_a': 1, 'c1_u': 0}\n{'c1_a': 0, 'c1_i': 1, 'c1_u': 0}\n{'c1_a': 0, 'c1_h': 1, 'c1_i': 0, 'c1_u': 0}\n

You can preserve the c2 feature by using a union:

pp = compose.Select('c1') | preprocessing.OneHotEncoder()\npp += compose.Select('c2')\n\nfor x in X:\n    pp.learn_one(x)\n    pprint(pp.transform_one(x))\n
{'c1_u': 1, 'c2': 'd'}\n{'c1_a': 1, 'c1_u': 0, 'c2': 'x'}\n{'c1_a': 0, 'c1_i': 1, 'c1_u': 0, 'c2': 'h'}\n{'c1_a': 0, 'c1_h': 1, 'c1_i': 0, 'c1_u': 0, 'c2': 'e'}\n

Similar to the above examples, we can also pass values as a list. This will one-hot encode all of the entries individually.

X = [{'c1': ['u', 'a'], 'c2': ['d']},\n    {'c1': ['a', 'b'], 'c2': ['x']},\n    {'c1': ['i'], 'c2': ['h', 'z']},\n    {'c1': ['h', 'b'], 'c2': ['e']}]\n\noh = preprocessing.OneHotEncoder(drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_a': 1, 'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c1_b': 1, 'c2_x': 1}\n{'c1_i': 1, 'c2_h': 1, 'c2_z': 1}\n{'c1_b': 1, 'c1_h': 1, 'c2_e': 1}\n

Processing mini-batches is also possible.

from pprint import pprint\nimport random\nimport string\n\nrandom.seed(42)\nalphabet = list(string.ascii_lowercase)\nX = pd.DataFrame(\n    {\n        'c1': random.choice(alphabet),\n        'c2': random.choice(alphabet),\n    }\n    for _ in range(3)\n)\nX\n
  c1 c2\n0  u  d\n1  a  x\n2  i  h\n

oh = preprocessing.OneHotEncoder(drop_zeros=True)\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_a  c1_i  c1_u  c2_d  c2_h  c2_x\n0     0     0     1     1     0     0\n1     1     0     0     0     0     1\n2     0     1     0     0     1     0\n

oh = preprocessing.OneHotEncoder(drop_zeros=True, drop_first=True)\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_i  c1_u  c2_d  c2_h  c2_x\n0     0     1     1     0     0\n1     0     0     0     0     1\n2     1     0     0     1     0\n

Here's an example where the zeros are kept:

oh = preprocessing.OneHotEncoder(drop_zeros=False)\nX_init = pd.DataFrame([{\"c1\": \"Oranges\", \"c2\": \"Apples\"}])\noh.learn_many(X_init)\noh.learn_many(X)\n\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_Oranges  c1_a  c1_i  c1_u  c2_Apples  c2_d  c2_h  c2_x\n0           0     0     0     1          0     1     0     0\n1           0     1     0     0          0     0     0     1\n2           0     0     1     0          0     0     1     0\n

df.dtypes.sort_index()\n
c1_Oranges    Sparse[uint8, 0]\nc1_a          Sparse[uint8, 0]\nc1_i          Sparse[uint8, 0]\nc1_u          Sparse[uint8, 0]\nc2_Apples     Sparse[uint8, 0]\nc2_d          Sparse[uint8, 0]\nc2_h          Sparse[uint8, 0]\nc2_x          Sparse[uint8, 0]\ndtype: object\n

"},{"location":"api/preprocessing/OneHotEncoder/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/OrdinalEncoder/","title":"OrdinalEncoder","text":"

Ordinal encoder.

This transformer maps each feature to integers. It can useful when a feature has string values (i.e. categorical variables).

"},{"location":"api/preprocessing/OrdinalEncoder/#parameters","title":"Parameters","text":"
  • unknown_value

    Type \u2192 int | None

    Default \u2192 0

    The value to use for unknown categories seen during transform_one. Unknown categories will be mapped to an integer once they are seen during learn_one. This value can be set to None in order to categories to None if they've never been seen before.

  • none_value

    Type \u2192 int

    Default \u2192 -1

    The value to encode None with.

"},{"location":"api/preprocessing/OrdinalEncoder/#attributes","title":"Attributes","text":"
  • categories

    A dict of dicts. The outer dict maps each feature to its inner dict. The inner dict maps each category to its code.

"},{"location":"api/preprocessing/OrdinalEncoder/#examples","title":"Examples","text":"

from river import preprocessing\n\nX = [\n    {\"country\": \"France\", \"place\": \"Taco Bell\"},\n    {\"country\": None, \"place\": None},\n    {\"country\": \"Sweden\", \"place\": \"Burger King\"},\n    {\"country\": \"France\", \"place\": \"Burger King\"},\n    {\"country\": \"Russia\", \"place\": \"Starbucks\"},\n    {\"country\": \"Russia\", \"place\": \"Starbucks\"},\n    {\"country\": \"Sweden\", \"place\": \"Taco Bell\"},\n    {\"country\": None, \"place\": None},\n]\n\nencoder = preprocessing.OrdinalEncoder()\nfor x in X:\n    print(encoder.transform_one(x))\n    encoder.learn_one(x)\n
{'country': 0, 'place': 0}\n{'country': -1, 'place': -1}\n{'country': 0, 'place': 0}\n{'country': 1, 'place': 2}\n{'country': 0, 'place': 0}\n{'country': 3, 'place': 3}\n{'country': 2, 'place': 1}\n{'country': -1, 'place': -1}\n

xb1 = pd.DataFrame(X[0:4], index=[0, 1, 2, 3])\nxb2 = pd.DataFrame(X[4:8], index=[4, 5, 6, 7])\n\nencoder = preprocessing.OrdinalEncoder()\nencoder.transform_many(xb1)\n
   country  place\n0        0      0\n1       -1     -1\n2        0      0\n3        0      0\n

encoder.learn_many(xb1)\nencoder.transform_many(xb2)\n
   country  place\n4        0      0\n5        0      0\n6        2      1\n7       -1     -1\n

"},{"location":"api/preprocessing/OrdinalEncoder/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 defaults to None

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/PredClipper/","title":"PredClipper","text":"

Clips the target after predicting.

"},{"location":"api/preprocessing/PredClipper/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regressor model for which to clip the predictions.

  • y_min

    Type \u2192 float

    minimum value.

  • y_max

    Type \u2192 float

    maximum value.

"},{"location":"api/preprocessing/PredClipper/#examples","title":"Examples","text":"

from river import linear_model\nfrom river import preprocessing\n\ndataset = (\n    ({'a': 2, 'b': 4}, 80),\n    ({'a': 3, 'b': 5}, 100),\n    ({'a': 4, 'b': 6}, 120)\n)\n\nmodel = preprocessing.PredClipper(\n    regressor=linear_model.LinearRegression(),\n    y_min=0,\n    y_max=200\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'a': -100, 'b': -200})\n
0\n

model.predict_one({'a': 50, 'b': 60})\n
200\n

"},{"location":"api/preprocessing/PredClipper/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

"},{"location":"api/preprocessing/PreviousImputer/","title":"PreviousImputer","text":"

Imputes missing values by using the most recent value.

"},{"location":"api/preprocessing/PreviousImputer/#examples","title":"Examples","text":"

from river import preprocessing\n\nimputer = preprocessing.PreviousImputer()\n\nimputer.learn_one({'x': 1, 'y': 2})\nimputer.transform_one({'y': None})\n
{'y': 2}\n

imputer.transform_one({'x': None})\n
{'x': 1}\n

"},{"location":"api/preprocessing/PreviousImputer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/RobustScaler/","title":"RobustScaler","text":"

Scale features using statistics that are robust to outliers.

This Scaler removes the median and scales the data according to the interquantile range.

"},{"location":"api/preprocessing/RobustScaler/#parameters","title":"Parameters","text":"
  • with_centering

    Default \u2192 True

    Whether to centre the data before scaling.

  • with_scaling

    Default \u2192 True

    Whether to scale data to IQR.

  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1.

"},{"location":"api/preprocessing/RobustScaler/#attributes","title":"Attributes","text":"
  • median (dict)

    Mapping between features and instances of stats.Quantile(0.5)`.

  • iqr (dict)

    Mapping between features and instances of stats.IQR.

"},{"location":"api/preprocessing/RobustScaler/#examples","title":"Examples","text":"

from pprint import pprint\nimport random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\npprint(X)\n
[{'x': 10.557707},\n    {'x': 8.100043},\n    {'x': 9.100117},\n    {'x': 8.892842},\n    {'x': 10.945884}]\n

scaler = preprocessing.RobustScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
    {'x': 0.0}\n    {'x': -1.0}\n    {'x': 0.0}\n    {'x': -0.12449923287875722}\n    {'x': 1.1086595155704708}\n

"},{"location":"api/preprocessing/RobustScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/SparseRandomProjector/","title":"SparseRandomProjector","text":"

Sparse random projector.

This transformer reduces the dimensionality of inputs by projecting them onto a sparse random projection matrix.

Ping Li et al. recommend using a minimum density of 1 / sqrt(n_features). The transformer is not aware of how many features will be seen, so the user must specify the density manually.

"},{"location":"api/preprocessing/SparseRandomProjector/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of components to project the data onto.

  • density

    Default \u2192 0.1

    Density of the random projection matrix. The density is defined as the ratio of non-zero components in the matrix. It is equal to 1 - sparsity.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/preprocessing/SparseRandomProjector/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = preprocessing.SparseRandomProjector(\n    n_components=3,\n    seed=42\n)\n\nfor x, y in dataset:\n    x = model.transform_one(x)\n    print(x)\n    break\n
{0: 92.89572746525327, 1: 1344540.5692342375, 2: 0}\n

model = (\n    preprocessing.SparseRandomProjector(\n        n_components=5,\n        seed=42\n    ) |\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression()\n)\nevaluate.progressive_val_score(dataset, model, metrics.MAE())\n
MAE: 1.292572\n

"},{"location":"api/preprocessing/SparseRandomProjector/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. D. Achlioptas. 2003. Database-friendly random projections: Johnson-Lindenstrauss with binary coins. Journal of Computer and System Sciences 66 (2003) 671-687\u00a0\u21a9

  2. Ping Li, Trevor J. Hastie, and Kenneth W. Church. 2006. Very sparse random projections. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD'06). ACM, New York, NY, USA, 287-296.\u00a0\u21a9

"},{"location":"api/preprocessing/StandardScaler/","title":"StandardScaler","text":"

Scales the data so that it has zero mean and unit variance.

Under the hood, a running mean and a running variance are maintained. The scaling is slightly different than when scaling the data in batch because the exact means and variances are not known in advance. However, this doesn't have a detrimental impact on performance in the long run.

This transformer supports mini-batches as well as single instances. In the mini-batch case, the number of columns and the ordering of the columns are allowed to change between subsequent calls. In other words, this transformer will keep working even if you add and/or remove features every time you call learn_many and transform_many.

"},{"location":"api/preprocessing/StandardScaler/#parameters","title":"Parameters","text":"
  • with_std

    Default \u2192 True

    Whether or not each feature should be divided by its standard deviation.

"},{"location":"api/preprocessing/StandardScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12), 'y': random.uniform(8, 12)} for _ in range(6)]\nfor x in X:\n    print(x)\n
{'x': 10.557, 'y': 8.100}\n{'x': 9.100, 'y': 8.892}\n{'x': 10.945, 'y': 10.706}\n{'x': 11.568, 'y': 8.347}\n{'x': 9.687, 'y': 8.119}\n{'x': 8.874, 'y': 10.021}\n

scaler = preprocessing.StandardScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0, 'y': 0.0}\n{'x': -0.999, 'y': 0.999}\n{'x': 0.937, 'y': 1.350}\n{'x': 1.129, 'y': -0.651}\n{'x': -0.776, 'y': -0.729}\n{'x': -1.274, 'y': 0.992}\n

This transformer also supports mini-batch updates. You can call learn_many and provide a pandas.DataFrame:

import pandas as pd\nX = pd.DataFrame.from_dict(X)\n\nscaler = preprocessing.StandardScaler()\nscaler.learn_many(X[:3])\nscaler.learn_many(X[3:])\n

You can then call transform_many to scale a mini-batch of features:

scaler.transform_many(X)\n
    x         y\n0  0.444600 -0.933384\n1 -1.044259 -0.138809\n2  0.841106  1.679208\n3  1.477301 -0.685117\n4 -0.444084 -0.914195\n5 -1.274664  0.992296\n

"},{"location":"api/preprocessing/StandardScaler/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

Note that the update formulas for mean and variance are slightly different than in the single instance case, but they produce exactly the same result.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Scale a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Welford's Method (and Friends) \u21a9

  2. Batch updates for simple statistics \u21a9

"},{"location":"api/preprocessing/StatImputer/","title":"StatImputer","text":"

Replaces missing values with a statistic.

This transformer allows you to replace missing values with the value of a running statistic. During a call to learn_one, for each feature, a statistic is updated whenever a numeric feature is observed. When transform_one is called, each feature with a None value is replaced with the current value of the corresponding statistic.

"},{"location":"api/preprocessing/StatImputer/#parameters","title":"Parameters","text":"
  • imputers

    A list of tuples where each tuple has two elements. The first elements is a feature name and the second value is an instance of stats.base.Univariate. The second value can also be an arbitrary value, such as -1, in which case the missing values will be replaced with it.

"},{"location":"api/preprocessing/StatImputer/#examples","title":"Examples","text":"
from river import preprocessing\nfrom river import stats\n

For numeric data, we can use a stats.Mean()` to replace missing values by the running average of the previously seen values:

X = [\n    {'temperature': 1},\n    {'temperature': 8},\n    {'temperature': 3},\n    {'temperature': None},\n    {'temperature': 4}\n]\n\nimp = preprocessing.StatImputer(('temperature', stats.Mean()))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'temperature': 1}\n{'temperature': 8}\n{'temperature': 3}\n{'temperature': 4.0}\n{'temperature': 4}\n

For discrete/categorical data, a common practice is to stats.Mode to replace missing values by the most commonly seen value:

X = [\n    {'weather': 'sunny'},\n    {'weather': 'rainy'},\n    {'weather': 'sunny'},\n    {'weather': None},\n    {'weather': 'rainy'},\n    {'weather': 'rainy'},\n    {'weather': None}\n]\n\nimp = preprocessing.StatImputer(('weather', stats.Mode()))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'sunny'}\n{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n

You can also choose to replace missing values with a constant value, as so:

imp = preprocessing.StatImputer(('weather', 'missing'))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'sunny'}\n{'weather': 'missing'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n{'weather': 'missing'}\n

Multiple imputers can be defined by providing a tuple for each feature which you want to impute:

X = [\n    {'weather': 'sunny', 'temperature': 8},\n    {'weather': 'rainy', 'temperature': 3},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': None, 'temperature': 4},\n    {'weather': 'snowy', 'temperature': -4},\n    {'weather': 'snowy', 'temperature': -3},\n    {'weather': 'snowy', 'temperature': -3},\n    {'weather': None, 'temperature': None}\n]\n\nimp = preprocessing.StatImputer(\n    ('temperature', stats.Mean()),\n    ('weather', stats.Mode())\n)\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny', 'temperature': 8}\n{'weather': 'rainy', 'temperature': 3}\n{'weather': 'sunny', 'temperature': 5.5}\n{'weather': 'sunny', 'temperature': 4}\n{'weather': 'snowy', 'temperature': -4}\n{'weather': 'snowy', 'temperature': -3}\n{'weather': 'snowy', 'temperature': -3}\n{'weather': 'snowy', 'temperature': 0.8333}\n

A sophisticated way to go about imputation is condition the statistics on a given feature. For instance, we might want to replace a missing temperature with the average temperature of a particular weather condition. As an example, consider the following dataset where the temperature is missing, but not the weather condition:

X = [\n    {'weather': 'sunny', 'temperature': 8},\n    {'weather': 'rainy', 'temperature': 3},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': 'rainy', 'temperature': 4},\n    {'weather': 'sunny', 'temperature': 10},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': 'sunny', 'temperature': 12},\n    {'weather': 'rainy', 'temperature': None}\n]\n

Each missing temperature can be replaced with the average temperature of the corresponding weather condition as so:

from river import compose\n\nimp = compose.Grouper(\n    preprocessing.StatImputer(('temperature', stats.Mean())),\n    by='weather'\n)\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny', 'temperature': 8}\n{'weather': 'rainy', 'temperature': 3}\n{'weather': 'sunny', 'temperature': 8.0}\n{'weather': 'rainy', 'temperature': 4}\n{'weather': 'sunny', 'temperature': 10}\n{'weather': 'sunny', 'temperature': 9.0}\n{'weather': 'sunny', 'temperature': 12}\n{'weather': 'rainy', 'temperature': 3.5}\n

Note that you can also create a Grouper with the * operator:

imp = preprocessing.StatImputer(('temperature', stats.Mean())) * 'weather'\n
"},{"location":"api/preprocessing/StatImputer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/TargetMinMaxScaler/","title":"TargetMinMaxScaler","text":"

Applies min-max scaling to the target.

"},{"location":"api/preprocessing/TargetMinMaxScaler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

"},{"location":"api/preprocessing/TargetMinMaxScaler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetMinMaxScaler(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15)\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 2.018905\n

"},{"location":"api/preprocessing/TargetMinMaxScaler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/preprocessing/TargetStandardScaler/","title":"TargetStandardScaler","text":"

Applies standard scaling to the target.

"},{"location":"api/preprocessing/TargetStandardScaler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

"},{"location":"api/preprocessing/TargetStandardScaler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetStandardScaler(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15)\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 2.005999\n

"},{"location":"api/preprocessing/TargetStandardScaler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/proba/Beta/","title":"Beta","text":"

Beta distribution for binary data.

A Beta distribution is very similar to a Bernoulli distribution in that it counts occurrences of boolean events. The differences lies in what is being measured. A Binomial distribution models the probability of an event occurring, whereas a Beta distribution models the probability distribution itself. In other words, it's a probability distribution over probability distributions.

"},{"location":"api/proba/Beta/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 int

    Default \u2192 1

    Initial alpha parameter.

  • beta

    Type \u2192 int

    Default \u2192 1

    Initial beta parameter.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Beta/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/Beta/#examples","title":"Examples","text":"

from river import proba\n\nsuccesses = 81\nfailures = 219\nbeta = proba.Beta(successes, failures)\n\nbeta(.21), beta(.35)\n
(0.867..., 0.165...)\n

for success in range(100):\n    beta.update(True)\nfor failure in range(200):\n    beta.update(False)\n\nbeta(.21), beta(.35)\n
(2.525...e-05, 0.841...)\n

beta.cdf(.35)\n
0.994168...\n

"},{"location":"api/proba/Beta/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • p \u2014 'float'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'

  1. What is the intuition behind beta distribution? \u21a9

"},{"location":"api/proba/Gaussian/","title":"Gaussian","text":"

Normal distribution with parameters mu and sigma.

"},{"location":"api/proba/Gaussian/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Gaussian/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • mu

  • n_samples

    The number of observed samples.

  • sigma

"},{"location":"api/proba/Gaussian/#examples","title":"Examples","text":"

from river import proba\n\np = proba.Gaussian()\np.update(6)\np.update(7)\n\np\n
\ud835\udca9(\u03bc=6.500, \u03c3=0.707)\n

p(6.5)\n
0.564189\n

p.revert(7)\np\n
\ud835\udca9(\u03bc=6.000, \u03c3=0.000)\n

"},{"location":"api/proba/Gaussian/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'
  • w \u2014 defaults to 1.0

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'
  • w \u2014 defaults to 1.0

"},{"location":"api/proba/Multinomial/","title":"Multinomial","text":"

Multinomial distribution for categorical data.

"},{"location":"api/proba/Multinomial/#parameters","title":"Parameters","text":"
  • events

    Type \u2192 dict | list | None

    Default \u2192 None

    An optional list of events that already occurred.

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Multinomial/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/Multinomial/#examples","title":"Examples","text":"

from river import proba\n\np = proba.Multinomial(['green'] * 3)\np.update('red')\np('red')\n
0.25\n

p.update('red')\np.update('red')\np('green')\n
0.5\n

p.revert('red')\np.revert('red')\np('red')\n
0.25\n

You can wrap this with a utils.Rolling to measure a distribution over a window:

from river import utils\n\nX = ['red', 'green', 'green', 'blue', 'blue']\n\ndist = utils.Rolling(\n    proba.Multinomial(),\n    window_size=3\n)\n\nfor x in X:\n    dist.update(x)\n    print(dist)\n    print()\n
P(red) = 1.000\n<BLANKLINE>\nP(red) = 0.500\nP(green) = 0.500\n<BLANKLINE>\nP(green) = 0.667\nP(red) = 0.333\n<BLANKLINE>\nP(green) = 0.667\nP(blue) = 0.333\nP(red) = 0.000\n<BLANKLINE>\nP(blue) = 0.667\nP(green) = 0.333\nP(red) = 0.000\n<BLANKLINE>\n

You can wrap this with a utils.Rolling to measure a distribution over a window of time:

import datetime as dt\n\nX = ['red', 'green', 'green', 'blue']\ndays = [1, 2, 3, 4]\n\ndist = utils.TimeRolling(\n    proba.Multinomial(),\n    period=dt.timedelta(days=2)\n)\n\nfor x, day in zip(X, days):\n    dist.update(x, t=dt.datetime(2019, 1, day))\n    print(dist)\n    print()\n
P(red) = 1.000\n<BLANKLINE>\nP(red) = 0.500\nP(green) = 0.500\n<BLANKLINE>\nP(green) = 1.000\nP(red) = 0.000\n<BLANKLINE>\nP(green) = 0.500\nP(blue) = 0.500\nP(red) = 0.000\n<BLANKLINE>\n

"},{"location":"api/proba/Multinomial/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'typing.Hashable'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'typing.Hashable'

"},{"location":"api/proba/MultivariateGaussian/","title":"MultivariateGaussian","text":"

Multivariate normal distribution with parameters mu and var.

"},{"location":"api/proba/MultivariateGaussian/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/MultivariateGaussian/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • mu

    The mean value of the distribution.

  • n_samples

    The number of observed samples.

  • sigma

    The standard deviation of the distribution.

  • var

    The variance of the distribution.

"},{"location":"api/proba/MultivariateGaussian/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import proba\n\nnp.random.seed(42)\nX = pd.DataFrame(\n    np.random.random((8, 3)),\n    columns=[\"red\", \"green\", \"blue\"]\n)\nX\n
        red     green      blue\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n5  0.183405  0.304242  0.524756\n6  0.431945  0.291229  0.611853\n7  0.139494  0.292145  0.366362\n

p = proba.MultivariateGaussian(seed=42)\np.n_samples\n
0.0\n

for x in X.to_dict(orient=\"records\"):\n    p.update(x)\np.var\n
           blue     green       red\nblue   0.076119  0.020292 -0.010128\ngreen  0.020292  0.112931 -0.053268\nred   -0.010128 -0.053268  0.078961\n

Retrieving current state in nice format is simple

p\n
\ud835\udca9(\n    \u03bc=(0.518, 0.387, 0.416),\n    \u03c3^2=(\n        [ 0.076  0.020 -0.010]\n        [ 0.020  0.113 -0.053]\n        [-0.010 -0.053  0.079]\n    )\n)\n

To retrieve number of samples and mode:

p.n_samples\n
8.0\n
p.mode\n
{'blue': 0.5179..., 'green': 0.3866..., 'red': 0.4158...}\n

To retrieve the PDF and CDF:

p(x)\n
0.97967...\n
p.cdf(x)\n
0.00787...\n

To sample data from distribution:

p.sample()\n
{'blue': -0.179..., 'green': -0.051..., 'red': 0.376...}\n

MultivariateGaussian works with utils.Rolling:

from river import utils\n\np = utils.Rolling(MultivariateGaussian(), window_size=5)\nfor x in X.to_dict(orient=\"records\"):\n    p.update(x)\np.var\n
           blue     green       red\nblue   0.087062 -0.022873  0.007765\ngreen -0.022873  0.014279 -0.025181\nred    0.007765 -0.025181  0.095066\n

MultivariateGaussian works with utils.TimeRolling:

from datetime import datetime as dt, timedelta as td\nX.index = [dt(2023, 3, 28, 0, 0, 0) + td(seconds=x) for x in range(8)]\np = utils.TimeRolling(MultivariateGaussian(), period=td(seconds=5))\nfor t, x in X.iterrows():\n    p.update(x.to_dict(), t=t)\np.var\n
           blue     green       red\nblue   0.087062 -0.022873  0.007765\ngreen -0.022873  0.014279 -0.025181\nred    0.007765 -0.025181  0.095066\n

Variance on diagonal is consistent with proba.Gaussian.

multi = proba.MultivariateGaussian()\nsingle = proba.Gaussian()\nfor x in X.to_dict(orient='records'):\n    multi.update(x)\n    single.update(x['blue'])\nmulti.mu['blue'] == single.mu\n
True\n
multi.sigma['blue']['blue'] == single.sigma\n
True\n

"},{"location":"api/proba/MultivariateGaussian/#methods","title":"Methods","text":"call

PDF(x) method.

Parameters

  • x \u2014 'dict[str, float]'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'dict[str, float]'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'dict[str, float]'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'dict[str, float]'

"},{"location":"api/proba/base/BinaryDistribution/","title":"BinaryDistribution","text":"

A probability distribution for discrete values.

"},{"location":"api/proba/base/BinaryDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/BinaryDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/BinaryDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'bool'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'bool'

"},{"location":"api/proba/base/ContinuousDistribution/","title":"ContinuousDistribution","text":"

A probability distribution for continuous values.

"},{"location":"api/proba/base/ContinuousDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/ContinuousDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/ContinuousDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'

"},{"location":"api/proba/base/DiscreteDistribution/","title":"DiscreteDistribution","text":"

A probability distribution for discrete values.

"},{"location":"api/proba/base/DiscreteDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/DiscreteDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/DiscreteDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'typing.Hashable'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'typing.Hashable'

"},{"location":"api/proba/base/Distribution/","title":"Distribution","text":"

General distribution.

"},{"location":"api/proba/base/Distribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/Distribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/Distribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

sample

Sample a random value from the distribution.

"},{"location":"api/reco/Baseline/","title":"Baseline","text":"

Baseline for recommender systems.

A first-order approximation of the bias involved in target. The model equation is defined as:

\\[\\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i}\\]

Where \\(bu_{u}\\) and \\(bi_{i}\\) are respectively the user and item biases.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/Baseline/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    regularization amount used to push weights towards 0.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/Baseline/#attributes","title":"Attributes","text":"
  • global_mean (stats.Mean)

    The target arithmetic mean.

  • u_biases (collections.defaultdict)

    The user bias weights.

  • i_biases (collections.defaultdict)

    The item bias weights.

  • u_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user bias weights.

  • i_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item bias weights.

"},{"location":"api/reco/Baseline/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.Baseline(optimizer=optim.SGD(0.005))\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.538120\n

"},{"location":"api/reco/Baseline/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/BiasedMF/","title":"BiasedMF","text":"

Biased Matrix Factorization for recommender systems.

The model equation is defined as:

\\[\\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} + \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle\\]

Where \\(bu_{u}\\) and \\(bi_{i}\\) are respectively the user and item biases. The last term being simply the dot product between the latent vectors of the given user-item pair:

\\[\\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f}\\]

where \\(k\\) is the number of latent factors.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/BiasedMF/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • bias_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the bias weights.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent weights.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2_bias

    Default \u2192 0.0

    Amount of L2 regularization used to push bias weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/BiasedMF/#attributes","title":"Attributes","text":"
  • global_mean (stats.Mean)

    The target arithmetic mean.

  • u_biases (collections.defaultdict)

    The user bias weights.

  • i_biases (collections.defaultdict)

    The item bias weights.

  • u_latents (collections.defaultdict)

    The user latent vectors randomly initialized.

  • i_latents (collections.defaultdict)

    The item latent vectors randomly initialized.

  • u_bias_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user bias weights.

  • i_bias_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item bias weights.

  • u_latent_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user latent weights.

  • i_latent_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item latent weights.

"},{"location":"api/reco/BiasedMF/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.BiasedMF(\n    n_factors=10,\n    bias_optimizer=optim.SGD(0.025),\n    latent_optimizer=optim.SGD(0.025),\n    latent_initializer=optim.initializers.Normal(mu=0., sigma=0.1, seed=71)\n)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.489025\n

"},{"location":"api/reco/BiasedMF/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Paterek, A., 2007, August. Improving regularized singular value decomposition for collaborative filtering. In Proceedings of KDD cup and workshop (Vol. 2007, pp. 5-8) \u21a9

  2. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/FunkMF/","title":"FunkMF","text":"

Funk Matrix Factorization for recommender systems.

The model equation is defined as:

\\[\\hat{y}(x) = \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f}\\]

where \\(k\\) is the number of latent factors.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/FunkMF/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/FunkMF/#attributes","title":"Attributes","text":"
  • u_latents (collections.defaultdict)

    The user latent vectors randomly initialized.

  • i_latents (collections.defaultdict)

    The item latent vectors randomly initialized.

  • u_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user latent weights.

  • i_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item latent weights.

"},{"location":"api/reco/FunkMF/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.FunkMF(\n    n_factors=10,\n    optimizer=optim.SGD(0.1),\n    initializer=optim.initializers.Normal(mu=0., sigma=0.1, seed=11),\n)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
1.866272\n

"},{"location":"api/reco/FunkMF/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Netflix update: Try this at home \u21a9

  2. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/RandomNormal/","title":"RandomNormal","text":"

Predicts random values sampled from a normal distribution.

The parameters of the normal distribution are fitted with running statistics. They parameters are independent of the user, the item, or the context, and are instead fitted globally. This recommender therefore acts as a dummy model that any serious model should easily outperform.

"},{"location":"api/reco/RandomNormal/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/RandomNormal/#attributes","title":"Attributes","text":"
  • mean

    stats.Mean

  • variance

    stats.Var

"},{"location":"api/reco/RandomNormal/#examples","title":"Examples","text":"

from river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.RandomNormal(seed=42)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.147299621751425\n

"},{"location":"api/reco/RandomNormal/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/reco/base/Ranker/","title":"Ranker","text":"

Base class for ranking models.

"},{"location":"api/reco/base/Ranker/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/base/Ranker/#attributes","title":"Attributes","text":"
  • is_contextual
"},{"location":"api/reco/base/Ranker/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/rules/AMRules/","title":"AMRules","text":"

Adaptive Model Rules.

AMRules1 is a rule-based algorithm for incremental regression tasks. AMRules relies on the Hoeffding bound to build its rule set, similarly to Hoeffding Trees. The Variance-Ratio heuristic is used to evaluate rules' splits. Moreover, this rule-based regressor has additional capacities not usually found in decision trees.

Firstly, each created decision rule has a built-in drift detection mechanism. Every time a drift is detected, the affected decision rule is removed. In addition, AMRules' rules also have anomaly detection capabilities. After a warm-up period, each rule tests whether or not the incoming instances are anomalies. Anomalous instances are not used for training.

Every time no rule is covering an incoming example, a default rule is used to learn from it. A rule covers an instance when all of the rule's literals (tests joined by the logical operation and) match the input case. The default rule is also applied for predicting examples not covered by any rules from the rule set.

"},{"location":"api/rules/AMRules/#parameters","title":"Parameters","text":"
  • n_min

    Type \u2192 int

    Default \u2192 200

    The total weight that must be observed by a rule between expansion attempts.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    The split test significance. The split confidence is given by 1 - delta.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    The tie-breaking threshold.

  • pred_type

    Type \u2192 str

    Default \u2192 adaptive

    The prediction strategy used by the decision rules. Can be either: - \"mean\": outputs the target mean within the partitions defined by the decision rules. - \"model\": always use instances of the model passed pred_model to make predictions. - \"adaptive\": dynamically selects between \"mean\" and \"model\" for each incoming example. The most accurate option at the moment will be used.

  • pred_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model that will be replicated for every rule when pred_type is either \"model\" or \"adaptive\".

  • splitter

    Type \u2192 spl.Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detection model that is used by each rule. Care must be taken to avoid the triggering of too many false alarms or delaying too much the concept drift detection. By default, drift.ADWIN is used if drift_detector is None.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.99

    The exponential decaying factor applied to the learning models' absolute errors, that are monitored if pred_type='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • anomaly_threshold

    Type \u2192 float

    Default \u2192 -0.75

    The threshold below which instances will be considered anomalies by the rules.

  • m_min

    Type \u2192 int

    Default \u2192 30

    The minimum total weight a rule must observe before it starts to skip anomalous instances during training.

  • ordered_rule_set

    Type \u2192 bool

    Default \u2192 True

    If True, only the first rule that covers an instance will be used for training or prediction. If False, all the rules covering an instance will be updated during training, and the predictions for an instance will be the average prediction of all rules covering that example.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples each partition of a binary split candidate must have to be considered valid.

"},{"location":"api/rules/AMRules/#attributes","title":"Attributes","text":"
  • n_drifts_detected

    The number of detected concept drifts.

"},{"location":"api/rules/AMRules/#examples","title":"Examples","text":"

from river import datasets\nfrom river import drift\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    rules.AMRules(\n        delta=0.01,\n        n_min=50,\n        drift_detector=drift.ADWIN()\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.119553\n

"},{"location":"api/rules/AMRules/#methods","title":"Methods","text":"anomaly_score

Aggregated anomaly score computed using all the rules that cover the input instance.

Returns the mean anomaly score, the standard deviation of the score, and the proportion of rules that cover the instance (support). If the support is zero, it means that the default rule was used (not other rule covered x).

Parameters

  • x

Returns

tuple[float, float, float]: mean_anomaly_score, std_anomaly_score, support

debug_one

Return an explanation of how x is predicted

Parameters

  • x

Returns

str: A representation of the rules that cover the input and their prediction.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 'int' \u2014 defaults to 1

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/rules/AMRules/#notes","title":"Notes","text":"

AMRules treats all the non-numerical inputs as nominal features. All instances of numbers.Number will be treated as continuous, even if they represent integer categories. When using nominal features, pred_type should be set to \"mean\", otherwise errors will be thrown while trying to update the underlying rules' prediction models. Prediction strategies other than \"mean\" can be used, as long as the prediction model passed to pred_model supports nominal features.

  1. Duarte, J., Gama, J. and Bifet, A., 2016. Adaptive model rules from high-speed data streams. ACM Transactions on Knowledge Discovery from Data (TKDD), 10(3), pp.1-22.\u00a0\u21a9

"},{"location":"api/sketch/Counter/","title":"Counter","text":"

Counting using the Count-Min Sketch (CMS) algorithm.

Contrary to an exhaustive approach, e.g., using a collections.Counter, CMS uses a limited and fixed amount of memory. The CMS algorithm uses a sketch structure consisting of a matrix \\(w \\times d\\).

These dimensions are obtained via:

  • \\(w = \\lceil \\frac{e}{\\epsilon} \\rceil\\), where \\(e\\) is the Euler number.

  • \\(d = \\lceil \\ln\\left(\\frac{1}{\\delta} \\right) \\rceil\\).

Decreasing the values of \\(\\epsilon\\) (epsilon) and \\(\\delta\\) (delta) increase the accuracy of the algorithm, at the cost of increased memory usage. The values of w and d control the hash tables' capability and the amount of hash collisions, respectively.

CMS works by keeping d hash tables with w slots each. Elements are mapped to a slot in each hash table. These tables store the counting estimates. This implementation assumes the turnstile case described in the paper, i.e., count values and updates can be negative.

The count values obtained by CMS are always overestimates. Suppose \\(c_i\\) and \\(\\hat{c}_i\\) are the ground truth and estimated count values, respectively, for a given element \\(i\\). CMS guarantees that \\(c_i \\le \\hat{c}_i\\) and, with probability \\(1 - \\delta\\), \\(\\hat{c}_i \\le c_i + \\epsilon||\\mathbf{c}||_1\\). In the expression, \\(||\\mathbf{c}||_1 = \\sum_i |c_i|\\).

"},{"location":"api/sketch/Counter/#parameters","title":"Parameters","text":"
  • epsilon

    Type \u2192 float

    Default \u2192 0.1

    The approximation error parameter. The error in answering a query is within a factor of epsilon with probability delta.

  • delta

    Type \u2192 float

    Default \u2192 0.05

    A query estimates have a probability of 1 - delta of having errors which are a factor of epsilon. See the CMS description above for more details.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/sketch/Counter/#attributes","title":"Attributes","text":"
  • n_slots

    The number of slots in each hash table.

  • n_tables

    The number of stored hash tables.

"},{"location":"api/sketch/Counter/#examples","title":"Examples","text":"
import collections\nfrom river import sketch\n\ncms = sketch.Counter(epsilon=0.005, seed=0)\n\nrng = random.Random(7)\n\ncounter = collections.Counter()\n

We can check the number of slots per hash table:

cms.n_slots\n
544\n

And the number of hash tables:

cms.n_tables\n
3\n

Let's compare the sketch against a brute force approach:

vals = []\nfor _ in range(10000):\n    v = rng.randint(-1000, 1000)\n    cms.update(v)\n    counter[v] += 1\n    vals.append(v)\n

Now, we can compare the estimates of CMS against the exhaustive counting strategy:

counter[7]\n
5\n
cms[7]\n
12\n
counter[532]\n
4\n
cms[532]\n
15\n

Keep in mind that CMS is an approximate sketch algorithm. Couting estimates for unseen values might not be always reliable:

cms[1001]\n
9\n

We can check the number of elements stored by each approach:

len(counter), len(cms)\n
(1982, 1632)\n

And also retrieve the total sum of counts:

cms.total()\n
10000\n

We can decrease the error by allocating more memory in the CMS:

cms_a = sketch.Counter(epsilon=0.001, delta=0.01, seed=0)\nfor v in vals:\n    cms_a.update(v)\n\ncms_a[7]\n
5\n
cms_a[532]\n
4\n

We can also obtain estimates of the dot product between two instances of river.collections.Counter. This could be useful, for instance, to estimate the cosine distance between the data monitored in two different counter sketch instances. Suppose we create another CMS instance (the number of slots and hash tables must match) that monitors another sample of the same data generating process:

cms_b = sketch.Counter(epsilon=0.001, delta=0.01, seed=7)\n\nfor _ in range(10000):\n    v = rng.randint(-1000, 1000)\n    cms_b.update(v)\n

Now, we can define a cosine distance function:

def cosine_dist(cms_a, cms_b):\n    num = cms_a @ cms_b\n    den = math.sqrt(cms_a @ cms_a) * math.sqrt(cms_b @ cms_b)\n    return num / den\n

And use it to calculate the cosine distance between the elements monitored in cms_a and cms_b:

cosine_dist(cms_a, cms_b)\n
0.175363...\n

"},{"location":"api/sketch/Counter/#methods","title":"Methods","text":"total

Return the total count.

update
  1. Cormode, G., & Muthukrishnan, S. (2005). An improved data stream summary: the count-min sketch and its applications. Journal of Algorithms, 55(1), 58-75. \u21a9

  2. Count-Min Sketch \u21a9

  3. Hash functions family generator in Python \u21a9

"},{"location":"api/sketch/HeavyHitters/","title":"HeavyHitters","text":"

Find the Heavy Hitters using the Lossy Count with Forgetting factor algorithm1.

Keep track of the most frequent item(set)s in a data stream and apply a forgetting factor to discard previous frequent items that do not often appear anymore. This is an approximation algorithm designed to work with a limited amount of memory rather than accounting for every possible solution (thus using an unbounded memory footprint). Any hashable type can be passed as input, hence tuples or frozensets can also be monitored.

Considering a data stream where n elements were observed so far, the Lossy Count algorithm has the following properties:

  • All item(set)s whose true frequency exceeds support * n are output. There are no

false negatives;

  • No item(set) whose true frequency is less than (support - epsilon) * n is outputted;

  • Estimated frequencies are less than the true frequencies by at most epsilon * n.

"},{"location":"api/sketch/HeavyHitters/#parameters","title":"Parameters","text":"
  • support

    Type \u2192 float

    Default \u2192 0.001

    The support threshold used to determine if an item is frequent. The value of support must be in \\([0, 1]\\). Elements whose frequency is higher than support times the number of observations seen so far are outputted.

  • epsilon

    Type \u2192 float

    Default \u2192 0.005

    Error parameter to control the accuracy-memory tradeoff. The value of epsilon must be in \\((0, 1]\\) and typically epsilon \\(\\ll\\) support. The smaller the epsilon, the more accurate the estimates will be, but the count sketch will have an increased memory footprint.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.999

    Forgetting factor applied to the frequency estimates to reduce the impact of old items. The value of fading_factor must be in \\((0, 1]\\).

"},{"location":"api/sketch/HeavyHitters/#examples","title":"Examples","text":"
import random\nimport string\nfrom river import sketch\n\nrng = random.Random(42)\nhh = sketch.HeavyHitters()\n

We will feed the counter with printable ASCII characters:

for _ in range(10_000):\n    hh.update(rng.choice(string.printable))\n

We can retrieve estimates of the n top elements and their frequencies. Let's try n=3

hh.most_common(3)\n
[(',', 122.099142...), ('[', 116.049510...), ('W', 115.013402...)]\n

We can also access estimates of individual elements:

hh['A']\n
99.483575...\n

Unobserved elements are handled just fine:

hh[(1, 2, 3)]\n
0.0\n

"},{"location":"api/sketch/HeavyHitters/#methods","title":"Methods","text":"most_common update
  1. Veloso, B., Tabassum, S., Martins, C., Espanha, R., Azevedo, R., & Gama, J. (2020). Interconnect bypass fraud detection: a case study. Annals of Telecommunications, 75(9), 583-596.\u00a0\u21a9

"},{"location":"api/sketch/Histogram/","title":"Histogram","text":"

Streaming histogram.

"},{"location":"api/sketch/Histogram/#parameters","title":"Parameters","text":"
  • max_bins

    Default \u2192 256

    Maximal number of bins.

"},{"location":"api/sketch/Histogram/#attributes","title":"Attributes","text":"
  • n

    Total number of seen values.

"},{"location":"api/sketch/Histogram/#examples","title":"Examples","text":"

from river import sketch\nimport numpy as np\n\nnp.random.seed(42)\n\nvalues = np.hstack((\n    np.random.normal(-3, 1, 1000),\n    np.random.normal(3, 1, 1000),\n))\n\nhist = sketch.Histogram(max_bins=15)\n\nfor x in values:\n    hist.update(x)\n\nfor bin in hist:\n    print(bin)\n
[-6.24127, -6.24127]: 1\n[-5.69689, -5.19881]: 8\n[-5.12390, -4.43014]: 57\n[-4.42475, -3.72574]: 158\n[-3.71984, -3.01642]: 262\n[-3.01350, -2.50668]: 206\n[-2.50329, -0.81020]: 294\n[-0.80954, 0.29677]: 19\n[0.40896, 0.82733]: 7\n[0.84661, 1.25147]: 24\n[1.26029, 2.30758]: 178\n[2.31081, 3.05701]: 284\n[3.05963, 3.69695]: 242\n[3.69822, 5.64434]: 258\n[6.13775, 6.19311]: 2\n

"},{"location":"api/sketch/Histogram/#methods","title":"Methods","text":"cdf

Cumulative distribution function.

Parameters

  • x

iter_cdf

Yields CDF values for a sorted iterable of values.

This is faster than calling cdf with many values.

Parameters

  • X
  • verbose \u2014 defaults to False

  1. Ben-Haim, Y. and Tom-Tov, E., 2010. A streaming parallel decision tree algorithm. Journal of Machine Learning Research, 11(Feb), pp.849-872. \u21a9

  2. Go implementation \u21a9

"},{"location":"api/sketch/Set/","title":"Set","text":"

Approximate tracking of observed items using Bloom filters.

Bloom filters enable using a limited amount of memory to check whether a given item was already observed in a stream. They can be used similarly to Python's built-in sets with the difference that items are not explicitly stored. For that reason, element removal and set difference are not currently supported.

Bloom filters store a bit array and map incoming items to k index positions in the such array. The selected positions are set to True. Therefore, a binary code representation is created for each item. Membership works by projecting the query item and checking if every position of its binary code is True. If that is not the case, the item was not observed yet. A nice property of Bloom filters is that they do not yield false negatives: unobserved items might be signalized as observed, but observed items are never signalized as unobserved.

If more than one item has the same binary code, i.e., hash collisions happen, the accuracy of the Bloom filter decreases, and false positives are produced. For instance, a previously unobserved item is signalized as observed. Increasing the size of the binary array and the value of k increase the filter's accuracy as hash collisions are avoided. Nonetheless, even using an increased number of hash functions, hash collisions will frequently happen if the array capacity is too small. The length of the bit array and the number of hash functions are inferred automatically from the supplied capacity and fp_rate.

"},{"location":"api/sketch/Set/#parameters","title":"Parameters","text":"
  • capacity

    Type \u2192 int

    Default \u2192 2048

    The maximum capacity of the Bloom filter, i.e., the maximum number of distinct items to store given the selected fp_rate.

  • fp_rate

    Type \u2192 float

    Default \u2192 0.01

    The allowed rate of false positives. The probability of obtaining a true positive is 1 - fp_rate.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/sketch/Set/#attributes","title":"Attributes","text":"
  • n_bits

    Return the size of the binary array used by the Bloom filter.

  • n_hash

    Return the number of used hash functions.

"},{"location":"api/sketch/Set/#examples","title":"Examples","text":"
import random\nfrom river import sketch\n\nrng = random.Random(42)\ns_set = sketch.Set(capacity=100, seed=0)\n

We can retrieve the number of selected hash functions:

s_set.n_hash\n
7\n

And the size of the binary array used by the Bloom filter:

s_set.n_bits\n
959\n

We can add new items and check for membership using the same calls used by Python's standard sets:

for _ in range(1000):\n    s_set.add(rng.randint(0, 200))\n\n1 in s_set\n
True\n

False positives might happen if the capacity is not large enough:

-10 in s_set\n
True\n

Iterables can also be supplied to perform multiple updates with a single call to update:

s_set = s_set.update([1, 2, 3, 4, 5, 6, 7])\n

We can also combine instances of sketch.Set using the intersection and union operations, as long as they share the same hash functions and capability. In other words, all they hyperparameters match. Let's create two instances that will monitor different portions of a stream of random numbers:

s1 = sketch.Set(seed=8)\ns2 = sketch.Set(seed=8)\n\nfor _ in range(1000):\n    s1.add(rng.randint(0, 5000))\n\nfor _ in range(1000):\n    s2.add(rng.randint(0, 5000))\n\n43 in s1\n
True\n
43 in s2\n
False\n

We can get the intersection between the two instances by using:

s_intersection = s1 & s2\n43 in s_intersection\n
False\n

We can also obtain the set union:

s_union = s1 | s2\n\n43 in s_union\n
True\n

The same effect of the non-inplace dunder methods can be achieved via explicit method calls:

43 in s1.intersection(s2)\n
False\n

43 in s1.union(s2)\n
True\n

"},{"location":"api/sketch/Set/#methods","title":"Methods","text":"add intersection

Set intersection.

Return a new instance that results from the set intersection between the current Set object and other. Dunder operators can be used to replace the method call, i.e., a &= b and a & b for inplace and non-inplace intersections, respectively.

Parameters

  • other \u2014 'Set'

union

Set union.

Return a new instance that results from the set union between the current Set object and other. Dunder operators can be used to replace the method call, i.e., a |= b and a | b for inplace and non-inplace unions, respectively.

Parameters

  • other \u2014 'Set'

update"},{"location":"api/sketch/Set/#notes","title":"Notes","text":"

This implementation uses an integer to represent the binary array. Bitwise operations are performed in the integer to reflect the Bloom filter updates.

  1. Florian Hartmann's blog article on Bloom Filters.\u00a0\u21a9

  2. Wikipedia entry on Bloom filters.\u00a0\u21a9

"},{"location":"api/stats/AbsMax/","title":"AbsMax","text":"

Running absolute max.

"},{"location":"api/stats/AbsMax/#attributes","title":"Attributes","text":"
  • abs_max (float)

    The current absolute max.

"},{"location":"api/stats/AbsMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 5, -6]\nabs_max = stats.AbsMax()\nfor x in X:\n    abs_max.update(x)\n    print(abs_max.get())\n
1\n4\n4\n4\n5\n6\n

"},{"location":"api/stats/AbsMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/AutoCorr/","title":"AutoCorr","text":"

Measures the serial correlation.

This method computes the Pearson correlation between the current value and the value seen n steps before.

"},{"location":"api/stats/AutoCorr/#parameters","title":"Parameters","text":"
  • lag

    Type \u2192 int

"},{"location":"api/stats/AutoCorr/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/AutoCorr/#examples","title":"Examples","text":"

The following examples are taken from the pandas documentation.

from river import stats\n\nauto_corr = stats.AutoCorr(lag=1)\nfor x in [0.25, 0.5, 0.2, -0.05]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n-1.0\n0.103552\n

auto_corr = stats.AutoCorr(lag=2)\nfor x in [0.25, 0.5, 0.2, -0.05]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n0\n-1.0\n

auto_corr = stats.AutoCorr(lag=1)\nfor x in [1, 0, 0, 0]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n0\n0\n

"},{"location":"api/stats/AutoCorr/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/BayesianMean/","title":"BayesianMean","text":"

Estimates a mean using outside information.

"},{"location":"api/stats/BayesianMean/#parameters","title":"Parameters","text":"
  • prior

    Type \u2192 float

  • prior_weight

    Type \u2192 float

"},{"location":"api/stats/BayesianMean/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/BayesianMean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Additive smoothing \u21a9

  2. Bayesian average \u21a9

  3. Practical example of Bayes estimators \u21a9

"},{"location":"api/stats/Count/","title":"Count","text":"

A simple counter.

"},{"location":"api/stats/Count/#attributes","title":"Attributes","text":"
  • n (int)

    The current number of observations.

"},{"location":"api/stats/Count/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number' \u2014 defaults to None

"},{"location":"api/stats/Cov/","title":"Cov","text":"

Covariance.

"},{"location":"api/stats/Cov/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/stats/Cov/#attributes","title":"Attributes","text":"
  • n
"},{"location":"api/stats/Cov/#examples","title":"Examples","text":"

from river import stats\n\nx = [-2.1,  -1,  4.3]\ny = [   3, 1.1, 0.12]\n\ncov = stats.Cov()\n\nfor xi, yi in zip(x, y):\n    cov.update(xi, yi)\n    print(cov.get())\n
0.0\n-1.044999\n-4.286\n

This class has a revert method, and can thus be wrapped by utils.Rolling:

from river import utils\n\nx = [-2.1,  -1, 4.3, 1, -2.1,  -1, 4.3]\ny = [   3, 1.1, .12, 1,    3, 1.1, .12]\n\nrcov = utils.Rolling(stats.Cov(), window_size=3)\n\nfor xi, yi in zip(x, y):\n    rcov.update(xi, yi)\n    print(rcov.get())\n
0.0\n-1.045\n-4.286\n-1.382\n-4.589\n-1.415\n-4.286\n

"},{"location":"api/stats/Cov/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

update_many"},{"location":"api/stats/Cov/#notes","title":"Notes","text":"

The outcomes of the incremental and parallel updates are consistent with numpy's batch processing when \\(\\text{ddof} \\le 1\\).

  1. Wikipedia article on algorithms for calculating variance \u21a9

  2. Schubert, E. and Gertz, M., 2018, July. Numerically stable parallel computation of (co-) variance. In Proceedings of the 30th International Conference on Scientific and Statistical Database Management (pp. 1-12).\u00a0\u21a9

"},{"location":"api/stats/EWMean/","title":"EWMean","text":"

Exponentially weighted mean.

"},{"location":"api/stats/EWMean/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.5

    The closer fading_factor is to 1 the more the statistic will adapt to recent values.

"},{"location":"api/stats/EWMean/#attributes","title":"Attributes","text":"
  • mean (float)

    The running exponentially weighted mean.

"},{"location":"api/stats/EWMean/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, 3, 5, 4, 6, 8, 7, 9, 11]\newm = stats.EWMean(fading_factor=0.5)\nfor x in X:\n    ewm.update(x)\n    print(ewm.get())\n
1.0\n2.0\n3.5\n3.75\n4.875\n6.4375\n6.71875\n7.859375\n9.4296875\n

"},{"location":"api/stats/EWMean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  2. Exponential Moving Average on Streaming Data \u21a9

"},{"location":"api/stats/EWVar/","title":"EWVar","text":"

Exponentially weighted variance.

To calculate the variance we use the fact that Var(X) = Mean(x^2) - Mean(x)^2 and internally we use the exponentially weighted mean of x/x^2 to calculate this.

"},{"location":"api/stats/EWVar/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.5

    The closer fading_factor is to 1 the more the statistic will adapt to recent values.

"},{"location":"api/stats/EWVar/#attributes","title":"Attributes","text":"
  • variance (float)

    The running exponentially weighted variance.

"},{"location":"api/stats/EWVar/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, 3, 5, 4, 6, 8, 7, 9, 11]\newv = stats.EWVar(fading_factor=0.5)\nfor x in X:\n    ewv.update(x)\n    print(ewv.get())\n
0.0\n1.0\n2.75\n1.4375\n1.984375\n3.43359375\n1.7958984375\n2.198974609375\n3.56536865234375\n

"},{"location":"api/stats/EWVar/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  2. Exponential Moving Average on Streaming Data \u21a9

"},{"location":"api/stats/Entropy/","title":"Entropy","text":"

Running entropy.

"},{"location":"api/stats/Entropy/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 1

    Fading factor.

  • eps

    Default \u2192 1e-08

    Small value that will be added to the denominator to avoid division by zero.

"},{"location":"api/stats/Entropy/#attributes","title":"Attributes","text":"
  • entropy (float)

    The running entropy.

  • n (int)

    The current number of observations.

  • counter (collections.Counter)

    Count the number of times the values have occurred

"},{"location":"api/stats/Entropy/#examples","title":"Examples","text":"

import math\nimport random\nimport numpy as np\nfrom scipy.stats import entropy\nfrom river import stats\n\ndef entropy_list(labels, base=None):\n    value,counts = np.unique(labels, return_counts=True)\n    return entropy(counts, base=base)\n\nSEED = 42 * 1337\nrandom.seed(SEED)\n\nentro = stats.Entropy(fading_factor=1)\n\nlist_animal = []\nfor animal, num_val in zip(['cat', 'dog', 'bird'],[301, 401, 601]):\n    list_animal += [animal for i in range(num_val)]\nrandom.shuffle(list_animal)\n\nfor animal in list_animal:\n    entro.update(animal)\n\nprint(f'{entro.get():.6f}')\n
1.058093\n
print(f'{entropy_list(list_animal):.6f}')\n
1.058093\n

"},{"location":"api/stats/Entropy/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Sovdat, B., 2014. Updating Formulas and Algorithms for Computing Entropy and Gini Index from Time-Changing Data Streams. arXiv preprint arXiv:1403.6348. \u21a9

"},{"location":"api/stats/IQR/","title":"IQR","text":"

Computes the interquartile range.

"},{"location":"api/stats/IQR/#parameters","title":"Parameters","text":"
  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1. Defaults to 0.25.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1. Defaults to 0.75.

"},{"location":"api/stats/IQR/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/IQR/#examples","title":"Examples","text":"

from river import stats\n\niqr = stats.IQR(q_inf=0.25, q_sup=0.75)\n\nfor i in range(0, 1001):\n    iqr.update(i)\n    if i % 100 == 0:\n        print(iqr.get())\n
0.0\n50.0\n100.0\n150.0\n200.0\n250.0\n300.0\n350.0\n400.0\n450.0\n500.0\n

"},{"location":"api/stats/IQR/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/KolmogorovSmirnov/","title":"KolmogorovSmirnov","text":"

Incremental Kolmogorov-Smirnov statistics.

The two-sample Kolmogorov-Smirnov test quantifies the distance between the empirical functions of two samples, with the null distribution of this statistic is calculated under the null hypothesis that the samples are drawn from the same distribution. The formula can be described as

\\[ D_{n, m} = \\sup_x \\| F_{1, n}(x) - F_{2, m}(x) \\|. \\]

This implementation is the incremental version of the previously mentioned statistics, with the change being in the ability to insert and remove an observation thorugh time. This can be done using a randomized tree called Treap (or Cartesian Tree) 2 with bulk operation and lazy propagation.

The implemented algorithm is able to perform the insertion and removal operations in O(logN) with high probability and calculate the Kolmogorov-Smirnov test in O(1), where N is the number of sample observations. This is a significant improvement compared to the O(N logN) cost of non-incremental implementation.

This implementation also supports the calculation of the Kuiper statistics. Different from the orginial Kolmogorov-Smirnov statistics, Kuiper's test 3 calculates the sum of the absolute sizes of the most positive and most negative differences between the two cumulative distribution functions taken into account. As such, Kuiper's test is very sensitive in the tails as at the median.

Last but not least, this implementation is also based on the original implementation within the supplementary material of the authors of paper 1, at the following Github repository.

"},{"location":"api/stats/KolmogorovSmirnov/#parameters","title":"Parameters","text":"
  • statistic

    Default \u2192 ks

    The method used to calculate the statistic, can be either \"ks\" or \"kuiper\". The default value is set as \"ks\".

"},{"location":"api/stats/KolmogorovSmirnov/#examples","title":"Examples","text":"

import numpy as np\nfrom river import stats\n\nstream_a = [1, 1, 2, 2, 3, 3, 4, 4]\nstream_b = [1, 1, 1, 1, 2, 2, 2, 2]\n\nincremental_ks = stats.KolmogorovSmirnov(statistic=\"ks\")\nfor a, b in zip(stream_a, stream_b):\n    incremental_ks.update(a, b)\n\nincremental_ks\n
KolmogorovSmirnov: 0.5\n

incremental_ks.n_samples\n
8\n

"},{"location":"api/stats/KolmogorovSmirnov/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y

  1. dos Reis, D.M. et al. (2016) \u2018Fast unsupervised online drift detection using incremental Kolmogorov-Smirnov test\u2019, Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. doi:10.1145/2939672.2939836.\u00a0\u21a9

  2. C. R. Aragon and R. G. Seidel. Randomized search trees. In FOCS, pages 540\u2013545. IEEE, 1989.\u00a0\u21a9

  3. Kuiper, N. H. (1960). \"Tests concerning random points on a circle\". Proceedings of the Koninklijke Nederlandse Akademie van Wetenschappen, Series A. 63: 38\u201347.\u00a0\u21a9

"},{"location":"api/stats/Kurtosis/","title":"Kurtosis","text":"

Running kurtosis using Welford's algorithm.

"},{"location":"api/stats/Kurtosis/#parameters","title":"Parameters","text":"
  • bias

    Default \u2192 False

    If False, then the calculations are corrected for statistical bias.

"},{"location":"api/stats/Kurtosis/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Kurtosis/#examples","title":"Examples","text":"

from river import stats\nimport scipy.stats\nimport numpy as np\n\nnp.random.seed(42)\nX = np.random.normal(loc=0, scale=1, size=10)\n\nkurtosis = stats.Kurtosis(bias=False)\nfor x in X:\n    kurtosis.update(x)\n    print(kurtosis.get())\n
-3.0\n-2.0\n-1.5\n1.4130027920707047\n0.15367976585756438\n0.46142633246812653\n-1.620647789230658\n-1.3540178492487054\n-1.2310268787102745\n-0.9490372374384453\n

for i in range(2, len(X)+1):\n    print(scipy.stats.kurtosis(X[:i], bias=False))\n
-2.0\n-1.4999999999999998\n1.4130027920707082\n0.15367976585756082\n0.46142633246812403\n-1.620647789230658\n-1.3540178492487063\n-1.2310268787102738\n-0.9490372374384459\n

kurtosis = stats.Kurtosis(bias=True)\nfor x in X:\n    kurtosis.update(x)\n    print(kurtosis.get())\n
-3.0\n-2.0\n-1.5\n-1.011599627723906\n-0.9615800585356089\n-0.6989395431537853\n-1.4252699121794408\n-1.311437071070812\n-1.246289111322894\n-1.082283689864171\n

for i in range(2, len(X)+1):\n    print(scipy.stats.kurtosis(X[:i], bias=True))\n
-2.0\n-1.4999999999999998\n-1.0115996277239057\n-0.9615800585356098\n-0.6989395431537861\n-1.425269912179441\n-1.3114370710708125\n-1.2462891113228936\n-1.0822836898641714\n

"},{"location":"api/stats/Kurtosis/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Link/","title":"Link","text":"

A link joins two univariate statistics as a sequence.

This can be used to pipe the output of one statistic to the input of another. This can be used, for instance, to calculate the mean of the variance of a variable. It can also be used to compute shifted statistics by piping statistics with an instance of stats.Shift.

Note that a link is not meant to be instantiated via this class definition. Instead, users can link statistics together via the | operator.

"},{"location":"api/stats/Link/#parameters","title":"Parameters","text":"
  • left

    Type \u2192 stats.base.Univariate

  • right

    Type \u2192 stats.base.Univariate

    The output from left's get method is passed to right's update method if left's get method doesn't produce None.

"},{"location":"api/stats/Link/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Link/#examples","title":"Examples","text":"
from river import stats\nstat = stats.Shift(1) | stats.Mean()\n

No values have been seen, therefore get defaults to the initial value of stats.Mean, which is 0.

stat.get()\n
0.\n

Let us now call update.

stat.update(1)\n

The output from get will still be 0. The reason is that stats.Shift has not enough values, and therefore outputs its default value, which is None. The stats.Mean instance is therefore not updated.

stat.get()\n
0.0\n

On the next call to update, the stats.Shift instance has seen enough values, and therefore the mean can be updated. The mean is therefore equal to 1, because that's the only value from the past.

stat.update(3)\nstat.get()\n
1.0\n

On the subsequent call to update, the mean will be updated with the value 3.

stat.update(4)\nstat.get()\n
2.0\n

Note that composing statistics returns a new statistic with its own name.

stat.name\n
'mean_of_shift_1'\n

"},{"location":"api/stats/Link/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/MAD/","title":"MAD","text":"

Median Absolute Deviation (MAD).

The median absolute deviation is the median of the absolute differences between each data point and the data's overall median. In an online setting, the median of the data is unknown beforehand. Therefore, both the median of the data and the median of the differences of the data with respect to the latter are updated online. To be precise, the median of the data is updated before the median of the differences. As a consequence, this online version of the MAD does not coincide exactly with its batch counterpart.

"},{"location":"api/stats/MAD/#attributes","title":"Attributes","text":"
  • median (stats.Median)

    The median of the data.

"},{"location":"api/stats/MAD/#examples","title":"Examples","text":"

from river import stats\n\nX = [4, 2, 5, 3, 0, 4]\n\nmad = stats.MAD()\nfor x in X:\n    mad.update(x)\n    print(mad.get())\n
0.0\n2.0\n1.0\n1.0\n1.0\n1.0\n

"},{"location":"api/stats/MAD/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Median absolute deviation article on Wikipedia \u21a9

"},{"location":"api/stats/Max/","title":"Max","text":"

Running max.

"},{"location":"api/stats/Max/#attributes","title":"Attributes","text":"
  • max (float)

    The current max.

"},{"location":"api/stats/Max/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 5, -6]\nmaximum = stats.Max()\nfor x in X:\n    maximum.update(x)\n    print(maximum.get())\n
1\n1\n3\n3\n5\n5\n

"},{"location":"api/stats/Max/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Mean/","title":"Mean","text":"

Running mean.

"},{"location":"api/stats/Mean/#attributes","title":"Attributes","text":"
  • n (float)

    The current sum of weights. If each passed weight was 1, then this is equal to the number of seen observations.

"},{"location":"api/stats/Mean/#examples","title":"Examples","text":"

from river import stats\n\nX = [-5, -3, -1, 1, 3, 5]\nmean = stats.Mean()\nfor x in X:\n    mean.update(x)\n    print(mean.get())\n
-5.0\n-4.0\n-3.0\n-2.0\n-1.0\n0.0\n

You can calculate a rolling average by wrapping a utils.Rolling around:

from river import utils\n\nX = [1, 2, 3, 4, 5, 6]\nrmean = utils.Rolling(stats.Mean(), window_size=2)\n\nfor x in X:\n    rmean.update(x)\n    print(rmean.get())\n
1.0\n1.5\n2.5\n3.5\n4.5\n5.5\n

"},{"location":"api/stats/Mean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many
  1. West, D. H. D. (1979). Updating mean and variance estimates: An improved method. Communications of the ACM, 22(9), 532-535. \u21a9

  2. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  3. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1983. Algorithms for computing the sample variance: Analysis and recommendations. The American Statistician, 37(3), pp.242-247. \u21a9

"},{"location":"api/stats/Min/","title":"Min","text":"

Running min.

"},{"location":"api/stats/Min/#attributes","title":"Attributes","text":"
  • min (float)

    The current min.

"},{"location":"api/stats/Min/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Mode/","title":"Mode","text":"

Running mode.

The mode is simply the most common value. An approximate mode can be computed by setting the number of first unique values to count.

"},{"location":"api/stats/Mode/#parameters","title":"Parameters","text":"
  • k

    Default \u2192 25

    Only the first k unique values will be included. If k equals -1, the exact mode is computed.

"},{"location":"api/stats/Mode/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Mode/#examples","title":"Examples","text":"

from river import stats\n\nX = ['sunny', 'cloudy', 'cloudy', 'rainy', 'rainy', 'rainy']\nmode = stats.Mode(k=2)\nfor x in X:\n    mode.update(x)\n    print(mode.get())\n
sunny\nsunny\ncloudy\ncloudy\ncloudy\ncloudy\n

mode = stats.Mode(k=-1)\nfor x in X:\n    mode.update(x)\n    print(mode.get())\n
sunny\nsunny\ncloudy\ncloudy\ncloudy\nrainy\n

"},{"location":"api/stats/Mode/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/NUnique/","title":"NUnique","text":"

Approximate number of unique values counter.

This is basically an implementation of the HyperLogLog algorithm. Adapted from hypy. The code is a bit too terse but it will do for now.

"},{"location":"api/stats/NUnique/#parameters","title":"Parameters","text":"
  • error_rate

    Default \u2192 0.01

    Desired error rate. Memory usage is inversely proportional to this value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Set the seed to produce identical results.

"},{"location":"api/stats/NUnique/#attributes","title":"Attributes","text":"
  • n_bits (int)

  • n_buckets (int)

  • buckets (list)

"},{"location":"api/stats/NUnique/#examples","title":"Examples","text":"

import string\nfrom river import stats\n\nalphabet = string.ascii_lowercase\nn_unique = stats.NUnique(error_rate=0.2, seed=42)\n\nn_unique.update('a')\nn_unique.get()\n
1\n

n_unique.update('b')\nn_unique.get()\n
2\n

for letter in alphabet:\n    n_unique.update(letter)\nn_unique.get()\n
31\n

Lowering the error_rate parameter will increase the precision.

n_unique = stats.NUnique(error_rate=0.01, seed=42)\nfor letter in alphabet:\n    n_unique.update(letter)\nn_unique.get()\n
26\n

"},{"location":"api/stats/NUnique/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. My favorite algorithm (and data structure): HyperLogLog \u21a9

  2. Flajolet, P., Fusy, \u00c9., Gandouet, O. and Meunier, F., 2007, June. Hyperloglog: the analysis of a near-optimal cardinality estimation algorithm. \u21a9

"},{"location":"api/stats/PeakToPeak/","title":"PeakToPeak","text":"

Running peak to peak (max - min).

"},{"location":"api/stats/PeakToPeak/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/PeakToPeak/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 4]\nptp = stats.PeakToPeak()\nfor x in X:\n    ptp.update(x)\n    print(ptp.get())\n
0.\n5.\n7.\n7.\n7.\n8.\n

"},{"location":"api/stats/PeakToPeak/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/PearsonCorr/","title":"PearsonCorr","text":"

Online Pearson correlation.

"},{"location":"api/stats/PearsonCorr/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/stats/PearsonCorr/#attributes","title":"Attributes","text":"
  • var_x (stats.Var)

    Running variance of x.

  • var_y (stats.Var)

    Running variance of y.

  • cov_xy (stats.Cov)

    Running covariance of x and y.

"},{"location":"api/stats/PearsonCorr/#examples","title":"Examples","text":"

from river import stats\n\nx = [0, 0, 0, 1, 1, 1, 1]\ny = [0, 1, 2, 3, 4, 5, 6]\n\npearson = stats.PearsonCorr()\n\nfor xi, yi in zip(x, y):\n    pearson.update(xi, yi)\n    print(pearson.get())\n
0\n0\n0\n0.774596\n0.866025\n0.878310\n0.866025\n

You can also do this in a rolling fashion:

from river import utils\n\nx = [0, 0, 0, 1, 1, 1, 1]\ny = [0, 1, 2, 3, 4, 5, 6]\n\npearson = utils.Rolling(stats.PearsonCorr(), window_size=4)\n\nfor xi, yi in zip(x, y):\n    pearson.update(xi, yi)\n    print(pearson.get())\n
0\n0\n0\n0.7745966692414834\n0.8944271909999159\n0.7745966692414832\n-4.712160915387242e-09\n

"},{"location":"api/stats/PearsonCorr/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y

"},{"location":"api/stats/Quantile/","title":"Quantile","text":"

Running quantile.

Uses the P\u00b2 algorithm, which is also known as the \"Piecewise-Parabolic quantile estimator\". The code is inspired by LiveStat's implementation 2.

"},{"location":"api/stats/Quantile/#parameters","title":"Parameters","text":"
  • q

    Type \u2192 float

    Default \u2192 0.5

    Determines which quantile to compute, must be comprised between 0 and 1.

"},{"location":"api/stats/Quantile/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Quantile/#examples","title":"Examples","text":"

from river import stats\nimport numpy as np\n\nnp.random.seed(42 * 1337)\nmu, sigma = 0, 1\ns = np.random.normal(mu, sigma, 500)\n\nmedian = stats.Quantile(0.5)\nfor x in s:\n   _ = median.update(x)\nprint(f'The estimated value of the 50th (median) quantile is {median.get():.4f}')\n
The estimated value of the 50th (median) quantile is -0.0275\n

print(f'The real value of the 50th (median) quantile is {np.median(s):.4f}')\n
The real value of the 50th (median) quantile is -0.0135\n

percentile_17 = stats.Quantile(0.17)\nfor x in s:\n   _ = percentile_17.update(x)\nprint(f'The estimated value of the 17th quantile is {percentile_17.get():.4f}')\n
The estimated value of the 17th quantile is -0.8652\n

print(f'The real value of the 17th quantile is {np.percentile(s,17):.4f}')\n
The real value of the 17th quantile is -0.9072\n

"},{"location":"api/stats/Quantile/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. The P\u00b2 Algorithm for Dynamic Univariateal Computing Calculation of Quantiles and Editor Histograms Without Storing Observations \u21a9

  2. LiveStats \u21a9

  3. P\u00b2 quantile estimator: estimating the median without storing values \u21a9

"},{"location":"api/stats/RollingAbsMax/","title":"RollingAbsMax","text":"

Running absolute max over a window.

"},{"location":"api/stats/RollingAbsMax/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingAbsMax/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingAbsMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_absmax = stats.RollingAbsMax(window_size=2)\nfor x in X:\n    rolling_absmax.update(x)\n    print(rolling_absmax.get())\n
1\n4\n4\n3\n2\n2\n

"},{"location":"api/stats/RollingAbsMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingIQR/","title":"RollingIQR","text":"

Computes the rolling interquartile range.

"},{"location":"api/stats/RollingIQR/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the window.

  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1. Defaults to 0.25.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1. Defaults to 0.75.

"},{"location":"api/stats/RollingIQR/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingIQR/#examples","title":"Examples","text":"

from river import stats\nrolling_iqr = stats.RollingIQR(\n    q_inf=0.25,\n    q_sup=0.75,\n    window_size=101\n)\n\nfor i in range(0, 1001):\n    rolling_iqr.update(i)\n    if i % 100 == 0:\n        print(rolling_iqr.get())\n
0.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n

"},{"location":"api/stats/RollingIQR/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMax/","title":"RollingMax","text":"

Running max over a window.

"},{"location":"api/stats/RollingMax/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMax/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_max = stats.RollingMax(window_size=2)\nfor x in X:\n    rolling_max.update(x)\n    print(rolling_max.get())\n
1\n1\n3\n3\n2\n2\n

"},{"location":"api/stats/RollingMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMin/","title":"RollingMin","text":"

Running min over a window.

"},{"location":"api/stats/RollingMin/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMin/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingMin/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_min = stats.RollingMin(2)\nfor x in X:\n    rolling_min.update(x)\n    print(rolling_min.get())\n
1\n-4\n-4\n-2\n-2\n1\n

"},{"location":"api/stats/RollingMin/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMode/","title":"RollingMode","text":"

Running mode over a window.

The mode is the most common value.

"},{"location":"api/stats/RollingMode/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMode/#attributes","title":"Attributes","text":"
  • counts (collections.defaultdict)

    Value counts.

"},{"location":"api/stats/RollingMode/#examples","title":"Examples","text":"

from river import stats\n\nX = ['sunny', 'sunny', 'sunny', 'rainy', 'rainy', 'rainy', 'rainy']\nrolling_mode = stats.RollingMode(window_size=2)\nfor x in X:\n    rolling_mode.update(x)\n    print(rolling_mode.get())\n
sunny\nsunny\nsunny\nsunny\nrainy\nrainy\nrainy\n

rolling_mode = stats.RollingMode(window_size=5)\nfor x in X:\n    rolling_mode.update(x)\n    print(rolling_mode.get())\n
sunny\nsunny\nsunny\nsunny\nsunny\nrainy\nrainy\n

"},{"location":"api/stats/RollingMode/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingPeakToPeak/","title":"RollingPeakToPeak","text":"

Running peak to peak (max - min) over a window.

"},{"location":"api/stats/RollingPeakToPeak/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingPeakToPeak/#attributes","title":"Attributes","text":"
  • max (stats.RollingMax)

    The running rolling max.

  • min (stats.RollingMin)

    The running rolling min.

"},{"location":"api/stats/RollingPeakToPeak/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nptp = stats.RollingPeakToPeak(window_size=2)\nfor x in X:\n    ptp.update(x)\n    print(ptp.get())\n
0\n5\n7\n5\n4\n1\n

"},{"location":"api/stats/RollingPeakToPeak/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingQuantile/","title":"RollingQuantile","text":"

Running quantile over a window.

"},{"location":"api/stats/RollingQuantile/#parameters","title":"Parameters","text":"
  • q

    Type \u2192 float

    Determines which quantile to compute, must be comprised between 0 and 1.

  • window_size

    Type \u2192 int

    Size of the window.

"},{"location":"api/stats/RollingQuantile/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingQuantile/#examples","title":"Examples","text":"

from river import stats\n\nrolling_quantile = stats.RollingQuantile(\n    q=.5,\n    window_size=101,\n)\n\nfor i in range(1001):\n    rolling_quantile.update(i)\n    if i % 100 == 0:\n        print(rolling_quantile.get())\n
0.0\n50.0\n150.0\n250.0\n350.0\n450.0\n550.0\n650.0\n750.0\n850.0\n950.0\n

"},{"location":"api/stats/RollingQuantile/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Left sorted \u21a9

"},{"location":"api/stats/SEM/","title":"SEM","text":"

Running standard error of the mean using Welford's algorithm.

"},{"location":"api/stats/SEM/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom. The divisor used in calculations is n - ddof, where n is the number of seen elements.

"},{"location":"api/stats/SEM/#attributes","title":"Attributes","text":"
  • n (int)

    Number of observations.

"},{"location":"api/stats/SEM/#examples","title":"Examples","text":"

from river import stats\n\nX = [3, 5, 4, 7, 10, 12]\n\nsem = stats.SEM()\nfor x in X:\n    sem.update(x)\n    print(sem.get())\n
0.0\n1.0\n0.577350\n0.853912\n1.240967\n1.447219\n

from river import utils\n\nX = [1, 4, 2, -4, -8, 0]\n\nrolling_sem = utils.Rolling(stats.SEM(ddof=1), window_size=3)\nfor x in X:\n    rolling_sem.update(x)\n    print(rolling_sem.get())\n
0.0\n1.5\n0.881917\n2.403700\n2.905932\n2.309401\n

"},{"location":"api/stats/SEM/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many
  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Shift/","title":"Shift","text":"

Shifts a data stream by returning past values.

This can be used to compute statistics over past data. For instance, if you're computing daily averages, then shifting by 7 will be equivalent to computing averages from a week ago.

Shifting values is useful when you're calculating an average over a target value. Indeed, in this case it's important to shift the values in order not to introduce leakage. The recommended way to do this is to feature_extraction.TargetAgg, which already takes care of shifting the target values once.

"},{"location":"api/stats/Shift/#parameters","title":"Parameters","text":"
  • amount

    Default \u2192 1

    Shift amount. The get method will return the t - amount value, where t is the current moment.

  • fill_value

    Default \u2192 None

    This value will be returned by the get method if not enough values have been observed.

"},{"location":"api/stats/Shift/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Shift/#examples","title":"Examples","text":"

It is rare to have to use Shift by itself. A more common usage is to compose it with other statistics. This can be done via the | operator.

from river import stats\n\nstat = stats.Shift(1) | stats.Mean()\n\nfor i in range(5):\n    stat.update(i)\n    print(stat.get())\n
0.0\n0.0\n0.5\n1.0\n1.5\n

A common usecase for using Shift is when computing statistics on shifted data. For instance, say you have a dataset which records the amount of sales for a set of shops. You might then have a shop field and a sales field. Let's say you want to look at the average amount of sales per shop. You can do this by using a feature_extraction.Agg. When you call transform_one, you're expecting it to return the average amount of sales, without including today's sales. You can do this by prepending an instance of stats.Mean with an instance of stats.Shift.

from river import feature_extraction\n\nagg = feature_extraction.Agg(\n    on='sales',\n    how=stats.Shift(1) | stats.Mean(),\n    by='shop'\n)\n

Let's define a little example dataset.

X = iter([\n    {'shop': 'Ikea', 'sales': 10},\n    {'shop': 'Ikea', 'sales': 15},\n    {'shop': 'Ikea', 'sales': 20}\n])\n

Now let's call the learn_one method to update our feature extractor.

x = next(X)\nagg.learn_one(x)\n

At this point, the average defaults to the initial value of stats.Mean, which is 0.

agg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 0.0}\n

We can now update our feature extractor with the next data point and check the output.

agg.learn_one(next(X))\nagg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 10.0}\n

agg.learn_one(next(X))\nagg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 12.5}\n

"},{"location":"api/stats/Shift/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Skew/","title":"Skew","text":"

Running skew using Welford's algorithm.

"},{"location":"api/stats/Skew/#parameters","title":"Parameters","text":"
  • bias

    Default \u2192 False

    If False, then the calculations are corrected for statistical bias.

"},{"location":"api/stats/Skew/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Skew/#examples","title":"Examples","text":"

from river import stats\nimport numpy as np\n\nnp.random.seed(42)\nX = np.random.normal(loc=0, scale=1, size=10)\n\nskew = stats.Skew(bias=False)\nfor x in X:\n    skew.update(x)\n    print(skew.get())\n
0.0\n0.0\n-1.4802398132849872\n0.5127437186677888\n0.7803466510704751\n1.056115628922055\n0.5057840774320389\n0.3478402420400934\n0.4536710660918704\n0.4123070197493227\n

skew = stats.Skew(bias=True)\nfor x in X:\n    skew.update(x)\n    print(skew.get())\n
0.0\n0.0\n-0.6043053732501439\n0.2960327239981376\n0.5234724473423674\n0.7712778043924866\n0.39022088752624845\n0.278892645224261\n0.37425953513864063\n0.3476878073823696\n

"},{"location":"api/stats/Skew/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Sum/","title":"Sum","text":"

Running sum.

"},{"location":"api/stats/Sum/#attributes","title":"Attributes","text":"
  • sum (float)

    The running sum.

"},{"location":"api/stats/Sum/#examples","title":"Examples","text":"

from river import stats\n\nX = [-5, -3, -1, 1, 3, 5]\nmean = stats.Sum()\nfor x in X:\n    mean.update(x)\n    print(mean.get())\n
-5.0\n-8.0\n-9.0\n-8.0\n-5.0\n0.0\n

from river import utils\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_sum = utils.Rolling(stats.Sum(), window_size=2)\nfor x in X:\n    rolling_sum.update(x)\n    print(rolling_sum.get())\n
1.0\n-3.0\n-1.0\n1.0\n0.0\n3.0\n

"},{"location":"api/stats/Sum/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Var/","title":"Var","text":"

Running variance using Welford's algorithm.

"},{"location":"api/stats/Var/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom. The divisor used in calculations is n - ddof, where n represents the number of seen elements.

"},{"location":"api/stats/Var/#attributes","title":"Attributes","text":"
  • mean

    It is necessary to calculate the mean of the data in order to calculate its variance.

"},{"location":"api/stats/Var/#examples","title":"Examples","text":"

from river import stats\n\nX = [3, 5, 4, 7, 10, 12]\n\nvar = stats.Var()\nfor x in X:\n    var.update(x)\n    print(var.get())\n
0.0\n2.0\n1.0\n2.916666\n7.7\n12.56666\n

You can measure a rolling variance by using a utils.Rolling wrapper:

from river import utils\n\nX = [1, 4, 2, -4, -8, 0]\nrvar = utils.Rolling(stats.Var(ddof=1), window_size=3)\nfor x in X:\n    rvar.update(x)\n    print(rvar.get())\n
0.0\n4.5\n2.333333\n17.333333\n25.333333\n16.0\n

"},{"location":"api/stats/Var/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many"},{"location":"api/stats/Var/#notes","title":"Notes","text":"

The outcomes of the incremental and parallel updates are consistent with numpy's batch processing when \\(\\text{ddof} \\le 1\\).

  1. Wikipedia article on algorithms for calculating variance \u21a9

  2. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1983. Algorithms for computing the sample variance: Analysis and recommendations. The American Statistician, 37(3), pp.242-247. \u21a9

  3. Schubert, E. and Gertz, M., 2018, July. Numerically stable parallel computation of (co-)variance. In Proceedings of the 30th International Conference on Scientific and Statistical Database Management (pp. 1-12).\u00a0\u21a9

"},{"location":"api/stats/base/Bivariate/","title":"Bivariate","text":"

A bivariate statistic measures a relationship between two variables.

"},{"location":"api/stats/base/Bivariate/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x
  • y

"},{"location":"api/stats/base/Univariate/","title":"Univariate","text":"

A univariate statistic measures a property of a variable.

"},{"location":"api/stats/base/Univariate/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/base/Univariate/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stream/Cache/","title":"Cache","text":"

Utility for caching iterables.

This can be used to save a stream of data to the disk in order to iterate over it faster the following time. This can save time depending on the nature of stream. The more processing happens in a stream, the more time will be saved. Even in the case where no processing is done apart from reading the data, the cache will save some time because it is using the pickle binary protocol. It can thus improve the speed in common cases such as reading from a CSV file.

"},{"location":"api/stream/Cache/#parameters","title":"Parameters","text":"
  • directory

    Default \u2192 None

    The path where to store the pickled data streams. If not provided, then it will be automatically inferred whenever possible, if not an exception will be raised.

"},{"location":"api/stream/Cache/#attributes","title":"Attributes","text":"
  • keys (set)

    The set of keys that are being cached.

"},{"location":"api/stream/Cache/#examples","title":"Examples","text":"
import time\nfrom river import datasets\nfrom river import stream\n\ndataset = datasets.Phishing()\ncache = stream.Cache()\n

The cache can be used by wrapping it around an iterable. Because this is the first time are iterating over the data, nothing is cached.

tic = time.time()\nfor x, y in cache(dataset, key='phishing'):\n    pass\ntoc = time.time()\nprint(toc - tic)  # doctest: +SKIP\n
0.012813\n

If we do the same thing again, we can see the loop is now faster.

tic = time.time()\nfor x, y in cache(dataset, key='phishing'):\n    pass\ntoc = time.time()\nprint(toc - tic)  # doctest: +SKIP\n
0.001927\n

We can see an overview of the cache. The first line indicates the location of the cache.

cache  # doctest: +SKIP\n
/tmp\nphishing - 125.2KiB\n

Finally, we can clear the stream from the cache.

cache.clear('phishing')\ncache  # doctest: +SKIP\n
/tmp\n

There is also a clear_all method to remove all the items in the cache.

cache.clear_all()\n
"},{"location":"api/stream/Cache/#methods","title":"Methods","text":"call

Call self as a function.

Parameters

  • stream
  • key \u2014 defaults to None

clear

Delete the cached stream associated with the given key.

Parameters

  • key \u2014 'str'

clear_all

Delete all the cached streams.

"},{"location":"api/stream/TwitchChatStream/","title":"TwitchChatStream","text":"

Twitch chat stream client.

This client gives access to a live stream of chat messages in Twitch channels using IRC protocol. You need to have a Twitch account and receive an OAuth token from https://twitchapps.com/tmi/.

"},{"location":"api/stream/TwitchChatStream/#parameters","title":"Parameters","text":"
  • nickname

    Type \u2192 str

    The nickname of your account.

  • token

    Type \u2192 str

    OAuth token which has been generated.

  • channels

    Type \u2192 list[str]

    A list of channel names like [\"asmongold\", \"shroud\"] you want to collect messages from.

  • buffer_size

    Type \u2192 int

    Default \u2192 2048

    Size of buffer in bytes used for receiving responses from Twitch with IRC (default 2 KiB).

  • timeout

    Type \u2192 int

    Default \u2192 60

    A timeout value in seconds for waiting response from Twitch (default 60s). It can be useful if all requested channels are offline or chat is not active enough.

"},{"location":"api/stream/TwitchChatStream/#examples","title":"Examples","text":"

The live stream is instantiated by passing your Twitch account nickname, OAuth token and list of channels. Other parameters are optional.

from river import stream\n\ntwitch_chat = stream.TwitchChatStream(\n    nickname=\"twitch_user1\",\n    token=\"oauth:okrip6j6fjio8n5xpy2oum1lph4fbve\",\n    channels=[\"asmongold\", \"shroud\"]\n)\n

The stream can be iterated over like this:

for item in twitch_chat:\n    print(item)\n

Here's a single stream item example:

{\n    'dt': datetime.datetime(2022, 9, 14, 10, 33, 37, 989560),\n    'channel': 'asmongold',\n    'username': 'moojiejaa',\n    'msg': 'damn this chat mod are wild'\n}\n

  1. Twitch IRC doc \u21a9

"},{"location":"api/stream/TwitterLiveStream/","title":"TwitterLiveStream","text":"

Twitter API v2 live stream client.

This client gives access to a live stream of Tweets. That is, Tweets that have just been published. This is different to stream.TwitterRecentStream, which also covers Tweets that have been published over recent days, and not necessarily in real-time.

A list of filtering rules has to be provided. For instance, this allows focusing on a subset of topics and/or users.

Note

Using this requires having the requests package installed.

"},{"location":"api/stream/TwitterLiveStream/#parameters","title":"Parameters","text":"
  • rules

    See the documentation[^2] for a comprehensive overview of filtering rules.

  • bearer_token

    A bearer token that is available in each account's developer portal.

"},{"location":"api/stream/TwitterLiveStream/#examples","title":"Examples","text":"

The live stream is instantiated by passing a list of filtering rules, as well as a bearer token. For instance, we can listen to all the breaking news Tweets from the BBC and CNN.

from river import stream\n\ntweets = stream.TwitterLiveStream(\n    rules=[\"from:BBCBreaking\", \"from:cnnbrk\"],\n    bearer_token=\"<insert_bearer_token>\"\n)\n
The stream can then be iterated over, possibly in an infinite loop. This will listen to the\nlive feed of Tweets and produce a Tweet right after it's been published.\n\n```py\nimport logging\n\nwhile True:\n    try:\n        for tweet in tweets:\n            print(tweet)\n    except requests.exceptions.RequestException as e:\n        logging.warning(str(e))\n        time.sleep(10)\n```\n\nHere's a Tweet example:\n\n```py\n{\n    'data': {\n        'author_id': '428333',\n        'created_at': '2022-08-26T12:59:48.000Z',\n        'id': '1563149212774445058',\n        'text': \"Ukraine's Zaporizhzhia nuclear power plant, which is currently held by\n

Russian forces, has been reconnected to Ukraine's electricity grid, according to the country's nuclear operator https://t.co/xfylkBs4JR\" }, 'includes': { 'users': [ { 'created_at': '2007-01-02T01:48:14.000Z', 'id': '428333', 'name': 'CNN Breaking News', 'username': 'cnnbrk' } ] }, 'matching_rules': [{'id': '1563148866333151233', 'tag': 'from:cnnbrk'}] } ``` [^1]: Filtered stream introduction [^2]: Building rules for filtered stream [^3]: Stream Tweets in real-time

"},{"location":"api/stream/iter-arff/","title":"iter_arff","text":"

Iterates over rows from an ARFF file.

"},{"location":"api/stream/iter-arff/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target

    Type \u2192 str | list[str] | None

    Default \u2192 None

    Name(s) of the target field. If None, then the target field is ignored. If a list of names is passed, then a dictionary is returned instead of a single value.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

  • sparse

    Default \u2192 False

    Whether the data is sparse or not.

"},{"location":"api/stream/iter-arff/#examples","title":"Examples","text":"

cars = '''\n@relation CarData\n@attribute make {Toyota, Honda, Ford, Chevrolet}\n@attribute model string\n@attribute year numeric\n@attribute price numeric\n@attribute mpg numeric\n@data\nToyota, Corolla, 2018, 15000, 30.5\nHonda, Civic, 2019, 16000, 32.2\nFord, Mustang, 2020, 25000, 25.0\nChevrolet, Malibu, 2017, 18000, 28.9\nToyota, Camry, 2019, 22000, 29.8\n'''\nwith open('cars.arff', mode='w') as f:\n    _ = f.write(cars)\n\nfrom river import stream\n\nfor x, y in stream.iter_arff('cars.arff', target='price'):\n    print(x, y)\n
{'make': 'Toyota', 'model': ' Corolla', 'year': 2018.0, 'mpg': 30.5} 15000.0\n{'make': 'Honda', 'model': ' Civic', 'year': 2019.0, 'mpg': 32.2} 16000.0\n{'make': 'Ford', 'model': ' Mustang', 'year': 2020.0, 'mpg': 25.0} 25000.0\n{'make': 'Chevrolet', 'model': ' Malibu', 'year': 2017.0, 'mpg': 28.9} 18000.0\n{'make': 'Toyota', 'model': ' Camry', 'year': 2019.0, 'mpg': 29.8} 22000.0\n

Finally, let's delete the example file.

import os; os.remove('cars.arff')\n

ARFF files support sparse data. Let's create a sparse ARFF file.

sparse = '''\n% traindata\n@RELATION \"traindata: -C 6\"\n@ATTRIBUTE y0 {0, 1}\n@ATTRIBUTE y1 {0, 1}\n@ATTRIBUTE y2 {0, 1}\n@ATTRIBUTE y3 {0, 1}\n@ATTRIBUTE y4 {0, 1}\n@ATTRIBUTE y5 {0, 1}\n@ATTRIBUTE X0 NUMERIC\n@ATTRIBUTE X1 NUMERIC\n@ATTRIBUTE X2 NUMERIC\n@DATA\n{ 3 1,6 0.863382,8 0.820094 }\n{ 2 1,6 0.659761 }\n{ 0 1,3 1,6 0.437881,8 0.818882 }\n{ 2 1,6 0.676477,7 0.724635,8 0.755123 }\n'''\n\nwith open('sparse.arff', mode='w') as f:\n    _ = f.write(sparse)\n

In addition, we'll specify that there are several target fields.

arff_stream = stream.iter_arff(\n    'sparse.arff',\n    target=['y0', 'y1', 'y2', 'y3', 'y4', 'y5'],\n    sparse=True\n)\n\nfor x, y in arff_stream:\n    print(x)\n    print(y)\n
{'X0': '0.863382', 'X2': '0.820094'}\n{'y0': 0, 'y1': 0, 'y2': 0, 'y3': '1', 'y4': 0, 'y5': 0}\n{'X0': '0.659761'}\n{'y0': 0, 'y1': 0, 'y2': '1', 'y3': 0, 'y4': 0, 'y5': 0}\n{'X0': '0.437881', 'X2': '0.818882'}\n{'y0': '1', 'y1': 0, 'y2': 0, 'y3': '1', 'y4': 0, 'y5': 0}\n{'X0': '0.676477', 'X1': '0.724635', 'X2': '0.755123'}\n{'y0': 0, 'y1': 0, 'y2': '1', 'y3': 0, 'y4': 0, 'y5': 0}\n

This function can also deal with missing features in non-sparse data. These are indicated with a question mark.

data = '''\n@relation giveMeLoan-weka.filters.unsupervised.attribute.Remove-R1\n@attribute RevolvingUtilizationOfUnsecuredLines numeric\n@attribute age numeric\n@attribute NumberOfTime30-59DaysPastDueNotWorse numeric\n@attribute DebtRatio numeric\n@attribute MonthlyIncome numeric\n@attribute NumberOfOpenCreditLinesAndLoans numeric\n@attribute NumberOfTimes90DaysLate numeric\n@attribute NumberRealEstateLoansOrLines numeric\n@attribute NumberOfTime60-89DaysPastDueNotWorse numeric\n@attribute NumberOfDependents numeric\n@attribute isFraud {0,1}\n@data\n0.213179,74,0,0.375607,3500,3,0,1,0,1,0\n0.305682,57,0,5710,?,8,0,3,0,0,0\n0.754464,39,0,0.20994,3500,8,0,0,0,0,0\n0.116951,27,0,46,?,2,0,0,0,0,0\n0.189169,57,0,0.606291,23684,9,0,4,0,2,0\n'''\n\nwith open('data.arff', mode='w') as f:\n    _ = f.write(data)\n\nfor x, y in stream.iter_arff('data.arff', target='isFraud'):\n    print(len(x))\n
10\n9\n10\n9\n10\n

  1. ARFF format description from Weka \u21a9

"},{"location":"api/stream/iter-array/","title":"iter_array","text":"

Iterates over the rows from an array of features and an array of targets.

This method is intended to work with numpy arrays, but should also work with Python lists.

"},{"location":"api/stream/iter-array/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 np.ndarray

    A 2D array of features. This can also be a 1D array of strings, which can be the case if you're working with text.

  • y

    Type \u2192 np.ndarray | None

    Default \u2192 None

    An optional array of targets.

  • feature_names

    Type \u2192 list[base.typing.FeatureName] | None

    Default \u2192 None

    An optional list of feature names. The features will be labeled with integers if no names are provided.

  • target_names

    Type \u2192 list[base.typing.FeatureName] | None

    Default \u2192 None

    An optional list of output names. The outputs will be labeled with integers if no names are provided. Only applies if there are multiple outputs, i.e. if y is a 2D array.

  • shuffle

    Type \u2192 bool

    Default \u2192 False

    Indicates whether or not to shuffle the input arrays before iterating over them.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for shuffling the data.

"},{"location":"api/stream/iter-array/#examples","title":"Examples","text":"

from river import stream\nimport numpy as np\n\nX = np.array([[1, 2, 3], [11, 12, 13]])\nY = np.array([True, False])\n\ndataset = stream.iter_array(\n    X, Y,\n    feature_names=['x1', 'x2', 'x3']\n)\nfor x, y in dataset:\n    print(x, y)\n
{'x1': 1, 'x2': 2, 'x3': 3} True\n{'x1': 11, 'x2': 12, 'x3': 13} False\n

This also works with a array of texts:

X = [\"foo\", \"bar\"]\ndataset = stream.iter_array(\n    X, Y,\n    feature_names=['x1', 'x2', 'x3']\n)\nfor x, y in dataset:\n    print(x, y)\n
foo True\nbar False\n

"},{"location":"api/stream/iter-csv/","title":"iter_csv","text":"

Iterates over rows from a CSV file.

Reading CSV files can be quite slow. If, for whatever reason, you're going to loop through the same file multiple times, then we recommend that you to use the stream.Cache utility.

"},{"location":"api/stream/iter-csv/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target

    Type \u2192 str | list[str] | None

    Default \u2192 None

    A single target column is assumed if a string is passed. A multiple output scenario is assumed if a list of strings is passed. A None value will be assigned to each y if this parameter is omitted.

  • converters

    Type \u2192 dict | None

    Default \u2192 None

    All values in the CSV are interpreted as strings by default. You can use this parameter to cast values to the desired type. This should be a dict mapping feature names to callables used to parse their associated values. Note that a callable may be a type, such as float and int.

  • parse_dates

    Type \u2192 dict | None

    Default \u2192 None

    A dict mapping feature names to a format passed to the datetime.datetime.strptime method.

  • drop

    Type \u2192 list[str] | None

    Default \u2192 None

    Fields to ignore.

  • drop_nones

    Default \u2192 False

    Whether or not to drop fields where the value is a None.

  • fraction

    Default \u2192 1.0

    Sampling fraction.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    If specified, the sampling will be deterministic.

  • field_size_limit

    Type \u2192 int | None

    Default \u2192 None

    If not None, this will be passed to the csv.field_size_limit function.

  • kwargs

    All other keyword arguments are passed to the underlying csv.DictReader.

"},{"location":"api/stream/iter-csv/#examples","title":"Examples","text":"

Although this function is designed to handle different kinds of inputs, the most common use case is to read a file on the disk. We'll first create a little CSV file to illustrate.

tv_shows = '''name,year,rating\nPlanet Earth II,2016,9.5\nPlanet Earth,2006,9.4\nBand of Brothers,2001,9.4\nBreaking Bad,2008,9.4\nChernobyl,2019,9.4\n'''\nwith open('tv_shows.csv', mode='w') as f:\n    _ = f.write(tv_shows)\n

We can now go through the rows one by one. We can use the converters parameter to cast the rating field value as a float. We can also convert the year to a datetime via the parse_dates parameter.

from river import stream\n\nparams = {\n    'converters': {'rating': float},\n    'parse_dates': {'year': '%Y'}\n}\nfor x, y in stream.iter_csv('tv_shows.csv', **params):\n    print(x, y)\n
{'name': 'Planet Earth II', 'year': datetime.datetime(2016, 1, 1, 0, 0), 'rating': 9.5} None\n{'name': 'Planet Earth', 'year': datetime.datetime(2006, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Band of Brothers', 'year': datetime.datetime(2001, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Breaking Bad', 'year': datetime.datetime(2008, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Chernobyl', 'year': datetime.datetime(2019, 1, 1, 0, 0), 'rating': 9.4} None\n

The value of y is always None because we haven't provided a value for the target parameter. Here is an example where a target is provided:

dataset = stream.iter_csv('tv_shows.csv', target='rating', **params)\nfor x, y in dataset:\n    print(x, y)\n
{'name': 'Planet Earth II', 'year': datetime.datetime(2016, 1, 1, 0, 0)} 9.5\n{'name': 'Planet Earth', 'year': datetime.datetime(2006, 1, 1, 0, 0)} 9.4\n{'name': 'Band of Brothers', 'year': datetime.datetime(2001, 1, 1, 0, 0)} 9.4\n{'name': 'Breaking Bad', 'year': datetime.datetime(2008, 1, 1, 0, 0)} 9.4\n{'name': 'Chernobyl', 'year': datetime.datetime(2019, 1, 1, 0, 0)} 9.4\n

Finally, let's delete the example file.

import os; os.remove('tv_shows.csv')\n
"},{"location":"api/stream/iter-libsvm/","title":"iter_libsvm","text":"

Iterates over a dataset in LIBSVM format.

The LIBSVM format is a popular way in the machine learning community to store sparse datasets. Only numerical feature values are supported. The feature names will be considered as strings.

"},{"location":"api/stream/iter-libsvm/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Type \u2192 str

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target_type

    Default \u2192 <class 'float'>

    The type of the target value.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

"},{"location":"api/stream/iter-libsvm/#examples","title":"Examples","text":"

import io\nfrom river import stream\n\ndata = io.StringIO('''+1 x:-134.26 y:0.2563\n1 x:-12 z:0.3\n-1 y:.25\n''')\n\nfor x, y in stream.iter_libsvm(data, target_type=int):\n    print(y, x)\n
1 {'x': -134.26, 'y': 0.2563}\n1 {'x': -12.0, 'z': 0.3}\n-1 {'y': 0.25}\n

  1. LIBSVM documentation \u21a9

"},{"location":"api/stream/iter-pandas/","title":"iter_pandas","text":"

Iterates over the rows of a pandas.DataFrame.

"},{"location":"api/stream/iter-pandas/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 pd.DataFrame

    A dataframe of features.

  • y

    Type \u2192 pd.Series | pd.DataFrame | None

    Default \u2192 None

    A series or a dataframe with one column per target.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-pandas/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import stream\n\nX = pd.DataFrame({\n    'x1': [1, 2, 3, 4],\n    'x2': ['blue', 'yellow', 'yellow', 'blue'],\n    'y': [True, False, False, True]\n})\ny = X.pop('y')\n\nfor xi, yi in stream.iter_pandas(X, y):\n    print(xi, yi)\n
{'x1': 1, 'x2': 'blue'} True\n{'x1': 2, 'x2': 'yellow'} False\n{'x1': 3, 'x2': 'yellow'} False\n{'x1': 4, 'x2': 'blue'} True\n

"},{"location":"api/stream/iter-polars/","title":"iter_polars","text":"

Iterates over the rows of a polars.DataFrame.

"},{"location":"api/stream/iter-polars/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 pl.DataFrame

    A dataframe of features.

  • y

    Type \u2192 pl.Series | pl.DataFrame | None

    Default \u2192 None

    A series or a dataframe with one column per target.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-polars/#examples","title":"Examples","text":"

import polars as pl\nfrom river import stream\n\nX = pl.DataFrame({\n    'x1': [1, 2, 3, 4],\n    'x2': ['blue', 'yellow', 'yellow', 'blue'],\n    'y': [True, False, False, True]\n})\ny = X.get_column('y')\nX=X.drop(\"y\")\n\nfor xi, yi in stream.iter_polars(X, y):\n    print(xi, yi)\n
{'x1': 1, 'x2': 'blue'} True\n{'x1': 2, 'x2': 'yellow'} False\n{'x1': 3, 'x2': 'yellow'} False\n{'x1': 4, 'x2': 'blue'} True\n

"},{"location":"api/stream/iter-sklearn-dataset/","title":"iter_sklearn_dataset","text":"

Iterates rows from one of the datasets provided by scikit-learn.

This allows you to use any dataset from scikit-learn's datasets module. For instance, you can use the fetch_openml function to get access to all of the datasets from the OpenML website.

"},{"location":"api/stream/iter-sklearn-dataset/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 sklearn.utils.Bunch

    A scikit-learn dataset.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-sklearn-dataset/#examples","title":"Examples","text":"

import pprint\nfrom sklearn import datasets\nfrom river import stream\n\ndataset = datasets.load_diabetes()\n\nfor xi, yi in stream.iter_sklearn_dataset(dataset):\n    pprint.pprint(xi)\n    print(yi)\n    break\n
{'age': 0.038075906433423026,\n 'bmi': 0.061696206518683294,\n 'bp': 0.0218723855140367,\n 's1': -0.04422349842444599,\n 's2': -0.03482076283769895,\n 's3': -0.04340084565202491,\n 's4': -0.002592261998183278,\n 's5': 0.019907486170462722,\n 's6': -0.01764612515980379,\n 'sex': 0.05068011873981862}\n151.0\n

"},{"location":"api/stream/iter-sql/","title":"iter_sql","text":"

Iterates over the results from an SQL query.

By default, SQLAlchemy prefetches results. Therefore, even though you can iterate over the resulting rows one by one, the results are in fact loaded in batch. You can modify this behavior by configuring the connection you pass to iter_sql. For instance, you can set the stream_results parameter to True, as explained in SQLAlchemy's documentation. Note, however, that this isn't available for all database engines.

"},{"location":"api/stream/iter-sql/#parameters","title":"Parameters","text":"
  • query

    Type \u2192 str | sqlalchemy.TextClause | sqlalchemy.Select

    SQL query to be executed.

  • conn

    Type \u2192 sqlalchemy.Connection

    An SQLAlchemy construct which has an execute method. In other words you can pass an engine, a connection, or a session.

  • target_name

    Type \u2192 str | None

    Default \u2192 None

    The name of the target field. If this is None, then y will also be None.

"},{"location":"api/stream/iter-sql/#examples","title":"Examples","text":"

As an example we'll create an in-memory database with SQLAlchemy.

import datetime as dt\nimport sqlalchemy\n\nengine = sqlalchemy.create_engine('sqlite://')\n\nmetadata = sqlalchemy.MetaData()\n\nt_sales = sqlalchemy.Table('sales', metadata,\n    sqlalchemy.Column('shop', sqlalchemy.String, primary_key=True),\n    sqlalchemy.Column('date', sqlalchemy.Date, primary_key=True),\n    sqlalchemy.Column('amount', sqlalchemy.Integer)\n)\n\nmetadata.create_all(engine)\n\nsales = [\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 2), 'amount': 20},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 2), 'amount': 18},\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 3), 'amount': 22},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 3), 'amount': 14},\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 4), 'amount': 12},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 4), 'amount': 16}\n]\n\nwith engine.connect() as conn:\n    _ = conn.execute(t_sales.insert(), sales)\n    conn.commit()\n

We can now query the database. We will set amount to be the target field.

from river import stream\n\nwith engine.connect() as conn:\n    query = sqlalchemy.sql.select(t_sales)\n    dataset = stream.iter_sql(query, conn, target_name='amount')\n    for x, y in dataset:\n        print(x, y)\n
{'shop': 'Hema', 'date': datetime.date(2016, 8, 2)} 20\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 2)} 18\n{'shop': 'Hema', 'date': datetime.date(2016, 8, 3)} 22\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 3)} 14\n{'shop': 'Hema', 'date': datetime.date(2016, 8, 4)} 12\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 4)} 16\n

This also with raw SQL queries.

with engine.connect() as conn:\n    query = \"SELECT * FROM sales WHERE shop = 'Hema'\"\n    dataset = stream.iter_sql(query, conn, target_name='amount')\n    for x, y in dataset:\n        print(x, y)\n
{'shop': 'Hema', 'date': '2016-08-02'} 20\n{'shop': 'Hema', 'date': '2016-08-03'} 22\n{'shop': 'Hema', 'date': '2016-08-04'} 12\n

"},{"location":"api/stream/shuffle/","title":"shuffle","text":"

Shuffles a stream of data.

This works by maintaining a buffer of elements. The first buffer_size elements are stored in memory. Once the buffer is full, a random element inside the buffer is yielded. Every time an element is yielded, the next element in the stream replaces it and the buffer is sampled again. Increasing buffer_size will improve the quality of the shuffling.

If you really want to stream over your dataset in a \"good\" random order, the best way is to split your dataset into smaller datasets and loop over them in a round-robin fashion. You may do this by using the roundrobin recipe from the itertools module.

"},{"location":"api/stream/shuffle/#parameters","title":"Parameters","text":"
  • stream

    Type \u2192 typing.Iterator

    The stream to shuffle.

  • buffer_size

    Type \u2192 int

    The size of the buffer which contains the elements help in memory. Increasing this will increase randomness but will incur more memory usage.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for sampling.

"},{"location":"api/stream/shuffle/#examples","title":"Examples","text":"

from river import stream\n\nfor i in stream.shuffle(range(15), buffer_size=5, seed=42):\n    print(i)\n
0\n5\n2\n1\n8\n9\n6\n4\n11\n12\n10\n7\n14\n13\n3\n

  1. Visualizing TensorFlow's streaming shufflers \u21a9

"},{"location":"api/stream/simulate-qa/","title":"simulate_qa","text":"

Simulate a time-ordered question and answer session.

This method allows looping through a dataset in the order in which it arrived. Indeed, it usually is the case that labels arrive after features. Being able to go through a dataset in arrival order enables assessing a model's performance in a reliable manner. For instance, the evaluate.progressive_val_score is a high-level method that can be used to score a model on a dataset. Under the hood it uses this method to determine the correct arrival order.

"},{"location":"api/stream/simulate-qa/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A stream of (features, target) tuples.

  • moment

    Type \u2192 str | typing.Callable[[dict], dt.datetime] | None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive. If a str is passed, then it will be used to obtain the time from the input features.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    The amount of time to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation. If a scalar is passed, such an int or a datetime.timedelta, then the delay is constant.

  • copy

    Type \u2192 bool

    Default \u2192 True

    If True, then a separate copy of the features are yielded the second time around. This ensures that inadvertent modifications in downstream code don't have any effect.

"},{"location":"api/stream/simulate-qa/#examples","title":"Examples","text":"

The arrival delay isn't usually indicated in a dataset, but it might be able to be inferred from the features. As an example, we'll simulate the departure and arrival time of taxi trips. Let's first create a time table which records the departure time and the duration of seconds of several taxi trips.

import datetime as dt\ntime_table = [\n    (dt.datetime(2020, 1, 1, 20,  0, 0),  900),\n    (dt.datetime(2020, 1, 1, 20, 10, 0), 1800),\n    (dt.datetime(2020, 1, 1, 20, 20, 0),  300),\n    (dt.datetime(2020, 1, 1, 20, 45, 0),  400),\n    (dt.datetime(2020, 1, 1, 20, 50, 0),  240),\n    (dt.datetime(2020, 1, 1, 20, 55, 0),  450)\n]\n

We can now create a streaming dataset where the features are the departure dates and the targets are the durations.

dataset = (\n    ({'date': date}, duration)\n    for date, duration in time_table\n)\n

Now, we can use simulate_qa to iterate over the events in the order in which they are meant to occur.

delay = lambda _, y: dt.timedelta(seconds=y)\n\nfor i, x, y in simulate_qa(dataset, moment='date', delay=delay):\n    if y is None:\n        print(f'{x[\"date\"]} - trip #{i} departs')\n    else:\n        arrival_date = x['date'] + dt.timedelta(seconds=y)\n        print(f'{arrival_date} - trip #{i} arrives after {y} seconds')\n
2020-01-01 20:00:00 - trip #0 departs\n2020-01-01 20:10:00 - trip #1 departs\n2020-01-01 20:15:00 - trip #0 arrives after 900 seconds\n2020-01-01 20:20:00 - trip #2 departs\n2020-01-01 20:25:00 - trip #2 arrives after 300 seconds\n2020-01-01 20:40:00 - trip #1 arrives after 1800 seconds\n2020-01-01 20:45:00 - trip #3 departs\n2020-01-01 20:50:00 - trip #4 departs\n2020-01-01 20:51:40 - trip #3 arrives after 400 seconds\n2020-01-01 20:54:00 - trip #4 arrives after 240 seconds\n2020-01-01 20:55:00 - trip #5 departs\n2020-01-01 21:02:30 - trip #5 arrives after 450 seconds\n

This function is extremely practical because it provides a reliable way to evaluate the performance of a model in a real scenario. Indeed, it allows to make predictions and perform model updates in exactly the same manner that would happen live. For instance, it is used in evaluate.progressive_val_score, which is a higher level function for evaluating models in an online manner.

"},{"location":"api/time-series/ForecastingMetric/","title":"ForecastingMetric","text":""},{"location":"api/time-series/ForecastingMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/HoltWinters/","title":"HoltWinters","text":"

Holt-Winters forecaster.

This is a standard implementation of the Holt-Winters forecasting method. Certain parametrisations result in special cases, such as simple exponential smoothing.

Optimal parameters and initialisation values can be determined in a batch setting. However, in an online setting, it is necessary to wait and observe enough values. The first k = max(2, seasonality) values are indeed used to initialize the components.

Level initialization

\\[l = \\frac{1}{k} \\sum_{i=1}{k} y_i\\]

Trend initialization

\\[t = \\frac{1}{k - 1} \\sum_{i=2}{k} y_i - y_{i-1}\\]

Trend initialization

\\[s_i = \\frac{y_i}{k}\\]"},{"location":"api/time-series/HoltWinters/#parameters","title":"Parameters","text":"
  • alpha

    Smoothing parameter for the level.

  • beta

    Default \u2192 None

    Smoothing parameter for the trend.

  • gamma

    Default \u2192 None

    Smoothing parameter for the seasonality.

  • seasonality

    Default \u2192 0

    The number of periods in a season. For instance, this should be 4 for quarterly data, and 12 for yearly data.

  • multiplicative

    Default \u2192 False

    Whether or not to use a multiplicative formulation.

"},{"location":"api/time-series/HoltWinters/#examples","title":"Examples","text":"

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\ndataset = datasets.AirlinePassengers()\n\nmodel = time_series.HoltWinters(\n    alpha=0.3,\n    beta=0.1,\n    gamma=0.6,\n    seasonality=12,\n    multiplicative=True\n)\n\nmetric = metrics.MAE()\n\ntime_series.evaluate(\n    dataset,\n    model,\n    metric,\n    horizon=12\n)\n
+1  MAE: 25.899087\n+2  MAE: 26.26131\n+3  MAE: 25.735903\n+4  MAE: 25.625678\n+5  MAE: 26.093842\n+6  MAE: 26.90249\n+7  MAE: 28.634398\n+8  MAE: 29.284769\n+9  MAE: 31.018351\n+10 MAE: 32.252349\n+11 MAE: 33.518946\n+12 MAE: 33.975057\n

"},{"location":"api/time-series/HoltWinters/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Exponential smoothing \u2014 Wikipedia \u21a9

  2. Exponential smoothing \u2014 Forecasting: Principles and Practice \u21a9

  3. What is Exponential Smoothing? \u2014 Engineering statistics handbook \u21a9

"},{"location":"api/time-series/HorizonAggMetric/","title":"HorizonAggMetric","text":"

Same as HorizonMetric, but aggregates the result based on an provided function.

This allows, for instance, to measure the average performance of a forecasting model along the horizon.

"},{"location":"api/time-series/HorizonAggMetric/#parameters","title":"Parameters","text":"
  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float]

    A function that takes as input a list of floats and outputs a single float. You may want to min, max, as well as statistics.mean and statistics.median.

"},{"location":"api/time-series/HorizonAggMetric/#examples","title":"Examples","text":"

This is used internally by the time_series.evaluate function when you pass an agg_func.

import statistics\nfrom river import datasets\nfrom river import metrics\nfrom river import time_series\n\nmetric = time_series.evaluate(\n    dataset=datasets.AirlinePassengers(),\n    model=time_series.HoltWinters(alpha=0.1),\n    metric=metrics.MAE(),\n    agg_func=statistics.mean,\n    horizon=4\n)\n\nmetric\n
mean(MAE): 42.901748\n

"},{"location":"api/time-series/HorizonAggMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/HorizonMetric/","title":"HorizonMetric","text":"

Measures performance at each time step ahead.

This allows to measure the performance of a model at each time step along the horizon. A copy of the provided regression metric is made for each time step. At each time step ahead, the metric is thus evaluated on each prediction for said time step, and not for the time steps before or after that.

"},{"location":"api/time-series/HorizonMetric/#parameters","title":"Parameters","text":"
  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

"},{"location":"api/time-series/HorizonMetric/#examples","title":"Examples","text":"

This is used internally by the time_series.evaluate function.

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\nmetric = time_series.evaluate(\n    dataset=datasets.AirlinePassengers(),\n    model=time_series.HoltWinters(alpha=0.1),\n    metric=metrics.MAE(),\n    horizon=4\n)\n\nmetric\n
+1 MAE: 40.931286\n+2 MAE: 42.667998\n+3 MAE: 44.158092\n+4 MAE: 43.849617\n

"},{"location":"api/time-series/HorizonMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/SNARIMAX/","title":"SNARIMAX","text":"

SNARIMAX model.

SNARIMAX stands for (S)easonal (N)on-linear (A)uto(R)egressive (I)ntegrated (M)oving-(A)verage with e(X)ogenous inputs model.

This model generalizes many established time series models in a single interface that can be trained online. It assumes that the provided training data is ordered in time and is uniformly spaced. It is made up of the following components:

  • S (Seasonal)

  • N (Non-linear): Any online regression model can be used, not necessarily a linear regression

    as is done in textbooks. - AR (Autoregressive): Lags of the target variable are used as features.

  • I (Integrated): The model can be fitted on a differenced version of a time series. In this

    context, integration is the reverse of differencing. - MA (Moving average): Lags of the errors are used as features.

  • X (Exogenous): Users can provide additional features. Care has to be taken to include

    features that will be available both at training and prediction time.

Each of these components can be switched on and off by specifying the appropriate parameters. Classical time series models such as AR, MA, ARMA, and ARIMA can thus be seen as special parametrizations of the SNARIMAX model.

This model is tailored for time series that are homoskedastic. In other words, it might not work well if the variance of the time series varies widely along time.

"},{"location":"api/time-series/SNARIMAX/#parameters","title":"Parameters","text":"
  • p

    Type \u2192 int

    Order of the autoregressive part. This is the number of past target values that will be included as features.

  • d

    Type \u2192 int

    Differencing order.

  • q

    Type \u2192 int

    Order of the moving average part. This is the number of past error terms that will be included as features.

  • m

    Type \u2192 int

    Default \u2192 1

    Season length used for extracting seasonal features. If you believe your data has a seasonal pattern, then set this accordingly. For instance, if the data seems to exhibit a yearly seasonality, and that your data is spaced by month, then you should set this to 12. Note that for this parameter to have any impact you should also set at least one of the p, d, and q parameters.

  • sp

    Type \u2192 int

    Default \u2192 0

    Seasonal order of the autoregressive part. This is the number of past target values that will be included as features.

  • sd

    Type \u2192 int

    Default \u2192 0

    Seasonal differencing order.

  • sq

    Type \u2192 int

    Default \u2192 0

    Seasonal order of the moving average part. This is the number of past error terms that will be included as features.

  • regressor

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The online regression model to use. By default, a preprocessing.StandardScaler piped with a linear_model.LinearRegression will be used.

"},{"location":"api/time-series/SNARIMAX/#attributes","title":"Attributes","text":"
  • differencer (Differencer)

  • y_trues (collections.deque)

    The p past target values.

  • errors (collections.deque)

    The q past error values.

"},{"location":"api/time-series/SNARIMAX/#examples","title":"Examples","text":"

import datetime as dt\nfrom river import datasets\nfrom river import time_series\nfrom river import utils\n\nperiod = 12\nmodel = time_series.SNARIMAX(\n    p=period,\n    d=1,\n    q=period,\n    m=period,\n    sd=1\n)\n\nfor t, (x, y) in enumerate(datasets.AirlinePassengers()):\n    model.learn_one(y)\n\nhorizon = 12\nfuture = [\n    {'month': dt.date(year=1961, month=m, day=1)}\n    for m in range(1, horizon + 1)\n]\nforecast = model.forecast(horizon=horizon)\nfor x, y_pred in zip(future, forecast):\n    print(x['month'], f'{y_pred:.3f}')\n
1961-01-01 494.542\n1961-02-01 450.825\n1961-03-01 484.972\n1961-04-01 576.401\n1961-05-01 559.489\n1961-06-01 612.251\n1961-07-01 722.410\n1961-08-01 674.604\n1961-09-01 575.716\n1961-10-01 562.808\n1961-11-01 477.049\n1961-12-01 515.191\n

Classic ARIMA models learn solely on the time series values. You can also include features built at each step.

import calendar\nimport math\nfrom river import compose\nfrom river import linear_model\nfrom river import optim\nfrom river import preprocessing\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}\n\nextract_features = compose.TransformerUnion(\n    get_ordinal_date,\n    get_month_distances\n)\n\nmodel = (\n    extract_features |\n    time_series.SNARIMAX(\n        p=1,\n        d=0,\n        q=0,\n        m=12,\n        sp=3,\n        sq=6,\n        regressor=(\n            preprocessing.StandardScaler() |\n            linear_model.LinearRegression(\n                intercept_init=110,\n                optimizer=optim.SGD(0.01),\n                intercept_lr=0.3\n            )\n        )\n    )\n)\n\nfor x, y in datasets.AirlinePassengers():\n    model.learn_one(x, y)\n\nforecast = model.forecast(horizon=horizon)\nfor x, y_pred in zip(future, forecast):\n    print(x['month'], f'{y_pred:.3f}')\n
1961-01-01 444.821\n1961-02-01 432.612\n1961-03-01 457.739\n1961-04-01 465.544\n1961-05-01 476.575\n1961-06-01 516.255\n1961-07-01 565.405\n1961-08-01 572.470\n1961-09-01 512.645\n1961-10-01 475.919\n1961-11-01 438.033\n1961-12-01 456.892\n

"},{"location":"api/time-series/SNARIMAX/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. ARMA - Wikipedia \u21a9

  2. NARX - Wikipedia \u21a9

  3. ARIMA - Forecasting: Principles and Practice \u21a9

  4. Anava, O., Hazan, E., Mannor, S. and Shamir, O., 2013, June. Online learning for time series prediction. In Conference on learning theory (pp. 172-184) \u21a9

"},{"location":"api/time-series/evaluate/","title":"evaluate","text":"

Evaluates the performance of a forecaster on a time series dataset.

To understand why this method is useful, it's important to understand the difference between nowcasting and forecasting. Nowcasting is about predicting a value at the next time step. This can be seen as a special case of regression, where the value to predict is the value at the next time step. In this case, the evaluate.progressive_val_score function may be used to evaluate a model via progressive validation.

Forecasting models can also be evaluated via progressive validation. This is the purpose of this function. At each time step t, the forecaster is asked to predict the values at t + 1, t + 2, ..., t + horizon. The performance at each time step is measured and returned.

"},{"location":"api/time-series/evaluate/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A sequential time series.

  • model

    Type \u2192 time_series.base.Forecaster

    A forecaster.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • horizon

    Type \u2192 int

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float] | None

    Default \u2192 None

  • grace_period

    Type \u2192 int | None

    Default \u2192 None

    Initial period during which the metric is not updated. This is to fairly evaluate models which need a warming up period to start producing meaningful forecasts. The value of this parameter is equal to the horizon by default.

"},{"location":"api/time-series/iter-evaluate/","title":"iter_evaluate","text":"

Evaluates the performance of a forecaster on a time series dataset and yields results.

This does exactly the same as evaluate.progressive_val_score. The only difference is that this function returns an iterator, yielding results at every step. This can be useful if you want to have control over what you do with the results. For instance, you might want to plot the results.

"},{"location":"api/time-series/iter-evaluate/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A sequential time series.

  • model

    Type \u2192 time_series.base.Forecaster

    A forecaster.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • horizon

    Type \u2192 int

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float] | None

    Default \u2192 None

  • grace_period

    Type \u2192 int | None

    Default \u2192 None

    Initial period during which the metric is not updated. This is to fairly evaluate models which need a warming up period to start producing meaningful forecasts. The value of this parameter is equal to the horizon by default.

"},{"location":"api/time-series/base/Forecaster/","title":"Forecaster","text":""},{"location":"api/time-series/base/Forecaster/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/","title":"ExtremelyFastDecisionTreeClassifier","text":"

Extremely Fast Decision Tree (EFDT) classifier.

Also referred to as the Hoeffding AnyTime Tree (HATT) classifier. In practice, despite the name, EFDTs are typically slower than a vanilla Hoeffding Tree to process data. The speed differences come from the mechanism of split re-evaluation present in EFDT. Nonetheless, EFDT has theoretical properties that ensure it converges faster than the vanilla Hoeffding Tree to the structure that would be created by a batch decision tree model (such as Classification and Regression Trees - CART). Keep in mind that such propositions hold when processing a stationary data stream. When dealing with non-stationary data, EFDT is somewhat robust to concept drifts as it continually revisits and updates its internal decision tree structure. Still, in such cases, the Hoeffind Adaptive Tree might be a better option, as it was specifically designed to handle non-stationarity.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • min_samples_reevaluate

    Type \u2192 int

    Default \u2192 20

    Number of instances a node should observe before reevaluating the best split.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.Agrawal(classification_function=0, seed=42)\ndataset = iter(gen.take(1000))\n\nmodel = tree.ExtremelyFastDecisionTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    nominal_attributes=['elevel', 'car', 'zipcode'],\n    min_samples_reevaluate=100\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 87.29%\n

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Incrementally train the model

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#notes","title":"Notes","text":"

The Extremely Fast Decision Tree (EFDT) 1 constructs a tree incrementally. The EFDT seeks to select and deploy a split as soon as it is confident the split is useful, and then revisits that decision, replacing the split if it subsequently becomes evident that a better split is available. The EFDT learns rapidly from a stationary distribution and eventually it learns the asymptotic batch tree if the distribution from which the data are drawn is stationary.

  1. C. Manapragada, G. Webb, and M. Salehi. Extremely Fast Decision Tree. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18). ACM, New York, NY, USA, 1953-1962. DOI: https://doi.org/10.1145/3219819.3220005\u00a0\u21a9

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/","title":"HoeffdingAdaptiveTreeClassifier","text":"

Hoeffding Adaptive Tree classifier.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • bootstrap_sampling

    Type \u2192 bool

    Default \u2192 True

    If True, perform bootstrap sampling in the leaf nodes.

  • drift_window_threshold

    Type \u2192 int

    Default \u2192 300

    Minimum number of examples an alternate tree must observe before being considered as a potential replacement to the current one.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detector used to build the tree. If None then drift.ADWIN is used.

  • switch_significance

    Type \u2192 float

    Default \u2192 0.05

    The significance level to assess whether alternate subtrees are significantly better than their main subtree counterparts.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_alternate_trees

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • n_pruned_alternate_trees

  • n_switch_alternate_trees

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.ConceptDriftStream(stream=synth.SEA(seed=42, variant=0),\n                               drift_stream=synth.SEA(seed=42, variant=1),\n                               seed=1, position=500, width=50)\ndataset = iter(gen.take(1000))\n\nmodel = tree.HoeffdingAdaptiveTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    leaf_prediction='nb',\n    nb_threshold=10,\n    seed=0\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 91.49%\n

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the model on instance x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#notes","title":"Notes","text":"

The Hoeffding Adaptive Tree 1 uses a drift detector to monitor performance of branches in the tree and to replace them with new branches when their accuracy decreases.

The bootstrap sampling strategy is an improvement over the original Hoeffding Adaptive Tree algorithm. It is enabled by default since, in general, it results in better performance.

  1. Bifet, Albert, and Ricard Gavald\u00e0. \"Adaptive learning from evolving data streams.\" In International Symposium on Intelligent Data Analysis, pp. 249-260. Springer, Berlin, Heidelberg, 2009.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/","title":"HoeffdingAdaptiveTreeRegressor","text":"

Hoeffding Adaptive Tree regressor (HATR).

This class implements a regression version of the Hoeffding Adaptive Tree Classifier. Hence, it also uses an ADWIN concept-drift detector instance at each decision node to monitor possible changes in the data distribution. If a drift is detected in a node, an alternate tree begins to be induced in the background. When enough information is gathered, HATR swaps the node where the change was detected by its alternate tree.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model used to provide responses if leaf_prediction='model'. If not provided an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • bootstrap_sampling

    Type \u2192 bool

    Default \u2192 True

    If True, perform bootstrap sampling in the leaf nodes.

  • drift_window_threshold

    Type \u2192 int

    Default \u2192 300

    Minimum number of examples an alternate tree must observe before being considered as a potential replacement to the current one.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detector used to build the tree. If None then drift.ADWIN is used. Only detectors that support arbitrarily valued continuous data can be used for regression.

  • switch_significance

    Type \u2192 float

    Default \u2192 0.05

    The significance level to assess whether alternate subtrees are significantly better than their main subtree counterparts.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_alternate_trees

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • n_pruned_alternate_trees

  • n_switch_alternate_trees

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    tree.HoeffdingAdaptiveTreeRegressor(\n        grace_period=50,\n        model_selector_decay=0.3,\n        seed=0\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.823026\n

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the tree model on sample x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#notes","title":"Notes","text":"

The Hoeffding Adaptive Tree 1 uses drift detectors to monitor performance of branches in the tree and to replace them with new branches when their accuracy decreases.

The bootstrap sampling strategy is an improvement over the original Hoeffding Adaptive Tree algorithm. It is enabled by default since, in general, it results in better performance.

To cope with ADWIN's requirements of bounded input data, HATR uses a novel error normalization strategy based on the empiral rule of Gaussian distributions. We assume the deviations of the predictions from the expected values follow a normal distribution. Hence, we subject these errors to a min-max normalization assuming that most of the data lies in the \\(\\left[-3\\sigma, 3\\sigma\\right]\\) range. These normalized errors are passed to the ADWIN instances. This is the same strategy used by Adaptive Random Forest Regressor.

  1. Bifet, Albert, and Ricard Gavald\u00e0. \"Adaptive learning from evolving data streams.\" In International Symposium on Intelligent Data Analysis, pp. 249-260. Springer, Berlin, Heidelberg, 2009.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingTreeClassifier/","title":"HoeffdingTreeClassifier","text":"

Hoeffding Tree or Very Fast Decision Tree classifier.

"},{"location":"api/tree/HoeffdingTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/HoeffdingTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.Agrawal(classification_function=0, seed=42)\ndataset = iter(gen.take(1000))\n\nmodel = tree.HoeffdingTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    nominal_attributes=['elevel', 'car', 'zipcode']\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 84.58%\n

"},{"location":"api/tree/HoeffdingTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the model on instance x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingTreeClassifier/#notes","title":"Notes","text":"

A Hoeffding Tree 1 is an incremental, anytime decision tree induction algorithm that is capable of learning from massive data streams, assuming that the distribution generating examples does not change over time. Hoeffding trees exploit the fact that a small sample can often be enough to choose an optimal splitting attribute. This idea is supported mathematically by the Hoeffding bound, which quantifies the number of observations (in our case, examples) needed to estimate some statistics within a prescribed precision (in our case, the goodness of an attribute).

A theoretically appealing feature of Hoeffding Trees not shared by other incremental decision tree learners is that it has sound guarantees of performance. Using the Hoeffding bound one can show that its output is asymptotically nearly identical to that of a non-incremental learner using infinitely many examples. Implementation based on MOA 2.

  1. G. Hulten, L. Spencer, and P. Domingos. Mining time-changing data streams. In KDD\u201901, pages 97\u2013106, San Francisco, CA, 2001. ACM Press.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingTreeRegressor/","title":"HoeffdingTreeRegressor","text":"

Hoeffding Tree regressor.

"},{"location":"api/tree/HoeffdingTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model used to provide responses if leaf_prediction='model'. If not provided an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/HoeffdingTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingTreeRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    tree.HoeffdingTreeRegressor(\n        grace_period=100,\n        model_selector_decay=0.9\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.793345\n

"},{"location":"api/tree/HoeffdingTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the tree model on sample x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingTreeRegressor/#notes","title":"Notes","text":"

The Hoeffding Tree Regressor (HTR) is an adaptation of the incremental tree algorithm of the same name for classification. Similarly to its classification counterpart, HTR uses the Hoeffding bound to control its split decisions. Differently from the classification algorithm, HTR relies on calculating the reduction of variance in the target space to decide among the split candidates. The smallest the variance at its leaf nodes, the more homogeneous the partitions are. At its leaf nodes, HTR fits either linear models or uses the target average as the predictor.

"},{"location":"api/tree/SGTClassifier/","title":"SGTClassifier","text":"

Stochastic Gradient Tree1 for binary classification.

Binary decision tree classifier that minimizes the binary cross-entropy to guide its growth.

Stochastic Gradient Trees (SGT) directly minimize a loss function to guide tree growth and update their predictions. Thus, they differ from other incrementally tree learners that do not directly optimize the loss, but data impurity-related heuristics.

"},{"location":"api/tree/SGTClassifier/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Define the significance level of the F-tests performed to decide upon creating splits or updating predictions.

  • grace_period

    Type \u2192 int

    Default \u2192 200

    Interval between split attempts or prediction updates.

  • init_pred

    Type \u2192 float

    Default \u2192 0.0

    Initial value predicted by the tree.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the tree might reach. If set to None, the trees will grow indefinitely.

  • lambda_value

    Type \u2192 float

    Default \u2192 0.1

    Positive float value used to impose a penalty over the tree's predictions and force them to become smaller. The greater the lambda value, the more constrained are the predictions.

  • gamma

    Type \u2192 float

    Default \u2192 1.0

    Positive float value used to impose a penalty over the tree's splits and force them to be avoided when possible. The greater the gamma value, the smaller the chance of a split occurring.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List with identifiers of the nominal attributes. If None, all features containing numbers are assumed to be numeric.

  • feature_quantizer

    Type \u2192 tree.splitter.Quantizer | None

    Default \u2192 None

    The algorithm used to quantize numeric features. Either a static quantizer (as in the original implementation) or a dynamic quantizer can be used. The correct choice and setup of the feature quantizer is a crucial step to determine the performance of SGTs. Feature quantizers are akin to the attribute observers used in Hoeffding Trees. By default, an instance of tree.splitter.StaticQuantizer (with default parameters) is used if this parameter is not set.

"},{"location":"api/tree/SGTClassifier/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_node_updates

  • n_nodes

  • n_observations

  • n_splits

"},{"location":"api/tree/SGTClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Phishing()\nmodel = tree.SGTClassifier(\n    feature_quantizer=tree.splitter.StaticQuantizer(\n        n_bins=32, warm_start=10\n    )\n)\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 82.24%\n

"},{"location":"api/tree/SGTClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/SGTRegressor/","title":"SGTRegressor","text":"

Stochastic Gradient Tree for regression.

Incremental decision tree regressor that minimizes the mean square error to guide its growth.

Stochastic Gradient Trees (SGT) directly minimize a loss function to guide tree growth and update their predictions. Thus, they differ from other incrementally tree learners that do not directly optimize the loss, but a data impurity-related heuristic.

"},{"location":"api/tree/SGTRegressor/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Define the significance level of the F-tests performed to decide upon creating splits or updating predictions.

  • grace_period

    Type \u2192 int

    Default \u2192 200

    Interval between split attempts or prediction updates.

  • init_pred

    Type \u2192 float

    Default \u2192 0.0

    Initial value predicted by the tree.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the tree might reach. If set to None, the trees will grow indefinitely.

  • lambda_value

    Type \u2192 float

    Default \u2192 0.1

    Positive float value used to impose a penalty over the tree's predictions and force them to become smaller. The greater the lambda value, the more constrained are the predictions.

  • gamma

    Type \u2192 float

    Default \u2192 1.0

    Positive float value used to impose a penalty over the tree's splits and force them to be avoided when possible. The greater the gamma value, the smaller the chance of a split occurring.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List with identifiers of the nominal attributes. If None, all features containing numbers are assumed to be numeric.

  • feature_quantizer

    Type \u2192 tree.splitter.Quantizer | None

    Default \u2192 None

    The algorithm used to quantize numeric features. Either a static quantizer (as in the original implementation) or a dynamic quantizer can be used. The correct choice and setup of the feature quantizer is a crucial step to determine the performance of SGTs. Feature quantizers are akin to the attribute observers used in Hoeffding Trees. By default, an instance of tree.splitter.StaticQuantizer (with default parameters) is used if this parameter is not set.

"},{"location":"api/tree/SGTRegressor/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_node_updates

  • n_nodes

  • n_observations

  • n_splits

"},{"location":"api/tree/SGTRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.TrumpApproval()\nmodel = tree.SGTRegressor(\n    delta=0.01,\n    lambda_value=0.01,\n    grace_period=20,\n    feature_quantizer=tree.splitter.DynamicQuantizer(std_prop=0.1)\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.721818\n

"},{"location":"api/tree/SGTRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/tree/SGTRegressor/#notes","title":"Notes","text":"

This implementation enhances the original proposal 1 by using an incremental strategy to discretize numerical features dynamically, rather than relying on a calibration set and parameterized number of bins. The strategy used is an adaptation of the Quantization Observer (QO) 2. Different bin size setting policies are available for selection. They directly related to number of split candidates the tree is going to explore, and thus, how accurate its split decisions are going to be. Besides, the number of stored bins per feature is directly related to the tree's memory usage and runtime.

  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

  2. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/iSOUPTreeRegressor/","title":"iSOUPTreeRegressor","text":"

Incremental Structured Output Prediction Tree (iSOUP-Tree) for multi-target regression.

This is an implementation of the iSOUP-Tree proposed by A. Osojnik, P. Panov, and S. D\u017eeroski 1.

"},{"location":"api/tree/iSOUPTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | dict | None

    Default \u2192 None

    The regression model(s) used to provide responses if leaf_prediction='model'. It can be either a regressor (in which case it is going to be replicated to all the targets) or a dictionary whose keys are target identifiers, and the values are instances of base.Regressor.If not provided, instances of [linear_model.LinearRegression`](../../linear-model/LinearRegression) with the default hyperparameters are used for all the targets. If a dictionary is passed and not all target models are specified, copies from the first model match in the dictionary will be used to the remaining targets.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/iSOUPTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/iSOUPTreeRegressor/#examples","title":"Examples","text":"

import numbers\nfrom river import compose\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import tree\n\ndataset = datasets.SolarFlare()\n\nnum = compose.SelectType(numbers.Number) | preprocessing.MinMaxScaler()\ncat = compose.SelectType(str) | preprocessing.OneHotEncoder()\n\nmodel = tree.iSOUPTreeRegressor(\n    grace_period=100,\n    leaf_prediction='model',\n    leaf_model={\n        'c-class-flares': linear_model.LinearRegression(l2=0.02),\n        'm-class-flares': linear_model.PARegressor(),\n        'x-class-flares': linear_model.LinearRegression(l2=0.1)\n    }\n)\n\npipeline = (num + cat) | model\nmetric = metrics.multioutput.MicroAverage(metrics.MAE())\n\nevaluate.progressive_val_score(dataset, pipeline, metric)\n
MicroAverage(MAE): 0.426177\n

"},{"location":"api/tree/iSOUPTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Incrementally train the model with one sample.

Training tasks: * If the tree is empty, create a leaf node as the root. * If the tree is already initialized, find the corresponding leaf for the instance and update the leaf node statistics. * If growth is allowed and the number of instances that the leaf has observed between split attempts exceed the grace period then attempt to split.

Parameters

  • x
  • y
  • w \u2014 'float' \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

  1. Alja\u017e Osojnik, Pan\u010de Panov, and Sa\u0161o D\u017eeroski. \"Tree-based methods for online multi-target regression.\" Journal of Intelligent Information Systems 50.2 (2018): 315-339.\u00a0\u21a9

"},{"location":"api/tree/base/Branch/","title":"Branch","text":"

A generic tree branch.

"},{"location":"api/tree/base/Branch/#parameters","title":"Parameters","text":"
  • children

    Child branches and/or leaves.

"},{"location":"api/tree/base/Branch/#attributes","title":"Attributes","text":"
  • height

    Distance to the deepest descendant.

  • n_branches

    Number of branches, including thyself.

  • n_leaves

    Number of leaves.

  • n_nodes

    Number of descendants, including thyself.

  • repr_split

    String representation of the split.

"},{"location":"api/tree/base/Branch/#methods","title":"Methods","text":"iter_bfs

Iterate over nodes in breadth-first order.

iter_branches

Iterate over branches in depth-first order.

iter_dfs

Iterate over nodes in depth-first order.

iter_edges

Iterate over edges in depth-first order.

iter_leaves

Iterate over leaves from the left-most one to the right-most one.

most_common_path

Return a tuple with the branch index and the child node related to the most traversed path.

Used in case the split feature is missing from an instance.

next

Move to the next node down the tree.

Parameters

  • x

to_dataframe

Build a DataFrame containing one record for each node.

traverse

Return the leaf corresponding to the given input.

Parameters

  • x
  • until_leaf \u2014 defaults to True

walk

Iterate over the nodes of the path induced by x.

Parameters

  • x
  • until_leaf \u2014 defaults to True

"},{"location":"api/tree/base/Leaf/","title":"Leaf","text":"

A generic tree node.

"},{"location":"api/tree/base/Leaf/#parameters","title":"Parameters","text":"
  • kwargs

    Each provided keyword argument is stored in the leaf as an attribute.

"},{"location":"api/tree/base/Leaf/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_nodes

"},{"location":"api/tree/base/Leaf/#methods","title":"Methods","text":"iter_branches iter_dfs iter_edges iter_leaves walk"},{"location":"api/tree/splitter/DynamicQuantizer/","title":"DynamicQuantizer","text":"

Adapted version of the Quantizer Observer (QO)1 that is applied to Stochastic Gradient Trees (SGT).

This feature quantizer starts by partitioning the inputs using the passed radius value. As more splits are created in the SGTs, new feature quantizers will use std * std_prop as the quantization radius. In the expression, std represents the standard deviation of the input data, which is calculated incrementally.

"},{"location":"api/tree/splitter/DynamicQuantizer/#parameters","title":"Parameters","text":"
  • radius

    Type \u2192 float

    Default \u2192 0.5

    The initial quantization radius.

  • std_prop

    Type \u2192 float

    Default \u2192 0.25

    The proportion of the standard deviation that is going to be used to define the radius value for new quantizer instances following the initial one.

"},{"location":"api/tree/splitter/DynamicQuantizer/#methods","title":"Methods","text":"update
  1. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/splitter/EBSTSplitter/","title":"EBSTSplitter","text":"

iSOUP-Tree's Extended Binary Search Tree (E-BST).

This class implements the Extended Binary Search Tree1 (E-BST) structure, using the variant employed by Osojnik et al.2 in the iSOUP-Tree algorithm. This structure is employed to observe the target space distribution.

Proposed along with Fast Incremental Model Tree with Drift Detection1 (FIMT-DD), E-BST was the first attribute observer (AO) proposed for incremental Hoeffding Tree regressors. This AO works by storing all observations between splits in an extended binary search tree structure. E-BST stores the input feature realizations and statistics of the target(s) that enable calculating the split heuristic at any time. To alleviate time and memory costs, E-BST implements a memory management routine, where the worst split candidates are pruned from the binary tree.

In this variant, only the left branch statistics are stored and the complete split-enabling statistics are calculated with an in-order traversal of the binary search tree.

"},{"location":"api/tree/splitter/EBSTSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/EBSTSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Not implemented in regression splitters.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

remove_bad_splits

Remove bad splits.

Based on FIMT-DD's 1 procedure to remove bad split candidates from the E-BST. This mechanism is triggered every time a split attempt fails. The rationale is to remove points whose split merit is much worse than the best candidate overall (for which the growth decision already failed). Let \\(m_1\\) be the merit of the best split point and \\(m_2\\) be the merit of the second best split candidate. The ratio \\(r = m_2/m_1\\) along with the Hoeffding bound (\\(\\epsilon\\)) are used to decide upon creating a split. A split occurs when \\(r < 1 - \\epsilon\\). A split candidate, with merit \\(m_i\\), is considered badr if \\(m_i / m_1 < r - 2\\epsilon\\). The rationale is the following: if the merit ratio for this point is smaller than the lower bound of \\(r\\), then the true merit of that split relative to the best one is small. Hence, this candidate can be safely removed. To avoid excessive and costly manipulations of the E-BST to update the stored statistics, only the nodes whose children are all bad split points are pruned, as defined in 1.

Parameters

  • criterion
  • last_check_ratio \u2014 'float'
  • last_check_vr \u2014 'float'
  • last_check_e \u2014 'float'
  • pre_split_dist \u2014 'list | dict'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Ikonomovska, E., Gama, J., & D\u017eeroski, S. (2011). Learning model trees from evolving data streams. Data mining and knowledge discovery, 23(1), 128-168.\u00a0\u21a9\u21a9\u21a9\u21a9

  2. Osojnik, Alja\u017e. 2017. Structured output prediction on Data Streams (Doctoral Dissertation) \u21a9

"},{"location":"api/tree/splitter/ExhaustiveSplitter/","title":"ExhaustiveSplitter","text":"

Numeric attribute observer for classification tasks that is based on a Binary Search Tree.

This algorithm1 is also referred to as exhaustive attribute observer, since it ends up storing all the observations between split attempts2.

This splitter cannot perform probability density estimations, so it does not work well when coupled with tree leaves using naive bayes models.

"},{"location":"api/tree/splitter/ExhaustiveSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/ExhaustiveSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

The underlying data structure used to monitor the input does not allow probability density estimations. Hence, it always returns zero for any given input.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Domingos, P. and Hulten, G., 2000, August. Mining high-speed data streams. In Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 71-80).\u00a0\u21a9

  2. Pfahringer, B., Holmes, G. and Kirkby, R., 2008, May. Handling numeric attributes in hoeffding trees. In Pacific-Asia Conference on Knowledge Discovery and Data Mining (pp. 296-307). Springer, Berlin, Heidelberg.\u00a0\u21a9

"},{"location":"api/tree/splitter/GaussianSplitter/","title":"GaussianSplitter","text":"

Numeric attribute observer for classification tasks that is based on Gaussian estimators.

The distribution of each class is approximated using a Gaussian distribution. Hence, the probability density function can be easily calculated.

"},{"location":"api/tree/splitter/GaussianSplitter/#parameters","title":"Parameters","text":"
  • n_splits

    Type \u2192 int

    Default \u2192 10

    The number of partitions to consider when querying for split candidates.

"},{"location":"api/tree/splitter/GaussianSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/GaussianSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/HistogramSplitter/","title":"HistogramSplitter","text":"

Numeric attribute observer for classification tasks that discretizes features using histograms.

"},{"location":"api/tree/splitter/HistogramSplitter/#parameters","title":"Parameters","text":"
  • n_bins

    Type \u2192 int

    Default \u2192 256

    The maximum number of bins in the histogram.

  • n_splits

    Type \u2192 int

    Default \u2192 32

    The number of split points to evaluate when querying for the best split candidate.

"},{"location":"api/tree/splitter/HistogramSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/HistogramSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/QOSplitter/","title":"QOSplitter","text":"

Quantization observer (QO).

This splitter utilizes a hash-based quantization algorithm to keep track of the target statistics and evaluate split candidates. QO, relies on the radius parameter to define discretization intervals for each incoming feature. Split candidates are defined as the midpoints between two consecutive hash slots. Both binary splits and multi-way splits can be created by this attribute observer. This class implements the algorithm described in 1.

The smaller the quantization radius, the more hash slots will be created to accommodate the discretized data. Hence, both the running time and memory consumption increase, but the resulting splits ought to be closer to the ones obtained by a batch exhaustive approach. On the other hand, if the radius is too large, fewer slots will be created, less memory and running time will be required, but at the cost of coarse split suggestions.

QO assumes that all features have the same range. It is always advised to scale the features to apply this splitter. That can be done using the preprocessing module. A good \"rule of thumb\" is to scale data using preprocessing.StandardScaler and define the radius as a proportion of the features' standard deviation. For instance, the default radius value would correspond to one quarter of the normalized features' standard deviation (since the scaled data has zero mean and unit variance). If the features come from normal distributions, by following the empirical rule, roughly 32 hash slots will be created.

"},{"location":"api/tree/splitter/QOSplitter/#parameters","title":"Parameters","text":"
  • radius

    Type \u2192 float

    Default \u2192 0.25

    The quantization radius. QO discretizes the incoming feature in intervals of equal length that are defined by this parameter.

  • allow_multiway_splits

    Default \u2192 False

    Whether or not allow that multiway splits are evaluated. Numeric multi-way splits use the same quantization strategy of QO to create multiple tree branches. The same quantization radius is used, and each stored slot represents the split enabling statistics of one branch.

"},{"location":"api/tree/splitter/QOSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/QOSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/splitter/Quantizer/","title":"Quantizer","text":"

Base class for the feature quantizers used in Stochastic Gradient Trees1.

"},{"location":"api/tree/splitter/Quantizer/#methods","title":"Methods","text":"update
  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/splitter/Splitter/","title":"Splitter","text":"

Base class for the tree splitters.

Each Attribute Observer (AO) or Splitter monitors one input feature and finds the best split point for this attribute. AOs can also perform other tasks related to the monitored feature, such as estimating its probability density function (classification case).

This class should not be instantiated, as none of its methods are implemented.

"},{"location":"api/tree/splitter/Splitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/Splitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/StaticQuantizer/","title":"StaticQuantizer","text":"

Quantization strategy originally used in Stochastic Gradient Trees (SGT)1.

Firstly, a buffer of size warm_start is stored. The data stored in the buffer is then used to quantize the input feature into n_bins intervals. These intervals will be replicated to every new quantizer. Feature values lying outside of the limits defined by the initial buffer will be mapped to the head or tail of the list of intervals.

"},{"location":"api/tree/splitter/StaticQuantizer/#parameters","title":"Parameters","text":"
  • n_bins

    Type \u2192 int

    Default \u2192 64

    The number of bins (intervals) to divide the input feature.

  • warm_start

    Type \u2192 int

    Default \u2192 100

    The number of observations used to initialize the quantization intervals.

  • buckets

    Type \u2192 list | None

    Default \u2192 None

    This parameter is only used internally by the quantizer, so it must not be set. Once the intervals are defined, new instances of this quantizer will receive the quantization information via this parameter.

"},{"location":"api/tree/splitter/StaticQuantizer/#methods","title":"Methods","text":"update
  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/splitter/TEBSTSplitter/","title":"TEBSTSplitter","text":"

Truncated E-BST.

Variation of E-BST that rounds the incoming feature values before passing them to the binary search tree (BST). By doing so, the attribute observer might reduce its processing time and memory usage since small variations in the input values will end up being mapped to the same BST node.

"},{"location":"api/tree/splitter/TEBSTSplitter/#parameters","title":"Parameters","text":"
  • digits

    Type \u2192 int

    Default \u2192 1

    The number of decimal places used to round the input feature values.

"},{"location":"api/tree/splitter/TEBSTSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/TEBSTSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Not implemented in regression splitters.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

remove_bad_splits

Remove bad splits.

Based on FIMT-DD's [^1] procedure to remove bad split candidates from the E-BST. This mechanism is triggered every time a split attempt fails. The rationale is to remove points whose split merit is much worse than the best candidate overall (for which the growth decision already failed). Let \\(m_1\\) be the merit of the best split point and \\(m_2\\) be the merit of the second best split candidate. The ratio \\(r = m_2/m_1\\) along with the Hoeffding bound (\\(\\epsilon\\)) are used to decide upon creating a split. A split occurs when \\(r < 1 - \\epsilon\\). A split candidate, with merit \\(m_i\\), is considered badr if \\(m_i / m_1 < r - 2\\epsilon\\). The rationale is the following: if the merit ratio for this point is smaller than the lower bound of \\(r\\), then the true merit of that split relative to the best one is small. Hence, this candidate can be safely removed. To avoid excessive and costly manipulations of the E-BST to update the stored statistics, only the nodes whose children are all bad split points are pruned, as defined in [^1].

Parameters

  • criterion
  • last_check_ratio \u2014 'float'
  • last_check_vr \u2014 'float'
  • last_check_e \u2014 'float'
  • pre_split_dist \u2014 'list | dict'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/utils/Rolling/","title":"Rolling","text":"

A generic wrapper for performing rolling computations.

This can be wrapped around any object which implements both an update and a revert method. Inputs to update are stored in a queue. Elements of the queue are popped when the window is full.

"},{"location":"api/utils/Rolling/#parameters","title":"Parameters","text":"
  • obj

    Type \u2192 Rollable

    An object that implements both an update method and a rollingmethod.

  • window_size

    Type \u2192 int

    Size of the window.

"},{"location":"api/utils/Rolling/#attributes","title":"Attributes","text":"
  • window_size
"},{"location":"api/utils/Rolling/#examples","title":"Examples","text":"

For instance, here is how you can compute a rolling average over a window of size 3:

from river import stats, utils\n\nX = [1, 3, 5, 7]\nrmean = utils.Rolling(stats.Mean(), window_size=3)\n\nfor x in X:\n    rmean.update(x)\n    print(rmean.get())\n
1.0\n2.0\n3.0\n5.0\n

"},{"location":"api/utils/Rolling/#methods","title":"Methods","text":"update"},{"location":"api/utils/SortedWindow/","title":"SortedWindow","text":"

Sorted running window data structure.

"},{"location":"api/utils/SortedWindow/#parameters","title":"Parameters","text":"
  • size

    Type \u2192 int

    Size of the window to compute the rolling quantile.

"},{"location":"api/utils/SortedWindow/#attributes","title":"Attributes","text":"
  • size
"},{"location":"api/utils/SortedWindow/#examples","title":"Examples","text":"

from river import utils\n\nwindow = utils.SortedWindow(size=3)\n\nfor i in reversed(range(9)):\n    print(window.append(i))\n
[8]\n[7, 8]\n[6, 7, 8]\n[5, 6, 7]\n[4, 5, 6]\n[3, 4, 5]\n[2, 3, 4]\n[1, 2, 3]\n[0, 1, 2]\n

"},{"location":"api/utils/SortedWindow/#methods","title":"Methods","text":"
  1. Left sorted inserts in Python \u21a9

"},{"location":"api/utils/TimeRolling/","title":"TimeRolling","text":"

A generic wrapper for performing time rolling computations.

This can be wrapped around any object which implements both an update and a revert method. Inputs to update are stored in a queue. Elements of the queue are popped when they are too old.

"},{"location":"api/utils/TimeRolling/#parameters","title":"Parameters","text":"
  • obj

    Type \u2192 Rollable

    An object that implements both an update method and a rollingmethod.

  • period

    Type \u2192 dt.timedelta

    A duration of time, expressed as a datetime.timedelta.

"},{"location":"api/utils/TimeRolling/#examples","title":"Examples","text":"

For instance, here is how you can compute a rolling average over a period of 3 days:

from river import stats, utils\n\nX = {\n    dt.datetime(2019, 1, 1): 1,\n    dt.datetime(2019, 1, 2): 5,\n    dt.datetime(2019, 1, 3): 9,\n    dt.datetime(2019, 1, 4): 13\n}\n\nrmean = utils.TimeRolling(stats.Mean(), period=dt.timedelta(days=3))\nfor t, x in X.items():\n    rmean.update(x, t=t)\n    print(rmean.get())\n
1.0\n3.0\n5.0\n9.0\n

"},{"location":"api/utils/TimeRolling/#methods","title":"Methods","text":"update"},{"location":"api/utils/VectorDict/","title":"VectorDict","text":""},{"location":"api/utils/VectorDict/#methods","title":"Methods","text":"abs clear get

Parameters

  • key
  • args
  • kwargs

items

keys

max

maximum

Parameters

  • other

min

minimum

Parameters

  • other

pop

Parameters

  • args
  • kwargs

popitem

setdefault

Parameters

  • key
  • args
  • kwargs

to_dict

to_numpy

Parameters

  • fields

update

Parameters

  • args
  • kwargs

values

with_mask

Parameters

  • mask
  • copy \u2014 defaults to False

"},{"location":"api/utils/expand-param-grid/","title":"expand_param_grid","text":"

Expands a grid of parameters.

This method can be used to generate a list of model parametrizations from a dictionary where each parameter is associated with a list of possible parameters. In other words, it expands a grid of parameters.

Typically, this method can be used to create copies of a given model with different parameter choices. The models can then be used as part of a model selection process, such as a selection.SuccessiveHalvingClassifier or a selection.EWARegressor.

The syntax for the parameter grid is quite flexible. It allows nesting parameters and can therefore be used to generate parameters for a pipeline.

"},{"location":"api/utils/expand-param-grid/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Estimator

  • grid

    Type \u2192 dict

    The grid of parameters to expand. The provided dictionary can be nested. The only requirement is that the values at the leaves need to be lists.

"},{"location":"api/utils/expand-param-grid/#examples","title":"Examples","text":"

As an initial example, we can expand a grid of parameters for a single model.

from river import linear_model\nfrom river import optim\nfrom river import utils\n\nmodel = linear_model.LinearRegression()\n\ngrid = {'optimizer': [optim.SGD(.1), optim.SGD(.01), optim.SGD(.001)]}\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
3\n

models[0]\n
LinearRegression (\n  optimizer=SGD (\n    lr=Constant (\n      learning_rate=0.1\n    )\n  )\n  loss=Squared ()\n  l2=0.\n  l1=0.\n  intercept_init=0.\n  intercept_lr=Constant (\n    learning_rate=0.01\n  )\n  clip_gradient=1e+12\n  initializer=Zeros ()\n)\n

You can expand parameters for multiple choices like so:

grid = {\n    'optimizer': [\n        (optim.SGD, {'lr': [.1, .01, .001]}),\n        (optim.Adam, {'lr': [.1, .01, .01]})\n    ]\n}\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
6\n

You may specify a grid of parameters for a pipeline via nesting:

from river import feature_extraction\n\nmodel = (\n    feature_extraction.BagOfWords() |\n    linear_model.LinearRegression()\n)\n\ngrid = {\n    'BagOfWords': {\n        'strip_accents': [False, True]\n    },\n    'LinearRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01]}),\n            (optim.Adam, {'lr': [.1, .01]})\n        ]\n    }\n}\n\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
8\n

"},{"location":"api/utils/log-method-calls/","title":"log_method_calls","text":"

A context manager to log method calls.

All method calls will be logged by default. This behavior can be overriden by passing filtering functions.

"},{"location":"api/utils/log-method-calls/#parameters","title":"Parameters","text":"
  • class_condition

    Type \u2192 typing.Callable[[typing.Any], bool] | None

    Default \u2192 None

    A function which determines if a class should be logged or not.

  • method_condition

    Type \u2192 typing.Callable[[typing.Any], bool] | None

    Default \u2192 None

    A function which determines if a method should be logged or not.

"},{"location":"api/utils/log-method-calls/#examples","title":"Examples","text":"

import io\nimport logging\nfrom river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import preprocessing\nfrom river import utils\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.HalfSpaceTrees(seed=42)\n)\n\nclass_condition = lambda x: x.__class__.__name__ in ('MinMaxScaler', 'HalfSpaceTrees')\n\nlogger = logging.getLogger()\nlogger.setLevel(logging.DEBUG)\n\nlogs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.CreditCard().take(1):\n        score = model.score_one(x)\n        model.learn_one(x)\n\nprint(logs.getvalue())\n
MinMaxScaler.transform_one\nHalfSpaceTrees.score_one\nMinMaxScaler.learn_one\nMinMaxScaler.transform_one\nHalfSpaceTrees.learn_one\n

logs.close()\n
"},{"location":"api/utils/math/argmax/","title":"argmax","text":"

Argmax function.

"},{"location":"api/utils/math/argmax/#parameters","title":"Parameters","text":"
  • lst

    Type \u2192 list

"},{"location":"api/utils/math/chain-dot/","title":"chain_dot","text":"

Returns the dot product of multiple vectors represented as dicts.

"},{"location":"api/utils/math/chain-dot/#parameters","title":"Parameters","text":"
  • xs
"},{"location":"api/utils/math/chain-dot/#examples","title":"Examples","text":"

from river import utils\n\nx = {'x0': 1, 'x1': 2, 'x2': 1}\ny = {'x1': 21, 'x2': 3}\nz = {'x1': 2, 'x2': 1 / 3}\n\nutils.math.chain_dot(x, y, z)\n
85.0\n

"},{"location":"api/utils/math/clamp/","title":"clamp","text":"

Clamp a number.

This is a synonym of clipping.

"},{"location":"api/utils/math/clamp/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

  • minimum

    Default \u2192 0.0

  • maximum

    Default \u2192 1.0

"},{"location":"api/utils/math/dot/","title":"dot","text":"

Returns the dot product of two vectors represented as dicts.

"},{"location":"api/utils/math/dot/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 dict

  • y

    Type \u2192 dict

"},{"location":"api/utils/math/dot/#examples","title":"Examples","text":"

from river import utils\n\nx = {'x0': 1, 'x1': 2}\ny = {'x1': 21, 'x2': 3}\n\nutils.math.dot(x, y)\n
42\n

"},{"location":"api/utils/math/dotvecmat/","title":"dotvecmat","text":"

Vector times matrix from left side, i.e. transpose(x)A.

"},{"location":"api/utils/math/dotvecmat/#parameters","title":"Parameters","text":"
  • x

  • A

"},{"location":"api/utils/math/dotvecmat/#examples","title":"Examples","text":"

from river import utils\n\nx = {0: 4, 1: 5}\n\nA = {\n    (0, 0): 0, (0, 1): 1,\n    (1, 0): 2, (1, 1): 3\n}\n\nC = utils.math.dotvecmat(x, A)\nprint(C)\n
{0: 10.0, 1: 19.0}\n

"},{"location":"api/utils/math/log-sum-2-exp/","title":"log_sum_2_exp","text":"

Computation of log( (e^a + e^b) / 2) in an overflow-proof way

"},{"location":"api/utils/math/log-sum-2-exp/#parameters","title":"Parameters","text":"
  • a

    Type \u2192 float

    First number

  • b

    Type \u2192 float

    Second number

"},{"location":"api/utils/math/matmul2d/","title":"matmul2d","text":"

Multiplication for 2D matrices.

"},{"location":"api/utils/math/matmul2d/#parameters","title":"Parameters","text":"
  • A

  • B

"},{"location":"api/utils/math/matmul2d/#examples","title":"Examples","text":"

import pprint\nfrom river import utils\n\nA = {\n    (0, 0): 2, (0, 1): 0, (0, 2): 4,\n    (1, 0): 5, (1, 1): 6, (1, 2): 0\n}\n\nB = {\n    (0, 0): 1, (0, 1): 1, (0, 2): 0, (0, 3): 0,\n    (1, 0): 2, (1, 1): 0, (1, 2): 1, (1, 3): 3,\n    (2, 0): 4, (2, 1): 0, (2, 2): 0, (2, 3): 0\n}\n\nC = utils.math.matmul2d(A, B)\npprint.pprint(C)\n
{(0, 0): 18.0,\n    (0, 1): 2.0,\n    (0, 2): 0.0,\n    (0, 3): 0.0,\n    (1, 0): 17.0,\n    (1, 1): 5.0,\n    (1, 2): 6.0,\n    (1, 3): 18.0}\n

"},{"location":"api/utils/math/minkowski-distance/","title":"minkowski_distance","text":"

Minkowski distance.

"},{"location":"api/utils/math/minkowski-distance/#parameters","title":"Parameters","text":"
  • a

    Type \u2192 dict

  • b

    Type \u2192 dict

  • p

    Type \u2192 int

    Parameter for the Minkowski distance. When p=1, this is equivalent to using the Manhattan distance. When p=2, this is equivalent to using the Euclidean distance.

"},{"location":"api/utils/math/norm/","title":"norm","text":"

Compute the norm of a dictionaries values.

"},{"location":"api/utils/math/norm/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 dict

  • order

    Default \u2192 None

"},{"location":"api/utils/math/outer/","title":"outer","text":"

Outer-product between two vectors.

"},{"location":"api/utils/math/outer/#parameters","title":"Parameters","text":"
  • u

    Type \u2192 dict

  • v

    Type \u2192 dict

"},{"location":"api/utils/math/outer/#examples","title":"Examples","text":"

import pprint\nfrom river import utils\n\nu = dict(enumerate((1, 2, 3)))\nv = dict(enumerate((2, 4, 8)))\n\nuTv = utils.math.outer(u, v)\npprint.pprint(uTv)\n
{(0, 0): 2,\n    (0, 1): 4,\n    (0, 2): 8,\n    (1, 0): 4,\n    (1, 1): 8,\n    (1, 2): 16,\n    (2, 0): 6,\n    (2, 1): 12,\n    (2, 2): 24}\n

"},{"location":"api/utils/math/prod/","title":"prod","text":"

Product function.

"},{"location":"api/utils/math/prod/#parameters","title":"Parameters","text":"
  • iterable
"},{"location":"api/utils/math/sherman-morrison/","title":"sherman_morrison","text":"

Sherman-Morrison formula.

This is an inplace function.

"},{"location":"api/utils/math/sherman-morrison/#parameters","title":"Parameters","text":"
  • A

    Type \u2192 np.ndarray

  • u

    Type \u2192 np.ndarray

  • v

    Type \u2192 np.ndarray

  1. Fast rank-one updates to matrix inverse? \u2014 Tim Vieira \u21a9

"},{"location":"api/utils/math/sigmoid/","title":"sigmoid","text":"

Sigmoid function.

"},{"location":"api/utils/math/sigmoid/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

"},{"location":"api/utils/math/sign/","title":"sign","text":"

Sign function.

"},{"location":"api/utils/math/sign/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

"},{"location":"api/utils/math/softmax/","title":"softmax","text":"

Normalizes a dictionary of predicted probabilities, in-place.

"},{"location":"api/utils/math/softmax/#parameters","title":"Parameters","text":"
  • y_pred

    Type \u2192 dict

"},{"location":"api/utils/math/woodbury-matrix/","title":"woodbury_matrix","text":"

Woodbury matrix identity.

This is an inplace function.

"},{"location":"api/utils/math/woodbury-matrix/#parameters","title":"Parameters","text":"
  • A

    Type \u2192 np.ndarray

  • U

    Type \u2192 np.ndarray

  • V

    Type \u2192 np.ndarray

  1. Matrix inverse mini-batch updates \u2014 Max Halford \u21a9

"},{"location":"api/utils/norm/normalize-values-in-dict/","title":"normalize_values_in_dict","text":"

Normalize the values in a dictionary using the given factor.

For each element in the dictionary, applies value/factor.

"},{"location":"api/utils/norm/normalize-values-in-dict/#parameters","title":"Parameters","text":"
  • dictionary

    Dictionary to normalize.

  • factor

    Default \u2192 None

    Normalization factor value. If not set, use the sum of values.

  • inplace

    Default \u2192 True

    If True, perform operation in-place

  • raise_error

    Default \u2192 False

    In case the normalization factor is either 0 or None: - True: raise an error. - False: return gracefully (if inplace=False, a copy of) dictionary.

"},{"location":"api/utils/norm/scale-values-in-dict/","title":"scale_values_in_dict","text":"

Scale the values in a dictionary.

For each element in the dictionary, applies value * multiplier.

"},{"location":"api/utils/norm/scale-values-in-dict/#parameters","title":"Parameters","text":"
  • dictionary

    Dictionary to scale.

  • multiplier

    Scaling value.

  • inplace

    Default \u2192 True

    If True, perform operation in-place

"},{"location":"api/utils/pretty/humanize-bytes/","title":"humanize_bytes","text":"

Returns a human-friendly byte size.

"},{"location":"api/utils/pretty/humanize-bytes/#parameters","title":"Parameters","text":"
  • n_bytes

    Type \u2192 int

"},{"location":"api/utils/pretty/print-table/","title":"print_table","text":"

Pretty-prints a table.

"},{"location":"api/utils/pretty/print-table/#parameters","title":"Parameters","text":"
  • headers

    Type \u2192 list[str]

    The column names.

  • columns

    Type \u2192 list[list[str]]

    The column values.

  • order

    Type \u2192 list[int] | None

    Default \u2192 None

    Order in which to print the column the values. Defaults to the order in which the values are given.

"},{"location":"api/utils/random/exponential/","title":"exponential","text":"

Sample a random value from a Poisson distribution.

"},{"location":"api/utils/random/exponential/#parameters","title":"Parameters","text":"
  • rate

    Type \u2192 float

    Default \u2192 1.0

  • rng

    Default \u2192 <module 'random' from '/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/random.py'>

  1. Wikipedia article \u21a9

"},{"location":"api/utils/random/poisson/","title":"poisson","text":"

Sample a random value from a Poisson distribution.

"},{"location":"api/utils/random/poisson/#parameters","title":"Parameters","text":"
  • rate

    Type \u2192 float

  • rng

    Default \u2192 <module 'random' from '/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/random.py'>

[^1] Wikipedia article

"},{"location":"benchmarks/Binary%20classification/","title":"Binary classification","text":"TableChart Model Dataset Accuracy F1 Memory in Mb Time in s ADWIN Bagging Bananas 0.625967 0.448218 0.400658 942.73 ADWIN Bagging Elec2 0.823773 0.776587 0.598438 8970.15 ADWIN Bagging Phishing 0.893515 0.879201 1.31008 568.218 ADWIN Bagging SMTP 0.999685 0 0.164217 8006.78 ALMA Bananas 0.506415 0.482595 0.0029211 68.9731 ALMA Elec2 0.906427 0.889767 0.00435829 836.498 ALMA Phishing 0.8256 0.810764 0.0045805 29.7613 ALMA SMTP 0.764986 0.00178548 0.00309372 1361.61 AdaBoost Bananas 0.677864 0.645041 0.453154 876.714 AdaBoost Elec2 0.880581 0.858687 13.5424 10153.7 AdaBoost Phishing 0.878303 0.863555 0.873312 552.609 AdaBoost SMTP 0.999443 0.404494 1.33633 6617.5 Adaptive Random Forest Bananas 0.88696 0.871707 15.3551 2603.02 Adaptive Random Forest Elec2 0.876608 0.852391 22.3949 12397.6 Adaptive Random Forest Phishing 0.907926 0.896116 4.10291 743.377 Adaptive Random Forest SMTP 0.999685 0 0.327095 11543.4 Aggregated Mondrian Forest Bananas 0.889413 0.874249 17.2377 2954.75 Aggregated Mondrian Forest Elec2 0.849904 0.819731 287.315 18206.6 Aggregated Mondrian Forest Phishing 0.904724 0.892112 3.39106 807.573 Aggregated Mondrian Forest SMTP 0.999863 0.734694 0.211749 5848.87 Bagging Bananas 0.634082 0.459437 0.703124 1170.85 Bagging Elec2 0.840436 0.80208 2.28896 13164.5 Bagging Phishing 0.893515 0.879201 1.38826 633.136 Bagging SMTP 0.999685 0 0.207971 8814.84 Hoeffding Adaptive Tree Bananas 0.616531 0.42825 0.0618467 163.516 Hoeffding Adaptive Tree Elec2 0.821258 0.787344 0.435328 2980.69 Hoeffding Adaptive Tree Phishing 0.874299 0.856095 0.142962 77.865 Hoeffding Adaptive Tree SMTP 0.999685 0 0.0241137 2094.95 Hoeffding Tree Bananas 0.642197 0.503405 0.0594654 93.5302 Hoeffding Tree Elec2 0.795635 0.750834 0.938466 1485.98 Hoeffding Tree Phishing 0.879904 0.860595 0.132719 54.2758 Hoeffding Tree SMTP 0.999685 0 0.0170441 1543.56 Leveraging Bagging Bananas 0.828269 0.802689 3.23571 2747.95 Leveraging Bagging Elec2 0.892653 0.871966 7.56535 18763.3 Leveraging Bagging Phishing 0.894315 0.877323 4.0114 1619.65 Leveraging Bagging SMTP 0.999674 0 0.164603 17549.6 Logistic regression Bananas 0.543208 0.197015 0.00424099 82.0689 Logistic regression Elec2 0.822144 0.777086 0.005373 953.54 Logistic regression Phishing 0.8872 0.871233 0.00556469 29.2066 Logistic regression SMTP 0.999769 0.421053 0.00438309 1531.37 Naive Bayes Bananas 0.61521 0.413912 0.0140247 97.154 Naive Bayes Elec2 0.728741 0.603785 0.0510378 1230.66 Naive Bayes Phishing 0.884708 0.871429 0.05723 38.528 Naive Bayes SMTP 0.993484 0.0490798 0.0201406 1826.47 Stacking Bananas 0.876203 0.859649 19.1946 5236.84 Stacking Elec2 0.885458 0.864157 40.7547 22944.4 Stacking Phishing 0.895116 0.882722 8.72124 2411.41 Stacking SMTP 0.999685 0 4.88868 24733.2 Streaming Random Patches Bananas 0.871674 0.854265 10.5381 3551.41 Streaming Random Patches Elec2 0.868884 0.843009 107.322 22969 Streaming Random Patches Phishing 0.913531 0.901996 6.59559 1436.69 Streaming Random Patches SMTP 0.999685 0 0.17817 18142.3 Voting Bananas 0.872617 0.849162 4.58403 2790.97 Voting Elec2 0.84368 0.797958 5.7575 13925.5 Voting Phishing 0.896717 0.884512 4.8203 1436.72 Voting SMTP 0.999779 0.487805 4.60205 18069.8 Vowpal Wabbit logistic regression Bananas 0.551321 0 0.000646591 88.7248 Vowpal Wabbit logistic regression Elec2 0.697475 0.459592 0.000646591 937.011 Vowpal Wabbit logistic regression Phishing 0.7736 0.669778 0.000646591 27.8334 Vowpal Wabbit logistic regression SMTP 0.999695 0.121212 0.000646591 1631.37 [baseline] Last Class Bananas 0.50953 0.452957 0.000510216 30.809 [baseline] Last Class Elec2 0.853303 0.827229 0.000510216 341.39 [baseline] Last Class Phishing 0.515612 0.447489 0.000510216 11.9196 [baseline] Last Class SMTP 0.999601 0.366667 0.000510216 532.359 k-Nearest Neighbors Bananas 0.885073 0.870838 4.50996 2974.33 k-Nearest Neighbors Elec2 0.853148 0.823642 4.76604 13503.4 k-Nearest Neighbors Phishing 0.881505 0.867145 4.59643 1552.65 k-Nearest Neighbors SMTP 0.999821 0.666667 4.51822 17961.1 sklearn SGDClassifier Bananas 0.546415 0.205026 0.00557804 621.426 sklearn SGDClassifier Elec2 0.819099 0.772892 0.00680161 4291.77 sklearn SGDClassifier Phishing 0.8896 0.876122 0.00701618 167.984 sklearn SGDClassifier SMTP 0.999706 0.363636 0.00574303 7118.18

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.490566037735849, \"F1\": 0.3414634146341463, \"Memory in Mb\": 0.0041875839233398, \"Time in s\": 0.00989 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5141509433962265, \"F1\": 0.3832335329341317, \"Memory in Mb\": 0.0041875839233398, \"Time in s\": 0.123413 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5220125786163522, \"F1\": 0.4242424242424242, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.315017 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165094339622641, \"F1\": 0.4023323615160349, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.5849610000000001 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5320754716981132, \"F1\": 0.3641025641025641, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.937213 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.3287671232876712, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 1.342505 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5525606469002695, \"F1\": 0.3054393305439331, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 1.895068 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5530660377358491, \"F1\": 0.2808349146110057, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 2.518365 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.2587412587412587, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 3.1930270000000003 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5622641509433962, \"F1\": 0.2418300653594771, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 3.938137 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5608919382504288, \"F1\": 0.2242424242424242, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 4.7351090000000005 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5613207547169812, \"F1\": 0.2206703910614525, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 5.600857 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5645863570391872, \"F1\": 0.20844327176781, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 6.476079 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5646900269541779, \"F1\": 0.1965174129353233, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 7.428853 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5647798742138365, \"F1\": 0.1858823529411764, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 8.473991 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5660377358490566, \"F1\": 0.1785714285714285, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 9.59319 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.562708102108768, \"F1\": 0.1705263157894736, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 10.745503 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5587002096436059, \"F1\": 0.1679841897233201, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 11.962335 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5516385302879842, \"F1\": 0.1662049861495844, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 13.252336 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5495283018867925, \"F1\": 0.1688424717145344, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 14.603624 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5485175202156334, \"F1\": 0.1809290953545232, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 15.981958 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5484562607204116, \"F1\": 0.1967963386727688, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 17.395643 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5471698113207547, \"F1\": 0.1999999999999999, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 18.850781 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479559748427673, \"F1\": 0.2166212534059945, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 20.422045 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5452830188679245, \"F1\": 0.2260757867694284, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 22.049363 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5395500725689405, \"F1\": 0.2285714285714285, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 23.763248 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5391334730957372, \"F1\": 0.230005837711617, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 25.51638 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5411051212938005, \"F1\": 0.2261363636363636, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 27.316788000000003 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5403383214053351, \"F1\": 0.2214876033057851, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 29.124189 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5437106918238994, \"F1\": 0.2203116603976356, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 31.016333000000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5450395617772368, \"F1\": 0.21604614577871, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 32.984057 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5439268867924528, \"F1\": 0.2127226463104325, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 35.003757 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5457404230989137, \"F1\": 0.2082710513203786, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 37.068178 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5480022197558269, \"F1\": 0.2042012701514411, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 39.232173 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.546900269541779, \"F1\": 0.1991424487851357, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 41.450117000000006 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5463836477987422, \"F1\": 0.1945090739879013, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 43.72876300000001 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474247832738399, \"F1\": 0.1906064751481988, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 46.072390000000006 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.547914597815293, \"F1\": 0.1866904868244752, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 48.42327300000001 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548137397194001, \"F1\": 0.1828521434820647, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 50.870554000000006 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474056603773585, \"F1\": 0.1788617886178861, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 53.39424700000001 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5476300046019328, \"F1\": 0.176716917922948, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 55.939767 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5498652291105122, \"F1\": 0.1820408163265306, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 58.584779000000005 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467310223782361, \"F1\": 0.1814580031695721, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 61.26661800000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5465265866209262, \"F1\": 0.1880998080614203, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 64.04445700000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467505241090147, \"F1\": 0.1908682634730538, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 66.91140200000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5469647251845775, \"F1\": 0.1911387770047601, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 69.84398600000002 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5469690887193898, \"F1\": 0.1976537504443654, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 72.84582100000002 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5448113207547169, \"F1\": 0.1958333333333333, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 75.85667200000002 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5429341547939931, \"F1\": 0.1941615750169721, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 78.94956300000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5432075471698113, \"F1\": 0.1970149253731343, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 82.06889500000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7980132450331126, \"F1\": 0.7834319526627219, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 0.687155 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8134657836644592, \"F1\": 0.7488855869242199, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 2.092465 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8024282560706402, \"F1\": 0.7300150829562596, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 4.064074 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8192604856512141, \"F1\": 0.7598093142647598, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 6.824807 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8289183222958058, \"F1\": 0.7613181398213735, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 10.234028 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8226637233259749, \"F1\": 0.7528205128205128, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 14.344314 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8229265216020183, \"F1\": 0.7589611504614724, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 19.167838 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8261589403973509, \"F1\": 0.7617246596066566, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 24.744494 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8318616629874908, \"F1\": 0.7833096254148886, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 31.081721 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8375275938189846, \"F1\": 0.7975797579757975, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 38.163875 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8377483443708609, \"F1\": 0.802008081302804, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 45.915004 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400478292862399, \"F1\": 0.8089220964729151, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 54.352834 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8432671081677704, \"F1\": 0.8127789046653143, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 63.489549 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419268369599495, \"F1\": 0.8117547648108159, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 73.399178 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8437821927888153, \"F1\": 0.8167141500474834, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 84.03825400000001 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8447157836644592, \"F1\": 0.8189204408334004, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 95.414959 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8464485131801065, \"F1\": 0.8201110519510155, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 107.55183300000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411822418444935, \"F1\": 0.812780106982796, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 120.38661500000002 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397234808876496, \"F1\": 0.8069954529555788, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 133.99787400000002 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419426048565122, \"F1\": 0.80987785448752, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 148.356557 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8451066961000736, \"F1\": 0.8115849370244869, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 163.518734 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8428155729480232, \"F1\": 0.8097637986520129, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 179.395561 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8393799788847298, \"F1\": 0.805689404934688, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 196.009478 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8402777777777778, \"F1\": 0.8036632935722765, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 213.342445 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8394701986754967, \"F1\": 0.8009198423127463, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 231.348647 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8357106469689252, \"F1\": 0.7954545454545454, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 250.064916 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8330471752105306, \"F1\": 0.791441119395363, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 269.489469 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8298249763481551, \"F1\": 0.7872875092387287, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 289.628629 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8304407398949532, \"F1\": 0.787745962170661, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 310.508458 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8308682855040471, \"F1\": 0.7889638709085066, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 332.12320800000003 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8277077547532579, \"F1\": 0.7843678980437593, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 354.49968 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8270212472406181, \"F1\": 0.7820039121930016, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 377.655941 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8260418757107498, \"F1\": 0.780872129766168, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 401.520333 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8258992338657317, \"F1\": 0.7797807251673304, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 426.09085 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.821286660359508, \"F1\": 0.7731294287201249, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 451.387139 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8188619082658818, \"F1\": 0.7700093428838368, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 477.46355 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8168963665652408, \"F1\": 0.7682024169184289, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 504.189667 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8143952596723597, \"F1\": 0.7647795037915042, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 531.635688 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8142016188373804, \"F1\": 0.7627822944896115, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 559.807066 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8154801324503311, \"F1\": 0.7629984051036682, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 588.709839 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.815161794002046, \"F1\": 0.7614481273017858, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 618.344034 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8151476926311363, \"F1\": 0.7609596955073744, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 648.6306599999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8162379998973254, \"F1\": 0.7631274195149389, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 679.6980239999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8169275536825206, \"F1\": 0.7661946562439931, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 711.4719719999999 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8186656855531028, \"F1\": 0.7707241432780277, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 743.966698 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8201602840963624, \"F1\": 0.7745390006918749, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 777.181242 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211920529801324, \"F1\": 0.7763613934089174, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 811.063029 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8216979396615158, \"F1\": 0.7772863051470587, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 845.685827 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211695274136145, \"F1\": 0.7754109027129481, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 881.122534 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8221412803532009, \"F1\": 0.7771292633675417, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 917.330239 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8221442443502824, \"F1\": 0.7770862722319033, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 953.539999 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.005087 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7499999999999999, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.014273 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.8, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.080154 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.81, \"F1\": 0.8041237113402061, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.160529 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.7933884297520661, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.244823 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8066666666666666, \"F1\": 0.8079470198675497, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.373717 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8171428571428572, \"F1\": 0.8072289156626506, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.564558 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.815, \"F1\": 0.8042328042328043, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.765703 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8133333333333334, \"F1\": 0.7980769230769231, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.969796 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.82, \"F1\": 0.8068669527896996, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 1.176844 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8218181818181818, \"F1\": 0.8078431372549019, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.38745 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8161764705882353, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.62648 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.84, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.940615 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514285714285714, \"F1\": 0.8278145695364238, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.281543 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.848, \"F1\": 0.8213166144200628, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.625835 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.85, \"F1\": 0.8214285714285715, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.973623 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8564705882352941, \"F1\": 0.825214899713467, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 3.357502 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86, \"F1\": 0.8273972602739726, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 3.744344 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8568421052631578, \"F1\": 0.8247422680412371, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 4.182096 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.858, \"F1\": 0.8297362110311751, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 4.631479 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8251748251748252, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 5.084116 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8581818181818182, \"F1\": 0.827433628318584, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 5.539997 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8608695652173913, \"F1\": 0.8305084745762712, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 6.065522 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.865, \"F1\": 0.8329896907216495, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 6.594884 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672, \"F1\": 0.8323232323232322, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 7.192367999999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8707692307692307, \"F1\": 0.8390804597701149, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 7.814115999999999 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8711111111111111, \"F1\": 0.8426763110307414, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 8.439065999999999 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8757142857142857, \"F1\": 0.8465608465608465, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 9.067184 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8772413793103448, \"F1\": 0.8514190317195326, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 9.744984 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786666666666667, \"F1\": 0.8539325842696629, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 10.426391 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8549141965678626, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 11.153806 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8567164179104476, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 11.884597 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8579626972740315, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 12.619003 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8811764705882353, \"F1\": 0.8587412587412586, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 13.411056 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8845714285714286, \"F1\": 0.8622100954979536, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 14.234524 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844444444444445, \"F1\": 0.8617021276595744, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 15.105192999999998 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864864864864865, \"F1\": 0.8655569782330347, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 15.990264999999996 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8852631578947369, \"F1\": 0.8655980271270037, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 16.878196999999997 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861538461538462, \"F1\": 0.8664259927797834, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 17.769031 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.887, \"F1\": 0.8675263774912075, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 18.72316 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8868292682926829, \"F1\": 0.8678815489749431, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 19.680949 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8885714285714286, \"F1\": 0.8704318936877077, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 20.642059 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8874418604651163, \"F1\": 0.8703108252947481, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 21.642509 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.889090909090909, \"F1\": 0.8723849372384936, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 22.64645 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8897777777777778, \"F1\": 0.8742393509127788, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 23.715816 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895652173913043, \"F1\": 0.8738828202581926, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 24.78868 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8885106382978724, \"F1\": 0.872444011684518, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 25.864657 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8891666666666667, \"F1\": 0.8729703915950333, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 26.968066 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.889795918367347, \"F1\": 0.8737137511693172, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 28.075126 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8872, \"F1\": 0.8712328767123287, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 29.206647 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1.174944 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 3.465965 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 6.937403 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 11.610183 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 17.462392 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 24.519273 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 32.784706 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996715712033633, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 42.234241 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080632918784, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 52.882453 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 64.622668 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999761142693355, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 77.568109 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997810474689088, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 91.771967 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997978899713004, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 107.109486 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999774791682306, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 123.681834 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898055701524, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 141.369945 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999802942722018, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 160.23044 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999814534326605, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 180.239632 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999824837975127, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 201.318948 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998340570290676, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 223.519273 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998423541776142, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 246.976714 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498611215374, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 271.56812399999995 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999856685616013, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 297.295844 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998629166761864, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 324.2115329999999 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686284813452, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 352.27523699999995 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998738833420916, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 381.597104 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998787339827804, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 412.116627 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998443004223352, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 443.867429 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498611215374, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 476.838798 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999855038324243, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 510.9819989999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997022245577158, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 546.274013 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997118302171444, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 582.6678519999999 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997208355228586, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 620.2082039999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999697447411583, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 658.8625569999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997063460171248, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 698.5852799999999 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997147361309212, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 739.3620329999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934664564724, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 781.2563779999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999701751146838, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 824.198222 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997095998008684, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 868.202086 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997170459598204, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 913.268811 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999724119810825, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 959.416173 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997308485959268, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1006.608919 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1054.85163 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997433672658838, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1104.06085 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997491998280228, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1154.258062 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997547731651778, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1205.371532 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999760104183326, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1257.4462130000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997540277948592, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1310.5048250000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997591522157996, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1364.5437910000005 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997640674767015, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1419.4942320000002 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997687861271676, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1475.4318390000003 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997688007062088, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1531.3705140000004 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7047619047619048, \"F1\": 0.6990291262135924, \"Memory in Mb\": 0.8133068084716797, \"Time in s\": 0.833499 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7867298578199052, \"F1\": 0.7668393782383419, \"Memory in Mb\": 1.3378009796142578, \"Time in s\": 2.8663 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8233438485804416, \"F1\": 0.806896551724138, \"Memory in Mb\": 1.855398178100586, \"Time in s\": 6.250927 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8392434988179669, \"F1\": 0.8229166666666667, \"Memory in Mb\": 2.3226680755615234, \"Time in s\": 11.143336 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8412098298676749, \"F1\": 0.8181818181818182, \"Memory in Mb\": 2.776212692260742, \"Time in s\": 17.797124 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8488188976377953, \"F1\": 0.8267148014440434, \"Memory in Mb\": 3.173288345336914, \"Time in s\": 26.396562 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8596491228070176, \"F1\": 0.8359621451104102, \"Memory in Mb\": 3.5500621795654297, \"Time in s\": 36.969223 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8677685950413223, \"F1\": 0.8461538461538461, \"Memory in Mb\": 3.917997360229492, \"Time in s\": 49.692848 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8730325288562435, \"F1\": 0.8515337423312884, \"Memory in Mb\": 4.238534927368164, \"Time in s\": 64.631677 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772426817752597, \"F1\": 0.8549107142857144, \"Memory in Mb\": 4.491437911987305, \"Time in s\": 81.765253 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772532188841202, \"F1\": 0.8557013118062564, \"Memory in Mb\": 4.809717178344727, \"Time in s\": 101.295253 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772619984264359, \"F1\": 0.8566176470588236, \"Memory in Mb\": 5.171953201293945, \"Time in s\": 123.161687 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8779956427015251, \"F1\": 0.8561643835616438, \"Memory in Mb\": 5.501619338989258, \"Time in s\": 147.513883 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8813216453135536, \"F1\": 0.860759493670886, \"Memory in Mb\": 5.80189323425293, \"Time in s\": 174.53874199999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8785399622404028, \"F1\": 0.8579838116261957, \"Memory in Mb\": 6.17225456237793, \"Time in s\": 204.250002 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8790560471976401, \"F1\": 0.8585231193926847, \"Memory in Mb\": 6.45002555847168, \"Time in s\": 237.091398 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8806218767351471, \"F1\": 0.8613797549967763, \"Memory in Mb\": 6.703157424926758, \"Time in s\": 272.83416 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8783429470372313, \"F1\": 0.8602409638554217, \"Memory in Mb\": 7.075212478637695, \"Time in s\": 311.419605 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777943368107303, \"F1\": 0.8607021517553795, \"Memory in Mb\": 7.409914016723633, \"Time in s\": 352.79492 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8791882963662104, \"F1\": 0.8636847710330138, \"Memory in Mb\": 7.730207443237305, \"Time in s\": 397.065386 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8782022471910113, \"F1\": 0.8626457171819564, \"Memory in Mb\": 8.068941116333008, \"Time in s\": 444.302777 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777348777348777, \"F1\": 0.8621190130624092, \"Memory in Mb\": 8.392999649047852, \"Time in s\": 494.454577 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8781288469429627, \"F1\": 0.8624363131079205, \"Memory in Mb\": 8.738908767700195, \"Time in s\": 547.433225 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8784899724734565, \"F1\": 0.8635761589403974, \"Memory in Mb\": 9.069158554077148, \"Time in s\": 603.367304 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8799546998867497, \"F1\": 0.8654822335025381, \"Memory in Mb\": 9.38022804260254, \"Time in s\": 661.971994 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8820326678765881, \"F1\": 0.8676171079429736, \"Memory in Mb\": 9.675683975219728, \"Time in s\": 723.088894 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8836071303739951, \"F1\": 0.86905230043256, \"Memory in Mb\": 10.005556106567385, \"Time in s\": 786.780009 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8840579710144928, \"F1\": 0.8691019786910198, \"Memory in Mb\": 10.283010482788086, \"Time in s\": 853.0146269999999 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8831760494630654, \"F1\": 0.8683535020168683, \"Memory in Mb\": 10.632661819458008, \"Time in s\": 921.667133 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8858131487889274, \"F1\": 0.8707725169099323, \"Memory in Mb\": 10.90281867980957, \"Time in s\": 992.810764 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8852359208523592, \"F1\": 0.8696854476322157, \"Memory in Mb\": 11.200468063354492, \"Time in s\": 1066.389204 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8849896785608965, \"F1\": 0.87017310252996, \"Memory in Mb\": 11.512235641479492, \"Time in s\": 1142.442462 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8864741206748642, \"F1\": 0.8712293220888745, \"Memory in Mb\": 11.797895431518556, \"Time in s\": 1221.036812 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8878712184290869, \"F1\": 0.8721518987341771, \"Memory in Mb\": 12.102933883666992, \"Time in s\": 1302.125963 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8878403882448099, \"F1\": 0.8725490196078431, \"Memory in Mb\": 12.41331672668457, \"Time in s\": 1385.838182 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889646133682831, \"F1\": 0.8746650788925276, \"Memory in Mb\": 12.665735244750977, \"Time in s\": 1472.135343 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8885488395817394, \"F1\": 0.8730758059831543, \"Memory in Mb\": 13.002767562866213, \"Time in s\": 1561.047711 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872609883287808, \"F1\": 0.8714609286523215, \"Memory in Mb\": 13.407987594604492, \"Time in s\": 1652.580672 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8874909266876361, \"F1\": 0.8717241379310345, \"Memory in Mb\": 13.751871109008787, \"Time in s\": 1746.8148660000002 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8886529841943854, \"F1\": 0.8731864588930682, \"Memory in Mb\": 13.96497917175293, \"Time in s\": 1843.750561 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8895281933256617, \"F1\": 0.8742138364779874, \"Memory in Mb\": 14.240518569946287, \"Time in s\": 1943.403214 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8890137047854415, \"F1\": 0.8735926305015352, \"Memory in Mb\": 14.605810165405272, \"Time in s\": 2045.776976 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8894009216589862, \"F1\": 0.874439461883408, \"Memory in Mb\": 14.917993545532228, \"Time in s\": 2150.6554650000003 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8893416255629423, \"F1\": 0.8748180494905387, \"Memory in Mb\": 15.239774703979492, \"Time in s\": 2258.064088 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8880268400083875, \"F1\": 0.8729176582579724, \"Memory in Mb\": 15.67698097229004, \"Time in s\": 2367.913167 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8888205128205128, \"F1\": 0.8733644859813083, \"Memory in Mb\": 15.96486473083496, \"Time in s\": 2480.267593 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889580405541056, \"F1\": 0.8746010031919745, \"Memory in Mb\": 16.210702896118164, \"Time in s\": 2595.134509 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8891291527422842, \"F1\": 0.8740509155873157, \"Memory in Mb\": 16.543100357055664, \"Time in s\": 2712.434229 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8894665896398999, \"F1\": 0.8743982494529539, \"Memory in Mb\": 16.87101936340332, \"Time in s\": 2832.294496 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889413096810719, \"F1\": 0.8742489270386266, \"Memory in Mb\": 17.23769187927246, \"Time in s\": 2954.746773 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8662983425414365, \"F1\": 0.8638920134983127, \"Memory in Mb\": 5.093213081359863, \"Time in s\": 9.961559 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895637769188294, \"F1\": 0.863013698630137, \"Memory in Mb\": 9.274415016174316, \"Time in s\": 34.997891 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737578211262422, \"F1\": 0.8433074463225217, \"Memory in Mb\": 14.81954288482666, \"Time in s\": 77.180768 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8746894838531604, \"F1\": 0.8451568894952252, \"Memory in Mb\": 20.35789203643799, \"Time in s\": 135.799753 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.869728416869066, \"F1\": 0.8295782784517621, \"Memory in Mb\": 25.320820808410645, \"Time in s\": 209.048681 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8658693652253909, \"F1\": 0.8254728273880776, \"Memory in Mb\": 30.94210529327393, \"Time in s\": 297.509476 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8613783314934553, \"F1\": 0.8220287507592631, \"Memory in Mb\": 36.922226905822754, \"Time in s\": 401.254404 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8563543535255967, \"F1\": 0.8144715736945286, \"Memory in Mb\": 42.8322229385376, \"Time in s\": 518.853069 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8547773825585674, \"F1\": 0.8211480362537765, \"Memory in Mb\": 49.13461780548096, \"Time in s\": 650.61595 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564963020200905, \"F1\": 0.8276776246023331, \"Memory in Mb\": 54.27480792999268, \"Time in s\": 797.031608 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8559959859508279, \"F1\": 0.830478440637921, \"Memory in Mb\": 59.58850955963135, \"Time in s\": 957.298151 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.858522675006899, \"F1\": 0.8360690684289065, \"Memory in Mb\": 64.43849277496338, \"Time in s\": 1132.655012 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8588774730406725, \"F1\": 0.8365138697619515, \"Memory in Mb\": 69.77676105499268, \"Time in s\": 1321.3849659999998 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8572892848695104, \"F1\": 0.8352148579752368, \"Memory in Mb\": 75.08023929595947, \"Time in s\": 1522.77491 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8577525940098609, \"F1\": 0.8380665158750105, \"Memory in Mb\": 79.94311618804932, \"Time in s\": 1737.870186 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8584339427388755, \"F1\": 0.8393863494051347, \"Memory in Mb\": 84.43613529205322, \"Time in s\": 1968.10555 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8584507499513019, \"F1\": 0.8387335404645658, \"Memory in Mb\": 89.24470615386963, \"Time in s\": 2211.432474 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8561354019746121, \"F1\": 0.8352296670880741, \"Memory in Mb\": 95.6551637649536, \"Time in s\": 2468.910492 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8563295183872655, \"F1\": 0.8333445649976414, \"Memory in Mb\": 100.85075855255128, \"Time in s\": 2740.76049 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8570009382416248, \"F1\": 0.834176, \"Memory in Mb\": 106.8406229019165, \"Time in s\": 3026.823297 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.858712220762155, \"F1\": 0.8348082595870207, \"Memory in Mb\": 111.7458429336548, \"Time in s\": 3325.548438 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8587125583262255, \"F1\": 0.8363361618040218, \"Memory in Mb\": 117.0202569961548, \"Time in s\": 3636.553219 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564572635216202, \"F1\": 0.8339348176114596, \"Memory in Mb\": 123.3725290298462, \"Time in s\": 3960.554229 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8540219840868325, \"F1\": 0.8286917098445596, \"Memory in Mb\": 130.42929553985596, \"Time in s\": 4298.210438 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531944015188309, \"F1\": 0.8264160793526494, \"Memory in Mb\": 136.64212131500244, \"Time in s\": 4650.500753 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8528550201655699, \"F1\": 0.8255134917438581, \"Memory in Mb\": 142.6701021194458, \"Time in s\": 5016.675492 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8532766444544376, \"F1\": 0.8247130647130647, \"Memory in Mb\": 148.4442949295044, \"Time in s\": 5397.142957 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8514605589939686, \"F1\": 0.8225487425826504, \"Memory in Mb\": 154.72937488555908, \"Time in s\": 5792.939295 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8521676245575306, \"F1\": 0.8231490756761678, \"Memory in Mb\": 160.280930519104, \"Time in s\": 6204.791143 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530851024688179, \"F1\": 0.8247069669432372, \"Memory in Mb\": 165.12001132965088, \"Time in s\": 6630.671498000001 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8528752002848495, \"F1\": 0.8239904583404327, \"Memory in Mb\": 171.1938066482544, \"Time in s\": 7068.974646000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8532303128557138, \"F1\": 0.8236415633937083, \"Memory in Mb\": 176.66365909576416, \"Time in s\": 7519.88705 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8538649362812323, \"F1\": 0.8241355713883187, \"Memory in Mb\": 181.78493976593015, \"Time in s\": 7981.874679 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8542349771126189, \"F1\": 0.8238110186783865, \"Memory in Mb\": 187.08849048614505, \"Time in s\": 8454.454599 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525655176763695, \"F1\": 0.8216125462662648, \"Memory in Mb\": 193.5201120376587, \"Time in s\": 8938.242097 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.852245899126169, \"F1\": 0.821432541594101, \"Memory in Mb\": 199.6366205215454, \"Time in s\": 9433.534304 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.852003221860923, \"F1\": 0.8214247147330909, \"Memory in Mb\": 205.8111581802368, \"Time in s\": 9940.639789 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.851715223516426, \"F1\": 0.8209965286300361, \"Memory in Mb\": 212.10033893585205, \"Time in s\": 10459.964952 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8513287861206238, \"F1\": 0.8197137660019906, \"Memory in Mb\": 218.64550113677976, \"Time in s\": 10993.026606 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8508788873865173, \"F1\": 0.8179735920237133, \"Memory in Mb\": 225.19258975982663, \"Time in s\": 11538.003929 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8496432898102032, \"F1\": 0.8159741671883752, \"Memory in Mb\": 232.33557987213132, \"Time in s\": 12096.169427 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8497279966360937, \"F1\": 0.8155126798735239, \"Memory in Mb\": 238.56606006622317, \"Time in s\": 12664.877691 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8494493929203994, \"F1\": 0.8154906093686098, \"Memory in Mb\": 244.89648151397705, \"Time in s\": 13243.508414 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8492336251661942, \"F1\": 0.8164773421277635, \"Memory in Mb\": 251.12543201446533, \"Time in s\": 13830.859859 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8486104638328141, \"F1\": 0.8170174918470204, \"Memory in Mb\": 257.83575916290283, \"Time in s\": 14427.278119 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8490941811637672, \"F1\": 0.8186928820595613, \"Memory in Mb\": 264.1331262588501, \"Time in s\": 15032.883602 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493929217256523, \"F1\": 0.8194385787087872, \"Memory in Mb\": 270.1314744949341, \"Time in s\": 15648.679676 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493802745648125, \"F1\": 0.8194995590828924, \"Memory in Mb\": 276.0468301773072, \"Time in s\": 16273.986894 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493681436262474, \"F1\": 0.8189620164063134, \"Memory in Mb\": 282.1419038772583, \"Time in s\": 16909.074578 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8499083864985982, \"F1\": 0.8197651300267741, \"Memory in Mb\": 287.208477973938, \"Time in s\": 17554.066457 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8499039968219637, \"F1\": 0.8197312269727252, \"Memory in Mb\": 287.3145227432251, \"Time in s\": 18206.640571 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.6923076923076924, \"Memory in Mb\": 0.2663440704345703, \"Time in s\": 0.180038 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7755102040816326, \"F1\": 0.7555555555555555, \"Memory in Mb\": 0.4029140472412109, \"Time in s\": 0.591649 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.7945205479452055, \"Memory in Mb\": 0.5196552276611328, \"Time in s\": 1.289716 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8181818181818182, \"F1\": 0.8125, \"Memory in Mb\": 0.6383838653564453, \"Time in s\": 2.331468 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8225806451612904, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.7669887542724609, \"Time in s\": 3.724154 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8456375838926175, \"F1\": 0.847682119205298, \"Memory in Mb\": 0.9175167083740234, \"Time in s\": 5.520175 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867816091954023, \"F1\": 0.8606060606060606, \"Memory in Mb\": 1.0086803436279297, \"Time in s\": 7.749843999999999 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.864321608040201, \"F1\": 0.8571428571428572, \"Memory in Mb\": 1.1245098114013672, \"Time in s\": 10.53336 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8660714285714286, \"F1\": 0.8557692307692308, \"Memory in Mb\": 1.2114391326904297, \"Time in s\": 13.795268 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.8448275862068965, \"Memory in Mb\": 1.322244644165039, \"Time in s\": 17.57486 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8540145985401459, \"F1\": 0.84251968503937, \"Memory in Mb\": 1.3987751007080078, \"Time in s\": 21.876977 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561872909698997, \"F1\": 0.8413284132841329, \"Memory in Mb\": 1.489828109741211, \"Time in s\": 26.743447 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672839506172839, \"F1\": 0.8501742160278746, \"Memory in Mb\": 1.5769939422607422, \"Time in s\": 32.2729 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8681948424068768, \"F1\": 0.8486842105263156, \"Memory in Mb\": 1.638784408569336, \"Time in s\": 38.477964 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8689839572192514, \"F1\": 0.8482972136222912, \"Memory in Mb\": 1.7178211212158203, \"Time in s\": 45.357054 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8436578171091446, \"Memory in Mb\": 1.7941875457763672, \"Time in s\": 52.888585 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8433048433048433, \"Memory in Mb\": 1.8353633880615237, \"Time in s\": 61.095765 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8730512249443207, \"F1\": 0.8455284552845528, \"Memory in Mb\": 1.909624099731445, \"Time in s\": 70.024579 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755274261603375, \"F1\": 0.8506329113924052, \"Memory in Mb\": 1.988790512084961, \"Time in s\": 79.720297 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.875751503006012, \"F1\": 0.8530805687203792, \"Memory in Mb\": 2.063833236694336, \"Time in s\": 90.078634 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8778625954198473, \"F1\": 0.8525345622119817, \"Memory in Mb\": 2.144712448120117, \"Time in s\": 101.258101 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8779599271402551, \"F1\": 0.8533916849015317, \"Memory in Mb\": 2.199640274047852, \"Time in s\": 113.251819 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8780487804878049, \"F1\": 0.8535564853556484, \"Memory in Mb\": 2.2528209686279297, \"Time in s\": 125.935841 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8797996661101837, \"F1\": 0.8536585365853657, \"Memory in Mb\": 2.283121109008789, \"Time in s\": 139.44840100000002 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8814102564102564, \"F1\": 0.852589641434263, \"Memory in Mb\": 2.343900680541992, \"Time in s\": 153.77905700000002 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.884437596302003, \"F1\": 0.8587570621468926, \"Memory in Mb\": 2.418844223022461, \"Time in s\": 168.92061400000003 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.884272997032641, \"F1\": 0.8617021276595745, \"Memory in Mb\": 2.468423843383789, \"Time in s\": 184.940001 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8884120171673819, \"F1\": 0.8650519031141869, \"Memory in Mb\": 2.478273391723633, \"Time in s\": 201.76583 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895027624309392, \"F1\": 0.8684210526315789, \"Memory in Mb\": 2.52436637878418, \"Time in s\": 219.457713 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8918558077436582, \"F1\": 0.8716323296354993, \"Memory in Mb\": 2.5813236236572266, \"Time in s\": 238.014124 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8914728682170543, \"F1\": 0.8707692307692307, \"Memory in Mb\": 2.6200389862060547, \"Time in s\": 257.461391 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8898623279098874, \"F1\": 0.8702064896755163, \"Memory in Mb\": 2.657014846801758, \"Time in s\": 277.779634 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8907766990291263, \"F1\": 0.872159090909091, \"Memory in Mb\": 2.706361770629883, \"Time in s\": 298.980548 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8928150765606596, \"F1\": 0.8741355463347164, \"Memory in Mb\": 2.730466842651367, \"Time in s\": 321.097396 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8958810068649885, \"F1\": 0.8771929824561403, \"Memory in Mb\": 2.753351211547852, \"Time in s\": 344.186724 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8976640711902113, \"F1\": 0.8786279683377309, \"Memory in Mb\": 2.807779312133789, \"Time in s\": 368.101507 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9004329004329005, \"F1\": 0.8829516539440204, \"Memory in Mb\": 2.8523120880126958, \"Time in s\": 392.980624 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9009483667017912, \"F1\": 0.8850855745721271, \"Memory in Mb\": 2.913583755493164, \"Time in s\": 418.83123200000006 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9024640657084188, \"F1\": 0.8867699642431467, \"Memory in Mb\": 2.943540573120117, \"Time in s\": 445.632777 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9009009009009008, \"F1\": 0.8850174216027874, \"Memory in Mb\": 2.9903697967529297, \"Time in s\": 473.399028 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8994140625, \"F1\": 0.8836158192090395, \"Memory in Mb\": 3.035707473754883, \"Time in s\": 502.224676 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9008579599618683, \"F1\": 0.8857142857142858, \"Memory in Mb\": 3.069150924682617, \"Time in s\": 532.049603 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9013035381750466, \"F1\": 0.8869936034115138, \"Memory in Mb\": 3.114839553833008, \"Time in s\": 562.838704 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9035486806187444, \"F1\": 0.8898128898128899, \"Memory in Mb\": 3.132375717163086, \"Time in s\": 594.67778 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.905693950177936, \"F1\": 0.8933601609657947, \"Memory in Mb\": 3.1889095306396484, \"Time in s\": 627.518257 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9060052219321147, \"F1\": 0.893491124260355, \"Memory in Mb\": 3.220029830932617, \"Time in s\": 661.4048929999999 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9045996592844976, \"F1\": 0.8916827852998066, \"Memory in Mb\": 3.270620346069336, \"Time in s\": 696.4079739999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9040867389491244, \"F1\": 0.8909952606635072, \"Memory in Mb\": 3.311410903930664, \"Time in s\": 732.4743999999998 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9044117647058824, \"F1\": 0.8911627906976743, \"Memory in Mb\": 3.344022750854492, \"Time in s\": 769.4892029999999 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9047237790232184, \"F1\": 0.8921124206708976, \"Memory in Mb\": 3.391061782836914, \"Time in s\": 807.5726659999999 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 2.745403 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 8.183125 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 16.539666 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 27.755785000000003 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 41.777067 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 58.637769000000006 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 78.268206 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686198515404, \"F1\": 0.9090909090909092, \"Memory in Mb\": 0.0923185348510742, \"Time in s\": 101.443914 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832184981898, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972318649291992, \"Time in s\": 131.805417 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998948972620736, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 169.246217 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904452512899, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 213.148727 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124151521788, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 263.357684 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191527205108, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0973081588745117, \"Time in s\": 319.49775 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998873916144289, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091413497924804, \"Time in s\": 381.401703 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999894899103139, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091642379760742, \"Time in s\": 448.60874 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999014681249384, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091642379760742, \"Time in s\": 520.91477 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999072642967544, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1096677780151367, \"Time in s\": 598.09858 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124164306776, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1113195419311523, \"Time in s\": 680.064697 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999170262197146, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 766.82968 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999211750177356, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 858.2478070000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999924928682248, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 954.233503 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999283410963812, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1054.7914 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999931456772071, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1159.67034 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999343128024348, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1268.4432900000002 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999369403455668, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1298818588256836, \"Time in s\": 1381.268586 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999393657659116, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1299276351928711, \"Time in s\": 1498.4984390000002 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999941611521993, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1434888839721679, \"Time in s\": 1620.0599740000002 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999436968639152, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1434888839721679, \"Time in s\": 1745.8256190000002 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999456383865472, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1440382003784179, \"Time in s\": 1875.6542580000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248349068998, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1476888656616211, \"Time in s\": 2010.272303 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999830485489558, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1510839462280273, \"Time in s\": 2149.2802330000004 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357829050004, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1510610580444336, \"Time in s\": 2292.3763450000006 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089111118188, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1511411666870117, \"Time in s\": 2439.4913830000005 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998145314601012, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1534147262573242, \"Time in s\": 2590.5360980000005 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998198306408024, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1576833724975586, \"Time in s\": 2745.6113380000006 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248354182784, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 2905.2725530000007 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998295696634, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 3069.514522000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99983405473428, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 3238.428366000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998383097984264, \"F1\": 0.75, \"Memory in Mb\": 0.1761388778686523, \"Time in s\": 3411.935267000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99984235210657, \"F1\": 0.75, \"Memory in Mb\": 0.1760702133178711, \"Time in s\": 3590.1136440000014 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998461972264232, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 3773.084966000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498592430404, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 3960.4867140000015 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998533509312216, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 4152.338698000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998566839044082, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4348.642178000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998598687437232, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4549.410423000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999862915110182, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4754.622131000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998546511627908, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.1783475875854492, \"Time in s\": 4964.315109000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998576792967168, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.1972723007202148, \"Time in s\": 5178.776489000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998605838320144, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2118177413940429, \"Time in s\": 5398.511461000001 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998633721846788, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2117490768432617, \"Time in s\": 5623.669278000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998633807997478, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2117490768432617, \"Time in s\": 5848.865968000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.5242718446601942, \"Memory in Mb\": 0.0028944015502929, \"Time in s\": 0.039715 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5330188679245284, \"F1\": 0.5217391304347825, \"Memory in Mb\": 0.0028944015502929, \"Time in s\": 0.180531 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5188679245283019, \"F1\": 0.5173501577287066, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.3338649999999999 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5330188679245284, \"F1\": 0.5330188679245282, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.4937739999999999 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5207547169811321, \"F1\": 0.5115384615384615, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.7446539999999999 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.5303514376996804, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.03169 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.522911051212938, \"F1\": 0.512396694214876, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.379859 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5235849056603774, \"F1\": 0.5061124694376529, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.737155 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5157232704402516, \"F1\": 0.5, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 2.173505 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5160377358490567, \"F1\": 0.4975514201762978, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 2.70321 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5154373927958834, \"F1\": 0.495985727029438, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 3.270309 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165094339622641, \"F1\": 0.4979591836734694, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 3.844268 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5195936139332366, \"F1\": 0.4977238239757208, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 4.501151 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5195417789757413, \"F1\": 0.4968242766407903, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 5.229491 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5226415094339623, \"F1\": 0.4983476536682089, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 6.030342 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5194575471698113, \"F1\": 0.4947303161810291, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 6.8837410000000006 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205327413984462, \"F1\": 0.4965034965034965, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 7.813207 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5193920335429769, \"F1\": 0.4964305326743548, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 8.751116 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.519364448857994, \"F1\": 0.4989648033126293, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 9.762632 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5174528301886793, \"F1\": 0.4997555012224939, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 10.806008 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5197663971248877, \"F1\": 0.5002337540906966, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 11.968014 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5175814751286449, \"F1\": 0.4975435462259938, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 13.16512 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5176374077112387, \"F1\": 0.4957118353344769, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 14.408045 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5196540880503144, \"F1\": 0.5008169934640523, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 15.661105 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.520377358490566, \"F1\": 0.5037094884810621, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 17.014893999999998 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.521044992743106, \"F1\": 0.5041322314049587, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 18.454389 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5213137665967854, \"F1\": 0.5032632342277013, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 19.942263 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5175202156334232, \"F1\": 0.4985994397759103, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 21.473074 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5152895250487963, \"F1\": 0.4969615124915597, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 23.106855 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5132075471698113, \"F1\": 0.4931237721021611, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 24.747764 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5130858186244674, \"F1\": 0.4927076727964489, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 26.464385 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5103183962264151, \"F1\": 0.490959239963224, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 28.215584 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5091480846197828, \"F1\": 0.4891401368640284, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 30.068049 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5097114317425083, \"F1\": 0.4876775877065816, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 31.96012 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5118598382749326, \"F1\": 0.4908630868709586, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 33.864206 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510482180293501, \"F1\": 0.4893384363039912, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 35.803291 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.50790413054564, \"F1\": 0.485881726158764, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 37.844614 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.506454816285998, \"F1\": 0.4844398340248962, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 39.968017 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5050798258345428, \"F1\": 0.4828109201213346, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 42.128298 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5068396226415094, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 44.30306 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5080533824206167, \"F1\": 0.4858104858104858, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 46.485881 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5080862533692723, \"F1\": 0.4847058823529412, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 48.746465 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5063624396665204, \"F1\": 0.4837081229921982, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 51.058035 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5051457975986278, \"F1\": 0.4829749103942652, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 53.475871000000005 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5048218029350104, \"F1\": 0.482017543859649, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 55.900409 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5036915504511895, \"F1\": 0.4802405498281787, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 58.409701000000005 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5038137294259334, \"F1\": 0.4811083123425693, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 60.970617 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5029481132075472, \"F1\": 0.4799506477483035, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 63.61249900000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5040431266846361, \"F1\": 0.4810636583400483, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 66.28843800000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5064150943396226, \"F1\": 0.4825949367088608, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 68.97313600000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9072847682119204, \"F1\": 0.90561797752809, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 0.679052 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9166666666666666, \"F1\": 0.8967874231032126, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 1.978643 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9175864606328182, \"F1\": 0.898458748866727, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 3.929769 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9268763796909492, \"F1\": 0.9098945936756204, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 6.478699 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9271523178807948, \"F1\": 0.9076664801343034, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 9.702945 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9269683590875644, \"F1\": 0.907437631149452, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 13.508006 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9274676758120468, \"F1\": 0.9089108910891088, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 17.915655 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.925496688741722, \"F1\": 0.9066390041493776, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 22.910275 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9251900907530046, \"F1\": 0.9100294985250738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 28.53571 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9266004415011038, \"F1\": 0.9135128105085184, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 34.833569000000004 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9293598233995584, \"F1\": 0.9182535996284256, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 41.779447000000005 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.931383370125092, \"F1\": 0.9217208814270724, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 49.40882500000001 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9313975208014944, \"F1\": 0.9218568665377176, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 57.61408300000001 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9290444654683064, \"F1\": 0.9191665169750316, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 66.44160400000001 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9298013245033112, \"F1\": 0.9209872453205236, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 75.85703300000002 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9305325607064018, \"F1\": 0.9222213640225536, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 85.90938600000001 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9308531359563692, \"F1\": 0.922279792746114, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 96.62160000000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9293598233995584, \"F1\": 0.9203319502074688, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 107.965593 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9279656093877076, \"F1\": 0.9176298658163944, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 119.984123 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9266004415011038, \"F1\": 0.9160141449861076, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 132.63841200000002 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9265741616734994, \"F1\": 0.915143048047136, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 146.00166900000002 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9262994180212724, \"F1\": 0.915589266218468, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 159.938555 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.923217199347346, \"F1\": 0.9122710823555212, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 174.54734100000002 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9225073583517291, \"F1\": 0.9101955977189148, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 189.73533200000003 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9217218543046356, \"F1\": 0.9087540528022232, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 205.619545 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9186619120393956, \"F1\": 0.905063918343078, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 222.161849 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9173003025100156, \"F1\": 0.902885123133791, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 239.399015 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9144985808893094, \"F1\": 0.8997643144322751, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 257.26822000000004 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.91424982872802, \"F1\": 0.8992622401073105, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 275.765482 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9138337012509198, \"F1\": 0.89909521757863, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 294.848784 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9110232856227302, \"F1\": 0.8955049132343716, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 314.617946 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9101476269315674, \"F1\": 0.8940927755417328, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 335.076303 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9094922737306844, \"F1\": 0.8931701539676272, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 356.063392 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9083235943383976, \"F1\": 0.8913093680240166, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 377.566828 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062125512456638, \"F1\": 0.8888722815933038, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 399.67833300000007 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9052918812852588, \"F1\": 0.8879294706671989, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 422.4669390000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9050474315374978, \"F1\": 0.8877050626212737, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 445.7904010000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9050772626931568, \"F1\": 0.8877901387172092, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 469.7481780000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904539536989868, \"F1\": 0.8866104144955793, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 494.2109750000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9048013245033112, \"F1\": 0.8860483551327785, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 519.3392310000002 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9045119259139612, \"F1\": 0.8854217139903738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 545.0643520000001 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9042625880374224, \"F1\": 0.8846092933388237, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 571.4397520000001 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904409877303763, \"F1\": 0.88502624266749, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 598.3711440000001 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904926750953241, \"F1\": 0.8863636363636365, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 626.0397580000001 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9055187637969097, \"F1\": 0.8878667908709827, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 654.3634580000002 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9061090315769268, \"F1\": 0.8892285916489738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 683.2521370000002 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9063923723639096, \"F1\": 0.889810361032786, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 712.7682970000002 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9067098969830758, \"F1\": 0.8902534693104661, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 742.9022130000002 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062711177186106, \"F1\": 0.8894732648019762, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 773.7300850000001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064238410596026, \"F1\": 0.8897844569823977, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 805.1132940000001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064265536723164, \"F1\": 0.8897670549084858, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 836.4982200000001 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.56, \"F1\": 0.5217391304347826, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.003459 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7, \"F1\": 0.6341463414634146, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.050212 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7066666666666667, \"F1\": 0.676470588235294, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.100001 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.72, \"F1\": 0.702127659574468, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.153128 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.72, \"F1\": 0.7058823529411765, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.228063 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7133333333333334, \"F1\": 0.7189542483660132, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.334445 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7314285714285714, \"F1\": 0.718562874251497, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.511774 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.735, \"F1\": 0.7225130890052356, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.692607 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7244444444444444, \"F1\": 0.701923076923077, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.876779 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.724, \"F1\": 0.7038626609442059, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 1.156005 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7345454545454545, \"F1\": 0.7137254901960783, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 1.438242 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7366666666666667, \"F1\": 0.7127272727272725, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 1.723391 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7476923076923077, \"F1\": 0.7172413793103447, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.078902 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7542857142857143, \"F1\": 0.7225806451612904, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.437997 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7573333333333333, \"F1\": 0.723404255319149, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.800319 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7257142857142856, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 3.165567 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7197802197802199, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 3.585508999999999 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7622222222222222, \"F1\": 0.7206266318537858, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.009149999999999 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7663157894736842, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.435539999999999 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.768, \"F1\": 0.7327188940092165, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.959426999999999 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7714285714285715, \"F1\": 0.7321428571428573, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 5.485955999999999 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7709090909090909, \"F1\": 0.7341772151898734, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 6.028689999999999 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7739130434782608, \"F1\": 0.7379032258064516, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 6.595545999999999 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.78, \"F1\": 0.7401574803149605, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 7.165257999999999 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7744, \"F1\": 0.7314285714285715, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 7.741693999999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7815384615384615, \"F1\": 0.7427536231884059, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 8.363988999999998 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837037037037037, \"F1\": 0.75, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 9.010548999999996 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.79, \"F1\": 0.7545909849749582, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 9.660288999999995 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7917241379310345, \"F1\": 0.7606973058637084, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 10.349524999999996 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.792, \"F1\": 0.7621951219512195, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 11.041959999999996 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.792258064516129, \"F1\": 0.7614814814814814, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 11.737615999999996 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.795, \"F1\": 0.7670454545454546, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 12.526707999999996 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.793939393939394, \"F1\": 0.7671232876712327, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 13.319008999999996 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7976470588235294, \"F1\": 0.7706666666666667, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 14.117527999999997 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8022857142857143, \"F1\": 0.7744458930899608, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 14.959668999999996 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8011111111111111, \"F1\": 0.7737041719342603, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 15.804425999999996 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8054054054054054, \"F1\": 0.7804878048780488, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 16.651646999999997 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8073684210526316, \"F1\": 0.7849588719153936, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 17.502014999999997 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8102564102564103, \"F1\": 0.7880870561282932, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 18.418237999999995 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.811, \"F1\": 0.7892976588628764, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 19.337672999999995 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8146341463414634, \"F1\": 0.7943722943722944, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 20.260238999999995 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8161904761904762, \"F1\": 0.7970557308096741, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 21.242111999999995 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.815813953488372, \"F1\": 0.7983706720977597, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 22.243638999999995 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8190909090909091, \"F1\": 0.8023833167825224, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 23.247954999999997 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8213333333333334, \"F1\": 0.8061716489874637, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 24.273946999999996 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8226086956521739, \"F1\": 0.8071833648393195, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 25.351544999999994 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8212765957446808, \"F1\": 0.8059149722735675, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 26.431981999999994 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8233333333333334, \"F1\": 0.8076225045372051, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 27.515220999999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8244897959183674, \"F1\": 0.8088888888888888, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 28.636604999999992 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8256, \"F1\": 0.810763888888889, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 29.761263999999997 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.720966894377299, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1.027868 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7769311613242249, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 3.106358 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7509196006305833, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 6.233245 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7900683131897005, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 10.302873 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7826589595375723, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 15.393504 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7699246803293046, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 21.578682 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7722393213722694, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 28.779608 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7791644771413557, \"F1\": 0.0041469194312796, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 37.113003 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.783207800548841, \"F1\": 0.004824443848834, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 46.3898 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7891224382553862, \"F1\": 0.0044653932026792, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 56.715322 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7832131084889887, \"F1\": 0.0039508340649692, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 68.217717 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7821422315641969, \"F1\": 0.0036050470658922, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 80.77427399999999 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7877440478596548, \"F1\": 0.0034162080091098, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 94.432579 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.78188574431349, \"F1\": 0.0034299434059338, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 109.06303 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7857418111753371, \"F1\": 0.0032594524119947, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 124.719605 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7871452968996322, \"F1\": 0.0030764497769573, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 141.369597 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7866835646502427, \"F1\": 0.0028897558156335, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 159.093537 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7860979739592456, \"F1\": 0.002722199537226, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 177.829964 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7771939043615345, \"F1\": 0.0024764735017335, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 197.576045 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7831581713084603, \"F1\": 0.0024175027196905, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 218.31617 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.779496033831294, \"F1\": 0.0022644927536231, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 240.067789 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7831175655663307, \"F1\": 0.0021978021978021, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 262.83473100000003 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7791130708949257, \"F1\": 0.0020644095788604, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 286.65613700000006 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7808066211245402, \"F1\": 0.0019938191606021, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 311.45044200000007 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7799684708355229, \"F1\": 0.001906941266209, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 337.28748800000005 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7778810784591131, \"F1\": 0.0018165304268846, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 364.149506 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7807944570950351, \"F1\": 0.0021263400372109, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 392.065506 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7777193904361535, \"F1\": 0.0020222446916076, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 421.04388200000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7785891604906953, \"F1\": 0.0019603038470963, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 451.0228320000001 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7758801891749869, \"F1\": 0.0026502455374542, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 482.06238400000007 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.774159646059702, \"F1\": 0.0025454817698585, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 514.138052 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7746157383079348, \"F1\": 0.0024711098190275, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 547.227498 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7704899759550311, \"F1\": 0.0023534297778085, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 581.3499069999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.771274458285679, \"F1\": 0.002292186341266, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 616.580127 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7721942797087306, \"F1\": 0.0022358124547905, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 652.800029 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7705085537455479, \"F1\": 0.0024111675126903, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 690.043858 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7685872945988553, \"F1\": 0.0023267205486162, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 728.276014 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7687999557485411, \"F1\": 0.0022677090171271, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 767.526171 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7657140547313958, \"F1\": 0.0021806496040399, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 807.759105 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7665002627430373, \"F1\": 0.0021333932180552, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 848.897716 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7657101111210797, \"F1\": 0.0020744622775412, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 890.953712 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7636313590070816, \"F1\": 0.0020073956682514, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 933.942273 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7647777682728617, \"F1\": 0.0019703411801306, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 977.888636 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7652868676252806, \"F1\": 0.0019298156518206, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1022.739679 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7642552694575816, \"F1\": 0.0018787699001285, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1068.558668 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7644680024674998, \"F1\": 0.001839659178931, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1115.337297 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7635312664214399, \"F1\": 0.0018876828692779, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1162.988807 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7650091960063058, \"F1\": 0.0018600325505696, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1211.563326 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7647859984771628, \"F1\": 0.001820415965048, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1260.984755 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7649710982658959, \"F1\": 0.0017854751595768, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1311.295723 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7649859178611963, \"F1\": 0.0017854751595768, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1361.607838 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5283018867924528, \"F1\": 0.4680851063829788, \"Memory in Mb\": 0.0055513381958007, \"Time in s\": 0.50714 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.4673913043478261, \"Memory in Mb\": 0.0055513381958007, \"Time in s\": 1.544995 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5345911949685535, \"F1\": 0.4861111111111111, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 3.028568 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5188679245283019, \"F1\": 0.4659685863874345, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 4.996646 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5264150943396226, \"F1\": 0.4256292906178489, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 7.439068000000001 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5235849056603774, \"F1\": 0.3878787878787879, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 10.329429 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5363881401617251, \"F1\": 0.3629629629629629, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 13.751562000000002 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5400943396226415, \"F1\": 0.3389830508474576, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 17.710995 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5440251572327044, \"F1\": 0.3149606299212598, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 22.189814 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5518867924528302, \"F1\": 0.2962962962962963, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 27.154882 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523156089193825, \"F1\": 0.2790055248618784, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 32.629664 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5542452830188679, \"F1\": 0.2758620689655172, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 38.64774 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5566037735849056, \"F1\": 0.2611850060459492, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 45.182197 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.557277628032345, \"F1\": 0.2474226804123711, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 52.237503 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5578616352201258, \"F1\": 0.2350380848748639, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 59.74126700000001 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5595518867924528, \"F1\": 0.2259067357512953, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 67.72058500000001 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5566037735849056, \"F1\": 0.2158979391560353, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 76.17010700000002 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5545073375262054, \"F1\": 0.2115027829313543, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 85.08376800000002 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5496524329692155, \"F1\": 0.2008810572687224, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 94.42289500000004 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5466981132075471, \"F1\": 0.1944677284157585, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 104.22299500000004 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550314465408805, \"F1\": 0.2036595067621321, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 114.52672400000004 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5493138936535163, \"F1\": 0.2103681442524417, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 125.29025300000004 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479901558654635, \"F1\": 0.21173104434907, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 136.49837800000003 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5483490566037735, \"F1\": 0.2262626262626262, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 148.22051100000004 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460377358490566, \"F1\": 0.2322910019144863, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 160.35879600000004 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5395500725689405, \"F1\": 0.2304426925409338, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 173.00042100000005 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5394828791055206, \"F1\": 0.2310385064177363, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 186.18470300000004 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5411051212938005, \"F1\": 0.2305084745762711, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 199.85251500000004 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5396877033181522, \"F1\": 0.227198252321136, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 214.04388100000003 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5430817610062894, \"F1\": 0.2283590015932023, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 228.72034700000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5444309190505173, \"F1\": 0.2247540134645261, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 243.83191300000004 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5445165094339622, \"F1\": 0.224786753637732, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 259.480064 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5463121783876501, \"F1\": 0.2201474201474201, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 275.54602900000003 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548834628190899, \"F1\": 0.2167630057803468, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 292.10262700000004 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.547978436657682, \"F1\": 0.2123062470643494, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 309.14156900000006 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474318658280922, \"F1\": 0.2074346030289123, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 326.6693460000001 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5484446710861806, \"F1\": 0.2033288349077822, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 344.5959390000001 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5489076464746773, \"F1\": 0.1992066989863376, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 363.0622570000001 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5491049830672472, \"F1\": 0.1951640759930915, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 382.0101650000001 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5483490566037735, \"F1\": 0.1909590198563582, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 401.4423870000001 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548550391164289, \"F1\": 0.1885856079404466, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 421.3360060000001 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550763701707098, \"F1\": 0.1935483870967742, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 441.6814400000001 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5482667836770513, \"F1\": 0.1934978456717587, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 462.3969810000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5490994854202401, \"F1\": 0.1976344906524227, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 483.6474930000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550104821802935, \"F1\": 0.1998508575689783, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 505.4107300000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5504511894995898, \"F1\": 0.2, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 527.6413840000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5503813729425934, \"F1\": 0.2062367115520907, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 550.3366250000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479559748427673, \"F1\": 0.2041522491349481, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 573.5279610000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5462071621101271, \"F1\": 0.2023688663282571, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 597.2511250000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5464150943396227, \"F1\": 0.205026455026455, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 621.4261850000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8002207505518764, \"F1\": 0.7868080094228505, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4.395754 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8140176600441501, \"F1\": 0.7501853224610822, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 13.314942 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8005886681383371, \"F1\": 0.7262626262626262, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 26.594138 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8189845474613686, \"F1\": 0.7586460632818247, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 44.068779 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8278145695364238, \"F1\": 0.7588126159554731, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 65.924464 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211920529801324, \"F1\": 0.7498713329902212, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 92.07692 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8222958057395143, \"F1\": 0.7575822757582275, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 122.546282 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8253311258278145, \"F1\": 0.7598634294385433, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 157.279906 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8303899926416483, \"F1\": 0.780789348549691, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 196.124663 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8364238410596027, \"F1\": 0.7958677685950413, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 238.938569 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8371462974111981, \"F1\": 0.8011273128293102, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 285.711115 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8393119941133186, \"F1\": 0.8079586676926458, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 336.134661 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422482594668025, \"F1\": 0.8114088509947219, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 390.124895 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8409019236833807, \"F1\": 0.810445237647943, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 447.475874 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8427520235467255, \"F1\": 0.8154098643862832, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 507.886031 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8438189845474614, \"F1\": 0.8177720540888602, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 571.200551 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.845214907154915, \"F1\": 0.8184587267742918, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 637.3575030000001 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397105714986509, \"F1\": 0.8108264582428716, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 706.2352450000001 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8384454513767864, \"F1\": 0.8053202660133008, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 777.6642180000001 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.840728476821192, \"F1\": 0.8082646824342281, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 851.7523750000001 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.843950383685483, \"F1\": 0.8100326316462987, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 928.4036970000002 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8412101143889223, \"F1\": 0.8075636894266431, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1007.5500400000002 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8373644303675977, \"F1\": 0.8028848950154133, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1089.2694250000002 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382542310522443, \"F1\": 0.8008155405788072, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1173.5296240000002 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8376600441501104, \"F1\": 0.7982441700960219, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1260.4177460000003 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8337578536254033, \"F1\": 0.7924748277689453, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1349.7468710000005 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8313302264737144, \"F1\": 0.7887569117345894, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1441.5955620000002 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8278539892778304, \"F1\": 0.7842711060613546, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1535.8662290000002 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8282712948161681, \"F1\": 0.784486052732136, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1632.5910050000002 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8285504047093452, \"F1\": 0.785431439359057, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1731.7068200000003 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.825357829523606, \"F1\": 0.7809192013935414, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1833.2277320000003 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8246412803532008, \"F1\": 0.7785135488368041, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1936.9708820000003 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8228644056458626, \"F1\": 0.7766343315056937, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2042.9068730000004 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227827554863005, \"F1\": 0.775599128540305, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2150.889688 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8180384736676127, \"F1\": 0.7686632988533396, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2260.9522580000003 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8156119695854795, \"F1\": 0.765426320305796, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2373.012802 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8136746017540719, \"F1\": 0.7636955205811137, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2487.1515040000004 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8108516323922389, \"F1\": 0.7597934341571375, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2603.2748090000005 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.811031867323258, \"F1\": 0.7582811425261557, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2721.3856460000006 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8123344370860928, \"F1\": 0.7585643792821898, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2841.498866000001 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8119312981209282, \"F1\": 0.7567887480852249, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2963.634415000001 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8118364343529907, \"F1\": 0.7562636165577343, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3087.755988000001 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8128497356127111, \"F1\": 0.7583601232890332, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3213.7594090000007 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8136162954043749, \"F1\": 0.7616297722168751, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3341.6530200000007 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8154034829531518, \"F1\": 0.7662732919254659, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3471.3422760000008 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8169929935694404, \"F1\": 0.7702641645832705, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3602.9648230000007 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8180216993095675, \"F1\": 0.7720681236579698, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3737.0799900000006 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8185936350257542, \"F1\": 0.7730894238789657, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3873.415774000001 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8179708969680587, \"F1\": 0.7710051290770494, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4011.612716000001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8190949227373069, \"F1\": 0.7729350807680585, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4151.679177000001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8190986935028248, \"F1\": 0.7728922505749037, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4291.771713000001 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.68, \"F1\": 0.6923076923076923, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.149754 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.782608695652174, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.457736 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8266666666666667, \"F1\": 0.8219178082191781, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.892069 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.83, \"F1\": 0.8210526315789473, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 1.419094 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.816, \"F1\": 0.8067226890756303, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 2.091236 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.82, \"F1\": 0.8187919463087249, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 2.916232 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8285714285714286, \"F1\": 0.8170731707317075, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 3.840025 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.825, \"F1\": 0.8128342245989306, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 4.910046 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8222222222222222, \"F1\": 0.8058252427184465, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 6.121922 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.824, \"F1\": 0.8103448275862069, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 7.479490999999999 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8254545454545454, \"F1\": 0.8110236220472441, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 8.920382 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8366666666666667, \"F1\": 0.8191881918819188, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 10.509974 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8461538461538461, \"F1\": 0.8251748251748252, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 12.191812 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514285714285714, \"F1\": 0.8289473684210525, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 13.999137 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8506666666666667, \"F1\": 0.8271604938271606, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 15.959285 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8525, \"F1\": 0.8269794721407624, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 18.058664 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8564705882352941, \"F1\": 0.828169014084507, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 20.312993 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86, \"F1\": 0.8301886792452831, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 22.675489 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8589473684210527, \"F1\": 0.830379746835443, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 25.19503 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.858, \"F1\": 0.8329411764705883, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 27.784241 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8283752860411898, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 30.514065 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8618181818181818, \"F1\": 0.8354978354978354, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 33.400870999999995 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8626086956521739, \"F1\": 0.8364389233954452, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 36.397646 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8666666666666667, \"F1\": 0.8387096774193549, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 39.57675499999999 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672, \"F1\": 0.8362919132149901, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 42.828696 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8707692307692307, \"F1\": 0.8432835820895522, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 46.253182 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8725925925925926, \"F1\": 0.8485915492957746, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 49.816151 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8771428571428571, \"F1\": 0.8522336769759451, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 53.516545 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786206896551724, \"F1\": 0.8566775244299674, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 57.35818 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8589341692789968, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 61.281034000000005 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812903225806452, \"F1\": 0.8597560975609757, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 65.347537 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88125, \"F1\": 0.8613138686131386, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 69.566336 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812121212121212, \"F1\": 0.8623595505617978, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 73.91498000000001 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8823529411764706, \"F1\": 0.8630136986301369, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 78.39968800000001 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8857142857142857, \"F1\": 0.8663101604278075, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 83.02084100000002 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844444444444445, \"F1\": 0.8645833333333334, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 87.71921500000002 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864864864864865, \"F1\": 0.8682559598494354, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 92.55798800000002 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8863157894736842, \"F1\": 0.8695652173913043, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 97.51738800000004 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871794871794871, \"F1\": 0.8702830188679245, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 102.59954100000004 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888, \"F1\": 0.871264367816092, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 107.87282600000005 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878048780487805, \"F1\": 0.8715083798882682, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 113.28564700000004 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895238095238095, \"F1\": 0.8739130434782609, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 118.79277100000004 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8883720930232558, \"F1\": 0.8736842105263158, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 124.46348200000004 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89, \"F1\": 0.8756423432682425, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 130.26843700000003 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8915555555555555, \"F1\": 0.8784860557768924, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 136.21796400000002 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8913043478260869, \"F1\": 0.878048780487805, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 142.31432400000003 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8902127659574468, \"F1\": 0.876555023923445, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 148.52290000000002 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8908333333333334, \"F1\": 0.8769953051643193, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 154.887447 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8914285714285715, \"F1\": 0.8776448942042319, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 161.410896 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896, \"F1\": 0.8761220825852785, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 167.984219 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.996847083552286, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 9.012274 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9984235417761428, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 26.992092 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.998949027850762, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 53.749217 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992117708880714, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 89.545782 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993694167104572, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 133.365466 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 185.067425 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995495833646124, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 243.739666 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774566473988, \"F1\": 0.5217391304347826, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 308.57406100000003 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993577392421324, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 378.971453 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999421965317919, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 454.798992 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 535.937031 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995183044315992, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 622.51799 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995553579368608, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 714.221122 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995495833646124, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 811.098386 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796111403048, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 912.878884 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1019.269091 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99962906865321, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1129.962426 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999649675950254, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1244.872652 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996681140581354, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1363.91764 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847083552286, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1487.072194 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997222430748, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1614.171257 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999713371232026, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1745.093316 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997258333523726, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1880.714485 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2020.289668 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997477666841827, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2163.67936 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997574679655604, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2310.817497 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997275257390864, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2461.472155 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2615.677493 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997463170674252, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2773.449537 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999597127342792, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2934.793173 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99961012323496, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3099.649087 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996223068838676, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3268.0999800000004 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996019044889248, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3440.0722140000003 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996136131804272, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3615.503218 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246528038436, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3794.437889 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3977.094501000001 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996165371887916, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4163.174128000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996266283154024, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4352.606393000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996362019483408, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4545.416162000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999645296899632, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4741.562007000001 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999653948194763, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4941.079189000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996621875234591, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5143.951781000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996700436275648, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5350.231536 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996775426360291, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5559.929647 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847083552286, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5773.003953 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996915625214192, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5989.467769000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996869444661844, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6209.264779000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934664564724, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6432.452666000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997222430748, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6658.918178000001 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057277982132, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6888.546542000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057463533566, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 7118.179378000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.16057 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5283018867924528, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.37729 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5314465408805031, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.7064710000000001 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5400943396226415, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.0774430000000002 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5547169811320755, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.492379 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5550314465408805, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.9966470000000005 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5660377358490566, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.539797 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5636792452830188, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.1757850000000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5649895178197065, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.855114 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5707547169811321, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.635951 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5686106346483705, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.458947 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5644654088050315, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.34328 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5682148040638607, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.308669 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5680592991913747, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.359952 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5679245283018868, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.451883 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5683962264150944, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.590847 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5643729189789123, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 11.83715 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.560272536687631, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 13.126962 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5551142005958292, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 14.497203999999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509433962264151, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.938437999999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5512129380053908, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 17.424999 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5506003430531733, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 19.022886 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.551681706316653, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.666828 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487421383647799, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 22.355416 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467924528301886, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 24.051772 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5471698113207547, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 25.858309 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5489168413696716, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 27.751459 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5505390835579514, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 29.665552 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487963565387117, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 31.686176 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509433962264151, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 33.740652 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5517346317711503, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 35.89104 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5498231132075472, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 38.079414 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5514579759862779, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 40.353903 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5535516093229744, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 42.668922 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5522911051212938, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 45.086801 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5516247379454927, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 47.540759 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5525242223355431, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 50.094246 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5528798411122146, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 52.697211 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5529753265602322, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 55.369587 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523584905660377, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 58.109436 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5526921306948919, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 60.894093 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5530098831985625, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 63.717346 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5508995173321632, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 66.643891 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5497427101200686, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 69.6601 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5505241090146751, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 72.725555 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5518867924528302, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 75.798736 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509835407466881, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 78.970205 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5511006289308176, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 82.150165 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5514054678475163, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 85.416127 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5513207547169812, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 88.72481 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6799116997792495, \"F1\": 0.5482866043613708, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.820242 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7190949227373068, \"F1\": 0.4904904904904904, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.329863 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6986754966887417, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.585071 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7047461368653422, \"F1\": 0.4478844169246646, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.424633 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7024282560706402, \"F1\": 0.4118673647469459, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.992865 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7041942604856513, \"F1\": 0.4165457184325108, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.263433 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6986754966887417, \"F1\": 0.4048582995951417, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.287068 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.695364238410596, \"F1\": 0.3953997809419496, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.004014 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6873926907039489, \"F1\": 0.4084474355999072, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 32.433812 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6864238410596026, \"F1\": 0.4240827082911007, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 39.59982599999999 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.687537627934979, \"F1\": 0.4433321415802646, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 47.447315 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6938925680647535, \"F1\": 0.4717460317460317, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 55.964905 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6932416369502462, \"F1\": 0.4715518502267076, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 65.217817 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6944970040996531, \"F1\": 0.4755717959128434, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 75.258293 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6942604856512141, \"F1\": 0.4842993670100534, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 85.993354 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6935016556291391, \"F1\": 0.4860613071139387, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 97.389046 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6929619529931178, \"F1\": 0.480957084842498, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 109.49806 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6904586705911209, \"F1\": 0.4713028906577293, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 122.273049 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6921691646334379, \"F1\": 0.4645852278468223, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 135.723897 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.694205298013245, \"F1\": 0.4685911575716888, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 150.008391 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6967307894460212, \"F1\": 0.467515688445921, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 164.94785199999998 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6958157736303432, \"F1\": 0.4737435986459509, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 180.578389 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6933966791438718, \"F1\": 0.4696604963891426, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 196.972492 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6968359087564385, \"F1\": 0.4670978172999191, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 214.037594 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6977041942604857, \"F1\": 0.4643667370726746, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 231.758696 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6952368823229751, \"F1\": 0.4573285962657797, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 250.247632 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6978170223203336, \"F1\": 0.4597281099254495, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 269.425119 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6976505834121728, \"F1\": 0.4612250632200056, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 289.286378 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6983329527289336, \"F1\": 0.4614757439869547, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 309.833587 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6959896983075791, \"F1\": 0.4576304561864129, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 331.075152 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.695649077832372, \"F1\": 0.4559572301425662, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 353.085242 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6952262693156733, \"F1\": 0.4515207945375543, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 375.713328 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6939260151180681, \"F1\": 0.4465678863017841, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 399.011341 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6941630957018569, \"F1\": 0.4433020150091591, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 423.007885 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6917376222011984, \"F1\": 0.4368266405484819, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 447.820686 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6893549178317391, \"F1\": 0.4316805025802109, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 473.259187 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.688353916830738, \"F1\": 0.4290944860374884, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 499.4094079999999 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6863599395840595, \"F1\": 0.4245363461948412, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 526.1781749999999 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6869304352748061, \"F1\": 0.4212013394725827, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 553.6489789999999 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6911147902869758, \"F1\": 0.4267718148299877, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 581.8684239999999 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6919722177354224, \"F1\": 0.4269831730769231, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 610.7708879999999 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6944181646168401, \"F1\": 0.431171118285882, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 640.2659799999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6937727809435803, \"F1\": 0.4308206106870229, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 670.4759659999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6930814770218744, \"F1\": 0.4344288818009522, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 701.3646249999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6924208977189109, \"F1\": 0.4391771019677997, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 733.0001779999998 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6933966791438718, \"F1\": 0.4472227028897733, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 765.3741459999998 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6956225635244939, \"F1\": 0.4550767290309018, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 798.4329459999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6962150478292862, \"F1\": 0.4576097220511558, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 832.1587539999998 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6963103122043519, \"F1\": 0.4557564992733731, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 866.6068249999998 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.697439293598234, \"F1\": 0.4596278189560006, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 901.80814 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6974752824858758, \"F1\": 0.4595915792793503, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 937.011341 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.52, \"F1\": 0.3333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.00395 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.56, \"F1\": 0.2142857142857142, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.0784219999999999 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5866666666666667, \"F1\": 0.3404255319148936, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.1562489999999999 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6, \"F1\": 0.375, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.2373179999999999 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.64, \"F1\": 0.4705882352941176, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.4181319999999999 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.62, \"F1\": 0.4466019417475728, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.6021909999999999 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6342857142857142, \"F1\": 0.4181818181818181, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.7890869999999999 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.63, \"F1\": 0.4126984126984127, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.012096 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6488888888888888, \"F1\": 0.4316546762589928, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.2378889999999998 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.648, \"F1\": 0.4358974358974359, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.4692909999999997 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6618181818181819, \"F1\": 0.4561403508771929, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.7531039999999996 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6733333333333333, \"F1\": 0.4615384615384615, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.040874 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.683076923076923, \"F1\": 0.4663212435233161, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.33165 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6942857142857143, \"F1\": 0.4780487804878048, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.715045 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7013333333333334, \"F1\": 0.4909090909090909, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.101519 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.705, \"F1\": 0.4913793103448276, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.491013 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7105882352941176, \"F1\": 0.4896265560165975, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.92315 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7222222222222222, \"F1\": 0.5098039215686275, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.358171 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7157894736842105, \"F1\": 0.5054945054945055, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.796033 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.718, \"F1\": 0.5252525252525252, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.248043999999999 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7257142857142858, \"F1\": 0.5294117647058824, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.702586999999999 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7218181818181818, \"F1\": 0.5233644859813085, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.159983 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7217391304347827, \"F1\": 0.5209580838323353, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.620335 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7283333333333334, \"F1\": 0.5275362318840581, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.113508 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7376, \"F1\": 0.5340909090909091, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.613357 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7369230769230769, \"F1\": 0.5415549597855228, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.116107 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7333333333333333, \"F1\": 0.5477386934673367, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.713363 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.74, \"F1\": 0.5560975609756097, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.313647 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.743448275862069, \"F1\": 0.5753424657534246, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.917033 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7453333333333333, \"F1\": 0.5820568927789934, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.613639 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7470967741935484, \"F1\": 0.5847457627118644, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 11.313363 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.74625, \"F1\": 0.5915492957746479, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.015877 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7490909090909091, \"F1\": 0.602687140115163, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.766805 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7541176470588236, \"F1\": 0.6122448979591837, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 13.520246 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7554285714285714, \"F1\": 0.6123188405797102, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 14.2887 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7566666666666667, \"F1\": 0.6123893805309735, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.059985 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.6237288135593221, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.877357000000002 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7589473684210526, \"F1\": 0.6288492706645057, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 16.697524 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7610256410256411, \"F1\": 0.631911532385466, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 17.562951 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.761, \"F1\": 0.6328725038402457, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 18.43148 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7609756097560976, \"F1\": 0.635958395245171, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 19.325245 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7638095238095238, \"F1\": 0.6436781609195402, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.222005 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7665116279069767, \"F1\": 0.651872399445215, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 21.121639 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.77, \"F1\": 0.6594885598923284, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 22.071389 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.768, \"F1\": 0.6597131681877444, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 23.024294 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7695652173913043, \"F1\": 0.6615581098339719, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 23.980116 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7702127659574468, \"F1\": 0.6633416458852868, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 24.939110000000003 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7741666666666667, \"F1\": 0.6691086691086692, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 25.901192 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7771428571428571, \"F1\": 0.6746126340882003, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.865956 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7736, \"F1\": 0.6697782963827306, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 27.833412 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.287853 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.780599 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.576109 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.534125 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 18.771881 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.322128 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 35.214625 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774566473988, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 45.441498 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999299351900508, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 56.927386 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993694167104572, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 69.74153799999999 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999426742464052, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 83.765543 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 99.065492 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999514935931121, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 115.581943 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995120486449968, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 133.361343 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995445787353302, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 152.36548100000002 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999573042564372, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 172.57866 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995981577076444, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 193.969825 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996204822794418, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 216.600052 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996404568963132, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 240.511883 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996584340514976, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 265.709607 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996746990966644, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 292.142637 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996894855013616, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 319.878347 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999702986131737, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 348.79444399999994 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997153617095814, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 378.9697039999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999726747241198, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 410.4053809999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 443.057614 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080632918784, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 477.025323 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997184896028828, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 512.247669 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997281968579556, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 548.612896 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796111403048, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 586.233337 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995931720712626, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 625.057298 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 665.0820319999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999585980668482, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 706.1803269999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995981577076444, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 748.3509649999999 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996096389159972, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 791.6670189999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912886086296, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 836.0877649999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996023348624504, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 881.7116259999999 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127997344912, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 928.538605 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996227279464274, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 976.409207 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321597477666, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1025.3623619999998 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996411314612358, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1075.4142359999998 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999649675950254, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1126.58116 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996578230211784, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1178.778759 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999665599770697, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1231.992839 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996730308869036, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1286.303482 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801389111014, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1341.617815 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996757639114052, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1397.839199 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996825188299177, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1455.075933 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996889980374704, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1513.261041 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999695218076721, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1572.312523 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999695237294548, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1631.370354 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5333333333333333, \"F1\": 0.4615384615384615, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.089081 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.5026737967914437, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.244558 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.555205047318612, \"F1\": 0.5154639175257733, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.453937 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5626477541371159, \"F1\": 0.5066666666666667, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.76271 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5689981096408318, \"F1\": 0.4818181818181818, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 1.109688 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5716535433070866, \"F1\": 0.4645669291338582, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 1.619873 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5870445344129555, \"F1\": 0.4555160142348755, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 2.197835 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5962219598583235, \"F1\": 0.4554140127388535, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 2.834188 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002098635886673, \"F1\": 0.4454148471615721, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 3.5547570000000004 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6090651558073654, \"F1\": 0.4405405405405405, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 4.339157 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6068669527896996, \"F1\": 0.4260651629072681, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 5.220598 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6136900078678206, \"F1\": 0.433679354094579, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 6.139897 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143790849673203, \"F1\": 0.419672131147541, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 7.157157999999999 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6142953472690492, \"F1\": 0.4127310061601643, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 8.301379999999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6135934550031467, \"F1\": 0.4061895551257253, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 9.487101 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6141592920353982, \"F1\": 0.4010989010989011, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 10.730798 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.614658523042754, \"F1\": 0.4037800687285223, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 12.063669 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6151022548505506, \"F1\": 0.4080645161290322, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 13.448557 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6100347739692003, \"F1\": 0.4048521607278241, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 14.939018 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608305804624823, \"F1\": 0.4071428571428571, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 16.439687 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089887640449438, \"F1\": 0.4089673913043478, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 18.077419 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6096096096096096, \"F1\": 0.4098573281452659, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 19.752885 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6101764464505539, \"F1\": 0.4084682440846824, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 21.52049 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6114825009830909, \"F1\": 0.4153846153846153, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 23.348549 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6100415251038127, \"F1\": 0.41273450824332, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 25.279207 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6076225045372051, \"F1\": 0.4070213933077345, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 27.31295 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085284865431667, \"F1\": 0.4092827004219409, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 29.37924 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6083586113919784, \"F1\": 0.4065372829417773, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 31.545651 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.60624796615685, \"F1\": 0.4062806673209028, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 33.733231 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6071091538219566, \"F1\": 0.4077761972498815, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 36.007059 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6063926940639269, \"F1\": 0.4049700874367234, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 38.312687 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6048363314656443, \"F1\": 0.4060283687943262, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 40.720334 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6065198741778668, \"F1\": 0.4053586862575626, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 43.213056 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6086594504579517, \"F1\": 0.4090528080469404, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 45.745916 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085198166621731, \"F1\": 0.4078303425774878, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 48.41046399999999 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6070773263433814, \"F1\": 0.4049225883287018, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 51.18183799999999 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6067329762815609, \"F1\": 0.4027885360185902, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 54.01538599999999 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6088899925502855, \"F1\": 0.405436013590034, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 56.94241999999999 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6106944108395839, \"F1\": 0.4078027235921972, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 59.88324999999999 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.611936777541873, \"F1\": 0.4118698605648909, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 62.92792699999999 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6131185270425776, \"F1\": 0.4128536500174642, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 66.00451999999999 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6137946528869916, \"F1\": 0.413510747185261, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 69.16846599999998 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6122448979591837, \"F1\": 0.4115884115884116, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 72.34300699999999 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6126956894702981, \"F1\": 0.4124918672739102, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 75.66876099999999 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143845669951772, \"F1\": 0.4130226619853175, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 79.08375899999999 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6153846153846154, \"F1\": 0.4131455399061033, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 82.54849799999998 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6163420999799237, \"F1\": 0.4168446750076289, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 86.09394899999998 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6150973068606251, \"F1\": 0.4141232794733692, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 89.70897599999998 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6146735990756788, \"F1\": 0.4133685136323659, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 93.40231399999998 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6152104170598226, \"F1\": 0.4139120436907157, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 97.15397799999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8187845303867404, \"F1\": 0.8284518828451883, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 0.90253 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8023191606847045, \"F1\": 0.7475317348377998, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 2.668728 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.784688995215311, \"F1\": 0.706177800100452, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 5.38565 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8032017664918576, \"F1\": 0.7356321839080461, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 8.965856 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7979686465003312, \"F1\": 0.7073872721458268, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 13.460125 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7937442502299908, \"F1\": 0.6972724817715366, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 18.947959 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7982967986122063, \"F1\": 0.7065840789171829, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 25.368016 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.790396025941769, \"F1\": 0.6875128574367414, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 32.74734 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7841285416411137, \"F1\": 0.6888260254596887, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 41.092102 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7897118887294403, \"F1\": 0.7086710506193606, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 50.330249 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.793176116407426, \"F1\": 0.7240594457089301, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 60.487048 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7960629196946003, \"F1\": 0.7361656551231703, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 71.57583 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.792137216608644, \"F1\": 0.7295027624309391, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 83.57396899999999 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7820704880548766, \"F1\": 0.7260111022997621, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 96.505859 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7858562072264331, \"F1\": 0.7383564107174968, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 110.378561 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7866850638151086, \"F1\": 0.7435727317963178, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 125.162828 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.785728199467567, \"F1\": 0.738593155893536, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 140.864825 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7806463481940271, \"F1\": 0.7274666666666666, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 157.49451299999998 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7788880497298554, \"F1\": 0.7181158346911569, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 175.04662 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7728903361112645, \"F1\": 0.7138983522213725, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 193.534389 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7701445466491459, \"F1\": 0.7094931242941608, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 212.921569 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7628317696051378, \"F1\": 0.702236220472441, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 233.287368 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7537553390603254, \"F1\": 0.6903626817934946, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 254.638983 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7508163546888654, \"F1\": 0.6836389115964032, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 276.932282 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7509823833281822, \"F1\": 0.6798001589644601, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 300.189673 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7457015495648482, \"F1\": 0.668217569513681, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 324.33764 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7466170638976329, \"F1\": 0.665839982747466, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 349.45202499999994 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7447865336854969, \"F1\": 0.6611180904522613, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 375.51598899999993 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7448711605069843, \"F1\": 0.6581322996888865, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 402.576751 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.741123661650539, \"F1\": 0.650402464473815, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 430.58128099999993 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7390065871461634, \"F1\": 0.6440019426906265, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 459.5402439999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7358145631402849, \"F1\": 0.6343280019097637, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 489.4018749999999 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7320466936481921, \"F1\": 0.6243023964732918, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 520.249024 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7297990455475116, \"F1\": 0.6158319870759289, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 552.052505 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7256930209088902, \"F1\": 0.6059617649723658, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 584.838155 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7215391690939752, \"F1\": 0.596427301813011, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 618.5052350000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7176695205990274, \"F1\": 0.5867248908296943, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 653.1230730000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7142359194818021, \"F1\": 0.5779493779493778, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 688.6949970000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7138369229898395, \"F1\": 0.5724554949469323, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 725.19325 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7174866856149452, \"F1\": 0.5752924583091347, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 762.649856 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7169740207295733, \"F1\": 0.5716148486206756, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 801.028112 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7183516858952459, \"F1\": 0.573859795618116, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 840.263393 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7206407064198989, \"F1\": 0.5799529121154812, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 880.2889349999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7217720693374808, \"F1\": 0.5866964784795975, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 921.221106 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7228776766660944, \"F1\": 0.5923065819861432, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 962.947955 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.724127174565087, \"F1\": 0.5973170817134251, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1005.542302 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7260280406754186, \"F1\": 0.6013259517462921, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1049.006993 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7277117299422816, \"F1\": 0.6045222270465248, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1093.33419 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7273894532921857, \"F1\": 0.6015933631814591, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1138.520645 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7287136581381487, \"F1\": 0.6038234630387828, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1184.586595 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7287413652314008, \"F1\": 0.6037845330582509, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1230.65543 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.005899 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7636363636363637, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.034194 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.8048780487804877, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.070237 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.819047619047619, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.1191769999999999 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8217054263565893, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.172458 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.830188679245283, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.294112 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8323699421965318, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.432822 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.83248730964467, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.620751 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8240740740740741, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.8126760000000001 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.825, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.097418 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8244274809160306, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.386748 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.8285714285714285, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.708109 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8299319727891157, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.034368 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8322580645161292, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.472974 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8529411764705882, \"F1\": 0.8318042813455658, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.916035 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8546365914786967, \"F1\": 0.8313953488372093, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 3.458949 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8291316526610645, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 4.00711 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8596881959910914, \"F1\": 0.8310991957104559, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 4.560221 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.8291457286432161, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 5.117465 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8577154308617234, \"F1\": 0.8337236533957845, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 5.6788810000000005 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8587786259541985, \"F1\": 0.8310502283105022, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 6.3168120000000005 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.8311688311688311, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 6.9590250000000005 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8606271777003485, \"F1\": 0.8340248962655602, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 7.670201 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8647746243739566, \"F1\": 0.8363636363636363, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 8.386169 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669871794871795, \"F1\": 0.8356435643564357, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 9.138945 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8705701078582434, \"F1\": 0.8426966292134833, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 9.901064000000002 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.870919881305638, \"F1\": 0.8465608465608465, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 10.713223 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755364806866953, \"F1\": 0.8502581755593803, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 11.569231 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8562091503267973, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 12.458796 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798397863818425, \"F1\": 0.8584905660377359, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 13.352328 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798449612403101, \"F1\": 0.8580152671755725, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 14.337352 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798498122653317, \"F1\": 0.8596491228070174, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 15.326948 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798543689320388, \"F1\": 0.860759493670886, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 16.325159 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8602739726027396, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 17.375421 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832951945080092, \"F1\": 0.8636363636363635, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 18.429913 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8809788654060067, \"F1\": 0.8608582574772432, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 19.528877 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8820346320346321, \"F1\": 0.8635794743429286, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 20.632714 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819810326659642, \"F1\": 0.8650602409638554, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 21.817705 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8829568788501027, \"F1\": 0.8661971830985915, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 23.016963 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8808808808808809, \"F1\": 0.8643101482326111, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 24.246233 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880859375, \"F1\": 0.8647450110864746, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 25.480751 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882745471877979, \"F1\": 0.8673139158576052, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 26.819711 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8817504655493482, \"F1\": 0.8672936259143157, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 28.162914 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8835304822565969, \"F1\": 0.8693877551020409, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 29.538844 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861209964412812, \"F1\": 0.8735177865612648, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 30.932979 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8859878154917319, \"F1\": 0.8731848983543079, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 32.425237 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8850085178875639, \"F1\": 0.8717948717948718, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 33.921729 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865721434528774, \"F1\": 0.8731343283582089, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 35.452877 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.886437908496732, \"F1\": 0.8728270814272644, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 36.988201 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8847077662129704, \"F1\": 0.8714285714285714, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 38.528021 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 1.286863 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 3.863138 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 7.731956 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 13.024672 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 19.659339000000003 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 27.654251 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 36.976608 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372397030808, \"F1\": 0.7777777777777778, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 47.719054 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664369963798, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 59.951688 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997897945241474, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 73.68853899999999 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089050257978, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 88.86509 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248303043572, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 105.535247 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999838305441022, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 123.661746 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498554859052, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 143.18039199999998 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999859865470852, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 164.12799199999998 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686241665844, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 186.627363 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998763523956724, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 210.517492 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832219075702, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 235.832236 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998893682929528, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 262.657063 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998949000236474, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 290.942762 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998999049096642, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 320.716469 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904454795175, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 352.027934 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999908609029428, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 384.764181 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124170699132, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 419.010574 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999159204607558, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 454.738206 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191543545486, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 491.833824 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999026858699884, \"F1\": 0.8275862068965517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 530.367488 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999061614398588, \"F1\": 0.8275862068965517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 570.267553 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998912767730946, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 611.572363 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869221741492, \"F1\": 0.4444444444444444, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 654.167087 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9988473013289938, \"F1\": 0.2916666666666666, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 698.17064 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9986369981115034, \"F1\": 0.2522522522522523, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 743.490298 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9979139463040224, \"F1\": 0.1761006289308176, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 790.115891 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9979443903494536, \"F1\": 0.1739130434782608, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 838.025404 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9977478830100296, \"F1\": 0.1573033707865168, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 887.160342 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9967302611411972, \"F1\": 0.125, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 937.511304 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9964777730436016, \"F1\": 0.1142857142857143, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 989.136144 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9964045192427364, \"F1\": 0.1095890410958904, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1041.952402 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9958230031260106, \"F1\": 0.0935672514619883, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1095.894331 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9956515456062218, \"F1\": 0.0881542699724517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1151.054816 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9951936633257288, \"F1\": 0.0786240786240786, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1207.299045 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9946700031279324, \"F1\": 0.0698689956331877, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1264.68116 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9945862052109302, \"F1\": 0.0673684210526315, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1323.182614 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9945539883675102, \"F1\": 0.0655737704918032, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1382.690018 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9939860335847912, \"F1\": 0.0585009140767824, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1443.251394 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9938540274398254, \"F1\": 0.0561403508771929, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1504.7859910000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9938618067978532, \"F1\": 0.0550774526678141, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1567.3680330000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9939677917300724, \"F1\": 0.0548885077186964, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1630.9013820000002 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993543958990198, \"F1\": 0.0504731861198738, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1695.428307 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993483904192372, \"F1\": 0.0490797546012269, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1760.949483 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993484315064894, \"F1\": 0.0490797546012269, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1826.472109 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4952380952380952, \"F1\": 0.208955223880597, \"Memory in Mb\": 0.0192251205444335, \"Time in s\": 0.143993 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5213270142180095, \"F1\": 0.3129251700680272, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 0.331364 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5299684542586751, \"F1\": 0.4063745019920318, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 0.6339969999999999 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5437352245862884, \"F1\": 0.4238805970149253, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 1.026482 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.553875236294896, \"F1\": 0.4099999999999999, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 1.502748 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5590551181102362, \"F1\": 0.4017094017094017, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 2.038539 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5762483130904184, \"F1\": 0.3984674329501916, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 2.585217 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5867768595041323, \"F1\": 0.4047619047619047, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 3.2443470000000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5918153200419727, \"F1\": 0.3987635239567234, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 4.029044000000001 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6015108593012276, \"F1\": 0.3971428571428571, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 4.857172 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6, \"F1\": 0.3852242744063324, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 5.757943 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6073957513768686, \"F1\": 0.3966142684401451, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 6.7312840000000005 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085693536673928, \"F1\": 0.384, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 7.793338 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089008766014835, \"F1\": 0.3790149892933619, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 8.86628 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085588420390182, \"F1\": 0.3742454728370221, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 10.05345 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6094395280235988, \"F1\": 0.370722433460076, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 11.283728 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6102165463631316, \"F1\": 0.3754448398576512, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 12.570083 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.610907184058731, \"F1\": 0.3816666666666667, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 13.875162 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6060606060606061, \"F1\": 0.3799843627834245, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 15.24589 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6045304388862671, \"F1\": 0.3838235294117647, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 16.723857 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6053932584269663, \"F1\": 0.3868715083798882, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 18.213202 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6061776061776062, \"F1\": 0.388814913448735, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 19.838043 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.606893721789085, \"F1\": 0.388250319284802, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 21.528239 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608336610302792, \"F1\": 0.3963636363636363, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 23.295102 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6070215175537939, \"F1\": 0.3944153577661431, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 25.108421 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6047186932849364, \"F1\": 0.3892316320807628, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 26.99552 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6057322614470465, \"F1\": 0.3922413793103448, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 28.904989 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6056622851365016, \"F1\": 0.3899895724713243, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 30.87684 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6036446469248291, \"F1\": 0.3903903903903904, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 32.946938 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6045926391947153, \"F1\": 0.3924601256645723, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 35.112766 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6039573820395738, \"F1\": 0.3900609470229723, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 37.308874 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6024771453848422, \"F1\": 0.391696750902527, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 39.588614 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030883614526737, \"F1\": 0.3933566433566433, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 41.900558 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6069941715237303, \"F1\": 0.4035383319292334, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 44.30438 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6079805877595039, \"F1\": 0.4079804560260586, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 46.776579 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6107470511140236, \"F1\": 0.4146629877808436, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 49.299973 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6123437898495282, \"F1\": 0.4180704441041348, \"Memory in Mb\": 0.0440921783447265, \"Time in s\": 51.9923 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143531164638689, \"F1\": 0.4246017043349389, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 54.748055 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.617227195741592, \"F1\": 0.4321608040201005, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 57.554127 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6218447747110167, \"F1\": 0.4439819632327437, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 60.441345 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6239355581127733, \"F1\": 0.4513096037609133, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 63.387968 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6259267580319029, \"F1\": 0.4567699836867862, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 66.368103 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6276058810621022, \"F1\": 0.4638230647709321, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 69.45485500000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6283508470941453, \"F1\": 0.4695439240893787, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 72.676145 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6288530090165653, \"F1\": 0.471641791044776, \"Memory in Mb\": 0.0594196319580078, \"Time in s\": 75.94439200000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6311794871794871, \"F1\": 0.475801749271137, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 79.31100500000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6336077092953222, \"F1\": 0.484026010743568, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 82.69585900000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6361313151169649, \"F1\": 0.4905037159372419, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 86.19871000000002 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6383593298671288, \"F1\": 0.495703544575725, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 89.82165300000003 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6421966408756369, \"F1\": 0.5034049240440022, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 93.53024900000004 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530386740331491, \"F1\": 0.8513966480446927, \"Memory in Mb\": 0.1757516860961914, \"Time in s\": 1.081486 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8663721700717836, \"F1\": 0.8393094289508632, \"Memory in Mb\": 0.2084512710571289, \"Time in s\": 3.208731 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8365844681634156, \"F1\": 0.809278350515464, \"Memory in Mb\": 0.2330217361450195, \"Time in s\": 6.394793 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8459839911675407, \"F1\": 0.8210391276459269, \"Memory in Mb\": 0.2330217361450195, \"Time in s\": 10.694791 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8511812762199161, \"F1\": 0.8157463094587206, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 16.02834 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404783808647655, \"F1\": 0.8020095912308747, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 22.571918 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8334647531935025, \"F1\": 0.7966884867154409, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 30.238204 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8330343590451221, \"F1\": 0.7912353347135956, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 38.961308 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8344167790997179, \"F1\": 0.8013537374926426, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 48.732242 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8403797328623468, \"F1\": 0.8129849974133472, \"Memory in Mb\": 0.2980508804321289, \"Time in s\": 59.636444 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398394380331159, \"F1\": 0.8171402383134739, \"Memory in Mb\": 0.2981653213500976, \"Time in s\": 71.55266999999999 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.840493054916751, \"F1\": 0.8200124558854057, \"Memory in Mb\": 0.2981653213500976, \"Time in s\": 84.613385 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404517279442982, \"F1\": 0.8184014690248381, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 98.771271 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397066939998423, \"F1\": 0.8184983483617534, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 114.088656 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422253293104717, \"F1\": 0.8228684732319893, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 130.484857 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8440841669541221, \"F1\": 0.8259128023417038, \"Memory in Mb\": 0.3823747634887695, \"Time in s\": 148.034702 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8445555483410169, \"F1\": 0.8246153846153847, \"Memory in Mb\": 0.3824014663696289, \"Time in s\": 166.630313 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382903047770895, \"F1\": 0.8146221441124781, \"Memory in Mb\": 0.4081621170043945, \"Time in s\": 186.33286 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8345436588624876, \"F1\": 0.8052516411378555, \"Memory in Mb\": 0.4081621170043945, \"Time in s\": 207.149801 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8332689442022186, \"F1\": 0.8030253635000325, \"Memory in Mb\": 0.408848762512207, \"Time in s\": 229.10312700000003 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8340604467805519, \"F1\": 0.8008327550312283, \"Memory in Mb\": 0.4101419448852539, \"Time in s\": 252.195562 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8288595655009784, \"F1\": 0.7951228302000121, \"Memory in Mb\": 0.4740419387817383, \"Time in s\": 276.349221 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8238230071507414, \"F1\": 0.787570163763671, \"Memory in Mb\": 0.4986543655395508, \"Time in s\": 301.796373 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8251391252357081, \"F1\": 0.7858028169014086, \"Memory in Mb\": 0.498814582824707, \"Time in s\": 328.42960500000004 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245838668373879, \"F1\": 0.7828843106180666, \"Memory in Mb\": 0.4754457473754883, \"Time in s\": 356.18046400000003 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.81761834005519, \"F1\": 0.7712703652433182, \"Memory in Mb\": 0.5000581741333008, \"Time in s\": 385.033694 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8151342954090184, \"F1\": 0.7656509121061359, \"Memory in Mb\": 0.5002222061157227, \"Time in s\": 415.059878 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8133401663578665, \"F1\": 0.7649540828989824, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 446.384667 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8142199215925094, \"F1\": 0.7659329592864336, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 478.875266 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8130909893667906, \"F1\": 0.7650758416574177, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 512.642228 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.810646252447926, \"F1\": 0.7611605137878379, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 547.6069200000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8084233037839329, \"F1\": 0.755846667838931, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 583.7938770000001 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8039602635715958, \"F1\": 0.7488322262695523, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 621.109455 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8052787066194851, \"F1\": 0.7498540328634582, \"Memory in Mb\": 0.6720895767211914, \"Time in s\": 659.6567610000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.802863540319783, \"F1\": 0.7460285215130216, \"Memory in Mb\": 0.6720895767211914, \"Time in s\": 699.5069490000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8010731258623333, \"F1\": 0.7451889089623752, \"Memory in Mb\": 0.6838197708129883, \"Time in s\": 740.492735 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8010500880045345, \"F1\": 0.7469934367768125, \"Memory in Mb\": 0.7644319534301758, \"Time in s\": 782.6537000000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.799663055160194, \"F1\": 0.7444893120438633, \"Memory in Mb\": 0.7656755447387695, \"Time in s\": 825.979857 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7997056576005434, \"F1\": 0.7438746335637508, \"Memory in Mb\": 0.796971321105957, \"Time in s\": 870.4262610000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.798283617097602, \"F1\": 0.7418420680887131, \"Memory in Mb\": 0.8215837478637695, \"Time in s\": 916.052417 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7980347287656482, \"F1\": 0.741577678263865, \"Memory in Mb\": 0.8528566360473633, \"Time in s\": 962.729846 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7942761031247536, \"F1\": 0.7384913476314559, \"Memory in Mb\": 0.8296480178833008, \"Time in s\": 1010.431184 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.791975768154632, \"F1\": 0.7385131646876614, \"Memory in Mb\": 0.8296480178833008, \"Time in s\": 1059.228611 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7917617841105787, \"F1\": 0.7414904549842734, \"Memory in Mb\": 0.8308916091918945, \"Time in s\": 1109.092208 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7937158134857367, \"F1\": 0.7465187775031646, \"Memory in Mb\": 0.8308916091918945, \"Time in s\": 1159.935967 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7945770845830834, \"F1\": 0.749744219357479, \"Memory in Mb\": 0.8553438186645508, \"Time in s\": 1211.819823 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7952373124163359, \"F1\": 0.7509355271802782, \"Memory in Mb\": 0.8799333572387695, \"Time in s\": 1264.739744 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7953871271874353, \"F1\": 0.7515912897822445, \"Memory in Mb\": 0.881199836730957, \"Time in s\": 1318.691004 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7949676750839096, \"F1\": 0.7499038303016982, \"Memory in Mb\": 0.881199836730957, \"Time in s\": 1373.745004 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7956246274752202, \"F1\": 0.7508745492707605, \"Memory in Mb\": 0.9384660720825196, \"Time in s\": 1429.8385990000002 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7956346141113637, \"F1\": 0.7508341405661393, \"Memory in Mb\": 0.9384660720825196, \"Time in s\": 1485.976427 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.007366 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7346938775510203, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.021904 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7894736842105262, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.108104 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.8080808080808081, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.262464 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8130081300813008, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.426996 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.670297 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8263473053892215, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.944361 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.8272251308900525, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 1.225091 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8190476190476189, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 1.620606 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.8205128205128206, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 2.072395 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8203125000000001, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 2.536963 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.8248175182481753, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 3.035956 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8263888888888888, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 3.5418380000000003 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 4.130076000000001 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8529411764705882, \"F1\": 0.8286604361370716, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 4.770647 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8546365914786967, \"F1\": 0.8284023668639053, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 5.418701 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8262108262108262, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 6.103302 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8596881959910914, \"F1\": 0.8283378746594006, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 6.878701 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.826530612244898, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 7.659851000000001 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8577154308617234, \"F1\": 0.8313539192399049, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 8.471725000000001 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8587786259541985, \"F1\": 0.8287037037037036, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 9.290161 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 10.200081 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8606271777003485, \"F1\": 0.8319327731092437, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 11.144835 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8647746243739566, \"F1\": 0.834355828220859, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 12.149797 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669871794871795, \"F1\": 0.8336673346693387, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 13.191129 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8705701078582434, \"F1\": 0.8409090909090909, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 14.297317 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.870919881305638, \"F1\": 0.8449197860962566, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 15.408972 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755364806866953, \"F1\": 0.8486956521739131, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 16.598807 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8547854785478548, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 17.82593 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798397863818425, \"F1\": 0.8571428571428571, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 19.123649 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798449612403101, \"F1\": 0.8567026194144837, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 20.439518 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798498122653317, \"F1\": 0.8584070796460177, \"Memory in Mb\": 0.0060701370239257, \"Time in s\": 21.870793 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786407766990292, \"F1\": 0.8575498575498576, \"Memory in Mb\": 0.1326732635498047, \"Time in s\": 23.308925 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8579387186629527, \"Memory in Mb\": 0.1326961517333984, \"Time in s\": 24.793982 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8810068649885584, \"F1\": 0.8583106267029972, \"Memory in Mb\": 0.1326961517333984, \"Time in s\": 26.327422 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882091212458287, \"F1\": 0.8590425531914893, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 27.867454 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8831168831168831, \"F1\": 0.8611825192802056, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 29.49699 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880927291886196, \"F1\": 0.8599752168525404, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 31.132602 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819301848049281, \"F1\": 0.8609431680773881, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 32.858381 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828828828828829, \"F1\": 0.8621908127208481, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 34.600804000000004 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8818359375, \"F1\": 0.8613974799541809, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 36.37479200000001 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836987607244995, \"F1\": 0.8641425389755011, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 38.236126000000006 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8845437616387337, \"F1\": 0.8658008658008659, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 40.114172 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844404003639672, \"F1\": 0.8656084656084656, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 41.998405000000005 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816725978647687, \"F1\": 0.8630278063851698, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 43.96255500000001 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807658833768495, \"F1\": 0.8614762386248735, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 45.93298000000001 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879045996592845, \"F1\": 0.8594059405940594, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 47.92952100000001 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807339449541285, \"F1\": 0.8610301263362489, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 50.02063300000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880718954248366, \"F1\": 0.8609523809523809, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 52.11693600000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8799039231385108, \"F1\": 0.8605947955390334, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 54.27575100000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 1.086226 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 3.167363 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 6.335451 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 10.587829 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 15.968691 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 22.515101 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 30.177580000000003 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.0262222290039062, \"Time in s\": 38.907943 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 48.927066 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 60.172540000000005 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 72.66801500000001 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 86.48422800000002 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 101.518721 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 117.73184500000002 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 135.114956 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 153.67141 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 173.49434000000002 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 194.59387200000003 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 216.90021000000004 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 240.42103000000003 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 265.208452 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 291.209442 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 318.43843100000004 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 346.89099000000004 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 376.5294080000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 407.49804200000005 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 439.6062170000001 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 472.95335100000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 507.474024 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 543.2100710000001 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 580.098547 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 618.1800870000001 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 657.2504170000001 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 697.447209 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 738.7766780000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 781.207926 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 824.7260210000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 869.3947840000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 915.176721 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 961.985028 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1009.890756 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1058.848202 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1108.7919539999998 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1159.7893379999998 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1211.840415 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1264.8087919999998 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1318.8158339999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1373.8298589999995 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1429.7685149999998 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1486.6476859999998 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1543.5553739999998 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5714285714285714, \"F1\": 0.628099173553719, \"Memory in Mb\": 0.0256843566894531, \"Time in s\": 0.216494 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.5903083700440529, \"Memory in Mb\": 0.0257682800292968, \"Time in s\": 0.463954 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5615141955835962, \"F1\": 0.5947521865889213, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 0.862573 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.5822222222222222, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 1.389833 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.555765595463138, \"F1\": 0.5506692160611854, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 1.964112 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.5291181364392679, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 2.693957 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5708502024291497, \"F1\": 0.5167173252279634, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 3.480128 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5761511216056671, \"F1\": 0.510231923601637, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 4.453125999999999 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.505, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 5.580188 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4953271028037382, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 6.755147 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.478688524590164, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 8.08575 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4807302231237322, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 9.558451000000002 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.4661508704061895, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 11.087295 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.458029197080292, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 12.740385000000002 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.4517241379310345, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 14.490633000000004 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.4459016393442623, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 16.383274000000004 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6018878400888396, \"F1\": 0.445475638051044, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 18.381747000000004 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.4470416362308254, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 20.420329 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.443526170798898, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 22.615668000000003 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5960358659745163, \"F1\": 0.4427083333333333, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 24.891681 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5968539325842697, \"F1\": 0.4425108763206961, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 27.295309000000003 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5975975975975976, \"F1\": 0.4423305588585017, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 29.792211 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5982765695527288, \"F1\": 0.4396107613050944, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 32.414577 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5973259929217459, \"F1\": 0.4398249452954048, \"Memory in Mb\": 0.0302915573120117, \"Time in s\": 35.17394 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5956964892412231, \"F1\": 0.4436363636363636, \"Memory in Mb\": 0.0567083358764648, \"Time in s\": 38.067898 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4497512437810945, \"Memory in Mb\": 0.0569524765014648, \"Time in s\": 41.158639 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.600139811254806, \"F1\": 0.4536771728748806, \"Memory in Mb\": 0.0571966171264648, \"Time in s\": 44.452629 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5979103471520054, \"F1\": 0.4525011473152822, \"Memory in Mb\": 0.0573034286499023, \"Time in s\": 47.888765 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971363488447771, \"F1\": 0.4497777777777778, \"Memory in Mb\": 0.0574254989624023, \"Time in s\": 51.476908 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008178672538534, \"F1\": 0.4499349804941482, \"Memory in Mb\": 0.0574865341186523, \"Time in s\": 55.178717 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6024353120243531, \"F1\": 0.4470787468247248, \"Memory in Mb\": 0.0576086044311523, \"Time in s\": 59.035765 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012975523444412, \"F1\": 0.444991789819376, \"Memory in Mb\": 0.0576696395874023, \"Time in s\": 63.084021 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.603946239633972, \"F1\": 0.4431041415359871, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 67.283017 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.607826810990841, \"F1\": 0.4452296819787986, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 71.628079 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6071717444055001, \"F1\": 0.441976254308694, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 76.17092 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6062909567496724, \"F1\": 0.4378742514970059, \"Memory in Mb\": 0.0577917098999023, \"Time in s\": 80.84267399999999 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.606988013261923, \"F1\": 0.4353242946134115, \"Memory in Mb\": 0.0578527450561523, \"Time in s\": 85.696272 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6088899925502855, \"F1\": 0.4360902255639098, \"Memory in Mb\": 0.0578527450561523, \"Time in s\": 90.658573 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6082748608758771, \"F1\": 0.4341139461726669, \"Memory in Mb\": 0.0579137802124023, \"Time in s\": 95.895015 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6105213493748526, \"F1\": 0.4370951244459598, \"Memory in Mb\": 0.0579137802124023, \"Time in s\": 101.21739399999998 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6119677790563867, \"F1\": 0.4372496662216288, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 106.75825799999998 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.614243990114581, \"F1\": 0.4387054593004249, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 112.41943399999998 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6126837831906956, \"F1\": 0.4355612408058842, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 118.261679 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.613339052112374, \"F1\": 0.4360337816703159, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 124.266912 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6148039421262319, \"F1\": 0.4352905010759299, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 130.389994 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157948717948718, \"F1\": 0.4332829046898639, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 136.677955 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6167436257779563, \"F1\": 0.434705359786793, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 143.134937 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6158836249262827, \"F1\": 0.4313154831199068, \"Memory in Mb\": 0.0641775131225586, \"Time in s\": 149.736273 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6160215674947044, \"F1\": 0.4296338672768878, \"Memory in Mb\": 0.0642385482788086, \"Time in s\": 156.525598 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6165314210228345, \"F1\": 0.4282498593134496, \"Memory in Mb\": 0.0618467330932617, \"Time in s\": 163.516222 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8386740331491712, \"F1\": 0.8370535714285713, \"Memory in Mb\": 0.1553249359130859, \"Time in s\": 2.212895 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8823854224185533, \"F1\": 0.857334226389819, \"Memory in Mb\": 0.2904033660888672, \"Time in s\": 6.521798 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8715495031284505, \"F1\": 0.8438478747203579, \"Memory in Mb\": 0.1283740997314453, \"Time in s\": 13.845606 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.875241512558653, \"F1\": 0.8472972972972973, \"Memory in Mb\": 0.2500133514404297, \"Time in s\": 22.913433 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737028041510267, \"F1\": 0.8396860986547084, \"Memory in Mb\": 0.3712940216064453, \"Time in s\": 34.075607999999995 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8656853725850966, \"F1\": 0.8300744878957169, \"Memory in Mb\": 0.4407672882080078, \"Time in s\": 47.709684 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8646901119697209, \"F1\": 0.8296943231441047, \"Memory in Mb\": 0.2620487213134765, \"Time in s\": 63.50523799999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.864771629639851, \"F1\": 0.8289703315881326, \"Memory in Mb\": 0.2866535186767578, \"Time in s\": 81.25362299999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8572304673126456, \"F1\": 0.8312064965197217, \"Memory in Mb\": 0.2866878509521484, \"Time in s\": 101.144105 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8580417264598742, \"F1\": 0.8370501773948302, \"Memory in Mb\": 0.2865924835205078, \"Time in s\": 123.033084 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8544907175112895, \"F1\": 0.8369320737741789, \"Memory in Mb\": 0.3109416961669922, \"Time in s\": 147.021637 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8583386992916935, \"F1\": 0.8434322895485971, \"Memory in Mb\": 0.371591567993164, \"Time in s\": 172.950216 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8529336842999066, \"F1\": 0.8357982555934774, \"Memory in Mb\": 0.4628047943115234, \"Time in s\": 201.490822 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533469999211543, \"F1\": 0.8362099330750264, \"Memory in Mb\": 0.1895275115966797, \"Time in s\": 232.642586 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8551769813820002, \"F1\": 0.8395303326810176, \"Memory in Mb\": 0.1939334869384765, \"Time in s\": 265.763258 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.855122456019317, \"F1\": 0.8397435897435896, \"Memory in Mb\": 0.1697406768798828, \"Time in s\": 300.834382 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537757288487761, \"F1\": 0.8365984617617181, \"Memory in Mb\": 0.1694965362548828, \"Time in s\": 338.213883 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8506776231066413, \"F1\": 0.8316626339440029, \"Memory in Mb\": 0.1640834808349609, \"Time in s\": 377.804328 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8495904258409341, \"F1\": 0.8278704873346187, \"Memory in Mb\": 0.1691112518310547, \"Time in s\": 419.462025 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8498261493459904, \"F1\": 0.827752104830031, \"Memory in Mb\": 0.198678970336914, \"Time in s\": 463.148728 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8522996057818659, \"F1\": 0.8287211995611362, \"Memory in Mb\": 0.2572231292724609, \"Time in s\": 508.959572 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8470222266820531, \"F1\": 0.8238895627563102, \"Memory in Mb\": 0.315378189086914, \"Time in s\": 557.675148 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8434035609732687, \"F1\": 0.8200121352529097, \"Memory in Mb\": 0.3239650726318359, \"Time in s\": 609.8923100000001 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450535804626776, \"F1\": 0.8196563353139554, \"Memory in Mb\": 0.3222179412841797, \"Time in s\": 664.4541280000001 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8452911828336792, \"F1\": 0.8184455958549223, \"Memory in Mb\": 0.4409503936767578, \"Time in s\": 721.910691 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8424962852897474, \"F1\": 0.8143700590413289, \"Memory in Mb\": 0.4440975189208984, \"Time in s\": 782.4177400000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8403990024937655, \"F1\": 0.8111089607122121, \"Memory in Mb\": 0.5018138885498047, \"Time in s\": 845.9758730000001 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8367169945204399, \"F1\": 0.8072053621299572, \"Memory in Mb\": 0.5608501434326172, \"Time in s\": 913.002536 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8375137974346287, \"F1\": 0.8080226649278229, \"Memory in Mb\": 0.3154354095458984, \"Time in s\": 983.555265 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8378527539644579, \"F1\": 0.8096081565645656, \"Memory in Mb\": 0.315774917602539, \"Time in s\": 1056.640488 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8349652839594089, \"F1\": 0.8051456678017405, \"Memory in Mb\": 0.187021255493164, \"Time in s\": 1131.521461 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8328791693973991, \"F1\": 0.8007566722868775, \"Memory in Mb\": 0.2230243682861328, \"Time in s\": 1208.700577 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8303843194969395, \"F1\": 0.7968267959453503, \"Memory in Mb\": 0.104043960571289, \"Time in s\": 1288.239999 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8300490211992338, \"F1\": 0.7958984755740965, \"Memory in Mb\": 0.2261257171630859, \"Time in s\": 1369.046902 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8277460657857391, \"F1\": 0.7934815486993346, \"Memory in Mb\": 0.378305435180664, \"Time in s\": 1451.951614 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227502682814656, \"F1\": 0.7867025790502896, \"Memory in Mb\": 0.1292285919189453, \"Time in s\": 1536.962592 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8198442767220548, \"F1\": 0.7850354180756772, \"Memory in Mb\": 0.1289234161376953, \"Time in s\": 1623.2849270000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8166264850262875, \"F1\": 0.7809127190699289, \"Memory in Mb\": 0.1940555572509765, \"Time in s\": 1710.9311020000002 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8170265757224124, \"F1\": 0.7804530172852923, \"Memory in Mb\": 0.3470821380615234, \"Time in s\": 1800.2335220000002 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8175446342338365, \"F1\": 0.7795559111822364, \"Memory in Mb\": 0.4078502655029297, \"Time in s\": 1890.9592170000003 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.816610580158837, \"F1\": 0.7771817349208426, \"Memory in Mb\": 0.4166545867919922, \"Time in s\": 1983.256251 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8155107618722242, \"F1\": 0.7753456221198157, \"Memory in Mb\": 0.1291065216064453, \"Time in s\": 2077.01254 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8146674538593834, \"F1\": 0.7751479289940829, \"Memory in Mb\": 0.2005825042724609, \"Time in s\": 2172.116472 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8157188370167825, \"F1\": 0.7778516995282448, \"Memory in Mb\": 0.169626235961914, \"Time in s\": 2268.811937 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8171650028207706, \"F1\": 0.7812151452891106, \"Memory in Mb\": 0.2508678436279297, \"Time in s\": 2366.696648 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8187402519496101, \"F1\": 0.7846022241231821, \"Memory in Mb\": 0.2554492950439453, \"Time in s\": 2465.8461540000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8196848359597003, \"F1\": 0.7859015113490603, \"Memory in Mb\": 0.3113727569580078, \"Time in s\": 2566.2285070000003 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8203141168625107, \"F1\": 0.7864093592827466, \"Memory in Mb\": 0.2909717559814453, \"Time in s\": 2667.8448940000003 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8199265649989863, \"F1\": 0.7853959731543624, \"Memory in Mb\": 0.4365749359130859, \"Time in s\": 2771.03508 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8212543323252169, \"F1\": 0.7873854475750336, \"Memory in Mb\": 0.4353275299072265, \"Time in s\": 2875.842657 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8212575312837942, \"F1\": 0.7873440987265327, \"Memory in Mb\": 0.4353275299072265, \"Time in s\": 2980.68937 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.0747642517089843, \"Time in s\": 0.008848 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7346938775510203, \"Memory in Mb\": 0.0748252868652343, \"Time in s\": 0.123836 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7894736842105262, \"Memory in Mb\": 0.0748252868652343, \"Time in s\": 0.332733 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.8080808080808081, \"Memory in Mb\": 0.0748863220214843, \"Time in s\": 0.575353 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8225806451612904, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.0748863220214843, \"Time in s\": 0.909775 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.825503355704698, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0749092102050781, \"Time in s\": 1.284417 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8242424242424242, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 1.765942 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8291457286432161, \"F1\": 0.8191489361702128, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 2.25515 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8155339805825242, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 2.805996 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.817391304347826, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 3.45663 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8174603174603176, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 4.129749 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8361204013377926, \"F1\": 0.8178438661710038, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 4.871246 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8425925925925926, \"F1\": 0.8197879858657244, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 5.6743250000000005 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8481375358166189, \"F1\": 0.822742474916388, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 6.528728000000001 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8502673796791443, \"F1\": 0.8227848101265823, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 7.451788 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8521303258145363, \"F1\": 0.8228228228228228, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 8.382915 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8537735849056604, \"F1\": 0.8208092485549133, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 9.397859 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8574610244988864, \"F1\": 0.8232044198895027, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 10.451359 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.8238341968911918, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 11.619284 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8557114228456913, \"F1\": 0.8260869565217391, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 12.854081 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8568702290076335, \"F1\": 0.823529411764706, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 14.155744 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561020036429873, \"F1\": 0.8240534521158129, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 15.508673 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554006968641115, \"F1\": 0.8230277185501066, \"Memory in Mb\": 0.1140928268432617, \"Time in s\": 16.956902 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8547579298831386, \"F1\": 0.8176100628930818, \"Memory in Mb\": 0.1419858932495117, \"Time in s\": 18.498415 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8573717948717948, \"F1\": 0.8172484599589321, \"Memory in Mb\": 0.1422224044799804, \"Time in s\": 20.046891 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8597842835130971, \"F1\": 0.8233009708737864, \"Memory in Mb\": 0.1423902511596679, \"Time in s\": 21.659211 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8590504451038575, \"F1\": 0.8263254113345521, \"Memory in Mb\": 0.1424512863159179, \"Time in s\": 23.289464 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8640915593705293, \"F1\": 0.8306595365418894, \"Memory in Mb\": 0.1425123214721679, \"Time in s\": 25.025232 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8646408839779005, \"F1\": 0.8344594594594595, \"Memory in Mb\": 0.1425733566284179, \"Time in s\": 26.77059 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8664886515353805, \"F1\": 0.8371335504885993, \"Memory in Mb\": 0.1426343917846679, \"Time in s\": 28.602532 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8643410852713178, \"F1\": 0.8330683624801273, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 30.506622 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8635794743429287, \"F1\": 0.8340943683409437, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 32.425334 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8628640776699029, \"F1\": 0.8345534407027819, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 34.352118 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8645465253239105, \"F1\": 0.8364153627311521, \"Memory in Mb\": 0.1427183151245117, \"Time in s\": 36.371837 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672768878718535, \"F1\": 0.838888888888889, \"Memory in Mb\": 0.1427183151245117, \"Time in s\": 38.48177 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8665183537263627, \"F1\": 0.8378378378378378, \"Memory in Mb\": 0.1427793502807617, \"Time in s\": 40.637242 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8668831168831169, \"F1\": 0.8400520156046815, \"Memory in Mb\": 0.1427793502807617, \"Time in s\": 42.878637 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8661749209694415, \"F1\": 0.8410513141426783, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 45.126806 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86652977412731, \"F1\": 0.8414634146341464, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 47.480371 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8638638638638638, \"F1\": 0.8392434988179669, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 49.860964 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8623046875, \"F1\": 0.8377445339470656, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 52.359728 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8636796949475691, \"F1\": 0.8402234636871508, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 54.917309 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649906890130353, \"F1\": 0.8429035752979415, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 57.530035 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671519563239308, \"F1\": 0.8456659619450316, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 60.237019 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8701067615658363, \"F1\": 0.8507157464212679, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 62.977514 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8720626631853786, \"F1\": 0.852852852852853, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 65.816825 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8713798977853492, \"F1\": 0.8521057786483839, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 68.70086099999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.872393661384487, \"F1\": 0.8530259365994236, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 71.69850399999999 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8733660130718954, \"F1\": 0.8541862652869238, \"Memory in Mb\": 0.1429624557495117, \"Time in s\": 74.74610599999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8742994395516414, \"F1\": 0.8560953253895509, \"Memory in Mb\": 0.1429624557495117, \"Time in s\": 77.86495099999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0237245559692382, \"Time in s\": 1.538486 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0237855911254882, \"Time in s\": 4.672632 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 9.280899 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 15.518128 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 23.359252 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0239076614379882, \"Time in s\": 32.724381 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0239076614379882, \"Time in s\": 43.566998 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.0331544876098632, \"Time in s\": 56.059492 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.023930549621582, \"Time in s\": 70.315874 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.023930549621582, \"Time in s\": 86.215201 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 103.810178 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 123.100461 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 144.232391 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 167.059054 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 191.625058 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 217.971038 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 246.1385 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 276.028821 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 307.727155 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 341.140461 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 376.24707 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 412.982235 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 451.376836 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 491.342412 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 532.9409959999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 576.05932 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 620.875381 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 667.2134759999999 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 715.0678459999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 764.41064 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 815.214443 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 867.5634849999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 921.307598 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 976.50125 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1033.066349 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1090.838953 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1149.858677 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1210.07507 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1271.441242 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1333.994434 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1397.762471 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1462.67416 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1528.680001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1595.853878 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1664.0432529999998 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1733.3243249999998 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1803.716354 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1875.203937 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1947.740223 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 2021.343945 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 2094.94949 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.638095238095238, \"F1\": 0.5777777777777778, \"Memory in Mb\": 0.6023197174072266, \"Time in s\": 1.25138 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7535545023696683, \"F1\": 0.711111111111111, \"Memory in Mb\": 1.087297439575195, \"Time in s\": 3.920593 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7760252365930599, \"F1\": 0.7380073800738007, \"Memory in Mb\": 1.471883773803711, \"Time in s\": 8.005582 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8085106382978723, \"F1\": 0.7768595041322315, \"Memory in Mb\": 1.8271961212158203, \"Time in s\": 13.704046000000002 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8204158790170132, \"F1\": 0.7845804988662132, \"Memory in Mb\": 2.2761096954345703, \"Time in s\": 21.017212 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8362204724409449, \"F1\": 0.8052434456928838, \"Memory in Mb\": 2.6539440155029297, \"Time in s\": 30.07026 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8434547908232118, \"F1\": 0.8110749185667754, \"Memory in Mb\": 3.06672477722168, \"Time in s\": 40.88011 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8512396694214877, \"F1\": 0.8220338983050847, \"Memory in Mb\": 3.4897289276123047, \"Time in s\": 53.580909000000005 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8583420776495279, \"F1\": 0.8301886792452831, \"Memory in Mb\": 3.93476676940918, \"Time in s\": 68.252368 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8659112370160529, \"F1\": 0.8378995433789953, \"Memory in Mb\": 4.283300399780273, \"Time in s\": 84.83204500000001 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8695278969957082, \"F1\": 0.8429752066115702, \"Memory in Mb\": 4.800313949584961, \"Time in s\": 103.574646 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8693941778127459, \"F1\": 0.8442776735459662, \"Memory in Mb\": 5.391313552856445, \"Time in s\": 124.497156 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714596949891068, \"F1\": 0.8454148471615721, \"Memory in Mb\": 5.846994400024414, \"Time in s\": 147.830368 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759271746459879, \"F1\": 0.8518518518518519, \"Memory in Mb\": 6.193078994750977, \"Time in s\": 173.44391299999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8753933291378225, \"F1\": 0.8520179372197308, \"Memory in Mb\": 6.296388626098633, \"Time in s\": 201.557429 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755162241887906, \"F1\": 0.8523442967109867, \"Memory in Mb\": 6.211141586303711, \"Time in s\": 232.060182 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8767351471404775, \"F1\": 0.8550913838120104, \"Memory in Mb\": 6.65928840637207, \"Time in s\": 264.912691 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8730991085474568, \"F1\": 0.8522588522588523, \"Memory in Mb\": 6.686662673950195, \"Time in s\": 300.275827 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8708395429706905, \"F1\": 0.8507462686567164, \"Memory in Mb\": 7.210599899291992, \"Time in s\": 338.470819 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725814063237376, \"F1\": 0.8540540540540541, \"Memory in Mb\": 7.48176383972168, \"Time in s\": 378.991608 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8723595505617977, \"F1\": 0.8539094650205761, \"Memory in Mb\": 7.915548324584961, \"Time in s\": 421.86917 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8751608751608752, \"F1\": 0.8574228319451249, \"Memory in Mb\": 8.423246383666992, \"Time in s\": 467.302026 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8740254411161263, \"F1\": 0.8560712611345522, \"Memory in Mb\": 8.870996475219727, \"Time in s\": 515.200386 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.874557609123083, \"F1\": 0.857779759251003, \"Memory in Mb\": 9.376256942749023, \"Time in s\": 565.505493 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8761796904492262, \"F1\": 0.8600682593856656, \"Memory in Mb\": 9.769472122192385, \"Time in s\": 618.233402 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8780399274047187, \"F1\": 0.8621821164889254, \"Memory in Mb\": 10.359186172485352, \"Time in s\": 673.368122 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8797623208668298, \"F1\": 0.8638163103721298, \"Memory in Mb\": 10.741575241088867, \"Time in s\": 730.824809 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8800134816312774, \"F1\": 0.8637059724349159, \"Memory in Mb\": 11.09235954284668, \"Time in s\": 790.5343869999999 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8805727302310445, \"F1\": 0.8648250460405157, \"Memory in Mb\": 11.562868118286133, \"Time in s\": 852.458144 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8826675055048757, \"F1\": 0.8667381207574134, \"Memory in Mb\": 10.152639389038086, \"Time in s\": 916.443171 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.882496194824962, \"F1\": 0.8663434903047091, \"Memory in Mb\": 10.670488357543944, \"Time in s\": 982.391476 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8826304924800944, \"F1\": 0.867244829886591, \"Memory in Mb\": 11.057397842407228, \"Time in s\": 1050.1851049999998 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8839004861309694, \"F1\": 0.8680961663417803, \"Memory in Mb\": 10.33408546447754, \"Time in s\": 1119.7824649999998 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850957535387177, \"F1\": 0.8689043698543382, \"Memory in Mb\": 10.692270278930664, \"Time in s\": 1191.1920959999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8846050148287948, \"F1\": 0.8687116564417178, \"Memory in Mb\": 11.112970352172852, \"Time in s\": 1264.4750769999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8859764089121888, \"F1\": 0.870420017873101, \"Memory in Mb\": 11.59941291809082, \"Time in s\": 1339.6069449999998 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.884723284876307, \"F1\": 0.8687572590011614, \"Memory in Mb\": 12.03856086730957, \"Time in s\": 1416.6409169999995 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8840327787434815, \"F1\": 0.867892503536068, \"Memory in Mb\": 12.43459129333496, \"Time in s\": 1495.7064749999995 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.884587466731188, \"F1\": 0.868558831634059, \"Memory in Mb\": 12.796384811401367, \"Time in s\": 1576.7285749999996 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8858221278603444, \"F1\": 0.8701019860440149, \"Memory in Mb\": 13.12009620666504, \"Time in s\": 1659.7498909999997 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872266973532796, \"F1\": 0.8716605552645365, \"Memory in Mb\": 13.362188339233398, \"Time in s\": 1744.8641249999996 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869916872612896, \"F1\": 0.8713225888974162, \"Memory in Mb\": 13.906320571899414, \"Time in s\": 1831.981592 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872064955014264, \"F1\": 0.8719481813652217, \"Memory in Mb\": 14.321008682250977, \"Time in s\": 1921.07186 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8876259918507399, \"F1\": 0.8728155339805825, \"Memory in Mb\": 14.677774429321287, \"Time in s\": 2012.226564 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8867687146152233, \"F1\": 0.8716119828815977, \"Memory in Mb\": 15.041936874389648, \"Time in s\": 2105.5104569999994 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886974358974359, \"F1\": 0.8715318256003731, \"Memory in Mb\": 15.36302375793457, \"Time in s\": 2200.9404059999997 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8877735394499097, \"F1\": 0.8726941471191073, \"Memory in Mb\": 14.241693496704102, \"Time in s\": 2298.464636999999 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886966778061726, \"F1\": 0.8716804284757868, \"Memory in Mb\": 14.559698104858398, \"Time in s\": 2397.961828999999 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869632197188523, \"F1\": 0.8716939890710382, \"Memory in Mb\": 15.019205093383787, \"Time in s\": 2499.520506999999 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886959803736554, \"F1\": 0.8717070036410367, \"Memory in Mb\": 15.355104446411133, \"Time in s\": 2603.016254999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8674033149171271, \"F1\": 0.8669623059866962, \"Memory in Mb\": 3.022599220275879, \"Time in s\": 14.706798 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8956377691882937, \"F1\": 0.8737474949899798, \"Memory in Mb\": 3.453568458557129, \"Time in s\": 43.63985 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.889216047110784, \"F1\": 0.8638625056535504, \"Memory in Mb\": 5.134407997131348, \"Time in s\": 89.85880599999999 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8901462876069556, \"F1\": 0.8665325285043594, \"Memory in Mb\": 5.045891761779785, \"Time in s\": 149.36791399999998 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8924707440936189, \"F1\": 0.8628555336524922, \"Memory in Mb\": 6.377499580383301, \"Time in s\": 220.195834 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8870285188592456, \"F1\": 0.8556652562294312, \"Memory in Mb\": 8.556572914123535, \"Time in s\": 302.539101 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.884245387162908, \"F1\": 0.8540175019888624, \"Memory in Mb\": 10.355942726135254, \"Time in s\": 396.160169 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835380157306472, \"F1\": 0.8516174402250353, \"Memory in Mb\": 10.061070442199709, \"Time in s\": 501.0892999999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847050165583221, \"F1\": 0.8605341246290802, \"Memory in Mb\": 12.516213417053224, \"Time in s\": 615.7123809999999 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8869632409758251, \"F1\": 0.8668400520156047, \"Memory in Mb\": 14.3945894241333, \"Time in s\": 740.068354 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8839939789262419, \"F1\": 0.8666974169741698, \"Memory in Mb\": 15.028592109680176, \"Time in s\": 874.678214 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.886119032287738, \"F1\": 0.8712830110210023, \"Memory in Mb\": 18.58602237701416, \"Time in s\": 1018.727325 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851150547677676, \"F1\": 0.869464544138929, \"Memory in Mb\": 18.284192085266117, \"Time in s\": 1172.329585 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8825987542379563, \"F1\": 0.8672550592850139, \"Memory in Mb\": 18.56262683868408, \"Time in s\": 1335.5183499999998 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835087202884686, \"F1\": 0.8699794661190965, \"Memory in Mb\": 22.36763858795166, \"Time in s\": 1507.9316749999998 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883270093135564, \"F1\": 0.870085995085995, \"Memory in Mb\": 23.97218418121338, \"Time in s\": 1690.157865 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8826050256476852, \"F1\": 0.8679713743245216, \"Memory in Mb\": 24.89116382598877, \"Time in s\": 1881.87418 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8806034218433801, \"F1\": 0.8649885583524027, \"Memory in Mb\": 9.630642890930176, \"Time in s\": 2082.713846 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880787776680416, \"F1\": 0.862742474916388, \"Memory in Mb\": 9.825531959533691, \"Time in s\": 2290.8714669999995 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881505601854407, \"F1\": 0.8635178946030132, \"Memory in Mb\": 13.432568550109863, \"Time in s\": 2506.1422499999994 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835742444152431, \"F1\": 0.864335150364427, \"Memory in Mb\": 11.236374855041504, \"Time in s\": 2728.16983 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847022226682053, \"F1\": 0.8666744024135531, \"Memory in Mb\": 10.915810585021973, \"Time in s\": 2956.9763619999994 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8845803138647598, \"F1\": 0.866618601297765, \"Memory in Mb\": 6.771607398986816, \"Time in s\": 3192.2184919999995 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8842845973416732, \"F1\": 0.8643665768194071, \"Memory in Mb\": 9.905537605285645, \"Time in s\": 3433.744552 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8832178021104684, \"F1\": 0.8619303648796786, \"Memory in Mb\": 11.60939121246338, \"Time in s\": 3682.104731 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819783485459562, \"F1\": 0.8599637316139432, \"Memory in Mb\": 7.878331184387207, \"Time in s\": 3937.9632889999993 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805854216916724, \"F1\": 0.8573800107416631, \"Memory in Mb\": 10.65384006500244, \"Time in s\": 4201.066475999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8791343083533725, \"F1\": 0.8556497175141242, \"Memory in Mb\": 11.591797828674316, \"Time in s\": 4470.752341999999 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8801431127012522, \"F1\": 0.8566616596112704, \"Memory in Mb\": 13.86082935333252, \"Time in s\": 4746.937765999999 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881195040288458, \"F1\": 0.8584082438061829, \"Memory in Mb\": 14.463074684143066, \"Time in s\": 5029.888654999999 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8798646964571836, \"F1\": 0.8561807331628303, \"Memory in Mb\": 15.367924690246582, \"Time in s\": 5319.910836999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8796523058880342, \"F1\": 0.8551019560612982, \"Memory in Mb\": 16.377129554748535, \"Time in s\": 5616.458601999999 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.879285547044854, \"F1\": 0.8544934080554772, \"Memory in Mb\": 16.05477237701416, \"Time in s\": 5919.470834999999 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8791351491737818, \"F1\": 0.8535347574648885, \"Memory in Mb\": 17.57622241973877, \"Time in s\": 6228.255318999999 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8775111167176511, \"F1\": 0.851267519338286, \"Memory in Mb\": 17.546963691711426, \"Time in s\": 6543.393541999999 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8771117583933773, \"F1\": 0.8510701545778836, \"Memory in Mb\": 17.15481662750244, \"Time in s\": 6864.899302999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8770621401509502, \"F1\": 0.8512864927285193, \"Memory in Mb\": 13.577618598937988, \"Time in s\": 7192.851994 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8757080198681267, \"F1\": 0.849643346568748, \"Memory in Mb\": 12.363858222961426, \"Time in s\": 7526.949055999999 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8754139189992358, \"F1\": 0.848624484181568, \"Memory in Mb\": 12.55275058746338, \"Time in s\": 7866.609101999999 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.875134523579569, \"F1\": 0.8474427699672971, \"Memory in Mb\": 12.88097858428955, \"Time in s\": 8211.574848999999 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8743034055727554, \"F1\": 0.8459838363846282, \"Memory in Mb\": 15.634392738342283, \"Time in s\": 8562.247513999999 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8741163175737826, \"F1\": 0.8451642099818981, \"Memory in Mb\": 17.75814151763916, \"Time in s\": 8918.936239999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8743743101368175, \"F1\": 0.8458873913591133, \"Memory in Mb\": 18.55082416534424, \"Time in s\": 9281.578229 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8744951458746206, \"F1\": 0.847381104908331, \"Memory in Mb\": 20.39273166656494, \"Time in s\": 9650.394165999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8750521229365449, \"F1\": 0.8493434283686265, \"Memory in Mb\": 20.04684543609619, \"Time in s\": 10025.208226999996 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8757768446310737, \"F1\": 0.8512911843276937, \"Memory in Mb\": 22.40410327911377, \"Time in s\": 10405.883388999997 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8760010333247223, \"F1\": 0.8517603458925264, \"Memory in Mb\": 17.905674934387207, \"Time in s\": 10792.424187999995 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758249591832041, \"F1\": 0.8516320474777449, \"Memory in Mb\": 17.979458808898926, \"Time in s\": 11185.171687999997 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758362804946725, \"F1\": 0.8511557571829769, \"Memory in Mb\": 19.483532905578613, \"Time in s\": 11584.749531999996 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765977173889048, \"F1\": 0.8524053440354862, \"Memory in Mb\": 22.38176822662353, \"Time in s\": 11990.855977999996 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8766083291033082, \"F1\": 0.8523906328378699, \"Memory in Mb\": 22.39494037628174, \"Time in s\": 12397.578789999996 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.625, \"F1\": 0.7096774193548387, \"Memory in Mb\": 0.4178829193115234, \"Time in s\": 0.504078 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7450980392156864, \"Memory in Mb\": 0.6195468902587891, \"Time in s\": 1.506996 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.8261966705322266, \"Time in s\": 2.945496 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.797979797979798, \"F1\": 0.8039215686274509, \"Memory in Mb\": 0.9074077606201172, \"Time in s\": 4.810448 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7903225806451613, \"F1\": 0.7968749999999999, \"Memory in Mb\": 1.0524044036865234, \"Time in s\": 7.208508 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8120805369127517, \"F1\": 0.8227848101265823, \"Memory in Mb\": 1.155344009399414, \"Time in s\": 10.051324 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8372093023255814, \"Memory in Mb\": 1.2272701263427734, \"Time in s\": 13.451327 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8442211055276382, \"F1\": 0.8426395939086295, \"Memory in Mb\": 1.3437442779541016, \"Time in s\": 17.363237 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8465116279069769, \"Memory in Mb\": 1.4417095184326172, \"Time in s\": 21.777532 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.85, \"Memory in Mb\": 1.652822494506836, \"Time in s\": 26.610844 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8540145985401459, \"F1\": 0.8473282442748092, \"Memory in Mb\": 1.7137775421142578, \"Time in s\": 32.103705 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8595317725752508, \"F1\": 0.85, \"Memory in Mb\": 1.6836071014404297, \"Time in s\": 38.177642 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672839506172839, \"F1\": 0.8542372881355932, \"Memory in Mb\": 1.8154468536376955, \"Time in s\": 44.724647 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8681948424068768, \"F1\": 0.8525641025641026, \"Memory in Mb\": 1.9355945587158203, \"Time in s\": 51.783982 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8484848484848485, \"Memory in Mb\": 2.1126270294189453, \"Time in s\": 59.453597 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8696741854636592, \"F1\": 0.8505747126436781, \"Memory in Mb\": 2.2513599395751958, \"Time in s\": 67.701448 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8467966573816157, \"Memory in Mb\": 2.4080867767333984, \"Time in s\": 76.525873 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8775055679287305, \"F1\": 0.8533333333333333, \"Memory in Mb\": 2.413846969604492, \"Time in s\": 85.91210000000001 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879746835443038, \"F1\": 0.85785536159601, \"Memory in Mb\": 2.540945053100586, \"Time in s\": 95.911251 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8817635270541082, \"F1\": 0.8624708624708626, \"Memory in Mb\": 2.727457046508789, \"Time in s\": 106.551347 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8835877862595419, \"F1\": 0.8623024830699774, \"Memory in Mb\": 2.780088424682617, \"Time in s\": 117.8137 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816029143897997, \"F1\": 0.8602150537634409, \"Memory in Mb\": 2.84419059753418, \"Time in s\": 129.668358 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832752613240418, \"F1\": 0.8618556701030927, \"Memory in Mb\": 2.9667911529541016, \"Time in s\": 142.149346 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864774624373957, \"F1\": 0.8634538152610441, \"Memory in Mb\": 2.9313793182373047, \"Time in s\": 155.146824 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878205128205128, \"F1\": 0.8622047244094488, \"Memory in Mb\": 3.1180286407470703, \"Time in s\": 168.863765 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8906009244992296, \"F1\": 0.8672897196261682, \"Memory in Mb\": 3.1772937774658203, \"Time in s\": 183.176428 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8931750741839762, \"F1\": 0.8732394366197184, \"Memory in Mb\": 3.270914077758789, \"Time in s\": 198.116157 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8969957081545065, \"F1\": 0.8762886597938143, \"Memory in Mb\": 3.2819652557373047, \"Time in s\": 213.702702 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8950276243093923, \"F1\": 0.8762214983713356, \"Memory in Mb\": 3.465627670288086, \"Time in s\": 229.894704 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.897196261682243, \"F1\": 0.8791208791208791, \"Memory in Mb\": 3.637697219848633, \"Time in s\": 246.719197 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8979328165374677, \"F1\": 0.8793893129770992, \"Memory in Mb\": 3.6838626861572266, \"Time in s\": 264.274398 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8961201501877347, \"F1\": 0.8784773060029282, \"Memory in Mb\": 3.7807750701904297, \"Time in s\": 282.500107 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8968446601941747, \"F1\": 0.8801128349788435, \"Memory in Mb\": 3.913633346557617, \"Time in s\": 301.464554 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8987043580683156, \"F1\": 0.8818681318681318, \"Memory in Mb\": 4.011789321899414, \"Time in s\": 321.06457099999994 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9016018306636157, \"F1\": 0.8847184986595175, \"Memory in Mb\": 4.15968132019043, \"Time in s\": 341.449663 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9010011123470524, \"F1\": 0.8836601307189543, \"Memory in Mb\": 3.946676254272461, \"Time in s\": 362.64137199999993 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9036796536796536, \"F1\": 0.8877679697351829, \"Memory in Mb\": 4.049928665161133, \"Time in s\": 384.6765929999999 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9030558482613276, \"F1\": 0.8883495145631068, \"Memory in Mb\": 3.684160232543945, \"Time in s\": 407.5276099999999 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.904517453798768, \"F1\": 0.8899408284023669, \"Memory in Mb\": 3.787748336791992, \"Time in s\": 431.1052179999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9049049049049048, \"F1\": 0.8904267589388698, \"Memory in Mb\": 4.052656173706055, \"Time in s\": 455.43358799999993 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9033203125, \"F1\": 0.888888888888889, \"Memory in Mb\": 4.062379837036133, \"Time in s\": 480.5827999999999 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9046711153479504, \"F1\": 0.8908296943231442, \"Memory in Mb\": 4.190084457397461, \"Time in s\": 506.4991779999999 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9059590316573556, \"F1\": 0.8928950159066809, \"Memory in Mb\": 4.285711288452148, \"Time in s\": 533.2628339999999 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9062784349408554, \"F1\": 0.8934850051706308, \"Memory in Mb\": 4.370790481567383, \"Time in s\": 560.8485399999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9065836298932384, \"F1\": 0.8948948948948948, \"Memory in Mb\": 3.93486213684082, \"Time in s\": 589.2233909999999 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9077458659704092, \"F1\": 0.896078431372549, \"Memory in Mb\": 4.19316291809082, \"Time in s\": 618.4066789999998 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9063032367972744, \"F1\": 0.8942307692307692, \"Memory in Mb\": 4.349401473999023, \"Time in s\": 648.4320089999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9065888240200168, \"F1\": 0.8943396226415095, \"Memory in Mb\": 4.34752082824707, \"Time in s\": 679.2709969999999 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9068627450980392, \"F1\": 0.8944444444444444, \"Memory in Mb\": 4.031515121459961, \"Time in s\": 710.9105619999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9079263410728584, \"F1\": 0.896115627822945, \"Memory in Mb\": 4.102910995483398, \"Time in s\": 743.3769359999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1703529357910156, \"Time in s\": 12.381202 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1715736389160156, \"Time in s\": 37.073822 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 74.106824 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 122.30955 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 180.539768 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1740150451660156, \"Time in s\": 247.174942 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1740150451660156, \"Time in s\": 321.611977 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.23138427734375, \"Time in s\": 404.612477 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.1771812438964843, \"Time in s\": 498.19936 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.1691703796386718, \"Time in s\": 601.949625 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1704368591308593, \"Time in s\": 714.510104 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1782646179199218, \"Time in s\": 835.601872 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1626014709472656, \"Time in s\": 964.845183 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.170440673828125, \"Time in s\": 1103.12758 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1782646179199218, \"Time in s\": 1249.157139 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1781692504882812, \"Time in s\": 1402.52966 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.1626205444335937, \"Time in s\": 1563.348194 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.1704368591308593, \"Time in s\": 1731.617157 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.1704330444335937, \"Time in s\": 1907.150595 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1781158447265625, \"Time in s\": 2090.214351 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1704559326171875, \"Time in s\": 2280.326256 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.163818359375, \"Time in s\": 2477.410916 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1715812683105468, \"Time in s\": 2681.481315 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.171630859375, \"Time in s\": 2892.603814 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1794776916503906, \"Time in s\": 3110.724932 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.3225936889648437, \"Time in s\": 3336.815763 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.3238716125488281, \"Time in s\": 3571.848368 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.2926750183105469, \"Time in s\": 3815.616702 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.3244895935058594, \"Time in s\": 4068.203899 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.2933502197265625, \"Time in s\": 4329.847041999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.2782058715820312, \"Time in s\": 4599.769264 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.3094024658203125, \"Time in s\": 4878.106527 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.3095321655273437, \"Time in s\": 5164.770925 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.2940139770507812, \"Time in s\": 5459.39874 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.293975830078125, \"Time in s\": 5761.313045999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.3251571655273437, \"Time in s\": 6070.487373999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.3101234436035156, \"Time in s\": 6386.879354 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.3101387023925781, \"Time in s\": 6710.520715 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.3101615905761719, \"Time in s\": 7041.446151 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.3101768493652344, \"Time in s\": 7379.414547 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.3100128173828125, \"Time in s\": 7724.224697000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.3101425170898437, \"Time in s\": 8075.760258 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.3100852966308594, \"Time in s\": 8434.038373 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.3107223510742187, \"Time in s\": 8799.103777999999 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.310821533203125, \"Time in s\": 9170.869249 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.2950706481933594, \"Time in s\": 9549.506616 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.2951812744140625, \"Time in s\": 9935.081315999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.2957954406738281, \"Time in s\": 10327.647623999996 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.3115119934082031, \"Time in s\": 10728.119291999998 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.3115577697753906, \"Time in s\": 11135.737891999996 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.3270950317382812, \"Time in s\": 11543.384409999995 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5428571428571428, \"F1\": 0.4, \"Memory in Mb\": 0.2255392074584961, \"Time in s\": 2.569769 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.4685714285714286, \"Memory in Mb\": 0.6304416656494141, \"Time in s\": 8.011061999999999 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.637223974763407, \"F1\": 0.5724907063197027, \"Memory in Mb\": 0.9710559844970704, \"Time in s\": 16.523663 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6926713947990544, \"F1\": 0.6448087431693988, \"Memory in Mb\": 1.262800216674805, \"Time in s\": 28.175313 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7145557655954632, \"F1\": 0.6621923937360179, \"Memory in Mb\": 1.5703105926513672, \"Time in s\": 43.218913 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7448818897637796, \"F1\": 0.7000000000000001, \"Memory in Mb\": 1.467294692993164, \"Time in s\": 61.573557 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7624831309041835, \"F1\": 0.7170418006430868, \"Memory in Mb\": 1.877767562866211, \"Time in s\": 83.22394800000001 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7827626918536009, \"F1\": 0.7430167597765364, \"Memory in Mb\": 2.3253536224365234, \"Time in s\": 108.413447 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7964323189926548, \"F1\": 0.7599009900990098, \"Memory in Mb\": 1.7426891326904297, \"Time in s\": 137.183902 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8054768649669499, \"F1\": 0.7674943566591422, \"Memory in Mb\": 1.7942829132080078, \"Time in s\": 169.50541299999998 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8103004291845494, \"F1\": 0.7747196738022425, \"Memory in Mb\": 1.8575687408447263, \"Time in s\": 205.462561 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8151062155782848, \"F1\": 0.7822057460611677, \"Memory in Mb\": 1.917165756225586, \"Time in s\": 244.587795 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8191721132897604, \"F1\": 0.7851596203623814, \"Memory in Mb\": 2.1873340606689453, \"Time in s\": 286.663235 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8240053944706676, \"F1\": 0.7916999201915402, \"Memory in Mb\": 2.2810306549072266, \"Time in s\": 331.700902 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8231592196349906, \"F1\": 0.7916975537435137, \"Memory in Mb\": 2.585817337036133, \"Time in s\": 379.560946 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8271386430678466, \"F1\": 0.7961029923451634, \"Memory in Mb\": 2.885595321655273, \"Time in s\": 430.279509 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8334258745141588, \"F1\": 0.8046875, \"Memory in Mb\": 2.8240184783935547, \"Time in s\": 483.724395 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8332459360251704, \"F1\": 0.8060975609756097, \"Memory in Mb\": 3.138376235961914, \"Time in s\": 539.732848 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8340784898161947, \"F1\": 0.8084862385321101, \"Memory in Mb\": 3.5751514434814453, \"Time in s\": 598.378334 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8367154318074563, \"F1\": 0.813778256189451, \"Memory in Mb\": 3.890401840209961, \"Time in s\": 659.469374 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8382022471910112, \"F1\": 0.8157625383828044, \"Memory in Mb\": 4.414094924926758, \"Time in s\": 723.240852 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8404118404118404, \"F1\": 0.8185365853658537, \"Memory in Mb\": 4.828973770141602, \"Time in s\": 789.4489060000001 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8432498974148543, \"F1\": 0.8216619981325864, \"Memory in Mb\": 4.724649429321289, \"Time in s\": 858.0992190000001 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8450648839952811, \"F1\": 0.8247330960854093, \"Memory in Mb\": 4.20762825012207, \"Time in s\": 929.163006 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.846734616836542, \"F1\": 0.8270868824531515, \"Memory in Mb\": 4.517709732055664, \"Time in s\": 1002.552295 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8500907441016334, \"F1\": 0.8306683066830667, \"Memory in Mb\": 4.757001876831055, \"Time in s\": 1078.240465 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8521495980426425, \"F1\": 0.8324752475247525, \"Memory in Mb\": 4.690572738647461, \"Time in s\": 1156.1945970000002 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.854061341422312, \"F1\": 0.8339087073264287, \"Memory in Mb\": 4.873067855834961, \"Time in s\": 1236.185934 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8538887081028311, \"F1\": 0.8340110905730129, \"Memory in Mb\": 5.244169235229492, \"Time in s\": 1318.3478 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8565586662472475, \"F1\": 0.836441893830703, \"Memory in Mb\": 5.473237991333008, \"Time in s\": 1402.707418 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8575342465753425, \"F1\": 0.8371607515657619, \"Memory in Mb\": 5.716192245483398, \"Time in s\": 1489.296647 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8593335299321734, \"F1\": 0.8400938652363393, \"Memory in Mb\": 6.05610466003418, \"Time in s\": 1578.3688909999998 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8615956534172148, \"F1\": 0.8419333768778575, \"Memory in Mb\": 6.433168411254883, \"Time in s\": 1669.799251 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8631695809048016, \"F1\": 0.8430436166825852, \"Memory in Mb\": 6.670698165893555, \"Time in s\": 1763.5519829999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8638447020760313, \"F1\": 0.8444718201416692, \"Memory in Mb\": 7.050989151000977, \"Time in s\": 1859.626818 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8657929226736566, \"F1\": 0.84688995215311, \"Memory in Mb\": 7.316404342651367, \"Time in s\": 1958.012503 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8653404743687835, \"F1\": 0.846064139941691, \"Memory in Mb\": 7.61528205871582, \"Time in s\": 2058.675528 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8644151974174323, \"F1\": 0.8449744463373083, \"Memory in Mb\": 7.967977523803711, \"Time in s\": 2161.579262 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8654730220179047, \"F1\": 0.8462389380530975, \"Memory in Mb\": 7.394952774047852, \"Time in s\": 2266.595873 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8674215616890776, \"F1\": 0.8486806677436726, \"Memory in Mb\": 7.571531295776367, \"Time in s\": 2373.458397 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8688147295742232, \"F1\": 0.8503937007874016, \"Memory in Mb\": 7.877435684204102, \"Time in s\": 2482.305033 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8683441923163334, \"F1\": 0.8496664956387892, \"Memory in Mb\": 8.180627822875977, \"Time in s\": 2593.165336 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8689927583936801, \"F1\": 0.8508618536097925, \"Memory in Mb\": 8.39448356628418, \"Time in s\": 2705.945127 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8691829294445635, \"F1\": 0.8516536964980544, \"Memory in Mb\": 8.710580825805664, \"Time in s\": 2820.674173 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8689452715453974, \"F1\": 0.8510131108462455, \"Memory in Mb\": 9.014997482299805, \"Time in s\": 2937.453009 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8703589743589744, \"F1\": 0.8523364485981308, \"Memory in Mb\": 9.167715072631836, \"Time in s\": 3056.177406 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8713109817305762, \"F1\": 0.8538864827900615, \"Memory in Mb\": 9.482858657836914, \"Time in s\": 3176.936292 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714369962649892, \"F1\": 0.8539526574363555, \"Memory in Mb\": 9.87147331237793, \"Time in s\": 3299.754349 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8717504332755632, \"F1\": 0.8543944031482291, \"Memory in Mb\": 10.20412254333496, \"Time in s\": 3424.594329 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8716739007359879, \"F1\": 0.8542648949849978, \"Memory in Mb\": 10.538087844848633, \"Time in s\": 3551.414099 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8828729281767956, \"F1\": 0.8811659192825113, \"Memory in Mb\": 5.258722305297852, \"Time in s\": 37.408806 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9039204859193816, \"F1\": 0.8804945054945055, \"Memory in Mb\": 8.443174362182617, \"Time in s\": 104.985856 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8873757821126242, \"F1\": 0.8602739726027397, \"Memory in Mb\": 12.445928573608398, \"Time in s\": 198.514402 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.884902014904775, \"F1\": 0.8576305906452714, \"Memory in Mb\": 16.533422470092773, \"Time in s\": 314.268209 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8812099801280636, \"F1\": 0.8452243958573072, \"Memory in Mb\": 19.26629447937012, \"Time in s\": 451.77035 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8756209751609936, \"F1\": 0.8372652864708715, \"Memory in Mb\": 24.12981605529785, \"Time in s\": 609.66041 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8719444882510645, \"F1\": 0.8340825500612996, \"Memory in Mb\": 28.348302841186523, \"Time in s\": 788.9253299999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8691872498965089, \"F1\": 0.8308351177730193, \"Memory in Mb\": 31.66439247131348, \"Time in s\": 988.709629 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8690052741322213, \"F1\": 0.8387681159420289, \"Memory in Mb\": 35.27585411071777, \"Time in s\": 1209.125777 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.869742797218236, \"F1\": 0.844162704701532, \"Memory in Mb\": 38.39363670349121, \"Time in s\": 1448.169528 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8681384846964375, \"F1\": 0.8455934195064629, \"Memory in Mb\": 42.49019813537598, \"Time in s\": 1706.33653 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687333272008095, \"F1\": 0.849265870920038, \"Memory in Mb\": 46.91076469421387, \"Time in s\": 1983.228319 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8694064702386006, \"F1\": 0.8495402073958129, \"Memory in Mb\": 41.51856422424317, \"Time in s\": 2278.772125 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8672238429393676, \"F1\": 0.8479320931912588, \"Memory in Mb\": 46.98099327087402, \"Time in s\": 2591.81768 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8682758113179778, \"F1\": 0.8513289036544851, \"Memory in Mb\": 50.757638931274414, \"Time in s\": 2922.748705 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687823387374957, \"F1\": 0.8527863777089782, \"Memory in Mb\": 43.74130058288574, \"Time in s\": 3269.777293 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8686448931887539, \"F1\": 0.8518708354689903, \"Memory in Mb\": 49.06788444519043, \"Time in s\": 3632.343799 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8649659655362728, \"F1\": 0.8467427616926504, \"Memory in Mb\": 54.357858657836914, \"Time in s\": 4011.129855 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.865392435949573, \"F1\": 0.8447987139125192, \"Memory in Mb\": 52.38222694396973, \"Time in s\": 4407.893822 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8652795408135107, \"F1\": 0.8448286822198208, \"Memory in Mb\": 59.36540412902832, \"Time in s\": 4822.718697 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.867700394218134, \"F1\": 0.8459136822773186, \"Memory in Mb\": 57.10729789733887, \"Time in s\": 5251.994155 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8692489087351363, \"F1\": 0.84882236918436, \"Memory in Mb\": 51.34463310241699, \"Time in s\": 5694.600867 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8691750251955656, \"F1\": 0.8490085299656586, \"Memory in Mb\": 53.35045051574707, \"Time in s\": 6149.875029 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8700271351699398, \"F1\": 0.8478682170542635, \"Memory in Mb\": 59.89077186584473, \"Time in s\": 6616.750619 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8694865115457636, \"F1\": 0.8459614382490881, \"Memory in Mb\": 65.61615180969238, \"Time in s\": 7094.935599 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.868860114625345, \"F1\": 0.8444690599667689, \"Memory in Mb\": 72.22853660583496, \"Time in s\": 7585.744803 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8682392379706472, \"F1\": 0.8428648042513772, \"Memory in Mb\": 80.47726249694824, \"Time in s\": 8090.441156999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8672290771474751, \"F1\": 0.8417888012025554, \"Memory in Mb\": 73.03231239318848, \"Time in s\": 8608.413273 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8684581128915617, \"F1\": 0.8430802760624773, \"Memory in Mb\": 79.16955757141113, \"Time in s\": 9138.877569 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8698259685786821, \"F1\": 0.8451234459814394, \"Memory in Mb\": 84.2670955657959, \"Time in s\": 9681.232951 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689335944454335, \"F1\": 0.8434616202423985, \"Memory in Mb\": 93.53372383117676, \"Time in s\": 10236.036265 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688558518160808, \"F1\": 0.8423322551215061, \"Memory in Mb\": 92.7535800933838, \"Time in s\": 10801.143387 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689166137070609, \"F1\": 0.8421603769785332, \"Memory in Mb\": 90.79977607727052, \"Time in s\": 11375.205452 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8684868356978216, \"F1\": 0.8408063818917749, \"Memory in Mb\": 97.95510292053224, \"Time in s\": 11957.401901 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8668832192752847, \"F1\": 0.8384553561177235, \"Memory in Mb\": 105.25788688659668, \"Time in s\": 12547.475367 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8664724819868159, \"F1\": 0.8381943154374885, \"Memory in Mb\": 94.53887367248537, \"Time in s\": 13145.300695000002 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8661436114674383, \"F1\": 0.8380553650701988, \"Memory in Mb\": 102.01883506774902, \"Time in s\": 13750.733881000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8648444534812793, \"F1\": 0.8364441632394811, \"Memory in Mb\": 100.427827835083, \"Time in s\": 14363.910035000004 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8647723091727281, \"F1\": 0.8357849876271651, \"Memory in Mb\": 107.87262153625488, \"Time in s\": 14984.863075000005 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8642346643119292, \"F1\": 0.83420946219167, \"Memory in Mb\": 112.83228874206544, \"Time in s\": 15613.594311000004 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8632655808318751, \"F1\": 0.8326689289361843, \"Memory in Mb\": 120.66686058044434, \"Time in s\": 16250.422859000002 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8627631336889964, \"F1\": 0.8316135689410551, \"Memory in Mb\": 126.15458106994627, \"Time in s\": 16895.166705000003 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8634391765279668, \"F1\": 0.8328620797989319, \"Memory in Mb\": 107.22049903869627, \"Time in s\": 17548.303432000004 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8644356922459423, \"F1\": 0.8353041570157259, \"Memory in Mb\": 103.5422191619873, \"Time in s\": 18208.490072000004 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.865436974171552, \"F1\": 0.8378745788758201, \"Memory in Mb\": 97.78764533996582, \"Time in s\": 18874.504490000003 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8666586682663467, \"F1\": 0.8403940603728063, \"Memory in Mb\": 102.76390266418456, \"Time in s\": 19545.753018000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8673821657546793, \"F1\": 0.8415055151702265, \"Memory in Mb\": 107.51249122619627, \"Time in s\": 20221.607860000004 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8677075907742544, \"F1\": 0.841885392332005, \"Memory in Mb\": 102.9560489654541, \"Time in s\": 20902.251232 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8679071024711104, \"F1\": 0.8415905775568644, \"Memory in Mb\": 103.86480903625488, \"Time in s\": 21587.715975000003 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688933530541513, \"F1\": 0.843053830501308, \"Memory in Mb\": 107.29028511047365, \"Time in s\": 22278.011723000003 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688839354682086, \"F1\": 0.8430092751631743, \"Memory in Mb\": 107.32242012023926, \"Time in s\": 22968.976341 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8333333333333334, \"Memory in Mb\": 0.7029104232788086, \"Time in s\": 1.141902 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8372093023255814, \"Memory in Mb\": 0.9397382736206056, \"Time in s\": 3.355867 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783783783783784, \"F1\": 0.8695652173913043, \"Memory in Mb\": 0.9708013534545898, \"Time in s\": 6.532426 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8817204301075269, \"Memory in Mb\": 1.056624412536621, \"Time in s\": 10.815831 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8790322580645161, \"F1\": 0.8739495798319329, \"Memory in Mb\": 1.3782567977905271, \"Time in s\": 16.293882 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8791946308724832, \"F1\": 0.8783783783783784, \"Memory in Mb\": 1.379134178161621, \"Time in s\": 22.890072 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896551724137931, \"F1\": 0.888888888888889, \"Memory in Mb\": 1.4786596298217771, \"Time in s\": 30.52314 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8944723618090452, \"F1\": 0.8864864864864866, \"Memory in Mb\": 1.6607275009155271, \"Time in s\": 39.247513 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8973214285714286, \"F1\": 0.8866995073891626, \"Memory in Mb\": 1.686568260192871, \"Time in s\": 49.014513 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.891566265060241, \"F1\": 0.88, \"Memory in Mb\": 1.9668035507202148, \"Time in s\": 59.910523 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8905109489051095, \"F1\": 0.8780487804878049, \"Memory in Mb\": 2.071291923522949, \"Time in s\": 71.88595 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896321070234113, \"F1\": 0.8754716981132077, \"Memory in Mb\": 2.2423620223999023, \"Time in s\": 85.00905599999999 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8723404255319148, \"Memory in Mb\": 2.4750547409057617, \"Time in s\": 99.146325 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8853868194842407, \"F1\": 0.8666666666666667, \"Memory in Mb\": 2.532855033874512, \"Time in s\": 114.354375 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8850267379679144, \"F1\": 0.8652037617554859, \"Memory in Mb\": 2.8150205612182617, \"Time in s\": 130.79065599999998 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8822055137844611, \"F1\": 0.8613569321533923, \"Memory in Mb\": 2.795191764831543, \"Time in s\": 148.41625799999997 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844339622641509, \"F1\": 0.8611898016997167, \"Memory in Mb\": 2.962000846862793, \"Time in s\": 167.06847699999997 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888641425389755, \"F1\": 0.8648648648648649, \"Memory in Mb\": 3.03415584564209, \"Time in s\": 186.853211 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.890295358649789, \"F1\": 0.8686868686868687, \"Memory in Mb\": 3.071761131286621, \"Time in s\": 207.829 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8917835671342685, \"F1\": 0.8726415094339622, \"Memory in Mb\": 3.1551198959350586, \"Time in s\": 229.951047 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8950381679389313, \"F1\": 0.8741418764302059, \"Memory in Mb\": 3.1928510665893555, \"Time in s\": 253.214946 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8943533697632058, \"F1\": 0.8739130434782608, \"Memory in Mb\": 3.2878904342651367, \"Time in s\": 277.566695 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8937282229965157, \"F1\": 0.8726513569937369, \"Memory in Mb\": 3.441771507263184, \"Time in s\": 303.140017 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8964941569282137, \"F1\": 0.8739837398373984, \"Memory in Mb\": 3.515273094177246, \"Time in s\": 329.715755 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8958333333333334, \"F1\": 0.8707753479125249, \"Memory in Mb\": 3.5807180404663086, \"Time in s\": 357.461609 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8983050847457628, \"F1\": 0.8754716981132076, \"Memory in Mb\": 3.695376396179199, \"Time in s\": 386.398038 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8961424332344213, \"F1\": 0.8754448398576512, \"Memory in Mb\": 3.755015373229981, \"Time in s\": 416.468493 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899856938483548, \"F1\": 0.8784722222222222, \"Memory in Mb\": 3.790995597839356, \"Time in s\": 447.643877 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899171270718232, \"F1\": 0.8797364085667215, \"Memory in Mb\": 3.939352989196777, \"Time in s\": 479.929216 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9012016021361816, \"F1\": 0.8825396825396825, \"Memory in Mb\": 3.942519187927246, \"Time in s\": 513.493128 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9018087855297158, \"F1\": 0.8827160493827161, \"Memory in Mb\": 4.2751874923706055, \"Time in s\": 548.2965389999999 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899874843554443, \"F1\": 0.8816568047337278, \"Memory in Mb\": 4.513812065124512, \"Time in s\": 584.3583229999999 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8992718446601942, \"F1\": 0.8819345661450925, \"Memory in Mb\": 4.773520469665527, \"Time in s\": 621.611368 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.901060070671378, \"F1\": 0.8836565096952909, \"Memory in Mb\": 4.815379142761231, \"Time in s\": 660.1796979999999 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.902745995423341, \"F1\": 0.884979702300406, \"Memory in Mb\": 4.980830192565918, \"Time in s\": 699.8371419999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9043381535038932, \"F1\": 0.8862433862433862, \"Memory in Mb\": 5.134486198425293, \"Time in s\": 740.7850809999999 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9069264069264068, \"F1\": 0.8903061224489796, \"Memory in Mb\": 5.209948539733887, \"Time in s\": 782.8443949999998 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9083245521601686, \"F1\": 0.8932515337423312, \"Memory in Mb\": 5.338950157165527, \"Time in s\": 826.1813729999999 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9106776180698152, \"F1\": 0.895808383233533, \"Memory in Mb\": 5.382990837097168, \"Time in s\": 870.7373769999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9109109109109108, \"F1\": 0.896149358226371, \"Memory in Mb\": 5.44773006439209, \"Time in s\": 916.477949 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9111328125, \"F1\": 0.896942242355606, \"Memory in Mb\": 5.591532707214356, \"Time in s\": 963.445117 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.911344137273594, \"F1\": 0.8976897689768977, \"Memory in Mb\": 5.678961753845215, \"Time in s\": 1011.481541 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9115456238361266, \"F1\": 0.8986125933831376, \"Memory in Mb\": 5.788058280944824, \"Time in s\": 1060.652982 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9117379435850772, \"F1\": 0.8990634755463061, \"Memory in Mb\": 5.880267143249512, \"Time in s\": 1110.965738 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9119217081850534, \"F1\": 0.9003021148036253, \"Memory in Mb\": 6.120665550231934, \"Time in s\": 1162.442095 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9129677980852916, \"F1\": 0.90138067061144, \"Memory in Mb\": 6.185591697692871, \"Time in s\": 1215.005575 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9114139693356048, \"F1\": 0.8996138996138997, \"Memory in Mb\": 6.431841850280762, \"Time in s\": 1268.8167280000002 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9124270225187656, \"F1\": 0.9004739336492891, \"Memory in Mb\": 6.484606742858887, \"Time in s\": 1323.7082160000002 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9133986928104576, \"F1\": 0.9014869888475836, \"Memory in Mb\": 6.481654167175293, \"Time in s\": 1379.6419000000003 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9135308246597278, \"F1\": 0.9019963702359348, \"Memory in Mb\": 6.595587730407715, \"Time in s\": 1436.6903440000003 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1670236587524414, \"Time in s\": 31.246172 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1682443618774414, \"Time in s\": 90.057064 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 168.92668600000002 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 266.339332 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 379.700681 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1706857681274414, \"Time in s\": 507.500932 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1706857681274414, \"Time in s\": 650.046105 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2171335220336914, \"Time in s\": 806.74928 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.1745767593383789, \"Time in s\": 979.905317 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.1744394302368164, \"Time in s\": 1169.37771 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 1374.513378 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 1595.365052 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1757516860961914, \"Time in s\": 1830.528112 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 2079.072293 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 2341.33087 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1756372451782226, \"Time in s\": 2616.3107910000003 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 2903.8369350000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.1756601333618164, \"Time in s\": 3203.0985050000004 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.1756830215454101, \"Time in s\": 3513.3936680000006 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1757059097290039, \"Time in s\": 3834.7595300000007 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 4167.168481000001 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 4510.027218000001 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 4863.234695000001 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 5226.731618000001 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1770639419555664, \"Time in s\": 5600.511358000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1769037246704101, \"Time in s\": 5984.651066 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.1691675186157226, \"Time in s\": 6379.477192 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.1770639419555664, \"Time in s\": 6785.903036000001 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.1770410537719726, \"Time in s\": 7201.6518080000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 7626.427031 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 8059.133738 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 8499.283325 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 8946.957028 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.1769952774047851, \"Time in s\": 9401.959764 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 9864.111715 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.1691446304321289, \"Time in s\": 10332.853073 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.1769037246704101, \"Time in s\": 10808.168746 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.1691217422485351, \"Time in s\": 11290.14581 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 11778.656001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 12273.787996 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.1769952774047851, \"Time in s\": 12775.472063 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 13283.764208 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.1770181655883789, \"Time in s\": 13798.661938 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.1782617568969726, \"Time in s\": 14320.191281 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.1703653335571289, \"Time in s\": 14848.294436 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.1702966690063476, \"Time in s\": 15383.005183 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.1781930923461914, \"Time in s\": 15923.647685 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.1781473159790039, \"Time in s\": 16470.415157 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1782159805297851, \"Time in s\": 17023.687732 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.1782159805297851, \"Time in s\": 17582.958979 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.1781702041625976, \"Time in s\": 18142.251025 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7238095238095238, \"F1\": 0.6881720430107527, \"Memory in Mb\": 0.1032800674438476, \"Time in s\": 0.213787 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8056872037914692, \"F1\": 0.7807486631016043, \"Memory in Mb\": 0.1952676773071289, \"Time in s\": 0.888466 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.807570977917981, \"F1\": 0.7859649122807018, \"Memory in Mb\": 0.286778450012207, \"Time in s\": 2.29757 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8297872340425532, \"F1\": 0.8115183246073298, \"Memory in Mb\": 0.3787660598754883, \"Time in s\": 4.640547 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.831758034026465, \"F1\": 0.8061002178649236, \"Memory in Mb\": 2.6361207962036133, \"Time in s\": 29.527472000000003 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8472440944881889, \"F1\": 0.8245931283905967, \"Memory in Mb\": 3.060887336730957, \"Time in s\": 56.29478 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8529014844804319, \"F1\": 0.8278041074249604, \"Memory in Mb\": 3.5180253982543945, \"Time in s\": 85.033958 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8559622195985832, \"F1\": 0.8328767123287671, \"Memory in Mb\": 3.9749040603637695, \"Time in s\": 116.009539 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8604407135362014, \"F1\": 0.8372093023255813, \"Memory in Mb\": 4.4283952713012695, \"Time in s\": 149.38786199999998 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8706326723323891, \"F1\": 0.8476084538375974, \"Memory in Mb\": 4.592366218566895, \"Time in s\": 185.280189 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.871244635193133, \"F1\": 0.8484848484848485, \"Memory in Mb\": 4.394963264465332, \"Time in s\": 223.461408 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8693941778127459, \"F1\": 0.8477064220183486, \"Memory in Mb\": 4.242337226867676, \"Time in s\": 263.595386 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714596949891068, \"F1\": 0.8488471391972673, \"Memory in Mb\": 4.1376237869262695, \"Time in s\": 305.593042 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759271746459879, \"F1\": 0.8548895899053628, \"Memory in Mb\": 4.233838081359863, \"Time in s\": 349.622856 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8735053492762744, \"F1\": 0.8527472527472527, \"Memory in Mb\": 4.485638618469238, \"Time in s\": 396.123591 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755162241887906, \"F1\": 0.854982817869416, \"Memory in Mb\": 4.566784858703613, \"Time in s\": 444.689218 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8778456413103831, \"F1\": 0.858611825192802, \"Memory in Mb\": 4.580937385559082, \"Time in s\": 495.109217 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8778185631882538, \"F1\": 0.8598917618761276, \"Memory in Mb\": 4.553791999816895, \"Time in s\": 547.400313 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.877297565822156, \"F1\": 0.8605307735742519, \"Memory in Mb\": 4.4779558181762695, \"Time in s\": 601.303554 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8787163756488909, \"F1\": 0.8635156664896441, \"Memory in Mb\": 4.453892707824707, \"Time in s\": 656.840699 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8782022471910113, \"F1\": 0.8630621526023244, \"Memory in Mb\": 4.4562273025512695, \"Time in s\": 714.0315049999999 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777348777348777, \"F1\": 0.862782859894078, \"Memory in Mb\": 4.439526557922363, \"Time in s\": 772.745195 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8785391875256463, \"F1\": 0.8635944700460828, \"Memory in Mb\": 4.450131416320801, \"Time in s\": 833.024947 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8788832088084939, \"F1\": 0.864793678665496, \"Memory in Mb\": 4.448788642883301, \"Time in s\": 894.808032 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8784446961117403, \"F1\": 0.8647058823529411, \"Memory in Mb\": 4.491581916809082, \"Time in s\": 958.170481 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.879491833030853, \"F1\": 0.8659127625201939, \"Memory in Mb\": 4.482541084289551, \"Time in s\": 1022.970177 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8808109052778749, \"F1\": 0.867056530214425, \"Memory in Mb\": 4.4542436599731445, \"Time in s\": 1089.131713 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8813616447590158, \"F1\": 0.8673700075357951, \"Memory in Mb\": 4.489590644836426, \"Time in s\": 1156.687087 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8805727302310445, \"F1\": 0.8665939658306071, \"Memory in Mb\": 4.4426774978637695, \"Time in s\": 1225.526022 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8820383768480654, \"F1\": 0.8677248677248678, \"Memory in Mb\": 4.4409685134887695, \"Time in s\": 1295.666774 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.882496194824962, \"F1\": 0.8678082191780822, \"Memory in Mb\": 4.441540718078613, \"Time in s\": 1367.284144 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8832202890002949, \"F1\": 0.8693931398416888, \"Memory in Mb\": 4.4570817947387695, \"Time in s\": 1440.244405 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850443237060337, \"F1\": 0.8709055876685934, \"Memory in Mb\": 4.465977668762207, \"Time in s\": 1514.504066 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8856508465167916, \"F1\": 0.8710888610763454, \"Memory in Mb\": 4.4596757888793945, \"Time in s\": 1590.040367 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8864923159881369, \"F1\": 0.8724628900333233, \"Memory in Mb\": 4.477154731750488, \"Time in s\": 1666.899992 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8875491480996068, \"F1\": 0.8737120989108037, \"Memory in Mb\": 4.4705095291137695, \"Time in s\": 1745.0344980000002 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8867635807192042, \"F1\": 0.8724870763928776, \"Memory in Mb\": 4.45665454864502, \"Time in s\": 1824.4605280000003 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8852743978147505, \"F1\": 0.8706606942889138, \"Memory in Mb\": 4.454602241516113, \"Time in s\": 1905.1708120000003 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8857972417130414, \"F1\": 0.8712493180578287, \"Memory in Mb\": 4.461682319641113, \"Time in s\": 1987.1975480000003 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886765746638358, \"F1\": 0.8724760892667376, \"Memory in Mb\": 4.4584245681762695, \"Time in s\": 2070.530861 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8876869965477561, \"F1\": 0.8735751295336789, \"Memory in Mb\": 4.494175910949707, \"Time in s\": 2155.1880220000003 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869916872612896, \"F1\": 0.8725614390676463, \"Memory in Mb\": 4.517621040344238, \"Time in s\": 2241.198533 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869870528856704, \"F1\": 0.8729336294103133, \"Memory in Mb\": 4.495129585266113, \"Time in s\": 2328.452784 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886982629208664, \"F1\": 0.873286847799952, \"Memory in Mb\": 4.453595161437988, \"Time in s\": 2416.918556 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8857202767875865, \"F1\": 0.8715531463587085, \"Memory in Mb\": 4.469174385070801, \"Time in s\": 2506.628209 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8861538461538462, \"F1\": 0.871616932685635, \"Memory in Mb\": 4.478787422180176, \"Time in s\": 2597.661861 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869704878538446, \"F1\": 0.8728832693610296, \"Memory in Mb\": 4.4154863357543945, \"Time in s\": 2689.897866 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.885983880479654, \"F1\": 0.8716814159292035, \"Memory in Mb\": 4.439602851867676, \"Time in s\": 2783.355406 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.885422684382823, \"F1\": 0.8711842390127733, \"Memory in Mb\": 4.50291919708252, \"Time in s\": 2878.218251 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850726552179656, \"F1\": 0.8708377518557794, \"Memory in Mb\": 4.509961128234863, \"Time in s\": 2974.330637 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8711943793911008, \"Memory in Mb\": 4.434150695800781, \"Time in s\": 37.114054 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8801766979569299, \"F1\": 0.8453314326443336, \"Memory in Mb\": 4.643096923828125, \"Time in s\": 93.709907 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8568273831431726, \"F1\": 0.8160756501182034, \"Memory in Mb\": 4.667282104492188, \"Time in s\": 164.56349699999998 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8746894838531604, \"F1\": 0.8411476557032889, \"Memory in Mb\": 4.594398498535156, \"Time in s\": 248.378172 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8783395893133142, \"F1\": 0.8399651466744118, \"Memory in Mb\": 4.710762023925781, \"Time in s\": 344.82085099999995 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8745170193192272, \"F1\": 0.8360576923076923, \"Memory in Mb\": 4.698677062988281, \"Time in s\": 452.381486 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8747831572307208, \"F1\": 0.8384865744507731, \"Memory in Mb\": 4.6694183349609375, \"Time in s\": 569.8523869999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8723609769559818, \"F1\": 0.8348509194786646, \"Memory in Mb\": 4.666007995605469, \"Time in s\": 697.1091419999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8718263215994113, \"F1\": 0.8430695299594534, \"Memory in Mb\": 4.7265625, \"Time in s\": 834.9178869999998 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8738271332376643, \"F1\": 0.8493475682087781, \"Memory in Mb\": 4.708610534667969, \"Time in s\": 981.8103579999998 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8720521826392373, \"F1\": 0.8501234277653698, \"Memory in Mb\": 4.625167846679688, \"Time in s\": 1137.002296 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8740686229417717, \"F1\": 0.8545628386274301, \"Memory in Mb\": 4.637184143066406, \"Time in s\": 1300.798705 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8742464124989386, \"F1\": 0.8546756942400157, \"Memory in Mb\": 4.6933135986328125, \"Time in s\": 1473.412993 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872664196168099, \"F1\": 0.8527937289217027, \"Memory in Mb\": 4.810676574707031, \"Time in s\": 1655.581963 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8748252262859666, \"F1\": 0.8573824096587573, \"Memory in Mb\": 4.703468322753906, \"Time in s\": 1846.50108 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8750603656433252, \"F1\": 0.85826093762229, \"Memory in Mb\": 4.719985961914063, \"Time in s\": 2046.373626 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8755924939938965, \"F1\": 0.8581371242410781, \"Memory in Mb\": 4.7149505615234375, \"Time in s\": 2254.774116 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872079475072055, \"F1\": 0.8535112359550563, \"Memory in Mb\": 4.6830902099609375, \"Time in s\": 2471.471716 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8723058153721025, \"F1\": 0.8517669274345832, \"Memory in Mb\": 4.657257080078125, \"Time in s\": 2696.3467009999995 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.87234394834152, \"F1\": 0.8515118443859535, \"Memory in Mb\": 4.7351837158203125, \"Time in s\": 2929.434657 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8734822601839685, \"F1\": 0.8509505232522138, \"Memory in Mb\": 4.845870971679688, \"Time in s\": 3171.2751989999992 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8722091214690683, \"F1\": 0.8505193966782089, \"Memory in Mb\": 4.855270385742188, \"Time in s\": 3421.524358999999 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8678312616979411, \"F1\": 0.8451765234989881, \"Memory in Mb\": 4.8942718505859375, \"Time in s\": 3679.924087999999 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8677735363105368, \"F1\": 0.8427672955974842, \"Memory in Mb\": 4.7196807861328125, \"Time in s\": 3945.793201999999 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8669256920835356, \"F1\": 0.840444679724722, \"Memory in Mb\": 4.809005737304688, \"Time in s\": 4218.904371999999 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8647845468053492, \"F1\": 0.8373257061136934, \"Memory in Mb\": 4.794342041015625, \"Time in s\": 4499.001777999999 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8644372674870201, \"F1\": 0.8359715077166601, \"Memory in Mb\": 4.758956909179688, \"Time in s\": 4786.067247999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8619860448614342, \"F1\": 0.8330710914032329, \"Memory in Mb\": 4.846771240234375, \"Time in s\": 5079.937268999999 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8623301488219846, \"F1\": 0.8333410127632125, \"Memory in Mb\": 4.699310302734375, \"Time in s\": 5380.101847999999 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8632767945840538, \"F1\": 0.8350350705851016, \"Memory in Mb\": 4.794769287109375, \"Time in s\": 5686.612909 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.862061598718177, \"F1\": 0.8333620096352374, \"Memory in Mb\": 4.6817474365234375, \"Time in s\": 5999.306036 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8618191852643924, \"F1\": 0.8323989624299222, \"Memory in Mb\": 4.8116455078125, \"Time in s\": 6318.119808 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8607218115529987, \"F1\": 0.8308417289567761, \"Memory in Mb\": 4.769432067871094, \"Time in s\": 6643.155825 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8599162419244879, \"F1\": 0.8291562735083342, \"Memory in Mb\": 4.83782958984375, \"Time in s\": 6975.21929 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8578006244283958, \"F1\": 0.8263832736513803, \"Memory in Mb\": 4.765548706054688, \"Time in s\": 7313.109579 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8558332055802544, \"F1\": 0.8246307623452186, \"Memory in Mb\": 4.726959228515625, \"Time in s\": 7656.831982 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8543897855075923, \"F1\": 0.8232354325861008, \"Memory in Mb\": 4.798057556152344, \"Time in s\": 8006.181245 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533128068086095, \"F1\": 0.8218066337332393, \"Memory in Mb\": 4.773887634277344, \"Time in s\": 8361.39601 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518099227351201, \"F1\": 0.8192737815822173, \"Memory in Mb\": 4.808341979980469, \"Time in s\": 8722.632877 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8522310218273131, \"F1\": 0.8186651315566692, \"Memory in Mb\": 4.722572326660156, \"Time in s\": 9089.688296 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8505586216179836, \"F1\": 0.8161859664227292, \"Memory in Mb\": 4.720252990722656, \"Time in s\": 9462.293988 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8507792173661665, \"F1\": 0.81590039556449, \"Memory in Mb\": 4.766929626464844, \"Time in s\": 9840.72504 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8507841979618553, \"F1\": 0.8163523204751524, \"Memory in Mb\": 4.769111633300781, \"Time in s\": 10225.058019 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.850889295838246, \"F1\": 0.8178809976101478, \"Memory in Mb\": 4.736076354980469, \"Time in s\": 10615.291715 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8509161372611543, \"F1\": 0.8193329766363474, \"Memory in Mb\": 4.725471496582031, \"Time in s\": 11011.540552 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518536292741452, \"F1\": 0.8217770336585647, \"Memory in Mb\": 4.700096130371094, \"Time in s\": 11414.574328 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8529156196425636, \"F1\": 0.8235028885444553, \"Memory in Mb\": 4.746559143066406, \"Time in s\": 11823.240959 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525536367190195, \"F1\": 0.8231074817920989, \"Memory in Mb\": 4.826316833496094, \"Time in s\": 12236.954316 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525217939765278, \"F1\": 0.8226754421602882, \"Memory in Mb\": 4.775764465332031, \"Time in s\": 12655.735001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.853131415704541, \"F1\": 0.8236541468974475, \"Memory in Mb\": 4.767349243164063, \"Time in s\": 13079.48614 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531482421487057, \"F1\": 0.8236416644579911, \"Memory in Mb\": 4.766036987304688, \"Time in s\": 13503.439196 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.0411081314086914, \"Time in s\": 0.04635 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7551020408163265, \"F1\": 0.7777777777777778, \"Memory in Mb\": 0.0695962905883789, \"Time in s\": 0.16308 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.0986146926879882, \"Time in s\": 0.336872 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.797979797979798, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.1271295547485351, \"Time in s\": 0.6777850000000001 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8064516129032258, \"F1\": 0.8208955223880596, \"Memory in Mb\": 0.155644416809082, \"Time in s\": 1.226658 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.834355828220859, \"Memory in Mb\": 0.1846628189086914, \"Time in s\": 1.947513 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8426966292134832, \"Memory in Mb\": 0.2131776809692382, \"Time in s\": 2.9471350000000003 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8391959798994975, \"F1\": 0.8415841584158417, \"Memory in Mb\": 0.2421960830688476, \"Time in s\": 4.26255 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8392857142857143, \"F1\": 0.8363636363636364, \"Memory in Mb\": 0.2707109451293945, \"Time in s\": 5.830504 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8232931726907631, \"F1\": 0.8225806451612903, \"Memory in Mb\": 0.2992258071899414, \"Time in s\": 7.819846 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8248175182481752, \"F1\": 0.8208955223880596, \"Memory in Mb\": 0.3284578323364258, \"Time in s\": 10.199689 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8260869565217391, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.3569726943969726, \"Time in s\": 12.972732 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8364197530864198, \"F1\": 0.8250825082508251, \"Memory in Mb\": 0.385991096496582, \"Time in s\": 16.225203999999998 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8452722063037249, \"F1\": 0.83125, \"Memory in Mb\": 0.4145059585571289, \"Time in s\": 19.962148 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.839572192513369, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.4430208206176758, \"Time in s\": 24.257676 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8421052631578947, \"F1\": 0.8225352112676055, \"Memory in Mb\": 0.4720392227172851, \"Time in s\": 29.175886 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8443396226415094, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.500554084777832, \"Time in s\": 34.714831 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8463251670378619, \"F1\": 0.8198433420365536, \"Memory in Mb\": 0.5295724868774414, \"Time in s\": 40.875928 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8438818565400844, \"F1\": 0.8177339901477833, \"Memory in Mb\": 0.5580873489379883, \"Time in s\": 47.66810099999999 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845691382765531, \"F1\": 0.8229885057471266, \"Memory in Mb\": 2.675789833068848, \"Time in s\": 79.03492 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8454198473282443, \"F1\": 0.8187919463087249, \"Memory in Mb\": 2.7769289016723637, \"Time in s\": 111.488727 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.848816029143898, \"F1\": 0.8237791932059448, \"Memory in Mb\": 2.8829355239868164, \"Time in s\": 145.039549 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8519163763066202, \"F1\": 0.8268839103869654, \"Memory in Mb\": 2.989964485168457, \"Time in s\": 179.782132 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514190317195326, \"F1\": 0.8230616302186878, \"Memory in Mb\": 3.098984718322754, \"Time in s\": 215.642079 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8525641025641025, \"F1\": 0.8210116731517509, \"Memory in Mb\": 3.2059221267700195, \"Time in s\": 252.521109 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8582434514637904, \"F1\": 0.8302583025830258, \"Memory in Mb\": 3.3169260025024414, \"Time in s\": 290.529559 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620178041543026, \"F1\": 0.8382608695652174, \"Memory in Mb\": 3.429127693176269, \"Time in s\": 329.62297 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669527896995708, \"F1\": 0.8421052631578948, \"Memory in Mb\": 3.5458459854125977, \"Time in s\": 369.665809 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8674033149171271, \"F1\": 0.8456591639871384, \"Memory in Mb\": 3.659161567687988, \"Time in s\": 410.977113 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8678237650200267, \"F1\": 0.8465116279069768, \"Memory in Mb\": 3.769242286682129, \"Time in s\": 453.550102 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669250645994832, \"F1\": 0.8446455505279035, \"Memory in Mb\": 3.881718635559082, \"Time in s\": 497.265773 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8648310387984981, \"F1\": 0.8434782608695652, \"Memory in Mb\": 3.994263648986816, \"Time in s\": 542.189116 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8628640776699029, \"F1\": 0.8423988842398884, \"Memory in Mb\": 4.110844612121582, \"Time in s\": 588.325742 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8657243816254417, \"F1\": 0.8451086956521738, \"Memory in Mb\": 4.225159645080566, \"Time in s\": 635.696811 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.868421052631579, \"F1\": 0.847277556440903, \"Memory in Mb\": 4.342709541320801, \"Time in s\": 684.216091 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8698553948832035, \"F1\": 0.8482490272373541, \"Memory in Mb\": 4.455658912658691, \"Time in s\": 733.952375 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8712121212121212, \"F1\": 0.8514357053682896, \"Memory in Mb\": 4.573666572570801, \"Time in s\": 785.013527 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8735511064278187, \"F1\": 0.8561151079136691, \"Memory in Mb\": 4.697152137756348, \"Time in s\": 837.27657 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8757700205338809, \"F1\": 0.8581477139507622, \"Memory in Mb\": 4.820996284484863, \"Time in s\": 890.836474 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8758758758758759, \"F1\": 0.858447488584475, \"Memory in Mb\": 4.93715763092041, \"Time in s\": 945.663339 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8759765625, \"F1\": 0.8590455049944505, \"Memory in Mb\": 4.905686378479004, \"Time in s\": 1001.665911 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8779790276453765, \"F1\": 0.8617710583153347, \"Memory in Mb\": 4.881028175354004, \"Time in s\": 1058.849613 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8780260707635009, \"F1\": 0.86282722513089, \"Memory in Mb\": 4.857575416564941, \"Time in s\": 1117.1299479999998 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8789808917197452, \"F1\": 0.8641470888661901, \"Memory in Mb\": 4.821175575256348, \"Time in s\": 1176.4409139999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798932384341637, \"F1\": 0.8662041625371655, \"Memory in Mb\": 4.749619483947754, \"Time in s\": 1236.7626339999997 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807658833768495, \"F1\": 0.8668610301263362, \"Memory in Mb\": 4.722535133361816, \"Time in s\": 1298.0588499999997 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879045996592845, \"F1\": 0.8645038167938931, \"Memory in Mb\": 4.706612586975098, \"Time in s\": 1360.3228199999996 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807339449541285, \"F1\": 0.865979381443299, \"Memory in Mb\": 4.686341285705566, \"Time in s\": 1423.5043029999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8815359477124183, \"F1\": 0.8666053357865686, \"Memory in Mb\": 4.653275489807129, \"Time in s\": 1487.6393369999996 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8815052041633307, \"F1\": 0.867145421903052, \"Memory in Mb\": 4.596428871154785, \"Time in s\": 1552.6498929999996 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.559709548950195, \"Time in s\": 49.463009 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.594751358032227, \"Time in s\": 126.299444 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.435243606567383, \"Time in s\": 223.803561 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.493677139282227, \"Time in s\": 340.763146 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.534708023071289, \"Time in s\": 475.19475 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.455095291137695, \"Time in s\": 625.35715 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.479013442993164, \"Time in s\": 790.6914730000001 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686198515404, \"F1\": 0.9, \"Memory in Mb\": 4.445444107055664, \"Time in s\": 971.128522 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832184981898, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.544534683227539, \"Time in s\": 1166.447296 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998948972620736, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.52708625793457, \"Time in s\": 1376.022994 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904452512899, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.493997573852539, \"Time in s\": 1599.513782 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124151521788, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.490983963012695, \"Time in s\": 1835.532511 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191527205108, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.531465530395508, \"Time in s\": 2083.498651 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998873916144289, \"F1\": 0.88, \"Memory in Mb\": 4.54191780090332, \"Time in s\": 2343.113276 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999894899103139, \"F1\": 0.88, \"Memory in Mb\": 4.488824844360352, \"Time in s\": 2613.833594 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999014681249384, \"F1\": 0.88, \"Memory in Mb\": 4.459695816040039, \"Time in s\": 2894.8346570000003 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999072642967544, \"F1\": 0.88, \"Memory in Mb\": 4.475152969360352, \"Time in s\": 3186.5040240000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124164306776, \"F1\": 0.88, \"Memory in Mb\": 4.543954849243164, \"Time in s\": 3487.9588300000005 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999170262197146, \"F1\": 0.88, \"Memory in Mb\": 4.482622146606445, \"Time in s\": 3798.7831540000006 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999211750177356, \"F1\": 0.88, \"Memory in Mb\": 4.496248245239258, \"Time in s\": 4119.269013000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999924928682248, \"F1\": 0.88, \"Memory in Mb\": 4.471353530883789, \"Time in s\": 4448.958874000001 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999283410963812, \"F1\": 0.88, \"Memory in Mb\": 4.53770637512207, \"Time in s\": 4788.142489000001 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999931456772071, \"F1\": 0.88, \"Memory in Mb\": 4.51286506652832, \"Time in s\": 5135.940338 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999343128024348, \"F1\": 0.88, \"Memory in Mb\": 4.49894905090332, \"Time in s\": 5492.9415070000005 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999369403455668, \"F1\": 0.88, \"Memory in Mb\": 4.555765151977539, \"Time in s\": 5859.118968000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999393657659116, \"F1\": 0.88, \"Memory in Mb\": 4.430139541625977, \"Time in s\": 6234.600581000001 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999221486959906, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.466188430786133, \"Time in s\": 6619.789592000001 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999249291518872, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.526651382446289, \"Time in s\": 7013.956607000001 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999275178487298, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.485139846801758, \"Time in s\": 7418.775951000001 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898018882796, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.452577590942383, \"Time in s\": 7831.9045620000015 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997965825874696, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.485406875610352, \"Time in s\": 8252.946705000002 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998029394860004, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.502649307250977, \"Time in s\": 8681.511861000003 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997770629637888, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.495584487915039, \"Time in s\": 9116.499033000002 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997836200367846, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.500345230102539, \"Time in s\": 9557.922914000002 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898024142694, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.572656631469727, \"Time in s\": 10005.892137000004 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664472243712, \"F1\": 0.68, \"Memory in Mb\": 4.537866592407227, \"Time in s\": 10460.064213000003 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997727595512002, \"F1\": 0.68, \"Memory in Mb\": 4.469621658325195, \"Time in s\": 10920.643886000003 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997787396457068, \"F1\": 0.68, \"Memory in Mb\": 4.537904739379883, \"Time in s\": 11387.046035000005 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997844130645684, \"F1\": 0.68, \"Memory in Mb\": 4.493074417114258, \"Time in s\": 11859.048710000005 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99978980280876, \"F1\": 0.68, \"Memory in Mb\": 4.520692825317383, \"Time in s\": 12336.641580000003 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997949296352312, \"F1\": 0.68, \"Memory in Mb\": 4.566102981567383, \"Time in s\": 12820.170836000005 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997998123240538, \"F1\": 0.68, \"Memory in Mb\": 4.500688552856445, \"Time in s\": 13309.287446000002 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998044679082956, \"F1\": 0.68, \"Memory in Mb\": 4.506959915161133, \"Time in s\": 13804.219559000005 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089118725442, \"F1\": 0.68, \"Memory in Mb\": 4.503435134887695, \"Time in s\": 14304.793113000003 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998131583249644, \"F1\": 0.68, \"Memory in Mb\": 4.498682022094727, \"Time in s\": 14810.923265000005 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998172201469092, \"F1\": 0.68, \"Memory in Mb\": 4.491861343383789, \"Time in s\": 15322.783751000004 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998099284436494, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.496858596801758, \"Time in s\": 15840.351229000004 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998138883110912, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.480546951293945, \"Time in s\": 16363.581709000004 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999817686549557, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.533571243286133, \"Time in s\": 16892.331870000005 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998213328568876, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.517786026000977, \"Time in s\": 17426.665113000006 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998213441227471, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.518220901489258, \"Time in s\": 17961.110841000005 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4857142857142857, \"F1\": 0.4599999999999999, \"Memory in Mb\": 0.1797952651977539, \"Time in s\": 0.693272 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165876777251185, \"F1\": 0.4574468085106383, \"Memory in Mb\": 0.1805887222290039, \"Time in s\": 2.027128 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205047318611987, \"F1\": 0.4722222222222222, \"Memory in Mb\": 0.1812677383422851, \"Time in s\": 4.089008 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.4838709677419355, \"Memory in Mb\": 0.1813135147094726, \"Time in s\": 6.917919 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.55765595463138, \"F1\": 0.455813953488372, \"Memory in Mb\": 0.1813364028930664, \"Time in s\": 10.429995 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.4259634888438134, \"Memory in Mb\": 0.1819925308227539, \"Time in s\": 14.687229 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748987854251012, \"F1\": 0.4220183486238532, \"Memory in Mb\": 0.1820383071899414, \"Time in s\": 19.647457 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5785123966942148, \"F1\": 0.4232633279483037, \"Memory in Mb\": 0.1819696426391601, \"Time in s\": 25.366911 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.4193548387096774, \"Memory in Mb\": 0.1819467544555664, \"Time in s\": 31.800242 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4146341463414634, \"Memory in Mb\": 0.1819467544555664, \"Time in s\": 39.029576 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.4015056461731493, \"Memory in Mb\": 0.1819238662719726, \"Time in s\": 46.984262 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4101382488479262, \"Memory in Mb\": 0.1819238662719726, \"Time in s\": 55.672123 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.3973799126637554, \"Memory in Mb\": 0.1825342178344726, \"Time in s\": 65.02100899999999 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.3926380368098159, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 75.177128 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.3896353166986563, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 86.053176 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.3876811594202898, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 97.727606 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6013325930038868, \"F1\": 0.3904923599320882, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 110.067211 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.396812749003984, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 123.213825 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.3961136023916292, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 137.051202 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5969797074091553, \"F1\": 0.3994374120956399, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 151.568436 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597752808988764, \"F1\": 0.4013377926421405, \"Memory in Mb\": 0.1824426651000976, \"Time in s\": 166.814875 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5988845988845989, \"F1\": 0.4033184428844926, \"Memory in Mb\": 0.1824426651000976, \"Time in s\": 182.823981 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5995075913007797, \"F1\": 0.4019607843137255, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 199.616425 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008651199370821, \"F1\": 0.4088526499708794, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 217.084375 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002265005662514, \"F1\": 0.4073866815892558, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 235.279245 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4028077753779697, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 254.250965 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599790283117791, \"F1\": 0.4051948051948052, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 273.857236 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599932591843613, \"F1\": 0.4026170105686965, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 294.204326 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5977871786527823, \"F1\": 0.4023210831721469, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 315.311898 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986159169550173, \"F1\": 0.4042950513538749, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 337.189575 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5981735159817352, \"F1\": 0.4021739130434782, \"Memory in Mb\": 0.1785964965820312, \"Time in s\": 359.75124 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5959893836626364, \"F1\": 0.4022687609075043, \"Memory in Mb\": 0.2364349365234375, \"Time in s\": 383.144231 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597369173577352, \"F1\": 0.4023769100169779, \"Memory in Mb\": 0.2806434631347656, \"Time in s\": 407.324287 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008881487649181, \"F1\": 0.4087171052631579, \"Memory in Mb\": 0.3000526428222656, \"Time in s\": 432.314941 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012402264761392, \"F1\": 0.4086365453818472, \"Memory in Mb\": 0.3464546203613281, \"Time in s\": 458.107983 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6023591087811271, \"F1\": 0.4104158569762923, \"Memory in Mb\": 0.3760719299316406, \"Time in s\": 484.645149 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6052027543993879, \"F1\": 0.4145234493192133, \"Memory in Mb\": 0.4113121032714844, \"Time in s\": 512.014837 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608393344921778, \"F1\": 0.4195804195804196, \"Memory in Mb\": 0.4392280578613281, \"Time in s\": 540.239956 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6121461408178079, \"F1\": 0.4260651629072682, \"Memory in Mb\": 0.4532661437988281, \"Time in s\": 569.3761920000001 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157112526539278, \"F1\": 0.4329968673860076, \"Memory in Mb\": 0.4546051025390625, \"Time in s\": 599.333749 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6186421173762946, \"F1\": 0.4384954252795662, \"Memory in Mb\": 0.4373931884765625, \"Time in s\": 630.119 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6212087171422153, \"F1\": 0.4420913302448709, \"Memory in Mb\": 0.4377059936523437, \"Time in s\": 661.732786 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6214614878209348, \"F1\": 0.4437278297323443, \"Memory in Mb\": 0.4275894165039062, \"Time in s\": 694.0925080000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6219172206733863, \"F1\": 0.4454230890217049, \"Memory in Mb\": 0.3975372314453125, \"Time in s\": 727.2725200000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6227720696162717, \"F1\": 0.4449244060475162, \"Memory in Mb\": 0.42584228515625, \"Time in s\": 761.2761580000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6235897435897436, \"F1\": 0.4444444444444444, \"Memory in Mb\": 0.393829345703125, \"Time in s\": 796.1318860000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6251756675366392, \"F1\": 0.4491000295072292, \"Memory in Mb\": 0.39398193359375, \"Time in s\": 831.6856570000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.624139964615687, \"F1\": 0.4467592592592592, \"Memory in Mb\": 0.39410400390625, \"Time in s\": 867.9313910000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6248796456768727, \"F1\": 0.4469051675184554, \"Memory in Mb\": 0.394500732421875, \"Time in s\": 904.957506 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6259671636157765, \"F1\": 0.4482182628062361, \"Memory in Mb\": 0.4006576538085937, \"Time in s\": 942.730038 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8651933701657458, \"F1\": 0.8685344827586208, \"Memory in Mb\": 1.5650663375854492, \"Time in s\": 11.845084 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895637769188294, \"F1\": 0.8684210526315789, \"Memory in Mb\": 1.8734617233276367, \"Time in s\": 34.886970000000005 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8778064041221936, \"F1\": 0.8547681539807523, \"Memory in Mb\": 1.7035398483276367, \"Time in s\": 70.08374500000001 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835219431410434, \"F1\": 0.8607260726072606, \"Memory in Mb\": 1.6641263961791992, \"Time in s\": 115.953507 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8878339589313314, \"F1\": 0.8599007170435742, \"Memory in Mb\": 2.069842338562012, \"Time in s\": 171.720075 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.886292548298068, \"F1\": 0.8580615525953147, \"Memory in Mb\": 2.326838493347168, \"Time in s\": 235.88433300000003 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8845607948273143, \"F1\": 0.8556782334384859, \"Memory in Mb\": 1.8882322311401367, \"Time in s\": 307.801578 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835380157306472, \"F1\": 0.8526021655606008, \"Memory in Mb\": 1.7675046920776367, \"Time in s\": 386.842642 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854409419845456, \"F1\": 0.8617115783239561, \"Memory in Mb\": 1.8750486373901367, \"Time in s\": 473.251889 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8863009162159179, \"F1\": 0.8664765361680064, \"Memory in Mb\": 1.8668012619018557, \"Time in s\": 566.6143930000001 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883492222779729, \"F1\": 0.8657337805019083, \"Memory in Mb\": 1.624751091003418, \"Time in s\": 666.8526760000001 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851071658541072, \"F1\": 0.8689539397754694, \"Memory in Mb\": 1.836443901062012, \"Time in s\": 773.0944300000001 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819733378619343, \"F1\": 0.8645224171539961, \"Memory in Mb\": 1.461909294128418, \"Time in s\": 884.893217 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8788930063865016, \"F1\": 0.8610709117221419, \"Memory in Mb\": 1.412806510925293, \"Time in s\": 1002.145707 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880197218338362, \"F1\": 0.863970588235294, \"Memory in Mb\": 1.521845817565918, \"Time in s\": 1125.032122 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8799586064160055, \"F1\": 0.8644437519476471, \"Memory in Mb\": 1.922499656677246, \"Time in s\": 1253.0070850000002 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805272384910071, \"F1\": 0.8643667993513195, \"Memory in Mb\": 1.924330711364746, \"Time in s\": 1386.9590420000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8794382780401054, \"F1\": 0.8622670589883704, \"Memory in Mb\": 1.6739492416381836, \"Time in s\": 1526.6043270000002 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8781153779120432, \"F1\": 0.8583389601620527, \"Memory in Mb\": 2.050276756286621, \"Time in s\": 1671.5850450000005 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8772559192008389, \"F1\": 0.8570510348373829, \"Memory in Mb\": 2.0607213973999023, \"Time in s\": 1821.619573 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8782128777923784, \"F1\": 0.8564702967230379, \"Memory in Mb\": 1.4914274215698242, \"Time in s\": 1976.682617 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8703025437760273, \"F1\": 0.8482357776081723, \"Memory in Mb\": 0.7451009750366211, \"Time in s\": 2137.4066430000003 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8626001823679033, \"F1\": 0.8387314820030418, \"Memory in Mb\": 0.7786626815795898, \"Time in s\": 2303.79277 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8638642321666743, \"F1\": 0.8378259916721456, \"Memory in Mb\": 0.8927946090698242, \"Time in s\": 2475.479733 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8337590464027246, \"Memory in Mb\": 1.0149259567260742, \"Time in s\": 2652.48421 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8552748885586924, \"F1\": 0.8239789332369494, \"Memory in Mb\": 0.7698392868041992, \"Time in s\": 2835.224884 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8513143371080496, \"F1\": 0.8171902488062327, \"Memory in Mb\": 0.8274068832397461, \"Time in s\": 3023.118045 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8471242165017543, \"F1\": 0.8121670057153928, \"Memory in Mb\": 0.9264287948608398, \"Time in s\": 3216.225907 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8469912077037263, \"F1\": 0.8116213683223992, \"Memory in Mb\": 1.0318632125854492, \"Time in s\": 3414.151818 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8476397218440708, \"F1\": 0.8134600657687283, \"Memory in Mb\": 0.828364372253418, \"Time in s\": 3617.194246 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8442585009791703, \"F1\": 0.8083260297984224, \"Memory in Mb\": 0.9404935836791992, \"Time in s\": 3825.52125 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8416405091235211, \"F1\": 0.8035935828877006, \"Memory in Mb\": 0.932948112487793, \"Time in s\": 4039.267659 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8389804997156906, \"F1\": 0.7997670742866649, \"Memory in Mb\": 0.8770322799682617, \"Time in s\": 4258.308337 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8374508976398403, \"F1\": 0.7964054812344976, \"Memory in Mb\": 1.024897575378418, \"Time in s\": 4482.681616999999 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8326973414488, \"F1\": 0.7888725275599952, \"Memory in Mb\": 0.9494352340698242, \"Time in s\": 4711.951208999999 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.827318718381113, \"F1\": 0.7808219178082191, \"Memory in Mb\": 0.861109733581543, \"Time in s\": 4945.765051999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8271531278899794, \"F1\": 0.7806964420893262, \"Memory in Mb\": 1.093031883239746, \"Time in s\": 5184.141968999998 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8255439044935661, \"F1\": 0.7779174678302028, \"Memory in Mb\": 1.133570671081543, \"Time in s\": 5427.007607999998 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8253191067840263, \"F1\": 0.7766196163590301, \"Memory in Mb\": 1.1872129440307615, \"Time in s\": 5674.462564999998 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8264576837109192, \"F1\": 0.7764070110569915, \"Memory in Mb\": 1.431788444519043, \"Time in s\": 5926.318084999998 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245255081437609, \"F1\": 0.7721616331096196, \"Memory in Mb\": 1.357222557067871, \"Time in s\": 6182.753490999998 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8241833328953247, \"F1\": 0.7704974271012006, \"Memory in Mb\": 1.1449995040893557, \"Time in s\": 6443.434381999998 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8233950252842878, \"F1\": 0.7698534823041413, \"Memory in Mb\": 1.147334098815918, \"Time in s\": 6708.424011999998 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8222160901086221, \"F1\": 0.7699250073044834, \"Memory in Mb\": 0.7468709945678711, \"Time in s\": 6977.570913999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227329588658049, \"F1\": 0.7725140860587366, \"Memory in Mb\": 0.9336042404174804, \"Time in s\": 7251.011506999998 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8235872825434913, \"F1\": 0.7755388654820785, \"Memory in Mb\": 1.097620964050293, \"Time in s\": 7528.4976689999985 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245696437378174, \"F1\": 0.7776785714285713, \"Memory in Mb\": 1.5453977584838867, \"Time in s\": 7809.843107999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8251431462276082, \"F1\": 0.7787605469886529, \"Memory in Mb\": 0.8941831588745117, \"Time in s\": 8094.859004999998 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8243867276372401, \"F1\": 0.7766701042740918, \"Memory in Mb\": 0.744959831237793, \"Time in s\": 8383.886548999999 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.823770944170953, \"F1\": 0.7766305716444221, \"Memory in Mb\": 0.5983161926269531, \"Time in s\": 8676.996437 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8237734766392267, \"F1\": 0.7765871128395959, \"Memory in Mb\": 0.5984382629394531, \"Time in s\": 8970.151376 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7083333333333334, \"F1\": 0.7407407407407408, \"Memory in Mb\": 0.6633157730102539, \"Time in s\": 0.427424 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8085106382978724, \"Memory in Mb\": 0.6639947891235352, \"Time in s\": 1.324595 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8513513513513513, \"F1\": 0.8493150684931507, \"Memory in Mb\": 0.6639490127563477, \"Time in s\": 2.554164 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8585858585858586, \"F1\": 0.8541666666666666, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 4.28613 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8548387096774194, \"F1\": 0.85, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 6.454494 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523489932885906, \"F1\": 0.8533333333333335, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 8.992416 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8536585365853658, \"Memory in Mb\": 0.6651926040649414, \"Time in s\": 11.94422 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8592964824120602, \"F1\": 0.8510638297872339, \"Memory in Mb\": 0.6653299331665039, \"Time in s\": 15.477702 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8405797101449276, \"Memory in Mb\": 0.7024993896484375, \"Time in s\": 19.458772 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8473895582329317, \"F1\": 0.8347826086956521, \"Memory in Mb\": 0.730194091796875, \"Time in s\": 23.970287 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8333333333333335, \"Memory in Mb\": 0.7302398681640625, \"Time in s\": 28.914006 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8528428093645485, \"F1\": 0.837037037037037, \"Memory in Mb\": 0.7302398681640625, \"Time in s\": 34.304573 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8611111111111112, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.7308502197265625, \"Time in s\": 40.225779 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8653295128939829, \"F1\": 0.8438538205980067, \"Memory in Mb\": 0.7308731079101562, \"Time in s\": 46.580822 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8427672955974843, \"Memory in Mb\": 0.7674179077148438, \"Time in s\": 53.398646 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8417910447761194, \"Memory in Mb\": 0.804534912109375, \"Time in s\": 60.683253 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679245283018868, \"F1\": 0.839080459770115, \"Memory in Mb\": 0.8596954345703125, \"Time in s\": 68.459501 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8708240534521158, \"F1\": 0.8406593406593408, \"Memory in Mb\": 0.8597640991210938, \"Time in s\": 76.689807 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.869198312236287, \"F1\": 0.8402061855670103, \"Memory in Mb\": 0.859832763671875, \"Time in s\": 85.340536 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8677354709418837, \"F1\": 0.8413461538461539, \"Memory in Mb\": 0.8598556518554688, \"Time in s\": 94.431883 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8384074941451991, \"Memory in Mb\": 0.8598556518554688, \"Time in s\": 103.968058 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8670309653916212, \"F1\": 0.8381374722838136, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 113.947374 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867595818815331, \"F1\": 0.8382978723404255, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 124.337957 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8381742738589212, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 135.24069899999998 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8373983739837398, \"Memory in Mb\": 0.8966064453125, \"Time in s\": 146.56138699999997 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.846153846153846, \"Memory in Mb\": 0.897308349609375, \"Time in s\": 158.32837399999997 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8478260869565216, \"Memory in Mb\": 0.92486572265625, \"Time in s\": 170.52005599999995 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8515901060070671, \"Memory in Mb\": 0.8633918762207031, \"Time in s\": 183.100014 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825966850828729, \"F1\": 0.8576214405360134, \"Memory in Mb\": 0.9612770080566406, \"Time in s\": 196.144193 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865153538050734, \"F1\": 0.8631239935587761, \"Memory in Mb\": 0.9975471496582032, \"Time in s\": 209.598306 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8875968992248062, \"F1\": 0.863849765258216, \"Memory in Mb\": 1.052570343017578, \"Time in s\": 223.56015 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8873591989987485, \"F1\": 0.8652694610778443, \"Memory in Mb\": 1.1531257629394531, \"Time in s\": 237.949979 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871359223300971, \"F1\": 0.8661870503597122, \"Memory in Mb\": 1.1537437438964844, \"Time in s\": 252.78040299999995 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8881036513545347, \"F1\": 0.8671328671328671, \"Memory in Mb\": 1.1632118225097656, \"Time in s\": 267.983484 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901601830663616, \"F1\": 0.8688524590163934, \"Memory in Mb\": 1.1906776428222656, \"Time in s\": 283.604953 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8887652947719689, \"F1\": 0.8670212765957446, \"Memory in Mb\": 1.2457008361816406, \"Time in s\": 299.652639 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8695652173913043, \"Memory in Mb\": 1.2457923889160156, \"Time in s\": 316.05876399999994 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8893572181243414, \"F1\": 0.8708487084870848, \"Memory in Mb\": 1.2458381652832031, \"Time in s\": 332.972637 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901437371663244, \"F1\": 0.8718562874251498, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 350.27117 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8697674418604652, \"Memory in Mb\": 1.2458610534667969, \"Time in s\": 368.008026 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8700564971751412, \"Memory in Mb\": 1.2459068298339844, \"Time in s\": 386.172169 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8725274725274725, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 404.74234 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.8742004264392325, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 423.719952 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.8761706555671176, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 443.13918 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8790322580645162, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 462.955181 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8938207136640557, \"F1\": 0.8794466403162056, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 483.090208 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926746166950597, \"F1\": 0.877906976744186, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 503.748339 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8783269961977186, \"Memory in Mb\": 1.2550315856933594, \"Time in s\": 524.8299360000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929738562091504, \"F1\": 0.8779123951537745, \"Memory in Mb\": 1.3099861145019531, \"Time in s\": 546.3067460000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8935148118494796, \"F1\": 0.8792007266121706, \"Memory in Mb\": 1.310077667236328, \"Time in s\": 568.2182720000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1599369049072265, \"Time in s\": 9.565839 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1605472564697265, \"Time in s\": 28.660555 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1610889434814453, \"Time in s\": 57.169533 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161111831665039, \"Time in s\": 95.025921 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161111831665039, \"Time in s\": 141.315828 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161722183227539, \"Time in s\": 195.517174 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1617450714111328, \"Time in s\": 256.578558 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2173633575439453, \"Time in s\": 324.084886 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.162454605102539, \"Time in s\": 398.342181 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.162271499633789, \"Time in s\": 479.30544 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1629047393798828, \"Time in s\": 566.848605 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1629962921142578, \"Time in s\": 660.867353 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1631336212158203, \"Time in s\": 761.190417 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.1628131866455078, \"Time in s\": 867.1613560000001 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1630420684814453, \"Time in s\": 978.380996 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1629276275634765, \"Time in s\": 1094.7710920000002 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.163064956665039, \"Time in s\": 1216.3368180000002 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.162973403930664, \"Time in s\": 1342.8439390000003 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.162973403930664, \"Time in s\": 1474.4175280000004 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1629962921142578, \"Time in s\": 1611.5765880000004 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1628589630126953, \"Time in s\": 1753.4950250000004 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 1900.0594340000005 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 2051.0940990000004 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.1636295318603515, \"Time in s\": 2206.5822620000004 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 2366.582792 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1516590118408203, \"Time in s\": 2531.0740060000003 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.163583755493164, \"Time in s\": 2700.0024150000004 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.163583755493164, \"Time in s\": 2873.4051700000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.1635379791259765, \"Time in s\": 3051.2280980000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 3233.6982610000005 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.1634693145751953, \"Time in s\": 3420.4241430000006 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.163400650024414, \"Time in s\": 3611.3532100000007 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 3806.5756970000007 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 4005.990633000001 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 4209.692892000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 4417.671552000001 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.1634464263916015, \"Time in s\": 4629.924287000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 4846.389066000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 5067.145737000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 5292.119512000001 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 5520.9977020000015 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.1633319854736328, \"Time in s\": 5753.467598000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 5989.673013000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.1642627716064453, \"Time in s\": 6229.466851000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.164285659790039, \"Time in s\": 6472.919364000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.164102554321289, \"Time in s\": 6719.889077000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.1641483306884765, \"Time in s\": 6970.567347000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.1640567779541015, \"Time in s\": 7224.925889000002 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1523609161376953, \"Time in s\": 7483.091298000002 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.164194107055664, \"Time in s\": 7744.930013000002 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.1642169952392578, \"Time in s\": 8006.777295000002 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523809523809524, \"F1\": 0.5252525252525252, \"Memory in Mb\": 0.1663923263549804, \"Time in s\": 0.661448 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5829383886255924, \"F1\": 0.5555555555555555, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 2.064295 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6025236593059937, \"F1\": 0.5827814569536425, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 4.087538 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6099290780141844, \"F1\": 0.5758354755784061, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 6.767182 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5841209829867675, \"F1\": 0.5089285714285714, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 10.090322 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748031496062992, \"F1\": 0.4981412639405205, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 14.036758 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.582995951417004, \"F1\": 0.4892561983471074, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 18.750104 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5749704840613932, \"F1\": 0.4812680115273775, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 24.116907 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5760755508919203, \"F1\": 0.482051282051282, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 30.255333 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5873465533522191, \"F1\": 0.4828402366863905, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 37.077733 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5931330472103005, \"F1\": 0.4925053533190577, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 44.554975 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5979543666404405, \"F1\": 0.5034013605442177, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 52.671883 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6005809731299927, \"F1\": 0.4990892531876139, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 61.596702 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089008766014835, \"F1\": 0.5117845117845117, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 71.17423 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6091881686595343, \"F1\": 0.5121759622937941, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 81.390284 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6135693215339233, \"F1\": 0.5194424064563462, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 92.365155 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6185452526374237, \"F1\": 0.5354969574036511, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 104.03539999999998 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6208704771893025, \"F1\": 0.5467084639498432, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 116.33010199999998 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.620963735717834, \"F1\": 0.5561372891215823, \"Memory in Mb\": 0.1666212081909179, \"Time in s\": 129.40978099999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6252949504483247, \"F1\": 0.56941431670282, \"Memory in Mb\": 0.1666212081909179, \"Time in s\": 143.16628799999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6242696629213483, \"F1\": 0.5721596724667348, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 157.57341499999998 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6229086229086229, \"F1\": 0.5763855421686748, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 172.619666 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.62330734509643, \"F1\": 0.5796703296703297, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 188.342899 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6244593000393236, \"F1\": 0.5860424794104898, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 204.771397 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6266515666289165, \"F1\": 0.591828312009905, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 221.901573 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6250453720508167, \"F1\": 0.5921831819976313, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 239.674138 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6249563089828731, \"F1\": 0.5927893738140417, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 258.142834 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6248736097067745, \"F1\": 0.5924569754668619, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 277.299077 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6260982753010088, \"F1\": 0.5958494548012664, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 297.096451 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.62378106322743, \"F1\": 0.5934738273283481, \"Memory in Mb\": 0.1541042327880859, \"Time in s\": 317.58276 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6246575342465753, \"F1\": 0.5937397034596376, \"Memory in Mb\": 0.1971263885498047, \"Time in s\": 338.83455200000003 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6234149218519611, \"F1\": 0.5931825422108953, \"Memory in Mb\": 0.2317180633544922, \"Time in s\": 360.725819 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6211038032599371, \"F1\": 0.5894019212891229, \"Memory in Mb\": 0.2662029266357422, \"Time in s\": 383.343908 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6194837635303914, \"F1\": 0.5866747060596926, \"Memory in Mb\": 0.3123226165771484, \"Time in s\": 406.679113 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6238878403882449, \"F1\": 0.5915080527086384, \"Memory in Mb\": 0.3201503753662109, \"Time in s\": 430.743987 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6277850589777195, \"F1\": 0.5970488081725313, \"Memory in Mb\": 0.3261775970458984, \"Time in s\": 455.494794 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6322366743177761, \"F1\": 0.6009961261759823, \"Memory in Mb\": 0.3539028167724609, \"Time in s\": 480.941019 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6354606406754407, \"F1\": 0.6034575904916262, \"Memory in Mb\": 0.3679637908935547, \"Time in s\": 507.154231 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6399709654004355, \"F1\": 0.6073878627968339, \"Memory in Mb\": 0.3758831024169922, \"Time in s\": 534.089651 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.644963434772352, \"F1\": 0.6130110568269478, \"Memory in Mb\": 0.3759059906005859, \"Time in s\": 561.67777 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6508630609896433, \"F1\": 0.6185567010309279, \"Memory in Mb\": 0.3759288787841797, \"Time in s\": 589.949243 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6535609975286453, \"F1\": 0.620384047267356, \"Memory in Mb\": 0.3758831024169922, \"Time in s\": 618.987429 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6570111915734036, \"F1\": 0.6243691420331651, \"Memory in Mb\": 0.3760662078857422, \"Time in s\": 648.691271 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6607334334119666, \"F1\": 0.6288127639605818, \"Memory in Mb\": 0.3761119842529297, \"Time in s\": 679.16585 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6630320821975257, \"F1\": 0.6303197607545433, \"Memory in Mb\": 0.4315700531005859, \"Time in s\": 710.3587739999999 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6670769230769231, \"F1\": 0.6330544879041374, \"Memory in Mb\": 0.4394893646240234, \"Time in s\": 742.192598 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6707488456133307, \"F1\": 0.6378091872791519, \"Memory in Mb\": 0.4457454681396484, \"Time in s\": 774.746403 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6734814232356988, \"F1\": 0.6407094959982694, \"Memory in Mb\": 0.4518642425537109, \"Time in s\": 807.9427459999999 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.674369343346813, \"F1\": 0.6412051771695311, \"Memory in Mb\": 0.4518413543701172, \"Time in s\": 841.965614 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6778637478769579, \"F1\": 0.64504054897068, \"Memory in Mb\": 0.4531536102294922, \"Time in s\": 876.7139659999999 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9337016574585636, \"F1\": 0.933184855233853, \"Memory in Mb\": 1.423478126525879, \"Time in s\": 13.145088 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9491993373826616, \"F1\": 0.937837837837838, \"Memory in Mb\": 2.051041603088379, \"Time in s\": 36.742593 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9385351490614648, \"F1\": 0.9243316719528772, \"Memory in Mb\": 2.3655481338500977, \"Time in s\": 75.07794200000001 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9359646701628483, \"F1\": 0.920980926430518, \"Memory in Mb\": 2.6522607803344727, \"Time in s\": 124.641449 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9361890041951866, \"F1\": 0.9185226952354102, \"Memory in Mb\": 3.339066505432129, \"Time in s\": 184.399421 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9332106715731372, \"F1\": 0.914487632508834, \"Memory in Mb\": 3.582810401916504, \"Time in s\": 253.628197 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9309257214950324, \"F1\": 0.9124350259896042, \"Memory in Mb\": 3.74349308013916, \"Time in s\": 332.298993 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9232785980405686, \"F1\": 0.9024903542616626, \"Memory in Mb\": 3.99596118927002, \"Time in s\": 420.603134 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9207653624432725, \"F1\": 0.9042962962962964, \"Memory in Mb\": 4.062603950500488, \"Time in s\": 517.241068 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9214041284910034, \"F1\": 0.9072191816523326, \"Memory in Mb\": 4.2443437576293945, \"Time in s\": 621.271616 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9173105870546914, \"F1\": 0.9037158214536104, \"Memory in Mb\": 4.387467384338379, \"Time in s\": 732.039898 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.916842976727072, \"F1\": 0.9044195390145908, \"Memory in Mb\": 4.416756629943848, \"Time in s\": 849.200167 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9150887322747728, \"F1\": 0.9024580569644948, \"Memory in Mb\": 4.712822914123535, \"Time in s\": 973.870605 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9128755026413308, \"F1\": 0.9002077124537162, \"Memory in Mb\": 5.243111610412598, \"Time in s\": 1105.403187 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9123555817205092, \"F1\": 0.900890405259216, \"Memory in Mb\": 5.419106483459473, \"Time in s\": 1243.898383 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9112107623318386, \"F1\": 0.9002402914502752, \"Memory in Mb\": 5.619416236877441, \"Time in s\": 1388.762519 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9125381468735796, \"F1\": 0.9014414282578476, \"Memory in Mb\": 5.888123512268066, \"Time in s\": 1539.2398159999998 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9096093702091128, \"F1\": 0.8977808599167822, \"Memory in Mb\": 6.072480201721191, \"Time in s\": 1695.9498239999998 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9093708243769244, \"F1\": 0.8958611481975968, \"Memory in Mb\": 6.119706153869629, \"Time in s\": 1858.647702 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9071140791434406, \"F1\": 0.892972972972973, \"Memory in Mb\": 6.420571327209473, \"Time in s\": 2027.885605 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.907910643889619, \"F1\": 0.8927784577723377, \"Memory in Mb\": 6.732544898986816, \"Time in s\": 2202.439499 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9079323666649942, \"F1\": 0.8936540133294696, \"Memory in Mb\": 6.836274147033691, \"Time in s\": 2383.16175 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9073283102174018, \"F1\": 0.8931673582295988, \"Memory in Mb\": 7.145352363586426, \"Time in s\": 2570.030805 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9069585613760752, \"F1\": 0.8912424063222407, \"Memory in Mb\": 7.368103981018066, \"Time in s\": 2762.468029 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9053379840169544, \"F1\": 0.8884611382790553, \"Memory in Mb\": 7.513260841369629, \"Time in s\": 2961.014701 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9031203566121844, \"F1\": 0.885441767068273, \"Memory in Mb\": 7.7879228591918945, \"Time in s\": 3165.900418 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9015984628592452, \"F1\": 0.8830361047669955, \"Memory in Mb\": 7.954785346984863, \"Time in s\": 3377.578704 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8990026412267907, \"F1\": 0.8799775133514476, \"Memory in Mb\": 8.00295352935791, \"Time in s\": 3596.265534 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8993263045712329, \"F1\": 0.8800942925789926, \"Memory in Mb\": 8.124005317687988, \"Time in s\": 3821.215918 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8986717686449097, \"F1\": 0.8798324461122262, \"Memory in Mb\": 8.133870124816895, \"Time in s\": 4052.049016 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8958874844222895, \"F1\": 0.8761436801084379, \"Memory in Mb\": 8.60555362701416, \"Time in s\": 4289.013778 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8951398709944466, \"F1\": 0.8747011787981206, \"Memory in Mb\": 8.944867134094238, \"Time in s\": 4531.544758 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927986085560424, \"F1\": 0.8719485396939551, \"Memory in Mb\": 9.235833168029783, \"Time in s\": 4780.469894 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8921533616855502, \"F1\": 0.8705882352941176, \"Memory in Mb\": 9.317421913146973, \"Time in s\": 5034.96976 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8903465892964143, \"F1\": 0.8684499262229957, \"Memory in Mb\": 9.565300941467283, \"Time in s\": 5295.565511 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8890387858347386, \"F1\": 0.867226767435888, \"Memory in Mb\": 9.898663520812988, \"Time in s\": 5561.886477999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8882789892902956, \"F1\": 0.8666547979348406, \"Memory in Mb\": 10.141366004943848, \"Time in s\": 5833.648399 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8878496528887211, \"F1\": 0.8660444783679699, \"Memory in Mb\": 10.462204933166504, \"Time in s\": 6110.893153 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8864800611326522, \"F1\": 0.8639185750636134, \"Memory in Mb\": 10.841256141662598, \"Time in s\": 6393.894783 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8857584370429648, \"F1\": 0.8622387861040862, \"Memory in Mb\": 11.13858127593994, \"Time in s\": 6682.129445 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8846412706959214, \"F1\": 0.8604643589827087, \"Memory in Mb\": 11.587563514709473, \"Time in s\": 6975.521303 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883682426217445, \"F1\": 0.8588377878420617, \"Memory in Mb\": 12.028901100158691, \"Time in s\": 7273.546291 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819210924865878, \"F1\": 0.8569117830036083, \"Memory in Mb\": 12.1774263381958, \"Time in s\": 7576.403824 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880741539773725, \"F1\": 0.8567122792211707, \"Memory in Mb\": 12.330445289611816, \"Time in s\": 7883.760394 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880423851455763, \"F1\": 0.8574603081781235, \"Memory in Mb\": 12.583298683166504, \"Time in s\": 8195.49812 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8811517696460708, \"F1\": 0.8591977712710009, \"Memory in Mb\": 12.884881019592283, \"Time in s\": 8511.394385 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8815199267278834, \"F1\": 0.8597403319525146, \"Memory in Mb\": 13.200516700744627, \"Time in s\": 8831.520838 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8809069377055212, \"F1\": 0.8591399896646449, \"Memory in Mb\": 13.322876930236816, \"Time in s\": 9156.403803 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880476651724371, \"F1\": 0.8583404527979496, \"Memory in Mb\": 13.499638557434082, \"Time in s\": 9485.877502 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805713150400671, \"F1\": 0.8587024655244463, \"Memory in Mb\": 13.542492866516112, \"Time in s\": 9819.626928 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805808744013595, \"F1\": 0.8586874200203704, \"Memory in Mb\": 13.542401313781738, \"Time in s\": 10153.705154 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.7142857142857143, \"Memory in Mb\": 0.6517477035522461, \"Time in s\": 0.344782 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7551020408163265, \"F1\": 0.7391304347826088, \"Memory in Mb\": 0.6519079208374023, \"Time in s\": 1.052047 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.7945205479452055, \"Memory in Mb\": 0.6519308090209961, \"Time in s\": 2.04852 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.6519536972045898, \"Time in s\": 3.481699 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8064516129032258, \"F1\": 0.8000000000000002, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 5.345952 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.8211920529801323, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 7.607799 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8313253012048192, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 10.226605 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.8253968253968254, \"Memory in Mb\": 0.6889629364013672, \"Time in s\": 13.384675 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8173076923076923, \"Memory in Mb\": 0.6891918182373047, \"Time in s\": 16.995274 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8273092369477911, \"F1\": 0.8154506437768241, \"Memory in Mb\": 0.6892147064208984, \"Time in s\": 21.029962 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8188976377952757, \"Memory in Mb\": 0.6892833709716797, \"Time in s\": 25.500591 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.823529411764706, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 30.459705 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8263888888888888, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 35.865097 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 41.618205 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8502673796791443, \"F1\": 0.8260869565217391, \"Memory in Mb\": 0.6892795562744141, \"Time in s\": 47.877466 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.849624060150376, \"F1\": 0.8235294117647061, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 54.483198 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8271954674220963, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 61.544972 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8530066815144766, \"F1\": 0.8225806451612903, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 69.002264 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523206751054853, \"F1\": 0.8241206030150755, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 77.051638 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8557114228456913, \"F1\": 0.8317757009345793, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 85.50066 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8530534351145038, \"F1\": 0.8253968253968255, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 94.362743 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.832618025751073, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 103.688841 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8588850174216028, \"F1\": 0.8336755646817249, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 113.608321 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8631051752921536, \"F1\": 0.8360000000000001, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 123.905415 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8621794871794872, \"F1\": 0.83203125, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 134.725616 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8659476117103235, \"F1\": 0.8391866913123845, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 146.008333 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679525222551929, \"F1\": 0.8446771378708552, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 157.728693 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8726752503576538, \"F1\": 0.848381601362862, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 169.816185 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8756906077348067, \"F1\": 0.8543689320388349, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 182.229315 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.87716955941255, \"F1\": 0.8566978193146417, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 195.113196 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8785529715762274, \"F1\": 0.8575757575757577, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 208.501766 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8785982478097623, \"F1\": 0.8592162554426704, \"Memory in Mb\": 0.7275295257568359, \"Time in s\": 222.496546 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798543689320388, \"F1\": 0.8619246861924686, \"Memory in Mb\": 0.7627391815185547, \"Time in s\": 236.948041 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8614130434782608, \"Memory in Mb\": 0.7627849578857422, \"Time in s\": 251.813013 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8787185354691075, \"F1\": 0.8594164456233422, \"Memory in Mb\": 0.7628536224365234, \"Time in s\": 267.105354 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8787541713014461, \"F1\": 0.8589909443725743, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 282.965748 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8809523809523809, \"F1\": 0.8628428927680798, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 299.167544 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798735511064278, \"F1\": 0.8629807692307693, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 315.934336 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819301848049281, \"F1\": 0.8651817116060961, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 333.021735 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828828828828829, \"F1\": 0.8662857142857143, \"Memory in Mb\": 0.7645549774169922, \"Time in s\": 350.749086 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828125, \"F1\": 0.8666666666666666, \"Memory in Mb\": 0.8362636566162109, \"Time in s\": 368.847305 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8846520495710201, \"F1\": 0.8691891891891892, \"Memory in Mb\": 0.8363094329833984, \"Time in s\": 387.397742 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836126629422719, \"F1\": 0.8691099476439791, \"Memory in Mb\": 0.8378963470458984, \"Time in s\": 406.476047 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844404003639672, \"F1\": 0.8702757916241062, \"Memory in Mb\": 0.8380107879638672, \"Time in s\": 425.926155 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861209964412812, \"F1\": 0.8732673267326733, \"Memory in Mb\": 0.8731288909912109, \"Time in s\": 445.763528 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8842471714534378, \"F1\": 0.8707482993197277, \"Memory in Mb\": 0.8731517791748047, \"Time in s\": 466.112685 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816013628620102, \"F1\": 0.8677450047573739, \"Memory in Mb\": 0.8732662200927734, \"Time in s\": 487.01292 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798999165971643, \"F1\": 0.8654205607476635, \"Memory in Mb\": 0.8732662200927734, \"Time in s\": 508.389566 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880718954248366, \"F1\": 0.8660550458715598, \"Memory in Mb\": 0.8732891082763672, \"Time in s\": 530.180451 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783026421136909, \"F1\": 0.8635547576301617, \"Memory in Mb\": 0.8733119964599609, \"Time in s\": 552.608585 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.14459228515625, \"Time in s\": 4.671696 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446609497070312, \"Time in s\": 14.150102 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446151733398437, \"Time in s\": 28.360088 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446380615234375, \"Time in s\": 47.155736000000005 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446380615234375, \"Time in s\": 70.60316700000001 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446151733398437, \"Time in s\": 98.660415 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.144683837890625, \"Time in s\": 131.464682 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996715496288512, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.3174581527709961, \"Time in s\": 185.699411 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080462454748, \"F1\": 0.8, \"Memory in Mb\": 0.3083944320678711, \"Time in s\": 248.358611 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372431551842, \"F1\": 0.8, \"Memory in Mb\": 0.3005514144897461, \"Time in s\": 315.58373 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997611312822472, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 387.343573 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997810378804468, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 463.526447 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997978818012774, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 544.0157879999999 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998123193573816, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 629.1407149999999 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248318385652, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 718.5008859999999 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357802082308, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 812.0251739999999 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998454404945905, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579626083374023, \"Time in s\": 909.687376 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998540273844628, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579854965209961, \"Time in s\": 1011.417335 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999861710366191, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1116.7962549999995 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686250295594, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1225.6397989999998 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998748811370802, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1337.9609139999998 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998805684939688, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1453.6581889999998 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998857612867847, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1572.7472669999995 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998905213373912, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1695.2891979999995 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998738806911338, \"F1\": 0.7857142857142857, \"Memory in Mb\": 0.3903570175170898, \"Time in s\": 1822.117106 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998787315318228, \"F1\": 0.7857142857142857, \"Memory in Mb\": 0.3928442001342773, \"Time in s\": 1952.439332 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998637602179836, \"F1\": 0.787878787878788, \"Memory in Mb\": 0.4802007675170898, \"Time in s\": 2088.556257 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686260158024, \"F1\": 0.787878787878788, \"Memory in Mb\": 0.4802465438842773, \"Time in s\": 2228.050331 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998550356974596, \"F1\": 0.7647058823529411, \"Memory in Mb\": 0.5258626937866211, \"Time in s\": 2371.062704 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999281823118289, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8453359603881836, \"Time in s\": 2524.551865 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993049905071876, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8887395858764648, \"Time in s\": 2681.973264 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993267099105017, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8967199325561523, \"Time in s\": 2843.114587 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993152648173508, \"F1\": 0.4266666666666667, \"Memory in Mb\": 1.0689306259155271, \"Time in s\": 3009.18915 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993354043986956, \"F1\": 0.4266666666666667, \"Memory in Mb\": 1.0783147811889648, \"Time in s\": 3178.956821 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993393790162752, \"F1\": 0.4210526315789473, \"Memory in Mb\": 1.0915288925170898, \"Time in s\": 3352.423608 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993577298670208, \"F1\": 0.45, \"Memory in Mb\": 1.0735387802124023, \"Time in s\": 3530.715962 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993750887658004, \"F1\": 0.45, \"Memory in Mb\": 1.0788640975952148, \"Time in s\": 3712.739099 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993915340256938, \"F1\": 0.45, \"Memory in Mb\": 1.0906057357788086, \"Time in s\": 3898.148799 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994071359275628, \"F1\": 0.45, \"Memory in Mb\": 1.0906057357788086, \"Time in s\": 4086.957815 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99942195772409, \"F1\": 0.45, \"Memory in Mb\": 1.090651512145996, \"Time in s\": 4279.139143 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994232395990874, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1481237411499023, \"Time in s\": 4474.636732 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369721614011, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1493444442749023, \"Time in s\": 4673.509203 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999450065992081, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1612462997436523, \"Time in s\": 4875.758715 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994625646415306, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.161269187927246, \"Time in s\": 5081.435613 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745077889624, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1612234115600586, \"Time in s\": 5290.523743 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994859316631824, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1584348678588867, \"Time in s\": 5502.994331999999 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999463327370304, \"F1\": 0.4285714285714285, \"Memory in Mb\": 1.2966947555541992, \"Time in s\": 5719.643149 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745081724928, \"F1\": 0.4285714285714285, \"Memory in Mb\": 1.3124494552612305, \"Time in s\": 5939.715090999999 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994316110074428, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3362340927124023, \"Time in s\": 6163.415711999999 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994429789067673, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3363256454467771, \"Time in s\": 6390.433574999999 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994430140297408, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3363256454467771, \"Time in s\": 6617.502892999999 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4857142857142857, \"F1\": 0.4599999999999999, \"Memory in Mb\": 0.2237319946289062, \"Time in s\": 0.813651 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165876777251185, \"F1\": 0.4574468085106383, \"Memory in Mb\": 0.2245254516601562, \"Time in s\": 2.392298 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205047318611987, \"F1\": 0.4722222222222222, \"Memory in Mb\": 0.2251434326171875, \"Time in s\": 4.879886 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.4838709677419355, \"Memory in Mb\": 0.225250244140625, \"Time in s\": 8.257922 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.55765595463138, \"F1\": 0.455813953488372, \"Memory in Mb\": 0.2252731323242187, \"Time in s\": 12.416081000000002 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.4259634888438134, \"Memory in Mb\": 0.2257461547851562, \"Time in s\": 17.551695000000002 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748987854251012, \"F1\": 0.4220183486238532, \"Memory in Mb\": 0.2259750366210937, \"Time in s\": 23.418389 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5785123966942148, \"F1\": 0.4232633279483037, \"Memory in Mb\": 0.2259063720703125, \"Time in s\": 30.181971 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.4193548387096774, \"Memory in Mb\": 0.2258834838867187, \"Time in s\": 37.806045 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4146341463414634, \"Memory in Mb\": 0.2256393432617187, \"Time in s\": 46.336236 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.4015056461731493, \"Memory in Mb\": 0.225738525390625, \"Time in s\": 55.794626 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4101382488479262, \"Memory in Mb\": 0.226043701171875, \"Time in s\": 66.093431 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.3973799126637554, \"Memory in Mb\": 0.226348876953125, \"Time in s\": 77.304266 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.3926380368098159, \"Memory in Mb\": 0.2263031005859375, \"Time in s\": 89.41731899999999 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.3896353166986563, \"Memory in Mb\": 0.2262802124023437, \"Time in s\": 102.388462 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.3876811594202898, \"Memory in Mb\": 0.2263412475585937, \"Time in s\": 116.266249 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6013325930038868, \"F1\": 0.3904923599320882, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 130.90050499999998 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.396812749003984, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 146.406164 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.3961136023916292, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 162.81699799999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5969797074091553, \"F1\": 0.3994374120956399, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 180.02605599999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597752808988764, \"F1\": 0.4013377926421405, \"Memory in Mb\": 0.226318359375, \"Time in s\": 198.114263 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5988845988845989, \"F1\": 0.4033184428844926, \"Memory in Mb\": 0.22637939453125, \"Time in s\": 217.043548 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5995075913007797, \"F1\": 0.4019607843137255, \"Memory in Mb\": 0.2264022827148437, \"Time in s\": 236.778245 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008651199370821, \"F1\": 0.4088526499708794, \"Memory in Mb\": 0.2267684936523437, \"Time in s\": 257.426783 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002265005662514, \"F1\": 0.4073866815892558, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 278.871455 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4028077753779697, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 301.18545300000005 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599790283117791, \"F1\": 0.4051948051948052, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 324.33878000000004 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599932591843613, \"F1\": 0.4026170105686965, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 348.42370100000005 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5977871786527823, \"F1\": 0.4023210831721469, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 373.346007 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986159169550173, \"F1\": 0.4042950513538749, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 399.176002 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5981735159817352, \"F1\": 0.4021739130434782, \"Memory in Mb\": 0.2248907089233398, \"Time in s\": 425.805579 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5959893836626364, \"F1\": 0.4022687609075043, \"Memory in Mb\": 0.2988729476928711, \"Time in s\": 453.430877 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597369173577352, \"F1\": 0.4023769100169779, \"Memory in Mb\": 0.3531064987182617, \"Time in s\": 482.040674 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008881487649181, \"F1\": 0.4087171052631579, \"Memory in Mb\": 0.3826017379760742, \"Time in s\": 511.8008850000001 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012402264761392, \"F1\": 0.4086365453818472, \"Memory in Mb\": 0.4367246627807617, \"Time in s\": 542.835536 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6023591087811271, \"F1\": 0.4104158569762923, \"Memory in Mb\": 0.4704160690307617, \"Time in s\": 575.071901 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6052027543993879, \"F1\": 0.4145234493192133, \"Memory in Mb\": 0.5176496505737305, \"Time in s\": 608.725741 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608393344921778, \"F1\": 0.4195804195804196, \"Memory in Mb\": 0.5480222702026367, \"Time in s\": 643.745138 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6121461408178079, \"F1\": 0.4260651629072682, \"Memory in Mb\": 0.5632429122924805, \"Time in s\": 680.30634 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157112526539278, \"F1\": 0.4329968673860076, \"Memory in Mb\": 0.5676107406616211, \"Time in s\": 718.216367 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6193325661680092, \"F1\": 0.438560760353021, \"Memory in Mb\": 0.5822668075561523, \"Time in s\": 757.397991 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6218827229835991, \"F1\": 0.4421610871726881, \"Memory in Mb\": 0.5884695053100586, \"Time in s\": 797.943115 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6219003730524468, \"F1\": 0.4429356611703847, \"Memory in Mb\": 0.6275625228881836, \"Time in s\": 839.803567 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.623203945957538, \"F1\": 0.4455664247396655, \"Memory in Mb\": 0.6328649520874023, \"Time in s\": 883.024854 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6250786328370728, \"F1\": 0.446096654275093, \"Memory in Mb\": 0.6821584701538086, \"Time in s\": 927.682473 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6266666666666667, \"F1\": 0.4468085106382978, \"Memory in Mb\": 0.6950826644897461, \"Time in s\": 973.720669 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.629592451314997, \"F1\": 0.4530091906314853, \"Memory in Mb\": 0.7119512557983398, \"Time in s\": 1021.080455 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6298407705917043, \"F1\": 0.4527753560011624, \"Memory in Mb\": 0.6960439682006836, \"Time in s\": 1069.7402539999998 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6321971885230118, \"F1\": 0.456459874786568, \"Memory in Mb\": 0.6964941024780273, \"Time in s\": 1119.6924109999998 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6340819022457067, \"F1\": 0.4594368553108447, \"Memory in Mb\": 0.7031240463256836, \"Time in s\": 1170.8531239999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8629834254143647, \"F1\": 0.8663793103448276, \"Memory in Mb\": 1.7490100860595703, \"Time in s\": 16.056337 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8890115958034235, \"F1\": 0.8680236375574525, \"Memory in Mb\": 2.496591567993164, \"Time in s\": 50.652304 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.87523003312477, \"F1\": 0.8521587440034889, \"Memory in Mb\": 1.8562908172607424, \"Time in s\": 106.697102 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8868341153739995, \"F1\": 0.8653972422849641, \"Memory in Mb\": 2.5584278106689453, \"Time in s\": 176.150463 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8880547582247736, \"F1\": 0.8593619972260749, \"Memory in Mb\": 3.1707210540771484, \"Time in s\": 258.677392 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8829806807727691, \"F1\": 0.8518863530507685, \"Memory in Mb\": 2.113290786743164, \"Time in s\": 353.604927 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8814067181832519, \"F1\": 0.8497802636835796, \"Memory in Mb\": 2.472631454467773, \"Time in s\": 459.993548 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883262039464606, \"F1\": 0.8516310066643283, \"Memory in Mb\": 2.354246139526367, \"Time in s\": 576.649537 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8828652029927634, \"F1\": 0.8585394756332394, \"Memory in Mb\": 2.1453304290771484, \"Time in s\": 702.348431 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8839827795562424, \"F1\": 0.8639129871811472, \"Memory in Mb\": 2.1982364654541016, \"Time in s\": 836.637311 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880983442047165, \"F1\": 0.8635840809753854, \"Memory in Mb\": 2.4484920501708984, \"Time in s\": 979.832141 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881151687977187, \"F1\": 0.8654446990210373, \"Memory in Mb\": 2.578580856323242, \"Time in s\": 1131.438926 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8799354674365288, \"F1\": 0.8634344214796214, \"Memory in Mb\": 2.730459213256836, \"Time in s\": 1291.261447 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8768430182133564, \"F1\": 0.8601361031518624, \"Memory in Mb\": 2.090116500854492, \"Time in s\": 1459.3451100000002 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8789462064905438, \"F1\": 0.8639483913654784, \"Memory in Mb\": 1.877275466918945, \"Time in s\": 1635.065473 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.878854777509486, \"F1\": 0.86444341516134, \"Memory in Mb\": 2.105062484741211, \"Time in s\": 1818.351758 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8775404194532822, \"F1\": 0.86187197890728, \"Memory in Mb\": 2.440736770629883, \"Time in s\": 2009.388651 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765560802109523, \"F1\": 0.8599262403451395, \"Memory in Mb\": 2.627225875854492, \"Time in s\": 2209.910977 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758496485214663, \"F1\": 0.8567214213878646, \"Memory in Mb\": 2.5119991302490234, \"Time in s\": 2419.733571 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8760969148407749, \"F1\": 0.8567600331780769, \"Memory in Mb\": 2.716485977172852, \"Time in s\": 2638.279319 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8772141918528252, \"F1\": 0.8562284588872477, \"Memory in Mb\": 3.019651412963867, \"Time in s\": 2865.7383750000004 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8739651798705534, \"F1\": 0.8535106134826219, \"Memory in Mb\": 2.721925735473633, \"Time in s\": 3103.6766270000003 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8716225944233815, \"F1\": 0.8503663925714606, \"Memory in Mb\": 2.4018421173095703, \"Time in s\": 3351.3122810000004 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872556684910086, \"F1\": 0.8492300995701616, \"Memory in Mb\": 2.248655319213867, \"Time in s\": 3607.2754260000006 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.870722769217184, \"F1\": 0.845275840202917, \"Memory in Mb\": 2.611169815063477, \"Time in s\": 3871.072358000001 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8645722776480578, \"F1\": 0.8365611230658879, \"Memory in Mb\": 1.8957767486572263, \"Time in s\": 4144.250301000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8614120436613385, \"F1\": 0.8315276811450154, \"Memory in Mb\": 1.5607776641845703, \"Time in s\": 4424.237452000001 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8560334292584855, \"F1\": 0.8249113050148624, \"Memory in Mb\": 1.3715801239013672, \"Time in s\": 4711.1951020000015 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8558596277547292, \"F1\": 0.824277295717136, \"Memory in Mb\": 1.611249923706055, \"Time in s\": 5004.571280000002 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564332756907906, \"F1\": 0.8258035714285713, \"Memory in Mb\": 2.025979995727539, \"Time in s\": 5304.465246000002 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8535517179989318, \"F1\": 0.8215385950449082, \"Memory in Mb\": 1.848848342895508, \"Time in s\": 5611.580754000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8515746266082578, \"F1\": 0.8178624338624338, \"Memory in Mb\": 2.0671520233154297, \"Time in s\": 5927.3319900000015 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.849048399504967, \"F1\": 0.8140885684860969, \"Memory in Mb\": 1.3224430084228516, \"Time in s\": 6250.652578000001 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8473849949680226, \"F1\": 0.8106344410876132, \"Memory in Mb\": 1.549489974975586, \"Time in s\": 6580.126329000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8429783342268756, \"F1\": 0.8039377830281552, \"Memory in Mb\": 1.5209712982177734, \"Time in s\": 6916.182134000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411773723746743, \"F1\": 0.8020785572367416, \"Memory in Mb\": 1.995222091674805, \"Time in s\": 7258.669481000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8415023418155783, \"F1\": 0.8033751526590429, \"Memory in Mb\": 1.8286800384521484, \"Time in s\": 7608.320925000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.839689778371627, \"F1\": 0.8006357692446627, \"Memory in Mb\": 2.242650985717773, \"Time in s\": 7966.087012000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8395550901423598, \"F1\": 0.7993487417265422, \"Memory in Mb\": 2.1107349395751958, \"Time in s\": 8331.986249000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400618118601507, \"F1\": 0.7984280447937677, \"Memory in Mb\": 1.8943347930908203, \"Time in s\": 8703.460619000001 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.839278503163279, \"F1\": 0.796356938190749, \"Memory in Mb\": 1.3389415740966797, \"Time in s\": 9080.992051 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8389267036345956, \"F1\": 0.7946940006029546, \"Memory in Mb\": 1.607133865356445, \"Time in s\": 9463.837927 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382832353620658, \"F1\": 0.7942655607079877, \"Memory in Mb\": 1.8687000274658203, \"Time in s\": 9853.704286 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8387477109098663, \"F1\": 0.7967495098969203, \"Memory in Mb\": 1.466756820678711, \"Time in s\": 10249.501094 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400009811376291, \"F1\": 0.8001225677953119, \"Memory in Mb\": 2.0175647735595703, \"Time in s\": 10651.197686 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8407918416316736, \"F1\": 0.8026413635146792, \"Memory in Mb\": 2.1117191314697266, \"Time in s\": 11058.632461 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411732932528593, \"F1\": 0.8035781708344224, \"Memory in Mb\": 2.033967971801758, \"Time in s\": 11470.822587 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8416538275806563, \"F1\": 0.804308286915994, \"Memory in Mb\": 1.7070560455322266, \"Time in s\": 11887.700533 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8406280269411844, \"F1\": 0.8019483246087955, \"Memory in Mb\": 2.28169059753418, \"Time in s\": 12309.209906 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404379787633282, \"F1\": 0.802124397722295, \"Memory in Mb\": 2.2888126373291016, \"Time in s\": 12736.77001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404360971949416, \"F1\": 0.8020804817957842, \"Memory in Mb\": 2.2889575958251958, \"Time in s\": 13164.474026 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7083333333333334, \"F1\": 0.7407407407407408, \"Memory in Mb\": 0.7072525024414062, \"Time in s\": 0.45657 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8085106382978724, \"Memory in Mb\": 0.7079315185546875, \"Time in s\": 1.426682 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8513513513513513, \"F1\": 0.8493150684931507, \"Memory in Mb\": 0.708251953125, \"Time in s\": 2.873238 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8585858585858586, \"F1\": 0.8541666666666666, \"Memory in Mb\": 0.70849609375, \"Time in s\": 4.790442 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8548387096774194, \"F1\": 0.85, \"Memory in Mb\": 0.70849609375, \"Time in s\": 7.239611999999999 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523489932885906, \"F1\": 0.8533333333333335, \"Memory in Mb\": 0.708740234375, \"Time in s\": 10.202642999999998 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8536585365853658, \"Memory in Mb\": 0.7091293334960938, \"Time in s\": 13.59528 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8592964824120602, \"F1\": 0.8510638297872339, \"Memory in Mb\": 0.7092666625976562, \"Time in s\": 17.527801 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8405797101449276, \"Memory in Mb\": 0.7491827011108398, \"Time in s\": 22.029145 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8473895582329317, \"F1\": 0.8347826086956521, \"Memory in Mb\": 0.7771825790405273, \"Time in s\": 27.026807 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8333333333333335, \"Memory in Mb\": 0.7774114608764648, \"Time in s\": 32.501577 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8528428093645485, \"F1\": 0.837037037037037, \"Memory in Mb\": 0.7775945663452148, \"Time in s\": 38.42215899999999 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8611111111111112, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.7779607772827148, \"Time in s\": 44.92146699999999 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8653295128939829, \"F1\": 0.8438538205980067, \"Memory in Mb\": 0.7781057357788086, \"Time in s\": 51.897795 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8427672955974843, \"Memory in Mb\": 0.8172750473022461, \"Time in s\": 59.36314 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8417910447761194, \"Memory in Mb\": 0.8571996688842773, \"Time in s\": 67.416022 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679245283018868, \"F1\": 0.839080459770115, \"Memory in Mb\": 0.9128484725952148, \"Time in s\": 76.017673 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8708240534521158, \"F1\": 0.8406593406593408, \"Memory in Mb\": 0.913100242614746, \"Time in s\": 85.092057 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.869198312236287, \"F1\": 0.8402061855670103, \"Memory in Mb\": 0.9133520126342772, \"Time in s\": 94.603797 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8677354709418837, \"F1\": 0.8413461538461539, \"Memory in Mb\": 0.9135580062866212, \"Time in s\": 104.609638 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8384074941451991, \"Memory in Mb\": 0.9136190414428712, \"Time in s\": 115.080656 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8670309653916212, \"F1\": 0.8381374722838136, \"Memory in Mb\": 0.9137258529663086, \"Time in s\": 126.050962 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867595818815331, \"F1\": 0.8382978723404255, \"Memory in Mb\": 0.9137868881225586, \"Time in s\": 137.397676 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8381742738589212, \"Memory in Mb\": 0.9139089584350586, \"Time in s\": 149.31562 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8373983739837398, \"Memory in Mb\": 0.9536046981811525, \"Time in s\": 161.695664 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.846153846153846, \"Memory in Mb\": 0.9540624618530272, \"Time in s\": 174.565593 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8478260869565216, \"Memory in Mb\": 0.9818639755249025, \"Time in s\": 187.898512 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8515901060070671, \"Memory in Mb\": 0.9230222702026368, \"Time in s\": 201.735875 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825966850828729, \"F1\": 0.8576214405360134, \"Memory in Mb\": 1.021204948425293, \"Time in s\": 216.085388 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865153538050734, \"F1\": 0.8631239935587761, \"Memory in Mb\": 1.0604047775268557, \"Time in s\": 230.90612 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8875968992248062, \"F1\": 0.863849765258216, \"Memory in Mb\": 1.1157331466674805, \"Time in s\": 246.307883 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8873591989987485, \"F1\": 0.8652694610778443, \"Memory in Mb\": 1.2215375900268557, \"Time in s\": 262.241262 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871359223300971, \"F1\": 0.8661870503597122, \"Memory in Mb\": 1.2229490280151367, \"Time in s\": 278.553882 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8881036513545347, \"F1\": 0.8671328671328671, \"Memory in Mb\": 1.235407829284668, \"Time in s\": 295.406724 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901601830663616, \"F1\": 0.8688524590163934, \"Memory in Mb\": 1.263422966003418, \"Time in s\": 312.749904 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8887652947719689, \"F1\": 0.8670212765957446, \"Memory in Mb\": 1.318751335144043, \"Time in s\": 330.632511 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8695652173913043, \"Memory in Mb\": 1.318964958190918, \"Time in s\": 348.945693 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8893572181243414, \"F1\": 0.8708487084870848, \"Memory in Mb\": 1.3194990158081057, \"Time in s\": 367.701988 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901437371663244, \"F1\": 0.8718562874251498, \"Memory in Mb\": 1.319605827331543, \"Time in s\": 386.96933700000005 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8697674418604652, \"Memory in Mb\": 1.3197660446166992, \"Time in s\": 406.7503420000001 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8700564971751412, \"Memory in Mb\": 1.3200559616088867, \"Time in s\": 426.99481600000007 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8725274725274725, \"Memory in Mb\": 1.320155143737793, \"Time in s\": 447.8295280000001 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.8742004264392325, \"Memory in Mb\": 1.320277214050293, \"Time in s\": 469.1965740000001 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.8761706555671176, \"Memory in Mb\": 1.320643424987793, \"Time in s\": 491.1150510000001 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8790322580645162, \"Memory in Mb\": 1.320704460144043, \"Time in s\": 513.5552500000001 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8938207136640557, \"F1\": 0.8794466403162056, \"Memory in Mb\": 1.320704460144043, \"Time in s\": 536.4428780000001 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926746166950597, \"F1\": 0.877906976744186, \"Memory in Mb\": 1.320765495300293, \"Time in s\": 559.8515450000001 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8783269961977186, \"Memory in Mb\": 1.3328428268432615, \"Time in s\": 583.8125340000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929738562091504, \"F1\": 0.8779123951537745, \"Memory in Mb\": 1.3880414962768557, \"Time in s\": 608.2234330000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8935148118494796, \"F1\": 0.8792007266121706, \"Memory in Mb\": 1.3882551193237305, \"Time in s\": 633.1359570000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2038736343383789, \"Time in s\": 10.878823 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2044839859008789, \"Time in s\": 32.501535000000004 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050256729125976, \"Time in s\": 64.818606 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050485610961914, \"Time in s\": 107.076722 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050485610961914, \"Time in s\": 158.807432 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2056589126586914, \"Time in s\": 218.4459 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2056818008422851, \"Time in s\": 285.193275 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2613000869750976, \"Time in s\": 359.039643 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.2063913345336914, \"Time in s\": 440.617697 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.2062082290649414, \"Time in s\": 529.79805 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.2068414688110351, \"Time in s\": 626.4074929999999 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.2069330215454101, \"Time in s\": 729.8228539999999 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.2070703506469726, \"Time in s\": 839.3276679999999 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.2067499160766601, \"Time in s\": 954.865641 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.2069787979125976, \"Time in s\": 1076.4115539999998 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.2068643569946289, \"Time in s\": 1203.4939569999997 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.2070016860961914, \"Time in s\": 1337.1471509999997 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.2069101333618164, \"Time in s\": 1476.3596139999995 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.2069101333618164, \"Time in s\": 1621.0863639999998 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.2069330215454101, \"Time in s\": 1771.0710339999998 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.2067956924438476, \"Time in s\": 1926.306088 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.2074975967407226, \"Time in s\": 2086.761849 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.2069787979125976, \"Time in s\": 2252.424258 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.2072610855102539, \"Time in s\": 2423.176177 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.2072534561157226, \"Time in s\": 2599.130792 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1954126358032226, \"Time in s\": 2780.435567 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.2073373794555664, \"Time in s\": 2966.651736 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.2073373794555664, \"Time in s\": 3157.874809 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.2073526382446289, \"Time in s\": 3353.943675 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.2070703506469726, \"Time in s\": 3555.07983 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.2070398330688476, \"Time in s\": 3761.219357 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.2070322036743164, \"Time in s\": 3972.252634 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.2071924209594726, \"Time in s\": 4188.261246 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.2073450088500976, \"Time in s\": 4409.191759 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.2073144912719726, \"Time in s\": 4634.878548000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 4864.934707 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.2072000503540039, \"Time in s\": 5099.2875650000005 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 5337.886074000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 5580.709613000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.2074670791625976, \"Time in s\": 5827.7179830000005 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.2074670791625976, \"Time in s\": 6079.015463000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.2071466445922851, \"Time in s\": 6334.716663000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.2075586318969726, \"Time in s\": 6594.692589000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.2079553604125976, \"Time in s\": 6858.666542000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.2080392837524414, \"Time in s\": 7126.604303000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.2078561782836914, \"Time in s\": 7398.595214000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.2079019546508789, \"Time in s\": 7674.616155000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.2078104019165039, \"Time in s\": 7954.656032000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1961145401000976, \"Time in s\": 8238.690655 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.2079477310180664, \"Time in s\": 8526.751857000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.2079706192016601, \"Time in s\": 8814.843001000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5142857142857142, \"F1\": 0.4516129032258064, \"Memory in Mb\": 0.1802501678466797, \"Time in s\": 1.958268 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5402843601895735, \"F1\": 0.4756756756756757, \"Memory in Mb\": 0.1808605194091797, \"Time in s\": 6.1304110000000005 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5394321766561514, \"F1\": 0.4930555555555555, \"Memory in Mb\": 0.1814937591552734, \"Time in s\": 12.559627 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5531914893617021, \"F1\": 0.4932975871313673, \"Memory in Mb\": 0.1814708709716797, \"Time in s\": 21.158430000000003 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5614366729678639, \"F1\": 0.4703196347031963, \"Memory in Mb\": 0.1814708709716797, \"Time in s\": 31.954501 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5763779527559055, \"F1\": 0.4836852207293666, \"Memory in Mb\": 0.4110956192016601, \"Time in s\": 45.100937 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5991902834008097, \"F1\": 0.4940374787052811, \"Memory in Mb\": 0.5197267532348633, \"Time in s\": 60.647662 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6210153482880756, \"F1\": 0.5201793721973094, \"Memory in Mb\": 0.6145830154418945, \"Time in s\": 78.646382 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6411332633788038, \"F1\": 0.5464190981432361, \"Memory in Mb\": 0.681065559387207, \"Time in s\": 99.167462 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6515580736543909, \"F1\": 0.555956678700361, \"Memory in Mb\": 0.7228097915649414, \"Time in s\": 122.156435 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6626609442060086, \"F1\": 0.5732899022801302, \"Memory in Mb\": 0.8111352920532227, \"Time in s\": 147.677601 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6766325727773407, \"F1\": 0.5958702064896755, \"Memory in Mb\": 0.8519144058227539, \"Time in s\": 175.66982000000002 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6877269426289034, \"F1\": 0.6062271062271062, \"Memory in Mb\": 0.9361848831176758, \"Time in s\": 206.112203 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6999325691166555, \"F1\": 0.6238377007607777, \"Memory in Mb\": 0.978398323059082, \"Time in s\": 239.08437400000005 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7073631214600378, \"F1\": 0.6375681995323461, \"Memory in Mb\": 1.0816278457641602, \"Time in s\": 274.51056400000004 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7162241887905605, \"F1\": 0.6496722505462491, \"Memory in Mb\": 1.146012306213379, \"Time in s\": 312.20930000000004 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7262631871182677, \"F1\": 0.6662153012863914, \"Memory in Mb\": 1.231095314025879, \"Time in s\": 352.32891700000005 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7320398531725223, \"F1\": 0.677602523659306, \"Memory in Mb\": 1.3021745681762695, \"Time in s\": 394.808348 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7391952309985097, \"F1\": 0.6902654867256638, \"Memory in Mb\": 1.3571443557739258, \"Time in s\": 439.684188 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7456347333647947, \"F1\": 0.7020453289110005, \"Memory in Mb\": 1.439896583557129, \"Time in s\": 486.825513 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.750561797752809, \"F1\": 0.7080483955812729, \"Memory in Mb\": 1.4615755081176758, \"Time in s\": 536.150148 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7554697554697555, \"F1\": 0.715, \"Memory in Mb\": 1.4801912307739258, \"Time in s\": 587.578093 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7599507591300779, \"F1\": 0.7202295552367289, \"Memory in Mb\": 1.5264062881469729, \"Time in s\": 641.095023 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7624852536374361, \"F1\": 0.7257039055404179, \"Memory in Mb\": 1.5866899490356443, \"Time in s\": 696.665992 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7678369195922989, \"F1\": 0.7331887201735358, \"Memory in Mb\": 1.6338167190551758, \"Time in s\": 754.18395 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7731397459165155, \"F1\": 0.7396917950853811, \"Memory in Mb\": 1.718327522277832, \"Time in s\": 813.521765 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.777350576721426, \"F1\": 0.7440739252711932, \"Memory in Mb\": 1.7761125564575195, \"Time in s\": 874.768076 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7812605325244355, \"F1\": 0.7479611650485437, \"Memory in Mb\": 1.876938819885254, \"Time in s\": 937.838653 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7845753335502766, \"F1\": 0.7526158445440957, \"Memory in Mb\": 1.974156379699707, \"Time in s\": 1002.618853 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7892418999685435, \"F1\": 0.7572463768115942, \"Memory in Mb\": 2.007943153381348, \"Time in s\": 1069.033932 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7923896499238965, \"F1\": 0.7605337078651686, \"Memory in Mb\": 2.0704050064086914, \"Time in s\": 1137.092928 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7938661161899144, \"F1\": 0.7636117686844774, \"Memory in Mb\": 2.141594886779785, \"Time in s\": 1206.880705 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7966828710323134, \"F1\": 0.7657331136738056, \"Memory in Mb\": 2.2472352981567383, \"Time in s\": 1278.374701 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7998889814043852, \"F1\": 0.7685393258426965, \"Memory in Mb\": 2.2915468215942383, \"Time in s\": 1351.505796 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8021029927204099, \"F1\": 0.7717661691542288, \"Memory in Mb\": 2.3504953384399414, \"Time in s\": 1426.3168569999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8055045871559633, \"F1\": 0.7761013880506941, \"Memory in Mb\": 2.397225379943848, \"Time in s\": 1502.8248519999995 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8071920428462127, \"F1\": 0.7776470588235294, \"Memory in Mb\": 2.4447336196899414, \"Time in s\": 1580.9903339999996 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8085423392103303, \"F1\": 0.7788930312589618, \"Memory in Mb\": 2.513848304748535, \"Time in s\": 1660.8236829999996 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8107911928381321, \"F1\": 0.7816862088218872, \"Memory in Mb\": 2.6076173782348637, \"Time in s\": 1742.3313809999995 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8136352913422977, \"F1\": 0.7852093529091897, \"Memory in Mb\": 2.653599739074707, \"Time in s\": 1825.5059619999995 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8161104718066743, \"F1\": 0.7881198621055423, \"Memory in Mb\": 2.711110115051269, \"Time in s\": 1910.383718 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8173444169849472, \"F1\": 0.7894327894327894, \"Memory in Mb\": 2.7411813735961914, \"Time in s\": 1996.892937 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8183015141540487, \"F1\": 0.7910146390711761, \"Memory in Mb\": 2.7629594802856445, \"Time in s\": 2085.0686209999994 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8205018228608192, \"F1\": 0.7941971969510695, \"Memory in Mb\": 2.818455696105957, \"Time in s\": 2174.887267 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8209268190396309, \"F1\": 0.7942168674698795, \"Memory in Mb\": 2.852097511291504, \"Time in s\": 2266.3018959999995 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.822974358974359, \"F1\": 0.795932844644124, \"Memory in Mb\": 2.940415382385254, \"Time in s\": 2359.381272 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.825135514956836, \"F1\": 0.7990772779700116, \"Memory in Mb\": 2.986912727355957, \"Time in s\": 2454.120045 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.825437389424022, \"F1\": 0.7995485327313769, \"Memory in Mb\": 3.072648048400879, \"Time in s\": 2550.44047 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8266897746967071, \"F1\": 0.8008849557522125, \"Memory in Mb\": 3.1882104873657227, \"Time in s\": 2648.361542 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8282694848084544, \"F1\": 0.8026886383347789, \"Memory in Mb\": 3.2357072830200195, \"Time in s\": 2747.950666 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895027624309392, \"F1\": 0.8873873873873873, \"Memory in Mb\": 2.537948608398437, \"Time in s\": 35.61841 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9127553837658752, \"F1\": 0.8941018766756033, \"Memory in Mb\": 3.267250061035156, \"Time in s\": 98.669065 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9013617960986382, \"F1\": 0.8815207780725023, \"Memory in Mb\": 2.908538818359375, \"Time in s\": 185.051304 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.905051062655258, \"F1\": 0.8859416445623343, \"Memory in Mb\": 4.239933013916016, \"Time in s\": 291.140366 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9059395009935968, \"F1\": 0.8829026937877955, \"Memory in Mb\": 4.5028228759765625, \"Time in s\": 414.050546 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904691812327507, \"F1\": 0.8806451612903227, \"Memory in Mb\": 5.411556243896484, \"Time in s\": 555.0527619999999 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904746885349314, \"F1\": 0.8810086682427108, \"Memory in Mb\": 3.64324951171875, \"Time in s\": 712.2276919999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9038222712846696, \"F1\": 0.8793908980792524, \"Memory in Mb\": 4.176555633544922, \"Time in s\": 885.4512659999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062921623942108, \"F1\": 0.8879107981220656, \"Memory in Mb\": 4.873016357421875, \"Time in s\": 1073.942042 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.907384921072966, \"F1\": 0.8915600361897376, \"Memory in Mb\": 6.068294525146484, \"Time in s\": 1277.3056459999998 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9066733567486202, \"F1\": 0.8924855491329481, \"Memory in Mb\": 5.883171081542969, \"Time in s\": 1496.0059789999998 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9090240088308345, \"F1\": 0.8966238110170377, \"Memory in Mb\": 7.123630523681641, \"Time in s\": 1728.5474849999998 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.908805298463106, \"F1\": 0.8963720571208027, \"Memory in Mb\": 4.904956817626953, \"Time in s\": 1974.076492 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9071197666167312, \"F1\": 0.8948214285714287, \"Memory in Mb\": 4.745685577392578, \"Time in s\": 2233.08693 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.908234601515932, \"F1\": 0.8972732515034187, \"Memory in Mb\": 5.919612884521484, \"Time in s\": 2504.250556 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9082442221455674, \"F1\": 0.8976293103448276, \"Memory in Mb\": 4.272552490234375, \"Time in s\": 2787.365554 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9089669501980392, \"F1\": 0.8979027090008739, \"Memory in Mb\": 4.651363372802734, \"Time in s\": 3081.637323 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9085668731219722, \"F1\": 0.8971653217463273, \"Memory in Mb\": 5.967304229736328, \"Time in s\": 3386.795808 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9075698599895428, \"F1\": 0.8943488943488943, \"Memory in Mb\": 5.553913116455078, \"Time in s\": 3703.059282 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9077211766653788, \"F1\": 0.8943911066195048, \"Memory in Mb\": 7.001399993896484, \"Time in s\": 4030.541025 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9078580814717476, \"F1\": 0.8932854446947099, \"Memory in Mb\": 7.953182220458984, \"Time in s\": 4368.505934999999 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9081832321509208, \"F1\": 0.8944636678200691, \"Memory in Mb\": 8.54180908203125, \"Time in s\": 4717.761576999999 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064644622546432, \"F1\": 0.8926111631494847, \"Memory in Mb\": 7.284095764160156, \"Time in s\": 5078.966551999999 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064066596145886, \"F1\": 0.8909840895698291, \"Memory in Mb\": 8.78485107421875, \"Time in s\": 5451.144687999999 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9054704401960352, \"F1\": 0.8890386110391294, \"Memory in Mb\": 9.895774841308594, \"Time in s\": 5834.807108999999 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9032052642751008, \"F1\": 0.8860113988601139, \"Memory in Mb\": 9.921958923339844, \"Time in s\": 6231.782156999999 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9009443604104492, \"F1\": 0.8825098191339766, \"Memory in Mb\": 6.414276123046875, \"Time in s\": 6640.471452999998 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8975046320022076, \"F1\": 0.87847059923343, \"Memory in Mb\": 7.025360107421875, \"Time in s\": 7059.615553999998 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8978418909146272, \"F1\": 0.878705712219812, \"Memory in Mb\": 8.249675750732422, \"Time in s\": 7487.941528999998 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8983038375216159, \"F1\": 0.879888753693725, \"Memory in Mb\": 7.590415954589844, \"Time in s\": 7924.652190999998 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8965640021363718, \"F1\": 0.8772448763997466, \"Memory in Mb\": 7.862815856933594, \"Time in s\": 8369.790676999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8963126487530613, \"F1\": 0.8762962962962964, \"Memory in Mb\": 9.08489990234375, \"Time in s\": 8823.391086 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8952403251162324, \"F1\": 0.8748901493968203, \"Memory in Mb\": 2.6490402221679688, \"Time in s\": 9284.744377 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8947505113138331, \"F1\": 0.8736357966947302, \"Memory in Mb\": 3.22769546508789, \"Time in s\": 9752.904185 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8935948784256835, \"F1\": 0.8721291594027135, \"Memory in Mb\": 3.8703384399414062, \"Time in s\": 10228.075712 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8929940211559099, \"F1\": 0.8717194736455194, \"Memory in Mb\": 4.073085784912109, \"Time in s\": 10710.354293 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8932311088571343, \"F1\": 0.872338148742643, \"Memory in Mb\": 4.776435852050781, \"Time in s\": 11199.826533 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8924390739826299, \"F1\": 0.8711865585974188, \"Memory in Mb\": 4.868198394775391, \"Time in s\": 11696.46579 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8922537005066086, \"F1\": 0.8703735231025913, \"Memory in Mb\": 5.445720672607422, \"Time in s\": 12200.310087 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8919948122188802, \"F1\": 0.8690619563762879, \"Memory in Mb\": 4.9837493896484375, \"Time in s\": 12711.187581 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920985327769552, \"F1\": 0.8688996467355751, \"Memory in Mb\": 5.313899993896484, \"Time in s\": 13229.1012 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8916979842842501, \"F1\": 0.8676919125437441, \"Memory in Mb\": 5.129566192626953, \"Time in s\": 13754.199791 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8912647277767796, \"F1\": 0.8674924924924926, \"Memory in Mb\": 5.3661651611328125, \"Time in s\": 14286.524658 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8915535709806086, \"F1\": 0.8687813021702837, \"Memory in Mb\": 5.776020050048828, \"Time in s\": 14825.184636 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920012754789178, \"F1\": 0.8703512852978417, \"Memory in Mb\": 6.964508056640625, \"Time in s\": 15370.438083 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.89250149970006, \"F1\": 0.8717728547713092, \"Memory in Mb\": 8.029548645019531, \"Time in s\": 15922.831901 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927925600619995, \"F1\": 0.8723184068469779, \"Memory in Mb\": 8.723072052001953, \"Time in s\": 16481.133162000002 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927495573389749, \"F1\": 0.8722821622213702, \"Memory in Mb\": 8.793426513671875, \"Time in s\": 17045.039295000002 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920775797986169, \"F1\": 0.8710467526175545, \"Memory in Mb\": 6.634971618652344, \"Time in s\": 17614.470389000002 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8926687123336056, \"F1\": 0.8720122143834896, \"Memory in Mb\": 7.5638427734375, \"Time in s\": 18188.843118 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8926529981682152, \"F1\": 0.8719663069228745, \"Memory in Mb\": 7.565349578857422, \"Time in s\": 18763.342135 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.75, \"F1\": 0.75, \"Memory in Mb\": 0.6626491546630859, \"Time in s\": 1.23946 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8, \"Memory in Mb\": 0.6635112762451172, \"Time in s\": 3.937992 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8378378378378378, \"F1\": 0.8333333333333334, \"Memory in Mb\": 0.6635112762451172, \"Time in s\": 8.007437 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8484848484848485, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.6476030349731445, \"Time in s\": 13.398751 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467741935483871, \"F1\": 0.8403361344537815, \"Memory in Mb\": 0.9203081130981444, \"Time in s\": 19.997869 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8456375838926175, \"F1\": 0.8456375838926175, \"Memory in Mb\": 0.9203310012817384, \"Time in s\": 27.874049 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867816091954023, \"F1\": 0.8588957055214724, \"Memory in Mb\": 1.0861825942993164, \"Time in s\": 37.283539 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8693467336683417, \"F1\": 0.8617021276595744, \"Memory in Mb\": 1.2813997268676758, \"Time in s\": 47.998757 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8660714285714286, \"F1\": 0.8557692307692308, \"Memory in Mb\": 1.3089113235473633, \"Time in s\": 59.952353 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.8434782608695653, \"Memory in Mb\": 1.3089799880981443, \"Time in s\": 73.11976999999999 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8576642335766423, \"F1\": 0.844621513944223, \"Memory in Mb\": 1.2476167678833008, \"Time in s\": 87.72028699999998 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.862876254180602, \"F1\": 0.8464419475655431, \"Memory in Mb\": 1.4594087600708008, \"Time in s\": 103.60422699999998 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8703703703703703, \"F1\": 0.851063829787234, \"Memory in Mb\": 1.4950456619262695, \"Time in s\": 120.70292199999996 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8710601719197708, \"F1\": 0.8494983277591974, \"Memory in Mb\": 1.5330171585083008, \"Time in s\": 138.98074599999998 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8716577540106952, \"F1\": 0.8481012658227849, \"Memory in Mb\": 1.809849739074707, \"Time in s\": 158.64485 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8696741854636592, \"F1\": 0.8433734939759037, \"Memory in Mb\": 2.068051338195801, \"Time in s\": 179.646811 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8405797101449276, \"Memory in Mb\": 2.104710578918457, \"Time in s\": 201.850953 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8752783964365256, \"F1\": 0.845303867403315, \"Memory in Mb\": 2.104527473449707, \"Time in s\": 225.239967 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8776371308016878, \"F1\": 0.8505154639175259, \"Memory in Mb\": 2.132199287414551, \"Time in s\": 249.917589 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.875751503006012, \"F1\": 0.8502415458937198, \"Memory in Mb\": 2.1503801345825195, \"Time in s\": 275.75512899999995 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8778625954198473, \"F1\": 0.8497652582159624, \"Memory in Mb\": 2.187130928039551, \"Time in s\": 302.922289 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8743169398907104, \"F1\": 0.8463251670378619, \"Memory in Mb\": 2.2971315383911133, \"Time in s\": 331.41425 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8763066202090593, \"F1\": 0.8479657387580299, \"Memory in Mb\": 2.406788825988769, \"Time in s\": 361.219435 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8764607679465777, \"F1\": 0.8451882845188285, \"Memory in Mb\": 2.406834602355957, \"Time in s\": 392.26267 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8782051282051282, \"F1\": 0.8442622950819672, \"Memory in Mb\": 2.352017402648926, \"Time in s\": 424.555734 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8813559322033898, \"F1\": 0.850485436893204, \"Memory in Mb\": 2.279099464416504, \"Time in s\": 458.242359 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798219584569733, \"F1\": 0.8513761467889909, \"Memory in Mb\": 2.54854679107666, \"Time in s\": 493.209676 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8841201716738197, \"F1\": 0.8550983899821109, \"Memory in Mb\": 2.565995216369629, \"Time in s\": 529.352808 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812154696132597, \"F1\": 0.8537414965986394, \"Memory in Mb\": 2.870518684387207, \"Time in s\": 566.738792 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825100133511349, \"F1\": 0.8557377049180328, \"Memory in Mb\": 2.941006660461426, \"Time in s\": 605.3090109999999 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8837209302325582, \"F1\": 0.856687898089172, \"Memory in Mb\": 3.0508241653442383, \"Time in s\": 645.053635 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836045056320401, \"F1\": 0.8584474885844748, \"Memory in Mb\": 3.1606874465942383, \"Time in s\": 686.031259 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8810679611650486, \"F1\": 0.8567251461988304, \"Memory in Mb\": 3.270321846008301, \"Time in s\": 728.1933819999999 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8833922261484098, \"F1\": 0.8591749644381224, \"Memory in Mb\": 3.2882280349731445, \"Time in s\": 771.57935 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844393592677345, \"F1\": 0.8595271210013908, \"Memory in Mb\": 3.2632036209106445, \"Time in s\": 816.1995999999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832035595105673, \"F1\": 0.8575305291723202, \"Memory in Mb\": 3.380833625793457, \"Time in s\": 861.997768 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8841991341991342, \"F1\": 0.8597640891218873, \"Memory in Mb\": 3.4813432693481445, \"Time in s\": 908.973065 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8851422550052687, \"F1\": 0.8628930817610063, \"Memory in Mb\": 3.5117311477661133, \"Time in s\": 957.120781 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8870636550308009, \"F1\": 0.8651960784313726, \"Memory in Mb\": 3.5666399002075195, \"Time in s\": 1006.3541349999998 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8663484486873507, \"Memory in Mb\": 3.645543098449707, \"Time in s\": 1056.728559 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8667439165701043, \"Memory in Mb\": 3.735753059387207, \"Time in s\": 1108.282035 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8693693693693694, \"Memory in Mb\": 3.808384895324707, \"Time in s\": 1160.949301 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.87117903930131, \"Memory in Mb\": 3.94530200958252, \"Time in s\": 1214.7027389999998 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.873269435569755, \"Memory in Mb\": 3.945347785949707, \"Time in s\": 1269.5439849999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8905693950177936, \"F1\": 0.8730650154798762, \"Memory in Mb\": 3.972836494445801, \"Time in s\": 1325.4243339999998 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8920800696257616, \"F1\": 0.8747474747474747, \"Memory in Mb\": 3.945645332336426, \"Time in s\": 1382.2374609999997 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8909710391822828, \"F1\": 0.8732673267326733, \"Memory in Mb\": 3.973248481750488, \"Time in s\": 1440.0925429999998 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8924103419516264, \"F1\": 0.8746355685131195, \"Memory in Mb\": 3.947278022766113, \"Time in s\": 1498.9929549999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8937908496732027, \"F1\": 0.8761904761904762, \"Memory in Mb\": 3.982327461242676, \"Time in s\": 1558.8210809999996 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8943154523618895, \"F1\": 0.8773234200743495, \"Memory in Mb\": 4.0114030838012695, \"Time in s\": 1619.6535709999996 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1602087020874023, \"Time in s\": 31.58816 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1608190536499023, \"Time in s\": 89.620857 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 167.42750999999998 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 263.688726 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 375.655092 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1620397567749023, \"Time in s\": 502.190419 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1620397567749023, \"Time in s\": 643.105063 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992117191092426, \"F1\": 0.0, \"Memory in Mb\": 0.2446889877319336, \"Time in s\": 797.8947989999999 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9991825294873292, \"F1\": 0.0, \"Memory in Mb\": 0.1627492904663086, \"Time in s\": 968.143197 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992642808345158, \"F1\": 0.0, \"Memory in Mb\": 0.1625890731811523, \"Time in s\": 1153.4864309999998 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993311675902924, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 1353.5382149999998 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869060652508, \"F1\": 0.0, \"Memory in Mb\": 0.1632680892944336, \"Time in s\": 1568.364428 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994340690435768, \"F1\": 0.0, \"Memory in Mb\": 0.1632909774780273, \"Time in s\": 1796.946914 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369580721444, \"F1\": 0.0, \"Memory in Mb\": 0.1630849838256836, \"Time in s\": 2038.09448 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744955156952, \"F1\": 0.0, \"Memory in Mb\": 0.1630849838256836, \"Time in s\": 2291.954796 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999507340624692, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 2557.874515 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995363214837713, \"F1\": 0.0, \"Memory in Mb\": 0.1631765365600586, \"Time in s\": 2835.65121 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999562082153388, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 3124.961925 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995851310985728, \"F1\": 0.0, \"Memory in Mb\": 0.1631078720092773, \"Time in s\": 3424.787068 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058750886782, \"F1\": 0.0, \"Memory in Mb\": 0.1631307601928711, \"Time in s\": 3734.997034 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246434112408, \"F1\": 0.0, \"Memory in Mb\": 0.1631994247436523, \"Time in s\": 4055.587677 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999641705481906, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 4386.458848 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996572838603546, \"F1\": 0.0, \"Memory in Mb\": 0.1636495590209961, \"Time in s\": 4726.906731 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671564012174, \"F1\": 0.0, \"Memory in Mb\": 0.1638555526733398, \"Time in s\": 5077.03597 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847017278344, \"F1\": 0.0, \"Memory in Mb\": 0.1639471054077148, \"Time in s\": 5436.872312 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996968288295572, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 5806.300992 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996691319579604, \"F1\": 0.0, \"Memory in Mb\": 0.1639471054077148, \"Time in s\": 6185.544045999999 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996809488955202, \"F1\": 0.0, \"Memory in Mb\": 0.1641073226928711, \"Time in s\": 6574.848143999999 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996919508571014, \"F1\": 0.0, \"Memory in Mb\": 0.1637639999389648, \"Time in s\": 6975.121680999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995445707579392, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 7384.584095999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995592622728504, \"F1\": 0.0, \"Memory in Mb\": 0.1639013290405273, \"Time in s\": 7802.5953629999985 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999573035553001, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 8228.594131999998 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995541259275772, \"F1\": 0.0, \"Memory in Mb\": 0.1639013290405273, \"Time in s\": 8661.618187999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672400735692, \"F1\": 0.0, \"Memory in Mb\": 0.1639928817749023, \"Time in s\": 9101.660233 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796048285388, \"F1\": 0.0, \"Memory in Mb\": 0.1638326644897461, \"Time in s\": 9548.69733 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999562088545696, \"F1\": 0.0, \"Memory in Mb\": 0.1638097763061523, \"Time in s\": 10002.655236 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995739241585002, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 10463.105481 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995851368357004, \"F1\": 0.0, \"Memory in Mb\": 0.1637639999389648, \"Time in s\": 10929.695224 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995957744960656, \"F1\": 0.0, \"Memory in Mb\": 0.1638097763061523, \"Time in s\": 11402.447204 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058802664248, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 11881.476782 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996154930660582, \"F1\": 0.0, \"Memory in Mb\": 0.1637411117553711, \"Time in s\": 12366.666901 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246481076008, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 12858.057531 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999633377328054, \"F1\": 0.0, \"Memory in Mb\": 0.1521596908569336, \"Time in s\": 13355.582794 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996417097610204, \"F1\": 0.0, \"Memory in Mb\": 0.1528844833374023, \"Time in s\": 13859.323941 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496718593082, \"F1\": 0.0, \"Memory in Mb\": 0.1643285751342773, \"Time in s\": 14369.189455 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996572877754548, \"F1\": 0.0, \"Memory in Mb\": 0.1646032333374023, \"Time in s\": 14885.224126 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996533989266548, \"F1\": 0.0, \"Memory in Mb\": 0.1645116806030273, \"Time in s\": 15407.418989999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996606198614016, \"F1\": 0.0, \"Memory in Mb\": 0.1643285751342773, \"Time in s\": 15935.791256 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996675460609572, \"F1\": 0.0, \"Memory in Mb\": 0.1645116806030273, \"Time in s\": 16470.041814999997 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996741952096186, \"F1\": 0.0, \"Memory in Mb\": 0.1645345687866211, \"Time in s\": 17009.813748999997 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996742157532448, \"F1\": 0.0, \"Memory in Mb\": 0.1646032333374023, \"Time in s\": 17549.605714999998 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6095238095238096, \"F1\": 0.577319587628866, \"Memory in Mb\": 0.7777948379516602, \"Time in s\": 2.119535 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7109004739336493, \"F1\": 0.6702702702702703, \"Memory in Mb\": 1.3802881240844729, \"Time in s\": 6.931057 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7602523659305994, \"F1\": 0.7361111111111112, \"Memory in Mb\": 1.8119163513183596, \"Time in s\": 15.160032 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7943262411347518, \"F1\": 0.772845953002611, \"Memory in Mb\": 2.401026725769043, \"Time in s\": 27.407145 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8052930056710775, \"F1\": 0.7775377969762419, \"Memory in Mb\": 5.0262651443481445, \"Time in s\": 65.121823 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8236220472440945, \"F1\": 0.7992831541218638, \"Memory in Mb\": 5.88111686706543, \"Time in s\": 107.288216 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8299595141700404, \"F1\": 0.8025078369905957, \"Memory in Mb\": 6.734616279602051, \"Time in s\": 153.798119 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8347107438016529, \"F1\": 0.8087431693989071, \"Memory in Mb\": 7.555168151855469, \"Time in s\": 204.76644700000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8426023084994754, \"F1\": 0.8166259168704157, \"Memory in Mb\": 8.384669303894043, \"Time in s\": 260.019764 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8536355051935789, \"F1\": 0.8275862068965517, \"Memory in Mb\": 8.926264762878418, \"Time in s\": 319.31365700000003 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8532188841201717, \"F1\": 0.8274470232088799, \"Memory in Mb\": 9.188977241516112, \"Time in s\": 382.58132300000005 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8536585365853658, \"F1\": 0.8290441176470588, \"Memory in Mb\": 9.45701789855957, \"Time in s\": 449.3987790000001 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8576615831517792, \"F1\": 0.8321917808219177, \"Memory in Mb\": 9.84501838684082, \"Time in s\": 519.6596460000001 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8590694538098449, \"F1\": 0.8345209817893903, \"Memory in Mb\": 10.364198684692385, \"Time in s\": 593.3590610000001 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8565135305223411, \"F1\": 0.8321060382916053, \"Memory in Mb\": 10.46892547607422, \"Time in s\": 670.9077340000001 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8595870206489675, \"F1\": 0.8354080221300139, \"Memory in Mb\": 10.96640968322754, \"Time in s\": 752.0270200000001 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8634092171016102, \"F1\": 0.8410852713178295, \"Memory in Mb\": 10.118447303771973, \"Time in s\": 836.636461 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8626114315679078, \"F1\": 0.8417874396135265, \"Memory in Mb\": 10.3862943649292, \"Time in s\": 924.5557 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8614008941877794, \"F1\": 0.8415672913117546, \"Memory in Mb\": 10.646858215332031, \"Time in s\": 1015.887245 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8640868334119868, \"F1\": 0.8459893048128343, \"Memory in Mb\": 10.9229736328125, \"Time in s\": 1110.420791 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8642696629213483, \"F1\": 0.8462321792260691, \"Memory in Mb\": 11.325839042663574, \"Time in s\": 1208.24484 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.864006864006864, \"F1\": 0.8461911693352742, \"Memory in Mb\": 11.659860610961914, \"Time in s\": 1308.9666100000002 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8641772671317193, \"F1\": 0.8465461288827074, \"Memory in Mb\": 11.19693660736084, \"Time in s\": 1412.476276 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8651199370821864, \"F1\": 0.8484312859036677, \"Memory in Mb\": 11.452000617980955, \"Time in s\": 1518.7765900000002 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.864477161192903, \"F1\": 0.8480744815911976, \"Memory in Mb\": 11.787381172180176, \"Time in s\": 1627.8671150000002 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8653357531760436, \"F1\": 0.849125660837739, \"Memory in Mb\": 12.11353874206543, \"Time in s\": 1739.675061 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678783642083188, \"F1\": 0.8515318146111548, \"Memory in Mb\": 12.35980987548828, \"Time in s\": 1854.131846 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8695652173913043, \"F1\": 0.8529076396807297, \"Memory in Mb\": 12.722334861755373, \"Time in s\": 1971.385777 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8682069638789457, \"F1\": 0.8515939904727006, \"Memory in Mb\": 13.0479736328125, \"Time in s\": 2091.3191060000004 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8700849323686694, \"F1\": 0.8530771967271433, \"Memory in Mb\": 13.308364868164062, \"Time in s\": 2213.9114950000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8700152207001522, \"F1\": 0.8523002421307506, \"Memory in Mb\": 13.608009338378906, \"Time in s\": 2339.1031470000003 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.871129460336184, \"F1\": 0.8544788544788545, \"Memory in Mb\": 13.70766258239746, \"Time in s\": 2466.937686 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.872748069774092, \"F1\": 0.8557536466774717, \"Memory in Mb\": 14.051713943481444, \"Time in s\": 2598.213051 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8742714404662781, \"F1\": 0.856872037914692, \"Memory in Mb\": 14.26829433441162, \"Time in s\": 2732.2090540000004 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8751685090320841, \"F1\": 0.8583664729275007, \"Memory in Mb\": 14.518733978271484, \"Time in s\": 2868.9613940000004 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8762778505897771, \"F1\": 0.8596908442330559, \"Memory in Mb\": 14.742842674255373, \"Time in s\": 3008.2640120000005 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8747768426421831, \"F1\": 0.8578048074138431, \"Memory in Mb\": 15.053866386413574, \"Time in s\": 3150.2484420000005 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8733548547305686, \"F1\": 0.8560135516657256, \"Memory in Mb\": 15.453622817993164, \"Time in s\": 3294.8873180000005 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.874183401887249, \"F1\": 0.8569069895432032, \"Memory in Mb\": 15.755488395690918, \"Time in s\": 3442.0965550000005 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8749705119131871, \"F1\": 0.8579849946409432, \"Memory in Mb\": 15.976973533630373, \"Time in s\": 3591.8798750000005 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759493670886076, \"F1\": 0.8590849673202615, \"Memory in Mb\": 16.313834190368652, \"Time in s\": 3744.3343260000006 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755335879577623, \"F1\": 0.8585291113381002, \"Memory in Mb\": 16.729196548461914, \"Time in s\": 3899.4355060000007 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8757954794821154, \"F1\": 0.8592039800995025, \"Memory in Mb\": 17.032727241516113, \"Time in s\": 4057.1530940000007 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8756165558653227, \"F1\": 0.8594961240310078, \"Memory in Mb\": 17.45319175720215, \"Time in s\": 4217.5274930000005 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8754455860767456, \"F1\": 0.8590412909349787, \"Memory in Mb\": 17.6948184967041, \"Time in s\": 4380.594611 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8756923076923077, \"F1\": 0.8588070829450141, \"Memory in Mb\": 17.917430877685547, \"Time in s\": 4546.383704000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8761292913069665, \"F1\": 0.8596770525358198, \"Memory in Mb\": 18.09793186187744, \"Time in s\": 4714.847995000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8757617456261058, \"F1\": 0.8591800356506238, \"Memory in Mb\": 18.51348114013672, \"Time in s\": 4886.014522000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.876372039283651, \"F1\": 0.8598865124399825, \"Memory in Mb\": 18.89274883270264, \"Time in s\": 5059.990176000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8762030571806001, \"F1\": 0.8596491228070176, \"Memory in Mb\": 19.194592475891117, \"Time in s\": 5236.837813000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9116022099447514, \"F1\": 0.908256880733945, \"Memory in Mb\": 7.041282653808594, \"Time in s\": 59.400144 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.906129210381005, \"F1\": 0.8855989232839839, \"Memory in Mb\": 9.07800579071045, \"Time in s\": 148.928403 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9002576370997424, \"F1\": 0.8772088808337108, \"Memory in Mb\": 9.477606773376465, \"Time in s\": 264.671315 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064311344189898, \"F1\": 0.8849677638276212, \"Memory in Mb\": 10.383838653564451, \"Time in s\": 404.188666 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.90527710311327, \"F1\": 0.8788477831121152, \"Memory in Mb\": 11.437847137451172, \"Time in s\": 565.129871 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9000919963201472, \"F1\": 0.8723854289071681, \"Memory in Mb\": 14.209432601928713, \"Time in s\": 747.817107 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.897019397571361, \"F1\": 0.8704622098789923, \"Memory in Mb\": 15.688876152038574, \"Time in s\": 951.56122 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8965089002345799, \"F1\": 0.8694744169857292, \"Memory in Mb\": 19.837779998779297, \"Time in s\": 1176.633371 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8980743284680486, \"F1\": 0.8778839088905216, \"Memory in Mb\": 22.41482448577881, \"Time in s\": 1420.714573 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9000993487139861, \"F1\": 0.8828478964401294, \"Memory in Mb\": 25.97023296356201, \"Time in s\": 1683.800751 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8982438534872053, \"F1\": 0.8827203331020125, \"Memory in Mb\": 28.783666610717773, \"Time in s\": 1965.440637 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9006531137889798, \"F1\": 0.8870765370138016, \"Memory in Mb\": 30.882869720458984, \"Time in s\": 2263.780185 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9021822195805383, \"F1\": 0.8888030888030888, \"Memory in Mb\": 33.277831077575684, \"Time in s\": 2578.868179 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.901285184893164, \"F1\": 0.8879541793449078, \"Memory in Mb\": 35.50911808013916, \"Time in s\": 2911.085292 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.901905953344617, \"F1\": 0.8899529431189631, \"Memory in Mb\": 38.6168327331543, \"Time in s\": 3259.512573 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9030010348395998, \"F1\": 0.8917128773875539, \"Memory in Mb\": 41.26064682006836, \"Time in s\": 3624.142031 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.903902344003636, \"F1\": 0.8922382408620941, \"Memory in Mb\": 43.65532207489014, \"Time in s\": 4004.812957 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9002882197829153, \"F1\": 0.8879239040529363, \"Memory in Mb\": 45.1539192199707, \"Time in s\": 4403.507418 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8997850461860222, \"F1\": 0.8856176646111001, \"Memory in Mb\": 37.54582214355469, \"Time in s\": 4816.829749 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9001048622992439, \"F1\": 0.8858908082209053, \"Memory in Mb\": 41.9152717590332, \"Time in s\": 5243.603799 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9014454664914586, \"F1\": 0.886177381169186, \"Memory in Mb\": 44.45838737487793, \"Time in s\": 5683.033974000001 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9011088254477948, \"F1\": 0.8867826986041704, \"Memory in Mb\": 48.213175773620605, \"Time in s\": 6135.158415000001 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8992657292316553, \"F1\": 0.8848411696933121, \"Memory in Mb\": 47.78572177886963, \"Time in s\": 6598.876461000001 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8986800349537782, \"F1\": 0.8824376967821121, \"Memory in Mb\": 49.35674381256104, \"Time in s\": 7073.276106000001 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.898361958585368, \"F1\": 0.8812912541254125, \"Memory in Mb\": 47.91073036193848, \"Time in s\": 7558.681153000001 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8961579282530249, \"F1\": 0.8784656663022956, \"Memory in Mb\": 53.37149906158447, \"Time in s\": 8055.088432000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8945259801316381, \"F1\": 0.8760211436809228, \"Memory in Mb\": 52.06687641143799, \"Time in s\": 8562.621137000002 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8922221784207829, \"F1\": 0.8734610756271406, \"Memory in Mb\": 20.63737678527832, \"Time in s\": 9080.309208000002 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8928177216153466, \"F1\": 0.873801201039706, \"Memory in Mb\": 17.83812713623047, \"Time in s\": 9607.290172000005 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8932263880201626, \"F1\": 0.874632797649905, \"Memory in Mb\": 19.30546188354492, \"Time in s\": 10142.799192000002 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8915435285739719, \"F1\": 0.8721564677243349, \"Memory in Mb\": 18.23539447784424, \"Time in s\": 10686.882271000002 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.891345590010693, \"F1\": 0.8712498978173793, \"Memory in Mb\": 21.229859352111816, \"Time in s\": 11240.330868000005 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8905575810281968, \"F1\": 0.8700246285850481, \"Memory in Mb\": 25.24380111694336, \"Time in s\": 11801.274420000003 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.890335356945752, \"F1\": 0.8690697674418605, \"Memory in Mb\": 28.836254119873047, \"Time in s\": 12369.623812000003 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895266328171813, \"F1\": 0.8679458664756663, \"Memory in Mb\": 27.00519371032715, \"Time in s\": 12944.308752000004 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8879963207113292, \"F1\": 0.86634224872855, \"Memory in Mb\": 30.17805576324463, \"Time in s\": 13524.938061000004 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8870260433757943, \"F1\": 0.8654563541407612, \"Memory in Mb\": 32.107930183410645, \"Time in s\": 14111.446119000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8857582711244082, \"F1\": 0.8638770636486346, \"Memory in Mb\": 32.29031944274902, \"Time in s\": 14703.865141000002 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8850083491353692, \"F1\": 0.8622665175090681, \"Memory in Mb\": 36.271653175354, \"Time in s\": 15302.291934000004 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8850133833715058, \"F1\": 0.8612988050461006, \"Memory in Mb\": 35.55355262756348, \"Time in s\": 15906.592759000005 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8836182527931081, \"F1\": 0.859061715515274, \"Memory in Mb\": 38.75662517547608, \"Time in s\": 16517.021041000004 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8830516937794013, \"F1\": 0.8577547628180539, \"Memory in Mb\": 41.063425064086914, \"Time in s\": 17133.624997000003 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8831788895448828, \"F1\": 0.8582198822393221, \"Memory in Mb\": 42.255154609680176, \"Time in s\": 17756.348401000003 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8836765923287259, \"F1\": 0.8598797328740216, \"Memory in Mb\": 43.78993701934815, \"Time in s\": 18385.013164000004 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8840295322426354, \"F1\": 0.8614708467623791, \"Memory in Mb\": 40.85312080383301, \"Time in s\": 19019.639174000004 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847030593881223, \"F1\": 0.8632106356933413, \"Memory in Mb\": 39.29591369628906, \"Time in s\": 19660.085711000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851130786031328, \"F1\": 0.8639675212724542, \"Memory in Mb\": 42.33915042877197, \"Time in s\": 20306.976876000004 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8848391473313864, \"F1\": 0.8636091290375292, \"Memory in Mb\": 42.20731544494629, \"Time in s\": 20960.03932700001 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8848467100669024, \"F1\": 0.8632350580555408, \"Memory in Mb\": 44.13865566253662, \"Time in s\": 21618.107174000004 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854720854765006, \"F1\": 0.8642027012878233, \"Memory in Mb\": 40.63082981109619, \"Time in s\": 22281.08467600001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854582772395224, \"F1\": 0.8641574621787154, \"Memory in Mb\": 40.75471591949463, \"Time in s\": 22944.429270000004 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.7142857142857143, \"Memory in Mb\": 0.6122617721557617, \"Time in s\": 0.640752 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7755102040816326, \"F1\": 0.7659574468085107, \"Memory in Mb\": 0.7524843215942383, \"Time in s\": 1.992597 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8243243243243243, \"F1\": 0.8266666666666667, \"Memory in Mb\": 0.9228668212890624, \"Time in s\": 4.151733 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8282828282828283, \"F1\": 0.8282828282828283, \"Memory in Mb\": 1.193608283996582, \"Time in s\": 7.194986 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8306451612903226, \"F1\": 0.8292682926829269, \"Memory in Mb\": 1.3295679092407229, \"Time in s\": 11.208747 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8389261744966443, \"F1\": 0.8441558441558442, \"Memory in Mb\": 1.3798675537109375, \"Time in s\": 16.195196 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8563218390804598, \"F1\": 0.8520710059171597, \"Memory in Mb\": 1.4546594619750977, \"Time in s\": 22.422243 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8542713567839196, \"F1\": 0.8497409326424871, \"Memory in Mb\": 1.6083984375, \"Time in s\": 29.888728 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8436018957345972, \"Memory in Mb\": 1.7997064590454102, \"Time in s\": 38.482186 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8433734939759037, \"F1\": 0.8354430379746836, \"Memory in Mb\": 1.9343080520629885, \"Time in s\": 48.311454 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8372093023255813, \"Memory in Mb\": 2.053934097290039, \"Time in s\": 59.483297 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8461538461538461, \"F1\": 0.8333333333333334, \"Memory in Mb\": 2.12460994720459, \"Time in s\": 72.133375 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8518518518518519, \"F1\": 0.8356164383561644, \"Memory in Mb\": 2.201033592224121, \"Time in s\": 86.30699200000001 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8595988538681948, \"F1\": 0.8414239482200646, \"Memory in Mb\": 2.2356014251708984, \"Time in s\": 102.050203 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8556149732620321, \"F1\": 0.8353658536585366, \"Memory in Mb\": 2.328523635864258, \"Time in s\": 119.413833 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8347826086956521, \"Memory in Mb\": 2.316814422607422, \"Time in s\": 138.615081 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8608490566037735, \"F1\": 0.8356545961002786, \"Memory in Mb\": 2.353947639465332, \"Time in s\": 159.65345200000002 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8619153674832962, \"F1\": 0.8351063829787234, \"Memory in Mb\": 2.429127693176269, \"Time in s\": 182.47163200000003 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649789029535865, \"F1\": 0.8407960199004976, \"Memory in Mb\": 2.579917907714844, \"Time in s\": 207.23725 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8637274549098196, \"F1\": 0.841860465116279, \"Memory in Mb\": 4.818408012390137, \"Time in s\": 255.437855 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8645038167938931, \"F1\": 0.8397291196388261, \"Memory in Mb\": 5.000759124755859, \"Time in s\": 305.327991 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8652094717668488, \"F1\": 0.8418803418803419, \"Memory in Mb\": 5.177936553955078, \"Time in s\": 356.788916 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8658536585365854, \"F1\": 0.8425357873210634, \"Memory in Mb\": 5.324765205383301, \"Time in s\": 409.723896 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8446215139442231, \"Memory in Mb\": 5.557343482971191, \"Time in s\": 464.11455 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8685897435897436, \"F1\": 0.8404669260700389, \"Memory in Mb\": 5.701066970825195, \"Time in s\": 520.0238599999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8721109399075501, \"F1\": 0.847145488029466, \"Memory in Mb\": 5.875107765197754, \"Time in s\": 577.5076929999999 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8541666666666667, \"Memory in Mb\": 5.993474006652832, \"Time in s\": 636.4901669999999 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8576271186440678, \"Memory in Mb\": 6.097118377685547, \"Time in s\": 696.8595059999999 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798342541436464, \"F1\": 0.8603531300160514, \"Memory in Mb\": 6.2616376876831055, \"Time in s\": 758.6517739999999 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8811748998664887, \"F1\": 0.8624420401854715, \"Memory in Mb\": 6.510566711425781, \"Time in s\": 822.0041369999999 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8824289405684754, \"F1\": 0.8631578947368422, \"Memory in Mb\": 6.659415245056152, \"Time in s\": 886.863173 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8823529411764706, \"F1\": 0.8645533141210374, \"Memory in Mb\": 6.793304443359375, \"Time in s\": 953.229371 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8822815533980582, \"F1\": 0.8654646324549237, \"Memory in Mb\": 7.087222099304199, \"Time in s\": 1021.107018 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8833922261484098, \"F1\": 0.8660351826792964, \"Memory in Mb\": 7.324291229248047, \"Time in s\": 1090.559446 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88558352402746, \"F1\": 0.8677248677248677, \"Memory in Mb\": 7.470724105834961, \"Time in s\": 1161.497406 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8854282536151279, \"F1\": 0.8670967741935484, \"Memory in Mb\": 7.810632705688477, \"Time in s\": 1233.983859 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8874458874458875, \"F1\": 0.8706467661691542, \"Memory in Mb\": 7.971014976501465, \"Time in s\": 1307.96073 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8872497365648051, \"F1\": 0.8718562874251498, \"Memory in Mb\": 8.080266952514648, \"Time in s\": 1383.548543 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8891170431211499, \"F1\": 0.8738317757009346, \"Memory in Mb\": 8.205357551574707, \"Time in s\": 1460.7186840000002 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8737201365187712, \"Memory in Mb\": 8.39128303527832, \"Time in s\": 1539.50166 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888671875, \"F1\": 0.8738938053097345, \"Memory in Mb\": 8.406519889831543, \"Time in s\": 1619.9124450000002 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8903717826501429, \"F1\": 0.8762109795479011, \"Memory in Mb\": 8.400672912597656, \"Time in s\": 1701.87919 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8910614525139665, \"F1\": 0.877742946708464, \"Memory in Mb\": 8.453279495239258, \"Time in s\": 1785.406003 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926296633303002, \"F1\": 0.8795918367346939, \"Memory in Mb\": 8.421560287475586, \"Time in s\": 1870.444315 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8811881188118813, \"Memory in Mb\": 8.383057594299316, \"Time in s\": 1956.980231 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929503916449086, \"F1\": 0.8806983511154219, \"Memory in Mb\": 8.433841705322266, \"Time in s\": 2045.031177 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8909710391822828, \"F1\": 0.8783269961977185, \"Memory in Mb\": 8.58321475982666, \"Time in s\": 2134.506504 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8803738317757008, \"Memory in Mb\": 8.605175971984863, \"Time in s\": 2225.421876 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8946078431372549, \"F1\": 0.8817598533455545, \"Memory in Mb\": 8.70528507232666, \"Time in s\": 2317.752916 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8951160928742994, \"F1\": 0.88272157564906, \"Memory in Mb\": 8.721240997314453, \"Time in s\": 2411.411116 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.776657104492188, \"Time in s\": 62.937451 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.703582763671875, \"Time in s\": 162.906939 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.683967590332031, \"Time in s\": 291.999561 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.6548919677734375, \"Time in s\": 449.905783 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.674896240234375, \"Time in s\": 634.264648 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.68939208984375, \"Time in s\": 844.6132379999999 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.6727142333984375, \"Time in s\": 1077.972428 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 4.755153656005859, \"Time in s\": 1334.293209 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 4.668712615966797, \"Time in s\": 1613.416001 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 4.707424163818359, \"Time in s\": 1913.210948 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 4.680248260498047, \"Time in s\": 2233.020054 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 4.695384979248047, \"Time in s\": 2572.124593 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 4.721019744873047, \"Time in s\": 2930.571035 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 4.747562408447266, \"Time in s\": 3309.032834 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 4.741054534912109, \"Time in s\": 3705.221814 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 4.678241729736328, \"Time in s\": 4115.910057 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 4.619670867919922, \"Time in s\": 4539.977119 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 4.749675750732422, \"Time in s\": 4977.188868 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 4.678524017333984, \"Time in s\": 5426.058059 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 4.705173492431641, \"Time in s\": 5886.859448 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 4.729236602783203, \"Time in s\": 6359.258672 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 4.729305267333984, \"Time in s\": 6843.735511 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 4.741458892822266, \"Time in s\": 7339.76837 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 4.677211761474609, \"Time in s\": 7847.750223999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 4.833148956298828, \"Time in s\": 8367.044639 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 4.807292938232422, \"Time in s\": 8898.416265 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 4.893611907958984, \"Time in s\": 9441.1614 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 4.877178192138672, \"Time in s\": 9993.506038 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 4.888896942138672, \"Time in s\": 10554.524537 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 4.783634185791016, \"Time in s\": 11123.611551 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 4.831531524658203, \"Time in s\": 11701.029088 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 4.854015350341797, \"Time in s\": 12286.755546 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 4.858226776123047, \"Time in s\": 12880.441843 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 4.846561431884766, \"Time in s\": 13482.274686 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 4.872089385986328, \"Time in s\": 14092.292627 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 4.843868255615234, \"Time in s\": 14710.448755 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 4.835132598876953, \"Time in s\": 15336.827122 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 4.892154693603516, \"Time in s\": 15971.964918999998 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 4.812671661376953, \"Time in s\": 16613.982513 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 4.880641937255859, \"Time in s\": 17262.391145999998 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 4.831180572509766, \"Time in s\": 17916.095854 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 4.851375579833984, \"Time in s\": 18574.918078 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 4.851016998291016, \"Time in s\": 19239.025055 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 4.869503021240234, \"Time in s\": 19908.351772 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 4.886287689208984, \"Time in s\": 20582.843626 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 4.888690948486328, \"Time in s\": 21262.535161 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 4.888484954833984, \"Time in s\": 21947.343422 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 4.876293182373047, \"Time in s\": 22637.362347 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 4.905620574951172, \"Time in s\": 23332.514825 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 4.880191802978516, \"Time in s\": 24032.848442 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 4.888683319091797, \"Time in s\": 24733.238041 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6761904761904762, \"F1\": 0.6136363636363638, \"Memory in Mb\": 0.1434221267700195, \"Time in s\": 0.374142 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7772511848341233, \"F1\": 0.7374301675977653, \"Memory in Mb\": 0.2354059219360351, \"Time in s\": 1.3677169999999998 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7886435331230284, \"F1\": 0.7527675276752769, \"Memory in Mb\": 0.3270235061645508, \"Time in s\": 3.238746 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7990543735224587, \"F1\": 0.7658402203856748, \"Memory in Mb\": 0.419011116027832, \"Time in s\": 6.2520690000000005 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8015122873345936, \"F1\": 0.7575057736720554, \"Memory in Mb\": 2.719620704650879, \"Time in s\": 30.609494 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8173228346456692, \"F1\": 0.7777777777777779, \"Memory in Mb\": 3.159085273742676, \"Time in s\": 56.745796 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8259109311740891, \"F1\": 0.7839195979899498, \"Memory in Mb\": 3.6036806106567374, \"Time in s\": 84.9251 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8299881936245572, \"F1\": 0.7913043478260869, \"Memory in Mb\": 4.0666093826293945, \"Time in s\": 115.117686 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8352570828961176, \"F1\": 0.7963683527885861, \"Memory in Mb\": 4.521588325500488, \"Time in s\": 147.5017 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8470254957507082, \"F1\": 0.8094117647058824, \"Memory in Mb\": 4.660099983215332, \"Time in s\": 182.008963 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8497854077253219, \"F1\": 0.8132337246531482, \"Memory in Mb\": 4.474972724914551, \"Time in s\": 218.357961 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8489378442171518, \"F1\": 0.8135922330097087, \"Memory in Mb\": 4.3258256912231445, \"Time in s\": 256.411001 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8482207697893972, \"F1\": 0.8112014453477868, \"Memory in Mb\": 4.1847429275512695, \"Time in s\": 296.011707 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8530006743088334, \"F1\": 0.8180300500834724, \"Memory in Mb\": 4.276310920715332, \"Time in s\": 337.212047 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8539962240402769, \"F1\": 0.8198757763975156, \"Memory in Mb\": 4.522702217102051, \"Time in s\": 380.364724 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8584070796460177, \"F1\": 0.8250728862973761, \"Memory in Mb\": 4.59923267364502, \"Time in s\": 425.089112 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8622987229317046, \"F1\": 0.8315217391304348, \"Memory in Mb\": 4.609700202941895, \"Time in s\": 471.420384 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8610382800209754, \"F1\": 0.8319594166138238, \"Memory in Mb\": 4.583279609680176, \"Time in s\": 519.2335119999999 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8584202682563339, \"F1\": 0.8302561048243002, \"Memory in Mb\": 4.509037971496582, \"Time in s\": 568.4848139999999 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8612553091080698, \"F1\": 0.8355704697986577, \"Memory in Mb\": 4.487088203430176, \"Time in s\": 619.150273 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8624719101123596, \"F1\": 0.8370607028753994, \"Memory in Mb\": 4.479489326477051, \"Time in s\": 671.27983 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8614328614328615, \"F1\": 0.8357905439755974, \"Memory in Mb\": 4.476758003234863, \"Time in s\": 724.8282939999999 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8621255642183012, \"F1\": 0.8364167478091528, \"Memory in Mb\": 4.495999336242676, \"Time in s\": 779.843051 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8623672827369249, \"F1\": 0.8375116063138347, \"Memory in Mb\": 4.492741584777832, \"Time in s\": 836.3752579999999 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8618346545866364, \"F1\": 0.8374777975133214, \"Memory in Mb\": 4.535428047180176, \"Time in s\": 894.373804 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8627949183303085, \"F1\": 0.8384615384615384, \"Memory in Mb\": 4.529454231262207, \"Time in s\": 953.727688 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8661307235232436, \"F1\": 0.842061855670103, \"Memory in Mb\": 4.489285469055176, \"Time in s\": 1014.523259 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678800134816312, \"F1\": 0.8437001594896333, \"Memory in Mb\": 4.522076606750488, \"Time in s\": 1076.832167 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8662544744549301, \"F1\": 0.8419838523644751, \"Memory in Mb\": 4.4861345291137695, \"Time in s\": 1140.498025 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678829820698333, \"F1\": 0.8432835820895522, \"Memory in Mb\": 4.490513801574707, \"Time in s\": 1205.597432 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8684931506849315, \"F1\": 0.8433647570703406, \"Memory in Mb\": 4.50365161895752, \"Time in s\": 1272.097546 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8690651725154822, \"F1\": 0.8449720670391062, \"Memory in Mb\": 4.519848823547363, \"Time in s\": 1340.030829 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8687446382613668, \"F1\": 0.8439306358381503, \"Memory in Mb\": 4.534294128417969, \"Time in s\": 1409.423343 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8701082431307244, \"F1\": 0.8451356717405691, \"Memory in Mb\": 4.515525817871094, \"Time in s\": 1480.1764939999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8705850633593961, \"F1\": 0.8462524023062139, \"Memory in Mb\": 4.521697998046875, \"Time in s\": 1552.3097799999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8718217562254259, \"F1\": 0.847900466562986, \"Memory in Mb\": 4.52362060546875, \"Time in s\": 1625.8426229999998 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8704412139760265, \"F1\": 0.845873786407767, \"Memory in Mb\": 4.511474609375, \"Time in s\": 1700.7302089999998 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8698783213310156, \"F1\": 0.8450620934358367, \"Memory in Mb\": 4.530387878417969, \"Time in s\": 1777.041184 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8707960319380595, \"F1\": 0.8461981566820277, \"Memory in Mb\": 4.540306091308594, \"Time in s\": 1854.755673 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8723755602736495, \"F1\": 0.8485018202184262, \"Memory in Mb\": 4.5452880859375, \"Time in s\": 1933.828162 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8734177215189873, \"F1\": 0.8498088476242489, \"Memory in Mb\": 4.5819854736328125, \"Time in s\": 2014.179242 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8732869018198157, \"F1\": 0.8494394020288306, \"Memory in Mb\": 4.578292846679688, \"Time in s\": 2095.838517 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8720649550142637, \"F1\": 0.8482166102577455, \"Memory in Mb\": 4.539161682128906, \"Time in s\": 2178.6750019999995 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8719708342268926, \"F1\": 0.8485156051763512, \"Memory in Mb\": 4.509727478027344, \"Time in s\": 2262.6244259999994 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8712518347661984, \"F1\": 0.8472636815920398, \"Memory in Mb\": 4.5496673583984375, \"Time in s\": 2347.803564 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8474493531852575, \"Memory in Mb\": 4.560760498046875, \"Time in s\": 2434.119985 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725155591246737, \"F1\": 0.8487735175041676, \"Memory in Mb\": 4.513671875, \"Time in s\": 2521.5491019999995 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8718301552978179, \"F1\": 0.8480186480186479, \"Memory in Mb\": 4.541267395019531, \"Time in s\": 2610.1395069999994 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725207009435779, \"F1\": 0.848927430397079, \"Memory in Mb\": 4.582290649414063, \"Time in s\": 2699.957936 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8726174749952821, \"F1\": 0.8491620111731844, \"Memory in Mb\": 4.584030151367188, \"Time in s\": 2790.9651129999997 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8795580110497238, \"F1\": 0.880351262349067, \"Memory in Mb\": 4.715929985046387, \"Time in s\": 35.551681 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8807288790723358, \"F1\": 0.8536585365853658, \"Memory in Mb\": 4.9170331954956055, \"Time in s\": 87.613259 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689731321310269, \"F1\": 0.8344186046511628, \"Memory in Mb\": 4.988085746765137, \"Time in s\": 154.923184 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8793817278498481, \"F1\": 0.8493622888659084, \"Memory in Mb\": 4.879870414733887, \"Time in s\": 235.92708 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8792227864870833, \"F1\": 0.8405712620227338, \"Memory in Mb\": 5.017077445983887, \"Time in s\": 328.79801 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689972401103956, \"F1\": 0.8260869565217391, \"Memory in Mb\": 4.985064506530762, \"Time in s\": 432.967134 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8680018924459865, \"F1\": 0.8269588587967748, \"Memory in Mb\": 4.949084281921387, \"Time in s\": 548.642546 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8643576652407893, \"F1\": 0.8194010655888295, \"Memory in Mb\": 4.962946891784668, \"Time in s\": 674.769885 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8671654605666625, \"F1\": 0.8317016317016317, \"Memory in Mb\": 5.020190238952637, \"Time in s\": 811.067026 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8711778341980351, \"F1\": 0.8417627118644068, \"Memory in Mb\": 5.0752363204956055, \"Time in s\": 957.595858 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8706472654290015, \"F1\": 0.845165165165165, \"Memory in Mb\": 4.979113578796387, \"Time in s\": 1113.746382 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737006715113605, \"F1\": 0.8516156922079325, \"Memory in Mb\": 4.9885969161987305, \"Time in s\": 1279.290866 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8733972998216863, \"F1\": 0.8507059176930009, \"Memory in Mb\": 5.106616020202637, \"Time in s\": 1454.661274 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.873294961759836, \"F1\": 0.8513551012857274, \"Memory in Mb\": 5.2120466232299805, \"Time in s\": 1640.606202 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8755611156082125, \"F1\": 0.8560973534167304, \"Memory in Mb\": 5.144991874694824, \"Time in s\": 1836.835898 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765781303897896, \"F1\": 0.8583643416989946, \"Memory in Mb\": 5.178118705749512, \"Time in s\": 2042.985996 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8766963184208818, \"F1\": 0.8575500712624708, \"Memory in Mb\": 5.108157157897949, \"Time in s\": 2257.366998 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8711596247010487, \"F1\": 0.8493366798135532, \"Memory in Mb\": 5.1558027267456055, \"Time in s\": 2480.044725 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687038865973392, \"F1\": 0.8429683157309616, \"Memory in Mb\": 5.140070915222168, \"Time in s\": 2710.925816 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689773166289531, \"F1\": 0.8433623647400369, \"Memory in Mb\": 5.172907829284668, \"Time in s\": 2950.660411 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8696977660972405, \"F1\": 0.8421320766732471, \"Memory in Mb\": 5.328249931335449, \"Time in s\": 3199.829749 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8659876574180925, \"F1\": 0.8380132209351688, \"Memory in Mb\": 5.355593681335449, \"Time in s\": 3457.907085 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8617843259586313, \"F1\": 0.8322851153039832, \"Memory in Mb\": 5.442904472351074, \"Time in s\": 3724.572015 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.862668445016787, \"F1\": 0.8307064293003741, \"Memory in Mb\": 5.347712516784668, \"Time in s\": 3998.841393 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8610093160845953, \"F1\": 0.8268045774647886, \"Memory in Mb\": 5.363558769226074, \"Time in s\": 4280.436632 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.85434090426661, \"F1\": 0.8163571160948456, \"Memory in Mb\": 5.3763532638549805, \"Time in s\": 4569.013267 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8534401700666366, \"F1\": 0.8138145936120489, \"Memory in Mb\": 5.330439567565918, \"Time in s\": 4864.708005 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518941932431899, \"F1\": 0.8121030257564391, \"Memory in Mb\": 5.456484794616699, \"Time in s\": 5167.517117 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530811098846725, \"F1\": 0.8130931628897928, \"Memory in Mb\": 5.321070671081543, \"Time in s\": 5477.642376000001 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8524964126715479, \"F1\": 0.8125672074430782, \"Memory in Mb\": 5.426630973815918, \"Time in s\": 5794.594214000001 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8496350364963504, \"F1\": 0.8078795323233702, \"Memory in Mb\": 5.366648674011231, \"Time in s\": 6118.251751000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8475043979165948, \"F1\": 0.8032575319300432, \"Memory in Mb\": 5.4148359298706055, \"Time in s\": 6448.591708000001 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8460046158477439, \"F1\": 0.8002429711905589, \"Memory in Mb\": 5.3892927169799805, \"Time in s\": 6785.693940000001 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462162776352953, \"F1\": 0.7992881657556884, \"Memory in Mb\": 5.532000541687012, \"Time in s\": 7130.317230000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8429783342268756, \"F1\": 0.7938387644403958, \"Memory in Mb\": 5.507189750671387, \"Time in s\": 7481.445887000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419745515866932, \"F1\": 0.7926122646064703, \"Memory in Mb\": 5.485476493835449, \"Time in s\": 7839.281994000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8421884788639957, \"F1\": 0.7931492922499414, \"Memory in Mb\": 5.629275321960449, \"Time in s\": 8203.623919000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400092950300636, \"F1\": 0.7894656371837016, \"Memory in Mb\": 5.587969779968262, \"Time in s\": 8574.868737 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398947159878867, \"F1\": 0.7879287722586691, \"Memory in Mb\": 5.669405937194824, \"Time in s\": 8954.118864 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8408896492728828, \"F1\": 0.7879523389232127, \"Memory in Mb\": 5.650286674499512, \"Time in s\": 9340.118817 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397092475434109, \"F1\": 0.7854569040069184, \"Memory in Mb\": 5.652537345886231, \"Time in s\": 9731.872155 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398202412551575, \"F1\": 0.7854402083993381, \"Memory in Mb\": 5.638819694519043, \"Time in s\": 10129.488521 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8406704828400544, \"F1\": 0.787685992816829, \"Memory in Mb\": 5.6699628829956055, \"Time in s\": 10532.813227 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.841381732433585, \"F1\": 0.7910235647949235, \"Memory in Mb\": 5.623560905456543, \"Time in s\": 10941.028498 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422085408030612, \"F1\": 0.7943480067772769, \"Memory in Mb\": 5.627467155456543, \"Time in s\": 11353.937417 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8431673665266947, \"F1\": 0.7973835947671896, \"Memory in Mb\": 5.641619682312012, \"Time in s\": 11771.547134 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8438505436697118, \"F1\": 0.7987529888919157, \"Memory in Mb\": 5.640711784362793, \"Time in s\": 12193.871152999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.843999356129418, \"F1\": 0.7991592160577892, \"Memory in Mb\": 5.725451469421387, \"Time in s\": 12620.815871999996 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8432635775910616, \"F1\": 0.7972256221950225, \"Memory in Mb\": 5.7456769943237305, \"Time in s\": 13052.460535999997 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8436830835117773, \"F1\": 0.7980031379261162, \"Memory in Mb\": 5.754740715026856, \"Time in s\": 13488.904282999996 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8436803425216834, \"F1\": 0.7979576118892089, \"Memory in Mb\": 5.757502555847168, \"Time in s\": 13925.545040999996 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.1740083694458007, \"Time in s\": 0.162813 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7636363636363637, \"Memory in Mb\": 0.2024965286254882, \"Time in s\": 0.520257 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.8048780487804877, \"Memory in Mb\": 0.2315149307250976, \"Time in s\": 1.0500919999999998 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.819047619047619, \"Memory in Mb\": 0.2600297927856445, \"Time in s\": 1.7634529999999995 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8217054263565893, \"Memory in Mb\": 0.2885446548461914, \"Time in s\": 2.765045 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.830188679245283, \"Memory in Mb\": 0.3175630569458008, \"Time in s\": 4.083864999999999 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8390804597701148, \"Memory in Mb\": 0.3460779190063476, \"Time in s\": 5.803779 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8391959798994975, \"F1\": 0.8383838383838383, \"Memory in Mb\": 0.3750925064086914, \"Time in s\": 7.866028 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8348214285714286, \"F1\": 0.8294930875576038, \"Memory in Mb\": 0.4036073684692383, \"Time in s\": 10.317012 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.8264462809917356, \"Memory in Mb\": 0.4321222305297851, \"Time in s\": 13.231482 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8357664233576643, \"F1\": 0.8288973384030419, \"Memory in Mb\": 0.4616479873657226, \"Time in s\": 16.680039999999998 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.842809364548495, \"F1\": 0.8327402135231317, \"Memory in Mb\": 0.4901628494262695, \"Time in s\": 20.639261 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8549382716049383, \"F1\": 0.8417508417508418, \"Memory in Mb\": 0.5191812515258789, \"Time in s\": 25.174847 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8624641833810889, \"F1\": 0.8471337579617835, \"Memory in Mb\": 0.5476961135864258, \"Time in s\": 30.349829 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8609625668449198, \"F1\": 0.8433734939759037, \"Memory in Mb\": 0.5762109756469727, \"Time in s\": 36.11991 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8621553884711779, \"F1\": 0.8424068767908309, \"Memory in Mb\": 0.605229377746582, \"Time in s\": 42.598398 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8632075471698113, \"F1\": 0.839779005524862, \"Memory in Mb\": 0.6337442398071289, \"Time in s\": 49.849208 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663697104677061, \"F1\": 0.8412698412698413, \"Memory in Mb\": 0.6627893447875977, \"Time in s\": 57.823258 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649789029535865, \"F1\": 0.8407960199004976, \"Memory in Mb\": 0.6913042068481445, \"Time in s\": 66.560459 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8657314629258517, \"F1\": 0.8445475638051043, \"Memory in Mb\": 2.87209415435791, \"Time in s\": 96.818717 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8442437923250564, \"Memory in Mb\": 2.980504035949707, \"Time in s\": 127.963431 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8688524590163934, \"F1\": 0.8461538461538463, \"Memory in Mb\": 3.08364200592041, \"Time in s\": 159.977649 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8710801393728222, \"F1\": 0.848360655737705, \"Memory in Mb\": 3.1883134841918945, \"Time in s\": 192.908804 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8747913188647746, \"F1\": 0.8502994011976048, \"Memory in Mb\": 3.300492286682129, \"Time in s\": 226.71997 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8733974358974359, \"F1\": 0.8460038986354775, \"Memory in Mb\": 3.412938117980957, \"Time in s\": 261.370264 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.8523985239852399, \"Memory in Mb\": 3.522160530090332, \"Time in s\": 296.927054 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783382789317508, \"F1\": 0.8571428571428572, \"Memory in Mb\": 3.6335840225219727, \"Time in s\": 333.391974 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882689556509299, \"F1\": 0.8605442176870748, \"Memory in Mb\": 3.7482118606567374, \"Time in s\": 370.807982 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8839779005524862, \"F1\": 0.864516129032258, \"Memory in Mb\": 3.861550331115722, \"Time in s\": 409.129822 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8851802403204272, \"F1\": 0.8664596273291927, \"Memory in Mb\": 3.975522041320801, \"Time in s\": 448.343177 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8863049095607235, \"F1\": 0.8670694864048338, \"Memory in Mb\": 4.095002174377441, \"Time in s\": 488.481904 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.886107634543179, \"F1\": 0.8683068017366136, \"Memory in Mb\": 4.146827697753906, \"Time in s\": 529.573688 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8859223300970874, \"F1\": 0.8690807799442897, \"Memory in Mb\": 4.390903472900391, \"Time in s\": 571.6173799999999 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8869257950530035, \"F1\": 0.8695652173913044, \"Memory in Mb\": 4.504707336425781, \"Time in s\": 614.6492939999999 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8890160183066361, \"F1\": 0.8711819389110226, \"Memory in Mb\": 4.624469757080078, \"Time in s\": 658.6172529999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876529477196885, \"F1\": 0.869340232858991, \"Memory in Mb\": 4.741554260253906, \"Time in s\": 703.5317429999999 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8728179551122195, \"Memory in Mb\": 4.862430572509766, \"Time in s\": 749.5245539999999 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8904109589041096, \"F1\": 0.8752997601918464, \"Memory in Mb\": 4.984291076660156, \"Time in s\": 796.5006999999998 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8921971252566735, \"F1\": 0.8771929824561404, \"Memory in Mb\": 5.102375030517578, \"Time in s\": 844.5149469999998 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8928928928928929, \"F1\": 0.8779931584948689, \"Memory in Mb\": 5.219093322753906, \"Time in s\": 893.5084249999998 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.892578125, \"F1\": 0.8780487804878048, \"Memory in Mb\": 5.178688049316406, \"Time in s\": 943.5715689999996 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.894184938036225, \"F1\": 0.8802588996763754, \"Memory in Mb\": 5.151969909667969, \"Time in s\": 994.6247309999998 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929236499068901, \"F1\": 0.8798328108672936, \"Memory in Mb\": 5.117225646972656, \"Time in s\": 1046.6512989999997 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8944494995450409, \"F1\": 0.8816326530612245, \"Memory in Mb\": 5.075950622558594, \"Time in s\": 1099.6701919999996 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8959074733096085, \"F1\": 0.884272997032641, \"Memory in Mb\": 5.007194519042969, \"Time in s\": 1153.6019869999996 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896431679721497, \"F1\": 0.8845780795344327, \"Memory in Mb\": 4.982025146484375, \"Time in s\": 1208.4750359999996 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8952299829642248, \"F1\": 0.8829686013320648, \"Memory in Mb\": 4.96966552734375, \"Time in s\": 1264.1689839999997 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896580483736447, \"F1\": 0.8841121495327102, \"Memory in Mb\": 4.9371490478515625, \"Time in s\": 1320.7795169999995 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8970588235294118, \"F1\": 0.8844036697247706, \"Memory in Mb\": 4.8813018798828125, \"Time in s\": 1378.3046599999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8967173738991193, \"F1\": 0.8845120859444942, \"Memory in Mb\": 4.820304870605469, \"Time in s\": 1436.7224909999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.661611557006836, \"Time in s\": 43.527964 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.557134628295898, \"Time in s\": 113.03315 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.496244430541992, \"Time in s\": 201.747221 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.508665084838867, \"Time in s\": 310.754596 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.565656661987305, \"Time in s\": 436.825284 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.554738998413086, \"Time in s\": 579.964386 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.492513656616211, \"Time in s\": 739.485002 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372397030808, \"F1\": 0.7777777777777778, \"Memory in Mb\": 4.532373428344727, \"Time in s\": 915.25293 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664369963798, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.528841018676758, \"Time in s\": 1107.42481 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997897945241474, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.520586013793945, \"Time in s\": 1314.036215 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089050257978, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.519166946411133, \"Time in s\": 1534.186276 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248303043572, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.512857437133789, \"Time in s\": 1768.1243410000002 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999838305441022, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.568696975708008, \"Time in s\": 2014.7470960000005 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998123193573816, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.55253791809082, \"Time in s\": 2273.6909760000003 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248318385652, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.554193496704102, \"Time in s\": 2543.9053730000005 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357802082308, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.487833023071289, \"Time in s\": 2824.6447140000005 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998454404945905, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.52525520324707, \"Time in s\": 3116.2234200000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998540273844628, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.608850479125977, \"Time in s\": 3418.6303260000004 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999861710366191, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.462549209594727, \"Time in s\": 3731.216163000001 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686250295594, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.517663955688477, \"Time in s\": 4053.885436000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998748811370802, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.596040725708008, \"Time in s\": 4386.480402 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998805684939688, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.581964492797852, \"Time in s\": 4729.507439 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998857612867847, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.56077766418457, \"Time in s\": 5082.623411 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998905213373912, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.554697036743164, \"Time in s\": 5446.283888999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998949005759448, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.589784622192383, \"Time in s\": 5821.612630999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998989429431856, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.514947891235352, \"Time in s\": 6206.523862999999 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998637602179836, \"F1\": 0.72, \"Memory in Mb\": 4.571069717407227, \"Time in s\": 6600.877267999999 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686260158024, \"F1\": 0.72, \"Memory in Mb\": 4.544900894165039, \"Time in s\": 7002.824473 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998731562352772, \"F1\": 0.72, \"Memory in Mb\": 4.490015029907227, \"Time in s\": 7412.266105 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997197358510396, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.520219802856445, \"Time in s\": 7829.032212999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997287767832926, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.567926406860352, \"Time in s\": 8253.169596 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372526480006, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.602060317993164, \"Time in s\": 8684.574786 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997133666677284, \"F1\": 0.5, \"Memory in Mb\": 4.518564224243164, \"Time in s\": 9122.220249 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997217971901516, \"F1\": 0.5, \"Memory in Mb\": 4.562410354614258, \"Time in s\": 9566.245368 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997297459612036, \"F1\": 0.5, \"Memory in Mb\": 4.587350845336914, \"Time in s\": 10016.770375 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997226560789408, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.58268928527832, \"Time in s\": 10473.685786 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997301519670502, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.552003860473633, \"Time in s\": 10937.213874 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372533292768, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.568490982055664, \"Time in s\": 11407.187031 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997439905141748, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.501398086547852, \"Time in s\": 11883.434676 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997503908354024, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.530572891235352, \"Time in s\": 12366.124718 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999756478941837, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.565195083618164, \"Time in s\": 12855.350972 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999762277134814, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.555276870727539, \"Time in s\": 13350.750206 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997678056411008, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.523683547973633, \"Time in s\": 13852.638924 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997730828486464, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.51640510559082, \"Time in s\": 14360.452684 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997781255108952, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.554742813110352, \"Time in s\": 14874.156807 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997829489244549, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.55351448059082, \"Time in s\": 15393.589182 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997763864042932, \"F1\": 0.5, \"Memory in Mb\": 4.576028823852539, \"Time in s\": 15919.905447 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997700973254656, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.509759902954102, \"Time in s\": 16451.368555 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997747892671, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.633722305297852, \"Time in s\": 16987.639193000003 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997792935290964, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.606340408325195, \"Time in s\": 17528.67073 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997793074457464, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.602045059204102, \"Time in s\": 18069.786262 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5333333333333333, \"F1\": 0.5242718446601942, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.004468 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5876777251184834, \"F1\": 0.5538461538461539, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.067972 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5457413249211357, \"F1\": 0.5102040816326531, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.134988 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.5025906735751295, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.20522 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5671077504725898, \"F1\": 0.5096359743040686, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.337716 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5464566929133858, \"F1\": 0.4875444839857651, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.474055 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5573549257759784, \"F1\": 0.4875, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.646583 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5501770956316411, \"F1\": 0.4816326530612245, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.822555 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487932843651626, \"F1\": 0.4794188861985472, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.00209 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5448536355051936, \"F1\": 0.4679911699779249, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.292978 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.534763948497854, \"F1\": 0.4590818363273453, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.5875979999999998 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5287175452399685, \"F1\": 0.456935630099728, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.885535 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5286855482933914, \"F1\": 0.4523206751054852, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.211477 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5252865812542145, \"F1\": 0.4491392801251955, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.547239 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5204531151667715, \"F1\": 0.4437956204379563, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.88734 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5227138643067847, \"F1\": 0.4455106237148732, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.258534 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.524153248195447, \"F1\": 0.4523961661341854, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.633124 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5233350812794966, \"F1\": 0.456664674237896, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.01125 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5171385991058122, \"F1\": 0.4563758389261745, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.505139000000001 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5143935818782445, \"F1\": 0.4581358609794628, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.002779 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5114606741573033, \"F1\": 0.4545910687405921, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.503925000000001 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510939510939511, \"F1\": 0.4550669216061185, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.074663000000001 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5104636848584325, \"F1\": 0.4530032095369097, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.648598000000001 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5084545812033032, \"F1\": 0.4546247818499127, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.226634000000001 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5096262740656852, \"F1\": 0.458072590738423, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.863299 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5092558983666061, \"F1\": 0.4574638844301765, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.503527 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5103110800419434, \"F1\": 0.4563445867287544, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.147193 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5133131108864173, \"F1\": 0.457957957957958, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.82546 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099251545720794, \"F1\": 0.4563176895306859, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.507099 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102233406731677, \"F1\": 0.4538758330410382, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.191893 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5095890410958904, \"F1\": 0.4522271336280176, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.975438 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5107637864936597, \"F1\": 0.4558871761233191, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 12.764918 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5124392336288247, \"F1\": 0.4557931694861155, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 13.557573 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5134610047182903, \"F1\": 0.4544039838157485, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 14.3795 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5122674575357239, \"F1\": 0.4546276756104914, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.204998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510615989515072, \"F1\": 0.4536142815335089, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 16.116361 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5090538128028564, \"F1\": 0.4507845934379457, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 17.035489000000002 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5108020859200397, \"F1\": 0.452473596442468, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 17.958008000000003 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102830873457537, \"F1\": 0.4517876489707476, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.927027 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102618542108988, \"F1\": 0.4525316455696203, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 19.900154000000004 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5074798619102416, \"F1\": 0.4490216271884655, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 20.87662300000001 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099977533138621, \"F1\": 0.4513207547169811, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 21.913356000000007 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099846390168971, \"F1\": 0.4539007092198581, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 22.953869000000008 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099721209521767, \"F1\": 0.4553039332538737, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 23.99911400000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5110085971901867, \"F1\": 0.4556489262371615, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 25.08372100000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5109743589743589, \"F1\": 0.4539624370132845, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 26.17171900000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099377635013049, \"F1\": 0.453792794808682, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 27.26320500000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099272655789266, \"F1\": 0.4536489151873767, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 28.44143600000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5097246293086848, \"F1\": 0.4531786941580756, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 29.62357400000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5095301000188714, \"F1\": 0.4529572721532309, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 30.80903600000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530386740331491, \"F1\": 0.8500563697857948, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.224121 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8619547211485368, \"F1\": 0.8287671232876712, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.785464 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450496871549503, \"F1\": 0.80958842152872, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.64751 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8418437758763456, \"F1\": 0.8056968463886063, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.805953 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8388165157871494, \"F1\": 0.7960893854748604, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.158177 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8413983440662374, \"F1\": 0.7995348837209302, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.857693 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8370919413341744, \"F1\": 0.7958094485076103, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.811494 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8359321098385539, \"F1\": 0.7948231233822259, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.005109 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8352753587636453, \"F1\": 0.8021799970540581, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 12.510532 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8358538470029805, \"F1\": 0.8069081937410726, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.278308 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8372303060712494, \"F1\": 0.8118765947575969, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.289259 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8368135406126391, \"F1\": 0.8140461215932915, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 21.565546 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8374798335739153, \"F1\": 0.8150724637681159, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 25.041396 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8384451628163684, \"F1\": 0.8161177420802298, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 28.814916 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.842004562513798, \"F1\": 0.8223417459660736, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 32.85712 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8448430493273542, \"F1\": 0.8264794383149447, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 37.134508 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8460489578598792, \"F1\": 0.8270983738058776, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 41.682175 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.844851904090268, \"F1\": 0.8251313243019076, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 46.494991 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8443618195549875, \"F1\": 0.8222177981286084, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 51.515798 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450797505381091, \"F1\": 0.8227792158595871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 56.800748 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462023653088042, \"F1\": 0.8224083515416363, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 62.372633 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.847523957653906, \"F1\": 0.8255753888538139, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 68.180409 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.84661899505687, \"F1\": 0.8249917862227577, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 74.270057 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8452835395299637, \"F1\": 0.8209495422610177, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 80.612623 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8444081416398075, \"F1\": 0.8188733552631579, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 87.17507 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8451284228401613, \"F1\": 0.8194595664654062, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 93.968638 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8464903315481788, \"F1\": 0.8198781599270878, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 100.983267 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462963692986951, \"F1\": 0.8199492034172247, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 108.278888 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8477524454763445, \"F1\": 0.8213168944876262, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 115.769594 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8495529636851982, \"F1\": 0.8240457851026293, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 123.465792 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8509880719245149, \"F1\": 0.825107610012955, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 131.36678899999998 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8521265220240765, \"F1\": 0.8258237516759436, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 139.55273799999998 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531959728400843, \"F1\": 0.8268160833366216, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 147.964309 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537480115573158, \"F1\": 0.8267107743201139, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 156.664426 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530385694913116, \"F1\": 0.8259895444361464, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 165.606267 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8536869538555879, \"F1\": 0.8269760696156635, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 174.782391 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8541511291429253, \"F1\": 0.8276032300151628, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 184.217189 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8549684840386905, \"F1\": 0.8286724084685859, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 193.875362 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8555175048821215, \"F1\": 0.8284321962695346, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 203.791365 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8545213720025387, \"F1\": 0.8259146744155329, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 213.957306 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.854354556467896, \"F1\": 0.8252696854208386, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 224.377202 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8545636119944285, \"F1\": 0.8247736052181622, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 234.998191 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8548142824139435, \"F1\": 0.8254213223038459, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 245.897409 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8546521837292728, \"F1\": 0.8262981172802495, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 257.034489 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8540067207927592, \"F1\": 0.8267652366261132, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 268.379106 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537012597480504, \"F1\": 0.8274320002264302, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 279.987419 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8536201592259458, \"F1\": 0.8277177368086459, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 291.808183 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.853473451836181, \"F1\": 0.8276626818845675, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 303.899029 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533777847858897, \"F1\": 0.8271686890948196, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 316.239245 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533521711296055, \"F1\": 0.8273155007928462, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 328.813976 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533027300214076, \"F1\": 0.8272294856132872, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 341.389555 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.625, \"F1\": 0.64, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.001863 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6530612244897959, \"F1\": 0.6222222222222223, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.005016 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5675675675675675, \"F1\": 0.5555555555555556, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.009415 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.5416666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.115037 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5241935483870968, \"F1\": 0.5123966942148761, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.222127 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5234899328859061, \"F1\": 0.5298013245033113, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.330326 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5229885057471264, \"F1\": 0.496969696969697, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.439628 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.507537688442211, \"F1\": 0.4787234042553192, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.550035 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5, \"F1\": 0.4509803921568627, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.6616070000000001 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5180722891566265, \"F1\": 0.4782608695652174, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.774476 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5218978102189781, \"F1\": 0.4738955823293172, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.8884620000000001 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5217391304347826, \"F1\": 0.460377358490566, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.0035580000000002 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5216049382716049, \"F1\": 0.4483985765124554, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.151113 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5329512893982808, \"F1\": 0.4511784511784511, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.299965 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5267379679144385, \"F1\": 0.4380952380952381, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.45006 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5263157894736842, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.6013830000000002 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5424528301886793, \"F1\": 0.436046511627907, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.7539290000000003 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5367483296213809, \"F1\": 0.4222222222222222, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.9077010000000003 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5358649789029536, \"F1\": 0.4329896907216494, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.0627030000000004 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5370741482965932, \"F1\": 0.4460431654676259, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.2669650000000003 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5400763358778626, \"F1\": 0.4382284382284382, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.491531 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5391621129326047, \"F1\": 0.4415011037527593, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.717762 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5418118466898955, \"F1\": 0.4416135881104034, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.945135 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5509181969949917, \"F1\": 0.443064182194617, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.175983 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5560897435897436, \"F1\": 0.4358452138492871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.407996 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.551617873651772, \"F1\": 0.4393063583815029, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.641123 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5459940652818991, \"F1\": 0.4436363636363636, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.875357 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5464949928469242, \"F1\": 0.4389380530973452, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.110698999999999 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5441988950276243, \"F1\": 0.4463087248322148, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.380075 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5367156208277704, \"F1\": 0.4412238325281803, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.650483 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5310077519379846, \"F1\": 0.4336973478939157, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.940408 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5294117647058824, \"F1\": 0.4388059701492537, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.231503 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5266990291262136, \"F1\": 0.4396551724137931, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.523716 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5241460541813898, \"F1\": 0.4341736694677871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.817038 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.522883295194508, \"F1\": 0.4311050477489768, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.111637 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5272525027808677, \"F1\": 0.4340878828229028, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.407366 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5227272727272727, \"F1\": 0.4338896020539153, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.766113 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5205479452054794, \"F1\": 0.438964241676942, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.126579 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5174537987679672, \"F1\": 0.4337349397590361, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.488418999999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5185185185185185, \"F1\": 0.4361078546307151, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.851253 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.517578125, \"F1\": 0.4386363636363636, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.215067 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5138226882745471, \"F1\": 0.4370860927152318, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.579858 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5111731843575419, \"F1\": 0.4372990353697749, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.945611 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5122838944494995, \"F1\": 0.4393305439330544, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.312328 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5124555160142349, \"F1\": 0.4453441295546558, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.680001999999998 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5143603133159269, \"F1\": 0.4464285714285714, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.125450999999998 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5187393526405452, \"F1\": 0.4509232264334305, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.572148 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5187656380316931, \"F1\": 0.448901623686724, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.020091999999998 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5171568627450981, \"F1\": 0.4471468662301216, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.469231 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5156124899919936, \"F1\": 0.4474885844748858, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.919638999999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 0.335236 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 1.143886 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 2.36402 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 4.028138 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 6.117771 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 8.657701 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 11.631 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9985548183669448, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.05037 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9984818404764684, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.876176 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9986336644069578, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 23.061029 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9987578826676858, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 27.619004 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9988613969783228, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 32.587888 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9989489853666425, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 37.966612 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9989489884013364, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 43.747016 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9990190582959642, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 49.923315 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999080369166092, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 56.476617 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9991344667697064, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 63.442318 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999182553352991, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 70.796392 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992255780506694, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 78.554987 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992643001655324, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 86.688101 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992993343676492, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 95.30254 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993311835662247, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 104.31052400000002 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993602632059952, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 113.72316700000002 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869194893916, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 123.549629 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994114432252912, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 133.72455100000002 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99943408048184, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 144.361296 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99941611521993, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 155.342577 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369686391532, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 166.71976 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994563838654732, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 178.568204 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994394717020793, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 190.760423 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994575535665852, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 203.318295 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745052960012, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 216.324675 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994585814834868, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 229.751949 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745058036196, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 243.519605 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99948952014894, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 257.632512 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745062548352, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 272.164854 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994887089902004, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 287.040678 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995021642028404, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 302.255295 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995149293952786, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 317.85437 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99952705631971, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 333.81575100000003 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99953859167927, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 350.111597 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999549577729121, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 366.757049 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995600527936648, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 383.769929 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700517132244, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 401.126049 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796062311698, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 418.855408 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999588745330546, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 436.927356 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995751341681576, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 455.364423 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995839856365568, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 474.187698 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999592475816657, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 493.377496 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999600626385984, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 512.867881 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996006515684936, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 532.358985 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"Bananas\", \"bind\": { \"input\": \"select\", \"options\": [ \"Bananas\", \"Elec2\", \"Phishing\", \"SMTP\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"Accuracy\", \"F1\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Binary%20classification/#datasets","title":"Datasets","text":"Bananas

Bananas dataset.

An artificial dataset where instances belongs to several clusters with a banana shape. There are two attributes that correspond to the x and y axis, respectively.

Name  Bananas                                                                                                \nTask  Binary classification\n

Samples 5,300 Features 2 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/banana.zip

Elec2

Electricity prices in New South Wales.

This is a binary classification task, where the goal is to predict if the price of electricity will go up or down.

This data was collected from the Australian New South Wales Electricity Market. In this market, prices are not fixed and are affected by demand and supply of the market. They are set every five minutes. Electricity transfers to/from the neighboring state of Victoria were done to alleviate fluctuations.

  Name  Elec2                                                      \n  Task  Binary classification\n

Samples 45,312 Features 8 Sparse False Path /Users/mastelini/river_data/Elec2/electricity.csv URL https://maxhalford.github.io/files/datasets/electricity.zip Size 2.95 MB Downloaded True

Phishing

Phishing websites.

This dataset contains features from web pages that are classified as phishing or not.

Name  Phishing                                                                                                    \nTask  Binary classification\n

Samples 1,250 Features 9 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/phishing.csv.gz

SMTP

SMTP dataset from the KDD 1999 cup.

The goal is to predict whether or not an SMTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

  Name  SMTP                                                \n  Task  Binary classification\n

Samples 95,156 Features 3 Sparse False Path /Users/mastelini/river_data/SMTP/smtp.csv URL https://maxhalford.github.io/files/datasets/smtp.zip Size 5.23 MB Downloaded True

"},{"location":"benchmarks/Binary%20classification/#models","title":"Models","text":"Logistic regression

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LogisticRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.005\n      )\n    )\n    loss=Log (\n      weight_pos=1.\n      weight_neg=1.\n    )\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Aggregated Mondrian Forest

[]

ALMA

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  ALMAClassifier (\n    p=2\n    alpha=0.9\n    B=1.111111\n    C=1.414214\n  )\n)

sklearn SGDClassifier

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SKL2RiverClassifier (\n    estimator=SGDClassifier(eta0=0.005, learning_rate='constant', loss='log_loss',\n                penalty=None)\n    classes=[False, True]\n  )\n)

Vowpal Wabbit logistic regression

VW2RiverClassifier ()

Naive Bayes

GaussianNB ()

Hoeffding Tree

HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)

Hoeffding Adaptive Tree

HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=True\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=42\n)

Adaptive Random Forest

[]

Streaming Random Patches

SRPClassifier (\n  model=HoeffdingTreeClassifier (\n    grace_period=50\n    max_depth=inf\n    split_criterion=\"info_gain\"\n    delta=0.01\n    tau=0.05\n    leaf_prediction=\"nba\"\n    nb_threshold=0\n    nominal_attributes=None\n    splitter=GaussianSplitter (\n      n_splits=10\n    )\n    binary_split=False\n    min_branch_fraction=0.01\n    max_share_to_split=0.99\n    max_size=100.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n  n_models=10\n  subspace_size=0.6\n  training_method=\"patches\"\n  lam=6\n  drift_detector=ADWIN (\n    delta=1e-05\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  warning_detector=ADWIN (\n    delta=0.0001\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  disable_detector=\"off\"\n  disable_weighted_vote=False\n  seed=None\n  metric=Accuracy (\n    cm=ConfusionMatrix (\n      classes=[]\n    )\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)\n\n

\n\nADWIN Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nAdaBoost\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nBagging\n

[HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n)]

\n\n

\n\nLeveraging Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nStacking\n

[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n\n

\n\nVoting\n

VotingClassifier (\n  models=[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n  use_probabilities=True\n)\n\n

\n\n[baseline] Last Class\n

NoChangeClassifier ()

\n\n

"},{"location":"benchmarks/Binary%20classification/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"benchmarks/Multiclass%20classification/","title":"Multiclass classification","text":"TableChart Model Dataset Accuracy MicroF1 MacroF1 Memory in Mb Time in s ADWIN Bagging ImageSegments 0.777826 0.777826 0.765011 4.11628 3543.55 ADWIN Bagging Insects 0.579465 0.579465 0.570198 15.3074 60279.4 ADWIN Bagging Keystroke 0.81656 0.81656 0.815908 37.8558 41308 AdaBoost ImageSegments 0.804677 0.804677 0.79777 4.09839 3350.88 AdaBoost Insects 0.563532 0.563532 0.554622 27.943 60335.7 AdaBoost Keystroke 0.834796 0.834796 0.836062 194.794 51861.3 Adaptive Random Forest ImageSegments 0.818536 0.818536 0.814535 3.06348 1574.18 Adaptive Random Forest Insects 0.745378 0.745378 0.743302 0.361794 25383.5 Adaptive Random Forest Keystroke 0.969116 0.969116 0.969111 1.63546 7363.05 Aggregated Mondrian Forest ImageSegments 0.901689 0.901689 0.900381 17.0502 2997.7 Aggregated Mondrian Forest Insects 0.646981 0.646981 0.644352 1365.41 76295.7 Aggregated Mondrian Forest Keystroke 0.881073 0.881073 0.879928 338.139 35528.4 Bagging ImageSegments 0.77696 0.77696 0.764564 4.15507 3634.88 Bagging Insects 0.606392 0.606392 0.598542 3.69162 65237 Bagging Keystroke 0.669739 0.669739 0.669981 50.3449 55411.4 Hoeffding Adaptive Tree ImageSegments 0.774361 0.774361 0.763362 0.423797 457.311 Hoeffding Adaptive Tree Insects 0.613337 0.613337 0.604219 0.143826 11292.9 Hoeffding Adaptive Tree Keystroke 0.723124 0.723124 0.721825 0.724475 8998.46 Hoeffding Tree ImageSegments 0.776094 0.776094 0.763137 0.417154 328.067 Hoeffding Tree Insects 0.537306 0.537306 0.527364 2.51923 7445.36 Hoeffding Tree Keystroke 0.648218 0.648218 0.647249 5.09445 7138.73 Leveraging Bagging ImageSegments 0.778259 0.778259 0.766016 4.1005 8561.3 Leveraging Bagging Insects 0.695858 0.695858 0.690508 13.831 99120.2 Leveraging Bagging Keystroke 0.956616 0.956616 0.95665 7.40999 37049.1 Naive Bayes ImageSegments 0.731919 0.731919 0.730419 0.390004 248.959 Naive Bayes Insects 0.506897 0.506897 0.493019 0.611693 4263.77 Naive Bayes Keystroke 0.652532 0.652532 0.651577 4.86901 3544.69 Stacking ImageSegments 0.867908 0.867908 0.865603 9.18162 5416.88 Stacking Insects 0.754745 0.754745 0.752818 10.5864 72115 Stacking Keystroke 0.975489 0.975489 0.975486 18.7111 42471.8 Streaming Random Patches ImageSegments 0.766999 0.766999 0.764707 8.92653 6441.81 Streaming Random Patches Insects 0.736163 0.736163 0.734622 9.632 90031.6 Streaming Random Patches Keystroke 0.955929 0.955929 0.95592 39.636 31009.8 Voting ImageSegments 0.80641 0.80641 0.798999 6.07392 3157.94 Voting Insects 0.648533 0.648533 0.638 9.40652 48163.7 Voting Keystroke 0.779107 0.779107 0.784136 16.3925 29779.2 [baseline] Last Class ImageSegments 0.148116 0.148116 0.148116 0.00136948 31.4159 [baseline] Last Class Insects 0.289761 0.289761 0.289763 0.00138664 679.004 [baseline] Last Class Keystroke 0.997549 0.997549 0.997549 0.00504208 274.675 k-Nearest Neighbors ImageSegments 0.873538 0.873538 0.872136 5.26871 2666.29 k-Nearest Neighbors Insects 0.713115 0.713115 0.711381 6.27269 40639.9 k-Nearest Neighbors Keystroke 0.910486 0.910486 0.910328 6.32511 21326.5

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4666666666666667, \"MicroF1\": 0.4666666666666667, \"MacroF1\": 0.4009102009102009, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 0.450679 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5604395604395604, \"MicroF1\": 0.5604395604395604, \"MacroF1\": 0.5279334700387331, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 1.152847 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5474452554744526, \"MicroF1\": 0.5474452554744526, \"MacroF1\": 0.5191892873237387, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 2.278305 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5573770491803278, \"MicroF1\": 0.5573770491803278, \"MacroF1\": 0.5225713529323662, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 3.449742 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5545851528384279, \"MicroF1\": 0.5545851528384279, \"MacroF1\": 0.5217226223148511, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 4.939578 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.56, \"MicroF1\": 0.56, \"MacroF1\": 0.5450388711329709, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 6.667081 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5825545171339563, \"MicroF1\": 0.5825545171339563, \"MacroF1\": 0.5566705826058684, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 8.548779999999999 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5940054495912807, \"MicroF1\": 0.5940054495912807, \"MacroF1\": 0.5613773296963412, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 10.607026 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5980629539951574, \"MicroF1\": 0.5980629539951574, \"MacroF1\": 0.5624927052752284, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 12.811145 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.599128540305011, \"MicroF1\": 0.599128540305011, \"MacroF1\": 0.5669821167583783, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 15.144022 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6099009900990099, \"MicroF1\": 0.6099009900990099, \"MacroF1\": 0.592228619098681, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 17.683543 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6116152450090744, \"MicroF1\": 0.6116152450090744, \"MacroF1\": 0.5983340184133136, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 20.357047 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6180904522613065, \"MicroF1\": 0.6180904522613065, \"MacroF1\": 0.611527101723203, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 23.213992 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6158631415241057, \"MicroF1\": 0.6158631415241057, \"MacroF1\": 0.6113311881078581, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 26.205369 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6182873730043541, \"MicroF1\": 0.6182873730043541, \"MacroF1\": 0.6150189987146761, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 29.350024 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.617687074829932, \"MicroF1\": 0.617687074829932, \"MacroF1\": 0.6157912419016742, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 32.567265 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6274007682458387, \"MicroF1\": 0.6274007682458387, \"MacroF1\": 0.6216325704223051, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 36.027093 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6324062877871826, \"MicroF1\": 0.6324062877871826, \"MacroF1\": 0.6280704917469789, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 39.646129 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6426116838487973, \"MicroF1\": 0.6426116838487973, \"MacroF1\": 0.6349558095046656, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 43.417442 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6485310119695321, \"MicroF1\": 0.6485310119695321, \"MacroF1\": 0.6384515982514894, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 47.360213 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6507772020725389, \"MicroF1\": 0.6507772020725389, \"MacroF1\": 0.6399118827528387, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 51.459671 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6508407517309595, \"MicroF1\": 0.6508407517309595, \"MacroF1\": 0.6387857120889422, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 55.677121 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6537369914853358, \"MicroF1\": 0.6537369914853358, \"MacroF1\": 0.6398811322847953, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 60.129657 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.658204895738894, \"MicroF1\": 0.658204895738894, \"MacroF1\": 0.6463297068165035, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 64.716333 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6640557006092254, \"MicroF1\": 0.6640557006092254, \"MacroF1\": 0.6508930463144657, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 69.425449 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6702928870292887, \"MicroF1\": 0.6702928870292887, \"MacroF1\": 0.6599370641329333, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 74.368592 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6736502820306205, \"MicroF1\": 0.6736502820306205, \"MacroF1\": 0.669511465798708, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 79.42749 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6822066822066822, \"MicroF1\": 0.6822066822066822, \"MacroF1\": 0.6790074545382362, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 84.676077 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6841710427606902, \"MicroF1\": 0.6841710427606902, \"MacroF1\": 0.6834974476087327, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 90.04929600000001 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6874546773023931, \"MicroF1\": 0.6874546773023931, \"MacroF1\": 0.687676692272135, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 95.54439700000002 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6919298245614035, \"MicroF1\": 0.6919298245614035, \"MacroF1\": 0.6930786661709784, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 101.25523300000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.698844323589395, \"MicroF1\": 0.698844323589395, \"MacroF1\": 0.6985606658027719, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 107.09626300000002 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7027027027027027, \"MicroF1\": 0.7027027027027027, \"MacroF1\": 0.7017787722939461, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 113.17857300000004 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7056941778630839, \"MicroF1\": 0.7056941778630839, \"MacroF1\": 0.7062915374924865, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 119.38367200000005 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7078931013051585, \"MicroF1\": 0.7078931013051585, \"MacroF1\": 0.7081385387673028, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 125.72760100000004 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7093655589123867, \"MicroF1\": 0.7093655589123867, \"MacroF1\": 0.7109488618373111, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 132.27559300000004 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7101704879482658, \"MicroF1\": 0.7101704879482658, \"MacroF1\": 0.7132092257742534, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 138.94755600000005 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7143674871207785, \"MicroF1\": 0.7143674871207784, \"MacroF1\": 0.7178399485500211, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 145.68584300000003 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7172336865588399, \"MicroF1\": 0.7172336865588399, \"MacroF1\": 0.7191260584555579, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 152.67811600000005 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7199564980967917, \"MicroF1\": 0.7199564980967917, \"MacroF1\": 0.7217017555070446, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 159.82058900000004 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7204244031830239, \"MicroF1\": 0.7204244031830238, \"MacroF1\": 0.7234495525792994, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 167.13449700000004 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7219057483169342, \"MicroF1\": 0.7219057483169342, \"MacroF1\": 0.7238483512148008, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 174.57489300000003 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.723823975720789, \"MicroF1\": 0.723823975720789, \"MacroF1\": 0.7251399238639739, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 182.21825900000005 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.726643598615917, \"MicroF1\": 0.726643598615917, \"MacroF1\": 0.7268553573885639, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 189.97396200000009 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7269212179797003, \"MicroF1\": 0.7269212179797003, \"MacroF1\": 0.7276782991451582, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 197.92708900000005 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7286052009456265, \"MicroF1\": 0.7286052009456266, \"MacroF1\": 0.7283656039279267, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 206.04766600000005 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7306802406293382, \"MicroF1\": 0.7306802406293383, \"MacroF1\": 0.7303992643507475, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 214.36632800000004 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.733574988672406, \"MicroF1\": 0.733574988672406, \"MacroF1\": 0.7322842940126589, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 222.77231300000005 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7314691522414558, \"MicroF1\": 0.7314691522414558, \"MacroF1\": 0.7300322879925133, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 231.40748800000003 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7316224445411048, \"MicroF1\": 0.7316224445411048, \"MacroF1\": 0.7300416811383057, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 240.14309800000004 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319185794716327, \"MicroF1\": 0.7319185794716329, \"MacroF1\": 0.7304188192194185, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 248.95897400000004 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.623696682464455, \"MicroF1\": 0.623696682464455, \"MacroF1\": 0.5870724729616662, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4.116407 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6148744670772146, \"MicroF1\": 0.6148744670772146, \"MacroF1\": 0.5800776869595596, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 12.008893 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6065677297126618, \"MicroF1\": 0.6065677297126618, \"MacroF1\": 0.5714781230184183, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 23.636521 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043097324177126, \"MicroF1\": 0.6043097324177126, \"MacroF1\": 0.5697541737710122, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 38.735534 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088274294373934, \"MicroF1\": 0.6088274294373934, \"MacroF1\": 0.5727560614138387, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 57.253764 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6023677979479084, \"MicroF1\": 0.6023677979479084, \"MacroF1\": 0.5679597008529512, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 79.038555 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5995129211202814, \"MicroF1\": 0.5995129211202814, \"MacroF1\": 0.5652603100832261, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 104.109779 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6019888717888008, \"MicroF1\": 0.6019888717888008, \"MacroF1\": 0.5673514925692325, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 132.296427 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5993896664211301, \"MicroF1\": 0.5993896664211301, \"MacroF1\": 0.5644951651039589, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 163.68164199999998 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5994885879344635, \"MicroF1\": 0.5994885879344635, \"MacroF1\": 0.564565538599863, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 198.252114 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5972449418854929, \"MicroF1\": 0.5972449418854929, \"MacroF1\": 0.5631227877868952, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 235.999104 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001894088864336, \"MicroF1\": 0.6001894088864336, \"MacroF1\": 0.5684733590606373, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 276.973484 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120783856632913, \"MicroF1\": 0.6120783856632913, \"MacroF1\": 0.5935173038317552, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 321.087465 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6024487587093282, \"MicroF1\": 0.6024487587093282, \"MacroF1\": 0.5841270876002982, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 368.414891 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5676494728202538, \"MicroF1\": 0.5676494728202538, \"MacroF1\": 0.5507155080701159, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 418.926748 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5418762947617638, \"MicroF1\": 0.5418762947617638, \"MacroF1\": 0.5256197352354142, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 472.672831 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5232020500250683, \"MicroF1\": 0.5232020500250683, \"MacroF1\": 0.5066898143269706, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 529.5973250000001 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5118640500868101, \"MicroF1\": 0.5118640500868101, \"MacroF1\": 0.4926543583964285, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 589.87103 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5103922643672432, \"MicroF1\": 0.5103922643672432, \"MacroF1\": 0.4900586962359796, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 653.257514 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5115772527108291, \"MicroF1\": 0.5115772527108291, \"MacroF1\": 0.4910837640903744, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 719.720849 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5140022547914318, \"MicroF1\": 0.5140022547914318, \"MacroF1\": 0.4932541888231957, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 789.2473650000001 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5154319659076234, \"MicroF1\": 0.5154319659076234, \"MacroF1\": 0.4943013417599926, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 861.9200270000001 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5184254951208466, \"MicroF1\": 0.5184254951208466, \"MacroF1\": 0.4965832238311332, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 937.628382 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5225111470623052, \"MicroF1\": 0.5225111470623052, \"MacroF1\": 0.499893079239698, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1016.433905 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5257396113489148, \"MicroF1\": 0.5257396113489148, \"MacroF1\": 0.5022487669255871, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1098.325454 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5301402294663996, \"MicroF1\": 0.5301402294663996, \"MacroF1\": 0.5051550433324518, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1183.302333 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5277261407877661, \"MicroF1\": 0.5277261407877661, \"MacroF1\": 0.5036945145235058, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1271.323869 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5204450908107011, \"MicroF1\": 0.5204450908107011, \"MacroF1\": 0.4989008712312768, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1362.446785 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5147111648107632, \"MicroF1\": 0.5147111648107632, \"MacroF1\": 0.495826840073632, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1456.7074690000002 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5105590454244137, \"MicroF1\": 0.5105590454244137, \"MacroF1\": 0.4941101813344875, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1553.9918670000002 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5075607148312204, \"MicroF1\": 0.5075607148312204, \"MacroF1\": 0.4931947798921405, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1654.355087 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5044538486579266, \"MicroF1\": 0.5044538486579266, \"MacroF1\": 0.4905626123916189, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1757.6376 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5020231296811777, \"MicroF1\": 0.5020231296811777, \"MacroF1\": 0.487879842488124, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1863.925375 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4998746622844887, \"MicroF1\": 0.4998746622844887, \"MacroF1\": 0.4853435061152475, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1973.177917 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4967937444194918, \"MicroF1\": 0.4967937444194918, \"MacroF1\": 0.4819418474093529, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2085.445724 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4955938445350519, \"MicroF1\": 0.4955938445350519, \"MacroF1\": 0.4801892436835747, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2200.821931 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4940237004427836, \"MicroF1\": 0.4940237004427836, \"MacroF1\": 0.478380783820526, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2319.178703 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.493508111745209, \"MicroF1\": 0.493508111745209, \"MacroF1\": 0.4785213801670671, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2440.443075 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4936988563242114, \"MicroF1\": 0.4936988563242114, \"MacroF1\": 0.4794201499427274, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2564.583087 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4938800634484718, \"MicroF1\": 0.4938800634484718, \"MacroF1\": 0.4802377497532935, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2691.651665 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4943757939715902, \"MicroF1\": 0.4943757939715902, \"MacroF1\": 0.4812132921167227, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2821.601336 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.494036211133909, \"MicroF1\": 0.494036211133909, \"MacroF1\": 0.4812388919618418, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2954.377766 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4944832294580131, \"MicroF1\": 0.4944832294580131, \"MacroF1\": 0.4818441874360225, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3089.8310679999995 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4945225232981082, \"MicroF1\": 0.4945225232981082, \"MacroF1\": 0.4820791268335544, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3227.9665449999998 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4956333256171216, \"MicroF1\": 0.4956333256171216, \"MacroF1\": 0.4833168636021498, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3368.688097999999 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4970869788986104, \"MicroF1\": 0.4970869788986104, \"MacroF1\": 0.4846703771634363, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3511.887438999999 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4987608551107171, \"MicroF1\": 0.4987608551107171, \"MacroF1\": 0.4862426724473749, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3657.6494079999993 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5009568528419516, \"MicroF1\": 0.5009568528419516, \"MacroF1\": 0.4881725476999718, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3806.011259 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5034497419940862, \"MicroF1\": 0.5034497419940862, \"MacroF1\": 0.4903712806540024, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3956.893516 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5068467205818292, \"MicroF1\": 0.5068467205818292, \"MacroF1\": 0.4930025316136313, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4110.278735 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5068972694760346, \"MicroF1\": 0.5068972694760346, \"MacroF1\": 0.4930190627831494, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4263.766907 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9852579852579852, \"MicroF1\": 0.9852579852579852, \"MacroF1\": 0.6962686567164179, \"Memory in Mb\": 0.1935644149780273, \"Time in s\": 0.780775 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.947239263803681, \"MicroF1\": 0.947239263803681, \"MacroF1\": 0.7418606503288051, \"Memory in Mb\": 0.2889022827148437, \"Time in s\": 2.463269 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.884709730171709, \"MicroF1\": 0.884709730171709, \"MacroF1\": 0.8705899666065842, \"Memory in Mb\": 0.3842401504516601, \"Time in s\": 5.15507 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8933169834457388, \"MicroF1\": 0.8933169834457388, \"MacroF1\": 0.8791291775937072, \"Memory in Mb\": 0.4795780181884765, \"Time in s\": 8.960951 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8921039725355566, \"MicroF1\": 0.8921039725355566, \"MacroF1\": 0.8831785360852743, \"Memory in Mb\": 0.575160026550293, \"Time in s\": 14.051639 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.851655087862689, \"MicroF1\": 0.851655087862689, \"MacroF1\": 0.8581984289516641, \"Memory in Mb\": 0.6704978942871094, \"Time in s\": 20.582882 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8598949211908932, \"MicroF1\": 0.8598949211908932, \"MacroF1\": 0.8469962214365346, \"Memory in Mb\": 0.7658357620239258, \"Time in s\": 28.649143 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8513637756665645, \"MicroF1\": 0.8513637756665645, \"MacroF1\": 0.8281280134770846, \"Memory in Mb\": 0.8611736297607422, \"Time in s\": 38.532046 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8422773086352493, \"MicroF1\": 0.8422773086352493, \"MacroF1\": 0.8409307955747314, \"Memory in Mb\": 0.9565114974975586, \"Time in s\": 50.273206 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8367246874233881, \"MicroF1\": 0.8367246874233881, \"MacroF1\": 0.8249418657104467, \"Memory in Mb\": 1.0523834228515625, \"Time in s\": 63.882498 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8203699576554491, \"MicroF1\": 0.8203699576554491, \"MacroF1\": 0.8300896799820437, \"Memory in Mb\": 1.147721290588379, \"Time in s\": 79.531469 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8192032686414709, \"MicroF1\": 0.8192032686414709, \"MacroF1\": 0.8269731591910484, \"Memory in Mb\": 1.243059158325195, \"Time in s\": 97.310117 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8172732415613804, \"MicroF1\": 0.8172732415613804, \"MacroF1\": 0.8027823390848743, \"Memory in Mb\": 1.3383970260620115, \"Time in s\": 117.35519 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7961828051129399, \"MicroF1\": 0.7961828051129399, \"MacroF1\": 0.8002006091139847, \"Memory in Mb\": 1.433734893798828, \"Time in s\": 139.817583 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.793920575257395, \"MicroF1\": 0.793920575257395, \"MacroF1\": 0.7746960355921345, \"Memory in Mb\": 1.5290727615356443, \"Time in s\": 164.727582 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7688064960931515, \"MicroF1\": 0.7688064960931515, \"MacroF1\": 0.7622487598340326, \"Memory in Mb\": 1.624410629272461, \"Time in s\": 192.151707 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7568853640951694, \"MicroF1\": 0.7568853640951694, \"MacroF1\": 0.757813781660983, \"Memory in Mb\": 1.7197484970092771, \"Time in s\": 222.243586 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7669889690862045, \"MicroF1\": 0.7669889690862046, \"MacroF1\": 0.7643943615019536, \"Memory in Mb\": 1.8150863647460935, \"Time in s\": 255.230678 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7676428847890595, \"MicroF1\": 0.7676428847890595, \"MacroF1\": 0.7655695901071293, \"Memory in Mb\": 1.9104242324829104, \"Time in s\": 291.218411 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7714180659394534, \"MicroF1\": 0.7714180659394533, \"MacroF1\": 0.7672011803374248, \"Memory in Mb\": 2.0057621002197266, \"Time in s\": 330.398823 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7702813120112058, \"MicroF1\": 0.7702813120112058, \"MacroF1\": 0.7699263138193525, \"Memory in Mb\": 2.1021223068237305, \"Time in s\": 372.827664 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7680222841225627, \"MicroF1\": 0.7680222841225627, \"MacroF1\": 0.7682287234686136, \"Memory in Mb\": 2.197460174560547, \"Time in s\": 418.63015 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7659597143770649, \"MicroF1\": 0.7659597143770649, \"MacroF1\": 0.7643546547243014, \"Memory in Mb\": 2.2927980422973637, \"Time in s\": 468.011111 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7586559084873864, \"MicroF1\": 0.7586559084873864, \"MacroF1\": 0.7552148692020618, \"Memory in Mb\": 2.38813591003418, \"Time in s\": 521.0847249999999 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7505637807628199, \"MicroF1\": 0.7505637807628199, \"MacroF1\": 0.7430512224080145, \"Memory in Mb\": 2.483473777770996, \"Time in s\": 577.917349 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7290468558499105, \"MicroF1\": 0.7290468558499106, \"MacroF1\": 0.715756093271779, \"Memory in Mb\": 2.5788116455078125, \"Time in s\": 638.790947 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7217430776214253, \"MicroF1\": 0.7217430776214253, \"MacroF1\": 0.7173640789896896, \"Memory in Mb\": 2.674149513244629, \"Time in s\": 703.666983 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7151361288628206, \"MicroF1\": 0.7151361288628206, \"MacroF1\": 0.7011862635194489, \"Memory in Mb\": 2.7694873809814453, \"Time in s\": 772.6431349999999 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.705603921900093, \"MicroF1\": 0.705603921900093, \"MacroF1\": 0.6976881379682607, \"Memory in Mb\": 2.8648252487182617, \"Time in s\": 845.8350979999999 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7094533867146009, \"MicroF1\": 0.7094533867146009, \"MacroF1\": 0.7058405389403433, \"Memory in Mb\": 2.960163116455078, \"Time in s\": 923.50335 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7053846762077963, \"MicroF1\": 0.7053846762077963, \"MacroF1\": 0.6965736948063982, \"Memory in Mb\": 3.0555009841918945, \"Time in s\": 1005.753677 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6927613941018766, \"MicroF1\": 0.6927613941018766, \"MacroF1\": 0.6842255816736498, \"Memory in Mb\": 3.150838851928711, \"Time in s\": 1092.707972 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6890737577063062, \"MicroF1\": 0.6890737577063062, \"MacroF1\": 0.6845669389392289, \"Memory in Mb\": 3.246176719665528, \"Time in s\": 1184.483965 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6873332852714296, \"MicroF1\": 0.6873332852714296, \"MacroF1\": 0.68390545518227, \"Memory in Mb\": 3.341514587402344, \"Time in s\": 1281.216395 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.682960991666083, \"MicroF1\": 0.682960991666083, \"MacroF1\": 0.6781566371919944, \"Memory in Mb\": 3.43685245513916, \"Time in s\": 1383.039909 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.686185061619119, \"MicroF1\": 0.686185061619119, \"MacroF1\": 0.6843713776162116, \"Memory in Mb\": 3.532190322875977, \"Time in s\": 1489.909884 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6928784365684001, \"MicroF1\": 0.6928784365684001, \"MacroF1\": 0.6911392400672977, \"Memory in Mb\": 3.627528190612793, \"Time in s\": 1601.996709 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6913500612784622, \"MicroF1\": 0.6913500612784622, \"MacroF1\": 0.687359772989117, \"Memory in Mb\": 3.72286605834961, \"Time in s\": 1719.445985 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6819810194205267, \"MicroF1\": 0.6819810194205267, \"MacroF1\": 0.674915944935936, \"Memory in Mb\": 3.818203926086426, \"Time in s\": 1842.197498 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6726515105092223, \"MicroF1\": 0.6726515105092223, \"MacroF1\": 0.6670192172011686, \"Memory in Mb\": 3.913541793823242, \"Time in s\": 1970.358299 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6695163508100676, \"MicroF1\": 0.6695163508100676, \"MacroF1\": 0.6664051037977977, \"Memory in Mb\": 4.008879661560059, \"Time in s\": 2103.939399 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6650131310183834, \"MicroF1\": 0.6650131310183834, \"MacroF1\": 0.6608988619616458, \"Memory in Mb\": 4.1063079833984375, \"Time in s\": 2242.845385 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6568431853160804, \"MicroF1\": 0.6568431853160804, \"MacroF1\": 0.6531382897719189, \"Memory in Mb\": 4.201645851135254, \"Time in s\": 2386.822189 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6556180714166342, \"MicroF1\": 0.6556180714166342, \"MacroF1\": 0.6538448358590968, \"Memory in Mb\": 4.29698371887207, \"Time in s\": 2536.044428 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6614194672912468, \"MicroF1\": 0.6614194672912468, \"MacroF1\": 0.6603186829199909, \"Memory in Mb\": 4.392321586608887, \"Time in s\": 2690.5476860000003 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6669686151222891, \"MicroF1\": 0.6669686151222891, \"MacroF1\": 0.6662293616554571, \"Memory in Mb\": 4.487659454345703, \"Time in s\": 2850.3140810000004 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6579921773142112, \"MicroF1\": 0.6579921773142112, \"MacroF1\": 0.6554177118629491, \"Memory in Mb\": 4.58299732208252, \"Time in s\": 3015.4823350000006 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6622580809886126, \"MicroF1\": 0.6622580809886126, \"MacroF1\": 0.6609360990360078, \"Memory in Mb\": 4.678335189819336, \"Time in s\": 3186.2814100000005 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6562453103896754, \"MicroF1\": 0.6562453103896754, \"MacroF1\": 0.6545704957554572, \"Memory in Mb\": 4.773673057556152, \"Time in s\": 3362.6238980000007 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6525319868621011, \"MicroF1\": 0.6525319868621011, \"MacroF1\": 0.6515767870317885, \"Memory in Mb\": 4.869010925292969, \"Time in s\": 3544.6906370000006 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3555555555555555, \"MicroF1\": 0.3555555555555555, \"MacroF1\": 0.2537942449707155, \"Memory in Mb\": 0.4170856475830078, \"Time in s\": 0.290301 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4945054945054945, \"MicroF1\": 0.4945054945054945, \"MacroF1\": 0.5043329927491418, \"Memory in Mb\": 0.4170818328857422, \"Time in s\": 0.82046 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5564033878668025, \"Memory in Mb\": 0.4171772003173828, \"Time in s\": 1.675423 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6010928961748634, \"MicroF1\": 0.6010928961748634, \"MacroF1\": 0.622766496539645, \"Memory in Mb\": 0.4171772003173828, \"Time in s\": 2.801183 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6539827168809461, \"Memory in Mb\": 0.4172000885009765, \"Time in s\": 4.271522 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6509090909090909, \"MicroF1\": 0.6509090909090909, \"MacroF1\": 0.6671561759164943, \"Memory in Mb\": 0.4172496795654297, \"Time in s\": 5.954744 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.67601246105919, \"MicroF1\": 0.67601246105919, \"MacroF1\": 0.6756614325426025, \"Memory in Mb\": 0.4172496795654297, \"Time in s\": 7.864603 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7029972752043597, \"MicroF1\": 0.7029972752043597, \"MacroF1\": 0.6993447851636564, \"Memory in Mb\": 0.4172229766845703, \"Time in s\": 10.008665 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7142857142857143, \"MicroF1\": 0.7142857142857143, \"MacroF1\": 0.7108606838045498, \"Memory in Mb\": 0.4171428680419922, \"Time in s\": 12.399438 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7145969498910676, \"MicroF1\": 0.7145969498910676, \"MacroF1\": 0.7090365931960759, \"Memory in Mb\": 0.4172191619873047, \"Time in s\": 15.01004 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7126631585949761, \"Memory in Mb\": 0.4172191619873047, \"Time in s\": 17.873655 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7223230490018149, \"MicroF1\": 0.7223230490018149, \"MacroF1\": 0.7157730164623107, \"Memory in Mb\": 0.4171123504638672, \"Time in s\": 20.946971 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7286432160804021, \"MicroF1\": 0.7286432160804021, \"MacroF1\": 0.7216745323124732, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 24.255884 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7278382581648523, \"MicroF1\": 0.7278382581648523, \"MacroF1\": 0.7229105183087501, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 27.838412 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7314949201741655, \"MicroF1\": 0.7314949201741654, \"MacroF1\": 0.7263583447448078, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 31.647636 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7333333333333333, \"MicroF1\": 0.7333333333333333, \"MacroF1\": 0.729431071218305, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 35.743157 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387964148527529, \"MicroF1\": 0.7387964148527529, \"MacroF1\": 0.7349287389986899, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 40.06309 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7376058041112454, \"MicroF1\": 0.7376058041112454, \"MacroF1\": 0.7356226390109741, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 44.599844 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7445589919816724, \"MicroF1\": 0.7445589919816724, \"MacroF1\": 0.7409366047432264, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 49.398729 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7453754080522307, \"MicroF1\": 0.7453754080522307, \"MacroF1\": 0.7408438328939173, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 54.404894 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7471502590673575, \"MicroF1\": 0.7471502590673575, \"MacroF1\": 0.7416651838589269, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 59.665949 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7467853610286844, \"MicroF1\": 0.7467853610286844, \"MacroF1\": 0.7416356251822, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 65.211169 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7492904446546831, \"MicroF1\": 0.7492904446546831, \"MacroF1\": 0.7430778844390783, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 70.961377 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7515865820489573, \"MicroF1\": 0.7515865820489573, \"MacroF1\": 0.7451256886686588, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 76.969446 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7536988685813751, \"MicroF1\": 0.7536988685813751, \"MacroF1\": 0.7468312166689606, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 83.201851 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7564853556485356, \"MicroF1\": 0.7564853556485356, \"MacroF1\": 0.7503479321738041, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 89.604352 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7566478646253022, \"MicroF1\": 0.7566478646253022, \"MacroF1\": 0.7509717522131719, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 96.307026 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614607614607615, \"MicroF1\": 0.7614607614607615, \"MacroF1\": 0.7547643483779538, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 103.262462 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614403600900225, \"MicroF1\": 0.7614403600900225, \"MacroF1\": 0.7551060921605869, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 110.41488900000002 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7621464829586657, \"MicroF1\": 0.7621464829586658, \"MacroF1\": 0.7562209880685912, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 117.799886 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7642105263157895, \"MicroF1\": 0.7642105263157895, \"MacroF1\": 0.7575332274919562, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 125.46176800000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7688647178789939, \"MicroF1\": 0.768864717878994, \"MacroF1\": 0.760438686053582, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 133.360363 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7705998681608438, \"MicroF1\": 0.7705998681608438, \"MacroF1\": 0.7612069012840872, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 141.48549400000002 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709532949456174, \"MicroF1\": 0.7709532949456174, \"MacroF1\": 0.7622701654854867, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 149.83563600000002 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7712865133623369, \"MicroF1\": 0.771286513362337, \"MacroF1\": 0.7617247271717752, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 158.439217 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709969788519637, \"MicroF1\": 0.7709969788519637, \"MacroF1\": 0.7615629120572474, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 167.22864700000002 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.770135214579659, \"MicroF1\": 0.770135214579659, \"MacroF1\": 0.7627316365695143, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 176.30742800000002 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7727532913566113, \"MicroF1\": 0.7727532913566113, \"MacroF1\": 0.7649467707214076, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 185.609237 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7741215839375348, \"MicroF1\": 0.7741215839375348, \"MacroF1\": 0.7649332326562149, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 195.107308 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754214246873301, \"MicroF1\": 0.7754214246873301, \"MacroF1\": 0.7664700790631908, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 204.88888000000003 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7740053050397878, \"MicroF1\": 0.7740053050397878, \"MacroF1\": 0.7655121135276625, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 214.87796100000003 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7742102537545313, \"MicroF1\": 0.7742102537545313, \"MacroF1\": 0.7648034036287765, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 225.10774000000004 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754172989377845, \"MicroF1\": 0.7754172989377845, \"MacroF1\": 0.7656013068970459, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 235.56491900000003 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7770637666831438, \"MicroF1\": 0.7770637666831438, \"MacroF1\": 0.7660878232247856, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 246.31694000000005 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762203963267279, \"MicroF1\": 0.7762203963267279, \"MacroF1\": 0.7654829214385931, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 257.28426500000006 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7768321513002364, \"MicroF1\": 0.7768321513002364, \"MacroF1\": 0.7653071619305024, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 268.5154150000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7778806108283203, \"MicroF1\": 0.7778806108283203, \"MacroF1\": 0.7659351904174982, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 279.94414300000005 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7797915722700498, \"MicroF1\": 0.7797915722700498, \"MacroF1\": 0.7668192864082087, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 291.65328600000004 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7767421216156236, \"MicroF1\": 0.7767421216156236, \"MacroF1\": 0.7637794374955548, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 303.618395 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7759895606785558, \"MicroF1\": 0.7759895606785558, \"MacroF1\": 0.763026662835187, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 315.80512400000003 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.776093546990039, \"MicroF1\": 0.776093546990039, \"MacroF1\": 0.7631372452021826, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 328.06738900000005 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6218009478672986, \"MicroF1\": 0.6218009478672986, \"MacroF1\": 0.5852663107194211, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 7.68277 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6153481762198011, \"MicroF1\": 0.6153481762198011, \"MacroF1\": 0.5806436317780949, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 22.565114 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6071992421850332, \"MicroF1\": 0.6071992421850332, \"MacroF1\": 0.572248584718361, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 43.997682 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043097324177126, \"MicroF1\": 0.6043097324177126, \"MacroF1\": 0.5697573109597247, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 71.858443 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088274294373934, \"MicroF1\": 0.6088274294373934, \"MacroF1\": 0.5727379077413696, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 105.92484 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6026835043409629, \"MicroF1\": 0.6026835043409629, \"MacroF1\": 0.568251333238805, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 146.287253 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.600189419564335, \"MicroF1\": 0.600189419564335, \"MacroF1\": 0.5659762112716077, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 192.863981 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.60258079791642, \"MicroF1\": 0.60258079791642, \"MacroF1\": 0.5679781484640408, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 245.806734 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5998105861306956, \"MicroF1\": 0.5998105861306956, \"MacroF1\": 0.5649597336877693, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 305.14044 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5998674116867128, \"MicroF1\": 0.5998674116867128, \"MacroF1\": 0.5650173260529011, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 370.680891 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5974171330176495, \"MicroF1\": 0.5974171330176495, \"MacroF1\": 0.5633067089377387, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 442.338443 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001894088864336, \"MicroF1\": 0.6001894088864336, \"MacroF1\": 0.5684760329567131, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 520.121563 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120783856632913, \"MicroF1\": 0.6120783856632913, \"MacroF1\": 0.5935956771555828, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 604.039429 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6024487587093282, \"MicroF1\": 0.6024487587093282, \"MacroF1\": 0.5842148300149193, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 694.113241 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5677757434181451, \"MicroF1\": 0.5677757434181451, \"MacroF1\": 0.5509250187877572, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 790.19156 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5419354838709678, \"MicroF1\": 0.5419354838709678, \"MacroF1\": 0.5257359157219258, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 892.361186 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5233691716338923, \"MicroF1\": 0.5233691716338923, \"MacroF1\": 0.5068581838352059, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 1000.471748 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5121271110643447, \"MicroF1\": 0.5121271110643447, \"MacroF1\": 0.4929289906509415, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 1114.494528 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5120370831879579, \"MicroF1\": 0.5120370831879579, \"MacroF1\": 0.4920970323041603, \"Memory in Mb\": 1.3099584579467771, \"Time in s\": 1234.20565 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5173066906577016, \"MicroF1\": 0.5173066906577016, \"MacroF1\": 0.4973447169836249, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1358.925583 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5229312288613304, \"MicroF1\": 0.5229312288613304, \"MacroF1\": 0.5026343687424488, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1488.370808 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5301536739701261, \"MicroF1\": 0.5301536739701261, \"MacroF1\": 0.5095132087733324, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1622.41448 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5351422571746202, \"MicroF1\": 0.5351422571746202, \"MacroF1\": 0.5135975374357353, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1760.8970379999998 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5403069881229531, \"MicroF1\": 0.5403069881229531, \"MacroF1\": 0.5180803411538233, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1903.591145 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5441493995984696, \"MicroF1\": 0.5441493995984696, \"MacroF1\": 0.5209012984387186, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2050.469487 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5475869604807867, \"MicroF1\": 0.5475869604807867, \"MacroF1\": 0.5230407124785976, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2201.55681 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5442460804601733, \"MicroF1\": 0.5442460804601733, \"MacroF1\": 0.5199893698637053, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2356.711105 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5439848479724017, \"MicroF1\": 0.5439848479724017, \"MacroF1\": 0.5225387960194383, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2516.62263 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5449825294713124, \"MicroF1\": 0.5449825294713124, \"MacroF1\": 0.5260472440529832, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2681.546079 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5469238296663405, \"MicroF1\": 0.5469238296663405, \"MacroF1\": 0.5300194392617626, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2851.622305 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5492286543455017, \"MicroF1\": 0.5492286543455017, \"MacroF1\": 0.5337692045397758, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3026.797274 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5448196265277737, \"MicroF1\": 0.5448196265277737, \"MacroF1\": 0.5298516474077153, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3207.119826 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.539357763939507, \"MicroF1\": 0.539357763939507, \"MacroF1\": 0.5246413689313029, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3392.401024 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5352756037099964, \"MicroF1\": 0.5352756037099964, \"MacroF1\": 0.5204658240271913, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3582.6817720000004 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5307232338537298, \"MicroF1\": 0.5307232338537298, \"MacroF1\": 0.5158458403074864, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3778.309285 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5287912666052874, \"MicroF1\": 0.5287912666052874, \"MacroF1\": 0.5138605376143625, \"Memory in Mb\": 1.8479537963867188, \"Time in s\": 3978.822433 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5245322617798367, \"MicroF1\": 0.5245322617798367, \"MacroF1\": 0.5100329616180462, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4184.1075280000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5244847608841927, \"MicroF1\": 0.5244847608841927, \"MacroF1\": 0.5114466799524962, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4393.646320000001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5269650098341548, \"MicroF1\": 0.5269650098341548, \"MacroF1\": 0.5145630920489553, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4606.675677000001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5290608205686688, \"MicroF1\": 0.5290608205686688, \"MacroF1\": 0.5171452370879218, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4823.052294000001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5316318281556762, \"MicroF1\": 0.5316318281556762, \"MacroF1\": 0.5200714653059241, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 5042.794587000001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5332912448422809, \"MicroF1\": 0.5332912448422809, \"MacroF1\": 0.521951703681177, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5266.308108000001 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5350937080185875, \"MicroF1\": 0.5350937080185875, \"MacroF1\": 0.5236272112757866, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5493.659660000001 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5374168693368917, \"MicroF1\": 0.5374168693368917, \"MacroF1\": 0.5257977177437826, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5724.562244000002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5359540394368568, \"MicroF1\": 0.5359540394368568, \"MacroF1\": 0.5247049329892776, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5959.275286000002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5333196088522902, \"MicroF1\": 0.5333196088522902, \"MacroF1\": 0.5224640186909637, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 6197.987866000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5314017448771937, \"MicroF1\": 0.5314017448771937, \"MacroF1\": 0.5209076603734537, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 6440.583835000002 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5322271982954209, \"MicroF1\": 0.5322271982954209, \"MacroF1\": 0.5219695808096345, \"Memory in Mb\": 2.081958770751953, \"Time in s\": 6687.224874000002 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5377345727924551, \"MicroF1\": 0.5377345727924551, \"MacroF1\": 0.5274876060436412, \"Memory in Mb\": 2.3156700134277344, \"Time in s\": 6937.746409000002 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5370366863008769, \"MicroF1\": 0.5370366863008769, \"MacroF1\": 0.5270872650003847, \"Memory in Mb\": 2.519227981567383, \"Time in s\": 7191.466386000002 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5373058073305959, \"MicroF1\": 0.5373058073305959, \"MacroF1\": 0.5273644947479657, \"Memory in Mb\": 2.519227981567383, \"Time in s\": 7445.3631460000015 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.2240447998046875, \"Time in s\": 0.863228 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9423312883435584, \"MicroF1\": 0.9423312883435584, \"MacroF1\": 0.7661667470992702, \"Memory in Mb\": 0.3196687698364258, \"Time in s\": 3.107641 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8830744071954211, \"MicroF1\": 0.883074407195421, \"MacroF1\": 0.8761191747044462, \"Memory in Mb\": 0.415292739868164, \"Time in s\": 7.048775 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8902513795217658, \"MicroF1\": 0.8902513795217658, \"MacroF1\": 0.8767853151263398, \"Memory in Mb\": 0.5114049911499023, \"Time in s\": 13.087732 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8891613536047082, \"MicroF1\": 0.8891613536047082, \"MacroF1\": 0.8807858055314012, \"Memory in Mb\": 0.6185035705566406, \"Time in s\": 21.551525 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.848385778504291, \"MicroF1\": 0.848385778504291, \"MacroF1\": 0.8522513926518692, \"Memory in Mb\": 0.7141275405883789, \"Time in s\": 32.816222999999994 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8563922942206655, \"MicroF1\": 0.8563922942206655, \"MacroF1\": 0.8440193478447516, \"Memory in Mb\": 0.8097515106201172, \"Time in s\": 47.080319 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8482991112473184, \"MicroF1\": 0.8482991112473184, \"MacroF1\": 0.8269786301577753, \"Memory in Mb\": 0.9053754806518556, \"Time in s\": 64.636989 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8392808499046581, \"MicroF1\": 0.8392808499046581, \"MacroF1\": 0.8374924160046072, \"Memory in Mb\": 1.0009994506835938, \"Time in s\": 85.706576 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8323118411375338, \"MicroF1\": 0.8323118411375338, \"MacroF1\": 0.8182261307945194, \"Memory in Mb\": 1.1217241287231443, \"Time in s\": 110.709782 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8159126365054602, \"MicroF1\": 0.8159126365054602, \"MacroF1\": 0.8260965842218733, \"Memory in Mb\": 1.2173480987548828, \"Time in s\": 139.812165 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8149131767109296, \"MicroF1\": 0.8149131767109296, \"MacroF1\": 0.8221314665977922, \"Memory in Mb\": 1.312972068786621, \"Time in s\": 173.369773 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8125589289081652, \"MicroF1\": 0.8125589289081652, \"MacroF1\": 0.797613058026624, \"Memory in Mb\": 1.4085960388183594, \"Time in s\": 211.780209 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7907546839432674, \"MicroF1\": 0.7907546839432674, \"MacroF1\": 0.7936708037520236, \"Memory in Mb\": 1.5042200088500977, \"Time in s\": 255.273991 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7886909625755842, \"MicroF1\": 0.7886909625755842, \"MacroF1\": 0.7694478218498494, \"Memory in Mb\": 1.599843978881836, \"Time in s\": 304.294734 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7635973647924008, \"MicroF1\": 0.7635973647924008, \"MacroF1\": 0.75687960152136, \"Memory in Mb\": 1.6954679489135742, \"Time in s\": 359.144129 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.75155010814708, \"MicroF1\": 0.7515501081470799, \"MacroF1\": 0.7521509466338959, \"Memory in Mb\": 1.7910919189453125, \"Time in s\": 420.221142 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7611330518861501, \"MicroF1\": 0.7611330518861501, \"MacroF1\": 0.7576671162861806, \"Memory in Mb\": 1.8881807327270508, \"Time in s\": 487.76956500000006 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7617081666881693, \"MicroF1\": 0.7617081666881692, \"MacroF1\": 0.7593340838982119, \"Memory in Mb\": 1.983804702758789, \"Time in s\": 562.1432000000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7655349920333374, \"MicroF1\": 0.7655349920333374, \"MacroF1\": 0.7610505848438686, \"Memory in Mb\": 2.079428672790528, \"Time in s\": 643.5514560000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7644449632310026, \"MicroF1\": 0.7644449632310025, \"MacroF1\": 0.7639417799779614, \"Memory in Mb\": 2.223102569580078, \"Time in s\": 732.3349550000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7624512534818941, \"MicroF1\": 0.7624512534818941, \"MacroF1\": 0.7625605608371232, \"Memory in Mb\": 2.3187265396118164, \"Time in s\": 828.9274100000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7605243525524885, \"MicroF1\": 0.7605243525524885, \"MacroF1\": 0.7588384348689571, \"Memory in Mb\": 2.4143505096435547, \"Time in s\": 933.484588 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.753344908589521, \"MicroF1\": 0.753344908589521, \"MacroF1\": 0.7499438215834663, \"Memory in Mb\": 2.509974479675293, \"Time in s\": 1046.19484 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7450730463770958, \"MicroF1\": 0.7450730463770959, \"MacroF1\": 0.7369660419615974, \"Memory in Mb\": 2.6055984497070312, \"Time in s\": 1167.344916 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7240501555576506, \"MicroF1\": 0.7240501555576506, \"MacroF1\": 0.7111305646829175, \"Memory in Mb\": 2.701222419738769, \"Time in s\": 1296.919782 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7166591012256015, \"MicroF1\": 0.7166591012256015, \"MacroF1\": 0.7122511515574346, \"Memory in Mb\": 2.796846389770508, \"Time in s\": 1434.776076 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.710146196270682, \"MicroF1\": 0.710146196270682, \"MacroF1\": 0.6963016796632095, \"Memory in Mb\": 2.892470359802246, \"Time in s\": 1580.7280859999998 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7005324993660722, \"MicroF1\": 0.7005324993660722, \"MacroF1\": 0.6925666211338901, \"Memory in Mb\": 2.9880943298339844, \"Time in s\": 1735.0271709999995 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7043876133671052, \"MicroF1\": 0.7043876133671052, \"MacroF1\": 0.7007845610449206, \"Memory in Mb\": 3.0837182998657227, \"Time in s\": 1897.652612 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7004032576895707, \"MicroF1\": 0.7004032576895707, \"MacroF1\": 0.6915775762792657, \"Memory in Mb\": 3.179342269897461, \"Time in s\": 2069.0860809999995 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6877058598238223, \"MicroF1\": 0.6877058598238223, \"MacroF1\": 0.6789768292873962, \"Memory in Mb\": 3.274966239929199, \"Time in s\": 2249.389177 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6838743222164451, \"MicroF1\": 0.6838743222164451, \"MacroF1\": 0.6791243465680947, \"Memory in Mb\": 3.370590209960937, \"Time in s\": 2438.693149 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6822146925239708, \"MicroF1\": 0.6822146925239708, \"MacroF1\": 0.6786558938530485, \"Memory in Mb\": 3.466214179992676, \"Time in s\": 2637.684102 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6777085230058127, \"MicroF1\": 0.6777085230058127, \"MacroF1\": 0.6725285130045525, \"Memory in Mb\": 3.561838150024414, \"Time in s\": 2845.828808 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6807380676788997, \"MicroF1\": 0.6807380676788997, \"MacroF1\": 0.6786761142186741, \"Memory in Mb\": 3.657462120056152, \"Time in s\": 3062.994215 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6873799271281882, \"MicroF1\": 0.6873799271281882, \"MacroF1\": 0.6854839306484398, \"Memory in Mb\": 3.75308609008789, \"Time in s\": 3290.055422 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6858027478552539, \"MicroF1\": 0.6858027478552539, \"MacroF1\": 0.6816808496509055, \"Memory in Mb\": 3.848710060119629, \"Time in s\": 3526.69202 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6765759537426937, \"MicroF1\": 0.6765759537426937, \"MacroF1\": 0.6694713281964946, \"Memory in Mb\": 3.944334030151367, \"Time in s\": 3772.997519 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6673815797536614, \"MicroF1\": 0.6673815797536614, \"MacroF1\": 0.6617321933140904, \"Memory in Mb\": 4.0399580001831055, \"Time in s\": 4029.133223 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6643151790518323, \"MicroF1\": 0.6643151790518323, \"MacroF1\": 0.661178029358405, \"Memory in Mb\": 4.135581970214844, \"Time in s\": 4295.086238 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6598774438284214, \"MicroF1\": 0.6598774438284214, \"MacroF1\": 0.655734247886306, \"Memory in Mb\": 4.32945728302002, \"Time in s\": 4570.827071 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6518269395200365, \"MicroF1\": 0.6518269395200365, \"MacroF1\": 0.6481085155228206, \"Memory in Mb\": 4.425081253051758, \"Time in s\": 4856.254143 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6507158375577963, \"MicroF1\": 0.6507158375577963, \"MacroF1\": 0.6489368995854258, \"Memory in Mb\": 4.520705223083496, \"Time in s\": 5151.869359 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6566806470940683, \"MicroF1\": 0.6566806470940683, \"MacroF1\": 0.6555764711123695, \"Memory in Mb\": 4.616329193115234, \"Time in s\": 5457.498716 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.662279533223211, \"MicroF1\": 0.662279533223211, \"MacroF1\": 0.6615432060687808, \"Memory in Mb\": 4.711953163146973, \"Time in s\": 5772.982264 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6534028683181226, \"MicroF1\": 0.6534028683181226, \"MacroF1\": 0.6508089832432514, \"Memory in Mb\": 4.807577133178711, \"Time in s\": 6098.679956 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6577643874789358, \"MicroF1\": 0.6577643874789358, \"MacroF1\": 0.6564201177589184, \"Memory in Mb\": 4.903201103210449, \"Time in s\": 6434.678037 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6518433294982742, \"MicroF1\": 0.6518433294982742, \"MacroF1\": 0.6501496360982542, \"Memory in Mb\": 4.998825073242188, \"Time in s\": 6781.324361 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6482180499044071, \"MicroF1\": 0.6482180499044071, \"MacroF1\": 0.6472493759146578, \"Memory in Mb\": 5.094449043273926, \"Time in s\": 7138.730487 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3777777777777777, \"MicroF1\": 0.3777777777777777, \"MacroF1\": 0.2811210847975554, \"Memory in Mb\": 0.4234571456909179, \"Time in s\": 0.325579 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5164835164835165, \"MicroF1\": 0.5164835164835165, \"MacroF1\": 0.5335477748411618, \"Memory in Mb\": 0.4235143661499023, \"Time in s\": 1.056326 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5474452554744526, \"MicroF1\": 0.5474452554744526, \"MacroF1\": 0.5743273066802479, \"Memory in Mb\": 0.4236364364624023, \"Time in s\": 2.202996 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6120218579234973, \"MicroF1\": 0.6120218579234973, \"MacroF1\": 0.6355989308336889, \"Memory in Mb\": 0.4237203598022461, \"Time in s\": 3.699294 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6557923943920432, \"Memory in Mb\": 0.4237203598022461, \"Time in s\": 5.564336 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6509090909090909, \"MicroF1\": 0.6509090909090909, \"MacroF1\": 0.66910740948952, \"Memory in Mb\": 0.4237699508666992, \"Time in s\": 7.749814 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.67601246105919, \"MicroF1\": 0.67601246105919, \"MacroF1\": 0.678427291711157, \"Memory in Mb\": 0.4238309860229492, \"Time in s\": 10.278631 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7002724795640327, \"MicroF1\": 0.7002724795640327, \"MacroF1\": 0.6988359939675117, \"Memory in Mb\": 0.4238042831420898, \"Time in s\": 13.125556 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.7104564330601258, \"Memory in Mb\": 0.4237241744995117, \"Time in s\": 16.369918000000002 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7124183006535948, \"MicroF1\": 0.7124183006535948, \"MacroF1\": 0.7087721216219991, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 19.921878000000003 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7145025942185106, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 23.844357 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7223230490018149, \"MicroF1\": 0.7223230490018149, \"MacroF1\": 0.7174926871575792, \"Memory in Mb\": 0.4236936569213867, \"Time in s\": 28.111685 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7269681742043551, \"MicroF1\": 0.7269681742043551, \"MacroF1\": 0.7216367248754637, \"Memory in Mb\": 0.4237165451049804, \"Time in s\": 32.752989 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7262830482115086, \"MicroF1\": 0.7262830482115085, \"MacroF1\": 0.7230014848259525, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 37.712808 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7300435413642961, \"MicroF1\": 0.7300435413642961, \"MacroF1\": 0.7265684058467008, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 43.006145 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319727891156462, \"MicroF1\": 0.7319727891156461, \"MacroF1\": 0.7296570819427115, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 48.68780100000001 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737516005121639, \"MicroF1\": 0.737516005121639, \"MacroF1\": 0.7350906419548328, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 54.69172 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7363966142684402, \"MicroF1\": 0.7363966142684402, \"MacroF1\": 0.7359651798179677, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 60.98272 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422680412371134, \"MicroF1\": 0.7422680412371134, \"MacroF1\": 0.7398886847335938, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 67.641769 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7421109902067464, \"MicroF1\": 0.7421109902067464, \"MacroF1\": 0.738912026501458, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 74.649906 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7419689119170985, \"MicroF1\": 0.7419689119170985, \"MacroF1\": 0.7379593683174607, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 81.98079 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7418397626112759, \"MicroF1\": 0.741839762611276, \"MacroF1\": 0.7380802548116379, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 89.699811 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436140018921475, \"MicroF1\": 0.7436140018921475, \"MacroF1\": 0.7390703652035102, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 97.738161 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7461468721668177, \"MicroF1\": 0.7461468721668177, \"MacroF1\": 0.7413714574148674, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 106.141078 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7476066144473456, \"MicroF1\": 0.7476066144473456, \"MacroF1\": 0.742441565911322, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 114.875735 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7506276150627615, \"MicroF1\": 0.7506276150627615, \"MacroF1\": 0.7460917536510117, \"Memory in Mb\": 0.4234342575073242, \"Time in s\": 123.973121 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7510072522159549, \"MicroF1\": 0.7510072522159549, \"MacroF1\": 0.7470578866974922, \"Memory in Mb\": 0.4235563278198242, \"Time in s\": 133.391788 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.756021756021756, \"MicroF1\": 0.7560217560217559, \"MacroF1\": 0.7510482446555896, \"Memory in Mb\": 0.4236173629760742, \"Time in s\": 143.113173 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7569392348087022, \"MicroF1\": 0.7569392348087022, \"MacroF1\": 0.7522366633133313, \"Memory in Mb\": 0.4236173629760742, \"Time in s\": 153.228885 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7585206671501088, \"MicroF1\": 0.7585206671501088, \"MacroF1\": 0.7544196711061472, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 163.64661999999998 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614035087719299, \"MicroF1\": 0.7614035087719299, \"MacroF1\": 0.7567964121564391, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 174.36664399999998 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7654656696125085, \"MicroF1\": 0.7654656696125085, \"MacroF1\": 0.7591802078998249, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 185.463757 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7673038892551087, \"MicroF1\": 0.7673038892551087, \"MacroF1\": 0.7600352016074767, \"Memory in Mb\": 0.4237394332885742, \"Time in s\": 196.90308 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7677543186180422, \"MicroF1\": 0.7677543186180422, \"MacroF1\": 0.7612494392404334, \"Memory in Mb\": 0.4237394332885742, \"Time in s\": 208.647576 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7675574891236793, \"MicroF1\": 0.7675574891236793, \"MacroF1\": 0.7602773300593106, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 220.786107 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.76797583081571, \"MicroF1\": 0.76797583081571, \"MacroF1\": 0.7607906010792568, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 233.2194 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7677836566725456, \"MicroF1\": 0.7677836566725456, \"MacroF1\": 0.7627036277641847, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 245.952092 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7710360618202633, \"MicroF1\": 0.7710360618202633, \"MacroF1\": 0.7657334796773966, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 259.02703 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724484104852203, \"MicroF1\": 0.7724484104852203, \"MacroF1\": 0.7657758298578787, \"Memory in Mb\": 0.4237356185913086, \"Time in s\": 272.394107 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737901033170201, \"MicroF1\": 0.77379010331702, \"MacroF1\": 0.767302943564198, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 286.067762 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724137931034483, \"MicroF1\": 0.7724137931034483, \"MacroF1\": 0.7666353585191567, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 300.095471 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7731745209735889, \"MicroF1\": 0.7731745209735889, \"MacroF1\": 0.7666634536176192, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 314.417396 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7738998482549317, \"MicroF1\": 0.7738998482549316, \"MacroF1\": 0.7665909326930368, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 329.067854 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750865051903114, \"MicroF1\": 0.7750865051903113, \"MacroF1\": 0.7662611838286661, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 344.01511700000003 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7747704204929918, \"MicroF1\": 0.7747704204929918, \"MacroF1\": 0.7660645062500586, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 359.290159 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754137115839244, \"MicroF1\": 0.7754137115839244, \"MacroF1\": 0.7658988206988366, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 374.882405 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7760296159185562, \"MicroF1\": 0.7760296159185563, \"MacroF1\": 0.7660708746783081, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 390.75768 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.777979157227005, \"MicroF1\": 0.7779791572270048, \"MacroF1\": 0.7670029065892423, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 407.002801 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7749667110519307, \"MicroF1\": 0.7749667110519308, \"MacroF1\": 0.7639707440456852, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 423.546299 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7742496737712049, \"MicroF1\": 0.7742496737712049, \"MacroF1\": 0.7632394528829524, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 440.393364 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7743611953226505, \"MicroF1\": 0.7743611953226506, \"MacroF1\": 0.7633622232911937, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 457.310729 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6161137440758294, \"MicroF1\": 0.6161137440758294, \"MacroF1\": 0.581384151333148, \"Memory in Mb\": 0.6645784378051758, \"Time in s\": 11.249192 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120322122216959, \"MicroF1\": 0.6120322122216959, \"MacroF1\": 0.5792161554760864, \"Memory in Mb\": 0.6646394729614258, \"Time in s\": 32.358705 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6049889485317335, \"MicroF1\": 0.6049889485317335, \"MacroF1\": 0.5721633809277145, \"Memory in Mb\": 0.6647005081176758, \"Time in s\": 62.851539 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.603125739995264, \"MicroF1\": 0.603125739995264, \"MacroF1\": 0.5703574432462961, \"Memory in Mb\": 0.6647005081176758, \"Time in s\": 102.700179 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6061754120098504, \"MicroF1\": 0.6061754120098504, \"MacroF1\": 0.5722430970062696, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 151.914202 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5995264404104184, \"MicroF1\": 0.5995264404104184, \"MacroF1\": 0.5671511237518188, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 210.432187 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5972128264104992, \"MicroF1\": 0.5972128264104992, \"MacroF1\": 0.5650210504998666, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 278.267755 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5989108559251806, \"MicroF1\": 0.5989108559251806, \"MacroF1\": 0.566418690076869, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 355.204938 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5962327685993897, \"MicroF1\": 0.5962327685993897, \"MacroF1\": 0.5633780031885509, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 441.186739 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5964579979164694, \"MicroF1\": 0.5964579979164694, \"MacroF1\": 0.5634236596216465, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 536.283653 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.594317692638829, \"MicroF1\": 0.594317692638829, \"MacroF1\": 0.5620068495149612, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 640.2689049999999 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5975061163286244, \"MicroF1\": 0.5975061163286244, \"MacroF1\": 0.567518061449456, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 753.0441599999999 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6097472135207984, \"MicroF1\": 0.6097472135207984, \"MacroF1\": 0.5927729676671933, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 874.528885 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001488195900697, \"MicroF1\": 0.6001488195900697, \"MacroF1\": 0.5832911478837771, \"Memory in Mb\": 0.6645174026489258, \"Time in s\": 1004.55011 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5673969316244712, \"MicroF1\": 0.5673969316244712, \"MacroF1\": 0.5522471754341495, \"Memory in Mb\": 0.8876123428344727, \"Time in s\": 1142.6522839999998 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5712340929269014, \"MicroF1\": 0.5712340929269014, \"MacroF1\": 0.5590383236849579, \"Memory in Mb\": 1.4319400787353516, \"Time in s\": 1288.8770269999998 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5741184335134533, \"MicroF1\": 0.5741184335134533, \"MacroF1\": 0.5632919959429028, \"Memory in Mb\": 1.8629226684570312, \"Time in s\": 1445.4718369999998 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5867312042931552, \"MicroF1\": 0.5867312042931552, \"MacroF1\": 0.5723846445183198, \"Memory in Mb\": 0.4819307327270508, \"Time in s\": 1609.073978 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5966704879629168, \"MicroF1\": 0.5966704879629168, \"MacroF1\": 0.5796820575913003, \"Memory in Mb\": 0.6649179458618164, \"Time in s\": 1780.2710459999998 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5984658364505895, \"MicroF1\": 0.5984658364505895, \"MacroF1\": 0.5810209140208816, \"Memory in Mb\": 0.6650400161743164, \"Time in s\": 1958.819581 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001803833145434, \"MicroF1\": 0.6001803833145434, \"MacroF1\": 0.5822125955100945, \"Memory in Mb\": 1.2073478698730469, \"Time in s\": 2144.726031 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6020403770823468, \"MicroF1\": 0.6020403770823468, \"MacroF1\": 0.5837921358595156, \"Memory in Mb\": 1.321575164794922, \"Time in s\": 2339.531046 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6047268085807221, \"MicroF1\": 0.6047268085807221, \"MacroF1\": 0.5859785990228289, \"Memory in Mb\": 1.321636199951172, \"Time in s\": 2543.839083 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069131515605887, \"MicroF1\": 0.6069131515605887, \"MacroF1\": 0.587737290445056, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 2757.206681 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6094927838175689, \"MicroF1\": 0.6094927838175689, \"MacroF1\": 0.5895162861993263, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 2979.334505 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6105991622655254, \"MicroF1\": 0.6105991622655254, \"MacroF1\": 0.5896134687358237, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3211.082358 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6106064326049595, \"MicroF1\": 0.6106064326049595, \"MacroF1\": 0.5910741826972655, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3451.544855 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6099029323231981, \"MicroF1\": 0.6099029323231981, \"MacroF1\": 0.5935355609859342, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3700.712954 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088887437546942, \"MicroF1\": 0.6088887437546942, \"MacroF1\": 0.5952474102625339, \"Memory in Mb\": 1.321453094482422, \"Time in s\": 3958.532225 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088891694813598, \"MicroF1\": 0.6088891694813598, \"MacroF1\": 0.5975058139751561, \"Memory in Mb\": 1.321697235107422, \"Time in s\": 4224.837575 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6095921796242554, \"MicroF1\": 0.6095921796242554, \"MacroF1\": 0.5998546240309938, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 4499.473663 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043917019324673, \"MicroF1\": 0.6043917019324673, \"MacroF1\": 0.595080118632132, \"Memory in Mb\": 0.6649713516235352, \"Time in s\": 4783.331389999999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034378856142566, \"MicroF1\": 0.6034378856142566, \"MacroF1\": 0.5941773754098104, \"Memory in Mb\": 0.6650934219360352, \"Time in s\": 5073.360361999999 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6029022644347269, \"MicroF1\": 0.6029022644347269, \"MacroF1\": 0.5935512429191343, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5369.406481999999 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6013690846613815, \"MicroF1\": 0.6013690846613815, \"MacroF1\": 0.5919623858291095, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5671.388488999999 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6010259108246745, \"MicroF1\": 0.6010259108246745, \"MacroF1\": 0.5912597483191937, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5979.127636999999 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6003429653707353, \"MicroF1\": 0.6003429653707353, \"MacroF1\": 0.5902279082897147, \"Memory in Mb\": 0.6648492813110352, \"Time in s\": 6292.481400999999 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5961322800109652, \"MicroF1\": 0.5961322800109652, \"MacroF1\": 0.5867765456240649, \"Memory in Mb\": 0.6648492813110352, \"Time in s\": 6611.499413 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5939829541315591, \"MicroF1\": 0.5939829541315591, \"MacroF1\": 0.585290407267574, \"Memory in Mb\": 0.6650323867797852, \"Time in s\": 6936.132393 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5925803167688629, \"MicroF1\": 0.5925803167688629, \"MacroF1\": 0.5844470095695741, \"Memory in Mb\": 0.6650934219360352, \"Time in s\": 7266.407125 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5911306155445202, \"MicroF1\": 0.5911306155445202, \"MacroF1\": 0.5835517912214992, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 7602.391688 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.58959211742689, \"MicroF1\": 0.58959211742689, \"MacroF1\": 0.58246410272577, \"Memory in Mb\": 1.1046571731567385, \"Time in s\": 7943.862096 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5875746030347744, \"MicroF1\": 0.5875746030347744, \"MacroF1\": 0.5808874407233396, \"Memory in Mb\": 1.3207244873046875, \"Time in s\": 8291.951918 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5862083808621914, \"MicroF1\": 0.5862083808621914, \"MacroF1\": 0.5791892600330408, \"Memory in Mb\": 1.3209075927734375, \"Time in s\": 8644.890712 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5879332477535302, \"MicroF1\": 0.5879332477535302, \"MacroF1\": 0.5810233099134106, \"Memory in Mb\": 1.3210525512695312, \"Time in s\": 9004.012781000001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5928152341739578, \"MicroF1\": 0.5928152341739578, \"MacroF1\": 0.5858160887305829, \"Memory in Mb\": 1.3216018676757812, \"Time in s\": 9370.107000000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5979327436481231, \"MicroF1\": 0.5979327436481231, \"MacroF1\": 0.5906079347867982, \"Memory in Mb\": 1.3215408325195312, \"Time in s\": 9743.028377000002 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6027383747311934, \"MicroF1\": 0.6027383747311934, \"MacroF1\": 0.594893758427483, \"Memory in Mb\": 1.3217239379882812, \"Time in s\": 10122.858893000002 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6077923583866417, \"MicroF1\": 0.6077923583866417, \"MacroF1\": 0.5993180348311721, \"Memory in Mb\": 1.3217239379882812, \"Time in s\": 10509.572003000005 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.612985094414667, \"MicroF1\": 0.612985094414667, \"MacroF1\": 0.6039181082054342, \"Memory in Mb\": 0.1438255310058593, \"Time in s\": 10901.200853000002 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6133366132420005, \"MicroF1\": 0.6133366132420005, \"MacroF1\": 0.604218855594392, \"Memory in Mb\": 0.1438255310058593, \"Time in s\": 11292.868844000002 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.230626106262207, \"Time in s\": 0.871514 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 0.3262500762939453, \"Time in s\": 3.583779 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8863450531479967, \"MicroF1\": 0.8863450531479967, \"MacroF1\": 0.8786592421362933, \"Memory in Mb\": 0.4218740463256836, \"Time in s\": 8.686347999999999 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.891477621091355, \"MicroF1\": 0.891477621091355, \"MacroF1\": 0.8818548670971931, \"Memory in Mb\": 0.5179252624511719, \"Time in s\": 16.685395 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.889651790093183, \"MicroF1\": 0.889651790093183, \"MacroF1\": 0.8812768038030504, \"Memory in Mb\": 0.6251459121704102, \"Time in s\": 28.245741 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8414384961176952, \"MicroF1\": 0.8414384961176952, \"MacroF1\": 0.8420581397672002, \"Memory in Mb\": 0.7206478118896484, \"Time in s\": 43.571154 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8500875656742557, \"MicroF1\": 0.8500875656742557, \"MacroF1\": 0.8345582037188519, \"Memory in Mb\": 0.8163328170776367, \"Time in s\": 63.099422 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8406374501992032, \"MicroF1\": 0.8406374501992032, \"MacroF1\": 0.8151418555553325, \"Memory in Mb\": 0.911895751953125, \"Time in s\": 87.33095300000001 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8321983110868973, \"MicroF1\": 0.8321983110868973, \"MacroF1\": 0.8307198315203921, \"Memory in Mb\": 1.0075807571411133, \"Time in s\": 116.498805 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.826182887962736, \"MicroF1\": 0.826182887962736, \"MacroF1\": 0.8123767856033619, \"Memory in Mb\": 1.128366470336914, \"Time in s\": 151.118073 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.809226654780477, \"MicroF1\": 0.809226654780477, \"MacroF1\": 0.8196273526663149, \"Memory in Mb\": 1.2239294052124023, \"Time in s\": 191.820305 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8081716036772216, \"MicroF1\": 0.8081716036772216, \"MacroF1\": 0.815232111826365, \"Memory in Mb\": 1.3194313049316406, \"Time in s\": 239.061616 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8057703186875353, \"MicroF1\": 0.8057703186875353, \"MacroF1\": 0.7903391475861199, \"Memory in Mb\": 1.415055274963379, \"Time in s\": 293.29488000000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7860269655051655, \"MicroF1\": 0.7860269655051656, \"MacroF1\": 0.7895763142947654, \"Memory in Mb\": 1.5108013153076172, \"Time in s\": 355.22640600000005 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.784441902271613, \"MicroF1\": 0.784441902271613, \"MacroF1\": 0.7657785418705475, \"Memory in Mb\": 1.6062421798706057, \"Time in s\": 425.240619 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7585414432357898, \"MicroF1\": 0.7585414432357898, \"MacroF1\": 0.751418836389106, \"Memory in Mb\": 1.7020492553710938, \"Time in s\": 503.467226 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7473684210526316, \"MicroF1\": 0.7473684210526316, \"MacroF1\": 0.7484284412750404, \"Memory in Mb\": 1.797490119934082, \"Time in s\": 590.6999010000001 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7565027917744791, \"MicroF1\": 0.7565027917744791, \"MacroF1\": 0.7526701844923946, \"Memory in Mb\": 1.8947620391845703, \"Time in s\": 687.248946 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7577086827506129, \"MicroF1\": 0.7577086827506129, \"MacroF1\": 0.755735065870518, \"Memory in Mb\": 1.9903860092163088, \"Time in s\": 793.498598 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7617355068023042, \"MicroF1\": 0.7617355068023042, \"MacroF1\": 0.7576049653668414, \"Memory in Mb\": 2.085948944091797, \"Time in s\": 909.902095 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7604762460604646, \"MicroF1\": 0.7604762460604646, \"MacroF1\": 0.7596175662696861, \"Memory in Mb\": 2.2296838760375977, \"Time in s\": 1036.556796 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.756991643454039, \"MicroF1\": 0.7569916434540391, \"MacroF1\": 0.7575313939177277, \"Memory in Mb\": 2.325368881225586, \"Time in s\": 1173.436632 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7558350207822658, \"MicroF1\": 0.7558350207822658, \"MacroF1\": 0.7548436696787698, \"Memory in Mb\": 2.420870780944824, \"Time in s\": 1320.145727 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.748340312531917, \"MicroF1\": 0.7483403125319169, \"MacroF1\": 0.744390859626019, \"Memory in Mb\": 2.5164337158203125, \"Time in s\": 1476.992513 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7393862143347387, \"MicroF1\": 0.7393862143347387, \"MacroF1\": 0.7315892779928432, \"Memory in Mb\": 2.612057685852051, \"Time in s\": 1644.1937280000002 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7196191194494201, \"MicroF1\": 0.7196191194494201, \"MacroF1\": 0.7089541376321258, \"Memory in Mb\": 2.707803726196289, \"Time in s\": 1822.193822 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7123921924648207, \"MicroF1\": 0.7123921924648208, \"MacroF1\": 0.7092068316988943, \"Memory in Mb\": 2.8033666610717773, \"Time in s\": 2011.0989090000005 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7062943184802591, \"MicroF1\": 0.7062943184802591, \"MacroF1\": 0.6946713230955313, \"Memory in Mb\": 2.898990631103516, \"Time in s\": 2211.8042590000005 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6967289324655566, \"MicroF1\": 0.6967289324655566, \"MacroF1\": 0.690232830798306, \"Memory in Mb\": 2.994553565979004, \"Time in s\": 2423.5715250000003 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7007108423890841, \"MicroF1\": 0.7007108423890841, \"MacroF1\": 0.6983689907908355, \"Memory in Mb\": 3.090177536010742, \"Time in s\": 2646.6754960000003 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6969241717403337, \"MicroF1\": 0.6969241717403337, \"MacroF1\": 0.6892508246262707, \"Memory in Mb\": 3.1858625411987305, \"Time in s\": 2881.7592360000003 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6836461126005362, \"MicroF1\": 0.6836461126005362, \"MacroF1\": 0.6755391962059192, \"Memory in Mb\": 3.2815475463867188, \"Time in s\": 3128.5577150000004 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6793433855752804, \"MicroF1\": 0.6793433855752804, \"MacroF1\": 0.6754035266161623, \"Memory in Mb\": 3.377110481262207, \"Time in s\": 3387.355816 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6769519140653161, \"MicroF1\": 0.6769519140653161, \"MacroF1\": 0.6742482232309566, \"Memory in Mb\": 3.4728565216064453, \"Time in s\": 3658.0697 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6728762518383641, \"MicroF1\": 0.6728762518383641, \"MacroF1\": 0.6689356443053495, \"Memory in Mb\": 3.5684194564819336, \"Time in s\": 3940.688111 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6762442976782188, \"MicroF1\": 0.6762442976782188, \"MacroF1\": 0.6753292472514647, \"Memory in Mb\": 3.663982391357422, \"Time in s\": 4235.610853 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6830076184166942, \"MicroF1\": 0.6830076184166942, \"MacroF1\": 0.6822311287838643, \"Memory in Mb\": 3.75966739654541, \"Time in s\": 4542.8267670000005 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6818035218989873, \"MicroF1\": 0.6818035218989873, \"MacroF1\": 0.6788656596145114, \"Memory in Mb\": 3.8552303314208975, \"Time in s\": 4862.152597 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6816039218150964, \"MicroF1\": 0.6816039218150964, \"MacroF1\": 0.6801525397911032, \"Memory in Mb\": 0.2705574035644531, \"Time in s\": 5190.397888 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6858263373981249, \"MicroF1\": 0.6858263373981249, \"MacroF1\": 0.685191280018575, \"Memory in Mb\": 0.4621334075927734, \"Time in s\": 5522.880902000001 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6896634184253004, \"MicroF1\": 0.6896634184253004, \"MacroF1\": 0.6890226069872224, \"Memory in Mb\": 0.6535873413085938, \"Time in s\": 5860.018685000001 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6925007295010213, \"MicroF1\": 0.6925007295010213, \"MacroF1\": 0.6918635442211969, \"Memory in Mb\": 0.9691534042358398, \"Time in s\": 6202.345681000001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6990252522373597, \"MicroF1\": 0.6990252522373597, \"MacroF1\": 0.6986638608261282, \"Memory in Mb\": 0.2649049758911133, \"Time in s\": 6547.073149000001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7038605091638349, \"MicroF1\": 0.7038605091638349, \"MacroF1\": 0.7032543903990934, \"Memory in Mb\": 0.579315185546875, \"Time in s\": 6893.121988000001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.710114930007081, \"MicroF1\": 0.7101149300070809, \"MacroF1\": 0.70950849929648, \"Memory in Mb\": 0.2349414825439453, \"Time in s\": 7240.035665000001 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.715351414717323, \"MicroF1\": 0.715351414717323, \"MacroF1\": 0.7146010079934133, \"Memory in Mb\": 0.3305654525756836, \"Time in s\": 7588.155090000001 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7179139504563233, \"MicroF1\": 0.7179139504563233, \"MacroF1\": 0.7169858006379833, \"Memory in Mb\": 0.4260063171386719, \"Time in s\": 7937.751954000001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7223612316805392, \"MicroF1\": 0.7223612316805392, \"MacroF1\": 0.7214649429496548, \"Memory in Mb\": 0.5217523574829102, \"Time in s\": 8289.115139000001 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7219248661897854, \"MicroF1\": 0.7219248661897855, \"MacroF1\": 0.7206428236711905, \"Memory in Mb\": 0.6287288665771484, \"Time in s\": 8642.591702000002 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7231236825334575, \"MicroF1\": 0.7231236825334575, \"MacroF1\": 0.7218249685926471, \"Memory in Mb\": 0.7244749069213867, \"Time in s\": 8998.461289 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4222222222222222, \"MicroF1\": 0.4222222222222222, \"MacroF1\": 0.3590236094437775, \"Memory in Mb\": 0.9685115814208984, \"Time in s\": 1.326052 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5604395604395604, \"MicroF1\": 0.5604395604395604, \"MacroF1\": 0.5746538615446178, \"Memory in Mb\": 1.0556058883666992, \"Time in s\": 4.053487 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5766423357664233, \"MicroF1\": 0.5766423357664233, \"MacroF1\": 0.598257695340355, \"Memory in Mb\": 1.344954490661621, \"Time in s\": 8.154789999999998 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6229508196721312, \"MicroF1\": 0.6229508196721312, \"MacroF1\": 0.6451744040758778, \"Memory in Mb\": 1.4133405685424805, \"Time in s\": 13.553012999999998 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6506550218340611, \"MicroF1\": 0.6506550218340611, \"MacroF1\": 0.6680655280025949, \"Memory in Mb\": 1.5576086044311523, \"Time in s\": 20.188933 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6727272727272727, \"MicroF1\": 0.6727272727272727, \"MacroF1\": 0.6900672130049011, \"Memory in Mb\": 1.7550430297851562, \"Time in s\": 28.051384 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7040498442367601, \"MicroF1\": 0.7040498442367601, \"MacroF1\": 0.7087861936875776, \"Memory in Mb\": 1.832967758178711, \"Time in s\": 37.15395 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7302452316076294, \"MicroF1\": 0.7302452316076294, \"MacroF1\": 0.7285991575377422, \"Memory in Mb\": 1.971024513244629, \"Time in s\": 47.432602 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7457627118644068, \"MicroF1\": 0.7457627118644068, \"MacroF1\": 0.7430362907281778, \"Memory in Mb\": 1.991847038269043, \"Time in s\": 58.97377399999999 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7342047930283224, \"MicroF1\": 0.7342047930283224, \"MacroF1\": 0.7271744800226857, \"Memory in Mb\": 1.8101978302001955, \"Time in s\": 71.823928 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7405940594059406, \"MicroF1\": 0.7405940594059406, \"MacroF1\": 0.7304322149686578, \"Memory in Mb\": 1.7132930755615234, \"Time in s\": 85.827474 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7368421052631579, \"MicroF1\": 0.7368421052631579, \"MacroF1\": 0.7267508109083203, \"Memory in Mb\": 1.5079193115234375, \"Time in s\": 101.049314 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7403685092127303, \"MicroF1\": 0.7403685092127302, \"MacroF1\": 0.7318978254380314, \"Memory in Mb\": 1.6471452713012695, \"Time in s\": 117.420156 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7325038880248833, \"MicroF1\": 0.7325038880248833, \"MacroF1\": 0.7248107612258207, \"Memory in Mb\": 1.7740907669067385, \"Time in s\": 135.017443 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7242380261248186, \"MicroF1\": 0.7242380261248187, \"MacroF1\": 0.7153272190465999, \"Memory in Mb\": 1.913142204284668, \"Time in s\": 153.656893 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7251700680272108, \"MicroF1\": 0.725170068027211, \"MacroF1\": 0.7148466398758337, \"Memory in Mb\": 2.0619029998779297, \"Time in s\": 173.429455 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7259923175416133, \"MicroF1\": 0.7259923175416134, \"MacroF1\": 0.7134712280209221, \"Memory in Mb\": 2.0208959579467773, \"Time in s\": 194.315292 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.727932285368803, \"MicroF1\": 0.727932285368803, \"MacroF1\": 0.7177600265828429, \"Memory in Mb\": 2.224555015563965, \"Time in s\": 216.352158 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7353951890034365, \"MicroF1\": 0.7353951890034366, \"MacroF1\": 0.7262567978322628, \"Memory in Mb\": 2.300021171569824, \"Time in s\": 239.599524 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7431991294885746, \"MicroF1\": 0.7431991294885745, \"MacroF1\": 0.7345004589126253, \"Memory in Mb\": 2.4412155151367188, \"Time in s\": 263.99359400000003 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7471502590673575, \"MicroF1\": 0.7471502590673575, \"MacroF1\": 0.7368855656689403, \"Memory in Mb\": 2.474191665649414, \"Time in s\": 289.66420500000004 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7546983184965381, \"MicroF1\": 0.754698318496538, \"MacroF1\": 0.7446216664767904, \"Memory in Mb\": 2.5655078887939453, \"Time in s\": 316.44421900000003 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.760643330179754, \"MicroF1\": 0.760643330179754, \"MacroF1\": 0.7502594177262459, \"Memory in Mb\": 2.798956871032715, \"Time in s\": 344.45448600000003 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7624660018132366, \"MicroF1\": 0.7624660018132366, \"MacroF1\": 0.7523020427630668, \"Memory in Mb\": 2.48898983001709, \"Time in s\": 373.71735 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650130548302873, \"MicroF1\": 0.7650130548302874, \"MacroF1\": 0.7555087521342715, \"Memory in Mb\": 2.3284912109375, \"Time in s\": 404.061966 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7690376569037657, \"MicroF1\": 0.7690376569037657, \"MacroF1\": 0.7603504370239861, \"Memory in Mb\": 2.0560731887817383, \"Time in s\": 435.510035 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7719580983078163, \"MicroF1\": 0.7719580983078163, \"MacroF1\": 0.7638249032322542, \"Memory in Mb\": 2.11933708190918, \"Time in s\": 467.969641 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7746697746697747, \"MicroF1\": 0.7746697746697747, \"MacroF1\": 0.7668828628349821, \"Memory in Mb\": 2.277647018432617, \"Time in s\": 501.448754 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7771942985746436, \"MicroF1\": 0.7771942985746436, \"MacroF1\": 0.7696789046658701, \"Memory in Mb\": 2.3871631622314453, \"Time in s\": 535.887669 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7817258883248731, \"MicroF1\": 0.7817258883248731, \"MacroF1\": 0.7754511149783997, \"Memory in Mb\": 2.3104944229125977, \"Time in s\": 571.357393 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7866666666666666, \"MicroF1\": 0.7866666666666666, \"MacroF1\": 0.7797171864703156, \"Memory in Mb\": 2.4089183807373047, \"Time in s\": 607.784244 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7912984364377974, \"MicroF1\": 0.7912984364377974, \"MacroF1\": 0.7836430453045393, \"Memory in Mb\": 2.5425024032592773, \"Time in s\": 645.2286509999999 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7963085036255768, \"MicroF1\": 0.7963085036255768, \"MacroF1\": 0.7883976288226553, \"Memory in Mb\": 2.6389265060424805, \"Time in s\": 683.7451019999999 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7978246960972489, \"MicroF1\": 0.7978246960972489, \"MacroF1\": 0.790949738475821, \"Memory in Mb\": 2.283763885498047, \"Time in s\": 723.3862519999999 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.798011187072716, \"MicroF1\": 0.7980111870727161, \"MacroF1\": 0.7914720525222512, \"Memory in Mb\": 2.519012451171875, \"Time in s\": 764.1312649999999 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7981873111782477, \"MicroF1\": 0.7981873111782477, \"MacroF1\": 0.7919320984228655, \"Memory in Mb\": 2.307619094848633, \"Time in s\": 806.0160599999999 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.798941798941799, \"MicroF1\": 0.7989417989417988, \"MacroF1\": 0.7945012991620244, \"Memory in Mb\": 2.40640926361084, \"Time in s\": 848.960292 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8019461934745278, \"MicroF1\": 0.8019461934745278, \"MacroF1\": 0.797056036319667, \"Memory in Mb\": 2.447686195373535, \"Time in s\": 893.037184 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8047964305633017, \"MicroF1\": 0.8047964305633019, \"MacroF1\": 0.7993493873930555, \"Memory in Mb\": 2.5208606719970703, \"Time in s\": 938.202728 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8069603045133225, \"MicroF1\": 0.8069603045133223, \"MacroF1\": 0.8019867749609348, \"Memory in Mb\": 2.8025121688842773, \"Time in s\": 984.592034 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8084880636604774, \"MicroF1\": 0.8084880636604774, \"MacroF1\": 0.8043300839686539, \"Memory in Mb\": 2.9287471771240234, \"Time in s\": 1032.221691 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8114966338684619, \"MicroF1\": 0.8114966338684619, \"MacroF1\": 0.8071482324590065, \"Memory in Mb\": 2.977842330932617, \"Time in s\": 1081.048247 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8148710166919575, \"MicroF1\": 0.8148710166919576, \"MacroF1\": 0.8107088256390683, \"Memory in Mb\": 3.110445022583008, \"Time in s\": 1130.994965 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8161146811665843, \"MicroF1\": 0.8161146811665844, \"MacroF1\": 0.8110472160986095, \"Memory in Mb\": 3.3117494583129883, \"Time in s\": 1182.226115 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8173030449492509, \"MicroF1\": 0.8173030449492509, \"MacroF1\": 0.8127793203399477, \"Memory in Mb\": 2.7790603637695312, \"Time in s\": 1234.703432 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8193853427895981, \"MicroF1\": 0.8193853427895981, \"MacroF1\": 0.8144282151100146, \"Memory in Mb\": 2.8652515411376958, \"Time in s\": 1288.356269 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8199907450254512, \"MicroF1\": 0.8199907450254512, \"MacroF1\": 0.8150157846003385, \"Memory in Mb\": 2.925917625427246, \"Time in s\": 1343.2838700000002 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8205709107385591, \"MicroF1\": 0.8205709107385591, \"MacroF1\": 0.8153449009635614, \"Memory in Mb\": 2.785597801208496, \"Time in s\": 1399.325285 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8175765645805593, \"MicroF1\": 0.8175765645805593, \"MacroF1\": 0.813116129924445, \"Memory in Mb\": 2.868098258972168, \"Time in s\": 1456.6402850000002 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8186167899086559, \"MicroF1\": 0.8186167899086559, \"MacroF1\": 0.8144518819207099, \"Memory in Mb\": 3.062863349914551, \"Time in s\": 1515.2003170000005 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8185361628410567, \"MicroF1\": 0.8185361628410566, \"MacroF1\": 0.8145347387119569, \"Memory in Mb\": 3.063481330871582, \"Time in s\": 1574.1800910000002 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6682464454976303, \"MicroF1\": 0.6682464454976303, \"MacroF1\": 0.6049011732627783, \"Memory in Mb\": 7.181946754455566, \"Time in s\": 32.418226 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6944576030317385, \"MicroF1\": 0.6944576030317385, \"MacroF1\": 0.6288311688548281, \"Memory in Mb\": 9.89784336090088, \"Time in s\": 94.873564 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6984527944426903, \"MicroF1\": 0.6984527944426903, \"MacroF1\": 0.625371849015863, \"Memory in Mb\": 13.448436737060549, \"Time in s\": 186.837042 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.706369879232773, \"MicroF1\": 0.706369879232773, \"MacroF1\": 0.6266042661686886, \"Memory in Mb\": 17.43436622619629, \"Time in s\": 307.272577 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7107406705815495, \"MicroF1\": 0.7107406705815495, \"MacroF1\": 0.6273487761971507, \"Memory in Mb\": 20.93905258178711, \"Time in s\": 452.99825 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7108129439621153, \"MicroF1\": 0.7108129439621153, \"MacroF1\": 0.6274052515282983, \"Memory in Mb\": 25.022296905517575, \"Time in s\": 622.602665 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7127587606548504, \"MicroF1\": 0.7127587606548504, \"MacroF1\": 0.6273117178459473, \"Memory in Mb\": 28.81925773620605, \"Time in s\": 816.020547 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7164673848703682, \"MicroF1\": 0.7164673848703682, \"MacroF1\": 0.6293431255193823, \"Memory in Mb\": 32.80279922485352, \"Time in s\": 1032.257355 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.721666842049879, \"MicroF1\": 0.721666842049879, \"MacroF1\": 0.63170101976307, \"Memory in Mb\": 32.88048076629639, \"Time in s\": 1271.699652 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.724405720238659, \"MicroF1\": 0.724405720238659, \"MacroF1\": 0.6339052025360064, \"Memory in Mb\": 29.71586036682129, \"Time in s\": 1533.827375 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7244080929832114, \"MicroF1\": 0.7244080929832114, \"MacroF1\": 0.6334336343217646, \"Memory in Mb\": 33.71169948577881, \"Time in s\": 1818.162347 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7225949017441402, \"MicroF1\": 0.7225949017441402, \"MacroF1\": 0.6332595599893077, \"Memory in Mb\": 29.64934635162353, \"Time in s\": 2125.062078 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7416769869600058, \"MicroF1\": 0.7416769869600057, \"MacroF1\": 0.7385871869253197, \"Memory in Mb\": 11.750191688537598, \"Time in s\": 2443.236189 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7472096326861936, \"MicroF1\": 0.7472096326861937, \"MacroF1\": 0.7473000008879964, \"Memory in Mb\": 7.712667465209961, \"Time in s\": 2772.229259 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7404507860344719, \"MicroF1\": 0.7404507860344719, \"MacroF1\": 0.7427443120881612, \"Memory in Mb\": 5.854048728942871, \"Time in s\": 3118.280673 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.73666765315182, \"MicroF1\": 0.73666765315182, \"MacroF1\": 0.7407696345938622, \"Memory in Mb\": 9.543391227722168, \"Time in s\": 3480.1200929999995 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7295972369227341, \"MicroF1\": 0.7295972369227341, \"MacroF1\": 0.7347001031972082, \"Memory in Mb\": 14.625198364257812, \"Time in s\": 3856.632275 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.739780081022781, \"MicroF1\": 0.7397800810227809, \"MacroF1\": 0.7407912307996387, \"Memory in Mb\": 5.110816955566406, \"Time in s\": 4245.133706999999 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7434581069630664, \"MicroF1\": 0.7434581069630664, \"MacroF1\": 0.7402037922066672, \"Memory in Mb\": 3.8148155212402335, \"Time in s\": 4646.574114999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.745111037454425, \"MicroF1\": 0.7451110374544251, \"MacroF1\": 0.7386209934273732, \"Memory in Mb\": 7.313493728637695, \"Time in s\": 5063.578879 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7462006764374295, \"MicroF1\": 0.7462006764374295, \"MacroF1\": 0.7365944363606786, \"Memory in Mb\": 12.210733413696287, \"Time in s\": 5495.973683 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7483965391072274, \"MicroF1\": 0.7483965391072274, \"MacroF1\": 0.7360584061499352, \"Memory in Mb\": 11.241872787475586, \"Time in s\": 5944.2105440000005 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7495779635195784, \"MicroF1\": 0.7495779635195785, \"MacroF1\": 0.7345443205753824, \"Memory in Mb\": 12.262273788452148, \"Time in s\": 6407.867088000001 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7508582251509293, \"MicroF1\": 0.7508582251509293, \"MacroF1\": 0.7336140903014292, \"Memory in Mb\": 15.815716743469238, \"Time in s\": 6885.995097000001 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7510890564036516, \"MicroF1\": 0.7510890564036516, \"MacroF1\": 0.7317409587301968, \"Memory in Mb\": 20.072275161743164, \"Time in s\": 7378.034229000001 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7520670187579676, \"MicroF1\": 0.7520670187579677, \"MacroF1\": 0.7304776676466566, \"Memory in Mb\": 23.249674797058105, \"Time in s\": 7884.702304 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7487285609063169, \"MicroF1\": 0.7487285609063169, \"MacroF1\": 0.7285292321096271, \"Memory in Mb\": 2.702430725097656, \"Time in s\": 8406.670172 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7464741096492712, \"MicroF1\": 0.7464741096492712, \"MacroF1\": 0.7309964825863351, \"Memory in Mb\": 6.2935638427734375, \"Time in s\": 8940.901067 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7457793162002416, \"MicroF1\": 0.7457793162002416, \"MacroF1\": 0.7347045068936117, \"Memory in Mb\": 9.350909233093262, \"Time in s\": 9487.04409 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.745036143817671, \"MicroF1\": 0.745036143817671, \"MacroF1\": 0.7375864352537521, \"Memory in Mb\": 14.599569320678713, \"Time in s\": 10044.836672 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7451962731021842, \"MicroF1\": 0.7451962731021842, \"MacroF1\": 0.7406480970104784, \"Memory in Mb\": 19.12519836425781, \"Time in s\": 10615.117300000002 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7402858749371134, \"MicroF1\": 0.7402858749371134, \"MacroF1\": 0.7370798749337869, \"Memory in Mb\": 6.808139801025391, \"Time in s\": 11202.653786000004 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366200820730623, \"MicroF1\": 0.7366200820730623, \"MacroF1\": 0.7333315604235389, \"Memory in Mb\": 5.8602495193481445, \"Time in s\": 11807.700361000005 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.733921956382475, \"MicroF1\": 0.7339219563824751, \"MacroF1\": 0.7303171015411175, \"Memory in Mb\": 9.36469554901123, \"Time in s\": 12429.747970000002 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7304039611461349, \"MicroF1\": 0.7304039611461349, \"MacroF1\": 0.7265687877692525, \"Memory in Mb\": 14.848862648010254, \"Time in s\": 13069.446785000002 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7276864395633302, \"MicroF1\": 0.7276864395633302, \"MacroF1\": 0.7236022807953257, \"Memory in Mb\": 19.807891845703125, \"Time in s\": 13727.939023000004 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7250134370760922, \"MicroF1\": 0.7250134370760921, \"MacroF1\": 0.7209989950382084, \"Memory in Mb\": 16.71243381500244, \"Time in s\": 14405.601845000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7235028783612032, \"MicroF1\": 0.7235028783612032, \"MacroF1\": 0.7198278735760195, \"Memory in Mb\": 8.331427574157715, \"Time in s\": 15101.835691000002 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.723623825364835, \"MicroF1\": 0.723623825364835, \"MacroF1\": 0.7203262236880287, \"Memory in Mb\": 6.9819841384887695, \"Time in s\": 15814.868539000005 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7240464973129098, \"MicroF1\": 0.7240464973129098, \"MacroF1\": 0.7211005399097123, \"Memory in Mb\": 10.71219539642334, \"Time in s\": 16543.112989 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7245409400623629, \"MicroF1\": 0.7245409400623629, \"MacroF1\": 0.721844297210525, \"Memory in Mb\": 10.330558776855469, \"Time in s\": 17285.760894000003 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7248765529525828, \"MicroF1\": 0.7248765529525828, \"MacroF1\": 0.7223628081683402, \"Memory in Mb\": 13.299851417541504, \"Time in s\": 18041.694028 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7254167859581122, \"MicroF1\": 0.7254167859581122, \"MacroF1\": 0.7228420559832612, \"Memory in Mb\": 15.662115097045898, \"Time in s\": 18810.181113 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7263844349267159, \"MicroF1\": 0.7263844349267159, \"MacroF1\": 0.7236482152790997, \"Memory in Mb\": 19.25161361694336, \"Time in s\": 19591.516438 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7265304404553968, \"MicroF1\": 0.7265304404553967, \"MacroF1\": 0.7240124567772878, \"Memory in Mb\": 14.065608024597168, \"Time in s\": 20387.990038000004 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7304374678332476, \"MicroF1\": 0.7304374678332476, \"MacroF1\": 0.7281756207358935, \"Memory in Mb\": 7.354809761047363, \"Time in s\": 21197.413376000004 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7344603171404969, \"MicroF1\": 0.7344603171404969, \"MacroF1\": 0.7322565876518081, \"Memory in Mb\": 7.006095886230469, \"Time in s\": 22016.972025000003 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7380590684001815, \"MicroF1\": 0.7380590684001815, \"MacroF1\": 0.7356981427827818, \"Memory in Mb\": 10.14159107208252, \"Time in s\": 22847.182754 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7420134124422627, \"MicroF1\": 0.7420134124422627, \"MacroF1\": 0.7394134340953542, \"Memory in Mb\": 13.563420295715332, \"Time in s\": 23688.037606 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7451466883842497, \"MicroF1\": 0.7451466883842497, \"MacroF1\": 0.7430487162081567, \"Memory in Mb\": 0.3614501953125, \"Time in s\": 24535.706056000003 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7453781671618067, \"MicroF1\": 0.7453781671618067, \"MacroF1\": 0.7433023109254195, \"Memory in Mb\": 0.3617935180664062, \"Time in s\": 25383.518073000003 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.3354053497314453, \"Time in s\": 3.23067 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9730061349693252, \"MicroF1\": 0.9730061349693252, \"MacroF1\": 0.8116978142719798, \"Memory in Mb\": 0.988037109375, \"Time in s\": 11.21298 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9730171708912512, \"MicroF1\": 0.9730171708912512, \"MacroF1\": 0.9579161898493525, \"Memory in Mb\": 2.195523262023926, \"Time in s\": 25.427007 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9693439607602696, \"MicroF1\": 0.9693439607602696, \"MacroF1\": 0.9069773132409142, \"Memory in Mb\": 3.526730537414551, \"Time in s\": 46.453054 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9666503187837177, \"MicroF1\": 0.9666503187837177, \"MacroF1\": 0.9303026980117672, \"Memory in Mb\": 5.496582984924316, \"Time in s\": 74.431187 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9660809154066204, \"MicroF1\": 0.9660809154066204, \"MacroF1\": 0.955517866483744, \"Memory in Mb\": 2.29970645904541, \"Time in s\": 107.969459 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9691768826619964, \"MicroF1\": 0.9691768826619964, \"MacroF1\": 0.9674134048328416, \"Memory in Mb\": 3.376467704772949, \"Time in s\": 146.96126800000002 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9672080907140668, \"MicroF1\": 0.9672080907140668, \"MacroF1\": 0.9546197483047236, \"Memory in Mb\": 4.62060546875, \"Time in s\": 192.073824 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9684009806592208, \"MicroF1\": 0.968400980659221, \"MacroF1\": 0.9654409635782653, \"Memory in Mb\": 3.119338035583496, \"Time in s\": 243.354323 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9644520715861732, \"MicroF1\": 0.9644520715861732, \"MacroF1\": 0.95030552665756, \"Memory in Mb\": 4.705347061157227, \"Time in s\": 301.433133 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9661243592600848, \"MicroF1\": 0.9661243592600848, \"MacroF1\": 0.9659906155964958, \"Memory in Mb\": 1.508072853088379, \"Time in s\": 365.412759 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677221654749744, \"MicroF1\": 0.9677221654749744, \"MacroF1\": 0.96768641848376, \"Memory in Mb\": 2.487558364868164, \"Time in s\": 434.672843 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9685083914765228, \"MicroF1\": 0.9685083914765228, \"MacroF1\": 0.9677400809149086, \"Memory in Mb\": 2.8771514892578125, \"Time in s\": 509.854138 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690071791279986, \"MicroF1\": 0.9690071791279986, \"MacroF1\": 0.968698427792926, \"Memory in Mb\": 4.140267372131348, \"Time in s\": 591.7133210000001 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9671514953423762, \"MicroF1\": 0.9671514953423762, \"MacroF1\": 0.9635575047511442, \"Memory in Mb\": 5.121949195861816, \"Time in s\": 681.1937680000001 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9675195342423778, \"MicroF1\": 0.9675195342423778, \"MacroF1\": 0.9673223823066148, \"Memory in Mb\": 2.1385393142700195, \"Time in s\": 777.2102420000001 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968565248738284, \"MicroF1\": 0.968565248738284, \"MacroF1\": 0.9688652926813892, \"Memory in Mb\": 2.7864933013916016, \"Time in s\": 879.0640510000001 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686776521857552, \"MicroF1\": 0.9686776521857552, \"MacroF1\": 0.9682274153773373, \"Memory in Mb\": 3.314570426940918, \"Time in s\": 987.062921 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9682621597213262, \"MicroF1\": 0.9682621597213262, \"MacroF1\": 0.9674704101631952, \"Memory in Mb\": 4.690197944641113, \"Time in s\": 1101.141854 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.96727540139723, \"MicroF1\": 0.96727540139723, \"MacroF1\": 0.9662379529396136, \"Memory in Mb\": 5.223731994628906, \"Time in s\": 1221.487909 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677833547332788, \"MicroF1\": 0.9677833547332788, \"MacroF1\": 0.9678822443058488, \"Memory in Mb\": 4.885932922363281, \"Time in s\": 1347.980617 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686908077994428, \"MicroF1\": 0.9686908077994428, \"MacroF1\": 0.9690861219789196, \"Memory in Mb\": 6.402636528015137, \"Time in s\": 1480.694289 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9683470105509964, \"MicroF1\": 0.9683470105509964, \"MacroF1\": 0.9680699356268632, \"Memory in Mb\": 6.928671836853027, \"Time in s\": 1620.259773 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.96864467367991, \"MicroF1\": 0.96864467367991, \"MacroF1\": 0.9687197530276812, \"Memory in Mb\": 5.552419662475586, \"Time in s\": 1766.078849 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9684282772820864, \"MicroF1\": 0.9684282772820866, \"MacroF1\": 0.9682582636163196, \"Memory in Mb\": 2.695918083190918, \"Time in s\": 1917.758924 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9673800320543038, \"MicroF1\": 0.9673800320543038, \"MacroF1\": 0.9668238422002586, \"Memory in Mb\": 3.239151954650879, \"Time in s\": 2074.190769 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9676804357694052, \"MicroF1\": 0.9676804357694052, \"MacroF1\": 0.9678040910458204, \"Memory in Mb\": 4.023995399475098, \"Time in s\": 2235.420867 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677842948437364, \"MicroF1\": 0.9677842948437364, \"MacroF1\": 0.9678364439490078, \"Memory in Mb\": 4.695375442504883, \"Time in s\": 2402.164192 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677119432000676, \"MicroF1\": 0.9677119432000676, \"MacroF1\": 0.9677086079179034, \"Memory in Mb\": 5.258674621582031, \"Time in s\": 2574.870699 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968706593675954, \"MicroF1\": 0.968706593675954, \"MacroF1\": 0.9690716756618885, \"Memory in Mb\": 6.001680374145508, \"Time in s\": 2753.36713 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9688463667272872, \"MicroF1\": 0.9688463667272872, \"MacroF1\": 0.9689334511448672, \"Memory in Mb\": 5.217698097229004, \"Time in s\": 2937.769964 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9687476062811184, \"MicroF1\": 0.9687476062811184, \"MacroF1\": 0.968764477893114, \"Memory in Mb\": 5.266051292419434, \"Time in s\": 3127.802403 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9687291094109782, \"MicroF1\": 0.9687291094109782, \"MacroF1\": 0.9687736841624996, \"Memory in Mb\": 6.279603958129883, \"Time in s\": 3323.370395 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9695047220820416, \"MicroF1\": 0.9695047220820416, \"MacroF1\": 0.9697384724636318, \"Memory in Mb\": 4.041820526123047, \"Time in s\": 3524.041026 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9682750892919672, \"MicroF1\": 0.9682750892919672, \"MacroF1\": 0.9680357071263168, \"Memory in Mb\": 2.1731691360473637, \"Time in s\": 3729.110149 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686797848437394, \"MicroF1\": 0.9686797848437394, \"MacroF1\": 0.9688099431838716, \"Memory in Mb\": 2.4900379180908203, \"Time in s\": 3938.33843 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692613448161644, \"MicroF1\": 0.9692613448161644, \"MacroF1\": 0.9694122553904638, \"Memory in Mb\": 2.7789316177368164, \"Time in s\": 4151.996270000001 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9694897761723538, \"MicroF1\": 0.9694897761723538, \"MacroF1\": 0.969571649124791, \"Memory in Mb\": 3.946505546569824, \"Time in s\": 4370.227344000001 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9694550939601534, \"MicroF1\": 0.9694550939601534, \"MacroF1\": 0.9694916672888816, \"Memory in Mb\": 4.345325469970703, \"Time in s\": 4594.050341000001 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9695447024940254, \"MicroF1\": 0.9695447024940254, \"MacroF1\": 0.9695954968773725, \"Memory in Mb\": 3.909954071044922, \"Time in s\": 4823.361799000001 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692114545345848, \"MicroF1\": 0.9692114545345848, \"MacroF1\": 0.9692084456743588, \"Memory in Mb\": 1.764338493347168, \"Time in s\": 5057.2303470000015 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9696527575138604, \"MicroF1\": 0.9696527575138604, \"MacroF1\": 0.9697329621491684, \"Memory in Mb\": 1.7167367935180664, \"Time in s\": 5295.013901000001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9696745140511884, \"MicroF1\": 0.9696745140511884, \"MacroF1\": 0.9697082565052514, \"Memory in Mb\": 2.814372062683105, \"Time in s\": 5537.319837000001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968748259149908, \"MicroF1\": 0.968748259149908, \"MacroF1\": 0.968705960089485, \"Memory in Mb\": 2.951136589050293, \"Time in s\": 5784.484584000001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690070265264992, \"MicroF1\": 0.9690070265264992, \"MacroF1\": 0.9690448168177233, \"Memory in Mb\": 3.5441465377807617, \"Time in s\": 6036.117893000001 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690946874833484, \"MicroF1\": 0.9690946874833484, \"MacroF1\": 0.9691164520527108, \"Memory in Mb\": 4.379698753356934, \"Time in s\": 6292.729193000001 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968761408083442, \"MicroF1\": 0.968761408083442, \"MacroF1\": 0.9687617227117352, \"Memory in Mb\": 3.8120603561401367, \"Time in s\": 6554.348831000001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9689526630240516, \"MicroF1\": 0.9689526630240516, \"MacroF1\": 0.9689629146490384, \"Memory in Mb\": 2.019772529602051, \"Time in s\": 6819.891372000001 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692861787804512, \"MicroF1\": 0.9692861787804512, \"MacroF1\": 0.9692901573177236, \"Memory in Mb\": 1.256450653076172, \"Time in s\": 7089.584863000001 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9691161331437816, \"MicroF1\": 0.9691161331437816, \"MacroF1\": 0.9691108096285476, \"Memory in Mb\": 1.6354646682739258, \"Time in s\": 7363.046142000001 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5333333333333333, \"MicroF1\": 0.5333333333333333, \"MacroF1\": 0.5005728607232367, \"Memory in Mb\": 0.8510866165161133, \"Time in s\": 0.941842 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6153846153846154, \"MicroF1\": 0.6153846153846154, \"MacroF1\": 0.596131344383025, \"Memory in Mb\": 1.5052366256713867, \"Time in s\": 2.918201 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6496350364963503, \"MicroF1\": 0.6496350364963503, \"MacroF1\": 0.6567305057749026, \"Memory in Mb\": 2.146304130554199, \"Time in s\": 6.147886 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6994535519125683, \"MicroF1\": 0.6994535519125683, \"MacroF1\": 0.7070190759413217, \"Memory in Mb\": 2.7665939331054688, \"Time in s\": 10.824064 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7379912663755459, \"MicroF1\": 0.7379912663755459, \"MacroF1\": 0.7433871451842025, \"Memory in Mb\": 3.2484235763549805, \"Time in s\": 16.931166 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7490909090909091, \"MicroF1\": 0.7490909090909091, \"MacroF1\": 0.7566070103930901, \"Memory in Mb\": 3.776392936706543, \"Time in s\": 24.729994 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7694704049844237, \"MicroF1\": 0.7694704049844237, \"MacroF1\": 0.7681721604320974, \"Memory in Mb\": 4.142314910888672, \"Time in s\": 34.173162000000005 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.784741144414169, \"MicroF1\": 0.7847411444141691, \"MacroF1\": 0.7789718513534348, \"Memory in Mb\": 4.497910499572754, \"Time in s\": 45.384105000000005 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7990314769975787, \"MicroF1\": 0.7990314769975787, \"MacroF1\": 0.7943771701942021, \"Memory in Mb\": 4.869846343994141, \"Time in s\": 58.265676000000006 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7973856209150327, \"MicroF1\": 0.7973856209150327, \"MacroF1\": 0.7916511033189314, \"Memory in Mb\": 5.3911848068237305, \"Time in s\": 73.08883800000001 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.805940594059406, \"MicroF1\": 0.805940594059406, \"MacroF1\": 0.8010859843658406, \"Memory in Mb\": 5.806554794311523, \"Time in s\": 89.87625100000001 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8076225045372051, \"MicroF1\": 0.8076225045372051, \"MacroF1\": 0.8036838079612314, \"Memory in Mb\": 6.295863151550293, \"Time in s\": 108.5993 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8174204355108877, \"MicroF1\": 0.8174204355108878, \"MacroF1\": 0.8156009215135775, \"Memory in Mb\": 6.727802276611328, \"Time in s\": 129.48595400000002 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8211508553654744, \"MicroF1\": 0.8211508553654744, \"MacroF1\": 0.8207645722848749, \"Memory in Mb\": 7.18087100982666, \"Time in s\": 152.525841 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8229317851959361, \"MicroF1\": 0.8229317851959362, \"MacroF1\": 0.8226135245892084, \"Memory in Mb\": 7.561182022094727, \"Time in s\": 177.86541200000002 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8231292517006803, \"MicroF1\": 0.8231292517006803, \"MacroF1\": 0.8228959515200417, \"Memory in Mb\": 7.975464820861816, \"Time in s\": 205.499576 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8309859154929577, \"MicroF1\": 0.8309859154929577, \"MacroF1\": 0.8306123687436626, \"Memory in Mb\": 8.301925659179688, \"Time in s\": 235.39408200000003 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8343409915356711, \"MicroF1\": 0.834340991535671, \"MacroF1\": 0.835521648488366, \"Memory in Mb\": 8.722038269042969, \"Time in s\": 267.718494 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8407789232531501, \"MicroF1\": 0.8407789232531501, \"MacroF1\": 0.8414965916969209, \"Memory in Mb\": 9.057206153869627, \"Time in s\": 302.46008700000004 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8443960826985855, \"MicroF1\": 0.8443960826985855, \"MacroF1\": 0.8446110045111287, \"Memory in Mb\": 9.38282871246338, \"Time in s\": 339.623661 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8466321243523316, \"MicroF1\": 0.8466321243523316, \"MacroF1\": 0.8462590694093756, \"Memory in Mb\": 9.696897506713867, \"Time in s\": 379.342347 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8516320474777448, \"MicroF1\": 0.8516320474777448, \"MacroF1\": 0.8504483916737715, \"Memory in Mb\": 9.949009895324709, \"Time in s\": 421.625642 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8571428571428571, \"MicroF1\": 0.8571428571428571, \"MacroF1\": 0.8557487568785946, \"Memory in Mb\": 10.2299222946167, \"Time in s\": 466.542637 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8603807796917498, \"MicroF1\": 0.8603807796917498, \"MacroF1\": 0.8594481550185353, \"Memory in Mb\": 10.524299621582031, \"Time in s\": 514.218423 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8624891209747607, \"MicroF1\": 0.8624891209747607, \"MacroF1\": 0.8612253786789881, \"Memory in Mb\": 10.737759590148926, \"Time in s\": 564.599929 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8652719665271966, \"MicroF1\": 0.8652719665271966, \"MacroF1\": 0.8642881992026393, \"Memory in Mb\": 11.010127067565918, \"Time in s\": 617.836337 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8670427074939565, \"MicroF1\": 0.8670427074939565, \"MacroF1\": 0.8663181473795101, \"Memory in Mb\": 11.261144638061523, \"Time in s\": 674.05967 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8694638694638694, \"MicroF1\": 0.8694638694638694, \"MacroF1\": 0.8687259920464652, \"Memory in Mb\": 11.505732536315918, \"Time in s\": 733.385389 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8709677419354839, \"MicroF1\": 0.8709677419354839, \"MacroF1\": 0.870193396369452, \"Memory in Mb\": 11.826444625854492, \"Time in s\": 796.067675 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8745467730239304, \"MicroF1\": 0.8745467730239304, \"MacroF1\": 0.874089581073643, \"Memory in Mb\": 12.086430549621582, \"Time in s\": 861.584672 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8771929824561403, \"MicroF1\": 0.8771929824561403, \"MacroF1\": 0.8759011931352845, \"Memory in Mb\": 12.29430866241455, \"Time in s\": 930.204519 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8796736913664174, \"MicroF1\": 0.8796736913664174, \"MacroF1\": 0.877566397675441, \"Memory in Mb\": 12.500163078308104, \"Time in s\": 1001.8141389999998 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8826631509558339, \"MicroF1\": 0.8826631509558339, \"MacroF1\": 0.8803270226288138, \"Memory in Mb\": 12.740474700927734, \"Time in s\": 1076.488215 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8841970569417786, \"MicroF1\": 0.8841970569417786, \"MacroF1\": 0.8822041640143002, \"Memory in Mb\": 12.987508773803713, \"Time in s\": 1154.350794 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.886886264760721, \"MicroF1\": 0.886886264760721, \"MacroF1\": 0.8850836875294148, \"Memory in Mb\": 13.252826690673828, \"Time in s\": 1235.463166 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.888821752265861, \"MicroF1\": 0.888821752265861, \"MacroF1\": 0.8870702351165313, \"Memory in Mb\": 13.500110626220703, \"Time in s\": 1319.86391 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8912404467960023, \"MicroF1\": 0.8912404467960025, \"MacroF1\": 0.8905987472429445, \"Memory in Mb\": 13.767583847045898, \"Time in s\": 1407.541035 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8929593589009731, \"MicroF1\": 0.892959358900973, \"MacroF1\": 0.8920318510221457, \"Memory in Mb\": 14.030475616455078, \"Time in s\": 1498.676265 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.894032348020078, \"MicroF1\": 0.894032348020078, \"MacroF1\": 0.8925886559949978, \"Memory in Mb\": 14.271255493164062, \"Time in s\": 1593.100327 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8945078847199565, \"MicroF1\": 0.8945078847199565, \"MacroF1\": 0.8931986390525462, \"Memory in Mb\": 14.574835777282717, \"Time in s\": 1691.005218 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.896551724137931, \"MicroF1\": 0.896551724137931, \"MacroF1\": 0.8956464025201587, \"Memory in Mb\": 14.834091186523438, \"Time in s\": 1792.408733 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8964267219057483, \"MicroF1\": 0.8964267219057483, \"MacroF1\": 0.8951782213786073, \"Memory in Mb\": 15.134613037109377, \"Time in s\": 1897.156299 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8973191704602934, \"MicroF1\": 0.8973191704602934, \"MacroF1\": 0.8961901832930852, \"Memory in Mb\": 15.326050758361816, \"Time in s\": 2005.31409 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8986653484923381, \"MicroF1\": 0.8986653484923381, \"MacroF1\": 0.8970310627029995, \"Memory in Mb\": 15.549851417541504, \"Time in s\": 2116.877653 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8994683421942967, \"MicroF1\": 0.8994683421942967, \"MacroF1\": 0.8980105869909577, \"Memory in Mb\": 15.81621551513672, \"Time in s\": 2232.114727 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.900709219858156, \"MicroF1\": 0.900709219858156, \"MacroF1\": 0.8989778942952686, \"Memory in Mb\": 15.957537651062012, \"Time in s\": 2350.8625340000003 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9000462748727441, \"MicroF1\": 0.9000462748727441, \"MacroF1\": 0.8982611856050026, \"Memory in Mb\": 16.206623077392578, \"Time in s\": 2473.2186990000005 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9012233801540552, \"MicroF1\": 0.9012233801540552, \"MacroF1\": 0.8993036839855942, \"Memory in Mb\": 16.400617599487305, \"Time in s\": 2599.1257530000003 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9014647137150466, \"MicroF1\": 0.9014647137150466, \"MacroF1\": 0.8999821457114682, \"Memory in Mb\": 16.693093299865723, \"Time in s\": 2728.6827460000004 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9016963897346671, \"MicroF1\": 0.9016963897346671, \"MacroF1\": 0.9003174232892135, \"Memory in Mb\": 16.988688468933105, \"Time in s\": 2861.834306 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9016890428757036, \"MicroF1\": 0.9016890428757036, \"MacroF1\": 0.9003808534937335, \"Memory in Mb\": 17.050235748291016, \"Time in s\": 2997.696193 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6511848341232227, \"MicroF1\": 0.6511848341232227, \"MacroF1\": 0.5805974192561721, \"Memory in Mb\": 27.882014274597168, \"Time in s\": 41.422615 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6830885836096636, \"MicroF1\": 0.6830885836096636, \"MacroF1\": 0.6159001145696381, \"Memory in Mb\": 53.9009017944336, \"Time in s\": 137.16292 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6889801073571203, \"MicroF1\": 0.6889801073571203, \"MacroF1\": 0.6135176771695448, \"Memory in Mb\": 79.45620250701904, \"Time in s\": 291.10856 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6954771489462468, \"MicroF1\": 0.6954771489462468, \"MacroF1\": 0.6159765684907534, \"Memory in Mb\": 104.90542316436768, \"Time in s\": 501.70617 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7003220306876302, \"MicroF1\": 0.7003220306876302, \"MacroF1\": 0.6217575035584229, \"Memory in Mb\": 130.7021541595459, \"Time in s\": 768.289754 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7021310181531176, \"MicroF1\": 0.7021310181531176, \"MacroF1\": 0.622391174421368, \"Memory in Mb\": 156.0168752670288, \"Time in s\": 1090.319759 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7027465836828576, \"MicroF1\": 0.7027465836828576, \"MacroF1\": 0.6232948240709647, \"Memory in Mb\": 180.8397483825684, \"Time in s\": 1466.44078 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7040369361903634, \"MicroF1\": 0.7040369361903634, \"MacroF1\": 0.6235946437988805, \"Memory in Mb\": 205.63252925872803, \"Time in s\": 1896.370643 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7105124697463959, \"MicroF1\": 0.7105124697463959, \"MacroF1\": 0.6284709935917355, \"Memory in Mb\": 229.19151210784912, \"Time in s\": 2381.431795 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7140827729898664, \"MicroF1\": 0.7140827729898664, \"MacroF1\": 0.6302854833117341, \"Memory in Mb\": 253.17632389068604, \"Time in s\": 2925.98814 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.71562634524322, \"MicroF1\": 0.7156263452432199, \"MacroF1\": 0.6305326785921538, \"Memory in Mb\": 277.4567346572876, \"Time in s\": 3530.852036 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7145450240707126, \"MicroF1\": 0.7145450240707125, \"MacroF1\": 0.6284185449457835, \"Memory in Mb\": 301.7114896774292, \"Time in s\": 4201.052974 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7057623661397247, \"MicroF1\": 0.7057623661397247, \"MacroF1\": 0.6885364031919957, \"Memory in Mb\": 327.2237205505371, \"Time in s\": 4936.820951 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6967462625989312, \"MicroF1\": 0.6967462625989312, \"MacroF1\": 0.69194472505998, \"Memory in Mb\": 352.6018476486206, \"Time in s\": 5738.465999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.676684134099375, \"MicroF1\": 0.676684134099375, \"MacroF1\": 0.673854549025314, \"Memory in Mb\": 384.9730758666992, \"Time in s\": 6613.285946 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6698431488606097, \"MicroF1\": 0.6698431488606097, \"MacroF1\": 0.668750254945471, \"Memory in Mb\": 415.2214603424072, \"Time in s\": 7559.921071 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6646983454960727, \"MicroF1\": 0.6646983454960727, \"MacroF1\": 0.6646134205077884, \"Memory in Mb\": 444.32067584991455, \"Time in s\": 8589.520858 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6620192560635555, \"MicroF1\": 0.6620192560635555, \"MacroF1\": 0.6605985532750915, \"Memory in Mb\": 472.75781440734863, \"Time in s\": 9705.665905 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6597717190848826, \"MicroF1\": 0.6597717190848826, \"MacroF1\": 0.6570293922418718, \"Memory in Mb\": 499.4876089096069, \"Time in s\": 10901.076562 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6539608882996354, \"MicroF1\": 0.6539608882996354, \"MacroF1\": 0.6496192149174075, \"Memory in Mb\": 528.8777961730957, \"Time in s\": 12166.701144 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6547463359639233, \"MicroF1\": 0.6547463359639233, \"MacroF1\": 0.6484047117859243, \"Memory in Mb\": 557.1920728683472, \"Time in s\": 13501.384366 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6583444535319185, \"MicroF1\": 0.6583444535319185, \"MacroF1\": 0.6499882024630633, \"Memory in Mb\": 584.0554361343384, \"Time in s\": 14901.095396 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6611767612302878, \"MicroF1\": 0.6611767612302878, \"MacroF1\": 0.6506059068013808, \"Memory in Mb\": 610.3706150054932, \"Time in s\": 16366.700533 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6659827171210986, \"MicroF1\": 0.6659827171210986, \"MacroF1\": 0.6532433614752314, \"Memory in Mb\": 635.6853046417236, \"Time in s\": 17901.739193 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6702526610856472, \"MicroF1\": 0.6702526610856472, \"MacroF1\": 0.6554263220708306, \"Memory in Mb\": 660.4025926589966, \"Time in s\": 19504.786084 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6745947914769623, \"MicroF1\": 0.6745947914769623, \"MacroF1\": 0.6575507550972549, \"Memory in Mb\": 684.36501121521, \"Time in s\": 21172.086014 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6705482094630143, \"MicroF1\": 0.6705482094630143, \"MacroF1\": 0.6539581966383304, \"Memory in Mb\": 712.6770572662354, \"Time in s\": 22902.746936 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6644231744850678, \"MicroF1\": 0.6644231744850678, \"MacroF1\": 0.6512239029866641, \"Memory in Mb\": 743.5559530258179, \"Time in s\": 24691.477434 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6622799856317148, \"MicroF1\": 0.6622799856317148, \"MacroF1\": 0.6527566844616065, \"Memory in Mb\": 772.5478630065918, \"Time in s\": 26538.585641 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6621736797247388, \"MicroF1\": 0.6621736797247388, \"MacroF1\": 0.6557760097374935, \"Memory in Mb\": 800.5439138412476, \"Time in s\": 28440.416189000003 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6623797159004124, \"MicroF1\": 0.6623797159004124, \"MacroF1\": 0.6584479912704261, \"Memory in Mb\": 827.4998264312744, \"Time in s\": 30418.714512 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6575123553608949, \"MicroF1\": 0.6575123553608949, \"MacroF1\": 0.6541419435809196, \"Memory in Mb\": 857.7161102294922, \"Time in s\": 32439.386127 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6519069073377909, \"MicroF1\": 0.6519069073377909, \"MacroF1\": 0.6481893367707658, \"Memory in Mb\": 888.8327789306641, \"Time in s\": 34499.720344 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.647550343982397, \"MicroF1\": 0.647550343982397, \"MacroF1\": 0.643407015045196, \"Memory in Mb\": 919.6311988830566, \"Time in s\": 36599.09766 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6444438431775752, \"MicroF1\": 0.6444438431775752, \"MacroF1\": 0.6400224052225335, \"Memory in Mb\": 949.7819452285768, \"Time in s\": 38735.650911 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6425358411153492, \"MicroF1\": 0.6425358411153492, \"MacroF1\": 0.6377821595167165, \"Memory in Mb\": 979.4456567764282, \"Time in s\": 40896.763765 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6414476209976709, \"MicroF1\": 0.6414476209976709, \"MacroF1\": 0.6370415360917451, \"Memory in Mb\": 1009.0255756378174, \"Time in s\": 43085.847267 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6409898572033793, \"MicroF1\": 0.6409898572033793, \"MacroF1\": 0.636858231937463, \"Memory in Mb\": 1037.841980934143, \"Time in s\": 45303.144751 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6414782798727631, \"MicroF1\": 0.6414782798727631, \"MacroF1\": 0.637272014233453, \"Memory in Mb\": 1065.1163549423218, \"Time in s\": 47540.369251 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6428419233409882, \"MicroF1\": 0.6428419233409882, \"MacroF1\": 0.6385110475108609, \"Memory in Mb\": 1091.8334274291992, \"Time in s\": 49803.522006 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6441159487238711, \"MicroF1\": 0.6441159487238711, \"MacroF1\": 0.6396283228479406, \"Memory in Mb\": 1118.1560363769531, \"Time in s\": 52086.93226 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.645058735992424, \"MicroF1\": 0.645058735992424, \"MacroF1\": 0.6403851797193834, \"Memory in Mb\": 1144.4119939804075, \"Time in s\": 54391.61903 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6469266853128373, \"MicroF1\": 0.6469266853128373, \"MacroF1\": 0.6418265850265934, \"Memory in Mb\": 1169.9601306915283, \"Time in s\": 56719.958571 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6487742935238792, \"MicroF1\": 0.6487742935238792, \"MacroF1\": 0.643191402092947, \"Memory in Mb\": 1194.640343666077, \"Time in s\": 59073.094705 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6459521454576065, \"MicroF1\": 0.6459521454576065, \"MacroF1\": 0.6406800374556137, \"Memory in Mb\": 1224.6073780059814, \"Time in s\": 61451.967815 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6443643849716932, \"MicroF1\": 0.6443643849716932, \"MacroF1\": 0.6398250343320808, \"Memory in Mb\": 1254.4350862503052, \"Time in s\": 63857.884093 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6446172754931394, \"MicroF1\": 0.6446172754931394, \"MacroF1\": 0.6406945505071863, \"Memory in Mb\": 1282.3891849517822, \"Time in s\": 66293.298766 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6461222798745241, \"MicroF1\": 0.6461222798745241, \"MacroF1\": 0.6426238276925219, \"Memory in Mb\": 1309.4736614227295, \"Time in s\": 68755.018108 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6489186943161394, \"MicroF1\": 0.6489186943161394, \"MacroF1\": 0.6457243405011626, \"Memory in Mb\": 1334.444143295288, \"Time in s\": 71244.151045 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6470577094263149, \"MicroF1\": 0.6470577094263149, \"MacroF1\": 0.6443966707674731, \"Memory in Mb\": 1363.999231338501, \"Time in s\": 73759.934152 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6469809071470471, \"MicroF1\": 0.6469809071470471, \"MacroF1\": 0.6443518314696601, \"Memory in Mb\": 1365.409776687622, \"Time in s\": 76295.692169 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9901719901719902, \"MicroF1\": 0.9901719901719902, \"MacroF1\": 0.8308395677472984, \"Memory in Mb\": 0.1227684020996093, \"Time in s\": 1.485322 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9914110429447852, \"MicroF1\": 0.9914110429447852, \"MacroF1\": 0.960934413925625, \"Memory in Mb\": 0.4158411026000976, \"Time in s\": 6.729082 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9893704006541292, \"MicroF1\": 0.9893704006541292, \"MacroF1\": 0.9580466011674303, \"Memory in Mb\": 1.2467107772827148, \"Time in s\": 20.14849 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9889638258736972, \"MicroF1\": 0.9889638258736972, \"MacroF1\": 0.9786672150923964, \"Memory in Mb\": 2.28104305267334, \"Time in s\": 50.264957 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.988719960765081, \"MicroF1\": 0.988719960765081, \"MacroF1\": 0.9803510904896324, \"Memory in Mb\": 3.352717399597168, \"Time in s\": 91.643431 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9885574172456068, \"MicroF1\": 0.9885574172456068, \"MacroF1\": 0.983046879237058, \"Memory in Mb\": 4.983606338500977, \"Time in s\": 148.278076 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9852889667250436, \"MicroF1\": 0.9852889667250436, \"MacroF1\": 0.9737767108051044, \"Memory in Mb\": 6.963967323303223, \"Time in s\": 227.073424 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9825314128102972, \"MicroF1\": 0.9825314128102972, \"MacroF1\": 0.9734338986941852, \"Memory in Mb\": 9.8344087600708, \"Time in s\": 324.702985 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.982293652955598, \"MicroF1\": 0.982293652955598, \"MacroF1\": 0.9788760747631072, \"Memory in Mb\": 12.7888765335083, \"Time in s\": 446.356435 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9806325079676392, \"MicroF1\": 0.9806325079676392, \"MacroF1\": 0.9749453255203756, \"Memory in Mb\": 16.445659637451172, \"Time in s\": 594.71846 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9801649208825496, \"MicroF1\": 0.9801649208825496, \"MacroF1\": 0.9779116862524244, \"Memory in Mb\": 20.943636894226078, \"Time in s\": 768.8230350000001 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9801838610827376, \"MicroF1\": 0.9801838610827376, \"MacroF1\": 0.978782474664832, \"Memory in Mb\": 24.856953620910645, \"Time in s\": 967.611442 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9768055817461814, \"MicroF1\": 0.9768055817461814, \"MacroF1\": 0.9702080932270808, \"Memory in Mb\": 28.10527801513672, \"Time in s\": 1191.0213970000002 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9746104009805638, \"MicroF1\": 0.9746104009805638, \"MacroF1\": 0.9718234131704068, \"Memory in Mb\": 32.14579772949219, \"Time in s\": 1440.171835 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9697663016832816, \"MicroF1\": 0.9697663016832816, \"MacroF1\": 0.9621279568251032, \"Memory in Mb\": 36.40912055969238, \"Time in s\": 1717.813161 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9656810173127012, \"MicroF1\": 0.9656810173127012, \"MacroF1\": 0.9634765255010708, \"Memory in Mb\": 42.20043754577637, \"Time in s\": 2023.330442 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9653929343907716, \"MicroF1\": 0.9653929343907716, \"MacroF1\": 0.9646253117338192, \"Memory in Mb\": 46.97204208374024, \"Time in s\": 2355.811343 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9635026555903582, \"MicroF1\": 0.9635026555903582, \"MacroF1\": 0.96110342818104, \"Memory in Mb\": 50.8284969329834, \"Time in s\": 2716.693574 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9610372855115468, \"MicroF1\": 0.9610372855115468, \"MacroF1\": 0.9585597537512924, \"Memory in Mb\": 55.062747955322266, \"Time in s\": 3108.019641 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9593087388160314, \"MicroF1\": 0.9593087388160314, \"MacroF1\": 0.9577319445930262, \"Memory in Mb\": 59.75967216491699, \"Time in s\": 3529.961458 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9598459203922026, \"MicroF1\": 0.9598459203922026, \"MacroF1\": 0.960171378024828, \"Memory in Mb\": 65.88526916503906, \"Time in s\": 3981.552133 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.959108635097493, \"MicroF1\": 0.959108635097493, \"MacroF1\": 0.9586518345557712, \"Memory in Mb\": 71.85272026062012, \"Time in s\": 4465.222941 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9573697111797932, \"MicroF1\": 0.9573697111797932, \"MacroF1\": 0.956135316427552, \"Memory in Mb\": 78.18439388275146, \"Time in s\": 4984.801354 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9555714431620876, \"MicroF1\": 0.9555714431620876, \"MacroF1\": 0.9546392488298882, \"Memory in Mb\": 85.86389446258545, \"Time in s\": 5537.4752260000005 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9486224139621532, \"MicroF1\": 0.9486224139621532, \"MacroF1\": 0.9433099305923252, \"Memory in Mb\": 94.35744285583496, \"Time in s\": 6127.477763000001 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943150749505044, \"MicroF1\": 0.943150749505044, \"MacroF1\": 0.9403442056943528, \"Memory in Mb\": 104.1574821472168, \"Time in s\": 6756.480909000001 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9408987743985474, \"MicroF1\": 0.9408987743985474, \"MacroF1\": 0.9399975161043574, \"Memory in Mb\": 113.0038013458252, \"Time in s\": 7421.284759000001 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9380197846450145, \"MicroF1\": 0.9380197846450145, \"MacroF1\": 0.936341059397272, \"Memory in Mb\": 121.46645069122314, \"Time in s\": 8125.715779000001 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9322965091708224, \"MicroF1\": 0.9322965091708224, \"MacroF1\": 0.9294143034054052, \"Memory in Mb\": 131.1031150817871, \"Time in s\": 8872.899296000001 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9326742380913472, \"MicroF1\": 0.9326742380913472, \"MacroF1\": 0.9327603226303838, \"Memory in Mb\": 137.88959789276123, \"Time in s\": 9652.703167 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.927571756147703, \"MicroF1\": 0.927571756147703, \"MacroF1\": 0.9249549620362734, \"Memory in Mb\": 145.5888376235962, \"Time in s\": 10475.658214 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9247797778628878, \"MicroF1\": 0.9247797778628878, \"MacroF1\": 0.92370720847711, \"Memory in Mb\": 154.53871536254883, \"Time in s\": 11346.213643 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9238654088984624, \"MicroF1\": 0.9238654088984624, \"MacroF1\": 0.9233692422863464, \"Memory in Mb\": 161.3583574295044, \"Time in s\": 12266.045404 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9202653017086008, \"MicroF1\": 0.9202653017086008, \"MacroF1\": 0.9191663953636944, \"Memory in Mb\": 170.12918186187744, \"Time in s\": 13231.481182 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.916310666013026, \"MicroF1\": 0.916310666013026, \"MacroF1\": 0.9150341930556872, \"Memory in Mb\": 179.0350112915039, \"Time in s\": 14245.599713 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9161162933206236, \"MicroF1\": 0.9161162933206236, \"MacroF1\": 0.9160540991607554, \"Memory in Mb\": 184.834698677063, \"Time in s\": 15311.95464 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9145412388208016, \"MicroF1\": 0.9145412388208016, \"MacroF1\": 0.91429667624259, \"Memory in Mb\": 191.58009719848636, \"Time in s\": 16433.239395 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9105979487841064, \"MicroF1\": 0.9105979487841064, \"MacroF1\": 0.909716370830996, \"Memory in Mb\": 200.08039951324463, \"Time in s\": 17613.909715 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9068568914587392, \"MicroF1\": 0.9068568914587392, \"MacroF1\": 0.9060681758481206, \"Memory in Mb\": 210.5000762939453, \"Time in s\": 18848.20155 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031190636681168, \"MicroF1\": 0.9031190636681168, \"MacroF1\": 0.9023660107991418, \"Memory in Mb\": 221.55222129821777, \"Time in s\": 20131.794746000003 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9005799007592515, \"MicroF1\": 0.9005799007592515, \"MacroF1\": 0.9001704241319546, \"Memory in Mb\": 231.28063201904297, \"Time in s\": 21466.799965 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8989203384884739, \"MicroF1\": 0.8989203384884739, \"MacroF1\": 0.8987537815839572, \"Memory in Mb\": 248.11264038085935, \"Time in s\": 22840.808564000003 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.893746793592886, \"MicroF1\": 0.8937467935928861, \"MacroF1\": 0.892807745348426, \"Memory in Mb\": 267.53482723236084, \"Time in s\": 24265.711089000004 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8894212021614395, \"MicroF1\": 0.8894212021614395, \"MacroF1\": 0.8884694521151855, \"Memory in Mb\": 281.7739496231079, \"Time in s\": 25739.620728000005 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8911705430579008, \"MicroF1\": 0.8911705430579007, \"MacroF1\": 0.8908032768807751, \"Memory in Mb\": 288.0978307723999, \"Time in s\": 27256.627666000004 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8911387009111739, \"MicroF1\": 0.8911387009111739, \"MacroF1\": 0.8906428613252552, \"Memory in Mb\": 296.0527210235596, \"Time in s\": 28820.747713000004 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8886049543676662, \"MicroF1\": 0.8886049543676662, \"MacroF1\": 0.8879368647002966, \"Memory in Mb\": 307.6826677322388, \"Time in s\": 30435.23145800001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8895470561201042, \"MicroF1\": 0.8895470561201042, \"MacroF1\": 0.889061241536932, \"Memory in Mb\": 313.4344787597656, \"Time in s\": 32089.799369000008 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8862488119653844, \"MicroF1\": 0.8862488119653844, \"MacroF1\": 0.8855123768505595, \"Memory in Mb\": 324.9442596435547, \"Time in s\": 33786.733744000005 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8810726015981175, \"MicroF1\": 0.8810726015981175, \"MacroF1\": 0.8799282628097613, \"Memory in Mb\": 338.1390075683594, \"Time in s\": 35528.434162000005 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3555555555555555, \"MicroF1\": 0.3555555555555555, \"MacroF1\": 0.2468487394957983, \"Memory in Mb\": 2.5926971435546875, \"Time in s\": 5.672061 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5274725274725275, \"MicroF1\": 0.5274725274725275, \"MacroF1\": 0.5392220990960486, \"Memory in Mb\": 2.5963096618652344, \"Time in s\": 17.740863 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5401459854014599, \"MicroF1\": 0.5401459854014599, \"MacroF1\": 0.5661177456005042, \"Memory in Mb\": 2.5979232788085938, \"Time in s\": 35.937815 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.6144104879239446, \"Memory in Mb\": 2.6004638671875, \"Time in s\": 59.975895 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6200873362445415, \"MicroF1\": 0.6200873362445415, \"MacroF1\": 0.6319742698014011, \"Memory in Mb\": 2.6008224487304688, \"Time in s\": 89.681265 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6327272727272727, \"MicroF1\": 0.6327272727272727, \"MacroF1\": 0.6440706793955739, \"Memory in Mb\": 2.601276397705078, \"Time in s\": 125.043898 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6573208722741433, \"MicroF1\": 0.6573208722741433, \"MacroF1\": 0.6535377647060517, \"Memory in Mb\": 2.6028709411621094, \"Time in s\": 166.036362 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6784741144414169, \"MicroF1\": 0.6784741144414169, \"MacroF1\": 0.6717418242612484, \"Memory in Mb\": 2.6031723022460938, \"Time in s\": 212.735146 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6900726392251816, \"MicroF1\": 0.6900726392251816, \"MacroF1\": 0.6823551618652942, \"Memory in Mb\": 2.603717803955078, \"Time in s\": 265.175489 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6971677559912854, \"MicroF1\": 0.6971677559912854, \"MacroF1\": 0.686858403065277, \"Memory in Mb\": 2.60379409790039, \"Time in s\": 323.486791 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.699009900990099, \"MicroF1\": 0.699009900990099, \"MacroF1\": 0.6869845800125663, \"Memory in Mb\": 2.604084014892578, \"Time in s\": 387.600808 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6987295825771325, \"MicroF1\": 0.6987295825771325, \"MacroF1\": 0.6895132041566728, \"Memory in Mb\": 2.6040496826171875, \"Time in s\": 457.323817 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7035175879396985, \"MicroF1\": 0.7035175879396985, \"MacroF1\": 0.6939747146282641, \"Memory in Mb\": 2.6041183471679688, \"Time in s\": 532.682096 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6998444790046656, \"MicroF1\": 0.6998444790046656, \"MacroF1\": 0.6913714585468268, \"Memory in Mb\": 2.6053123474121094, \"Time in s\": 613.490084 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7024673439767779, \"MicroF1\": 0.7024673439767779, \"MacroF1\": 0.6944906634267102, \"Memory in Mb\": 2.6058921813964844, \"Time in s\": 699.880084 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7020408163265306, \"MicroF1\": 0.7020408163265306, \"MacroF1\": 0.69548275919944, \"Memory in Mb\": 2.605987548828125, \"Time in s\": 791.65329 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.706786171574904, \"MicroF1\": 0.706786171574904, \"MacroF1\": 0.6991539785967766, \"Memory in Mb\": 2.6064224243164062, \"Time in s\": 888.981823 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7085852478839177, \"MicroF1\": 0.7085852478839177, \"MacroF1\": 0.70309750989463, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 991.647497 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.715922107674685, \"MicroF1\": 0.7159221076746849, \"MacroF1\": 0.7073525059690206, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1099.573439 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7170837867247007, \"MicroF1\": 0.7170837867247007, \"MacroF1\": 0.707165908654469, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1212.915424 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7160621761658031, \"MicroF1\": 0.716062176165803, \"MacroF1\": 0.7063689525089133, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1331.559339 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7151335311572701, \"MicroF1\": 0.7151335311572701, \"MacroF1\": 0.7047830593764105, \"Memory in Mb\": 2.6064910888671875, \"Time in s\": 1455.3800170000002 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7152317880794702, \"MicroF1\": 0.7152317880794702, \"MacroF1\": 0.7037726227430311, \"Memory in Mb\": 2.606658935546875, \"Time in s\": 1584.327081 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.71441523118767, \"MicroF1\": 0.71441523118767, \"MacroF1\": 0.7026447500373862, \"Memory in Mb\": 2.6067771911621094, \"Time in s\": 1718.245947 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7162750217580505, \"MicroF1\": 0.7162750217580505, \"MacroF1\": 0.7030218527348165, \"Memory in Mb\": 2.6067771911621094, \"Time in s\": 1857.022931 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7179916317991631, \"MicroF1\": 0.7179916317991631, \"MacroF1\": 0.705575475090573, \"Memory in Mb\": 2.379610061645508, \"Time in s\": 2000.273372 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7155519742143432, \"MicroF1\": 0.7155519742143431, \"MacroF1\": 0.7053749246401603, \"Memory in Mb\": 3.185004234313965, \"Time in s\": 2147.034729 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7156177156177156, \"MicroF1\": 0.7156177156177156, \"MacroF1\": 0.7041730806550314, \"Memory in Mb\": 3.633350372314453, \"Time in s\": 2296.192092 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7149287321830458, \"MicroF1\": 0.7149287321830458, \"MacroF1\": 0.7045092702498074, \"Memory in Mb\": 4.368736267089844, \"Time in s\": 2447.850078 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7186366932559826, \"MicroF1\": 0.7186366932559827, \"MacroF1\": 0.7102131417787841, \"Memory in Mb\": 4.724300384521484, \"Time in s\": 2601.871177 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7256140350877193, \"MicroF1\": 0.7256140350877193, \"MacroF1\": 0.7174099613082184, \"Memory in Mb\": 4.89253044128418, \"Time in s\": 2758.036552 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7273963290278722, \"MicroF1\": 0.7273963290278722, \"MacroF1\": 0.7183919320082559, \"Memory in Mb\": 5.412370681762695, \"Time in s\": 2916.512936 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7211601845748187, \"MicroF1\": 0.7211601845748187, \"MacroF1\": 0.7136134581802791, \"Memory in Mb\": 6.487729072570801, \"Time in s\": 3077.492565 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7172104926423545, \"MicroF1\": 0.7172104926423546, \"MacroF1\": 0.7129536273040751, \"Memory in Mb\": 6.405126571655273, \"Time in s\": 3241.109 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7209446861404599, \"MicroF1\": 0.7209446861404599, \"MacroF1\": 0.7163536024764182, \"Memory in Mb\": 6.857941627502441, \"Time in s\": 3407.317179 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7238670694864048, \"MicroF1\": 0.7238670694864048, \"MacroF1\": 0.7196892738307762, \"Memory in Mb\": 7.034061431884766, \"Time in s\": 3576.258732 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7260435038212816, \"MicroF1\": 0.7260435038212816, \"MacroF1\": 0.7238533950478148, \"Memory in Mb\": 7.623349189758301, \"Time in s\": 3747.864612 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7309673726388094, \"MicroF1\": 0.7309673726388093, \"MacroF1\": 0.7286270619416129, \"Memory in Mb\": 8.106144905090332, \"Time in s\": 3922.063963000001 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7361963190184049, \"MicroF1\": 0.7361963190184049, \"MacroF1\": 0.7329274067865035, \"Memory in Mb\": 8.185744285583496, \"Time in s\": 4098.8506050000005 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7389885807504079, \"MicroF1\": 0.7389885807504077, \"MacroF1\": 0.7360694376974826, \"Memory in Mb\": 8.929247856140137, \"Time in s\": 4278.2789060000005 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7411140583554376, \"MicroF1\": 0.7411140583554376, \"MacroF1\": 0.7396669191579938, \"Memory in Mb\": 9.100563049316406, \"Time in s\": 4460.600751000001 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7431382703262558, \"MicroF1\": 0.7431382703262558, \"MacroF1\": 0.7411378754700444, \"Memory in Mb\": 9.223885536193848, \"Time in s\": 4645.683986000001 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7465857359635811, \"MicroF1\": 0.746585735963581, \"MacroF1\": 0.744200926808846, \"Memory in Mb\": 9.401692390441896, \"Time in s\": 4833.458731000001 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7508650519031141, \"MicroF1\": 0.7508650519031143, \"MacroF1\": 0.7476945996538615, \"Memory in Mb\": 9.481804847717283, \"Time in s\": 5024.230846 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7549540840985983, \"MicroF1\": 0.7549540840985983, \"MacroF1\": 0.7524477298078486, \"Memory in Mb\": 9.431160926818848, \"Time in s\": 5217.969956000001 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7583924349881797, \"MicroF1\": 0.7583924349881797, \"MacroF1\": 0.7554386161495508, \"Memory in Mb\": 9.549637794494627, \"Time in s\": 5414.604524000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7607589079130033, \"MicroF1\": 0.7607589079130033, \"MacroF1\": 0.7577216433051415, \"Memory in Mb\": 10.151451110839844, \"Time in s\": 5614.378132000002 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7648391481649298, \"MicroF1\": 0.7648391481649298, \"MacroF1\": 0.7614528787516565, \"Memory in Mb\": 9.14443588256836, \"Time in s\": 5817.274926000002 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7652019529516201, \"MicroF1\": 0.7652019529516201, \"MacroF1\": 0.762166830901651, \"Memory in Mb\": 8.801234245300293, \"Time in s\": 6023.198429000002 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7672901261418008, \"MicroF1\": 0.7672901261418008, \"MacroF1\": 0.7647372124971393, \"Memory in Mb\": 8.857858657836914, \"Time in s\": 6232.074878000002 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7669987007362494, \"MicroF1\": 0.7669987007362494, \"MacroF1\": 0.7647069285577738, \"Memory in Mb\": 8.926526069641113, \"Time in s\": 6441.814766000002 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6388625592417062, \"MicroF1\": 0.6388625592417062, \"MacroF1\": 0.6031100134310133, \"Memory in Mb\": 8.730474472045898, \"Time in s\": 177.190345 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.659403126480341, \"MicroF1\": 0.659403126480341, \"MacroF1\": 0.6244477305834598, \"Memory in Mb\": 21.138185501098636, \"Time in s\": 477.6689290000001 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6722450268392801, \"MicroF1\": 0.6722450268392801, \"MacroF1\": 0.6321534006670183, \"Memory in Mb\": 28.433568000793457, \"Time in s\": 884.814326 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.680322045938906, \"MicroF1\": 0.680322045938906, \"MacroF1\": 0.6340126191391743, \"Memory in Mb\": 39.2259521484375, \"Time in s\": 1406.7405990000002 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6878196628149271, \"MicroF1\": 0.6878196628149271, \"MacroF1\": 0.6395508722492685, \"Memory in Mb\": 32.51231288909912, \"Time in s\": 2046.4837620000003 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6876085240726125, \"MicroF1\": 0.6876085240726125, \"MacroF1\": 0.641396967542699, \"Memory in Mb\": 34.57641696929932, \"Time in s\": 2792.1074670000003 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6924638073332431, \"MicroF1\": 0.6924638073332431, \"MacroF1\": 0.6467777725107727, \"Memory in Mb\": 40.06835174560547, \"Time in s\": 3634.422347 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6949212738250267, \"MicroF1\": 0.6949212738250267, \"MacroF1\": 0.6476372139610082, \"Memory in Mb\": 43.01965808868408, \"Time in s\": 4571.1184410000005 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6992528675155214, \"MicroF1\": 0.6992528675155214, \"MacroF1\": 0.6494082466298291, \"Memory in Mb\": 45.71251583099365, \"Time in s\": 5608.992399000001 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7013921772895161, \"MicroF1\": 0.7013921772895161, \"MacroF1\": 0.6506452100316108, \"Memory in Mb\": 50.31043148040772, \"Time in s\": 6744.395149000001 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7043478260869566, \"MicroF1\": 0.7043478260869566, \"MacroF1\": 0.6524912605091605, \"Memory in Mb\": 59.27919769287109, \"Time in s\": 7964.619750000001 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7079946334148843, \"MicroF1\": 0.7079946334148843, \"MacroF1\": 0.6596828376773001, \"Memory in Mb\": 72.61201000213623, \"Time in s\": 9269.589572 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7208421359364756, \"MicroF1\": 0.7208421359364756, \"MacroF1\": 0.7145906055666686, \"Memory in Mb\": 38.78250694274902, \"Time in s\": 10625.218377 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7285395386592708, \"MicroF1\": 0.7285395386592708, \"MacroF1\": 0.7256542392368915, \"Memory in Mb\": 15.54647731781006, \"Time in s\": 12027.231464 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7206263021655408, \"MicroF1\": 0.7206263021655408, \"MacroF1\": 0.7196216319492748, \"Memory in Mb\": 14.88278579711914, \"Time in s\": 13491.676191 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7171352471145309, \"MicroF1\": 0.7171352471145309, \"MacroF1\": 0.7175260611854538, \"Memory in Mb\": 21.28149700164795, \"Time in s\": 15025.812845 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7121051751991533, \"MicroF1\": 0.7121051751991533, \"MacroF1\": 0.7136617513297842, \"Memory in Mb\": 29.336480140686035, \"Time in s\": 16621.157643 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7205240174672489, \"MicroF1\": 0.720524017467249, \"MacroF1\": 0.7180961996594418, \"Memory in Mb\": 20.976608276367188, \"Time in s\": 18267.655245 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7261625878482779, \"MicroF1\": 0.7261625878482779, \"MacroF1\": 0.7198561207408494, \"Memory in Mb\": 15.994047164916992, \"Time in s\": 19960.279521 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7272598134381363, \"MicroF1\": 0.7272598134381363, \"MacroF1\": 0.7183389579277755, \"Memory in Mb\": 17.52824878692627, \"Time in s\": 21708.029386999995 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7281623449830891, \"MicroF1\": 0.7281623449830891, \"MacroF1\": 0.7167723651435352, \"Memory in Mb\": 22.240838050842285, \"Time in s\": 23503.558300999997 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7307477078042272, \"MicroF1\": 0.7307477078042272, \"MacroF1\": 0.7170791531651185, \"Memory in Mb\": 26.114503860473636, \"Time in s\": 25348.434525999997 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7325318071396221, \"MicroF1\": 0.7325318071396222, \"MacroF1\": 0.7165563330554671, \"Memory in Mb\": 27.97449111938477, \"Time in s\": 27240.683159999997 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7353904431203883, \"MicroF1\": 0.7353904431203884, \"MacroF1\": 0.7174524973348954, \"Memory in Mb\": 37.12833023071289, \"Time in s\": 29182.513668999996 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7367703322095533, \"MicroF1\": 0.7367703322095533, \"MacroF1\": 0.7168965346030137, \"Memory in Mb\": 31.575971603393555, \"Time in s\": 31184.058177999992 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.738371881260244, \"MicroF1\": 0.738371881260244, \"MacroF1\": 0.7164257197178175, \"Memory in Mb\": 35.22733116149902, \"Time in s\": 33213.34443999999 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366279681526429, \"MicroF1\": 0.7366279681526429, \"MacroF1\": 0.7161250847684691, \"Memory in Mb\": 17.50509262084961, \"Time in s\": 35271.15690999999 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7354483038522678, \"MicroF1\": 0.7354483038522677, \"MacroF1\": 0.719616514898752, \"Memory in Mb\": 22.40646266937256, \"Time in s\": 37354.25785299999 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7348724814681775, \"MicroF1\": 0.7348724814681775, \"MacroF1\": 0.7237598149406717, \"Memory in Mb\": 31.22674369812012, \"Time in s\": 39459.62893099999 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7347769815966413, \"MicroF1\": 0.7347769815966413, \"MacroF1\": 0.7275990709197302, \"Memory in Mb\": 35.24118995666504, \"Time in s\": 41587.29474699999 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7351458683366427, \"MicroF1\": 0.7351458683366427, \"MacroF1\": 0.7308983066693725, \"Memory in Mb\": 48.40772724151611, \"Time in s\": 43729.93044799999 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7303423988636027, \"MicroF1\": 0.7303423988636027, \"MacroF1\": 0.7274356410957497, \"Memory in Mb\": 77.28174114227295, \"Time in s\": 45887.55412199999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.726805750853732, \"MicroF1\": 0.726805750853732, \"MacroF1\": 0.723911701718825, \"Memory in Mb\": 53.16175174713135, \"Time in s\": 48068.300588999984 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7248976408656658, \"MicroF1\": 0.7248976408656659, \"MacroF1\": 0.7218080521646734, \"Memory in Mb\": 41.53026580810547, \"Time in s\": 50265.61973699999 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7215833761735978, \"MicroF1\": 0.7215833761735979, \"MacroF1\": 0.7182506744185386, \"Memory in Mb\": 35.33352756500244, \"Time in s\": 52485.18591199999 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7196369854004998, \"MicroF1\": 0.7196369854004999, \"MacroF1\": 0.7160236415660819, \"Memory in Mb\": 44.00273513793945, \"Time in s\": 54721.05808499999 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7175142688950884, \"MicroF1\": 0.7175142688950884, \"MacroF1\": 0.713988650041017, \"Memory in Mb\": 46.12203025817871, \"Time in s\": 56978.30571199999 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7158023276098388, \"MicroF1\": 0.7158023276098388, \"MacroF1\": 0.7126852582249207, \"Memory in Mb\": 27.841010093688965, \"Time in s\": 59249.54765999999 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7157322196051769, \"MicroF1\": 0.715732219605177, \"MacroF1\": 0.7129296468122535, \"Memory in Mb\": 21.849401473999023, \"Time in s\": 61534.70422899999 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7156656170837378, \"MicroF1\": 0.7156656170837377, \"MacroF1\": 0.7131576552849198, \"Memory in Mb\": 28.021278381347656, \"Time in s\": 63833.59664899999 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.715925626515764, \"MicroF1\": 0.715925626515764, \"MacroF1\": 0.7137513847694824, \"Memory in Mb\": 36.50454139709473, \"Time in s\": 66146.66403399999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7161958016730176, \"MicroF1\": 0.7161958016730177, \"MacroF1\": 0.7143198962298327, \"Memory in Mb\": 46.888444900512695, \"Time in s\": 68474.34057599999 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7170260092056291, \"MicroF1\": 0.7170260092056291, \"MacroF1\": 0.7151715877390813, \"Memory in Mb\": 47.08374786376953, \"Time in s\": 70816.527322 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7181843617502098, \"MicroF1\": 0.7181843617502098, \"MacroF1\": 0.7162864260409335, \"Memory in Mb\": 43.18325901031494, \"Time in s\": 73172.526917 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7179023127591069, \"MicroF1\": 0.7179023127591069, \"MacroF1\": 0.716246618663062, \"Memory in Mb\": 54.80090522766113, \"Time in s\": 75543.857611 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7211528564076171, \"MicroF1\": 0.7211528564076171, \"MacroF1\": 0.719707905487922, \"Memory in Mb\": 60.4919376373291, \"Time in s\": 77931.086228 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7250710241582882, \"MicroF1\": 0.7250710241582882, \"MacroF1\": 0.7236001513027165, \"Memory in Mb\": 35.55128765106201, \"Time in s\": 80332.853368 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7288259316984631, \"MicroF1\": 0.7288259316984631, \"MacroF1\": 0.7271241427068512, \"Memory in Mb\": 21.017152786254883, \"Time in s\": 82746.274567 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7329107318864387, \"MicroF1\": 0.7329107318864386, \"MacroF1\": 0.7308784460773333, \"Memory in Mb\": 26.768343925476078, \"Time in s\": 85169.877802 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7359230288452433, \"MicroF1\": 0.7359230288452432, \"MacroF1\": 0.7343606492383059, \"Memory in Mb\": 9.57052230834961, \"Time in s\": 87600.592492 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7361628853104244, \"MicroF1\": 0.7361628853104244, \"MacroF1\": 0.7346220154259927, \"Memory in Mb\": 9.63199520111084, \"Time in s\": 90031.55993999999 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9901719901719902, \"MicroF1\": 0.9901719901719902, \"MacroF1\": 0.8308395677472984, \"Memory in Mb\": 1.027322769165039, \"Time in s\": 17.348128 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9877300613496932, \"MicroF1\": 0.9877300613496932, \"MacroF1\": 0.9320293882508496, \"Memory in Mb\": 2.6651391983032227, \"Time in s\": 54.406226 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.982829108748978, \"MicroF1\": 0.982829108748978, \"MacroF1\": 0.9464059415055076, \"Memory in Mb\": 5.679329872131348, \"Time in s\": 114.007104 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828326180257512, \"MicroF1\": 0.9828326180257512, \"MacroF1\": 0.963209755030524, \"Memory in Mb\": 8.335807800292969, \"Time in s\": 201.582874 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.974987739087788, \"MicroF1\": 0.974987739087788, \"MacroF1\": 0.9373958892668122, \"Memory in Mb\": 12.631415367126465, \"Time in s\": 318.920922 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.970167552104618, \"MicroF1\": 0.970167552104618, \"MacroF1\": 0.957381800109682, \"Memory in Mb\": 16.891732215881348, \"Time in s\": 465.74626 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9660245183887916, \"MicroF1\": 0.9660245183887916, \"MacroF1\": 0.93947544504001, \"Memory in Mb\": 22.937668800354004, \"Time in s\": 641.328845 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9616916947594238, \"MicroF1\": 0.9616916947594238, \"MacroF1\": 0.9454054748805116, \"Memory in Mb\": 29.12161636352539, \"Time in s\": 847.207258 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607736311631708, \"MicroF1\": 0.9607736311631708, \"MacroF1\": 0.953605417859829, \"Memory in Mb\": 28.669262886047363, \"Time in s\": 1081.626023 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9578328021573916, \"MicroF1\": 0.9578328021573916, \"MacroF1\": 0.9463612240153172, \"Memory in Mb\": 34.20732402801514, \"Time in s\": 1345.493591 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589926454201024, \"MicroF1\": 0.9589926454201024, \"MacroF1\": 0.9613092683363472, \"Memory in Mb\": 18.652557373046875, \"Time in s\": 1636.499529 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.960776302349336, \"MicroF1\": 0.960776302349336, \"MacroF1\": 0.9605208703626084, \"Memory in Mb\": 20.81053066253662, \"Time in s\": 1952.783692 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9615312087497644, \"MicroF1\": 0.9615312087497644, \"MacroF1\": 0.960303314983038, \"Memory in Mb\": 27.91543483734131, \"Time in s\": 2294.145458 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9616529504465068, \"MicroF1\": 0.9616529504465068, \"MacroF1\": 0.9605387671994152, \"Memory in Mb\": 32.60424041748047, \"Time in s\": 2660.691575 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9597973525085798, \"MicroF1\": 0.9597973525085798, \"MacroF1\": 0.9561203427932812, \"Memory in Mb\": 39.11091995239258, \"Time in s\": 3053.193204 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589397885705532, \"MicroF1\": 0.9589397885705532, \"MacroF1\": 0.9571591040678328, \"Memory in Mb\": 29.255366325378414, \"Time in s\": 3470.643733 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.959913482335977, \"MicroF1\": 0.959913482335977, \"MacroF1\": 0.9605956598361812, \"Memory in Mb\": 31.930577278137207, \"Time in s\": 3910.602191 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9602342366880022, \"MicroF1\": 0.9602342366880022, \"MacroF1\": 0.95986198823556, \"Memory in Mb\": 26.562703132629395, \"Time in s\": 4374.151898 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9601341762353244, \"MicroF1\": 0.9601341762353244, \"MacroF1\": 0.959651045460586, \"Memory in Mb\": 31.588034629821777, \"Time in s\": 4858.190889 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9584507905380562, \"MicroF1\": 0.9584507905380562, \"MacroF1\": 0.9567204261955368, \"Memory in Mb\": 39.12565612792969, \"Time in s\": 5363.543193 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9579782887825375, \"MicroF1\": 0.9579782887825375, \"MacroF1\": 0.957794146577291, \"Memory in Mb\": 44.816758155822754, \"Time in s\": 5892.06228 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9579944289693594, \"MicroF1\": 0.9579944289693594, \"MacroF1\": 0.9581242571113368, \"Memory in Mb\": 49.5586576461792, \"Time in s\": 6445.036349 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9570499840136416, \"MicroF1\": 0.9570499840136416, \"MacroF1\": 0.9565283447410108, \"Memory in Mb\": 50.18536758422852, \"Time in s\": 7025.065903 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563885200694516, \"MicroF1\": 0.9563885200694516, \"MacroF1\": 0.9560487952418978, \"Memory in Mb\": 54.40623474121094, \"Time in s\": 7630.795018999999 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9532307088930289, \"MicroF1\": 0.9532307088930289, \"MacroF1\": 0.9512518567217172, \"Memory in Mb\": 66.82855319976807, \"Time in s\": 8267.200675 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9519185443574998, \"MicroF1\": 0.9519185443574998, \"MacroF1\": 0.9512557409849248, \"Memory in Mb\": 41.17615795135498, \"Time in s\": 8934.408603 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9528824330458464, \"MicroF1\": 0.9528824330458464, \"MacroF1\": 0.953398407731189, \"Memory in Mb\": 32.87209510803223, \"Time in s\": 9625.903537 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953689923837871, \"MicroF1\": 0.953689923837871, \"MacroF1\": 0.9540175301991308, \"Memory in Mb\": 28.078542709350582, \"Time in s\": 10339.782646 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9542726734849124, \"MicroF1\": 0.9542726734849124, \"MacroF1\": 0.9545119777330118, \"Memory in Mb\": 20.280012130737305, \"Time in s\": 11070.86282 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955470218155078, \"MicroF1\": 0.955470218155078, \"MacroF1\": 0.9559406438939212, \"Memory in Mb\": 21.54300308227539, \"Time in s\": 11820.445116 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9559579346880684, \"MicroF1\": 0.9559579346880684, \"MacroF1\": 0.9561632451269844, \"Memory in Mb\": 26.89114284515381, \"Time in s\": 12588.394717 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9558789735733436, \"MicroF1\": 0.9558789735733436, \"MacroF1\": 0.9559075747932771, \"Memory in Mb\": 21.382742881774902, \"Time in s\": 13375.587705000002 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563247418851668, \"MicroF1\": 0.9563247418851668, \"MacroF1\": 0.9565051554876024, \"Memory in Mb\": 21.864919662475582, \"Time in s\": 14180.68998 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.956960565207988, \"MicroF1\": 0.956960565207988, \"MacroF1\": 0.9571856017401092, \"Memory in Mb\": 25.72835636138916, \"Time in s\": 15004.794290000002 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566496253239022, \"MicroF1\": 0.9566496253239022, \"MacroF1\": 0.9566382966080724, \"Memory in Mb\": 21.764866828918457, \"Time in s\": 15848.339318000002 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.957241097569279, \"MicroF1\": 0.9572410975692792, \"MacroF1\": 0.957426459656079, \"Memory in Mb\": 25.14582061767578, \"Time in s\": 16708.048820000004 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9580655846306724, \"MicroF1\": 0.9580655846306724, \"MacroF1\": 0.958277362015896, \"Memory in Mb\": 26.658535957336422, \"Time in s\": 17588.164126000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9584596529703928, \"MicroF1\": 0.9584596529703928, \"MacroF1\": 0.9585840009788792, \"Memory in Mb\": 30.76789283752441, \"Time in s\": 18489.703328000003 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.958079316196342, \"MicroF1\": 0.958079316196342, \"MacroF1\": 0.9580713134265896, \"Memory in Mb\": 27.786094665527344, \"Time in s\": 19412.324967000004 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.958514614866107, \"MicroF1\": 0.958514614866107, \"MacroF1\": 0.9586173296332884, \"Memory in Mb\": 25.79348850250244, \"Time in s\": 20355.979039000005 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9577330065164106, \"MicroF1\": 0.9577330065164106, \"MacroF1\": 0.9576699214368118, \"Memory in Mb\": 33.630208015441895, \"Time in s\": 21321.132478000007 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9576305806828128, \"MicroF1\": 0.9576305806828128, \"MacroF1\": 0.9576693803774444, \"Memory in Mb\": 33.920249938964844, \"Time in s\": 22315.653729000005 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.956506868836573, \"MicroF1\": 0.956506868836573, \"MacroF1\": 0.9564470129227676, \"Memory in Mb\": 31.50515556335449, \"Time in s\": 23335.132930000003 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563812600969306, \"MicroF1\": 0.9563812600969306, \"MacroF1\": 0.9564135249623557, \"Memory in Mb\": 19.79563045501709, \"Time in s\": 24372.247222 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9569148646440436, \"MicroF1\": 0.9569148646440436, \"MacroF1\": 0.9569804233582648, \"Memory in Mb\": 23.70892333984375, \"Time in s\": 25428.663478 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9574252677572336, \"MicroF1\": 0.9574252677572336, \"MacroF1\": 0.957475477736454, \"Memory in Mb\": 21.893744468688965, \"Time in s\": 26504.246634000003 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568187744458932, \"MicroF1\": 0.9568187744458932, \"MacroF1\": 0.956806677474395, \"Memory in Mb\": 28.04871368408203, \"Time in s\": 27598.635240000003 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567992646683348, \"MicroF1\": 0.9567992646683348, \"MacroF1\": 0.9568012672257532, \"Memory in Mb\": 32.11082458496094, \"Time in s\": 28712.463090000005 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9565304386974138, \"MicroF1\": 0.9565304386974138, \"MacroF1\": 0.9565268274864178, \"Memory in Mb\": 40.13526153564453, \"Time in s\": 29849.822929000005 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9559292122162852, \"MicroF1\": 0.9559292122162852, \"MacroF1\": 0.9559196349550496, \"Memory in Mb\": 39.63601016998291, \"Time in s\": 31009.846621000004 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5111111111111111, \"MicroF1\": 0.5111111111111111, \"MacroF1\": 0.4093857832988268, \"Memory in Mb\": 0.0911636352539062, \"Time in s\": 0.155273 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6043956043956044, \"MicroF1\": 0.6043956043956044, \"MacroF1\": 0.5940974230447915, \"Memory in Mb\": 0.16827392578125, \"Time in s\": 0.72683 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6715328467153284, \"MicroF1\": 0.6715328467153284, \"MacroF1\": 0.6806196928151186, \"Memory in Mb\": 0.245431900024414, \"Time in s\": 1.742293 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7049180327868853, \"MicroF1\": 0.7049180327868853, \"MacroF1\": 0.7184732466987995, \"Memory in Mb\": 0.3220462799072265, \"Time in s\": 3.340711 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.74235807860262, \"MicroF1\": 0.74235807860262, \"MacroF1\": 0.7523809662907407, \"Memory in Mb\": 0.3991765975952148, \"Time in s\": 5.610709 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7490909090909091, \"MicroF1\": 0.7490909090909091, \"MacroF1\": 0.7611097615339608, \"Memory in Mb\": 0.4767560958862304, \"Time in s\": 8.7745 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7663551401869159, \"MicroF1\": 0.766355140186916, \"MacroF1\": 0.7725898650917747, \"Memory in Mb\": 0.5538606643676758, \"Time in s\": 12.918764 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.784741144414169, \"MicroF1\": 0.7847411444141691, \"MacroF1\": 0.7844949397573193, \"Memory in Mb\": 0.6304874420166016, \"Time in s\": 18.189003 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7990314769975787, \"MicroF1\": 0.7990314769975787, \"MacroF1\": 0.7976353129150817, \"Memory in Mb\": 0.7076187133789062, \"Time in s\": 24.731741 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7952069716775599, \"MicroF1\": 0.7952069716775599, \"MacroF1\": 0.7930763833747545, \"Memory in Mb\": 0.7847471237182617, \"Time in s\": 32.681045 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7960396039603961, \"MicroF1\": 0.7960396039603961, \"MacroF1\": 0.7941234022368324, \"Memory in Mb\": 3.003793716430664, \"Time in s\": 61.21191 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8021778584392014, \"MicroF1\": 0.8021778584392014, \"MacroF1\": 0.8007250644998717, \"Memory in Mb\": 3.2264842987060547, \"Time in s\": 91.162029 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8090452261306532, \"MicroF1\": 0.8090452261306531, \"MacroF1\": 0.8095532779239047, \"Memory in Mb\": 3.4499826431274414, \"Time in s\": 122.67972799999998 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8164852255054432, \"MicroF1\": 0.8164852255054433, \"MacroF1\": 0.8176018556357175, \"Memory in Mb\": 3.6760778427124015, \"Time in s\": 155.77468699999997 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8214804063860668, \"MicroF1\": 0.8214804063860668, \"MacroF1\": 0.8221151176242331, \"Memory in Mb\": 3.8941650390625, \"Time in s\": 190.537277 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8272108843537415, \"MicroF1\": 0.8272108843537415, \"MacroF1\": 0.8281233770721121, \"Memory in Mb\": 4.128121376037598, \"Time in s\": 227.085503 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8361075544174136, \"MicroF1\": 0.8361075544174136, \"MacroF1\": 0.8364659566156888, \"Memory in Mb\": 4.367749214172363, \"Time in s\": 265.419762 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8403869407496977, \"MicroF1\": 0.8403869407496977, \"MacroF1\": 0.8412749002251585, \"Memory in Mb\": 4.601743698120117, \"Time in s\": 305.543518 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.845360824742268, \"MicroF1\": 0.845360824742268, \"MacroF1\": 0.8465057584066101, \"Memory in Mb\": 4.840575218200684, \"Time in s\": 347.501906 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8487486398258978, \"MicroF1\": 0.8487486398258978, \"MacroF1\": 0.8489576083149123, \"Memory in Mb\": 5.074535369873047, \"Time in s\": 391.430234 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8538860103626943, \"MicroF1\": 0.8538860103626943, \"MacroF1\": 0.8530581393966605, \"Memory in Mb\": 5.3079938888549805, \"Time in s\": 437.316456 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8585558852621167, \"MicroF1\": 0.8585558852621167, \"MacroF1\": 0.8570252804249208, \"Memory in Mb\": 5.479596138000488, \"Time in s\": 485.23685 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8628192999053926, \"MicroF1\": 0.8628192999053927, \"MacroF1\": 0.8611045332429007, \"Memory in Mb\": 5.435150146484375, \"Time in s\": 535.278485 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8631006346328196, \"MicroF1\": 0.8631006346328196, \"MacroF1\": 0.8616288881212748, \"Memory in Mb\": 5.355225563049316, \"Time in s\": 587.436372 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8668407310704961, \"MicroF1\": 0.8668407310704961, \"MacroF1\": 0.8650902600877293, \"Memory in Mb\": 5.281754493713379, \"Time in s\": 641.538536 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8719665271966527, \"MicroF1\": 0.8719665271966527, \"MacroF1\": 0.8702683106604537, \"Memory in Mb\": 5.235520362854004, \"Time in s\": 697.554251 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8759065269943593, \"MicroF1\": 0.8759065269943593, \"MacroF1\": 0.8740479640614998, \"Memory in Mb\": 5.142333984375, \"Time in s\": 755.471933 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8787878787878788, \"MicroF1\": 0.8787878787878788, \"MacroF1\": 0.8772603222806128, \"Memory in Mb\": 5.092559814453125, \"Time in s\": 815.138635 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8777194298574643, \"MicroF1\": 0.8777194298574643, \"MacroF1\": 0.8760741143565023, \"Memory in Mb\": 5.055940628051758, \"Time in s\": 876.491339 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8796229151559101, \"MicroF1\": 0.8796229151559101, \"MacroF1\": 0.8783130803325612, \"Memory in Mb\": 4.964084625244141, \"Time in s\": 939.483975 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8785964912280702, \"MicroF1\": 0.8785964912280702, \"MacroF1\": 0.8768931648451159, \"Memory in Mb\": 4.951287269592285, \"Time in s\": 1004.010152 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8769544527532291, \"MicroF1\": 0.8769544527532291, \"MacroF1\": 0.8748964905672628, \"Memory in Mb\": 4.969002723693848, \"Time in s\": 1070.168576 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8727752142386289, \"MicroF1\": 0.8727752142386289, \"MacroF1\": 0.8705110235515202, \"Memory in Mb\": 5.101251602172852, \"Time in s\": 1138.304608 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8688419705694178, \"MicroF1\": 0.8688419705694178, \"MacroF1\": 0.8667015278861958, \"Memory in Mb\": 5.262187957763672, \"Time in s\": 1208.4659419999998 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8651336233685519, \"MicroF1\": 0.8651336233685519, \"MacroF1\": 0.8631350462642483, \"Memory in Mb\": 5.320252418518066, \"Time in s\": 1280.5305069999995 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8640483383685801, \"MicroF1\": 0.8640483383685801, \"MacroF1\": 0.8620479268968886, \"Memory in Mb\": 5.35189151763916, \"Time in s\": 1354.3819709999998 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8647854203409759, \"MicroF1\": 0.8647854203409759, \"MacroF1\": 0.8635043959538364, \"Memory in Mb\": 5.359102249145508, \"Time in s\": 1430.0286029999995 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.866056096164854, \"MicroF1\": 0.866056096164854, \"MacroF1\": 0.864439618601765, \"Memory in Mb\": 5.402237892150879, \"Time in s\": 1507.5136589999995 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8683770217512549, \"MicroF1\": 0.8683770217512549, \"MacroF1\": 0.8664209902402824, \"Memory in Mb\": 5.3993330001831055, \"Time in s\": 1586.7199259999998 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8694942903752039, \"MicroF1\": 0.8694942903752039, \"MacroF1\": 0.867597342266498, \"Memory in Mb\": 5.4049272537231445, \"Time in s\": 1667.658732 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8710875331564987, \"MicroF1\": 0.8710875331564986, \"MacroF1\": 0.8694766742923737, \"Memory in Mb\": 5.4121294021606445, \"Time in s\": 1750.3169159999998 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8705334023821854, \"MicroF1\": 0.8705334023821854, \"MacroF1\": 0.8686918451193435, \"Memory in Mb\": 5.405803680419922, \"Time in s\": 1834.60998 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8715225088517956, \"MicroF1\": 0.8715225088517956, \"MacroF1\": 0.8698703895904014, \"Memory in Mb\": 5.395906448364258, \"Time in s\": 1920.517128 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8729609490855166, \"MicroF1\": 0.8729609490855166, \"MacroF1\": 0.870902914954928, \"Memory in Mb\": 5.386837959289551, \"Time in s\": 2008.106455 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8733687771870469, \"MicroF1\": 0.8733687771870469, \"MacroF1\": 0.8714525187304558, \"Memory in Mb\": 5.375288963317871, \"Time in s\": 2097.403794 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.875177304964539, \"MicroF1\": 0.875177304964539, \"MacroF1\": 0.8730645404016979, \"Memory in Mb\": 5.353263854980469, \"Time in s\": 2188.326937 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8745950948634891, \"MicroF1\": 0.8745950948634891, \"MacroF1\": 0.872417325547954, \"Memory in Mb\": 5.322790145874023, \"Time in s\": 2280.882375 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8753964657906661, \"MicroF1\": 0.8753964657906661, \"MacroF1\": 0.8732500176589647, \"Memory in Mb\": 5.30323600769043, \"Time in s\": 2374.975797 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8748335552596538, \"MicroF1\": 0.8748335552596538, \"MacroF1\": 0.8732733602208504, \"Memory in Mb\": 5.278659820556641, \"Time in s\": 2470.732765 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8742931709438887, \"MicroF1\": 0.8742931709438887, \"MacroF1\": 0.8727466012343671, \"Memory in Mb\": 5.262259483337402, \"Time in s\": 2568.119206 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8735383282806409, \"MicroF1\": 0.8735383282806409, \"MacroF1\": 0.8721361121313428, \"Memory in Mb\": 5.268708229064941, \"Time in s\": 2666.293295 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6597156398104266, \"MicroF1\": 0.6597156398104266, \"MacroF1\": 0.5853273709738578, \"Memory in Mb\": 6.371035575866699, \"Time in s\": 65.756564 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6807200378967314, \"MicroF1\": 0.6807200378967314, \"MacroF1\": 0.5992086579995298, \"Memory in Mb\": 6.278300285339356, \"Time in s\": 182.184591 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6842437638143354, \"MicroF1\": 0.6842437638143354, \"MacroF1\": 0.6001715208792017, \"Memory in Mb\": 6.298460006713867, \"Time in s\": 341.998975 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6848212171442103, \"MicroF1\": 0.6848212171442103, \"MacroF1\": 0.6051604277089342, \"Memory in Mb\": 6.265153884887695, \"Time in s\": 541.5068689999999 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6872513733661678, \"MicroF1\": 0.6872513733661678, \"MacroF1\": 0.611100448555976, \"Memory in Mb\": 6.2555742263793945, \"Time in s\": 777.52113 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6842936069455406, \"MicroF1\": 0.6842936069455406, \"MacroF1\": 0.6118525331169307, \"Memory in Mb\": 6.314010620117188, \"Time in s\": 1048.588472 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6852929238262752, \"MicroF1\": 0.6852929238262752, \"MacroF1\": 0.6157762907660722, \"Memory in Mb\": 6.288516998291016, \"Time in s\": 1352.458798 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6828459808215934, \"MicroF1\": 0.6828459808215934, \"MacroF1\": 0.6148503710479976, \"Memory in Mb\": 6.31680965423584, \"Time in s\": 1687.096094 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6851520572450805, \"MicroF1\": 0.6851520572450805, \"MacroF1\": 0.6155258331015067, \"Memory in Mb\": 6.223039627075195, \"Time in s\": 2051.649807 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6861445212614831, \"MicroF1\": 0.6861445212614831, \"MacroF1\": 0.6169474950376627, \"Memory in Mb\": 6.253497123718262, \"Time in s\": 2444.130945 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6873009040034438, \"MicroF1\": 0.6873009040034438, \"MacroF1\": 0.6200568175672779, \"Memory in Mb\": 6.251482009887695, \"Time in s\": 2863.128904 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6866072133217583, \"MicroF1\": 0.6866072133217583, \"MacroF1\": 0.623883491026523, \"Memory in Mb\": 6.276742935180664, \"Time in s\": 3309.082968 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7020470605376266, \"MicroF1\": 0.7020470605376266, \"MacroF1\": 0.6991473808978487, \"Memory in Mb\": 6.26933479309082, \"Time in s\": 3781.277509 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7077724413177299, \"MicroF1\": 0.7077724413177299, \"MacroF1\": 0.7078402863830927, \"Memory in Mb\": 6.244691848754883, \"Time in s\": 4278.402760999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7016857124818486, \"MicroF1\": 0.7016857124818486, \"MacroF1\": 0.704840832390747, \"Memory in Mb\": 6.350223541259766, \"Time in s\": 4805.403565999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6992009470257473, \"MicroF1\": 0.6992009470257473, \"MacroF1\": 0.7048178275842342, \"Memory in Mb\": 6.243149757385254, \"Time in s\": 5357.683726999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6922734109520361, \"MicroF1\": 0.6922734109520361, \"MacroF1\": 0.6995766929659905, \"Memory in Mb\": 6.218992233276367, \"Time in s\": 5935.240105999998 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6974272636397116, \"MicroF1\": 0.6974272636397116, \"MacroF1\": 0.7006862112488368, \"Memory in Mb\": 6.24652099609375, \"Time in s\": 6538.276384999998 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.699845486716842, \"MicroF1\": 0.699845486716842, \"MacroF1\": 0.6985118222305657, \"Memory in Mb\": 6.205791473388672, \"Time in s\": 7167.459726999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7016904209479615, \"MicroF1\": 0.7016904209479615, \"MacroF1\": 0.6971610909052677, \"Memory in Mb\": 6.218420028686523, \"Time in s\": 7825.840650999999 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7039909808342728, \"MicroF1\": 0.7039909808342728, \"MacroF1\": 0.6964197759629052, \"Memory in Mb\": 6.236072540283203, \"Time in s\": 8511.079801999998 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7076320433902974, \"MicroF1\": 0.7076320433902974, \"MacroF1\": 0.697368621848442, \"Memory in Mb\": 6.279313087463379, \"Time in s\": 9222.986801999998 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7098447729237863, \"MicroF1\": 0.7098447729237863, \"MacroF1\": 0.6967477548491564, \"Memory in Mb\": 6.2948198318481445, \"Time in s\": 9960.927248999997 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7127017322337529, \"MicroF1\": 0.712701732233753, \"MacroF1\": 0.6972185032799825, \"Memory in Mb\": 6.224791526794434, \"Time in s\": 10724.419586999997 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7145346414636918, \"MicroF1\": 0.7145346414636918, \"MacroF1\": 0.6967850611237018, \"Memory in Mb\": 6.263523101806641, \"Time in s\": 11512.986172999998 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7156437807321071, \"MicroF1\": 0.7156437807321071, \"MacroF1\": 0.6955595874776194, \"Memory in Mb\": 6.272575378417969, \"Time in s\": 12326.628602999996 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7130931921012942, \"MicroF1\": 0.7130931921012942, \"MacroF1\": 0.6943090782068162, \"Memory in Mb\": 6.22489070892334, \"Time in s\": 13165.433758999998 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7117732607298678, \"MicroF1\": 0.7117732607298677, \"MacroF1\": 0.6978751959025926, \"Memory in Mb\": 6.217726707458496, \"Time in s\": 14028.837757999998 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7122097769650263, \"MicroF1\": 0.7122097769650264, \"MacroF1\": 0.7026862643890369, \"Memory in Mb\": 6.243690490722656, \"Time in s\": 14916.319239 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7113545250797058, \"MicroF1\": 0.7113545250797058, \"MacroF1\": 0.7052714328980031, \"Memory in Mb\": 6.277059555053711, \"Time in s\": 15827.904481999998 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7111959676187567, \"MicroF1\": 0.7111959676187566, \"MacroF1\": 0.7078689284492299, \"Memory in Mb\": 6.295280456542969, \"Time in s\": 16762.400180999997 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7067562368678051, \"MicroF1\": 0.7067562368678051, \"MacroF1\": 0.704703743720216, \"Memory in Mb\": 6.183221817016602, \"Time in s\": 17721.950532 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7030734353028956, \"MicroF1\": 0.7030734353028956, \"MacroF1\": 0.7010614031639846, \"Memory in Mb\": 6.343389511108398, \"Time in s\": 18710.094933 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6998022449377489, \"MicroF1\": 0.6998022449377489, \"MacroF1\": 0.6976694331042329, \"Memory in Mb\": 6.273009300231934, \"Time in s\": 19725.980479 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6967179847939609, \"MicroF1\": 0.6967179847939609, \"MacroF1\": 0.6945045780432343, \"Memory in Mb\": 6.264690399169922, \"Time in s\": 20767.047301 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6941470472182033, \"MicroF1\": 0.6941470472182033, \"MacroF1\": 0.6917813776610243, \"Memory in Mb\": 6.265054702758789, \"Time in s\": 21835.556239 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.691996621535154, \"MicroF1\": 0.691996621535154, \"MacroF1\": 0.6898060776768534, \"Memory in Mb\": 6.200959205627441, \"Time in s\": 22932.108791 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6904328756199068, \"MicroF1\": 0.6904328756199068, \"MacroF1\": 0.6882031611963276, \"Memory in Mb\": 6.413609504699707, \"Time in s\": 24054.967875 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6916446106403128, \"MicroF1\": 0.6916446106403128, \"MacroF1\": 0.6892941373261507, \"Memory in Mb\": 6.310104370117188, \"Time in s\": 25204.026441 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.692535334643339, \"MicroF1\": 0.692535334643339, \"MacroF1\": 0.6900712004452627, \"Memory in Mb\": 6.22797966003418, \"Time in s\": 26378.286294 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6935904838895947, \"MicroF1\": 0.6935904838895947, \"MacroF1\": 0.6909354899104013, \"Memory in Mb\": 6.220904350280762, \"Time in s\": 27574.213319 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6941895334941715, \"MicroF1\": 0.6941895334941715, \"MacroF1\": 0.691322114366645, \"Memory in Mb\": 6.22946834564209, \"Time in s\": 28791.926615000004 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6950690422181602, \"MicroF1\": 0.6950690422181602, \"MacroF1\": 0.6917362410920441, \"Memory in Mb\": 6.2850341796875, \"Time in s\": 30030.670852000003 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6964466349568473, \"MicroF1\": 0.6964466349568473, \"MacroF1\": 0.6926338572817136, \"Memory in Mb\": 6.233500480651856, \"Time in s\": 31290.345387 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6963530377322755, \"MicroF1\": 0.6963530377322755, \"MacroF1\": 0.6929015597977773, \"Memory in Mb\": 6.243911743164063, \"Time in s\": 32571.46119 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7006073082861555, \"MicroF1\": 0.7006073082861555, \"MacroF1\": 0.697843135408715, \"Memory in Mb\": 6.247167587280273, \"Time in s\": 33874.398319 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7046805424029337, \"MicroF1\": 0.7046805424029337, \"MacroF1\": 0.7023003034160373, \"Memory in Mb\": 6.246943473815918, \"Time in s\": 35198.416197 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7083867658373942, \"MicroF1\": 0.7083867658373942, \"MacroF1\": 0.7061355873839065, \"Memory in Mb\": 6.210485458374023, \"Time in s\": 36536.506394 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7126567844925884, \"MicroF1\": 0.7126567844925883, \"MacroF1\": 0.7104085577951368, \"Memory in Mb\": 6.270394325256348, \"Time in s\": 37890.628371 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7128544101214038, \"MicroF1\": 0.7128544101214038, \"MacroF1\": 0.7110869129037599, \"Memory in Mb\": 6.247260093688965, \"Time in s\": 39264.666928 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7131152194069673, \"MicroF1\": 0.7131152194069672, \"MacroF1\": 0.7113808258412672, \"Memory in Mb\": 6.272693634033203, \"Time in s\": 40639.937472 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 1.0294876098632812, \"Time in s\": 8.610537 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9251533742331288, \"MicroF1\": 0.9251533742331288, \"MacroF1\": 0.8588670451436246, \"Memory in Mb\": 5.3865966796875, \"Time in s\": 60.879099 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9247751430907604, \"MicroF1\": 0.9247751430907604, \"MacroF1\": 0.888226412135106, \"Memory in Mb\": 6.246823310852051, \"Time in s\": 137.71097600000002 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.927038626609442, \"MicroF1\": 0.927038626609442, \"MacroF1\": 0.893336805209695, \"Memory in Mb\": 6.212030410766602, \"Time in s\": 236.990146 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9298675821481118, \"MicroF1\": 0.9298675821481118, \"MacroF1\": 0.911424130088645, \"Memory in Mb\": 6.329436302185059, \"Time in s\": 359.011082 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9239885574172456, \"MicroF1\": 0.9239885574172456, \"MacroF1\": 0.912155547295492, \"Memory in Mb\": 6.208271026611328, \"Time in s\": 503.2068 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9169877408056042, \"MicroF1\": 0.9169877408056042, \"MacroF1\": 0.8816257260944811, \"Memory in Mb\": 6.284844398498535, \"Time in s\": 667.387655 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908979466748391, \"MicroF1\": 0.908979466748391, \"MacroF1\": 0.9011431783951356, \"Memory in Mb\": 6.232160568237305, \"Time in s\": 850.70223 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.913375102152002, \"MicroF1\": 0.913375102152002, \"MacroF1\": 0.9125908871445696, \"Memory in Mb\": 6.234919548034668, \"Time in s\": 1054.346916 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9141946555528316, \"MicroF1\": 0.9141946555528316, \"MacroF1\": 0.9054789816810688, \"Memory in Mb\": 6.308258056640625, \"Time in s\": 1277.35851 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9057276576777356, \"MicroF1\": 0.9057276576777356, \"MacroF1\": 0.9087691557812896, \"Memory in Mb\": 6.274983406066895, \"Time in s\": 1518.241674 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908682328907048, \"MicroF1\": 0.908682328907048, \"MacroF1\": 0.9101970481905532, \"Memory in Mb\": 6.210176467895508, \"Time in s\": 1774.8436390000002 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9092966245521404, \"MicroF1\": 0.9092966245521404, \"MacroF1\": 0.9045962329696908, \"Memory in Mb\": 6.311163902282715, \"Time in s\": 2048.2991580000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9110488530905272, \"MicroF1\": 0.9110488530905272, \"MacroF1\": 0.9114244990736602, \"Memory in Mb\": 6.304790496826172, \"Time in s\": 2337.0378760000003 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9089720542572316, \"MicroF1\": 0.9089720542572316, \"MacroF1\": 0.9032533666541098, \"Memory in Mb\": 6.217576026916504, \"Time in s\": 2640.3521840000003 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.907767734027884, \"MicroF1\": 0.907767734027884, \"MacroF1\": 0.9071900335968284, \"Memory in Mb\": 6.258184432983398, \"Time in s\": 2958.617579 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9105984138428262, \"MicroF1\": 0.9105984138428262, \"MacroF1\": 0.9126270814361048, \"Memory in Mb\": 6.1720380783081055, \"Time in s\": 3289.9253120000003 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9120250578782514, \"MicroF1\": 0.9120250578782514, \"MacroF1\": 0.9125633522308232, \"Memory in Mb\": 6.2164154052734375, \"Time in s\": 3633.832057000001 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9133015094826474, \"MicroF1\": 0.9133015094826474, \"MacroF1\": 0.9136330015220732, \"Memory in Mb\": 6.260525703430176, \"Time in s\": 3992.050824 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9148179924010296, \"MicroF1\": 0.9148179924010296, \"MacroF1\": 0.9154195917586072, \"Memory in Mb\": 6.291139602661133, \"Time in s\": 4363.477247000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9166569394186996, \"MicroF1\": 0.9166569394186996, \"MacroF1\": 0.917708642296068, \"Memory in Mb\": 6.216147422790527, \"Time in s\": 4747.269196000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9179944289693592, \"MicroF1\": 0.9179944289693592, \"MacroF1\": 0.9193727618453186, \"Memory in Mb\": 6.204837799072266, \"Time in s\": 5142.613476000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9180432697431524, \"MicroF1\": 0.9180432697431524, \"MacroF1\": 0.9181590265081532, \"Memory in Mb\": 6.197464942932129, \"Time in s\": 5549.1165660000015 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9166581554488816, \"MicroF1\": 0.9166581554488816, \"MacroF1\": 0.9168210748678532, \"Memory in Mb\": 6.232473373413086, \"Time in s\": 5968.023607000002 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9154819099911756, \"MicroF1\": 0.9154819099911756, \"MacroF1\": 0.9145218669909496, \"Memory in Mb\": 6.197787284851074, \"Time in s\": 6399.011787000002 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9126048835674556, \"MicroF1\": 0.9126048835674556, \"MacroF1\": 0.9111025938131312, \"Memory in Mb\": 6.2185258865356445, \"Time in s\": 6842.990199000003 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9106672719019518, \"MicroF1\": 0.9106672719019518, \"MacroF1\": 0.911227786024665, \"Memory in Mb\": 6.261377334594727, \"Time in s\": 7300.041981000002 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.910356298695614, \"MicroF1\": 0.910356298695614, \"MacroF1\": 0.9101104800687124, \"Memory in Mb\": 6.227293968200684, \"Time in s\": 7769.979179000002 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9092215366410278, \"MicroF1\": 0.9092215366410278, \"MacroF1\": 0.909418612123662, \"Memory in Mb\": 6.287784576416016, \"Time in s\": 8252.975566000001 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9110221423318898, \"MicroF1\": 0.9110221423318898, \"MacroF1\": 0.9118339797691072, \"Memory in Mb\": 6.31197452545166, \"Time in s\": 8747.696417000001 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912627500593026, \"MicroF1\": 0.912627500593026, \"MacroF1\": 0.9131272841889786, \"Memory in Mb\": 6.279851913452148, \"Time in s\": 9255.008595 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9129069322098812, \"MicroF1\": 0.9129069322098812, \"MacroF1\": 0.913006147591119, \"Memory in Mb\": 6.346117973327637, \"Time in s\": 9774.692327 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9136150932184506, \"MicroF1\": 0.9136150932184506, \"MacroF1\": 0.9138210444048112, \"Memory in Mb\": 6.238006591796875, \"Time in s\": 10306.725428000002 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9137769447047798, \"MicroF1\": 0.9137769447047795, \"MacroF1\": 0.913931693448659, \"Memory in Mb\": 6.288792610168457, \"Time in s\": 10851.686584 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.91217872400028, \"MicroF1\": 0.91217872400028, \"MacroF1\": 0.9118234284090696, \"Memory in Mb\": 6.252389907836914, \"Time in s\": 11409.551357 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9133247089262612, \"MicroF1\": 0.9133247089262612, \"MacroF1\": 0.9136581918124824, \"Memory in Mb\": 6.268362998962402, \"Time in s\": 11980.223294 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9134150380920836, \"MicroF1\": 0.9134150380920836, \"MacroF1\": 0.9134700562544148, \"Memory in Mb\": 6.304409027099609, \"Time in s\": 12563.090191 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9127910726956072, \"MicroF1\": 0.9127910726956072, \"MacroF1\": 0.9127632118282708, \"Memory in Mb\": 6.222077369689941, \"Time in s\": 13158.500652 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9127019043429074, \"MicroF1\": 0.9127019043429074, \"MacroF1\": 0.9127365496247324, \"Memory in Mb\": 6.263586044311523, \"Time in s\": 13766.752283999998 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113303511244562, \"MicroF1\": 0.9113303511244562, \"MacroF1\": 0.9110956080213112, \"Memory in Mb\": 6.256609916687012, \"Time in s\": 14388.121762 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.910384408441442, \"MicroF1\": 0.910384408441442, \"MacroF1\": 0.910332436025812, \"Memory in Mb\": 6.208023071289063, \"Time in s\": 15023.088924 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113510358914504, \"MicroF1\": 0.9113510358914504, \"MacroF1\": 0.9114963483082136, \"Memory in Mb\": 6.223179817199707, \"Time in s\": 15670.063673 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113606566721768, \"MicroF1\": 0.9113606566721768, \"MacroF1\": 0.9113826667045092, \"Memory in Mb\": 6.23558235168457, \"Time in s\": 16331.265293 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9114255473232687, \"MicroF1\": 0.911425547323269, \"MacroF1\": 0.9114384409485988, \"Memory in Mb\": 6.255133628845215, \"Time in s\": 17006.553944 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9126858761370444, \"MicroF1\": 0.9126858761370444, \"MacroF1\": 0.9127656000580756, \"Memory in Mb\": 6.270404815673828, \"Time in s\": 17693.792261 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9125059945649278, \"MicroF1\": 0.9125059945649276, \"MacroF1\": 0.9124701420883568, \"Memory in Mb\": 6.180520057678223, \"Time in s\": 18393.849908 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912594524119948, \"MicroF1\": 0.912594524119948, \"MacroF1\": 0.9125632790621416, \"Memory in Mb\": 6.265439987182617, \"Time in s\": 19106.227212 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.913547464637696, \"MicroF1\": 0.913547464637696, \"MacroF1\": 0.9135225066457016, \"Memory in Mb\": 6.303133964538574, \"Time in s\": 19831.701162 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9111099994997748, \"MicroF1\": 0.9111099994997748, \"MacroF1\": 0.910917465793804, \"Memory in Mb\": 6.225028991699219, \"Time in s\": 20571.760391 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9104858081278494, \"MicroF1\": 0.9104858081278494, \"MacroF1\": 0.910327982122686, \"Memory in Mb\": 6.325108528137207, \"Time in s\": 21326.45228 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3111111111111111, \"MicroF1\": 0.3111111111111111, \"MacroF1\": 0.245764972655729, \"Memory in Mb\": 4.105147361755371, \"Time in s\": 2.153154 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4835164835164835, \"MicroF1\": 0.4835164835164835, \"MacroF1\": 0.4934752395581889, \"Memory in Mb\": 4.108363151550293, \"Time in s\": 6.907408 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5528821792646677, \"Memory in Mb\": 4.108027458190918, \"Time in s\": 14.639156 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.614143164890895, \"Memory in Mb\": 4.108977317810059, \"Time in s\": 25.443956 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.62882096069869, \"MicroF1\": 0.62882096069869, \"MacroF1\": 0.6441389332893815, \"Memory in Mb\": 3.881842613220215, \"Time in s\": 39.254234 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.64, \"MicroF1\": 0.64, \"MacroF1\": 0.6559607038460422, \"Memory in Mb\": 3.996514320373535, \"Time in s\": 55.768073 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6697819314641744, \"MicroF1\": 0.6697819314641744, \"MacroF1\": 0.6706320385346652, \"Memory in Mb\": 4.112936019897461, \"Time in s\": 74.877199 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6948228882833788, \"MicroF1\": 0.6948228882833788, \"MacroF1\": 0.6897433526546475, \"Memory in Mb\": 4.112924575805664, \"Time in s\": 96.687005 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.706570530482581, \"Memory in Mb\": 4.117301940917969, \"Time in s\": 121.290167 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7145969498910676, \"MicroF1\": 0.7145969498910676, \"MacroF1\": 0.7071122267088654, \"Memory in Mb\": 4.116390228271484, \"Time in s\": 148.551711 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7247524752475247, \"MicroF1\": 0.7247524752475247, \"MacroF1\": 0.7147973207987898, \"Memory in Mb\": 4.115703582763672, \"Time in s\": 178.365171 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7295825771324864, \"MicroF1\": 0.7295825771324864, \"MacroF1\": 0.7210771168277493, \"Memory in Mb\": 4.115436553955078, \"Time in s\": 210.796119 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7336683417085427, \"MicroF1\": 0.7336683417085426, \"MacroF1\": 0.7250288715672424, \"Memory in Mb\": 4.115207672119141, \"Time in s\": 245.953277 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7325038880248833, \"MicroF1\": 0.7325038880248833, \"MacroF1\": 0.7258924883659029, \"Memory in Mb\": 4.118658065795898, \"Time in s\": 283.80303000000004 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737300435413643, \"MicroF1\": 0.737300435413643, \"MacroF1\": 0.7302536378735861, \"Memory in Mb\": 4.118425369262695, \"Time in s\": 324.296282 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387755102040816, \"MicroF1\": 0.7387755102040816, \"MacroF1\": 0.7329631379486719, \"Memory in Mb\": 4.118097305297852, \"Time in s\": 367.43284 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7439180537772087, \"MicroF1\": 0.7439180537772088, \"MacroF1\": 0.7387105187530085, \"Memory in Mb\": 4.117616653442383, \"Time in s\": 413.28289 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7460701330108828, \"MicroF1\": 0.7460701330108827, \"MacroF1\": 0.7425025596154723, \"Memory in Mb\": 4.117326736450195, \"Time in s\": 461.953497 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7514318442153494, \"MicroF1\": 0.7514318442153494, \"MacroF1\": 0.7467163857842193, \"Memory in Mb\": 4.117303848266602, \"Time in s\": 513.2937440000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750816104461371, \"MicroF1\": 0.750816104461371, \"MacroF1\": 0.7453933609147309, \"Memory in Mb\": 4.117105484008789, \"Time in s\": 567.431634 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7512953367875648, \"MicroF1\": 0.7512953367875648, \"MacroF1\": 0.7451117895470661, \"Memory in Mb\": 4.116701126098633, \"Time in s\": 624.2209760000001 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7507418397626113, \"MicroF1\": 0.7507418397626113, \"MacroF1\": 0.744963080481548, \"Memory in Mb\": 4.116399765014648, \"Time in s\": 683.8404210000001 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7511825922421949, \"MicroF1\": 0.7511825922421949, \"MacroF1\": 0.7446315489945475, \"Memory in Mb\": 4.117582321166992, \"Time in s\": 746.2097300000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7533998186763372, \"MicroF1\": 0.7533998186763373, \"MacroF1\": 0.7466082689908061, \"Memory in Mb\": 4.117956161499023, \"Time in s\": 811.1743250000002 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7563098346388164, \"MicroF1\": 0.7563098346388164, \"MacroF1\": 0.7491651771194966, \"Memory in Mb\": 4.117490768432617, \"Time in s\": 878.6809830000002 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7589958158995815, \"MicroF1\": 0.7589958158995815, \"MacroF1\": 0.7526420027035883, \"Memory in Mb\": 4.117303848266602, \"Time in s\": 948.8627130000002 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.75825946817083, \"MicroF1\": 0.7582594681708301, \"MacroF1\": 0.7524016178277559, \"Memory in Mb\": 4.11713981628418, \"Time in s\": 1021.5806660000002 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7637917637917638, \"MicroF1\": 0.7637917637917638, \"MacroF1\": 0.75666252908711, \"Memory in Mb\": 4.117353439331055, \"Time in s\": 1096.9757510000002 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7636909227306826, \"MicroF1\": 0.7636909227306825, \"MacroF1\": 0.7569484848610158, \"Memory in Mb\": 4.11726188659668, \"Time in s\": 1175.015685 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650471356055112, \"MicroF1\": 0.7650471356055112, \"MacroF1\": 0.7590436403579585, \"Memory in Mb\": 4.11729621887207, \"Time in s\": 1255.693831 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.767719298245614, \"MicroF1\": 0.767719298245614, \"MacroF1\": 0.761211289695921, \"Memory in Mb\": 4.117136001586914, \"Time in s\": 1338.965745 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7722637661454793, \"MicroF1\": 0.7722637661454793, \"MacroF1\": 0.764056696643358, \"Memory in Mb\": 4.117197036743164, \"Time in s\": 1424.822234 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7732366512854317, \"MicroF1\": 0.7732366512854317, \"MacroF1\": 0.764234133414765, \"Memory in Mb\": 4.117246627807617, \"Time in s\": 1513.291691 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7735124760076776, \"MicroF1\": 0.7735124760076776, \"MacroF1\": 0.7653316001442944, \"Memory in Mb\": 4.117277145385742, \"Time in s\": 1604.2857379999998 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737725295214419, \"MicroF1\": 0.7737725295214419, \"MacroF1\": 0.7647353044337893, \"Memory in Mb\": 4.11713981628418, \"Time in s\": 1697.9838939999995 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7734138972809668, \"MicroF1\": 0.7734138972809667, \"MacroF1\": 0.7645730180903108, \"Memory in Mb\": 4.116628646850586, \"Time in s\": 1794.3974679999997 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724867724867724, \"MicroF1\": 0.7724867724867724, \"MacroF1\": 0.7656182355666586, \"Memory in Mb\": 4.116819381713867, \"Time in s\": 1893.301291 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750429307384087, \"MicroF1\": 0.7750429307384087, \"MacroF1\": 0.7677424040514297, \"Memory in Mb\": 4.116933822631836, \"Time in s\": 1994.662727 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7763524818739542, \"MicroF1\": 0.7763524818739542, \"MacroF1\": 0.7677176136548693, \"Memory in Mb\": 4.116861343383789, \"Time in s\": 2098.663831 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7775965198477434, \"MicroF1\": 0.7775965198477434, \"MacroF1\": 0.7691578918725354, \"Memory in Mb\": 4.11646842956543, \"Time in s\": 2205.226802 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7761273209549071, \"MicroF1\": 0.7761273209549071, \"MacroF1\": 0.7681560201617949, \"Memory in Mb\": 4.116430282592773, \"Time in s\": 2314.321902 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762817193164163, \"MicroF1\": 0.7762817193164163, \"MacroF1\": 0.7674170460709655, \"Memory in Mb\": 4.116365432739258, \"Time in s\": 2425.9767019999995 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769347496206374, \"MicroF1\": 0.7769347496206374, \"MacroF1\": 0.7672843880004774, \"Memory in Mb\": 4.116201400756836, \"Time in s\": 2540.253238 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7790410281759763, \"MicroF1\": 0.7790410281759763, \"MacroF1\": 0.7681802739952505, \"Memory in Mb\": 4.116155624389648, \"Time in s\": 2657.1841359999994 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.778153697438376, \"MicroF1\": 0.7781536974383759, \"MacroF1\": 0.767530439166732, \"Memory in Mb\": 4.116151809692383, \"Time in s\": 2776.607733 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7787234042553192, \"MicroF1\": 0.778723404255319, \"MacroF1\": 0.7673415220519754, \"Memory in Mb\": 4.116128921508789, \"Time in s\": 2898.5867789999998 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7797316057380842, \"MicroF1\": 0.7797316057380842, \"MacroF1\": 0.7679341969633587, \"Memory in Mb\": 4.116201400756836, \"Time in s\": 3023.0016299999997 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7816039873130947, \"MicroF1\": 0.7816039873130947, \"MacroF1\": 0.7687944234581563, \"Memory in Mb\": 4.11619758605957, \"Time in s\": 3150.038225 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7785175321793165, \"MicroF1\": 0.7785175321793165, \"MacroF1\": 0.7657018899401807, \"Memory in Mb\": 4.116170883178711, \"Time in s\": 3279.4760369999995 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7777294475859069, \"MicroF1\": 0.7777294475859068, \"MacroF1\": 0.7649119672933203, \"Memory in Mb\": 4.116254806518555, \"Time in s\": 3411.201767 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7778258986574275, \"MicroF1\": 0.7778258986574276, \"MacroF1\": 0.765010539660814, \"Memory in Mb\": 4.116277694702148, \"Time in s\": 3543.54869 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5970323052762562, \"Memory in Mb\": 6.48949146270752, \"Time in s\": 90.340432 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.62482235907153, \"MicroF1\": 0.62482235907153, \"MacroF1\": 0.5890580890213498, \"Memory in Mb\": 6.490170478820801, \"Time in s\": 257.284509 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157246605620461, \"MicroF1\": 0.6157246605620461, \"MacroF1\": 0.5802533923244894, \"Memory in Mb\": 6.491124153137207, \"Time in s\": 490.807794 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6107032914989344, \"MicroF1\": 0.6107032914989344, \"MacroF1\": 0.574850135712032, \"Memory in Mb\": 6.49120044708252, \"Time in s\": 783.3577379999999 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.614889183557492, \"MicroF1\": 0.614889183557492, \"MacroF1\": 0.5777842549225517, \"Memory in Mb\": 6.491948127746582, \"Time in s\": 1129.937274 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.608997632202052, \"MicroF1\": 0.608997632202052, \"MacroF1\": 0.5733157350789626, \"Memory in Mb\": 6.490735054016113, \"Time in s\": 1525.7763839999998 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057367068055743, \"MicroF1\": 0.6057367068055743, \"MacroF1\": 0.5703382690867537, \"Memory in Mb\": 6.490704536437988, \"Time in s\": 1967.928226 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069610512608027, \"MicroF1\": 0.6069610512608027, \"MacroF1\": 0.5711427916016896, \"Memory in Mb\": 6.490643501281738, \"Time in s\": 2456.105543 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6039145532989583, \"MicroF1\": 0.6039145532989583, \"MacroF1\": 0.5678102867297488, \"Memory in Mb\": 6.491009712219238, \"Time in s\": 2990.761064 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034662373330808, \"MicroF1\": 0.6034662373330808, \"MacroF1\": 0.567425153452482, \"Memory in Mb\": 6.491185188293457, \"Time in s\": 3571.580702 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6005165733964701, \"MicroF1\": 0.6005165733964701, \"MacroF1\": 0.56512832395729, \"Memory in Mb\": 6.491345405578613, \"Time in s\": 4198.711386999999 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6031883829216321, \"MicroF1\": 0.6031883829216321, \"MacroF1\": 0.5703828979306638, \"Memory in Mb\": 6.491543769836426, \"Time in s\": 4874.277407999999 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6152108982297662, \"MicroF1\": 0.6152108982297662, \"MacroF1\": 0.5959760515786451, \"Memory in Mb\": 5.97607421875, \"Time in s\": 5593.125681999999 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6060339579246432, \"MicroF1\": 0.6060339579246432, \"MacroF1\": 0.5869142505177357, \"Memory in Mb\": 6.496403694152832, \"Time in s\": 6355.050274999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5713744554580465, \"MicroF1\": 0.5713744554580465, \"MacroF1\": 0.5537658591956377, \"Memory in Mb\": 6.4967546463012695, \"Time in s\": 7160.569073999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.545546019532406, \"MicroF1\": 0.545546019532406, \"MacroF1\": 0.5286479939306438, \"Memory in Mb\": 6.381303787231445, \"Time in s\": 8010.073855999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.526767311013314, \"MicroF1\": 0.526767311013314, \"MacroF1\": 0.509587529402725, \"Memory in Mb\": 6.497265815734863, \"Time in s\": 8901.233847 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.517756615983585, \"MicroF1\": 0.517756615983585, \"MacroF1\": 0.4976462434137419, \"Memory in Mb\": 4.685893058776856, \"Time in s\": 9829.81162 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5296815032647162, \"MicroF1\": 0.5296815032647162, \"MacroF1\": 0.5080882715573688, \"Memory in Mb\": 10.369908332824709, \"Time in s\": 10791.950057 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.539750935176855, \"MicroF1\": 0.539750935176855, \"MacroF1\": 0.5184934777423561, \"Memory in Mb\": 10.92272663116455, \"Time in s\": 11801.930673 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5468771138669674, \"MicroF1\": 0.5468771138669674, \"MacroF1\": 0.525970977438283, \"Memory in Mb\": 10.920933723449709, \"Time in s\": 12856.592968 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5551633593043778, \"MicroF1\": 0.5551633593043778, \"MacroF1\": 0.5340735310276195, \"Memory in Mb\": 12.231526374816896, \"Time in s\": 13957.460176 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5615761518507844, \"MicroF1\": 0.5615761518507844, \"MacroF1\": 0.5396852076547556, \"Memory in Mb\": 12.87682819366455, \"Time in s\": 15100.290122 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5679280274632048, \"MicroF1\": 0.5679280274632048, \"MacroF1\": 0.5455634192548013, \"Memory in Mb\": 13.528642654418944, \"Time in s\": 16285.362621 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5727868479866661, \"MicroF1\": 0.5727868479866661, \"MacroF1\": 0.5496374434570932, \"Memory in Mb\": 13.632143020629885, \"Time in s\": 17508.053461 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5754143143325442, \"MicroF1\": 0.5754143143325442, \"MacroF1\": 0.5513680135969626, \"Memory in Mb\": 13.630533218383787, \"Time in s\": 18766.96928 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5772859598049875, \"MicroF1\": 0.5772859598049875, \"MacroF1\": 0.5551350356863173, \"Memory in Mb\": 13.627862930297852, \"Time in s\": 20061.957755000003 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.577772516657084, \"MicroF1\": 0.577772516657084, \"MacroF1\": 0.5590861332292512, \"Memory in Mb\": 13.626611709594728, \"Time in s\": 21394.440888000005 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.578225516768442, \"MicroF1\": 0.578225516768442, \"MacroF1\": 0.5625516131192055, \"Memory in Mb\": 12.769641876220703, \"Time in s\": 22755.311286000004 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5795637488557088, \"MicroF1\": 0.5795637488557088, \"MacroF1\": 0.5663363640160616, \"Memory in Mb\": 12.768932342529297, \"Time in s\": 24150.336726000005 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5811211241790133, \"MicroF1\": 0.5811211241790133, \"MacroF1\": 0.5696723582178381, \"Memory in Mb\": 12.768062591552734, \"Time in s\": 25577.802283000005 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.575804208221124, \"MicroF1\": 0.575804208221124, \"MacroF1\": 0.5647934119551398, \"Memory in Mb\": 12.981294631958008, \"Time in s\": 27039.45595800001 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5701495107182828, \"MicroF1\": 0.5701495107182828, \"MacroF1\": 0.559068023359177, \"Memory in Mb\": 12.981256484985352, \"Time in s\": 28537.493337000007 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5657744478177311, \"MicroF1\": 0.5657744478177311, \"MacroF1\": 0.5542573482740075, \"Memory in Mb\": 12.983362197875977, \"Time in s\": 30069.70246600001 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5611894261208366, \"MicroF1\": 0.5611894261208366, \"MacroF1\": 0.5493152777162592, \"Memory in Mb\": 13.52482795715332, \"Time in s\": 31635.746830000007 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.558779429172695, \"MicroF1\": 0.558779429172695, \"MacroF1\": 0.5463982360776033, \"Memory in Mb\": 13.526559829711914, \"Time in s\": 33235.41425300001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5546825010877633, \"MicroF1\": 0.5546825010877633, \"MacroF1\": 0.5426283860139581, \"Memory in Mb\": 14.304903030395508, \"Time in s\": 34865.73115700001 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5542153662122761, \"MicroF1\": 0.5542153662122761, \"MacroF1\": 0.5429626632180721, \"Memory in Mb\": 15.152182579040527, \"Time in s\": 36525.24862800001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541364155112547, \"MicroF1\": 0.5541364155112547, \"MacroF1\": 0.5435420562964655, \"Memory in Mb\": 15.252725601196287, \"Time in s\": 38211.297236000006 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5542981604678141, \"MicroF1\": 0.5542981604678141, \"MacroF1\": 0.544391400018036, \"Memory in Mb\": 15.251314163208008, \"Time in s\": 39923.86574200001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.554151749624668, \"MicroF1\": 0.554151749624668, \"MacroF1\": 0.5448486588729107, \"Memory in Mb\": 13.424749374389648, \"Time in s\": 41664.47056700001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5536290049829767, \"MicroF1\": 0.5536290049829767, \"MacroF1\": 0.5448029815059025, \"Memory in Mb\": 13.64866542816162, \"Time in s\": 43429.160590000014 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541436342414165, \"MicroF1\": 0.5541436342414165, \"MacroF1\": 0.5454957405719211, \"Memory in Mb\": 14.18911075592041, \"Time in s\": 45215.90786900002 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5553020683124207, \"MicroF1\": 0.5553020683124207, \"MacroF1\": 0.546961663735647, \"Memory in Mb\": 15.156656265258787, \"Time in s\": 47024.86244100002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5579662871693428, \"MicroF1\": 0.5579662871693428, \"MacroF1\": 0.5498636684303295, \"Memory in Mb\": 14.218542098999023, \"Time in s\": 48856.78116300002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5627586206896552, \"MicroF1\": 0.5627586206896552, \"MacroF1\": 0.5545030394801858, \"Memory in Mb\": 14.845645904541016, \"Time in s\": 50711.77001700002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5677701436602124, \"MicroF1\": 0.5677701436602124, \"MacroF1\": 0.5591808574875289, \"Memory in Mb\": 15.233248710632324, \"Time in s\": 52589.43568900003 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5730463432438297, \"MicroF1\": 0.5730463432438297, \"MacroF1\": 0.5639878919164368, \"Memory in Mb\": 15.890131950378418, \"Time in s\": 54487.48381000003 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5791894555785324, \"MicroF1\": 0.5791894555785324, \"MacroF1\": 0.5695807960578061, \"Memory in Mb\": 16.1916446685791, \"Time in s\": 56406.77001200003 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5794427924771303, \"MicroF1\": 0.5794427924771303, \"MacroF1\": 0.5701512686040561, \"Memory in Mb\": 15.30721950531006, \"Time in s\": 58342.70756100003 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5794652487369197, \"MicroF1\": 0.5794652487369197, \"MacroF1\": 0.5701984940722999, \"Memory in Mb\": 15.30735683441162, \"Time in s\": 60279.413314000034 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.100947380065918, \"Time in s\": 5.705318 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 3.048105239868164, \"Time in s\": 25.352994 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8912510220768601, \"MicroF1\": 0.8912510220768601, \"MacroF1\": 0.8617021305177772, \"Memory in Mb\": 3.9921913146972656, \"Time in s\": 63.032035 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031269160024524, \"MicroF1\": 0.9031269160024524, \"MacroF1\": 0.8868998230762756, \"Memory in Mb\": 4.944231986999512, \"Time in s\": 123.600275 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.898970083374203, \"MicroF1\": 0.898970083374203, \"MacroF1\": 0.888705938214812, \"Memory in Mb\": 5.993730545043945, \"Time in s\": 211.611387 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8598283612586841, \"MicroF1\": 0.8598283612586841, \"MacroF1\": 0.8569666636755086, \"Memory in Mb\": 6.37155818939209, \"Time in s\": 330.620683 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8669001751313485, \"MicroF1\": 0.8669001751313484, \"MacroF1\": 0.8547854134985733, \"Memory in Mb\": 7.318934440612793, \"Time in s\": 479.663409 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8581060373889059, \"MicroF1\": 0.8581060373889059, \"MacroF1\": 0.8327540420876277, \"Memory in Mb\": 8.264909744262695, \"Time in s\": 660.474615 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8490874421138654, \"MicroF1\": 0.8490874421138654, \"MacroF1\": 0.8463961237855363, \"Memory in Mb\": 8.926459312438965, \"Time in s\": 875.371562 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8421181662172101, \"MicroF1\": 0.84211816621721, \"MacroF1\": 0.8299816031455575, \"Memory in Mb\": 10.074895858764648, \"Time in s\": 1125.854174 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8301760641854246, \"MicroF1\": 0.8301760641854244, \"MacroF1\": 0.8400819204125556, \"Memory in Mb\": 11.044804573059082, \"Time in s\": 1412.144879 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8314606741573034, \"MicroF1\": 0.8314606741573034, \"MacroF1\": 0.8387821748480373, \"Memory in Mb\": 8.862092971801758, \"Time in s\": 1728.261118 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8333019045823119, \"MicroF1\": 0.8333019045823119, \"MacroF1\": 0.8299513887279447, \"Memory in Mb\": 9.715648651123049, \"Time in s\": 2074.079546 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8255997198389073, \"MicroF1\": 0.8255997198389075, \"MacroF1\": 0.831498100235552, \"Memory in Mb\": 10.513428688049316, \"Time in s\": 2449.732459 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8241542735741134, \"MicroF1\": 0.8241542735741134, \"MacroF1\": 0.813971923025991, \"Memory in Mb\": 11.555256843566896, \"Time in s\": 2856.066254 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8043511567335683, \"MicroF1\": 0.8043511567335683, \"MacroF1\": 0.8048077550156274, \"Memory in Mb\": 12.298343658447266, \"Time in s\": 3295.046229 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8002883922134102, \"MicroF1\": 0.8002883922134101, \"MacroF1\": 0.8062362865697692, \"Memory in Mb\": 11.726844787597656, \"Time in s\": 3768.473318 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8093422306959008, \"MicroF1\": 0.8093422306959008, \"MacroF1\": 0.813125473572493, \"Memory in Mb\": 9.433514595031738, \"Time in s\": 4267.304275 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8157657076506257, \"MicroF1\": 0.8157657076506257, \"MacroF1\": 0.8184378776785012, \"Memory in Mb\": 10.539642333984377, \"Time in s\": 4791.9677950000005 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8199534256649099, \"MicroF1\": 0.81995342566491, \"MacroF1\": 0.8213128379144453, \"Memory in Mb\": 11.364830017089844, \"Time in s\": 5345.1630700000005 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8247928096183028, \"MicroF1\": 0.8247928096183028, \"MacroF1\": 0.8275146627418534, \"Memory in Mb\": 12.672901153564451, \"Time in s\": 5929.400246 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8295264623955432, \"MicroF1\": 0.8295264623955433, \"MacroF1\": 0.8318915513040454, \"Memory in Mb\": 13.833264350891112, \"Time in s\": 6547.972923 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8319300863263348, \"MicroF1\": 0.8319300863263348, \"MacroF1\": 0.8336463894938194, \"Memory in Mb\": 14.741169929504396, \"Time in s\": 7204.877164 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8342355224185476, \"MicroF1\": 0.8342355224185476, \"MacroF1\": 0.8362542817352725, \"Memory in Mb\": 16.02083969116211, \"Time in s\": 7900.921468 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8343955289734287, \"MicroF1\": 0.8343955289734286, \"MacroF1\": 0.833886744496364, \"Memory in Mb\": 17.251243591308594, \"Time in s\": 8638.28045 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8258697086829452, \"MicroF1\": 0.8258697086829452, \"MacroF1\": 0.823298887298616, \"Memory in Mb\": 18.484009742736816, \"Time in s\": 9418.818077 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.825692237857467, \"MicroF1\": 0.825692237857467, \"MacroF1\": 0.827229896548608, \"Memory in Mb\": 17.053231239318848, \"Time in s\": 10241.512178 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8263153287227524, \"MicroF1\": 0.8263153287227524, \"MacroF1\": 0.8251000136898328, \"Memory in Mb\": 18.097841262817383, \"Time in s\": 11105.510711 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8257966359563857, \"MicroF1\": 0.8257966359563859, \"MacroF1\": 0.8251092059206939, \"Memory in Mb\": 19.1904354095459, \"Time in s\": 12012.672379 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8289892965111528, \"MicroF1\": 0.8289892965111528, \"MacroF1\": 0.8300645161883343, \"Memory in Mb\": 17.2155818939209, \"Time in s\": 12963.554855000002 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8324503834901558, \"MicroF1\": 0.8324503834901558, \"MacroF1\": 0.8328446288662702, \"Memory in Mb\": 17.090572357177734, \"Time in s\": 13955.688030000005 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8295672156261968, \"MicroF1\": 0.8295672156261968, \"MacroF1\": 0.8279815503081916, \"Memory in Mb\": 18.284998893737797, \"Time in s\": 14990.870602000005 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.828121518235163, \"MicroF1\": 0.828121518235163, \"MacroF1\": 0.8279872572314477, \"Memory in Mb\": 18.759904861450195, \"Time in s\": 16071.989638000005 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8300771393554899, \"MicroF1\": 0.8300771393554899, \"MacroF1\": 0.8300312724960401, \"Memory in Mb\": 19.937789916992188, \"Time in s\": 17198.739284000003 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8329714966034036, \"MicroF1\": 0.8329714966034036, \"MacroF1\": 0.8330653900337638, \"Memory in Mb\": 21.17230033874512, \"Time in s\": 18373.548754000003 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8360454823994008, \"MicroF1\": 0.8360454823994008, \"MacroF1\": 0.8362319050195895, \"Memory in Mb\": 22.12139320373535, \"Time in s\": 19591.296889000005 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8391520370983769, \"MicroF1\": 0.8391520370983769, \"MacroF1\": 0.8393677597260801, \"Memory in Mb\": 22.688467979431152, \"Time in s\": 20852.364231000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8400309617493389, \"MicroF1\": 0.8400309617493388, \"MacroF1\": 0.8398031059873, \"Memory in Mb\": 23.806550979614254, \"Time in s\": 22157.639176000004 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8335114072025642, \"MicroF1\": 0.8335114072025642, \"MacroF1\": 0.8310693286634668, \"Memory in Mb\": 25.06292724609375, \"Time in s\": 23499.792247000005 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8283595808566702, \"MicroF1\": 0.8283595808566702, \"MacroF1\": 0.826721014765785, \"Memory in Mb\": 26.060873985290527, \"Time in s\": 24886.958001000006 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.826747175225683, \"MicroF1\": 0.8267471752256829, \"MacroF1\": 0.8259678903415486, \"Memory in Mb\": 27.245673179626465, \"Time in s\": 26317.085564000008 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821943390720747, \"MicroF1\": 0.821943390720747, \"MacroF1\": 0.8202405231953956, \"Memory in Mb\": 28.675668716430664, \"Time in s\": 27793.820666000007 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8182180926865417, \"MicroF1\": 0.8182180926865417, \"MacroF1\": 0.8170173651382093, \"Memory in Mb\": 29.74225902557373, \"Time in s\": 29319.213378000008 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.81878446883182, \"MicroF1\": 0.81878446883182, \"MacroF1\": 0.8179349229322325, \"Memory in Mb\": 30.87984085083008, \"Time in s\": 30892.43160700001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821123154855929, \"MicroF1\": 0.821123154855929, \"MacroF1\": 0.8204502524156659, \"Memory in Mb\": 32.019548416137695, \"Time in s\": 32513.434007000007 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8235200085256035, \"MicroF1\": 0.8235200085256035, \"MacroF1\": 0.8229965581236837, \"Memory in Mb\": 33.157379150390625, \"Time in s\": 34181.929457000006 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.819973924380704, \"MicroF1\": 0.819973924380704, \"MacroF1\": 0.8189812465563673, \"Memory in Mb\": 34.295823097229004, \"Time in s\": 35895.74071300001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821733135883164, \"MicroF1\": 0.821733135883164, \"MacroF1\": 0.8211010404575377, \"Memory in Mb\": 35.31475067138672, \"Time in s\": 37655.039070000006 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8188684908208694, \"MicroF1\": 0.8188684908208694, \"MacroF1\": 0.8180458262517715, \"Memory in Mb\": 36.57470226287842, \"Time in s\": 39458.702899 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.816559635276239, \"MicroF1\": 0.816559635276239, \"MacroF1\": 0.8159075588016685, \"Memory in Mb\": 37.85576725006104, \"Time in s\": 41308.014952000005 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1111111111111111, \"MicroF1\": 0.1111111111111111, \"MacroF1\": 0.0815018315018315, \"Memory in Mb\": 3.4160032272338867, \"Time in s\": 1.208286 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.2307692307692307, \"MicroF1\": 0.2307692307692307, \"MacroF1\": 0.2226391771283412, \"Memory in Mb\": 4.099128723144531, \"Time in s\": 4.553382 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4233576642335766, \"MicroF1\": 0.4233576642335766, \"MacroF1\": 0.4463537718619156, \"Memory in Mb\": 4.099002838134766, \"Time in s\": 10.351245 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5355191256830601, \"MicroF1\": 0.5355191256830601, \"MacroF1\": 0.5617062146473912, \"Memory in Mb\": 4.099178314208984, \"Time in s\": 18.765494 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5938864628820961, \"MicroF1\": 0.5938864628820961, \"MacroF1\": 0.6236530662596055, \"Memory in Mb\": 4.099166870117188, \"Time in s\": 30.180838 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6290909090909091, \"MicroF1\": 0.6290909090909091, \"MacroF1\": 0.6558170665459355, \"Memory in Mb\": 4.099109649658203, \"Time in s\": 44.412895 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.660436137071651, \"MicroF1\": 0.660436137071651, \"MacroF1\": 0.678574720261515, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 61.214822 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6920980926430518, \"MicroF1\": 0.6920980926430518, \"MacroF1\": 0.7041680355881775, \"Memory in Mb\": 4.0984954833984375, \"Time in s\": 80.427396 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7167070217917676, \"MicroF1\": 0.7167070217917676, \"MacroF1\": 0.7259075149442813, \"Memory in Mb\": 4.097980499267578, \"Time in s\": 102.254145 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7254901960784313, \"MicroF1\": 0.7254901960784313, \"MacroF1\": 0.7325011710849479, \"Memory in Mb\": 4.098300933837891, \"Time in s\": 127.091256 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7386138613861386, \"MicroF1\": 0.7386138613861386, \"MacroF1\": 0.7428621938273078, \"Memory in Mb\": 4.098552703857422, \"Time in s\": 154.35838199999998 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422867513611615, \"MicroF1\": 0.7422867513611615, \"MacroF1\": 0.7453719085253248, \"Memory in Mb\": 4.098358154296875, \"Time in s\": 184.303693 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7487437185929648, \"MicroF1\": 0.7487437185929648, \"MacroF1\": 0.7504522188790486, \"Memory in Mb\": 4.098468780517578, \"Time in s\": 216.734559 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7465007776049767, \"MicroF1\": 0.7465007776049767, \"MacroF1\": 0.7482323503576439, \"Memory in Mb\": 4.098541259765625, \"Time in s\": 252.139078 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7489114658925979, \"MicroF1\": 0.748911465892598, \"MacroF1\": 0.7488472102580618, \"Memory in Mb\": 4.098594665527344, \"Time in s\": 290.044846 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7523809523809524, \"MicroF1\": 0.7523809523809524, \"MacroF1\": 0.7518283723099097, \"Memory in Mb\": 4.098430633544922, \"Time in s\": 330.661237 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7541613316261203, \"MicroF1\": 0.7541613316261204, \"MacroF1\": 0.7531089046321314, \"Memory in Mb\": 4.098361968994141, \"Time in s\": 373.819675 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7557436517533253, \"MicroF1\": 0.7557436517533253, \"MacroF1\": 0.7552013614952863, \"Memory in Mb\": 4.098308563232422, \"Time in s\": 419.6867600000001 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7617411225658648, \"MicroF1\": 0.7617411225658649, \"MacroF1\": 0.7601066395856337, \"Memory in Mb\": 4.098381042480469, \"Time in s\": 467.91378800000007 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.763873775843308, \"MicroF1\": 0.763873775843308, \"MacroF1\": 0.7623480483274478, \"Memory in Mb\": 4.098400115966797, \"Time in s\": 518.622959 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7678756476683938, \"MicroF1\": 0.7678756476683938, \"MacroF1\": 0.7646598072570266, \"Memory in Mb\": 4.098423004150391, \"Time in s\": 571.868767 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7705242334322453, \"MicroF1\": 0.7705242334322453, \"MacroF1\": 0.7668271197983111, \"Memory in Mb\": 4.098529815673828, \"Time in s\": 627.754669 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7757805108798487, \"MicroF1\": 0.7757805108798487, \"MacroF1\": 0.7714920336037777, \"Memory in Mb\": 4.098388671875, \"Time in s\": 686.3790640000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7760652765185857, \"MicroF1\": 0.7760652765185856, \"MacroF1\": 0.7719206139767609, \"Memory in Mb\": 4.098537445068359, \"Time in s\": 747.748718 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7789382071366405, \"MicroF1\": 0.7789382071366405, \"MacroF1\": 0.7750313949659527, \"Memory in Mb\": 4.098442077636719, \"Time in s\": 811.629001 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7849372384937239, \"MicroF1\": 0.7849372384937239, \"MacroF1\": 0.7820003890472508, \"Memory in Mb\": 4.098487854003906, \"Time in s\": 878.060098 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7856567284448026, \"MicroF1\": 0.7856567284448026, \"MacroF1\": 0.7827470902102026, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 947.241797 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7894327894327894, \"MicroF1\": 0.7894327894327894, \"MacroF1\": 0.785982924599392, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 1018.793017 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7906976744186046, \"MicroF1\": 0.7906976744186046, \"MacroF1\": 0.7876424482584368, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 1093.078269 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7933284989122552, \"MicroF1\": 0.7933284989122552, \"MacroF1\": 0.7906471924204205, \"Memory in Mb\": 4.098392486572266, \"Time in s\": 1169.7117919999998 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7978947368421052, \"MicroF1\": 0.7978947368421052, \"MacroF1\": 0.7945020166797493, \"Memory in Mb\": 4.098480224609375, \"Time in s\": 1248.577134 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8028552005438477, \"MicroF1\": 0.8028552005438477, \"MacroF1\": 0.7982243751921434, \"Memory in Mb\": 4.098472595214844, \"Time in s\": 1329.680821 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8035596572181938, \"MicroF1\": 0.8035596572181938, \"MacroF1\": 0.7981876534181912, \"Memory in Mb\": 4.098491668701172, \"Time in s\": 1413.4983189999998 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8035828534868842, \"MicroF1\": 0.8035828534868842, \"MacroF1\": 0.798634974540431, \"Memory in Mb\": 4.098518371582031, \"Time in s\": 1499.905218 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048477315102548, \"MicroF1\": 0.8048477315102549, \"MacroF1\": 0.7997380784882049, \"Memory in Mb\": 4.098381042480469, \"Time in s\": 1588.836817 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8066465256797583, \"MicroF1\": 0.8066465256797583, \"MacroF1\": 0.80161945439383, \"Memory in Mb\": 4.098377227783203, \"Time in s\": 1680.249514 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8059964726631393, \"MicroF1\": 0.8059964726631393, \"MacroF1\": 0.8024858564723997, \"Memory in Mb\": 4.098514556884766, \"Time in s\": 1774.345382 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8070978820835718, \"MicroF1\": 0.8070978820835718, \"MacroF1\": 0.8029124203507955, \"Memory in Mb\": 4.098423004150391, \"Time in s\": 1871.065136 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8081427774679308, \"MicroF1\": 0.8081427774679307, \"MacroF1\": 0.8029834045630979, \"Memory in Mb\": 4.098461151123047, \"Time in s\": 1970.03779 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8069603045133225, \"MicroF1\": 0.8069603045133223, \"MacroF1\": 0.801927622716254, \"Memory in Mb\": 4.098594665527344, \"Time in s\": 2071.588776 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8053050397877984, \"MicroF1\": 0.8053050397877984, \"MacroF1\": 0.8006727596367825, \"Memory in Mb\": 4.098400115966797, \"Time in s\": 2175.772942 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8047643707923355, \"MicroF1\": 0.8047643707923355, \"MacroF1\": 0.7995493059800365, \"Memory in Mb\": 4.098396301269531, \"Time in s\": 2282.41088 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8057663125948407, \"MicroF1\": 0.8057663125948407, \"MacroF1\": 0.8003960406612564, \"Memory in Mb\": 4.098434448242188, \"Time in s\": 2391.59611 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8072170044488384, \"MicroF1\": 0.8072170044488384, \"MacroF1\": 0.8005625942078284, \"Memory in Mb\": 4.098430633544922, \"Time in s\": 2503.16971 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8066698888351861, \"MicroF1\": 0.8066698888351861, \"MacroF1\": 0.8002110568368, \"Memory in Mb\": 4.098316192626953, \"Time in s\": 2617.3694960000003 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.807565011820331, \"MicroF1\": 0.807565011820331, \"MacroF1\": 0.8005131307885663, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 2733.922308 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8079592781119852, \"MicroF1\": 0.8079592781119852, \"MacroF1\": 0.8006755955605837, \"Memory in Mb\": 4.098320007324219, \"Time in s\": 2852.747139 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8087902129587675, \"MicroF1\": 0.8087902129587675, \"MacroF1\": 0.8009921695193862, \"Memory in Mb\": 4.098320007324219, \"Time in s\": 2973.740681 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8060363959165557, \"MicroF1\": 0.8060363959165557, \"MacroF1\": 0.7987732120640717, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 3097.6149410000003 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8051326663766856, \"MicroF1\": 0.8051326663766856, \"MacroF1\": 0.798077892809675, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 3223.9293610000004 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8046773495019489, \"MicroF1\": 0.8046773495019489, \"MacroF1\": 0.7977695866822911, \"Memory in Mb\": 4.098388671875, \"Time in s\": 3350.8763620000004 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5992691812827112, \"Memory in Mb\": 6.474042892456055, \"Time in s\": 88.969298 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6110847939365229, \"MicroF1\": 0.6110847939365229, \"MacroF1\": 0.5773210074897359, \"Memory in Mb\": 6.473905563354492, \"Time in s\": 256.045675 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043574360593622, \"MicroF1\": 0.6043574360593622, \"MacroF1\": 0.5704368753709179, \"Memory in Mb\": 6.473470687866211, \"Time in s\": 489.83548 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6014681506038362, \"MicroF1\": 0.6014681506038362, \"MacroF1\": 0.5676969561642586, \"Memory in Mb\": 6.473196029663086, \"Time in s\": 783.3519140000001 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057965523773442, \"MicroF1\": 0.6057965523773442, \"MacroF1\": 0.5710016183775801, \"Memory in Mb\": 6.473196029663086, \"Time in s\": 1130.801617 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5966850828729282, \"MicroF1\": 0.5966850828729282, \"MacroF1\": 0.5635903588556204, \"Memory in Mb\": 6.473356246948242, \"Time in s\": 1527.884634 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5957245298335814, \"MicroF1\": 0.5957245298335814, \"MacroF1\": 0.5625002603439991, \"Memory in Mb\": 6.473814010620117, \"Time in s\": 1971.450931 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5982005445720374, \"MicroF1\": 0.5982005445720374, \"MacroF1\": 0.5646892369665863, \"Memory in Mb\": 6.474157333374023, \"Time in s\": 2461.351589 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.596337998526781, \"MicroF1\": 0.596337998526781, \"MacroF1\": 0.5627085514562804, \"Memory in Mb\": 6.47450065612793, \"Time in s\": 2997.75158 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5965527038545316, \"MicroF1\": 0.5965527038545316, \"MacroF1\": 0.5631320282838163, \"Memory in Mb\": 6.47468376159668, \"Time in s\": 3580.189969 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5953508394317693, \"MicroF1\": 0.5953508394317693, \"MacroF1\": 0.562671447170627, \"Memory in Mb\": 6.47468376159668, \"Time in s\": 4209.202801 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5979796385447084, \"MicroF1\": 0.5979796385447084, \"MacroF1\": 0.5680559575776837, \"Memory in Mb\": 6.474340438842773, \"Time in s\": 4886.872526 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.610767101333139, \"MicroF1\": 0.610767101333139, \"MacroF1\": 0.5941277335666079, \"Memory in Mb\": 6.473836898803711, \"Time in s\": 5609.570035 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6019752418318338, \"MicroF1\": 0.6019752418318338, \"MacroF1\": 0.5851264744797859, \"Memory in Mb\": 6.473745346069336, \"Time in s\": 6378.998584999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5705536965717533, \"MicroF1\": 0.5705536965717533, \"MacroF1\": 0.5545059657048704, \"Memory in Mb\": 6.473974227905273, \"Time in s\": 7193.860588999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.548091151228174, \"MicroF1\": 0.548091151228174, \"MacroF1\": 0.5320735507355622, \"Memory in Mb\": 6.474386215209961, \"Time in s\": 8051.816493999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5307225224221492, \"MicroF1\": 0.5307225224221492, \"MacroF1\": 0.5138536287616571, \"Memory in Mb\": 6.474637985229492, \"Time in s\": 8952.059017 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5182827379386542, \"MicroF1\": 0.5182827379386542, \"MacroF1\": 0.4990809738484312, \"Memory in Mb\": 6.47486686706543, \"Time in s\": 9893.706361 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5182176145142801, \"MicroF1\": 0.5182176145142801, \"MacroF1\": 0.497867701567998, \"Memory in Mb\": 8.642622947692871, \"Time in s\": 10881.966771 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5272503432927695, \"MicroF1\": 0.5272503432927695, \"MacroF1\": 0.5067114684709674, \"Memory in Mb\": 15.437758445739746, \"Time in s\": 11917.076256 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.533032694475761, \"MicroF1\": 0.533032694475761, \"MacroF1\": 0.5127471323280748, \"Memory in Mb\": 16.81709384918213, \"Time in s\": 12999.258268 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5410442942619775, \"MicroF1\": 0.5410442942619775, \"MacroF1\": 0.5207771198745245, \"Memory in Mb\": 17.041016578674316, \"Time in s\": 14124.681759 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5459710956478775, \"MicroF1\": 0.5459710956478775, \"MacroF1\": 0.5251711652768184, \"Memory in Mb\": 17.038064002990723, \"Time in s\": 15290.808705 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5532099593576135, \"MicroF1\": 0.5532099593576135, \"MacroF1\": 0.5314216535856217, \"Memory in Mb\": 17.036622047424316, \"Time in s\": 16491.42669 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5607788173794462, \"MicroF1\": 0.5607788173794462, \"MacroF1\": 0.5375130024626694, \"Memory in Mb\": 17.14900016784668, \"Time in s\": 17723.115047 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5667091604443635, \"MicroF1\": 0.5667091604443635, \"MacroF1\": 0.5418496825562071, \"Memory in Mb\": 17.261820793151855, \"Time in s\": 18986.675501 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5692890463329943, \"MicroF1\": 0.5692890463329943, \"MacroF1\": 0.5455529487931667, \"Memory in Mb\": 17.26294231414795, \"Time in s\": 20283.404341 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5688436432509216, \"MicroF1\": 0.5688436432509216, \"MacroF1\": 0.5481992899375988, \"Memory in Mb\": 17.26337718963623, \"Time in s\": 21617.011828 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5687228553701467, \"MicroF1\": 0.5687228553701467, \"MacroF1\": 0.5505043481720591, \"Memory in Mb\": 17.26330852508545, \"Time in s\": 22980.237824 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5691467533697402, \"MicroF1\": 0.5691467533697402, \"MacroF1\": 0.5529220328647554, \"Memory in Mb\": 17.262804985046387, \"Time in s\": 24378.053405 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5703986558729189, \"MicroF1\": 0.5703986558729189, \"MacroF1\": 0.5556828084411201, \"Memory in Mb\": 17.262507438659668, \"Time in s\": 25809.039082 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5650025154626972, \"MicroF1\": 0.5650025154626972, \"MacroF1\": 0.5507695387439543, \"Memory in Mb\": 17.487704277038574, \"Time in s\": 27274.413314 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5587281545039745, \"MicroF1\": 0.5587281545039745, \"MacroF1\": 0.5445349362041821, \"Memory in Mb\": 17.929275512695312, \"Time in s\": 28775.770082 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541876723393588, \"MicroF1\": 0.5541876723393588, \"MacroF1\": 0.5396635045593164, \"Memory in Mb\": 18.030207633972168, \"Time in s\": 30311.158157 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.549122000054114, \"MicroF1\": 0.549122000054114, \"MacroF1\": 0.5343517375956978, \"Memory in Mb\": 19.681435585021973, \"Time in s\": 31880.342243 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5473628830724714, \"MicroF1\": 0.5473628830724714, \"MacroF1\": 0.5321033552605493, \"Memory in Mb\": 21.71814346313477, \"Time in s\": 33482.866823 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5426787131120269, \"MicroF1\": 0.5426787131120269, \"MacroF1\": 0.52803892360078, \"Memory in Mb\": 22.487850189208984, \"Time in s\": 35116.535538 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5419293742367982, \"MicroF1\": 0.5419293742367982, \"MacroF1\": 0.5284857300708793, \"Memory in Mb\": 23.76238250732422, \"Time in s\": 36778.160189 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5417769467984362, \"MicroF1\": 0.5417769467984362, \"MacroF1\": 0.5296361895775551, \"Memory in Mb\": 23.860816955566406, \"Time in s\": 38464.674338 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5422240109851085, \"MicroF1\": 0.5422240109851085, \"MacroF1\": 0.5313111510734391, \"Memory in Mb\": 24.196860313415527, \"Time in s\": 40175.576413 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5444970550871925, \"MicroF1\": 0.5444970550871925, \"MacroF1\": 0.5344195798463859, \"Memory in Mb\": 24.296037673950195, \"Time in s\": 41906.99288399999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5463461928705102, \"MicroF1\": 0.5463461928705102, \"MacroF1\": 0.5369578677381479, \"Memory in Mb\": 24.84640598297119, \"Time in s\": 43659.477485 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5482855066399454, \"MicroF1\": 0.5482855066399454, \"MacroF1\": 0.5392181145139481, \"Memory in Mb\": 25.28636360168457, \"Time in s\": 45430.571796 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5506532079288896, \"MicroF1\": 0.5506532079288896, \"MacroF1\": 0.5419048601727473, \"Memory in Mb\": 25.498303413391117, \"Time in s\": 47220.970484 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5514846692901787, \"MicroF1\": 0.5514846692901787, \"MacroF1\": 0.5429796926051395, \"Memory in Mb\": 25.82335567474365, \"Time in s\": 49033.125826 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5515388574369532, \"MicroF1\": 0.5515388574369532, \"MacroF1\": 0.543031483592694, \"Memory in Mb\": 25.821112632751465, \"Time in s\": 50867.580247 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.551953416211642, \"MicroF1\": 0.551953416211642, \"MacroF1\": 0.5433574148660688, \"Memory in Mb\": 26.09889411926269, \"Time in s\": 52723.913942 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5563359441276856, \"MicroF1\": 0.5563359441276856, \"MacroF1\": 0.5472854805195191, \"Memory in Mb\": 26.366034507751465, \"Time in s\": 54600.511787 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5623562607502464, \"MicroF1\": 0.5623562607502464, \"MacroF1\": 0.552981536157949, \"Memory in Mb\": 27.10032081604004, \"Time in s\": 56496.789585 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5634576412432054, \"MicroF1\": 0.5634576412432054, \"MacroF1\": 0.5545218292020726, \"Memory in Mb\": 27.943178176879883, \"Time in s\": 58415.671716 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5635324616345299, \"MicroF1\": 0.5635324616345299, \"MacroF1\": 0.5546220283668154, \"Memory in Mb\": 27.942995071411133, \"Time in s\": 60335.727696 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9877149877149876, \"MicroF1\": 0.9877149877149876, \"MacroF1\": 0.7696139476961394, \"Memory in Mb\": 2.1207275390625, \"Time in s\": 4.211814 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.988957055214724, \"MicroF1\": 0.988957055214724, \"MacroF1\": 0.9592655637573824, \"Memory in Mb\": 2.9369373321533203, \"Time in s\": 23.739993 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.983646770237122, \"MicroF1\": 0.983646770237122, \"MacroF1\": 0.9326470331192014, \"Memory in Mb\": 4.590028762817383, \"Time in s\": 86.527265 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828326180257512, \"MicroF1\": 0.9828326180257512, \"MacroF1\": 0.9594506659780556, \"Memory in Mb\": 5.819695472717285, \"Time in s\": 184.232691 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9705738106915156, \"MicroF1\": 0.9705738106915156, \"MacroF1\": 0.9304838721924584, \"Memory in Mb\": 8.549582481384277, \"Time in s\": 323.308574 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607682876992236, \"MicroF1\": 0.9607682876992236, \"MacroF1\": 0.9455756842664336, \"Memory in Mb\": 10.061903953552246, \"Time in s\": 491.40663400000005 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541155866900176, \"MicroF1\": 0.9541155866900176, \"MacroF1\": 0.9254688528922778, \"Memory in Mb\": 12.678574562072754, \"Time in s\": 687.150288 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943610174685872, \"MicroF1\": 0.943610174685872, \"MacroF1\": 0.9191430707434156, \"Memory in Mb\": 16.086813926696777, \"Time in s\": 906.458431 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9403432307273224, \"MicroF1\": 0.9403432307273224, \"MacroF1\": 0.9284235615798526, \"Memory in Mb\": 18.255277633666992, \"Time in s\": 1151.002639 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9338073057121844, \"MicroF1\": 0.9338073057121844, \"MacroF1\": 0.918242970538206, \"Memory in Mb\": 21.65336036682129, \"Time in s\": 1427.8669570000002 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9318029864051705, \"MicroF1\": 0.9318029864051705, \"MacroF1\": 0.9319119487505448, \"Memory in Mb\": 22.76876544952393, \"Time in s\": 1733.8095280000002 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9317671092951992, \"MicroF1\": 0.9317671092951992, \"MacroF1\": 0.9296889978700974, \"Memory in Mb\": 24.966033935546875, \"Time in s\": 2062.8329900000003 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9281538751650008, \"MicroF1\": 0.9281538751650008, \"MacroF1\": 0.919765356403914, \"Memory in Mb\": 29.062508583068848, \"Time in s\": 2423.731892 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9227805988443356, \"MicroF1\": 0.9227805988443356, \"MacroF1\": 0.9201475418022376, \"Memory in Mb\": 32.12655830383301, \"Time in s\": 2815.063536 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9177970256577872, \"MicroF1\": 0.9177970256577872, \"MacroF1\": 0.9072843264203106, \"Memory in Mb\": 37.27707767486572, \"Time in s\": 3238.118927 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9115979776313774, \"MicroF1\": 0.9115979776313774, \"MacroF1\": 0.909931232789514, \"Memory in Mb\": 41.43412208557129, \"Time in s\": 3706.915394 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912905551550108, \"MicroF1\": 0.912905551550108, \"MacroF1\": 0.9153430596364792, \"Memory in Mb\": 44.48411560058594, \"Time in s\": 4207.758914 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9135230832084978, \"MicroF1\": 0.9135230832084978, \"MacroF1\": 0.9124682676754272, \"Memory in Mb\": 47.44067192077637, \"Time in s\": 4740.722969 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9121403689846472, \"MicroF1\": 0.9121403689846472, \"MacroF1\": 0.9121831707972876, \"Memory in Mb\": 51.03960132598877, \"Time in s\": 5307.755902000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908689790415492, \"MicroF1\": 0.908689790415492, \"MacroF1\": 0.9062633734460516, \"Memory in Mb\": 56.064818382263184, \"Time in s\": 5918.019803000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.905918057663126, \"MicroF1\": 0.905918057663126, \"MacroF1\": 0.9058259471519292, \"Memory in Mb\": 61.820496559143066, \"Time in s\": 6575.962782000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9042896935933148, \"MicroF1\": 0.9042896935933148, \"MacroF1\": 0.9043251050138336, \"Memory in Mb\": 64.74030494689941, \"Time in s\": 7280.842530000002 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.901843759991474, \"MicroF1\": 0.901843759991474, \"MacroF1\": 0.9009662752730246, \"Memory in Mb\": 68.81300067901611, \"Time in s\": 8035.1031440000015 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8971504442855683, \"MicroF1\": 0.8971504442855683, \"MacroF1\": 0.8956423708961025, \"Memory in Mb\": 74.25286674499512, \"Time in s\": 8855.073479000002 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8926365329934307, \"MicroF1\": 0.8926365329934307, \"MacroF1\": 0.8903074227158838, \"Memory in Mb\": 79.6785535812378, \"Time in s\": 9744.976722000005 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8846987838220043, \"MicroF1\": 0.8846987838220043, \"MacroF1\": 0.8819820059100918, \"Memory in Mb\": 85.28873825073242, \"Time in s\": 10726.537155000004 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8791647753064004, \"MicroF1\": 0.8791647753064004, \"MacroF1\": 0.8795835231396919, \"Memory in Mb\": 89.59383392333984, \"Time in s\": 11788.438997000005 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8759520266129738, \"MicroF1\": 0.8759520266129738, \"MacroF1\": 0.8744149508862001, \"Memory in Mb\": 94.86630344390868, \"Time in s\": 12917.703791000004 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.872200152142676, \"MicroF1\": 0.872200152142676, \"MacroF1\": 0.8717012117300328, \"Memory in Mb\": 100.15169906616212, \"Time in s\": 14117.771334000005 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8736824903995425, \"MicroF1\": 0.8736824903995425, \"MacroF1\": 0.8749440738646468, \"Memory in Mb\": 101.9357843399048, \"Time in s\": 15365.994884000003 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8717482406894915, \"MicroF1\": 0.8717482406894915, \"MacroF1\": 0.8710221211412438, \"Memory in Mb\": 107.46908473968506, \"Time in s\": 16670.526324000002 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8661815396399847, \"MicroF1\": 0.8661815396399847, \"MacroF1\": 0.8651994621744733, \"Memory in Mb\": 112.71690273284912, \"Time in s\": 18043.485216 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8642204560647702, \"MicroF1\": 0.8642204560647702, \"MacroF1\": 0.8645487273027374, \"Memory in Mb\": 116.56386756896973, \"Time in s\": 19480.298866 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8619421815298104, \"MicroF1\": 0.8619421815298104, \"MacroF1\": 0.862314869215492, \"Memory in Mb\": 121.52821636199953, \"Time in s\": 20980.471725 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.859163806989285, \"MicroF1\": 0.859163806989285, \"MacroF1\": 0.8592780138529494, \"Memory in Mb\": 125.80194187164308, \"Time in s\": 22534.622977 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8591952066453326, \"MicroF1\": 0.8591952066453326, \"MacroF1\": 0.8604793833246808, \"Memory in Mb\": 129.6016607284546, \"Time in s\": 24135.768584 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8607485922490891, \"MicroF1\": 0.8607485922490891, \"MacroF1\": 0.8621609789956539, \"Memory in Mb\": 132.68816757202148, \"Time in s\": 25779.863983 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8604141133974069, \"MicroF1\": 0.8604141133974069, \"MacroF1\": 0.8613237595899307, \"Memory in Mb\": 136.05841445922852, \"Time in s\": 27480.057181 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8536861290930803, \"MicroF1\": 0.8536861290930803, \"MacroF1\": 0.853192144751886, \"Memory in Mb\": 141.70578575134277, \"Time in s\": 29254.423593 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8493167473497151, \"MicroF1\": 0.849316747349715, \"MacroF1\": 0.8496464102754333, \"Memory in Mb\": 147.49746799468994, \"Time in s\": 31089.50572 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.846296407006636, \"MicroF1\": 0.846296407006636, \"MacroF1\": 0.8470383589757107, \"Memory in Mb\": 153.1935510635376, \"Time in s\": 32973.577156 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8411438576014006, \"MicroF1\": 0.8411438576014006, \"MacroF1\": 0.8410396667771575, \"Memory in Mb\": 156.28132915496826, \"Time in s\": 34948.88082 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8365729920766117, \"MicroF1\": 0.8365729920766117, \"MacroF1\": 0.8367907010021001, \"Memory in Mb\": 161.03080940246582, \"Time in s\": 36967.519165 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8355523369171634, \"MicroF1\": 0.8355523369171634, \"MacroF1\": 0.8362918425397341, \"Memory in Mb\": 166.63249397277832, \"Time in s\": 39016.229589 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.837572852551882, \"MicroF1\": 0.8375728525518821, \"MacroF1\": 0.8385662484273668, \"Memory in Mb\": 171.47760772705078, \"Time in s\": 41092.028593 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8390259498055097, \"MicroF1\": 0.8390259498055097, \"MacroF1\": 0.8401126675526959, \"Memory in Mb\": 175.70373821258545, \"Time in s\": 43194.947864 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8376531942633637, \"MicroF1\": 0.8376531942633637, \"MacroF1\": 0.838676297522501, \"Memory in Mb\": 180.87701034545896, \"Time in s\": 45330.650988 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8390951335341879, \"MicroF1\": 0.8390951335341879, \"MacroF1\": 0.8403338496937821, \"Memory in Mb\": 185.05438709259036, \"Time in s\": 47482.84587799999 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8372767745485469, \"MicroF1\": 0.8372767745485468, \"MacroF1\": 0.8385640183306876, \"Memory in Mb\": 190.1383810043335, \"Time in s\": 49661.2352 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8347958233246727, \"MicroF1\": 0.8347958233246727, \"MacroF1\": 0.8360623278174891, \"Memory in Mb\": 194.794171333313, \"Time in s\": 51861.27850099999 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3111111111111111, \"MicroF1\": 0.3111111111111111, \"MacroF1\": 0.2457649726557289, \"Memory in Mb\": 4.149084091186523, \"Time in s\": 2.196675 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4835164835164835, \"MicroF1\": 0.4835164835164835, \"MacroF1\": 0.4934752395581889, \"Memory in Mb\": 4.152299880981445, \"Time in s\": 7.023639 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5528821792646678, \"Memory in Mb\": 4.15202522277832, \"Time in s\": 15.046926 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.6141431648908949, \"Memory in Mb\": 4.152608871459961, \"Time in s\": 26.297795 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.62882096069869, \"MicroF1\": 0.62882096069869, \"MacroF1\": 0.6441389332893815, \"Memory in Mb\": 4.151983261108398, \"Time in s\": 40.50873 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.64, \"MicroF1\": 0.64, \"MacroF1\": 0.6559607038460421, \"Memory in Mb\": 4.152521133422852, \"Time in s\": 57.698206 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6666666666666666, \"MicroF1\": 0.6666666666666666, \"MacroF1\": 0.6673617488913626, \"Memory in Mb\": 4.152231216430664, \"Time in s\": 77.585785 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6948228882833788, \"MicroF1\": 0.6948228882833788, \"MacroF1\": 0.6911959597548878, \"Memory in Mb\": 4.152448654174805, \"Time in s\": 100.185488 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.7079630503641953, \"Memory in Mb\": 4.152788162231445, \"Time in s\": 125.717288 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7124183006535948, \"MicroF1\": 0.7124183006535948, \"MacroF1\": 0.7065500352371009, \"Memory in Mb\": 4.152704238891602, \"Time in s\": 154.000542 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7127593158348896, \"Memory in Mb\": 4.152563095092773, \"Time in s\": 184.883226 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7259528130671506, \"MicroF1\": 0.7259528130671506, \"MacroF1\": 0.7192025503807162, \"Memory in Mb\": 4.152528762817383, \"Time in s\": 218.482328 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319932998324958, \"MicroF1\": 0.7319932998324957, \"MacroF1\": 0.7251188986558661, \"Memory in Mb\": 4.152769088745117, \"Time in s\": 254.840787 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7309486780715396, \"MicroF1\": 0.7309486780715396, \"MacroF1\": 0.7259740406437201, \"Memory in Mb\": 4.152563095092773, \"Time in s\": 294.12903800000004 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7358490566037735, \"MicroF1\": 0.7358490566037735, \"MacroF1\": 0.7304359912942561, \"Memory in Mb\": 4.152692794799805, \"Time in s\": 336.073433 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7374149659863946, \"MicroF1\": 0.7374149659863947, \"MacroF1\": 0.733149934717071, \"Memory in Mb\": 4.152753829956055, \"Time in s\": 380.701162 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7426376440460948, \"MicroF1\": 0.7426376440460948, \"MacroF1\": 0.7385597120510639, \"Memory in Mb\": 4.152643203735352, \"Time in s\": 428.175969 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436517533252721, \"MicroF1\": 0.7436517533252721, \"MacroF1\": 0.7412375783772316, \"Memory in Mb\": 4.152631759643555, \"Time in s\": 478.460063 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7491408934707904, \"MicroF1\": 0.7491408934707904, \"MacroF1\": 0.7454343548790067, \"Memory in Mb\": 4.153181076049805, \"Time in s\": 531.417765 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7486398258977149, \"MicroF1\": 0.7486398258977149, \"MacroF1\": 0.7441307384051415, \"Memory in Mb\": 4.153326034545898, \"Time in s\": 587.1362770000001 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7492227979274612, \"MicroF1\": 0.749222797927461, \"MacroF1\": 0.7439306216964366, \"Memory in Mb\": 4.153120040893555, \"Time in s\": 645.6842 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7487636003956478, \"MicroF1\": 0.7487636003956478, \"MacroF1\": 0.7437900284473965, \"Memory in Mb\": 4.153234481811523, \"Time in s\": 707.105172 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750236518448439, \"MicroF1\": 0.7502365184484389, \"MacroF1\": 0.7448138061687654, \"Memory in Mb\": 4.153268814086914, \"Time in s\": 771.2868930000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7524932003626473, \"MicroF1\": 0.7524932003626473, \"MacroF1\": 0.7468314646869904, \"Memory in Mb\": 4.153234481811523, \"Time in s\": 838.222518 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7554395126196692, \"MicroF1\": 0.7554395126196692, \"MacroF1\": 0.7493227137357602, \"Memory in Mb\": 4.153413772583008, \"Time in s\": 907.556087 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7581589958158996, \"MicroF1\": 0.7581589958158996, \"MacroF1\": 0.7527652773681007, \"Memory in Mb\": 4.153318405151367, \"Time in s\": 979.579718 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7574536663980661, \"MicroF1\": 0.7574536663980661, \"MacroF1\": 0.7525915384194216, \"Memory in Mb\": 4.153432846069336, \"Time in s\": 1054.216781 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7622377622377622, \"MicroF1\": 0.7622377622377621, \"MacroF1\": 0.7563448085202398, \"Memory in Mb\": 4.153615951538086, \"Time in s\": 1131.5718310000002 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7621905476369092, \"MicroF1\": 0.7621905476369092, \"MacroF1\": 0.7566636999776912, \"Memory in Mb\": 4.153776168823242, \"Time in s\": 1211.5912470000003 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7635968092820885, \"MicroF1\": 0.7635968092820886, \"MacroF1\": 0.7587252257765656, \"Memory in Mb\": 4.153825759887695, \"Time in s\": 1294.4019940000005 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7663157894736842, \"MicroF1\": 0.7663157894736842, \"MacroF1\": 0.7609139797315134, \"Memory in Mb\": 4.153848648071289, \"Time in s\": 1379.8910190000004 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709041468388851, \"MicroF1\": 0.7709041468388851, \"MacroF1\": 0.7637689949207689, \"Memory in Mb\": 4.153989791870117, \"Time in s\": 1467.9946540000003 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7719182597231378, \"MicroF1\": 0.7719182597231378, \"MacroF1\": 0.7639714255563932, \"Memory in Mb\": 4.154367446899414, \"Time in s\": 1558.8129900000004 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7722328854766475, \"MicroF1\": 0.7722328854766475, \"MacroF1\": 0.7650721335080709, \"Memory in Mb\": 4.154550552368164, \"Time in s\": 1652.2028900000005 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7725295214418894, \"MicroF1\": 0.7725295214418892, \"MacroF1\": 0.764505787280341, \"Memory in Mb\": 4.154642105102539, \"Time in s\": 1748.3782850000002 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7716012084592145, \"MicroF1\": 0.7716012084592145, \"MacroF1\": 0.7634170612719108, \"Memory in Mb\": 4.15452766418457, \"Time in s\": 1847.3163560000005 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7713109935332157, \"MicroF1\": 0.7713109935332157, \"MacroF1\": 0.7652815676598499, \"Memory in Mb\": 4.154825210571289, \"Time in s\": 1948.702894 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.77389811104751, \"MicroF1\": 0.77389811104751, \"MacroF1\": 0.7674409436090757, \"Memory in Mb\": 4.155008316040039, \"Time in s\": 2052.533374 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7752370329057445, \"MicroF1\": 0.7752370329057446, \"MacroF1\": 0.7674318582149376, \"Memory in Mb\": 4.155046463012695, \"Time in s\": 2159.053176 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7765089722675367, \"MicroF1\": 0.7765089722675368, \"MacroF1\": 0.7688731808749575, \"Memory in Mb\": 4.154977798461914, \"Time in s\": 2268.233507 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750663129973475, \"MicroF1\": 0.7750663129973475, \"MacroF1\": 0.7678921362145585, \"Memory in Mb\": 4.154905319213867, \"Time in s\": 2379.837789 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7752459865354738, \"MicroF1\": 0.7752459865354739, \"MacroF1\": 0.7671636716269125, \"Memory in Mb\": 4.155000686645508, \"Time in s\": 2494.085284 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7759231158320687, \"MicroF1\": 0.7759231158320687, \"MacroF1\": 0.7670573130332384, \"Memory in Mb\": 4.154901504516602, \"Time in s\": 2611.052254 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7775580820563519, \"MicroF1\": 0.7775580820563519, \"MacroF1\": 0.7671264358471986, \"Memory in Mb\": 4.154878616333008, \"Time in s\": 2730.562491 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.77670372160464, \"MicroF1\": 0.7767037216046399, \"MacroF1\": 0.7665050383810529, \"Memory in Mb\": 4.15495491027832, \"Time in s\": 2852.439553 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7773049645390071, \"MicroF1\": 0.7773049645390071, \"MacroF1\": 0.766340416614934, \"Memory in Mb\": 4.15495491027832, \"Time in s\": 2976.99213 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7783433595557612, \"MicroF1\": 0.7783433595557612, \"MacroF1\": 0.766965714748886, \"Memory in Mb\": 4.155027389526367, \"Time in s\": 3104.012504 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.780244676030811, \"MicroF1\": 0.780244676030811, \"MacroF1\": 0.7678552364681828, \"Memory in Mb\": 4.155023574829102, \"Time in s\": 3233.660984 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7776298268974701, \"MicroF1\": 0.7776298268974701, \"MacroF1\": 0.7652407320979201, \"Memory in Mb\": 4.154973983764648, \"Time in s\": 3365.640643 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7768595041322314, \"MicroF1\": 0.7768595041322314, \"MacroF1\": 0.764461061100325, \"Memory in Mb\": 4.15504264831543, \"Time in s\": 3499.962334 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769597228237333, \"MicroF1\": 0.7769597228237333, \"MacroF1\": 0.7645642360301897, \"Memory in Mb\": 4.155065536499023, \"Time in s\": 3634.881072 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5970323052762561, \"Memory in Mb\": 6.533428192138672, \"Time in s\": 93.097088 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.62482235907153, \"MicroF1\": 0.62482235907153, \"MacroF1\": 0.5890580890213498, \"Memory in Mb\": 6.533924102783203, \"Time in s\": 264.682132 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157246605620461, \"MicroF1\": 0.6157246605620461, \"MacroF1\": 0.5802533923244892, \"Memory in Mb\": 6.534633636474609, \"Time in s\": 504.284209 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6107032914989344, \"MicroF1\": 0.6107032914989344, \"MacroF1\": 0.5748501357120321, \"Memory in Mb\": 6.535015106201172, \"Time in s\": 804.5259470000001 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.614889183557492, \"MicroF1\": 0.614889183557492, \"MacroF1\": 0.5777842549225517, \"Memory in Mb\": 6.535823822021484, \"Time in s\": 1159.582019 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.608997632202052, \"MicroF1\": 0.608997632202052, \"MacroF1\": 0.5733157350789625, \"Memory in Mb\": 6.535648345947266, \"Time in s\": 1564.000203 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057367068055743, \"MicroF1\": 0.6057367068055743, \"MacroF1\": 0.5703382690867537, \"Memory in Mb\": 6.535068511962891, \"Time in s\": 2016.310233 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069610512608027, \"MicroF1\": 0.6069610512608027, \"MacroF1\": 0.5711427916016896, \"Memory in Mb\": 6.534946441650391, \"Time in s\": 2516.339397 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6039145532989583, \"MicroF1\": 0.6039145532989583, \"MacroF1\": 0.5678102867297489, \"Memory in Mb\": 6.535068511962891, \"Time in s\": 3064.243813 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034662373330808, \"MicroF1\": 0.6034662373330808, \"MacroF1\": 0.567425153452482, \"Memory in Mb\": 6.535427093505859, \"Time in s\": 3659.768381 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6005165733964701, \"MicroF1\": 0.6005165733964701, \"MacroF1\": 0.56512832395729, \"Memory in Mb\": 6.535404205322266, \"Time in s\": 4303.846419 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6031883829216321, \"MicroF1\": 0.6031883829216321, \"MacroF1\": 0.5703828979306639, \"Memory in Mb\": 6.535358428955078, \"Time in s\": 4997.310473 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6147009543235958, \"MicroF1\": 0.6147009543235958, \"MacroF1\": 0.5955104002005771, \"Memory in Mb\": 6.534030914306641, \"Time in s\": 5738.022631999999 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6051545694378678, \"MicroF1\": 0.6051545694378678, \"MacroF1\": 0.586271708420286, \"Memory in Mb\": 6.533008575439453, \"Time in s\": 6524.316427 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5703642906749163, \"MicroF1\": 0.5703642906749163, \"MacroF1\": 0.5530031721301686, \"Memory in Mb\": 6.534244537353516, \"Time in s\": 7355.370967999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5440662918023084, \"MicroF1\": 0.5440662918023084, \"MacroF1\": 0.5274181049148582, \"Memory in Mb\": 6.532741546630859, \"Time in s\": 8230.882624 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.524650437301543, \"MicroF1\": 0.524650437301543, \"MacroF1\": 0.5077439094080566, \"Memory in Mb\": 6.533657073974609, \"Time in s\": 9149.482306 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5142842110801283, \"MicroF1\": 0.5142842110801283, \"MacroF1\": 0.4945495171544722, \"Memory in Mb\": 5.423342704772949, \"Time in s\": 10110.1367 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5202611772915317, \"MicroF1\": 0.5202611772915317, \"MacroF1\": 0.499632175624185, \"Memory in Mb\": 13.463048934936523, \"Time in s\": 11121.939621 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5284814621904447, \"MicroF1\": 0.5284814621904447, \"MacroF1\": 0.5082299437323158, \"Memory in Mb\": 14.233846664428713, \"Time in s\": 12202.11771 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5344757609921083, \"MicroF1\": 0.5344757609921083, \"MacroF1\": 0.5148729059414189, \"Memory in Mb\": 14.772774696350098, \"Time in s\": 13344.394485 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5430674529723215, \"MicroF1\": 0.5430674529723215, \"MacroF1\": 0.5233933209280776, \"Memory in Mb\": 14.684733390808104, \"Time in s\": 14542.607494 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5502120475974801, \"MicroF1\": 0.5502120475974801, \"MacroF1\": 0.5298443248135049, \"Memory in Mb\": 16.20911407470703, \"Time in s\": 15791.070918 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5564061081955569, \"MicroF1\": 0.5564061081955569, \"MacroF1\": 0.5355525016331893, \"Memory in Mb\": 16.199478149414062, \"Time in s\": 17093.843057 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.561460661388689, \"MicroF1\": 0.561460661388689, \"MacroF1\": 0.5398397773012414, \"Memory in Mb\": 16.192718505859375, \"Time in s\": 18441.382026 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.564742305590967, \"MicroF1\": 0.564742305590967, \"MacroF1\": 0.5421523628031605, \"Memory in Mb\": 15.229331016540527, \"Time in s\": 19838.570208 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5680614499666795, \"MicroF1\": 0.5680614499666795, \"MacroF1\": 0.5472893783055924, \"Memory in Mb\": 13.71937370300293, \"Time in s\": 21280.868604 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5701288598775662, \"MicroF1\": 0.5701288598775662, \"MacroF1\": 0.55295508639855, \"Memory in Mb\": 11.343052864074709, \"Time in s\": 22768.358846 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5724128922705156, \"MicroF1\": 0.5724128922705156, \"MacroF1\": 0.5585792537754973, \"Memory in Mb\": 9.387857437133787, \"Time in s\": 24294.822849 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5749865841724802, \"MicroF1\": 0.5749865841724802, \"MacroF1\": 0.5636037623129485, \"Memory in Mb\": 9.38664436340332, \"Time in s\": 25857.719223 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5781884832747823, \"MicroF1\": 0.5781884832747823, \"MacroF1\": 0.5684564968293649, \"Memory in Mb\": 9.385660171508787, \"Time in s\": 27456.12944 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.575656239827173, \"MicroF1\": 0.575656239827173, \"MacroF1\": 0.5663415557568727, \"Memory in Mb\": 7.860757827758789, \"Time in s\": 29092.739018 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5754584325766924, \"MicroF1\": 0.5754584325766924, \"MacroF1\": 0.565994999425249, \"Memory in Mb\": 7.205549240112305, \"Time in s\": 30762.023764 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5763863743976827, \"MicroF1\": 0.5763863743976827, \"MacroF1\": 0.5665127709334143, \"Memory in Mb\": 6.54947566986084, \"Time in s\": 32461.363070000003 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5758813820720258, \"MicroF1\": 0.5758813820720258, \"MacroF1\": 0.56571927622701, \"Memory in Mb\": 6.547377586364746, \"Time in s\": 34189.07998 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5767460213073786, \"MicroF1\": 0.5767460213073786, \"MacroF1\": 0.5661110063916132, \"Memory in Mb\": 6.546515464782715, \"Time in s\": 35945.284935 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5764633615725219, \"MicroF1\": 0.5764633615725219, \"MacroF1\": 0.5659285794545608, \"Memory in Mb\": 6.543356895446777, \"Time in s\": 37730.818682000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.573454282652578, \"MicroF1\": 0.573454282652578, \"MacroF1\": 0.5636611811263741, \"Memory in Mb\": 8.510072708129883, \"Time in s\": 39542.33547700001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5726391957846685, \"MicroF1\": 0.5726391957846685, \"MacroF1\": 0.5633960246210544, \"Memory in Mb\": 8.712862014770508, \"Time in s\": 41378.34519600001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5723146854802433, \"MicroF1\": 0.5723146854802433, \"MacroF1\": 0.5635786987292998, \"Memory in Mb\": 10.13754653930664, \"Time in s\": 43237.00688100001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5717981291142165, \"MicroF1\": 0.5717981291142165, \"MacroF1\": 0.5635967907133216, \"Memory in Mb\": 10.13637924194336, \"Time in s\": 45117.76335600001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.571103244571712, \"MicroF1\": 0.571103244571712, \"MacroF1\": 0.5633625241299441, \"Memory in Mb\": 10.135028839111328, \"Time in s\": 47020.66134100001 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5712335102517233, \"MicroF1\": 0.5712335102517233, \"MacroF1\": 0.563808836162261, \"Memory in Mb\": 11.334146499633787, \"Time in s\": 48947.97157600001 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5728213847577642, \"MicroF1\": 0.5728213847577642, \"MacroF1\": 0.5658781423773395, \"Memory in Mb\": 12.350201606750488, \"Time in s\": 50897.74209700001 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.576863991245607, \"MicroF1\": 0.576863991245607, \"MacroF1\": 0.5703778478941884, \"Memory in Mb\": 16.125893592834473, \"Time in s\": 52890.49897200001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5828512609366958, \"MicroF1\": 0.5828512609366958, \"MacroF1\": 0.5764029561430954, \"Memory in Mb\": 15.266244888305664, \"Time in s\": 54904.91240000001 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5890270194031956, \"MicroF1\": 0.5890270194031956, \"MacroF1\": 0.5823661991476956, \"Memory in Mb\": 14.839654922485352, \"Time in s\": 56940.07330000001 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5947087024286306, \"MicroF1\": 0.5947087024286306, \"MacroF1\": 0.5876086024291545, \"Memory in Mb\": 12.465810775756836, \"Time in s\": 58994.29364000001 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.600718937827339, \"MicroF1\": 0.600718937827339, \"MacroF1\": 0.5930357853224563, \"Memory in Mb\": 11.884730339050291, \"Time in s\": 61065.77177200001 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6060342051932802, \"MicroF1\": 0.6060342051932802, \"MacroF1\": 0.5982060206393416, \"Memory in Mb\": 3.691446304321289, \"Time in s\": 63151.215841000005 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6063920373909588, \"MicroF1\": 0.6063920373909588, \"MacroF1\": 0.5985419438128344, \"Memory in Mb\": 3.691621780395508, \"Time in s\": 65236.99615100001 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.1448841094970703, \"Time in s\": 5.867596 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 3.0916757583618164, \"Time in s\": 25.808269 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8912510220768601, \"MicroF1\": 0.8912510220768601, \"MacroF1\": 0.8617021305177773, \"Memory in Mb\": 4.035944938659668, \"Time in s\": 63.939426 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031269160024524, \"MicroF1\": 0.9031269160024524, \"MacroF1\": 0.8868998230762758, \"Memory in Mb\": 4.988290786743164, \"Time in s\": 125.34339 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.898970083374203, \"MicroF1\": 0.898970083374203, \"MacroF1\": 0.888705938214812, \"Memory in Mb\": 6.037667274475098, \"Time in s\": 214.307845 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8594196975888844, \"MicroF1\": 0.8594196975888844, \"MacroF1\": 0.8547805855679916, \"Memory in Mb\": 6.993380546569824, \"Time in s\": 335.016386 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8651488616462347, \"MicroF1\": 0.8651488616462347, \"MacroF1\": 0.8483773016417727, \"Memory in Mb\": 7.939821243286133, \"Time in s\": 488.1215580000001 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8553478394115844, \"MicroF1\": 0.8553478394115844, \"MacroF1\": 0.8302147847543373, \"Memory in Mb\": 8.885003089904785, \"Time in s\": 675.394352 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8452737673658404, \"MicroF1\": 0.8452737673658404, \"MacroF1\": 0.8411086163638233, \"Memory in Mb\": 9.830622673034668, \"Time in s\": 899.024814 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8374601618043638, \"MicroF1\": 0.8374601618043638, \"MacroF1\": 0.8238000521910981, \"Memory in Mb\": 11.003908157348633, \"Time in s\": 1161.3046 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8250501448629374, \"MicroF1\": 0.8250501448629373, \"MacroF1\": 0.8343531144302688, \"Memory in Mb\": 11.974610328674316, \"Time in s\": 1461.738376 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8232890704800817, \"MicroF1\": 0.8232890704800817, \"MacroF1\": 0.8292209535545839, \"Memory in Mb\": 12.919659614562988, \"Time in s\": 1801.820426 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8199132566471808, \"MicroF1\": 0.819913256647181, \"MacroF1\": 0.8044565992905442, \"Memory in Mb\": 13.86521053314209, \"Time in s\": 2181.861898 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7998599194536858, \"MicroF1\": 0.7998599194536857, \"MacroF1\": 0.8029484507582976, \"Memory in Mb\": 14.811628341674805, \"Time in s\": 2601.779179 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7970256577872201, \"MicroF1\": 0.7970256577872201, \"MacroF1\": 0.7783451709211457, \"Memory in Mb\": 15.75713062286377, \"Time in s\": 3063.5971010000003 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7720239007200858, \"MicroF1\": 0.7720239007200858, \"MacroF1\": 0.767005590841987, \"Memory in Mb\": 16.704151153564453, \"Time in s\": 3570.6766780000003 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7645277577505407, \"MicroF1\": 0.7645277577505407, \"MacroF1\": 0.766187831914561, \"Memory in Mb\": 17.649503707885742, \"Time in s\": 4126.519897 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.773389622769985, \"MicroF1\": 0.7733896227699851, \"MacroF1\": 0.770832075885354, \"Memory in Mb\": 18.61162567138672, \"Time in s\": 4733.5217410000005 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7737066185008385, \"MicroF1\": 0.7737066185008385, \"MacroF1\": 0.7718493223486268, \"Memory in Mb\": 19.557814598083496, \"Time in s\": 5395.069721000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7765657556073048, \"MicroF1\": 0.7765657556073047, \"MacroF1\": 0.7724710929560354, \"Memory in Mb\": 20.503721237182617, \"Time in s\": 6113.943535 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7730827594257033, \"MicroF1\": 0.7730827594257033, \"MacroF1\": 0.7727491763630034, \"Memory in Mb\": 21.88267517089844, \"Time in s\": 6890.839823 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7714763231197772, \"MicroF1\": 0.7714763231197772, \"MacroF1\": 0.7717207236627096, \"Memory in Mb\": 22.87528133392334, \"Time in s\": 7728.212391 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7702227432590856, \"MicroF1\": 0.7702227432590856, \"MacroF1\": 0.7694267539223918, \"Memory in Mb\": 23.822596549987797, \"Time in s\": 8626.275614 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7656010621999796, \"MicroF1\": 0.7656010621999795, \"MacroF1\": 0.7644081311179032, \"Memory in Mb\": 24.768078804016117, \"Time in s\": 9586.24664 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.757623296401608, \"MicroF1\": 0.757623296401608, \"MacroF1\": 0.749720417225094, \"Memory in Mb\": 25.71299648284912, \"Time in s\": 10618.940127 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.737154709154332, \"MicroF1\": 0.737154709154332, \"MacroF1\": 0.7245707699101513, \"Memory in Mb\": 26.660439491271973, \"Time in s\": 11726.561153 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.729822968679074, \"MicroF1\": 0.7298229686790739, \"MacroF1\": 0.7256689004292383, \"Memory in Mb\": 27.605186462402344, \"Time in s\": 12907.41343 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7229274271207213, \"MicroF1\": 0.7229274271207213, \"MacroF1\": 0.7092514304350318, \"Memory in Mb\": 28.551199913024902, \"Time in s\": 14153.769988 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7133801031189249, \"MicroF1\": 0.7133801031189249, \"MacroF1\": 0.7054771135814562, \"Memory in Mb\": 29.4963436126709, \"Time in s\": 15465.906612 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7177874009314487, \"MicroF1\": 0.7177874009314487, \"MacroF1\": 0.7138351093258007, \"Memory in Mb\": 30.441871643066406, \"Time in s\": 16835.329364 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7147149521625682, \"MicroF1\": 0.7147149521625682, \"MacroF1\": 0.7065885995198201, \"Memory in Mb\": 31.388431549072266, \"Time in s\": 18265.757575 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7031788586748372, \"MicroF1\": 0.7031788586748372, \"MacroF1\": 0.6954173783902821, \"Memory in Mb\": 32.33424186706543, \"Time in s\": 19760.458564 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7011067369828419, \"MicroF1\": 0.7011067369828419, \"MacroF1\": 0.6966368809795416, \"Memory in Mb\": 33.27959156036377, \"Time in s\": 21319.158047 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7007425564126595, \"MicroF1\": 0.7007425564126595, \"MacroF1\": 0.6971102154727419, \"Memory in Mb\": 34.22630214691162, \"Time in s\": 22941.129728 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6961972126899643, \"MicroF1\": 0.6961972126899643, \"MacroF1\": 0.691133802747568, \"Memory in Mb\": 35.17108726501465, \"Time in s\": 24623.129677 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.698781235105876, \"MicroF1\": 0.698781235105876, \"MacroF1\": 0.696592906911097, \"Memory in Mb\": 36.11711597442627, \"Time in s\": 26362.470984 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7048029148724744, \"MicroF1\": 0.7048029148724744, \"MacroF1\": 0.702773358939844, \"Memory in Mb\": 37.0643196105957, \"Time in s\": 28156.052692 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7047668193252918, \"MicroF1\": 0.7047668193252918, \"MacroF1\": 0.7013012225519919, \"Memory in Mb\": 38.00920104980469, \"Time in s\": 30004.434818 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6956822324178241, \"MicroF1\": 0.6956822324178241, \"MacroF1\": 0.6887843659114408, \"Memory in Mb\": 38.955204010009766, \"Time in s\": 31904.325566000003 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6869906244255163, \"MicroF1\": 0.6869906244255163, \"MacroF1\": 0.6817298949676788, \"Memory in Mb\": 39.901418685913086, \"Time in s\": 33880.147234000004 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6840437615830693, \"MicroF1\": 0.6840437615830693, \"MacroF1\": 0.6809878840610977, \"Memory in Mb\": 40.84670162200928, \"Time in s\": 35894.19480500001 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6798949518529326, \"MicroF1\": 0.6798949518529326, \"MacroF1\": 0.6760668667678135, \"Memory in Mb\": 42.678324699401855, \"Time in s\": 37945.35177200001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6725759562218548, \"MicroF1\": 0.6725759562218548, \"MacroF1\": 0.6693298574086026, \"Memory in Mb\": 43.72208595275879, \"Time in s\": 40033.19473500001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6715503314578575, \"MicroF1\": 0.6715503314578575, \"MacroF1\": 0.6700615486077944, \"Memory in Mb\": 44.66869449615479, \"Time in s\": 42156.41544100001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6768887194291628, \"MicroF1\": 0.6768887194291628, \"MacroF1\": 0.6760264883444682, \"Memory in Mb\": 45.61451721191406, \"Time in s\": 44306.462280000014 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6818884211648105, \"MicroF1\": 0.6818884211648105, \"MacroF1\": 0.6814185274246665, \"Memory in Mb\": 46.56109237670898, \"Time in s\": 46484.07667300002 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6739504563233377, \"MicroF1\": 0.6739504563233377, \"MacroF1\": 0.6724064481498903, \"Memory in Mb\": 47.50611400604248, \"Time in s\": 48682.185033000016 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.677883878874534, \"MicroF1\": 0.677883878874534, \"MacroF1\": 0.6774885006147249, \"Memory in Mb\": 48.45180988311768, \"Time in s\": 50904.928535000014 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6733530088539843, \"MicroF1\": 0.6733530088539843, \"MacroF1\": 0.6729949515014169, \"Memory in Mb\": 49.39821243286133, \"Time in s\": 53145.742009000016 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6697387126819943, \"MicroF1\": 0.6697387126819943, \"MacroF1\": 0.6699810213452306, \"Memory in Mb\": 50.34487438201904, \"Time in s\": 55411.38251600001 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3777777777777777, \"MicroF1\": 0.3777777777777777, \"MacroF1\": 0.2811210847975554, \"Memory in Mb\": 4.09740161895752, \"Time in s\": 6.997987 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5164835164835165, \"MicroF1\": 0.5164835164835165, \"MacroF1\": 0.5316649744849407, \"Memory in Mb\": 4.097981452941895, \"Time in s\": 22.017115 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5547445255474452, \"MicroF1\": 0.5547445255474452, \"MacroF1\": 0.5804654781117263, \"Memory in Mb\": 4.0981035232543945, \"Time in s\": 44.610384 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6174863387978142, \"MicroF1\": 0.6174863387978142, \"MacroF1\": 0.6394923756219437, \"Memory in Mb\": 4.098713874816895, \"Time in s\": 74.61421299999999 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6506550218340611, \"MicroF1\": 0.6506550218340611, \"MacroF1\": 0.66859135700569, \"Memory in Mb\": 4.098713874816895, \"Time in s\": 111.653321 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6618181818181819, \"MicroF1\": 0.6618181818181819, \"MacroF1\": 0.6795855359270878, \"Memory in Mb\": 4.098832130432129, \"Time in s\": 156.076644 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6853582554517134, \"MicroF1\": 0.6853582554517134, \"MacroF1\": 0.6872635633687633, \"Memory in Mb\": 4.099373817443848, \"Time in s\": 207.574915 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7111716621253406, \"MicroF1\": 0.7111716621253404, \"MacroF1\": 0.7098417316927395, \"Memory in Mb\": 4.099347114562988, \"Time in s\": 266.341739 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7215496368038741, \"MicroF1\": 0.7215496368038742, \"MacroF1\": 0.7201557312728714, \"Memory in Mb\": 4.09926700592041, \"Time in s\": 332.356571 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7211328976034859, \"MicroF1\": 0.721132897603486, \"MacroF1\": 0.7175330036146421, \"Memory in Mb\": 4.099320411682129, \"Time in s\": 405.380301 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7287128712871287, \"MicroF1\": 0.7287128712871287, \"MacroF1\": 0.7233455022590812, \"Memory in Mb\": 4.099320411682129, \"Time in s\": 485.520305 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7295825771324864, \"MicroF1\": 0.7295825771324864, \"MacroF1\": 0.7255599965917697, \"Memory in Mb\": 4.099240303039551, \"Time in s\": 572.983507 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7353433835845896, \"MicroF1\": 0.7353433835845896, \"MacroF1\": 0.7308494254186014, \"Memory in Mb\": 4.0992631912231445, \"Time in s\": 667.526521 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7340590979782271, \"MicroF1\": 0.7340590979782271, \"MacroF1\": 0.7314183982762247, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 768.914228 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737300435413643, \"MicroF1\": 0.737300435413643, \"MacroF1\": 0.7343909641298695, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 877.069835 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387755102040816, \"MicroF1\": 0.7387755102040816, \"MacroF1\": 0.7369557659594496, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 992.190131 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7439180537772087, \"MicroF1\": 0.7439180537772088, \"MacroF1\": 0.7419020281650245, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1114.103609 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436517533252721, \"MicroF1\": 0.7436517533252721, \"MacroF1\": 0.7432199627682998, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1242.576589 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7502863688430699, \"MicroF1\": 0.7502863688430699, \"MacroF1\": 0.7482089866208982, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1377.530874 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750816104461371, \"MicroF1\": 0.750816104461371, \"MacroF1\": 0.7477650187313974, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1518.374517 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7512953367875648, \"MicroF1\": 0.7512953367875648, \"MacroF1\": 0.747322646811651, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1664.895359 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7507418397626113, \"MicroF1\": 0.7507418397626113, \"MacroF1\": 0.7469783619055548, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1817.198797 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7530747398297067, \"MicroF1\": 0.7530747398297066, \"MacroF1\": 0.7482363934596314, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1975.112421 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7552130553037172, \"MicroF1\": 0.7552130553037172, \"MacroF1\": 0.750118495060715, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2138.658016 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7571801566579635, \"MicroF1\": 0.7571801566579635, \"MacroF1\": 0.7516199800653577, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2307.825702 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7598326359832636, \"MicroF1\": 0.7598326359832636, \"MacroF1\": 0.7548841797367702, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2482.820129 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7598710717163578, \"MicroF1\": 0.7598710717163577, \"MacroF1\": 0.7553301531902636, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2663.447895 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7645687645687645, \"MicroF1\": 0.7645687645687647, \"MacroF1\": 0.7590078532621816, \"Memory in Mb\": 4.1004838943481445, \"Time in s\": 2849.419913 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7644411102775694, \"MicroF1\": 0.7644411102775694, \"MacroF1\": 0.7591993978414527, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3040.9965970000003 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650471356055112, \"MicroF1\": 0.7650471356055112, \"MacroF1\": 0.7601575050520947, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3238.5768190000003 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7670175438596492, \"MicroF1\": 0.7670175438596492, \"MacroF1\": 0.7613339877221927, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3441.4807240000005 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7715839564921821, \"MicroF1\": 0.7715839564921821, \"MacroF1\": 0.7641396475218201, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 3649.5015090000006 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7732366512854317, \"MicroF1\": 0.7732366512854317, \"MacroF1\": 0.7648275341801108, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 3862.69427 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7735124760076776, \"MicroF1\": 0.7735124760076776, \"MacroF1\": 0.7657569341108763, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 4080.891056 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737725295214419, \"MicroF1\": 0.7737725295214419, \"MacroF1\": 0.7651494083475014, \"Memory in Mb\": 4.10057544708252, \"Time in s\": 4304.577590000001 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7740181268882175, \"MicroF1\": 0.7740181268882175, \"MacroF1\": 0.7654813489818475, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 4533.710142000001 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7730746619635509, \"MicroF1\": 0.7730746619635509, \"MacroF1\": 0.766493027961906, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 4767.793233000001 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7756153405838581, \"MicroF1\": 0.7756153405838581, \"MacroF1\": 0.7686072256536652, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 5007.029776000001 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769102063580591, \"MicroF1\": 0.7769102063580591, \"MacroF1\": 0.7685414235990152, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5251.440116000002 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7781402936378466, \"MicroF1\": 0.7781402936378466, \"MacroF1\": 0.7699957723931323, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5500.964415000001 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7761273209549071, \"MicroF1\": 0.7761273209549071, \"MacroF1\": 0.7684985598909853, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5755.503987000001 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762817193164163, \"MicroF1\": 0.7762817193164163, \"MacroF1\": 0.7677434418046419, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6014.862306000001 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7774405665149215, \"MicroF1\": 0.7774405665149215, \"MacroF1\": 0.7684788817649146, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6279.121569000001 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7790410281759763, \"MicroF1\": 0.7790410281759763, \"MacroF1\": 0.7689103339153599, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6548.278113000001 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7786370227162881, \"MicroF1\": 0.7786370227162881, \"MacroF1\": 0.7686288077529282, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6822.363214000001 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7791962174940898, \"MicroF1\": 0.7791962174940898, \"MacroF1\": 0.768391950800897, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 7101.096348000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7801943544655252, \"MicroF1\": 0.7801943544655253, \"MacroF1\": 0.768962628827985, \"Memory in Mb\": 4.100525856018066, \"Time in s\": 7384.333285000001 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7820570910738559, \"MicroF1\": 0.7820570910738559, \"MacroF1\": 0.7698068761587117, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 7672.298476000001 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7789613848202397, \"MicroF1\": 0.7789613848202397, \"MacroF1\": 0.7667173742344939, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 7965.117559000001 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7781644193127447, \"MicroF1\": 0.7781644193127447, \"MacroF1\": 0.7659138381656089, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 8262.647904000001 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7782589865742746, \"MicroF1\": 0.7782589865742745, \"MacroF1\": 0.7660163657276376, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 8561.303246000001 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6218009478672986, \"MicroF1\": 0.6218009478672986, \"MacroF1\": 0.5857016652718549, \"Memory in Mb\": 6.471495628356934, \"Time in s\": 220.837673 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6196115585030791, \"MicroF1\": 0.6196115585030791, \"MacroF1\": 0.5856756432415233, \"Memory in Mb\": 10.302834510803224, \"Time in s\": 598.297395 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.628986422481844, \"MicroF1\": 0.628986422481844, \"MacroF1\": 0.5949930595607559, \"Memory in Mb\": 19.024110794067383, \"Time in s\": 1103.516793 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6294103717736207, \"MicroF1\": 0.6294103717736207, \"MacroF1\": 0.5952675443708706, \"Memory in Mb\": 19.52926254272461, \"Time in s\": 1735.893967 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6364841826103429, \"MicroF1\": 0.6364841826103429, \"MacroF1\": 0.5994911272790603, \"Memory in Mb\": 18.82306957244873, \"Time in s\": 2497.807238 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6352012628255722, \"MicroF1\": 0.6352012628255722, \"MacroF1\": 0.5993891820807258, \"Memory in Mb\": 20.00343894958496, \"Time in s\": 3379.788115 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.638749830875389, \"MicroF1\": 0.638749830875389, \"MacroF1\": 0.6030343276880051, \"Memory in Mb\": 20.9547061920166, \"Time in s\": 4385.582643 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6405824553095774, \"MicroF1\": 0.6405824553095774, \"MacroF1\": 0.6028521616895871, \"Memory in Mb\": 23.98197650909424, \"Time in s\": 5520.259032 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6449542249815847, \"MicroF1\": 0.6449542249815847, \"MacroF1\": 0.6055705492028415, \"Memory in Mb\": 24.687146186828613, \"Time in s\": 6764.141036999999 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6485462638507434, \"MicroF1\": 0.6485462638507434, \"MacroF1\": 0.6081614166360887, \"Memory in Mb\": 28.76917839050293, \"Time in s\": 8102.806145 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6490744726646578, \"MicroF1\": 0.6490744726646578, \"MacroF1\": 0.6078786452761632, \"Memory in Mb\": 30.803756713867188, \"Time in s\": 9530.02909 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6514876489621971, \"MicroF1\": 0.6514876489621971, \"MacroF1\": 0.6111938480023122, \"Memory in Mb\": 35.14385414123535, \"Time in s\": 11044.69783 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6707947840023312, \"MicroF1\": 0.6707947840023312, \"MacroF1\": 0.6607574394823457, \"Memory in Mb\": 17.51351547241211, \"Time in s\": 12617.098737 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6821348846648176, \"MicroF1\": 0.6821348846648176, \"MacroF1\": 0.6733632096765088, \"Memory in Mb\": 9.275564193725586, \"Time in s\": 14250.678949 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6778205694803965, \"MicroF1\": 0.6778205694803965, \"MacroF1\": 0.670556396248407, \"Memory in Mb\": 11.964457511901855, \"Time in s\": 15956.730999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6754661142349808, \"MicroF1\": 0.6754661142349808, \"MacroF1\": 0.6690281338426608, \"Memory in Mb\": 12.60369873046875, \"Time in s\": 17732.973803 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6721631106902123, \"MicroF1\": 0.6721631106902123, \"MacroF1\": 0.6660357480506892, \"Memory in Mb\": 12.93508529663086, \"Time in s\": 19577.321708 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6856947440416689, \"MicroF1\": 0.6856947440416689, \"MacroF1\": 0.6751812770122833, \"Memory in Mb\": 14.563780784606934, \"Time in s\": 21465.395048 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6926680954991776, \"MicroF1\": 0.6926680954991776, \"MacroF1\": 0.6785701715539604, \"Memory in Mb\": 23.61655616760254, \"Time in s\": 23398.659989 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6942090061082438, \"MicroF1\": 0.6942090061082438, \"MacroF1\": 0.6784920731228882, \"Memory in Mb\": 30.02095413208008, \"Time in s\": 25401.280766 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6958737316798196, \"MicroF1\": 0.6958737316798196, \"MacroF1\": 0.6784853924286285, \"Memory in Mb\": 31.29345321655273, \"Time in s\": 27443.688764 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6989798114588266, \"MicroF1\": 0.6989798114588266, \"MacroF1\": 0.6799590657327791, \"Memory in Mb\": 29.59604263305664, \"Time in s\": 29526.276677 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7011981718614897, \"MicroF1\": 0.7011981718614897, \"MacroF1\": 0.680282364066019, \"Memory in Mb\": 32.615909576416016, \"Time in s\": 31645.669428 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7031527443475516, \"MicroF1\": 0.7031527443475516, \"MacroF1\": 0.6805566439417602, \"Memory in Mb\": 33.91432285308838, \"Time in s\": 33792.819539 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7051782264479716, \"MicroF1\": 0.7051782264479716, \"MacroF1\": 0.6809495737401271, \"Memory in Mb\": 35.12977695465088, \"Time in s\": 35966.301701 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7065743944636678, \"MicroF1\": 0.7065743944636678, \"MacroF1\": 0.6805936316849747, \"Memory in Mb\": 38.84447956085205, \"Time in s\": 38159.78466 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7054820946301428, \"MicroF1\": 0.7054820946301428, \"MacroF1\": 0.681225779493031, \"Memory in Mb\": 34.570815086364746, \"Time in s\": 40377.715599 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7045692833226231, \"MicroF1\": 0.7045692833226231, \"MacroF1\": 0.6849598194839713, \"Memory in Mb\": 20.38253498077393, \"Time in s\": 42611.23284999999 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7031316330862424, \"MicroF1\": 0.7031316330862424, \"MacroF1\": 0.6877640955933652, \"Memory in Mb\": 22.55568027496338, \"Time in s\": 44864.71640799999 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7032418952618454, \"MicroF1\": 0.7032418952618454, \"MacroF1\": 0.6917227552448634, \"Memory in Mb\": 26.177990913391117, \"Time in s\": 47133.482559 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7037421719871697, \"MicroF1\": 0.7037421719871697, \"MacroF1\": 0.6952024388211077, \"Memory in Mb\": 25.7611780166626, \"Time in s\": 49415.922785 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7002160338551685, \"MicroF1\": 0.7002160338551685, \"MacroF1\": 0.6931280234945141, \"Memory in Mb\": 25.958494186401367, \"Time in s\": 51714.47139399999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6973627571957414, \"MicroF1\": 0.6973627571957414, \"MacroF1\": 0.6902163957562899, \"Memory in Mb\": 18.894118309021, \"Time in s\": 54032.337052 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6951786758766677, \"MicroF1\": 0.6951786758766677, \"MacroF1\": 0.6877287571005829, \"Memory in Mb\": 18.049145698547363, \"Time in s\": 56371.370632 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6919830081982737, \"MicroF1\": 0.6919830081982737, \"MacroF1\": 0.6843647347906762, \"Memory in Mb\": 22.045016288757324, \"Time in s\": 58731.919307 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6900697093252663, \"MicroF1\": 0.6900697093252663, \"MacroF1\": 0.68217396069655, \"Memory in Mb\": 25.079078674316406, \"Time in s\": 61114.705624 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.688720534411712, \"MicroF1\": 0.688720534411712, \"MacroF1\": 0.6808510434728485, \"Memory in Mb\": 19.794261932373047, \"Time in s\": 63520.517783 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6867695068158597, \"MicroF1\": 0.6867695068158597, \"MacroF1\": 0.6796002866264578, \"Memory in Mb\": 10.854747772216797, \"Time in s\": 65948.78476699999 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6843843333414273, \"MicroF1\": 0.6843843333414273, \"MacroF1\": 0.6779529807793833, \"Memory in Mb\": 10.474969863891602, \"Time in s\": 68395.63477799999 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6822131205757712, \"MicroF1\": 0.6822131205757712, \"MacroF1\": 0.6764872431583758, \"Memory in Mb\": 14.707494735717772, \"Time in s\": 70864.05938699999 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6795472918350849, \"MicroF1\": 0.6795472918350849, \"MacroF1\": 0.674587653669649, \"Memory in Mb\": 12.672552108764648, \"Time in s\": 73351.02096199998 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6769633153705666, \"MicroF1\": 0.6769633153705666, \"MacroF1\": 0.6725984110786069, \"Memory in Mb\": 13.144417762756348, \"Time in s\": 75857.66838799998 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6748959411544475, \"MicroF1\": 0.6748959411544475, \"MacroF1\": 0.6710316194917795, \"Memory in Mb\": 14.719610214233398, \"Time in s\": 78383.45415699997 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6743215031315241, \"MicroF1\": 0.6743215031315241, \"MacroF1\": 0.670959098678123, \"Memory in Mb\": 15.027325630187988, \"Time in s\": 80927.72302099997 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6765293882447021, \"MicroF1\": 0.6765293882447021, \"MacroF1\": 0.6733002712216741, \"Memory in Mb\": 17.283148765563965, \"Time in s\": 83488.02074099997 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6805970149253732, \"MicroF1\": 0.6805970149253732, \"MacroF1\": 0.6770692638556323, \"Memory in Mb\": 17.906007766723633, \"Time in s\": 86063.52222099998 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6848340754770205, \"MicroF1\": 0.6848340754770205, \"MacroF1\": 0.6808344811077705, \"Memory in Mb\": 18.8202543258667, \"Time in s\": 88653.18323199998 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6890524197525992, \"MicroF1\": 0.6890524197525992, \"MacroF1\": 0.6843657264244208, \"Memory in Mb\": 21.50714492797852, \"Time in s\": 91255.74433499998 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6932531936687089, \"MicroF1\": 0.6932531936687089, \"MacroF1\": 0.6877873898777546, \"Memory in Mb\": 23.154582023620605, \"Time in s\": 93870.637319 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6956002954601412, \"MicroF1\": 0.6956002954601412, \"MacroF1\": 0.6902433463100389, \"Memory in Mb\": 14.128369331359863, \"Time in s\": 96495.216564 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6958578538043787, \"MicroF1\": 0.6958578538043787, \"MacroF1\": 0.6905081705907102, \"Memory in Mb\": 13.83100128173828, \"Time in s\": 99120.191439 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.0028390884399414, \"Time in s\": 23.27864 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9521472392638036, \"MicroF1\": 0.9521472392638036, \"MacroF1\": 0.8408896590786493, \"Memory in Mb\": 4.076430320739746, \"Time in s\": 76.761208 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9533932951757972, \"MicroF1\": 0.9533932951757972, \"MacroF1\": 0.9542235338779168, \"Memory in Mb\": 5.6716413497924805, \"Time in s\": 164.877928 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589209074187616, \"MicroF1\": 0.9589209074187616, \"MacroF1\": 0.936122253486076, \"Memory in Mb\": 8.122180938720703, \"Time in s\": 291.606081 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9573320255026974, \"MicroF1\": 0.9573320255026974, \"MacroF1\": 0.9445755787125868, \"Memory in Mb\": 10.5212984085083, \"Time in s\": 455.912148 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607682876992236, \"MicroF1\": 0.9607682876992236, \"MacroF1\": 0.9588299190873342, \"Memory in Mb\": 9.06541347503662, \"Time in s\": 649.921126 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9618213660245184, \"MicroF1\": 0.9618213660245184, \"MacroF1\": 0.9516555143941908, \"Memory in Mb\": 13.188368797302246, \"Time in s\": 870.236672 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589334967821024, \"MicroF1\": 0.9589334967821024, \"MacroF1\": 0.9492703335352553, \"Memory in Mb\": 13.21088695526123, \"Time in s\": 1122.958204 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9585943884500135, \"MicroF1\": 0.9585943884500135, \"MacroF1\": 0.9531276848185062, \"Memory in Mb\": 16.65507411956787, \"Time in s\": 1406.732623 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541554302525128, \"MicroF1\": 0.9541554302525128, \"MacroF1\": 0.9416377826660955, \"Memory in Mb\": 17.091320037841797, \"Time in s\": 1722.764314 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9529752618676176, \"MicroF1\": 0.9529752618676176, \"MacroF1\": 0.9549694463549354, \"Memory in Mb\": 10.336687088012695, \"Time in s\": 2070.686487 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9550561797752808, \"MicroF1\": 0.9550561797752808, \"MacroF1\": 0.95517907029875, \"Memory in Mb\": 11.520882606506348, \"Time in s\": 2449.358224 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568168960965492, \"MicroF1\": 0.9568168960965492, \"MacroF1\": 0.9575833276239932, \"Memory in Mb\": 13.737529754638672, \"Time in s\": 2856.6015070000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9574505340570828, \"MicroF1\": 0.9574505340570828, \"MacroF1\": 0.9570632809827344, \"Memory in Mb\": 15.842782020568848, \"Time in s\": 3290.691514 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9557117176009152, \"MicroF1\": 0.9557117176009152, \"MacroF1\": 0.9522483041543378, \"Memory in Mb\": 20.04281044006348, \"Time in s\": 3760.43818 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566416424084572, \"MicroF1\": 0.9566416424084572, \"MacroF1\": 0.9568246790885272, \"Memory in Mb\": 11.687369346618652, \"Time in s\": 4258.095146 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.95746214852199, \"MicroF1\": 0.95746214852199, \"MacroF1\": 0.9579855320572276, \"Memory in Mb\": 12.48728847503662, \"Time in s\": 4780.363237 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568296336647149, \"MicroF1\": 0.9568296336647149, \"MacroF1\": 0.9563404233689646, \"Memory in Mb\": 15.327423095703123, \"Time in s\": 5334.336646 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9565217391304348, \"MicroF1\": 0.9565217391304348, \"MacroF1\": 0.9563017119581124, \"Memory in Mb\": 18.70553493499756, \"Time in s\": 5920.99825 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.954528741267312, \"MicroF1\": 0.954528741267312, \"MacroF1\": 0.9527980459948604, \"Memory in Mb\": 24.08679676055908, \"Time in s\": 6539.621381999999 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.95459320649002, \"MicroF1\": 0.95459320649002, \"MacroF1\": 0.9549210113442088, \"Memory in Mb\": 21.21516990661621, \"Time in s\": 7187.28418 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9550974930362116, \"MicroF1\": 0.9550974930362116, \"MacroF1\": 0.955362716075958, \"Memory in Mb\": 17.566545486450195, \"Time in s\": 7867.802732999999 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9555579239049344, \"MicroF1\": 0.9555579239049344, \"MacroF1\": 0.9558253322166266, \"Memory in Mb\": 15.710055351257324, \"Time in s\": 8578.363562999999 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9552650393218262, \"MicroF1\": 0.9552650393218262, \"MacroF1\": 0.955371511778808, \"Memory in Mb\": 18.71725273132324, \"Time in s\": 9321.146736 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9533287577213452, \"MicroF1\": 0.9533287577213452, \"MacroF1\": 0.9523119157834916, \"Memory in Mb\": 15.605277061462402, \"Time in s\": 10099.276789999998 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9521070990855096, \"MicroF1\": 0.9521070990855096, \"MacroF1\": 0.9515822083565744, \"Memory in Mb\": 11.186952590942385, \"Time in s\": 10903.979313999998 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953427144802542, \"MicroF1\": 0.953427144802542, \"MacroF1\": 0.9541201209142028, \"Memory in Mb\": 7.581887245178223, \"Time in s\": 11728.435273 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953689923837871, \"MicroF1\": 0.953689923837871, \"MacroF1\": 0.9538275342826804, \"Memory in Mb\": 10.15964126586914, \"Time in s\": 12573.844722999998 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9535964838137098, \"MicroF1\": 0.9535964838137098, \"MacroF1\": 0.9538502960885475, \"Memory in Mb\": 11.061944961547852, \"Time in s\": 13441.174569 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541629218073372, \"MicroF1\": 0.9541629218073372, \"MacroF1\": 0.9544632162431566, \"Memory in Mb\": 11.249642372131348, \"Time in s\": 14331.138910999998 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9548509527951292, \"MicroF1\": 0.9548509527951292, \"MacroF1\": 0.9551609875055332, \"Memory in Mb\": 13.203255653381348, \"Time in s\": 15243.410521999998 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9551895825354272, \"MicroF1\": 0.955189582535427, \"MacroF1\": 0.9553883557595892, \"Memory in Mb\": 9.36058521270752, \"Time in s\": 16176.429406999998 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955953353635891, \"MicroF1\": 0.955953353635891, \"MacroF1\": 0.9562606797905644, \"Memory in Mb\": 11.575583457946776, \"Time in s\": 17130.275872 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9561675437964098, \"MicroF1\": 0.9561675437964098, \"MacroF1\": 0.9563487774281332, \"Memory in Mb\": 11.42638874053955, \"Time in s\": 18106.07239 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9549688353526156, \"MicroF1\": 0.9549688353526156, \"MacroF1\": 0.954852939557476, \"Memory in Mb\": 10.249165534973145, \"Time in s\": 19109.380901 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9552665622659496, \"MicroF1\": 0.9552665622659496, \"MacroF1\": 0.955472434271787, \"Memory in Mb\": 8.168793678283691, \"Time in s\": 20137.264239 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9560781715799934, \"MicroF1\": 0.9560781715799934, \"MacroF1\": 0.9563263247313608, \"Memory in Mb\": 9.020037651062012, \"Time in s\": 21191.151533 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563955363478036, \"MicroF1\": 0.9563955363478036, \"MacroF1\": 0.9565429512012836, \"Memory in Mb\": 8.031278610229492, \"Time in s\": 22273.408126999995 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566337753755264, \"MicroF1\": 0.9566337753755264, \"MacroF1\": 0.9567672375037608, \"Memory in Mb\": 10.967172622680664, \"Time in s\": 23379.117397999995 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563085973405232, \"MicroF1\": 0.9563085973405232, \"MacroF1\": 0.9563585840602682, \"Memory in Mb\": 11.29026985168457, \"Time in s\": 24508.785403999995 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955580797513003, \"MicroF1\": 0.955580797513003, \"MacroF1\": 0.9555776398983684, \"Memory in Mb\": 9.525394439697266, \"Time in s\": 25660.924918999997 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564050189670266, \"MicroF1\": 0.9564050189670268, \"MacroF1\": 0.9565585833577668, \"Memory in Mb\": 10.421767234802246, \"Time in s\": 26839.493165999997 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566778772159836, \"MicroF1\": 0.9566778772159836, \"MacroF1\": 0.9567660151847868, \"Memory in Mb\": 11.633780479431152, \"Time in s\": 28038.177978999996 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564369672998718, \"MicroF1\": 0.9564369672998718, \"MacroF1\": 0.9564736297242662, \"Memory in Mb\": 8.448995590209961, \"Time in s\": 29257.620389999996 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567514570510376, \"MicroF1\": 0.9567514570510376, \"MacroF1\": 0.9568227044222712, \"Memory in Mb\": 7.821832656860352, \"Time in s\": 30499.29393699999 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568924175414292, \"MicroF1\": 0.9568924175414292, \"MacroF1\": 0.9569505378685396, \"Memory in Mb\": 9.859258651733398, \"Time in s\": 31763.565401999997 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567144719687092, \"MicroF1\": 0.9567144719687092, \"MacroF1\": 0.956766336746882, \"Memory in Mb\": 11.256629943847656, \"Time in s\": 33053.804573999994 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568503293673084, \"MicroF1\": 0.9568503293673084, \"MacroF1\": 0.9569026376832064, \"Memory in Mb\": 11.690522193908691, \"Time in s\": 34367.36625199999 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564303936771548, \"MicroF1\": 0.9564303936771548, \"MacroF1\": 0.956465338137946, \"Memory in Mb\": 12.451186180114746, \"Time in s\": 35701.899461999994 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566155203686456, \"MicroF1\": 0.9566155203686456, \"MacroF1\": 0.9566498206969932, \"Memory in Mb\": 7.4099931716918945, \"Time in s\": 37049.10208799999 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4, \"MicroF1\": 0.4000000000000001, \"MacroF1\": 0.3289160825620571, \"Memory in Mb\": 1.89190673828125, \"Time in s\": 1.901401 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5494505494505495, \"MicroF1\": 0.5494505494505495, \"MacroF1\": 0.5607526488856412, \"Memory in Mb\": 2.084074020385742, \"Time in s\": 6.467373 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5693430656934306, \"MicroF1\": 0.5693430656934306, \"MacroF1\": 0.5872103411959265, \"Memory in Mb\": 2.357966423034668, \"Time in s\": 13.822826 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6174863387978142, \"MicroF1\": 0.6174863387978142, \"MacroF1\": 0.6372989403156369, \"Memory in Mb\": 2.7369613647460938, \"Time in s\": 24.259991 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6548159763148107, \"Memory in Mb\": 2.862431526184082, \"Time in s\": 37.817905 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6618181818181819, \"MicroF1\": 0.6618181818181819, \"MacroF1\": 0.6802187985971371, \"Memory in Mb\": 2.982741355895996, \"Time in s\": 54.565381 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6915887850467289, \"MicroF1\": 0.6915887850467289, \"MacroF1\": 0.6955507555363084, \"Memory in Mb\": 3.080752372741699, \"Time in s\": 74.633343 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7111716621253406, \"MicroF1\": 0.7111716621253404, \"MacroF1\": 0.7105739026832886, \"Memory in Mb\": 3.232259750366211, \"Time in s\": 98.204704 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7263922518159807, \"MicroF1\": 0.7263922518159807, \"MacroF1\": 0.7261041400072307, \"Memory in Mb\": 3.505929946899414, \"Time in s\": 125.527545 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7276688453159041, \"MicroF1\": 0.7276688453159043, \"MacroF1\": 0.72519869331257, \"Memory in Mb\": 3.787288665771485, \"Time in s\": 156.78717 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7425742574257426, \"MicroF1\": 0.7425742574257425, \"MacroF1\": 0.7379486431795568, \"Memory in Mb\": 6.240692138671875, \"Time in s\": 210.523476 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422867513611615, \"MicroF1\": 0.7422867513611615, \"MacroF1\": 0.7388440561615693, \"Memory in Mb\": 6.313092231750488, \"Time in s\": 268.009607 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7520938023450586, \"MicroF1\": 0.7520938023450586, \"MacroF1\": 0.749839509127547, \"Memory in Mb\": 6.682056427001953, \"Time in s\": 329.26112900000004 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7573872472783826, \"MicroF1\": 0.7573872472783826, \"MacroF1\": 0.7582793237949303, \"Memory in Mb\": 7.269444465637207, \"Time in s\": 394.37227100000007 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7634252539912917, \"MicroF1\": 0.7634252539912917, \"MacroF1\": 0.7648953830992049, \"Memory in Mb\": 7.531791687011719, \"Time in s\": 463.2777280000001 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7673469387755102, \"MicroF1\": 0.7673469387755102, \"MacroF1\": 0.7694390547687558, \"Memory in Mb\": 7.987269401550293, \"Time in s\": 536.1609010000001 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7772087067861716, \"MicroF1\": 0.7772087067861717, \"MacroF1\": 0.7788980835102386, \"Memory in Mb\": 8.317158699035645, \"Time in s\": 613.0067590000001 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7823458282950423, \"MicroF1\": 0.7823458282950423, \"MacroF1\": 0.7854763667551727, \"Memory in Mb\": 8.613452911376953, \"Time in s\": 693.8523060000001 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7915234822451317, \"MicroF1\": 0.7915234822451317, \"MacroF1\": 0.7933203073280156, \"Memory in Mb\": 8.694649696350098, \"Time in s\": 778.7710210000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7986942328618063, \"MicroF1\": 0.7986942328618062, \"MacroF1\": 0.7996826842527437, \"Memory in Mb\": 8.824880599975586, \"Time in s\": 867.8856220000001 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8041450777202073, \"MicroF1\": 0.8041450777202073, \"MacroF1\": 0.8044659150084363, \"Memory in Mb\": 9.089361190795898, \"Time in s\": 961.208295 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8100890207715133, \"MicroF1\": 0.8100890207715133, \"MacroF1\": 0.8093994872208631, \"Memory in Mb\": 9.280214309692385, \"Time in s\": 1058.9817440000002 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8145695364238411, \"MicroF1\": 0.814569536423841, \"MacroF1\": 0.8133421993203876, \"Memory in Mb\": 9.165953636169434, \"Time in s\": 1161.0697040000002 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8213961922030825, \"MicroF1\": 0.8213961922030824, \"MacroF1\": 0.8206569542548617, \"Memory in Mb\": 8.760258674621582, \"Time in s\": 1267.2341280000005 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.824194952132289, \"MicroF1\": 0.824194952132289, \"MacroF1\": 0.8228781271733864, \"Memory in Mb\": 8.742037773132324, \"Time in s\": 1377.3471480000003 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8292887029288702, \"MicroF1\": 0.8292887029288704, \"MacroF1\": 0.8281638601893785, \"Memory in Mb\": 8.87535572052002, \"Time in s\": 1491.4919770000004 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8340048348106366, \"MicroF1\": 0.8340048348106366, \"MacroF1\": 0.833490204478907, \"Memory in Mb\": 8.332135200500488, \"Time in s\": 1609.3898390000004 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8360528360528361, \"MicroF1\": 0.8360528360528361, \"MacroF1\": 0.8353480055004047, \"Memory in Mb\": 8.416248321533203, \"Time in s\": 1730.8650650000004 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8394598649662416, \"MicroF1\": 0.8394598649662416, \"MacroF1\": 0.8389194005130135, \"Memory in Mb\": 8.469959259033203, \"Time in s\": 1855.8596220000004 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8419144307469181, \"MicroF1\": 0.8419144307469181, \"MacroF1\": 0.8414934007209077, \"Memory in Mb\": 8.578604698181152, \"Time in s\": 1984.2269550000003 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8449122807017544, \"MicroF1\": 0.8449122807017544, \"MacroF1\": 0.8435602800871403, \"Memory in Mb\": 8.689190864562988, \"Time in s\": 2115.814455 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8484024473147519, \"MicroF1\": 0.8484024473147518, \"MacroF1\": 0.8459519552383536, \"Memory in Mb\": 8.800261497497559, \"Time in s\": 2250.613689 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8503625576796309, \"MicroF1\": 0.8503625576796308, \"MacroF1\": 0.8475723684173131, \"Memory in Mb\": 9.025433540344238, \"Time in s\": 2388.852428 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8522072936660269, \"MicroF1\": 0.8522072936660269, \"MacroF1\": 0.8497128793769615, \"Memory in Mb\": 8.811847686767578, \"Time in s\": 2530.498155 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8527035425730267, \"MicroF1\": 0.8527035425730267, \"MacroF1\": 0.8503048238231962, \"Memory in Mb\": 8.729784965515137, \"Time in s\": 2675.5358680000004 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8531722054380665, \"MicroF1\": 0.8531722054380665, \"MacroF1\": 0.8508343416398155, \"Memory in Mb\": 8.761359214782715, \"Time in s\": 2823.7565440000003 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8571428571428571, \"MicroF1\": 0.8571428571428571, \"MacroF1\": 0.8561317791292776, \"Memory in Mb\": 8.798370361328125, \"Time in s\": 2975.2442650000003 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8580423583285632, \"MicroF1\": 0.8580423583285632, \"MacroF1\": 0.8567712479140972, \"Memory in Mb\": 8.86152172088623, \"Time in s\": 3129.874549 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8611266034578918, \"MicroF1\": 0.8611266034578918, \"MacroF1\": 0.8591986188286931, \"Memory in Mb\": 8.932531356811523, \"Time in s\": 3287.541657 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8618814573137574, \"MicroF1\": 0.8618814573137574, \"MacroF1\": 0.8601172531559075, \"Memory in Mb\": 8.819746017456055, \"Time in s\": 3448.3205970000004 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8636604774535809, \"MicroF1\": 0.8636604774535809, \"MacroF1\": 0.8623243992773615, \"Memory in Mb\": 9.007128715515137, \"Time in s\": 3612.136702 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8648368720870016, \"MicroF1\": 0.8648368720870016, \"MacroF1\": 0.8630569076841595, \"Memory in Mb\": 9.368453979492188, \"Time in s\": 3779.147863 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8649468892261002, \"MicroF1\": 0.8649468892261002, \"MacroF1\": 0.8631362872103546, \"Memory in Mb\": 8.952109336853027, \"Time in s\": 3949.363777 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8665348492338112, \"MicroF1\": 0.8665348492338112, \"MacroF1\": 0.8639071890295129, \"Memory in Mb\": 9.146061897277832, \"Time in s\": 4122.536804 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8680521991300145, \"MicroF1\": 0.8680521991300145, \"MacroF1\": 0.8658036637930728, \"Memory in Mb\": 8.80567455291748, \"Time in s\": 4298.84894 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8695035460992908, \"MicroF1\": 0.8695035460992909, \"MacroF1\": 0.8667661913422944, \"Memory in Mb\": 8.892473220825195, \"Time in s\": 4478.129032 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8690421101341971, \"MicroF1\": 0.869042110134197, \"MacroF1\": 0.8663186552920692, \"Memory in Mb\": 8.910783767700195, \"Time in s\": 4660.403073 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8699592206615315, \"MicroF1\": 0.8699592206615315, \"MacroF1\": 0.8669965232275297, \"Memory in Mb\": 8.99278450012207, \"Time in s\": 4845.573407999999 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.869063470927652, \"MicroF1\": 0.8690634709276521, \"MacroF1\": 0.8666022158227548, \"Memory in Mb\": 9.09610366821289, \"Time in s\": 5033.674223999999 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8686385384949978, \"MicroF1\": 0.8686385384949978, \"MacroF1\": 0.8662053097556822, \"Memory in Mb\": 9.110825538635254, \"Time in s\": 5224.692184 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8679081853616284, \"MicroF1\": 0.8679081853616284, \"MacroF1\": 0.8656034675726049, \"Memory in Mb\": 9.181622505187988, \"Time in s\": 5416.881651 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6511848341232227, \"MicroF1\": 0.6511848341232227, \"MacroF1\": 0.5864257754346489, \"Memory in Mb\": 12.51792049407959, \"Time in s\": 137.265242 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6873519658929418, \"MicroF1\": 0.6873519658929418, \"MacroF1\": 0.6004104483953082, \"Memory in Mb\": 15.371862411499023, \"Time in s\": 366.367491 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6978212819703189, \"MicroF1\": 0.6978212819703189, \"MacroF1\": 0.602242348585179, \"Memory in Mb\": 17.772335052490234, \"Time in s\": 671.574116 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7054226852948141, \"MicroF1\": 0.7054226852948141, \"MacroF1\": 0.6059831617919115, \"Memory in Mb\": 20.14197826385498, \"Time in s\": 1043.757912 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7080886531540065, \"MicroF1\": 0.7080886531540066, \"MacroF1\": 0.6082411118035554, \"Memory in Mb\": 23.246225357055664, \"Time in s\": 1476.569185 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.708602999210734, \"MicroF1\": 0.708602999210734, \"MacroF1\": 0.6091818949546898, \"Memory in Mb\": 28.13547992706299, \"Time in s\": 1970.150117 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7104586659450683, \"MicroF1\": 0.7104586659450683, \"MacroF1\": 0.6104104212994758, \"Memory in Mb\": 30.16471099853516, \"Time in s\": 2526.789716 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7130342133301764, \"MicroF1\": 0.7130342133301764, \"MacroF1\": 0.6119778058667307, \"Memory in Mb\": 27.69899654388428, \"Time in s\": 3146.1270590000004 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.717773334736399, \"MicroF1\": 0.717773334736399, \"MacroF1\": 0.6149023583636667, \"Memory in Mb\": 27.04288387298584, \"Time in s\": 3829.1831980000006 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7215645420967894, \"MicroF1\": 0.7215645420967894, \"MacroF1\": 0.617635708330779, \"Memory in Mb\": 23.96706485748291, \"Time in s\": 4572.729772000001 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7213086526043909, \"MicroF1\": 0.721308652604391, \"MacroF1\": 0.6182075626749539, \"Memory in Mb\": 26.15617847442627, \"Time in s\": 5374.612830000001 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7240943887617394, \"MicroF1\": 0.7240943887617394, \"MacroF1\": 0.6351065980046956, \"Memory in Mb\": 25.05154228210449, \"Time in s\": 6233.453892000001 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7432796678079697, \"MicroF1\": 0.7432796678079697, \"MacroF1\": 0.7402334392509421, \"Memory in Mb\": 15.30208683013916, \"Time in s\": 7142.743199000001 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7491713454643848, \"MicroF1\": 0.7491713454643848, \"MacroF1\": 0.7487081677599373, \"Memory in Mb\": 11.128735542297363, \"Time in s\": 8102.097506000001 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7424079803017867, \"MicroF1\": 0.7424079803017867, \"MacroF1\": 0.7445532404968841, \"Memory in Mb\": 16.950417518615723, \"Time in s\": 9128.379042 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7382657591003255, \"MicroF1\": 0.7382657591003255, \"MacroF1\": 0.7427378731329454, \"Memory in Mb\": 18.26229953765869, \"Time in s\": 10214.572621 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7309342097933262, \"MicroF1\": 0.7309342097933262, \"MacroF1\": 0.7368436311738037, \"Memory in Mb\": 23.77636337280273, \"Time in s\": 11358.099531000002 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7429368127531962, \"MicroF1\": 0.7429368127531962, \"MacroF1\": 0.7441354243297112, \"Memory in Mb\": 12.95803928375244, \"Time in s\": 12553.803014 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7475950755121368, \"MicroF1\": 0.7475950755121367, \"MacroF1\": 0.7439196968116685, \"Memory in Mb\": 12.612845420837402, \"Time in s\": 13796.415893 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7492305506889531, \"MicroF1\": 0.7492305506889531, \"MacroF1\": 0.7418613509588597, \"Memory in Mb\": 16.95127773284912, \"Time in s\": 15088.238885 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7509808342728298, \"MicroF1\": 0.7509808342728299, \"MacroF1\": 0.7400929587109365, \"Memory in Mb\": 17.926865577697754, \"Time in s\": 16424.025269 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7532176832680471, \"MicroF1\": 0.7532176832680472, \"MacroF1\": 0.7391930166872092, \"Memory in Mb\": 20.93969821929932, \"Time in s\": 17798.240955 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7550129699015935, \"MicroF1\": 0.7550129699015935, \"MacroF1\": 0.7379653286035112, \"Memory in Mb\": 25.43882942199707, \"Time in s\": 19212.969178 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7569743124334136, \"MicroF1\": 0.7569743124334136, \"MacroF1\": 0.7375346698329149, \"Memory in Mb\": 29.94521999359131, \"Time in s\": 20668.368585 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7580590173870222, \"MicroF1\": 0.7580590173870221, \"MacroF1\": 0.7363169253318035, \"Memory in Mb\": 34.1699275970459, \"Time in s\": 22166.950006 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7593880896011656, \"MicroF1\": 0.7593880896011656, \"MacroF1\": 0.7352131419868576, \"Memory in Mb\": 32.93678665161133, \"Time in s\": 23706.536377 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7573217354705202, \"MicroF1\": 0.7573217354705202, \"MacroF1\": 0.7350502568377754, \"Memory in Mb\": 21.273219108581543, \"Time in s\": 25286.984696 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7555382690161329, \"MicroF1\": 0.7555382690161329, \"MacroF1\": 0.7386915112539557, \"Memory in Mb\": 20.747055053710938, \"Time in s\": 26906.631088 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7544982529471312, \"MicroF1\": 0.7544982529471312, \"MacroF1\": 0.7426503125712552, \"Memory in Mb\": 24.91079425811768, \"Time in s\": 28562.795387 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7531487736355315, \"MicroF1\": 0.7531487736355315, \"MacroF1\": 0.7453200395899969, \"Memory in Mb\": 32.13512706756592, \"Time in s\": 30253.076649 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7530471971895525, \"MicroF1\": 0.7530471971895525, \"MacroF1\": 0.7484606399297139, \"Memory in Mb\": 36.17057991027832, \"Time in s\": 31977.334616 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7480986061377289, \"MicroF1\": 0.748098606137729, \"MacroF1\": 0.7448942365218528, \"Memory in Mb\": 13.298456192016602, \"Time in s\": 33736.870240000004 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7436795133010016, \"MicroF1\": 0.7436795133010016, \"MacroF1\": 0.7403442775964885, \"Memory in Mb\": 15.221885681152344, \"Time in s\": 35530.857132000005 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7404952232403977, \"MicroF1\": 0.7404952232403977, \"MacroF1\": 0.7368033013057004, \"Memory in Mb\": 16.932289123535156, \"Time in s\": 37356.72126300001 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7371411564165697, \"MicroF1\": 0.7371411564165696, \"MacroF1\": 0.7332530467261859, \"Memory in Mb\": 22.237309455871586, \"Time in s\": 39213.91358200001 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7341049585689859, \"MicroF1\": 0.7341049585689859, \"MacroF1\": 0.7299460315219516, \"Memory in Mb\": 22.86026954650879, \"Time in s\": 41100.10013700001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7343042154027284, \"MicroF1\": 0.7343042154027284, \"MacroF1\": 0.7301016033872143, \"Memory in Mb\": 21.91624164581299, \"Time in s\": 43017.482867000006 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7327734443143021, \"MicroF1\": 0.7327734443143021, \"MacroF1\": 0.728948208474553, \"Memory in Mb\": 20.388718605041504, \"Time in s\": 44961.93393100001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7327538061821626, \"MicroF1\": 0.7327538061821626, \"MacroF1\": 0.7292630064673854, \"Memory in Mb\": 15.630711555480955, \"Time in s\": 46951.12268600001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7331849712351145, \"MicroF1\": 0.7331849712351144, \"MacroF1\": 0.7301128191332076, \"Memory in Mb\": 20.110919952392575, \"Time in s\": 48959.16072000001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7337567848481349, \"MicroF1\": 0.7337567848481349, \"MacroF1\": 0.7309969621648841, \"Memory in Mb\": 24.057676315307617, \"Time in s\": 50985.068017000005 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7342111790038556, \"MicroF1\": 0.7342111790038556, \"MacroF1\": 0.731637560144403, \"Memory in Mb\": 28.52964782714844, \"Time in s\": 53028.942305 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7351289448763406, \"MicroF1\": 0.7351289448763407, \"MacroF1\": 0.7324911060941295, \"Memory in Mb\": 28.861422538757324, \"Time in s\": 55091.119898 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7357682457008803, \"MicroF1\": 0.7357682457008803, \"MacroF1\": 0.7329742877599967, \"Memory in Mb\": 33.07672500610352, \"Time in s\": 57170.52325500001 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366947957659041, \"MicroF1\": 0.736694795765904, \"MacroF1\": 0.7341498113226347, \"Memory in Mb\": 21.3528356552124, \"Time in s\": 59267.07909500001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7403602676273804, \"MicroF1\": 0.7403602676273804, \"MacroF1\": 0.7381372580344014, \"Memory in Mb\": 19.381468772888184, \"Time in s\": 61379.50627500001 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7442122866756664, \"MicroF1\": 0.7442122866756663, \"MacroF1\": 0.742109373234967, \"Memory in Mb\": 21.8067569732666, \"Time in s\": 63507.849119000006 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7475289521968157, \"MicroF1\": 0.7475289521968157, \"MacroF1\": 0.7453466445950636, \"Memory in Mb\": 21.65154266357422, \"Time in s\": 65647.81315 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7510581141410433, \"MicroF1\": 0.7510581141410433, \"MacroF1\": 0.7487124138061083, \"Memory in Mb\": 22.87060165405273, \"Time in s\": 67797.610737 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7545218659444307, \"MicroF1\": 0.7545218659444307, \"MacroF1\": 0.752582163258218, \"Memory in Mb\": 10.55445957183838, \"Time in s\": 69956.07865499999 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7547448294132117, \"MicroF1\": 0.7547448294132117, \"MacroF1\": 0.7528178949021433, \"Memory in Mb\": 10.58643913269043, \"Time in s\": 72115.038215 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 1.786503791809082, \"Time in s\": 20.578742 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.98159509202454, \"MicroF1\": 0.98159509202454, \"MacroF1\": 0.9278568842209168, \"Memory in Mb\": 6.9002227783203125, \"Time in s\": 101.280083 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803761242845462, \"MicroF1\": 0.9803761242845462, \"MacroF1\": 0.9574942570636208, \"Memory in Mb\": 9.112634658813477, \"Time in s\": 223.840162 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9779276517473944, \"MicroF1\": 0.9779276517473944, \"MacroF1\": 0.9432755457272628, \"Memory in Mb\": 10.40715503692627, \"Time in s\": 381.844655 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.973516429622364, \"MicroF1\": 0.973516429622364, \"MacroF1\": 0.9361356188587968, \"Memory in Mb\": 12.656171798706056, \"Time in s\": 575.269036 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9726195341234164, \"MicroF1\": 0.9726195341234164, \"MacroF1\": 0.9612590316809274, \"Memory in Mb\": 8.745987892150879, \"Time in s\": 802.257021 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754816112084064, \"MicroF1\": 0.9754816112084064, \"MacroF1\": 0.975146989141396, \"Memory in Mb\": 9.931495666503906, \"Time in s\": 1061.688609 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754826846460312, \"MicroF1\": 0.9754826846460312, \"MacroF1\": 0.9697604489278108, \"Memory in Mb\": 10.511832237243652, \"Time in s\": 1352.298412 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9733042767638246, \"MicroF1\": 0.9733042767638246, \"MacroF1\": 0.9642745555297418, \"Memory in Mb\": 11.800049781799316, \"Time in s\": 1675.333833 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9722971316499142, \"MicroF1\": 0.9722971316499142, \"MacroF1\": 0.9666413905932107, \"Memory in Mb\": 12.42660903930664, \"Time in s\": 2030.177258 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9734789391575664, \"MicroF1\": 0.9734789391575664, \"MacroF1\": 0.9728883985144964, \"Memory in Mb\": 9.746350288391112, \"Time in s\": 2413.735444 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9740551583248211, \"MicroF1\": 0.9740551583248211, \"MacroF1\": 0.9730015599884004, \"Memory in Mb\": 10.666529655456545, \"Time in s\": 2823.505547 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9741655666603808, \"MicroF1\": 0.9741655666603808, \"MacroF1\": 0.9728266773902404, \"Memory in Mb\": 11.775634765625, \"Time in s\": 3261.739577 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9747855016634565, \"MicroF1\": 0.9747855016634565, \"MacroF1\": 0.9744326987999562, \"Memory in Mb\": 12.58005428314209, \"Time in s\": 3727.994683 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9751593397613988, \"MicroF1\": 0.9751593397613988, \"MacroF1\": 0.9747223863351728, \"Memory in Mb\": 13.55466365814209, \"Time in s\": 4223.159482999999 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9751800214493642, \"MicroF1\": 0.9751800214493642, \"MacroF1\": 0.974525548169428, \"Memory in Mb\": 11.360074043273926, \"Time in s\": 4747.988555 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9763518385003604, \"MicroF1\": 0.9763518385003604, \"MacroF1\": 0.9769458779347456, \"Memory in Mb\": 11.155635833740234, \"Time in s\": 5300.577354999999 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9765763311997822, \"MicroF1\": 0.9765763311997822, \"MacroF1\": 0.976392359672136, \"Memory in Mb\": 12.33658504486084, \"Time in s\": 5881.207234 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9771642368726616, \"MicroF1\": 0.9771642368726616, \"MacroF1\": 0.9773496343719736, \"Memory in Mb\": 13.116165161132812, \"Time in s\": 6492.775159 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.976590268415247, \"MicroF1\": 0.976590268415247, \"MacroF1\": 0.975927508407602, \"Memory in Mb\": 13.303799629211426, \"Time in s\": 7137.299991 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9768880588303958, \"MicroF1\": 0.9768880588303958, \"MacroF1\": 0.9769304999907084, \"Memory in Mb\": 13.133574485778809, \"Time in s\": 7814.540539 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9774930362116993, \"MicroF1\": 0.9774930362116993, \"MacroF1\": 0.9777587646121524, \"Memory in Mb\": 13.50635814666748, \"Time in s\": 8523.072866 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9767664925929872, \"MicroF1\": 0.9767664925929872, \"MacroF1\": 0.9763135719034828, \"Memory in Mb\": 15.166536331176758, \"Time in s\": 9263.702674 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9765090389132876, \"MicroF1\": 0.9765090389132876, \"MacroF1\": 0.9763153416047448, \"Memory in Mb\": 16.169885635375977, \"Time in s\": 10037.443626 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758799882341406, \"MicroF1\": 0.9758799882341406, \"MacroF1\": 0.9755246287395946, \"Memory in Mb\": 14.205968856811523, \"Time in s\": 10844.068015 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9755821627227302, \"MicroF1\": 0.9755821627227302, \"MacroF1\": 0.9754319444516872, \"Memory in Mb\": 12.997503280639648, \"Time in s\": 11685.064117 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759418974126192, \"MicroF1\": 0.9759418974126192, \"MacroF1\": 0.9761027289556774, \"Memory in Mb\": 12.962043762207031, \"Time in s\": 12559.39796 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9760133064869124, \"MicroF1\": 0.9760133064869124, \"MacroF1\": 0.9760613734021468, \"Memory in Mb\": 14.09043312072754, \"Time in s\": 13467.395857 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754881244188996, \"MicroF1\": 0.9754881244188996, \"MacroF1\": 0.9753195915858492, \"Memory in Mb\": 14.295487403869627, \"Time in s\": 14408.853786 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759784296102624, \"MicroF1\": 0.9759784296102624, \"MacroF1\": 0.9761779987511396, \"Memory in Mb\": 15.044499397277832, \"Time in s\": 15385.688043 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9762789594370206, \"MicroF1\": 0.9762789594370206, \"MacroF1\": 0.9764127823145236, \"Memory in Mb\": 15.120206832885742, \"Time in s\": 16404.149055 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758713136729222, \"MicroF1\": 0.975871313672922, \"MacroF1\": 0.975797420384815, \"Memory in Mb\": 15.049361228942873, \"Time in s\": 17460.942559000003 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757112084973631, \"MicroF1\": 0.9757112084973631, \"MacroF1\": 0.9757165619520196, \"Memory in Mb\": 15.162266731262209, \"Time in s\": 18558.798501 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759930790858626, \"MicroF1\": 0.9759930790858626, \"MacroF1\": 0.9761084708221816, \"Memory in Mb\": 15.711796760559082, \"Time in s\": 19695.838422 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754884795854052, \"MicroF1\": 0.9754884795854052, \"MacroF1\": 0.975424480421301, \"Memory in Mb\": 16.988737106323242, \"Time in s\": 20872.643227 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.975624702117519, \"MicroF1\": 0.975624702117519, \"MacroF1\": 0.9757017096421696, \"Memory in Mb\": 17.869779586791992, \"Time in s\": 22084.930025 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757535607817158, \"MicroF1\": 0.9757535607817158, \"MacroF1\": 0.9758249143111628, \"Memory in Mb\": 17.579912185668945, \"Time in s\": 23330.568569000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9755531187512094, \"MicroF1\": 0.9755531187512094, \"MacroF1\": 0.9755669148190674, \"Memory in Mb\": 16.59157657623291, \"Time in s\": 24610.336028 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756772044497516, \"MicroF1\": 0.9756772044497516, \"MacroF1\": 0.97573890775282, \"Memory in Mb\": 16.193113327026367, \"Time in s\": 25925.188427 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759176420123782, \"MicroF1\": 0.9759176420123782, \"MacroF1\": 0.9759886766110538, \"Memory in Mb\": 16.353660583496094, \"Time in s\": 27266.573062 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756680815448078, \"MicroF1\": 0.9756680815448078, \"MacroF1\": 0.9756766431570708, \"Memory in Mb\": 17.00908374786377, \"Time in s\": 28641.859399 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758389261744966, \"MicroF1\": 0.9758389261744966, \"MacroF1\": 0.975891563489883, \"Memory in Mb\": 18.364989280700684, \"Time in s\": 30047.550521 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9753747933648748, \"MicroF1\": 0.9753747933648748, \"MacroF1\": 0.975363882573194, \"Memory in Mb\": 17.298136711120605, \"Time in s\": 31485.782589 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9753217090969862, \"MicroF1\": 0.9753217090969862, \"MacroF1\": 0.9753429667022142, \"Memory in Mb\": 16.72727108001709, \"Time in s\": 32956.927282000004 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754888610490768, \"MicroF1\": 0.9754888610490768, \"MacroF1\": 0.9755190387029732, \"Memory in Mb\": 17.51059913635254, \"Time in s\": 34461.639008000006 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757553151809026, \"MicroF1\": 0.9757553151809026, \"MacroF1\": 0.9757835195290104, \"Memory in Mb\": 18.871691703796387, \"Time in s\": 35998.873267 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754367666232072, \"MicroF1\": 0.9754367666232072, \"MacroF1\": 0.9754369138844644, \"Memory in Mb\": 17.42948341369629, \"Time in s\": 37568.082084 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754889444926722, \"MicroF1\": 0.9754889444926722, \"MacroF1\": 0.9754964783302286, \"Memory in Mb\": 17.978480339050293, \"Time in s\": 39170.395427 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756390375669052, \"MicroF1\": 0.9756390375669052, \"MacroF1\": 0.975642520227376, \"Memory in Mb\": 19.26256561279297, \"Time in s\": 40805.125646 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754889945585568, \"MicroF1\": 0.9754889945585568, \"MacroF1\": 0.9754863274548964, \"Memory in Mb\": 18.711057662963867, \"Time in s\": 42471.761869 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4666666666666667, \"MicroF1\": 0.4666666666666667, \"MacroF1\": 0.3890768588137009, \"Memory in Mb\": 0.9137420654296876, \"Time in s\": 0.663852 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6153846153846154, \"MicroF1\": 0.6153846153846154, \"MacroF1\": 0.617040786788686, \"Memory in Mb\": 0.9906883239746094, \"Time in s\": 2.032737 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6715328467153284, \"MicroF1\": 0.6715328467153284, \"MacroF1\": 0.6884491245817251, \"Memory in Mb\": 1.067914962768555, \"Time in s\": 4.226265 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7049180327868853, \"MicroF1\": 0.7049180327868853, \"MacroF1\": 0.7194266051408907, \"Memory in Mb\": 1.1443958282470703, \"Time in s\": 7.386208 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7292576419213974, \"MicroF1\": 0.7292576419213974, \"MacroF1\": 0.7448338459304749, \"Memory in Mb\": 1.2214689254760742, \"Time in s\": 11.723904 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7381818181818182, \"MicroF1\": 0.7381818181818182, \"MacroF1\": 0.7559766728000937, \"Memory in Mb\": 1.2995519638061523, \"Time in s\": 17.331033 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7538940809968847, \"MicroF1\": 0.7538940809968847, \"MacroF1\": 0.7616248500949714, \"Memory in Mb\": 1.3766565322875977, \"Time in s\": 24.26159 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.773841961852861, \"MicroF1\": 0.7738419618528611, \"MacroF1\": 0.7772939373537765, \"Memory in Mb\": 1.4532833099365234, \"Time in s\": 32.770568000000004 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7820823244552058, \"MicroF1\": 0.7820823244552059, \"MacroF1\": 0.7854200812154107, \"Memory in Mb\": 1.530414581298828, \"Time in s\": 42.983195 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7777777777777778, \"MicroF1\": 0.7777777777777778, \"MacroF1\": 0.7796254955467015, \"Memory in Mb\": 1.6075658798217771, \"Time in s\": 54.886431 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7861386138613862, \"MicroF1\": 0.7861386138613862, \"MacroF1\": 0.7886239053396241, \"Memory in Mb\": 3.8640270233154297, \"Time in s\": 87.00222099999999 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7858439201451906, \"MicroF1\": 0.7858439201451906, \"MacroF1\": 0.7889431335032357, \"Memory in Mb\": 4.088808059692383, \"Time in s\": 121.00394599999998 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7906197654941374, \"MicroF1\": 0.7906197654941374, \"MacroF1\": 0.7944387660679091, \"Memory in Mb\": 4.304059028625488, \"Time in s\": 157.00397999999998 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7853810264385692, \"MicroF1\": 0.7853810264385692, \"MacroF1\": 0.7901251252871709, \"Memory in Mb\": 4.532710075378418, \"Time in s\": 195.073691 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7895500725689405, \"MicroF1\": 0.7895500725689405, \"MacroF1\": 0.7935315861788143, \"Memory in Mb\": 4.759090423583984, \"Time in s\": 235.272046 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7863945578231293, \"MicroF1\": 0.7863945578231294, \"MacroF1\": 0.7911065855691086, \"Memory in Mb\": 4.991429328918457, \"Time in s\": 277.59962 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7887323943661971, \"MicroF1\": 0.7887323943661971, \"MacroF1\": 0.792926322670609, \"Memory in Mb\": 5.219735145568848, \"Time in s\": 322.071315 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7896009673518742, \"MicroF1\": 0.7896009673518742, \"MacroF1\": 0.7950712422059908, \"Memory in Mb\": 5.452417373657227, \"Time in s\": 368.82718 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7938144329896907, \"MicroF1\": 0.7938144329896907, \"MacroF1\": 0.7979586706142276, \"Memory in Mb\": 5.699496269226074, \"Time in s\": 417.885664 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.794341675734494, \"MicroF1\": 0.794341675734494, \"MacroF1\": 0.7973145688626199, \"Memory in Mb\": 5.9376373291015625, \"Time in s\": 469.16999 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7937823834196891, \"MicroF1\": 0.7937823834196891, \"MacroF1\": 0.7958827691316667, \"Memory in Mb\": 6.182188987731934, \"Time in s\": 522.9385980000001 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7912957467853611, \"MicroF1\": 0.7912957467853611, \"MacroF1\": 0.7931630938612351, \"Memory in Mb\": 6.34267520904541, \"Time in s\": 579.2700850000001 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.793755912961211, \"MicroF1\": 0.7937559129612108, \"MacroF1\": 0.7947921362588558, \"Memory in Mb\": 6.295009613037109, \"Time in s\": 638.2805060000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7941976427923844, \"MicroF1\": 0.7941976427923844, \"MacroF1\": 0.7951664828862093, \"Memory in Mb\": 6.2213640213012695, \"Time in s\": 699.725726 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7954743255004352, \"MicroF1\": 0.7954743255004351, \"MacroF1\": 0.7958304956922065, \"Memory in Mb\": 6.151959419250488, \"Time in s\": 763.5071 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.796652719665272, \"MicroF1\": 0.796652719665272, \"MacroF1\": 0.7972397572733622, \"Memory in Mb\": 6.087224006652832, \"Time in s\": 829.5043310000001 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7953263497179693, \"MicroF1\": 0.7953263497179693, \"MacroF1\": 0.795947547023496, \"Memory in Mb\": 6.001987457275391, \"Time in s\": 897.6078460000001 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7995337995337995, \"MicroF1\": 0.7995337995337995, \"MacroF1\": 0.799082939294124, \"Memory in Mb\": 5.924266815185547, \"Time in s\": 967.722432 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7981995498874719, \"MicroF1\": 0.7981995498874719, \"MacroF1\": 0.7978549794399667, \"Memory in Mb\": 5.872907638549805, \"Time in s\": 1039.926656 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7991298042059464, \"MicroF1\": 0.7991298042059464, \"MacroF1\": 0.799072028035076, \"Memory in Mb\": 5.784454345703125, \"Time in s\": 1114.0085680000002 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8007017543859649, \"MicroF1\": 0.8007017543859649, \"MacroF1\": 0.799801266098334, \"Memory in Mb\": 5.781437873840332, \"Time in s\": 1190.125915 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8042148198504419, \"MicroF1\": 0.8042148198504419, \"MacroF1\": 0.8016037490391381, \"Memory in Mb\": 5.805401802062988, \"Time in s\": 1268.322504 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048780487804879, \"MicroF1\": 0.8048780487804877, \"MacroF1\": 0.8013581039030082, \"Memory in Mb\": 5.915700912475586, \"Time in s\": 1348.933518 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048624440179143, \"MicroF1\": 0.8048624440179143, \"MacroF1\": 0.8017038254481382, \"Memory in Mb\": 6.069503784179688, \"Time in s\": 1431.999326 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048477315102548, \"MicroF1\": 0.8048477315102549, \"MacroF1\": 0.8009666848419111, \"Memory in Mb\": 6.138180732727051, \"Time in s\": 1517.316045 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.804833836858006, \"MicroF1\": 0.804833836858006, \"MacroF1\": 0.8009346118743482, \"Memory in Mb\": 6.15428638458252, \"Time in s\": 1604.689641 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048206937095826, \"MicroF1\": 0.8048206937095828, \"MacroF1\": 0.802987300619633, \"Memory in Mb\": 6.14796257019043, \"Time in s\": 1694.105126 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8065254722381225, \"MicroF1\": 0.8065254722381225, \"MacroF1\": 0.8041280306488863, \"Memory in Mb\": 6.185528755187988, \"Time in s\": 1785.64513 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8070273284997211, \"MicroF1\": 0.8070273284997211, \"MacroF1\": 0.8033862119520573, \"Memory in Mb\": 6.18717098236084, \"Time in s\": 1879.221363 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8085916258836324, \"MicroF1\": 0.8085916258836324, \"MacroF1\": 0.8051706679397826, \"Memory in Mb\": 6.228180885314941, \"Time in s\": 1974.88599 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8074270557029177, \"MicroF1\": 0.8074270557029178, \"MacroF1\": 0.8044133208197751, \"Memory in Mb\": 6.244633674621582, \"Time in s\": 2072.712055 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8073537027446919, \"MicroF1\": 0.8073537027446919, \"MacroF1\": 0.8036280810428232, \"Memory in Mb\": 6.232837677001953, \"Time in s\": 2172.610836 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.808295397066262, \"MicroF1\": 0.808295397066262, \"MacroF1\": 0.8041943782356388, \"Memory in Mb\": 6.225313186645508, \"Time in s\": 2274.502409 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8096885813148789, \"MicroF1\": 0.809688581314879, \"MacroF1\": 0.8043903689108628, \"Memory in Mb\": 6.209332466125488, \"Time in s\": 2378.336668 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8086031899468342, \"MicroF1\": 0.8086031899468342, \"MacroF1\": 0.8034099584264852, \"Memory in Mb\": 6.192641258239746, \"Time in s\": 2484.108554 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.808983451536643, \"MicroF1\": 0.808983451536643, \"MacroF1\": 0.8029929757635029, \"Memory in Mb\": 6.163993835449219, \"Time in s\": 2591.83622 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8093475242943082, \"MicroF1\": 0.8093475242943081, \"MacroF1\": 0.8028985652670257, \"Memory in Mb\": 6.160528182983398, \"Time in s\": 2701.493184 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8110557317625736, \"MicroF1\": 0.8110557317625736, \"MacroF1\": 0.8037088502350873, \"Memory in Mb\": 6.127141952514648, \"Time in s\": 2812.975729 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8078118064802485, \"MicroF1\": 0.8078118064802485, \"MacroF1\": 0.8004652010359966, \"Memory in Mb\": 6.094814300537109, \"Time in s\": 2926.384262 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8064375815571988, \"MicroF1\": 0.8064375815571988, \"MacroF1\": 0.7990276111502428, \"Memory in Mb\": 6.073050498962402, \"Time in s\": 3041.734776 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8064097011693374, \"MicroF1\": 0.8064097011693374, \"MacroF1\": 0.7989986920740723, \"Memory in Mb\": 6.073922157287598, \"Time in s\": 3157.943153 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6293838862559241, \"MicroF1\": 0.6293838862559241, \"MacroF1\": 0.5938169901557457, \"Memory in Mb\": 7.681754112243652, \"Time in s\": 78.197886 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6290857413548081, \"MicroF1\": 0.6290857413548081, \"MacroF1\": 0.5936238360694311, \"Memory in Mb\": 7.563845634460449, \"Time in s\": 217.436369 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.625197347647616, \"MicroF1\": 0.625197347647616, \"MacroF1\": 0.5890732389154221, \"Memory in Mb\": 7.54627799987793, \"Time in s\": 406.781755 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.624437603599337, \"MicroF1\": 0.624437603599337, \"MacroF1\": 0.5890978975177876, \"Memory in Mb\": 7.509035110473633, \"Time in s\": 643.136123 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6309907179390036, \"MicroF1\": 0.6309907179390036, \"MacroF1\": 0.5943307513870396, \"Memory in Mb\": 7.529419898986816, \"Time in s\": 922.055301 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6249408050513023, \"MicroF1\": 0.6249408050513023, \"MacroF1\": 0.5899587518293812, \"Memory in Mb\": 7.541637420654297, \"Time in s\": 1240.879558 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6242727641726424, \"MicroF1\": 0.6242727641726424, \"MacroF1\": 0.589208790087756, \"Memory in Mb\": 7.519943237304687, \"Time in s\": 1598.2590730000002 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6266129986977625, \"MicroF1\": 0.6266129986977625, \"MacroF1\": 0.5910042020201396, \"Memory in Mb\": 7.600367546081543, \"Time in s\": 1990.9287910000005 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6255919183415763, \"MicroF1\": 0.6255919183415763, \"MacroF1\": 0.5892477749449755, \"Memory in Mb\": 7.551809310913086, \"Time in s\": 2416.671036 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6269533099725353, \"MicroF1\": 0.6269533099725353, \"MacroF1\": 0.5906555376897765, \"Memory in Mb\": 7.57810115814209, \"Time in s\": 2875.240995 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6254842875591907, \"MicroF1\": 0.6254842875591907, \"MacroF1\": 0.5899069142128334, \"Memory in Mb\": 7.574300765991211, \"Time in s\": 3366.8452850000003 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6276536974193039, \"MicroF1\": 0.6276536974193039, \"MacroF1\": 0.5948280902959312, \"Memory in Mb\": 7.593076705932617, \"Time in s\": 3891.533291 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6419465287389816, \"MicroF1\": 0.6419465287389816, \"MacroF1\": 0.6240594787506325, \"Memory in Mb\": 7.568525314331055, \"Time in s\": 4449.097087 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6349861327200162, \"MicroF1\": 0.6349861327200162, \"MacroF1\": 0.6168664949740267, \"Memory in Mb\": 7.497129440307617, \"Time in s\": 5038.3500540000005 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6042048109097796, \"MicroF1\": 0.6042048109097796, \"MacroF1\": 0.5876183517420878, \"Memory in Mb\": 7.622871398925781, \"Time in s\": 5663.9066330000005 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5831311038768866, \"MicroF1\": 0.5831311038768866, \"MacroF1\": 0.5677288238088704, \"Memory in Mb\": 7.5406084060668945, \"Time in s\": 6323.428796 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5683805916104953, \"MicroF1\": 0.5683805916104953, \"MacroF1\": 0.5530005563922373, \"Memory in Mb\": 7.511743545532227, \"Time in s\": 7015.247243 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5655811016993739, \"MicroF1\": 0.5655811016993739, \"MacroF1\": 0.5465928919365096, \"Memory in Mb\": 7.569133758544922, \"Time in s\": 7739.601247 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5718985196630614, \"MicroF1\": 0.5718985196630614, \"MacroF1\": 0.5506497035356593, \"Memory in Mb\": 8.179316520690918, \"Time in s\": 8496.204598999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5817510298783086, \"MicroF1\": 0.5817510298783086, \"MacroF1\": 0.55937505855693, \"Memory in Mb\": 8.13927173614502, \"Time in s\": 9285.092110999998 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5905298759864712, \"MicroF1\": 0.5905298759864712, \"MacroF1\": 0.5668099949242361, \"Memory in Mb\": 8.13715648651123, \"Time in s\": 10104.551326 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6004907236020834, \"MicroF1\": 0.6004907236020834, \"MacroF1\": 0.5756153967719769, \"Memory in Mb\": 8.254791259765625, \"Time in s\": 10955.282648 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088854119487792, \"MicroF1\": 0.6088854119487792, \"MacroF1\": 0.5822871692574689, \"Memory in Mb\": 8.217899322509766, \"Time in s\": 11836.441737999998 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.617014560233595, \"MicroF1\": 0.617014560233595, \"MacroF1\": 0.5890646667396601, \"Memory in Mb\": 8.13050651550293, \"Time in s\": 12747.590801999995 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6237357475661957, \"MicroF1\": 0.6237357475661957, \"MacroF1\": 0.5942060376379845, \"Memory in Mb\": 8.178851127624512, \"Time in s\": 13688.250944999996 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6299763248952832, \"MicroF1\": 0.6299763248952832, \"MacroF1\": 0.5983574644866619, \"Memory in Mb\": 8.215079307556152, \"Time in s\": 14661.447404999995 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6312651257409421, \"MicroF1\": 0.6312651257409421, \"MacroF1\": 0.6016879522351425, \"Memory in Mb\": 8.160200119018555, \"Time in s\": 15669.084531999995 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6310751851726587, \"MicroF1\": 0.6310751851726587, \"MacroF1\": 0.6062390002054064, \"Memory in Mb\": 8.153844833374023, \"Time in s\": 16709.899933999994 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6313228619011854, \"MicroF1\": 0.6313228619011854, \"MacroF1\": 0.610710416812842, \"Memory in Mb\": 8.221953392028809, \"Time in s\": 17785.196262999994 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6320590927743931, \"MicroF1\": 0.6320590927743931, \"MacroF1\": 0.614817700164209, \"Memory in Mb\": 8.237210273742676, \"Time in s\": 18894.010558999995 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6331144035436077, \"MicroF1\": 0.6331144035436077, \"MacroF1\": 0.6184679282473909, \"Memory in Mb\": 8.208189964294434, \"Time in s\": 20033.816622999995 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6291616110798733, \"MicroF1\": 0.6291616110798733, \"MacroF1\": 0.6151628967287334, \"Memory in Mb\": 8.149331092834473, \"Time in s\": 21206.789184999998 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6245587855482538, \"MicroF1\": 0.6245587855482538, \"MacroF1\": 0.6103108800280445, \"Memory in Mb\": 8.270771980285645, \"Time in s\": 22409.569843999994 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6211737180736986, \"MicroF1\": 0.6211737180736986, \"MacroF1\": 0.6063163580543118, \"Memory in Mb\": 8.246885299682617, \"Time in s\": 23639.112909 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6171433209772992, \"MicroF1\": 0.6171433209772992, \"MacroF1\": 0.6018416894357856, \"Memory in Mb\": 8.222872734069824, \"Time in s\": 24895.212451 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6153360515585953, \"MicroF1\": 0.6153360515585953, \"MacroF1\": 0.5996210858832133, \"Memory in Mb\": 8.711487770080566, \"Time in s\": 26177.407049999994 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.613472908295155, \"MicroF1\": 0.613472908295155, \"MacroF1\": 0.5980758777202522, \"Memory in Mb\": 8.84398365020752, \"Time in s\": 27486.887242999997 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6139008647544048, \"MicroF1\": 0.6139008647544048, \"MacroF1\": 0.5993833357378361, \"Memory in Mb\": 9.00393295288086, \"Time in s\": 28821.579146999997 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157395041643396, \"MicroF1\": 0.6157395041643396, \"MacroF1\": 0.6018873090815099, \"Memory in Mb\": 8.895415306091309, \"Time in s\": 30174.675792999995 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6179833802883591, \"MicroF1\": 0.6179833802883591, \"MacroF1\": 0.6047393094362844, \"Memory in Mb\": 8.820836067199707, \"Time in s\": 31551.592344999997 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6202101859337106, \"MicroF1\": 0.6202101859337106, \"MacroF1\": 0.60743097275183, \"Memory in Mb\": 8.80302619934082, \"Time in s\": 32950.21258099999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6221054767648982, \"MicroF1\": 0.6221054767648982, \"MacroF1\": 0.6097047537791253, \"Memory in Mb\": 8.807188034057617, \"Time in s\": 34370.71930599999 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.623736428304006, \"MicroF1\": 0.623736428304006, \"MacroF1\": 0.6112415003179203, \"Memory in Mb\": 8.906554222106934, \"Time in s\": 35814.22252799999 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6259389191399608, \"MicroF1\": 0.6259389191399608, \"MacroF1\": 0.6133867892257391, \"Memory in Mb\": 8.822076797485352, \"Time in s\": 37279.498287 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6274542814453166, \"MicroF1\": 0.6274542814453166, \"MacroF1\": 0.6153714367024555, \"Memory in Mb\": 8.875716209411621, \"Time in s\": 38770.246246 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6317858980957283, \"MicroF1\": 0.6317858980957283, \"MacroF1\": 0.6202967225132047, \"Memory in Mb\": 8.86828327178955, \"Time in s\": 40284.403256 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360137817090125, \"MicroF1\": 0.6360137817090125, \"MacroF1\": 0.6247992459885968, \"Memory in Mb\": 8.835649490356445, \"Time in s\": 41820.805008 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6403811628228145, \"MicroF1\": 0.6403811628228145, \"MacroF1\": 0.6293790828873279, \"Memory in Mb\": 8.924153327941895, \"Time in s\": 43378.957976 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6455559206076185, \"MicroF1\": 0.6455559206076185, \"MacroF1\": 0.6346828420183047, \"Memory in Mb\": 9.21804904937744, \"Time in s\": 44959.107881 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.648269853595712, \"MicroF1\": 0.648269853595712, \"MacroF1\": 0.6377385869395499, \"Memory in Mb\": 9.400546073913574, \"Time in s\": 46560.782 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6485325562472799, \"MicroF1\": 0.6485325562472799, \"MacroF1\": 0.637999701607352, \"Memory in Mb\": 9.406517028808594, \"Time in s\": 48163.738895 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 1.4587059020996094, \"Time in s\": 10.139614 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9496932515337424, \"MicroF1\": 0.9496932515337424, \"MacroF1\": 0.7435135353411919, \"Memory in Mb\": 6.019382476806641, \"Time in s\": 66.737739 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9149632052330336, \"MicroF1\": 0.9149632052330336, \"MacroF1\": 0.9012024099743488, \"Memory in Mb\": 7.076447486877441, \"Time in s\": 151.07716299999998 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9258123850398527, \"MicroF1\": 0.9258123850398527, \"MacroF1\": 0.913338738884437, \"Memory in Mb\": 7.232892990112305, \"Time in s\": 261.540164 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9230014713094654, \"MicroF1\": 0.9230014713094654, \"MacroF1\": 0.9086113906821328, \"Memory in Mb\": 7.553393363952637, \"Time in s\": 397.836215 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8961994278708623, \"MicroF1\": 0.8961994278708623, \"MacroF1\": 0.8992132713257572, \"Memory in Mb\": 7.640434265136719, \"Time in s\": 558.733108 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9001751313485113, \"MicroF1\": 0.9001751313485113, \"MacroF1\": 0.8860451027148403, \"Memory in Mb\": 7.9326982498168945, \"Time in s\": 743.600486 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8924302788844621, \"MicroF1\": 0.8924302788844621, \"MacroF1\": 0.8761196773917237, \"Memory in Mb\": 8.074724197387695, \"Time in s\": 952.077233 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8874965949332607, \"MicroF1\": 0.8874965949332607, \"MacroF1\": 0.8846937712308092, \"Memory in Mb\": 8.20841121673584, \"Time in s\": 1184.393658 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8815886246629075, \"MicroF1\": 0.8815886246629075, \"MacroF1\": 0.868452721773406, \"Memory in Mb\": 8.525882720947266, \"Time in s\": 1441.208937 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8760864720303098, \"MicroF1\": 0.8760864720303098, \"MacroF1\": 0.8834419600614621, \"Memory in Mb\": 8.681946754455566, \"Time in s\": 1719.7568239999998 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8737487231869254, \"MicroF1\": 0.8737487231869254, \"MacroF1\": 0.8797220914000274, \"Memory in Mb\": 8.834684371948242, \"Time in s\": 2018.974207 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8693192532528757, \"MicroF1\": 0.8693192532528757, \"MacroF1\": 0.8538682361373632, \"Memory in Mb\": 9.067034721374512, \"Time in s\": 2339.699668 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8607949571003327, \"MicroF1\": 0.8607949571003327, \"MacroF1\": 0.8654889627515672, \"Memory in Mb\": 9.271133422851562, \"Time in s\": 2680.904224 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8561856512502043, \"MicroF1\": 0.8561856512502043, \"MacroF1\": 0.84095068957581, \"Memory in Mb\": 9.378315925598145, \"Time in s\": 3042.663698 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8434196414891987, \"MicroF1\": 0.8434196414891987, \"MacroF1\": 0.8427350578509161, \"Memory in Mb\": 9.608606338500977, \"Time in s\": 3424.478417 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8392213410237923, \"MicroF1\": 0.8392213410237923, \"MacroF1\": 0.8447429510460126, \"Memory in Mb\": 9.751982688903809, \"Time in s\": 3824.86879 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8454310227427482, \"MicroF1\": 0.8454310227427482, \"MacroF1\": 0.847842289102327, \"Memory in Mb\": 9.957889556884766, \"Time in s\": 4243.00141 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8456973293768546, \"MicroF1\": 0.8456973293768547, \"MacroF1\": 0.8480563212460421, \"Memory in Mb\": 10.19985294342041, \"Time in s\": 4680.993142 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8469175144012747, \"MicroF1\": 0.8469175144012746, \"MacroF1\": 0.8472851046009279, \"Memory in Mb\": 10.418806076049805, \"Time in s\": 5138.9878340000005 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8469709349830746, \"MicroF1\": 0.8469709349830746, \"MacroF1\": 0.8501227536717817, \"Memory in Mb\": 10.607142448425291, \"Time in s\": 5616.664707000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8475766016713092, \"MicroF1\": 0.8475766016713092, \"MacroF1\": 0.8507851780426926, \"Memory in Mb\": 10.772598266601562, \"Time in s\": 6113.940894000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8459980816370031, \"MicroF1\": 0.8459980816370031, \"MacroF1\": 0.8471668648040658, \"Memory in Mb\": 10.97368335723877, \"Time in s\": 6631.342845000001 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8418956184250843, \"MicroF1\": 0.8418956184250843, \"MacroF1\": 0.8426049398612477, \"Memory in Mb\": 11.192140579223633, \"Time in s\": 7169.901201000001 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8344935778017453, \"MicroF1\": 0.8344935778017454, \"MacroF1\": 0.8308153568434791, \"Memory in Mb\": 11.354521751403809, \"Time in s\": 7729.92345 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.817384745922504, \"MicroF1\": 0.817384745922504, \"MacroF1\": 0.8105787344487394, \"Memory in Mb\": 11.59365177154541, \"Time in s\": 8312.440227000001 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8127099409895597, \"MicroF1\": 0.8127099409895597, \"MacroF1\": 0.8142119266109252, \"Memory in Mb\": 11.793928146362305, \"Time in s\": 8918.030696000002 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8079313665411888, \"MicroF1\": 0.8079313665411888, \"MacroF1\": 0.8037472320719128, \"Memory in Mb\": 11.945178031921388, \"Time in s\": 9547.170938 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8040740427689967, \"MicroF1\": 0.8040740427689967, \"MacroF1\": 0.8039730126613296, \"Memory in Mb\": 12.203582763671877, \"Time in s\": 10200.281645 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8072554947299616, \"MicroF1\": 0.8072554947299616, \"MacroF1\": 0.8097160881214022, \"Memory in Mb\": 12.414502143859863, \"Time in s\": 10877.318664 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8043014153554202, \"MicroF1\": 0.8043014153554202, \"MacroF1\": 0.8038043720799647, \"Memory in Mb\": 12.561456680297852, \"Time in s\": 11578.515438 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7996936039831483, \"MicroF1\": 0.7996936039831483, \"MacroF1\": 0.8010057260657798, \"Memory in Mb\": 12.889472007751465, \"Time in s\": 12304.325005 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7974448488449826, \"MicroF1\": 0.7974448488449826, \"MacroF1\": 0.7996515087686575, \"Memory in Mb\": 12.99599838256836, \"Time in s\": 13054.609905 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7978516329031793, \"MicroF1\": 0.7978516329031793, \"MacroF1\": 0.8006715750629478, \"Memory in Mb\": 13.20394229888916, \"Time in s\": 13829.291085 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.797674907206387, \"MicroF1\": 0.7976749072063871, \"MacroF1\": 0.8002875748518964, \"Memory in Mb\": 13.36452293395996, \"Time in s\": 14628.347686 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8007761966364813, \"MicroF1\": 0.8007761966364813, \"MacroF1\": 0.8043248634763072, \"Memory in Mb\": 13.53370189666748, \"Time in s\": 15451.756014 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8051010268300762, \"MicroF1\": 0.8051010268300763, \"MacroF1\": 0.8085780284871096, \"Memory in Mb\": 13.774932861328123, \"Time in s\": 16299.960754 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8052634973876024, \"MicroF1\": 0.8052634973876024, \"MacroF1\": 0.8077470357827514, \"Memory in Mb\": 13.933537483215332, \"Time in s\": 17172.988913 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7978756834894098, \"MicroF1\": 0.7978756834894098, \"MacroF1\": 0.7983136026998061, \"Memory in Mb\": 14.138628005981444, \"Time in s\": 18070.675966000003 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.793369691770329, \"MicroF1\": 0.7933696917703291, \"MacroF1\": 0.7956625263629296, \"Memory in Mb\": 14.30509090423584, \"Time in s\": 18993.33345 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7901596221677527, \"MicroF1\": 0.7901596221677527, \"MacroF1\": 0.7932579365729884, \"Memory in Mb\": 14.447582244873049, \"Time in s\": 19941.842904 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7861686606361249, \"MicroF1\": 0.7861686606361248, \"MacroF1\": 0.7888822346867281, \"Memory in Mb\": 14.767212867736816, \"Time in s\": 20916.572711 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.780425240836801, \"MicroF1\": 0.780425240836801, \"MacroF1\": 0.7838193866310822, \"Memory in Mb\": 14.989240646362305, \"Time in s\": 21922.215184 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7802907915993538, \"MicroF1\": 0.7802907915993537, \"MacroF1\": 0.7845235361146662, \"Memory in Mb\": 15.200251579284668, \"Time in s\": 22957.213951 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.783975162045863, \"MicroF1\": 0.783975162045863, \"MacroF1\": 0.7883700169311393, \"Memory in Mb\": 15.375930786132812, \"Time in s\": 24020.765336 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7869664837214259, \"MicroF1\": 0.7869664837214259, \"MacroF1\": 0.7913854757843782, \"Memory in Mb\": 15.5132417678833, \"Time in s\": 25114.453204 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7816427640156454, \"MicroF1\": 0.7816427640156454, \"MacroF1\": 0.7858184292134073, \"Memory in Mb\": 15.77665901184082, \"Time in s\": 26236.293864000003 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7846090997293571, \"MicroF1\": 0.7846090997293571, \"MacroF1\": 0.7893723685613512, \"Memory in Mb\": 15.996115684509276, \"Time in s\": 27388.205854000003 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7807013155920164, \"MicroF1\": 0.7807013155920164, \"MacroF1\": 0.785620728786203, \"Memory in Mb\": 16.12063980102539, \"Time in s\": 28569.915626 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7791068189617139, \"MicroF1\": 0.7791068189617139, \"MacroF1\": 0.7841355172773921, \"Memory in Mb\": 16.39253330230713, \"Time in s\": 29779.243894000003 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1777777777777777, \"MicroF1\": 0.1777777777777777, \"MacroF1\": 0.1526026604973973, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 0.110776 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1318681318681318, \"MicroF1\": 0.1318681318681318, \"MacroF1\": 0.1213108980966124, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 0.225611 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1240875912408759, \"MicroF1\": 0.1240875912408759, \"MacroF1\": 0.1187445506554449, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 0.343639 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1256830601092896, \"MicroF1\": 0.1256830601092896, \"MacroF1\": 0.1226298342307158, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 0.484524 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1266375545851528, \"MicroF1\": 0.1266375545851528, \"MacroF1\": 0.1250385204120806, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 0.6292090000000001 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1272727272727272, \"MicroF1\": 0.1272727272727272, \"MacroF1\": 0.1242790791814499, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 0.7861950000000001 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1339563862928348, \"MicroF1\": 0.1339563862928348, \"MacroF1\": 0.1321003659624602, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 1.0166240000000002 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1389645776566757, \"MicroF1\": 0.1389645776566757, \"MacroF1\": 0.1374501146297296, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 1.2507780000000002 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1404358353510895, \"MicroF1\": 0.1404358353510895, \"MacroF1\": 0.1403581309694754, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 1.5223060000000002 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1459694989106753, \"MicroF1\": 0.1459694989106753, \"MacroF1\": 0.1456314871072794, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 1.7974560000000002 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1386138613861386, \"MicroF1\": 0.1386138613861386, \"MacroF1\": 0.1383381610231494, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 2.07562 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1397459165154265, \"MicroF1\": 0.1397459165154265, \"MacroF1\": 0.1393865249177789, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 2.402759 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1373534338358459, \"MicroF1\": 0.1373534338358459, \"MacroF1\": 0.1372798104345861, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 2.771723 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1399688958009331, \"MicroF1\": 0.1399688958009331, \"MacroF1\": 0.1401757170901796, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 3.149556 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1378809869375907, \"MicroF1\": 0.1378809869375907, \"MacroF1\": 0.1380151778455332, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 3.580436 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1401360544217687, \"MicroF1\": 0.1401360544217687, \"MacroF1\": 0.1403108892795828, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 4.0152470000000005 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1421254801536491, \"MicroF1\": 0.1421254801536491, \"MacroF1\": 0.1420930265541123, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 4.453992 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1426844014510278, \"MicroF1\": 0.1426844014510278, \"MacroF1\": 0.1422987455304691, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 4.959761 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.138602520045819, \"MicroF1\": 0.138602520045819, \"MacroF1\": 0.1384535269459527, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 5.469480000000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1349292709466811, \"MicroF1\": 0.1349292709466811, \"MacroF1\": 0.1348083913046733, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 6.0005820000000005 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1336787564766839, \"MicroF1\": 0.1336787564766839, \"MacroF1\": 0.1334917777444527, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 6.535053 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1325420375865479, \"MicroF1\": 0.1325420375865479, \"MacroF1\": 0.1324936677659038, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 7.07275 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1333964049195837, \"MicroF1\": 0.1333964049195837, \"MacroF1\": 0.1331834965440007, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 7.645426 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1341795104261106, \"MicroF1\": 0.1341795104261106, \"MacroF1\": 0.1340282652950153, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 8.221471000000001 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.134029590948651, \"MicroF1\": 0.134029590948651, \"MacroF1\": 0.1340639115051912, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 8.800858000000002 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1364016736401673, \"MicroF1\": 0.1364016736401673, \"MacroF1\": 0.1363948420172951, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 9.430169 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1394037066881547, \"MicroF1\": 0.1394037066881547, \"MacroF1\": 0.1391977238389222, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 10.062783 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1414141414141414, \"MicroF1\": 0.1414141414141414, \"MacroF1\": 0.1411871502321015, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 10.698372 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1432858214553638, \"MicroF1\": 0.1432858214553638, \"MacroF1\": 0.1430255327815666, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 11.387531 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1435823060188542, \"MicroF1\": 0.1435823060188542, \"MacroF1\": 0.1433209000486506, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 12.080639 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1417543859649122, \"MicroF1\": 0.1417543859649122, \"MacroF1\": 0.1414546655929112, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 12.777602000000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1393609789259007, \"MicroF1\": 0.1393609789259007, \"MacroF1\": 0.1390762971394262, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 13.546128 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1397495056031641, \"MicroF1\": 0.1397495056031641, \"MacroF1\": 0.1395136668589845, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 14.318195 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1369161868202175, \"MicroF1\": 0.1369161868202175, \"MacroF1\": 0.1366417047439511, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 15.093811 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1361093847110006, \"MicroF1\": 0.1361093847110006, \"MacroF1\": 0.1359768388190307, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 15.942934 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1365558912386707, \"MicroF1\": 0.1365558912386707, \"MacroF1\": 0.1363322462377459, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 16.795246000000002 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1393298059964726, \"MicroF1\": 0.1393298059964726, \"MacroF1\": 0.1390129627439909, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 17.650687 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1419576416714367, \"MicroF1\": 0.1419576416714367, \"MacroF1\": 0.1414719731272364, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 18.510738 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1422197434467373, \"MicroF1\": 0.1422197434467373, \"MacroF1\": 0.1419410396611007, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 19.374685 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1413811854268624, \"MicroF1\": 0.1413811854268624, \"MacroF1\": 0.1411432976659866, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 20.24245 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.140053050397878, \"MicroF1\": 0.140053050397878, \"MacroF1\": 0.1397325871382075, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 21.182873 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1429311237700673, \"MicroF1\": 0.1429311237700673, \"MacroF1\": 0.1427522922982585, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 22.12686 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1461810824481537, \"MicroF1\": 0.1461810824481537, \"MacroF1\": 0.1459715815160596, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 23.074113 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1443400889767671, \"MicroF1\": 0.1443400889767671, \"MacroF1\": 0.1441662523776106, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 24.067371 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1440309328177863, \"MicroF1\": 0.1440309328177863, \"MacroF1\": 0.1438554349712762, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 25.063921 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1446808510638297, \"MicroF1\": 0.1446808510638297, \"MacroF1\": 0.1446036231777657, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 26.06363 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1453031004164738, \"MicroF1\": 0.1453031004164738, \"MacroF1\": 0.1452046591382179, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 27.083891999999995 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1449932034435885, \"MicroF1\": 0.1449932034435885, \"MacroF1\": 0.1449110985199169, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 28.107944 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1464713715046604, \"MicroF1\": 0.1464713715046604, \"MacroF1\": 0.146404255341296, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 29.207951 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1478903871248368, \"MicroF1\": 0.1478903871248368, \"MacroF1\": 0.1478868852481029, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 30.311507 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.148116067561715, \"MicroF1\": 0.148116067561715, \"MacroF1\": 0.1481156678425267, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 31.415921 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1582938388625592, \"MicroF1\": 0.1582938388625592, \"MacroF1\": 0.1376212379233521, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 0.57267 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1657981999052581, \"MicroF1\": 0.1657981999052581, \"MacroF1\": 0.1511045106411843, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 1.690872 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1701926113040732, \"MicroF1\": 0.1701926113040732, \"MacroF1\": 0.1568151235503963, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 3.298143 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1659957376272791, \"MicroF1\": 0.1659957376272791, \"MacroF1\": 0.1525443315605066, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 5.473684 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1708656942602765, \"MicroF1\": 0.1708656942602765, \"MacroF1\": 0.1567667911399358, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 8.202311 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1737963693764798, \"MicroF1\": 0.1737963693764798, \"MacroF1\": 0.1613756819597299, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 11.448991 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1752130970098769, \"MicroF1\": 0.1752130970098769, \"MacroF1\": 0.1618940790413477, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 15.242684 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1772226826092103, \"MicroF1\": 0.1772226826092103, \"MacroF1\": 0.163740045170864, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 19.537217 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1773124276544249, \"MicroF1\": 0.1773124276544249, \"MacroF1\": 0.1637492974453096, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 24.318802 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1790889288758405, \"MicroF1\": 0.1790889288758405, \"MacroF1\": 0.1656421076747495, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 29.683683 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1789926818768833, \"MicroF1\": 0.1789926818768833, \"MacroF1\": 0.1655925383533761, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 35.598037000000005 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1853050272275274, \"MicroF1\": 0.1853050272275274, \"MacroF1\": 0.182698099884098, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 41.981502000000006 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2479784366576819, \"MicroF1\": 0.2479784366576819, \"MacroF1\": 0.266039368455288, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 48.94863000000001 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2795778935263478, \"MicroF1\": 0.2795778935263478, \"MacroF1\": 0.2822974275171512, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 56.43945000000001 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2761537975882315, \"MicroF1\": 0.2761537975882315, \"MacroF1\": 0.2847375853365436, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 64.48233200000001 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723290914471737, \"MicroF1\": 0.2723290914471737, \"MacroF1\": 0.2859139704285301, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 73.03679300000002 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2720739791655061, \"MicroF1\": 0.2720739791655061, \"MacroF1\": 0.2880143206503878, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 82.10379000000002 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2825274898721523, \"MicroF1\": 0.2825274898721523, \"MacroF1\": 0.2877504429321087, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 91.70347300000002 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2872451776902756, \"MicroF1\": 0.2872451776902756, \"MacroF1\": 0.2866739236661926, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 101.81113500000002 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2830626450116009, \"MicroF1\": 0.2830626450116009, \"MacroF1\": 0.2816476602425525, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 112.42818900000002 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2805411499436302, \"MicroF1\": 0.2805411499436302, \"MacroF1\": 0.2786296072528009, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 123.55266000000002 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2797124531875511, \"MicroF1\": 0.2797124531875511, \"MacroF1\": 0.2771941975793341, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 135.22034100000002 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2777205912628155, \"MicroF1\": 0.2777205912628155, \"MacroF1\": 0.2745878480946635, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 147.32084400000002 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2756579726157124, \"MicroF1\": 0.2756579726157124, \"MacroF1\": 0.2723380305202896, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 159.88729300000003 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2739497708246524, \"MicroF1\": 0.2739497708246524, \"MacroF1\": 0.2699690442569991, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 172.95537600000003 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2718994718630486, \"MicroF1\": 0.2718994718630486, \"MacroF1\": 0.2671948532388624, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 186.52082400000003 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723860965942969, \"MicroF1\": 0.2723860965942969, \"MacroF1\": 0.2686965366571337, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 200.59564800000004 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2738187844556431, \"MicroF1\": 0.2738187844556431, \"MacroF1\": 0.2720266804437783, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 215.16150500000003 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2753812493877151, \"MicroF1\": 0.2753812493877151, \"MacroF1\": 0.2748698663810351, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 230.19075300000003 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2780390795163989, \"MicroF1\": 0.2780390795163989, \"MacroF1\": 0.2784141751235631, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 245.71900300000004 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.279670077898274, \"MicroF1\": 0.279670077898274, \"MacroF1\": 0.2802192251245275, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 261.76959600000004 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2808440117190968, \"MicroF1\": 0.2808440117190968, \"MacroF1\": 0.2811962745371706, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 278.22772000000003 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2772405085086234, \"MicroF1\": 0.2772405085086234, \"MacroF1\": 0.2781905182864757, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 295.19763900000004 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2739325404562293, \"MicroF1\": 0.2739325404562293, \"MacroF1\": 0.2754200456137155, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 312.64260700000005 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.271246516410076, \"MicroF1\": 0.271246516410076, \"MacroF1\": 0.273332837678202, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 330.5037730000001 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2685518874128633, \"MicroF1\": 0.2685518874128633, \"MacroF1\": 0.2710722002891223, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 348.8496650000001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.277034117376059, \"MicroF1\": 0.277034117376059, \"MacroF1\": 0.2770619820799866, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 367.6207990000001 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2761731502479627, \"MicroF1\": 0.2761731502479627, \"MacroF1\": 0.2760769006623072, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 386.8573710000001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2756720005827647, \"MicroF1\": 0.2756720005827647, \"MacroF1\": 0.2754352632972116, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 406.52795400000014 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2740121688486943, \"MicroF1\": 0.2740121688486943, \"MacroF1\": 0.2735946193588542, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 426.69962200000015 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2738422450629403, \"MicroF1\": 0.2738422450629403, \"MacroF1\": 0.2731948869083578, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 447.37129900000014 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2729588960790061, \"MicroF1\": 0.2729588960790061, \"MacroF1\": 0.2720911653869048, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 468.49129600000015 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2720505648908758, \"MicroF1\": 0.2720505648908758, \"MacroF1\": 0.2708084959373003, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 490.06234300000017 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.271377224888621, \"MicroF1\": 0.271377224888621, \"MacroF1\": 0.2698631410415437, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 512.0778290000002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723542162082535, \"MicroF1\": 0.2723542162082535, \"MacroF1\": 0.2717062798322285, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 534.5781510000002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2741327843540916, \"MicroF1\": 0.2741327843540916, \"MacroF1\": 0.2744946340974243, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 557.5265480000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2753520984868328, \"MicroF1\": 0.2753520984868328, \"MacroF1\": 0.2765036876430403, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 580.9705880000001 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2768362696549411, \"MicroF1\": 0.2768362696549411, \"MacroF1\": 0.2786344091273496, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 604.9012140000001 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2782791875229499, \"MicroF1\": 0.2782791875229499, \"MacroF1\": 0.2805971515128955, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 629.3033230000001 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2891153241538665, \"MicroF1\": 0.2891153241538665, \"MacroF1\": 0.2892953202729756, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 654.1512880000001 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2897610081934642, \"MicroF1\": 0.2897610081934642, \"MacroF1\": 0.2897627257031321, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 679.0036960000001 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975429975429976, \"MicroF1\": 0.9975429975429976, \"MacroF1\": 0.966040884438882, \"Memory in Mb\": 0.0006122589111328, \"Time in s\": 0.255536 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975460122699388, \"MicroF1\": 0.9975460122699388, \"MacroF1\": 0.9879967903427672, \"Memory in Mb\": 0.0006628036499023, \"Time in s\": 0.794196 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975470155355682, \"MicroF1\": 0.9975470155355682, \"MacroF1\": 0.9931179599499376, \"Memory in Mb\": 0.0007133483886718, \"Time in s\": 1.53447 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975475168608215, \"MicroF1\": 0.9975475168608215, \"MacroF1\": 0.9950750839342832, \"Memory in Mb\": 0.0012521743774414, \"Time in s\": 2.469131 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975478175576264, \"MicroF1\": 0.9975478175576264, \"MacroF1\": 0.9960150346160552, \"Memory in Mb\": 0.0013027191162109, \"Time in s\": 3.675833 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975480179812016, \"MicroF1\": 0.9975480179812016, \"MacroF1\": 0.9965317313935652, \"Memory in Mb\": 0.0013532638549804, \"Time in s\": 5.030286 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975481611208408, \"MicroF1\": 0.9975481611208408, \"MacroF1\": 0.996842428316928, \"Memory in Mb\": 0.00140380859375, \"Time in s\": 6.586031 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975482684646032, \"MicroF1\": 0.9975482684646032, \"MacroF1\": 0.9970416021996, \"Memory in Mb\": 0.0014543533325195, \"Time in s\": 8.377109 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975483519476982, \"MicroF1\": 0.9975483519476982, \"MacroF1\": 0.9971755428551424, \"Memory in Mb\": 0.001504898071289, \"Time in s\": 10.331252 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975484187300808, \"MicroF1\": 0.9975484187300808, \"MacroF1\": 0.9972690115789392, \"Memory in Mb\": 0.0015554428100585, \"Time in s\": 12.525489 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975484733675062, \"MicroF1\": 0.9975484733675062, \"MacroF1\": 0.9973361791525124, \"Memory in Mb\": 0.0016059875488281, \"Time in s\": 14.940819 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975485188968336, \"MicroF1\": 0.9975485188968336, \"MacroF1\": 0.9973856025730918, \"Memory in Mb\": 0.0016565322875976, \"Time in s\": 17.495259 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548557420328, \"MicroF1\": 0.997548557420328, \"MacroF1\": 0.9974226798335742, \"Memory in Mb\": 0.0017070770263671, \"Time in s\": 20.336762 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975485904395028, \"MicroF1\": 0.9975485904395028, \"MacroF1\": 0.99745094204078, \"Memory in Mb\": 0.0017576217651367, \"Time in s\": 23.402208 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975486190554012, \"MicroF1\": 0.9975486190554012, \"MacroF1\": 0.9974727709453766, \"Memory in Mb\": 0.0018081665039062, \"Time in s\": 26.661861 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975486440937644, \"MicroF1\": 0.9975486440937644, \"MacroF1\": 0.997489815700999, \"Memory in Mb\": 0.0018587112426757, \"Time in s\": 30.164710000000003 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548666186013, \"MicroF1\": 0.997548666186013, \"MacroF1\": 0.9975032443691146, \"Memory in Mb\": 0.0019092559814453, \"Time in s\": 33.838397 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548685823233, \"MicroF1\": 0.997548685823233, \"MacroF1\": 0.9975139007887864, \"Memory in Mb\": 0.0034246444702148, \"Time in s\": 37.738436 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487033931104, \"MicroF1\": 0.9975487033931104, \"MacroF1\": 0.9975224052755716, \"Memory in Mb\": 0.0034751892089843, \"Time in s\": 41.800015 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548719205785, \"MicroF1\": 0.997548719205785, \"MacroF1\": 0.9975292209193424, \"Memory in Mb\": 0.0035257339477539, \"Time in s\": 46.105028 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487335123148, \"MicroF1\": 0.9975487335123148, \"MacroF1\": 0.9975346982235258, \"Memory in Mb\": 0.0035762786865234, \"Time in s\": 50.63279300000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548746518106, \"MicroF1\": 0.997548746518106, \"MacroF1\": 0.9975391057693664, \"Memory in Mb\": 0.0036268234252929, \"Time in s\": 55.447067 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548758392838, \"MicroF1\": 0.997548758392838, \"MacroF1\": 0.997542651662671, \"Memory in Mb\": 0.0036773681640625, \"Time in s\": 60.387128 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487692779084, \"MicroF1\": 0.9975487692779084, \"MacroF1\": 0.9975454987794796, \"Memory in Mb\": 0.003727912902832, \"Time in s\": 65.547582 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487792920874, \"MicroF1\": 0.9975487792920874, \"MacroF1\": 0.9975477757646256, \"Memory in Mb\": 0.0037784576416015, \"Time in s\": 70.981052 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487885358726, \"MicroF1\": 0.9975487885358726, \"MacroF1\": 0.9975495850737114, \"Memory in Mb\": 0.003829002380371, \"Time in s\": 76.594226 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487970948708, \"MicroF1\": 0.9975487970948708, \"MacroF1\": 0.9975510089260562, \"Memory in Mb\": 0.0038795471191406, \"Time in s\": 82.44596800000001 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488050424582, \"MicroF1\": 0.9975488050424582, \"MacroF1\": 0.9975521137613484, \"Memory in Mb\": 0.0039300918579101, \"Time in s\": 88.533094 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.99754881244189, \"MicroF1\": 0.99754881244189, \"MacroF1\": 0.99755295361102, \"Memory in Mb\": 0.0039806365966796, \"Time in s\": 94.818744 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548819347986, \"MicroF1\": 0.997548819347986, \"MacroF1\": 0.9975535726732964, \"Memory in Mb\": 0.0040311813354492, \"Time in s\": 101.331754 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548825808492, \"MicroF1\": 0.997548825808492, \"MacroF1\": 0.997554007297632, \"Memory in Mb\": 0.0040817260742187, \"Time in s\": 108.051678 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488318651856, \"MicroF1\": 0.9975488318651856, \"MacroF1\": 0.997554287526727, \"Memory in Mb\": 0.0041322708129882, \"Time in s\": 114.996681 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488375547796, \"MicroF1\": 0.9975488375547796, \"MacroF1\": 0.9975544383040468, \"Memory in Mb\": 0.0041828155517578, \"Time in s\": 122.1119 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488429096676, \"MicroF1\": 0.9975488429096676, \"MacroF1\": 0.9975544804262362, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 129.47010500000002 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488479585404, \"MicroF1\": 0.9975488479585404, \"MacroF1\": 0.99755443129941, \"Memory in Mb\": 0.0042839050292968, \"Time in s\": 136.988051 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488527269012, \"MicroF1\": 0.9975488527269012, \"MacroF1\": 0.997554305543504, \"Memory in Mb\": 0.0043344497680664, \"Time in s\": 144.742896 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548857237496, \"MicroF1\": 0.997548857237496, \"MacroF1\": 0.9975541154780816, \"Memory in Mb\": 0.0043849945068359, \"Time in s\": 152.648866 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488615106752, \"MicroF1\": 0.9975488615106752, \"MacroF1\": 0.9975538715150368, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 160.767465 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488655647036, \"MicroF1\": 0.9975488655647036, \"MacroF1\": 0.997553582477696, \"Memory in Mb\": 0.004486083984375, \"Time in s\": 169.09858 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488694160182, \"MicroF1\": 0.9975488694160182, \"MacroF1\": 0.9975532558614028, \"Memory in Mb\": 0.0045366287231445, \"Time in s\": 177.653336 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488730794524, \"MicroF1\": 0.9975488730794524, \"MacroF1\": 0.997552898047314, \"Memory in Mb\": 0.004587173461914, \"Time in s\": 186.438203 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488765684272, \"MicroF1\": 0.9975488765684272, \"MacroF1\": 0.9975525144785748, \"Memory in Mb\": 0.0046377182006835, \"Time in s\": 195.447168 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488798951148, \"MicroF1\": 0.9975488798951148, \"MacroF1\": 0.997552109806108, \"Memory in Mb\": 0.0046882629394531, \"Time in s\": 204.563635 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548883070581, \"MicroF1\": 0.997548883070581, \"MacroF1\": 0.9975516880097278, \"Memory in Mb\": 0.0047388076782226, \"Time in s\": 213.933058 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488861049076, \"MicroF1\": 0.9975488861049076, \"MacroF1\": 0.997551252499137, \"Memory in Mb\": 0.0047893524169921, \"Time in s\": 223.513668 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488890073, \"MicroF1\": 0.9975488890073, \"MacroF1\": 0.9975508061984416, \"Memory in Mb\": 0.0048398971557617, \"Time in s\": 233.322943 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.99754889178618, \"MicroF1\": 0.99754889178618, \"MacroF1\": 0.9975503516171184, \"Memory in Mb\": 0.0048904418945312, \"Time in s\": 243.357771 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488944492672, \"MicroF1\": 0.9975488944492672, \"MacroF1\": 0.9975498909097889, \"Memory in Mb\": 0.0049409866333007, \"Time in s\": 253.567103 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488970036516, \"MicroF1\": 0.9975488970036516, \"MacroF1\": 0.9975494259267256, \"Memory in Mb\": 0.0049915313720703, \"Time in s\": 264.004285 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488994558556, \"MicroF1\": 0.9975488994558556, \"MacroF1\": 0.9975489582566448, \"Memory in Mb\": 0.0050420761108398, \"Time in s\": 274.675054 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"ImageSegments\", \"bind\": { \"input\": \"select\", \"options\": [ \"ImageSegments\", \"Insects\", \"Keystroke\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"Accuracy\", \"MicroF1\", \"MacroF1\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Multiclass%20classification/#datasets","title":"Datasets","text":"ImageSegments

Image segments classification.

This dataset contains features that describe image segments into 7 classes: brickface, sky, foliage, cement, window, path, and grass.

Name  ImageSegments                                                                                               \nTask  Multi-class classification\n

Samples 2,310 Features 18 Classes 7 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/segment.csv.zip

Insects

Insects dataset.

This dataset has different variants, which are:

  • abrupt_balanced
  • abrupt_imbalanced
  • gradual_balanced
  • gradual_imbalanced
  • incremental-abrupt_balanced
  • incremental-abrupt_imbalanced
  • incremental-reoccurring_balanced
  • incremental-reoccurring_imbalanced
  • incremental_balanced
  • incremental_imbalanced
  • out-of-control

The number of samples and the difficulty change from one variant to another. The number of classes is always the same (6), except for the last variant (24).

  Name  Insects                                                                                 \n  Task  Multi-class classification\n

Samples 52,848 Features 33 Classes 6 Sparse False Path /Users/mastelini/river_data/Insects/INSECTS-abrupt_balanced_norm.arff URL http://sites.labic.icmc.usp.br/vsouza/repository/creme/INSECTS-abrupt_balanced_norm.arff Size 15.66 MB Downloaded True Variant abrupt_balanced

Keystroke

CMU keystroke dataset.

Users are tasked to type in a password. The task is to determine which user is typing in the password.

The only difference with the original dataset is that the \"sessionIndex\" and \"rep\" attributes have been dropped.

  Name  Keystroke                                                       \n  Task  Multi-class classification\n

Samples 20,400 Features 31 Classes 51 Sparse False Path /Users/mastelini/river_data/Keystroke/DSL-StrongPasswordData.csv URL http://www.cs.cmu.edu/~keystroke/DSL-StrongPasswordData.csv Size 4.45 MB Downloaded True

"},{"location":"benchmarks/Multiclass%20classification/#parameters","title":"Parameters","text":"
variant\n    Indicates which variant of the dataset to load.\n
"},{"location":"benchmarks/Multiclass%20classification/#models","title":"Models","text":"Naive Bayes

GaussianNB ()

Hoeffding Tree

HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)

Hoeffding Adaptive Tree

HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=True\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=42\n)

Adaptive Random Forest

[]

Aggregated Mondrian Forest

[]

Streaming Random Patches

SRPClassifier (\n  model=HoeffdingTreeClassifier (\n    grace_period=50\n    max_depth=inf\n    split_criterion=\"info_gain\"\n    delta=0.01\n    tau=0.05\n    leaf_prediction=\"nba\"\n    nb_threshold=0\n    nominal_attributes=None\n    splitter=GaussianSplitter (\n      n_splits=10\n    )\n    binary_split=False\n    min_branch_fraction=0.01\n    max_share_to_split=0.99\n    max_size=100.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n  n_models=10\n  subspace_size=0.6\n  training_method=\"patches\"\n  lam=6\n  drift_detector=ADWIN (\n    delta=1e-05\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  warning_detector=ADWIN (\n    delta=0.0001\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  disable_detector=\"off\"\n  disable_weighted_vote=False\n  seed=None\n  metric=Accuracy (\n    cm=ConfusionMatrix (\n      classes=[]\n    )\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)\n\n

\n\nADWIN Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nAdaBoost\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nBagging\n

[HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n)]

\n\n

\n\nLeveraging Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nStacking\n

[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n\n

\n\nVoting\n

VotingClassifier (\n  models=[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n  use_probabilities=True\n)\n\n

\n\n[baseline] Last Class\n

NoChangeClassifier ()

\n\n

"},{"location":"benchmarks/Multiclass%20classification/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"benchmarks/Regression/","title":"Regression","text":"TableChart Model Dataset MAE RMSE R2 Memory in Mb Time in s Adaptive Model Rules ChickWeights 24.1943 37.2166 0.725319 0.046977 5.25855 Adaptive Model Rules TrumpApproval 1.39847 2.43336 -1.02372 0.114429 9.38293 Adaptive Random Forest ChickWeights 26.1016 40.8094 0.669725 1.19043 56.006 Adaptive Random Forest TrumpApproval 0.800378 2.11495 -0.528761 1.28462 87.4457 Aggregated Mondrian Forest ChickWeights 25.6742 41.7123 0.65479 8.21412 127.415 Aggregated Mondrian Forest TrumpApproval 0.268533 0.349421 0.958184 16.9323 186.034 Bagging ChickWeights 23.1143 36.6311 0.733893 0.628034 38.0203 Bagging TrumpApproval 0.908203 2.23718 -0.710572 1.31579 82.0689 Exponentially Weighted Average ChickWeights 121.818 141.004 -2.94294 3.09241 55.8851 Exponentially Weighted Average TrumpApproval 40.7546 40.7905 -567.663 5.27613 141.452 Hoeffding Adaptive Tree ChickWeights 23.3739 37.6579 0.718766 0.0947332 7.99029 Hoeffding Adaptive Tree TrumpApproval 0.921313 2.23942 -0.713986 0.138225 16.7576 Hoeffding Tree ChickWeights 23.1619 36.7336 0.732402 0.0440512 6.29305 Hoeffding Tree TrumpApproval 0.956103 2.24987 -0.730022 0.148639 11.7656 Linear Regression ChickWeights 23.7587 37.0377 0.727954 0.00421047 3.21471 Linear Regression TrumpApproval 1.31455 3.91198 -4.23035 0.00497341 11.5379 Linear Regression with l1 regularization ChickWeights 23.7577 37.078 0.727361 0.00444126 9.7485 Linear Regression with l1 regularization TrumpApproval 1.15377 3.82872 -4.01007 0.0052042 13.3595 Linear Regression with l2 regularization ChickWeights 25.2738 38.5885 0.704694 0.00423336 1.22128 Linear Regression with l2 regularization TrumpApproval 1.87151 4.13052 -4.83107 0.0049963 4.15677 Passive-Aggressive Regressor, mode 1 ChickWeights 24.3423 37.596 0.71969 0.00345898 1.10187 Passive-Aggressive Regressor, mode 1 TrumpApproval 4.98403 6.97667 -15.6354 0.00443554 2.99338 Passive-Aggressive Regressor, mode 2 ChickWeights 100.624 143.066 -3.05911 0.00345898 1.16798 Passive-Aggressive Regressor, mode 2 TrumpApproval 31.0933 34.6257 -408.765 0.00443554 4.72475 River MLP ChickWeights 51.4078 80.9203 -0.298584 0.0123129 28.2295 River MLP TrumpApproval 1.58058 5.03392 -7.66066 0.0133505 32.2432 Stochastic Gradient Tree ChickWeights 68.7588 80.358 -0.280601 1.12059 22.3803 Stochastic Gradient Tree TrumpApproval 9.42975 17.9379 -108.972 3.08244 52.4507 Streaming Random Patches ChickWeights 23.7097 38.4416 0.706938 0.355182 93.4014 Streaming Random Patches TrumpApproval 0.656697 1.98434 -0.345761 1.06461 134.903 [baseline] Mean predictor ChickWeights 50.2509 71.1144 -0.00292947 0.000490189 0.302835 [baseline] Mean predictor TrumpApproval 1.56755 2.20286 -0.658483 0.000490189 1.08177 k-Nearest Neighbors ChickWeights 24.8406 39.2016 0.695236 2.88522 40.0878 k-Nearest Neighbors TrumpApproval 0.641679 1.59417 0.131425 5.03263 123.301

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 30.432219699626994, \"RMSE\": 31.267456151778337, \"R2\": -1257.4692714745631, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.000963 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.75760844034268, \"RMSE\": 23.632210645041404, \"R2\": -590.4769976066937, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.002374 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 14.555240079240876, \"RMSE\": 19.34929493332969, \"R2\": -259.0232069515881, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.004113 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.14363365913676, \"RMSE\": 16.767243978820222, \"R2\": -220.3452424437857, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.006175 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.841164000616114, \"RMSE\": 17.714902804136145, \"R2\": -60.2608923989398, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.008581 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.32598508406065, \"RMSE\": 16.527353468164844, \"R2\": -21.985729074745297, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.01133 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 9.718401993814265, \"RMSE\": 15.52109639018614, \"R2\": -12.587024696233003, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.014424 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.767755200283737, \"RMSE\": 14.552446235427842, \"R2\": -9.829280875288257, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.017858 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.977130626229444, \"RMSE\": 13.740429605807138, \"R2\": -7.074807888709797, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0216349999999999 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.506893871110683, \"RMSE\": 13.098273311725844, \"R2\": -4.124041411671393, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0257519999999999 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.252833276832352, \"RMSE\": 12.607637144454216, \"R2\": -2.6562249812820733, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0302089999999999 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.896359231575217, \"RMSE\": 12.121970224209305, \"R2\": -1.7624336939368233, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0350039999999999 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.581914741629191, \"RMSE\": 11.688367143429067, \"R2\": -1.080274127204615, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0401389999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.347682986169337, \"RMSE\": 11.314945909537578, \"R2\": -0.6567859420078188, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0456129999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.47676439389405, \"RMSE\": 11.21748999353191, \"R2\": -0.3089959076061037, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0514269999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.552290709218319, \"RMSE\": 11.100632967129414, \"R2\": -0.0335718949744832, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0575809999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.503097179992549, \"RMSE\": 10.915357728148932, \"R2\": 0.1817591258850298, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0640729999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.420443618722296, \"RMSE\": 10.727647067877951, \"R2\": 0.3713230272376924, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.070904 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.54715053669462, \"RMSE\": 10.814712106795348, \"R2\": 0.4732913339801876, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0780719999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.075852889975692, \"RMSE\": 11.488147441481184, \"R2\": 0.479648982578291, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0855759999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.197265349840174, \"RMSE\": 11.527376107146, \"R2\": 0.5518657524511614, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0934159999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.359957454348683, \"RMSE\": 11.71365363090123, \"R2\": 0.6276606533313056, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.1015909999999999 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.389343614466645, \"RMSE\": 11.70410418267156, \"R2\": 0.6771453727427903, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.1101019999999999 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.007684680730522, \"RMSE\": 12.681713023454453, \"R2\": 0.6536838584261326, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.1189499999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.456356064016727, \"RMSE\": 13.562457362384484, \"R2\": 0.6514630282957669, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.128137 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.682222588679535, \"RMSE\": 13.91372755183948, \"R2\": 0.6822857451181047, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.137663 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.656490376145301, \"RMSE\": 13.862729792291397, \"R2\": 0.7264657185265005, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.147527 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 9.17087534181789, \"RMSE\": 14.586626878398466, \"R2\": 0.730278281446047, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.157738 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.253235573939358, \"RMSE\": 17.040182474587255, \"R2\": 0.6659707835095393, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.270641 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.67218268870669, \"RMSE\": 17.597898989920818, \"R2\": 0.6951262006904333, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.38498 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.865878827617594, \"RMSE\": 17.684075493652397, \"R2\": 0.7243197409220903, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.500381 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.014541487264225, \"RMSE\": 17.788847456042067, \"R2\": 0.7464163188501894, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.6168239999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.893125923244742, \"RMSE\": 19.14640328452056, \"R2\": 0.7147396000186461, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.7343709999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.40252640363099, \"RMSE\": 20.24468752454989, \"R2\": 0.7068188127948265, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.8529599999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.78041264925886, \"RMSE\": 20.84297745742841, \"R2\": 0.7250508110390363, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.972583 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.908163646252072, \"RMSE\": 20.82655299121286, \"R2\": 0.7440434321899679, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.093238 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78624220521945, \"RMSE\": 22.297725224665918, \"R2\": 0.7272822586077066, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.214927 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 14.56231380927385, \"RMSE\": 23.732773749874315, \"R2\": 0.7099846963904786, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.3375199999999998 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.109717404902195, \"RMSE\": 24.64206848989837, \"R2\": 0.7221580232945248, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.4604629999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.287005413554732, \"RMSE\": 24.72152256024044, \"R2\": 0.7401560140604169, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.583729 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.806865735774078, \"RMSE\": 25.331119330890413, \"R2\": 0.7387809061287051, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.707315 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 16.912347710111163, \"RMSE\": 27.450327347193877, \"R2\": 0.7118740092210123, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.831218 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 17.68786801080465, \"RMSE\": 28.74804692307192, \"R2\": 0.7209603573249957, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.955435 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 18.02230431978895, \"RMSE\": 29.040370094251127, \"R2\": 0.7308604085348502, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.079964 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 18.47643461729765, \"RMSE\": 29.56562239854821, \"R2\": 0.7375811559076941, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.204806 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 19.368862660258834, \"RMSE\": 31.016595939650863, \"R2\": 0.7195863076124669, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.32996 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.093492725340727, \"RMSE\": 32.00802507821089, \"R2\": 0.7181912437784894, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.455434 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.883641447975457, \"RMSE\": 33.20140091570763, \"R2\": 0.727385103943677, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.581219 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 21.055940734584823, \"RMSE\": 33.19901872731025, \"R2\": 0.7386798629639011, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.707313 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 22.04665839885113, \"RMSE\": 34.818142407426606, \"R2\": 0.7214274205964286, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.833717 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 22.75015079068996, \"RMSE\": 35.737018888500465, \"R2\": 0.7193638350430389, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.960429 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 23.60149518688988, \"RMSE\": 36.92142939550449, \"R2\": 0.722919218201958, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 3.087448 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 23.75865667886776, \"RMSE\": 37.03767126301035, \"R2\": 0.7279537206511313, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 3.2147080000000003 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.71537559933632, \"RMSE\": 24.27612097298636, \"R2\": -1381.3340079163324, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.003774 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.956746822999646, \"RMSE\": 17.85530816845139, \"R2\": -127.17403450091604, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.008234 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.540337295823328, \"RMSE\": 15.264267507077204, \"R2\": -125.28803290438402, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.013346 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.92648259034571, \"RMSE\": 13.436420463778148, \"R2\": -97.15695382305036, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.019104 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.5495393499287236, \"RMSE\": 12.076339439187349, \"R2\": -48.75014684916543, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.025552 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.571266653106965, \"RMSE\": 11.058195411086311, \"R2\": -34.38851346579008, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.032651 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.868178209177549, \"RMSE\": 10.265658199354172, \"R2\": -30.51567288629301, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.040397 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.226493262391851, \"RMSE\": 9.609365926739027, \"R2\": -23.352843972650145, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.048786 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.806672346419344, \"RMSE\": 9.079121174210671, \"R2\": -18.092824435696784, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.057857 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.400421129740624, \"RMSE\": 8.617551092451054, \"R2\": -16.252012396913173, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.06766 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.083414123099576, \"RMSE\": 8.223437931584808, \"R2\": -15.946617088642816, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.0781589999999999 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.82353438841577, \"RMSE\": 7.87966547036827, \"R2\": -14.67643164713968, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.0893539999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.573342996804622, \"RMSE\": 7.572887494545769, \"R2\": -13.674649599158814, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.1012429999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.399764262602937, \"RMSE\": 7.307305033384193, \"R2\": -13.305426773388604, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.1138299999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.2435269592384794, \"RMSE\": 7.069212717011484, \"R2\": -12.166742621467945, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.2177469999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.1105754847518408, \"RMSE\": 6.854541649824586, \"R2\": -11.99216513034567, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.416803 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9569354047226284, \"RMSE\": 6.651479799277566, \"R2\": -11.928129373171446, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.618037 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8537856094930785, \"RMSE\": 6.474036710445056, \"R2\": -11.348131391644102, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.8214119999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.750449728962714, \"RMSE\": 6.305826559379086, \"R2\": -11.120053648606476, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.026924 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.663414115575528, \"RMSE\": 6.151161672136967, \"R2\": -10.85874486639798, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.234147 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.556259025339157, \"RMSE\": 6.003825249623929, \"R2\": -10.671335514866264, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.4420449999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.471571610669061, \"RMSE\": 5.868919367302693, \"R2\": -9.950915405915524, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.6506019999999997 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.379680763039582, \"RMSE\": 5.740715994508566, \"R2\": -8.935993501779443, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.860033 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.293542327214648, \"RMSE\": 5.620383847029998, \"R2\": -8.304713733239236, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.070158 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2170719472274363, \"RMSE\": 5.50775327209046, \"R2\": -7.748060324415055, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.280968 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1605380581247338, \"RMSE\": 5.403051906918496, \"R2\": -7.433320998258445, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.492507 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.093930365363914, \"RMSE\": 5.302901387269021, \"R2\": -7.093810234661742, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.70473 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0590245226095627, \"RMSE\": 5.213512799867119, \"R2\": -7.009651494197669, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.917634 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9976476082662875, \"RMSE\": 5.1231852511763165, \"R2\": -6.925804791819894, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.1312199999999994 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.950641059884997, \"RMSE\": 5.038426259116397, \"R2\": -6.58092298894084, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.3455269999999997 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9139787950639096, \"RMSE\": 4.959092402037442, \"R2\": -6.2321238970256, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.560656999999999 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8644177203659007, \"RMSE\": 4.8815607080230725, \"R2\": -5.87676544995844, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.776474999999999 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8242147858959743, \"RMSE\": 4.808190620674182, \"R2\": -5.62363098938706, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.992974 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7745110240786572, \"RMSE\": 4.737042423784333, \"R2\": -5.530654039159668, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.267744 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.73663030353679, \"RMSE\": 4.669916427921507, \"R2\": -5.51357997146441, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.544746 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.692679144669073, \"RMSE\": 4.604703216269991, \"R2\": -5.472066122280332, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.823995 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6517738073879171, \"RMSE\": 4.542197076044804, \"R2\": -5.293761488897717, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.105493 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6176019850850996, \"RMSE\": 4.482676429973872, \"R2\": -5.196305855003581, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.389141 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5865007641193465, \"RMSE\": 4.425455260516019, \"R2\": -5.066178353973196, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.673523 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5595678531598225, \"RMSE\": 4.370690133148669, \"R2\": -4.970481738375755, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.9679660000000005 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.535948345073891, \"RMSE\": 4.318357063182573, \"R2\": -4.892367885242343, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.2645230000000005 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.509480285222116, \"RMSE\": 4.267276732370252, \"R2\": -4.807214337073276, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.563154000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4815681878661566, \"RMSE\": 4.217864876321593, \"R2\": -4.663732871777943, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.863868000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.452683177817048, \"RMSE\": 4.169823323470254, \"R2\": -4.507942651608292, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 7.276079000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.425504815240136, \"RMSE\": 4.123417367951589, \"R2\": -4.4087270270070205, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 7.880966000000001 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.401135420694234, \"RMSE\": 4.078757160785335, \"R2\": -4.379153600942964, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 8.488067000000001 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3798894262867003, \"RMSE\": 4.035722473386745, \"R2\": -4.310917809364017, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 9.096757 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3578157698337674, \"RMSE\": 3.993911445090692, \"R2\": -4.255827563021541, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 9.706153 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.334955498529068, \"RMSE\": 3.953168904153961, \"R2\": -4.249147855442176, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 10.316233 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3157385915327031, \"RMSE\": 3.913934448961732, \"R2\": -4.232086679588724, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 10.926998 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3145482000473083, \"RMSE\": 3.911980916488244, \"R2\": -4.230354806784151, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 11.537908000000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 30.519429760441792, \"RMSE\": 31.341724959881887, \"R2\": -1263.4547929656037, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.001889 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.93274945698016, \"RMSE\": 23.730069634788823, \"R2\": -595.3856524245364, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.005264 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.671976905269483, \"RMSE\": 19.432784890847977, \"R2\": -261.2719879213097, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.0454959999999999 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.206218788565426, \"RMSE\": 16.83704009498573, \"R2\": -222.1918420065333, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.086209 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.7873677371092, \"RMSE\": 17.69725945175844, \"R2\": -60.138926246201024, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.127302 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.358479420064798, \"RMSE\": 16.54420972880916, \"R2\": -22.032639310332936, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.168766 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.753598876381378, \"RMSE\": 15.536347024393615, \"R2\": -12.613738343052718, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.2106009999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.774706713989955, \"RMSE\": 14.560860647391404, \"R2\": -9.841807755380492, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.252804 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.976543403311107, \"RMSE\": 13.74760854733656, \"R2\": -7.083247758311314, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.295373 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.528406770561816, \"RMSE\": 13.11078583789324, \"R2\": -4.133835882207287, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.338308 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.271666718491515, \"RMSE\": 12.6229442838289, \"R2\": -2.665108536473531, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.38161 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.91845605456336, \"RMSE\": 12.134014714075713, \"R2\": -1.767925975098496, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.425278 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.610383809165891, \"RMSE\": 11.700505099139123, \"R2\": -1.084596952740374, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.469311 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.3485668448406924, \"RMSE\": 11.31852948419668, \"R2\": -0.6578355548574832, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.51371 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.473998962981321, \"RMSE\": 11.222073845492618, \"R2\": -0.3100659276219817, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.558476 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.543521830550948, \"RMSE\": 11.096254270292285, \"R2\": -0.0327566612108853, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.603607 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.493894355635018, \"RMSE\": 10.908553918682982, \"R2\": 0.1827788670738018, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.649102 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.432058292739276, \"RMSE\": 10.739983052449066, \"R2\": 0.3698763337697944, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.6949599999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.530905166315106, \"RMSE\": 10.805387069826963, \"R2\": 0.4741992564876139, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.74118 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.049069109840064, \"RMSE\": 11.46222613381468, \"R2\": 0.4819945238144716, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.7877609999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.185364391622807, \"RMSE\": 11.520615160379734, \"R2\": 0.5523912707049028, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.834703 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.384443509591489, \"RMSE\": 11.759466507882768, \"R2\": 0.6247424700583044, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.882006 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.370825288025247, \"RMSE\": 11.706644644448966, \"R2\": 0.6770052015955412, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.929669 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.997212264968545, \"RMSE\": 12.688148058774216, \"R2\": 0.6533323093865229, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 0.977694 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.45564901988644, \"RMSE\": 13.583827871673952, \"R2\": 0.6503637760490552, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.026082 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.687395226209604, \"RMSE\": 13.953064893865328, \"R2\": 0.6804867014487179, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.074833 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.660171229881424, \"RMSE\": 13.910099225377923, \"R2\": 0.7245931722706233, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.1239519999999998 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.16625719191718, \"RMSE\": 14.612234985526298, \"R2\": 0.7293304097140514, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.1734349999999998 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.250950211093048, \"RMSE\": 17.0718306278326, \"R2\": 0.664728869016383, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.2232849999999995 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.679670450254022, \"RMSE\": 17.65395670255975, \"R2\": 0.6931807697512926, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.3407639999999996 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.873729384474112, \"RMSE\": 17.73873175202587, \"R2\": 0.7226130148559202, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.6983979999999996 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.018541118771262, \"RMSE\": 17.831871437600412, \"R2\": 0.745188204067577, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.057199 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.899574150448762, \"RMSE\": 19.1903382176024, \"R2\": 0.7134289333715201, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.417118 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.408282768986876, \"RMSE\": 20.289550367060546, \"R2\": 0.7055179762102581, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.778154 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.788104615245372, \"RMSE\": 20.897902847676004, \"R2\": 0.7235998101431352, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.140457 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.90822201416442, \"RMSE\": 20.86950621812891, \"R2\": 0.7429865604297317, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.503137 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78564736405168, \"RMSE\": 22.33392717480972, \"R2\": 0.726395986248676, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.866169 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.562464823979756, \"RMSE\": 23.77146138634261, \"R2\": 0.709038397249883, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.229544 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.115712915071189, \"RMSE\": 24.692790084324347, \"R2\": 0.7210130632693055, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.59326 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.290646451171162, \"RMSE\": 24.766775019882367, \"R2\": 0.7392038606135755, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.957315 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.806610158983217, \"RMSE\": 25.37056359629737, \"R2\": 0.7379667599208486, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 5.321708999999999 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.91167446753811, \"RMSE\": 27.489289014578038, \"R2\": 0.711055524573946, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 5.686440999999999 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.69453441784174, \"RMSE\": 28.803034656505247, \"R2\": 0.7198918720890418, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.051508999999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.02591429387984, \"RMSE\": 29.08166628667707, \"R2\": 0.7300944167213836, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.416912999999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.47687089345869, \"RMSE\": 29.604201733284565, \"R2\": 0.7368958634072684, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.782651999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.37032815671457, \"RMSE\": 31.058772984483277, \"R2\": 0.7188231637639817, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.148725999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.096649322747314, \"RMSE\": 32.051830787895724, \"R2\": 0.717419357352562, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.515149999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.88685610593147, \"RMSE\": 33.24610520798377, \"R2\": 0.7266504806846955, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.882236999999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.052957054073875, \"RMSE\": 33.24035912136826, \"R2\": 0.7380286507287471, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.25334 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.046178761536364, \"RMSE\": 34.86098206113683, \"R2\": 0.7207414968982613, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.62558 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.751953045975853, \"RMSE\": 35.78242297978339, \"R2\": 0.7186502822700677, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.998921 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.603432973098663, \"RMSE\": 36.96472548228527, \"R2\": 0.7222689970347711, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 9.373355 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.757667537133976, \"RMSE\": 37.07802525541943, \"R2\": 0.7273605875689941, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 9.748496 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.96628233331211, \"RMSE\": 24.387937149248955, \"R2\": -1394.0974368768457, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.003367 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.95809265443779, \"RMSE\": 17.886947111698607, \"R2\": -127.62867621055317, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.060679 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.43403375286247, \"RMSE\": 15.198987179765494, \"R2\": -124.2101566950438, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.118829 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.76952679896777, \"RMSE\": 13.348146279436204, \"R2\": -95.8714533526398, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.177742 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.318348711169017, \"RMSE\": 11.969856517585775, \"R2\": -47.87667264392048, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.237441 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.2853039116310185, \"RMSE\": 10.94189036106609, \"R2\": -33.648027646243705, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.297866 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.5208355911538485, \"RMSE\": 10.138862242229528, \"R2\": -29.74195117722151, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.359017 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.9080595636493145, \"RMSE\": 9.487746704217276, \"R2\": -22.740310036230184, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.420891 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.437342628193194, \"RMSE\": 8.948953859899, \"R2\": -17.549281500204398, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.483487 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.020740144728086, \"RMSE\": 8.490404067975657, \"R2\": -15.746680942149272, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.546844 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.702540763677515, \"RMSE\": 8.09713522450445, \"R2\": -15.430052960036054, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.610978 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.449057445346116, \"RMSE\": 7.755193128790045, \"R2\": -14.185073150160106, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.675884 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.201640426877581, \"RMSE\": 7.451485247160068, \"R2\": -13.20791735379428, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.741568 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9861522146348123, \"RMSE\": 7.180696949733205, \"R2\": -12.814002869999907, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.808037 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8260389726991693, \"RMSE\": 6.939608203297966, \"R2\": -11.688379207589731, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.926618 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.694730270614988, \"RMSE\": 6.722171113188908, \"R2\": -11.495217468089896, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.215588 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.572442774284147, \"RMSE\": 6.524300196624447, \"R2\": -11.438471282384336, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.5070640000000002 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4832798669216825, \"RMSE\": 6.345294903725613, \"R2\": -10.86190793294698, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.8008990000000002 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.371542642654472, \"RMSE\": 6.177015076243767, \"R2\": -10.629949316856385, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.0970690000000003 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.263251524870982, \"RMSE\": 6.020874949010495, \"R2\": -10.36170885736068, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.4016 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.166901825777709, \"RMSE\": 5.8760767656227735, \"R2\": -10.179937857653265, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.706944 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.102550908901192, \"RMSE\": 5.743886676480224, \"R2\": -9.489284487381322, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.013076 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.036030402550628, \"RMSE\": 5.61908468135586, \"R2\": -8.519416508014515, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.319991 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.965717807967496, \"RMSE\": 5.50138701729293, \"R2\": -7.914879120336785, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.627685 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8948913466896105, \"RMSE\": 5.390446783732167, \"R2\": -7.379388774419297, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.93618 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8304411336225568, \"RMSE\": 5.286008256480869, \"R2\": -7.071904701569496, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.245555 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7733791235095338, \"RMSE\": 5.187623645241403, \"R2\": -6.74573862520947, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.555757000000001 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7328732375480085, \"RMSE\": 5.096231477200102, \"R2\": -6.653340289034931, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.866786000000001 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6922671720641331, \"RMSE\": 5.009032279128942, \"R2\": -6.5765398617523605, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.1996410000000015 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6600221636451291, \"RMSE\": 4.9270067527590165, \"R2\": -6.249341959517198, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.545038000000002 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6169171465584515, \"RMSE\": 4.847662648980224, \"R2\": -5.910766757861972, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.892753000000002 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5787668849144931, \"RMSE\": 4.771995268006674, \"R2\": -5.5715350899413965, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.242777000000002 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.535700232104731, \"RMSE\": 4.69925054984221, \"R2\": -5.326885534626132, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.599796000000002 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5003699975160405, \"RMSE\": 4.630081239411466, \"R2\": -5.239062722957792, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.957619000000002 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4782734303433982, \"RMSE\": 4.565354365023557, \"R2\": -5.225160013321354, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 7.316272000000002 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4563696019956498, \"RMSE\": 4.503833132228122, \"R2\": -5.19161922746511, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 7.675697000000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4392280778003554, \"RMSE\": 4.445645440595998, \"R2\": -5.02903742417401, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.035893000000002 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4073407178561264, \"RMSE\": 4.387021097703184, \"R2\": -4.9346827726614455, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.396854000000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3782504190107006, \"RMSE\": 4.330701361336262, \"R2\": -4.809192109617374, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.758623000000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3571814777264213, \"RMSE\": 4.277370073659861, \"R2\": -4.718248073230613, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.121240000000002 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3328025450945626, \"RMSE\": 4.2253925636382, \"R2\": -4.641399853721709, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.484674000000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.311715211433691, \"RMSE\": 4.175582527272098, \"R2\": -4.560327645533724, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.848922000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2897432923325247, \"RMSE\": 4.127236925138345, \"R2\": -4.422957957045758, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.213983000000002 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2672991203860131, \"RMSE\": 4.080383024210964, \"R2\": -4.274192362897992, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.579853000000002 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2421842209255052, \"RMSE\": 4.03488734209176, \"R2\": -4.178968845613636, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.965988 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.220808929344255, \"RMSE\": 3.991045752926761, \"R2\": -4.15028972045945, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 11.354575 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2057181063421545, \"RMSE\": 3.9494511154557617, \"R2\": -4.0862825167589865, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 11.745471 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.188437369603739, \"RMSE\": 3.9086583836793856, \"R2\": -4.0338431039290805, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.138778 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1710173649101312, \"RMSE\": 3.869039281342956, \"R2\": -4.028105053503917, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.545048 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1544521877618488, \"RMSE\": 3.830602085194232, \"R2\": -4.011663649294047, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.952187 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1537672749321948, \"RMSE\": 3.8287168981917103, \"R2\": -4.010074752320696, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 13.359495 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 30.6062254572366, \"RMSE\": 31.39938120772091, \"R2\": -1268.1112549740517, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.000711 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.412737763681047, \"RMSE\": 23.97862157826266, \"R2\": -607.9443275975191, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.001889 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.119104680903606, \"RMSE\": 19.655410372524667, \"R2\": -267.315679768846, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.003406 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.691588950452092, \"RMSE\": 17.042779535378298, \"R2\": -227.6797328948204, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.00525 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.128477598777668, \"RMSE\": 17.570968714531574, \"R2\": -59.26944361385635, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.007421 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.75565671610116, \"RMSE\": 16.483156797846284, \"R2\": -21.862958739409084, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.009919 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.454334080303978, \"RMSE\": 15.644372833730271, \"R2\": -12.803711937026078, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.012745 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.893519322025275, \"RMSE\": 14.807378680481822, \"R2\": -10.212022929829027, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.015896 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.219705201317108, \"RMSE\": 14.0445461378022, \"R2\": -7.436202462041329, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.019372 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.828389618716818, \"RMSE\": 13.455080798744472, \"R2\": -4.4070097733575375, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.023173 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.61456960864212, \"RMSE\": 13.037583740326507, \"R2\": -2.909846715773841, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.027299 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.52880743945525, \"RMSE\": 12.69008098915324, \"R2\": -2.0274307958032884, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.031782 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.39143583855712, \"RMSE\": 12.35961426350804, \"R2\": -1.3260696348061909, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.036638 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.12180315101294, \"RMSE\": 12.009375103170282, \"R2\": -0.866389387173786, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0418749999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.136940986261356, \"RMSE\": 11.920551719153746, \"R2\": -0.4782218583187949, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0474919999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.284290032332207, \"RMSE\": 11.93362687305613, \"R2\": -0.1945108920445761, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0534829999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.390309464431912, \"RMSE\": 11.903488345267943, \"R2\": 0.0269083954035856, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0598469999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.350219958465262, \"RMSE\": 11.791481226840991, \"R2\": 0.2404518209934976, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.06659 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.499019855105985, \"RMSE\": 11.958125495095471, \"R2\": 0.3560283448388185, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.073713 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.90272187978296, \"RMSE\": 12.527163169679886, \"R2\": 0.3812690011074207, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.081218 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.171291167504233, \"RMSE\": 12.73748746029564, \"R2\": 0.4528394877125938, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.08971 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.37629466014084, \"RMSE\": 13.047657656056804, \"R2\": 0.538024139715424, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.099295 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.440817816219347, \"RMSE\": 13.0964165059942, \"R2\": 0.5957634168273553, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.110134 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.906487060964151, \"RMSE\": 13.855497684527965, \"R2\": 0.5866088718530376, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1222419999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.387009537918406, \"RMSE\": 14.786939232799543, \"R2\": 0.5856869069436603, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1355289999999999 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.701469010841246, \"RMSE\": 15.270898285463774, \"R2\": 0.6172820078624095, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1498919999999999 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.689852199892528, \"RMSE\": 15.284847538688991, \"R2\": 0.6674656839655615, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1772019999999999 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.168487287417785, \"RMSE\": 16.008183102465477, \"R2\": 0.6751444757196481, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2058519999999999 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.085867087734242, \"RMSE\": 18.170753499240718, \"R2\": 0.6201764868699093, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2348879999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.672501856506583, \"RMSE\": 19.05837058612535, \"R2\": 0.6424226539377311, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2642819999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.822446828447037, \"RMSE\": 19.13937756684808, \"R2\": 0.6770787925994421, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2940279999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.055746883990931, \"RMSE\": 19.31213644577825, \"R2\": 0.7011272480618885, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3241269999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.79008745873622, \"RMSE\": 20.396105048894267, \"R2\": 0.6762859401979866, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3545779999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.293199062265238, \"RMSE\": 21.539399675842866, \"R2\": 0.6681199603719434, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3853799999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.740320816630271, \"RMSE\": 22.31102616496048, \"R2\": 0.6849554171717112, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.4261629999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.862968645899144, \"RMSE\": 22.29409698811668, \"R2\": 0.7067005430463744, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.467315 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.699705023283965, \"RMSE\": 23.67314903355933, \"R2\": 0.6925996644733732, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.508826 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.38213993729544, \"RMSE\": 25.048095107979137, \"R2\": 0.6769473375050636, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.55069 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.967894830794286, \"RMSE\": 26.15320189056989, \"R2\": 0.6870368010887093, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.592905 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.10728249235129, \"RMSE\": 26.204092785638924, \"R2\": 0.7080553660644732, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.6354690000000001 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.603016925007317, \"RMSE\": 26.772391386711117, \"R2\": 0.7082099437723521, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.6783830000000001 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.614531201761597, \"RMSE\": 28.786744962703725, \"R2\": 0.6831362914484524, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.7216460000000001 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.48829335200544, \"RMSE\": 30.38515335394973, \"R2\": 0.6882746780375071, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.7652570000000001 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.755002868307955, \"RMSE\": 30.52390276571354, \"R2\": 0.7026599444855313, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.8092140000000001 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.22217092676305, \"RMSE\": 31.08727194033441, \"R2\": 0.7098743070293987, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.8535240000000001 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.03670858216615, \"RMSE\": 32.44431034253017, \"R2\": 0.6931769059461363, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.898204 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.78200415465676, \"RMSE\": 33.496021791915204, \"R2\": 0.6913806254796178, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.943264 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.56258004106143, \"RMSE\": 34.768391171729405, \"R2\": 0.7010449079513538, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.988697 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.68725373887437, \"RMSE\": 34.77075336357408, \"R2\": 0.7133508993505916, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.0345 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.627725892037507, \"RMSE\": 36.32441604878253, \"R2\": 0.6968033114915981, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.080674 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 24.34737619246692, \"RMSE\": 37.30920796407717, \"R2\": 0.6941284720923248, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.127216 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 25.18573737545828, \"RMSE\": 38.51358935872805, \"R2\": 0.698506895988072, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.174127 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 25.27380465992389, \"RMSE\": 38.58852748240754, \"R2\": 0.7046942807227952, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.2212839999999998 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.994354275814885, \"RMSE\": 24.339467027537435, \"R2\": -1388.5575385664913, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.002841 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.808927193108108, \"RMSE\": 17.83271591943186, \"R2\": -126.84988353201342, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.006663 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.864002308096952, \"RMSE\": 15.320672400398038, \"R2\": -126.22308256175272, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.011298 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.882777304938948, \"RMSE\": 13.38981065066765, \"R2\": -96.4771385394691, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.01675 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.231639558854497, \"RMSE\": 11.98203471414171, \"R2\": -47.97617801736401, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.023066 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.334108393931037, \"RMSE\": 10.98237795329033, \"R2\": -33.904913895880355, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.030179 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.563493982833803, \"RMSE\": 10.178707085968126, \"R2\": -29.98405233271513, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.038033 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.002122045077101, \"RMSE\": 9.533278572445496, \"R2\": -22.968717144675637, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.048318 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.587842803317817, \"RMSE\": 9.003737317880292, \"R2\": -17.777085610739057, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.072946 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.458683971614509, \"RMSE\": 8.652080760634158, \"R2\": -16.390543570087573, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.099467 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.239995800771734, \"RMSE\": 8.280452519944822, \"R2\": -16.182419642449048, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.129303 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.943592784264584, \"RMSE\": 7.932077353220182, \"R2\": -14.885669934585447, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.159907 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.7846302486799286, \"RMSE\": 7.646201644169009, \"R2\": -13.96015951270874, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.191262 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.6468171672887713, \"RMSE\": 7.389977926170562, \"R2\": -13.630953412847402, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2233629999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.526112368086922, \"RMSE\": 7.1621871014808685, \"R2\": -12.51535851099468, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2587739999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.5074300839639245, \"RMSE\": 6.985469271455791, \"R2\": -12.493228210862725, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2965239999999999 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.434140699763514, \"RMSE\": 6.814822943627961, \"R2\": -12.570888751300782, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.3365219999999999 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.42722001559718, \"RMSE\": 6.678288393486038, \"R2\": -12.13957341395007, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.3787709999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.332029752839207, \"RMSE\": 6.516115548498917, \"R2\": -11.941900403072644, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.4232519999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.217390968362987, \"RMSE\": 6.356555790563252, \"R2\": -11.66392028459017, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.4696459999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.100825681509746, \"RMSE\": 6.206562691759863, \"R2\": -11.47288048490914, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.516851 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.0187726323631243, \"RMSE\": 6.072312098448126, \"R2\": -10.723095644711892, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.5652379999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.947022825868371, \"RMSE\": 5.94849802587685, \"R2\": -9.668265577306911, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.6161209999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.867282537241402, \"RMSE\": 5.828292237410032, \"R2\": -9.005843404687633, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.6743809999999999 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8281006485905213, \"RMSE\": 5.729646774374514, \"R2\": -8.467133754251039, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.7334769999999999 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.759113137285707, \"RMSE\": 5.623931694381955, \"R2\": -8.136932704030892, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.79343 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.7113951403332286, \"RMSE\": 5.52770300084093, \"R2\": -7.794584318722522, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.8541829999999999 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.646739535451309, \"RMSE\": 5.432090595521053, \"R2\": -7.695343452205655, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.94202 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5972398336076634, \"RMSE\": 5.343168086286508, \"R2\": -7.621065103502998, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.0306859999999998 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.533455116608919, \"RMSE\": 5.255265792942869, \"R2\": -7.247487071141652, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.1202 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.497138699914293, \"RMSE\": 5.178243230235351, \"R2\": -6.88544757519055, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.210495 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4712145738198297, \"RMSE\": 5.107804033669319, \"R2\": -6.528964961790648, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.30153 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.429247896498525, \"RMSE\": 5.0347117637840935, \"R2\": -6.262430681498119, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.3932969999999998 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.398090124502612, \"RMSE\": 4.967521902410674, \"R2\": -6.18160824182094, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.4857959999999997 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.360396901712673, \"RMSE\": 4.90286744871834, \"R2\": -6.1796262474179136, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.5790619999999995 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3150393936015323, \"RMSE\": 4.836721469702358, \"R2\": -6.140716883970916, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.6730619999999998 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.267679208737699, \"RMSE\": 4.77254376860168, \"R2\": -5.948293801048677, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.7677929999999995 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2434173929652075, \"RMSE\": 4.715867112708654, \"R2\": -5.857742612566196, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.863279 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.199009654391343, \"RMSE\": 4.656030786420359, \"R2\": -5.714767077599112, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.959541 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.159659681172017, \"RMSE\": 4.59898830049537, \"R2\": -5.610494506343661, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.056608 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1249482408574707, \"RMSE\": 4.545176313025559, \"R2\": -5.527610390446187, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.175652 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.094058354623314, \"RMSE\": 4.493551443258636, \"R2\": -5.439404045425388, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.37025 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.062104039794744, \"RMSE\": 4.442864622918497, \"R2\": -5.284107374622643, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.565666 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.030706594140141, \"RMSE\": 4.393695684791879, \"R2\": -5.115247638705276, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.761867 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.003263565299311, \"RMSE\": 4.347049681772325, \"R2\": -5.011317673951863, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.958847 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9706878923964863, \"RMSE\": 4.300488305941944, \"R2\": -4.979898179552831, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.156658 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.949819924248383, \"RMSE\": 4.257394252920471, \"R2\": -4.91037086709413, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.355253 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9258186229947107, \"RMSE\": 4.214725843085415, \"R2\": -4.85305905428677, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.554625 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.900426010360992, \"RMSE\": 4.173138113177231, \"R2\": -4.849565137575967, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.754774 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.872733130377695, \"RMSE\": 4.13253797119814, \"R2\": -4.832859832721421, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.955698 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.871510887330926, \"RMSE\": 4.130524228438989, \"R2\": -4.8310671605777085, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 4.156775 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 26.624124996337724, \"RMSE\": 28.77138517975663, \"R2\": -1064.5628215382144, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.000572 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 16.0510878175865, \"RMSE\": 20.931739283093208, \"R2\": -463.0233071270199, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.001645 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.49930786476168, \"RMSE\": 17.564629142555763, \"R2\": -213.26922094451623, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.003059 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.378514545021682, \"RMSE\": 15.405121473747096, \"R2\": -185.84310618709696, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.004809 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.844108697295251, \"RMSE\": 17.128215293517524, \"R2\": -56.27037115396167, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.006892 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.889488781892217, \"RMSE\": 15.88743125142584, \"R2\": -20.24022051627188, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.009306 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.103343480706034, \"RMSE\": 14.91594241381016, \"R2\": -11.548186613409534, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.012052 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.288900850158633, \"RMSE\": 14.011374344891149, \"R2\": -9.0389683228034, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.015129 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.736865157066078, \"RMSE\": 13.281093172283262, \"R2\": -6.543957317046456, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.018712 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.618125386224052, \"RMSE\": 12.858171267844924, \"R2\": -3.9379074608874927, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.022717 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.580936033253089, \"RMSE\": 12.51524762994286, \"R2\": -2.6028352541816, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.027127 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.191573127926202, \"RMSE\": 12.024287681643044, \"R2\": -1.7180920054032294, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.031928 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.001452140019149, \"RMSE\": 11.63905100750295, \"R2\": -1.062756769701151, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0371139999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 6.959260067984971, \"RMSE\": 11.397763679955697, \"R2\": -0.6811278108981134, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0426889999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.036161429677985, \"RMSE\": 11.359538570018056, \"R2\": -0.3423577921849861, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0486539999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.141200516910354, \"RMSE\": 11.407680550849577, \"R2\": -0.0915406328349714, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0550109999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.061965626679777, \"RMSE\": 11.211626858308708, \"R2\": 0.1367382583661435, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0617539999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 6.988600359846859, \"RMSE\": 11.023879576943443, \"R2\": 0.3361231572252737, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0688849999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.115468527113427, \"RMSE\": 11.18859440458875, \"R2\": 0.4362434515233688, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0763959999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.571784360381598, \"RMSE\": 11.99879894105818, \"R2\": 0.4323613497222297, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0842879999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.610536559977233, \"RMSE\": 11.962244483436113, \"R2\": 0.5174164020157423, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0937539999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.753677752144043, \"RMSE\": 12.109970858596688, \"R2\": 0.6020391290764042, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.1045109999999999 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.763402728464486, \"RMSE\": 12.046916639776326, \"R2\": 0.6579556132088519, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.123112 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.37232599699494, \"RMSE\": 12.9382814211091, \"R2\": 0.6395292100633578, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.147917 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.870502401884236, \"RMSE\": 14.03783628218945, \"R2\": 0.6266016212673495, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.173118 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.125553299295866, \"RMSE\": 14.312481045438886, \"R2\": 0.6638140497188074, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.198688 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.11642729851449, \"RMSE\": 14.234872044017685, \"R2\": 0.7115826499817814, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.225283 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.63053955101658, \"RMSE\": 15.01159987060024, \"R2\": 0.7143329631149452, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.252265 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.671899739762464, \"RMSE\": 17.42953249336733, \"R2\": 0.650531972004655, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.279616 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.1135598398273, \"RMSE\": 17.980470366868552, \"R2\": 0.6817264420663893, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.307329 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.368994570730054, \"RMSE\": 18.183536514460908, \"R2\": 0.7085274545262112, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.335405 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.47998520043724, \"RMSE\": 18.216810890558104, \"R2\": 0.7340681346165732, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.363842 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.490995837872443, \"RMSE\": 19.84181186896939, \"R2\": 0.693641639088806, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.392636 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.988870134156189, \"RMSE\": 20.81926805033374, \"R2\": 0.6899406322869175, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4217869999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 13.420579982415202, \"RMSE\": 21.48960215237335, \"R2\": 0.7077263415053474, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4512919999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 13.424816444492956, \"RMSE\": 21.37796604773129, \"R2\": 0.7303103668220552, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.481151 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 14.284688005634004, \"RMSE\": 22.70157511582256, \"R2\": 0.7173140296578691, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.514769 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.038658536726118, \"RMSE\": 24.042516108283174, \"R2\": 0.7023651722582169, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.548784 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.59029009825774, \"RMSE\": 24.916858152232297, \"R2\": 0.7159269075042054, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.583167 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.812702077031824, \"RMSE\": 25.07250049330081, \"R2\": 0.7327254930224041, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.617914 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 16.346042839206106, \"RMSE\": 25.68091484988461, \"R2\": 0.7315167856134144, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.653021 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 17.370765923434053, \"RMSE\": 27.689388199834635, \"R2\": 0.7068336630361484, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.688487 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 18.264179516209435, \"RMSE\": 29.30099868065636, \"R2\": 0.7101227966068765, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.724309 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 18.63502154656571, \"RMSE\": 29.559619400414903, \"R2\": 0.7211497930314269, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.760485 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 19.145243718121584, \"RMSE\": 30.130361606680754, \"R2\": 0.7274603750306702, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.7970149999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 19.98075812634153, \"RMSE\": 31.43770898148617, \"R2\": 0.7119202509985216, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.8338999999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 20.7046141289421, \"RMSE\": 32.42665929478992, \"R2\": 0.7107714616434232, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.8711439999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 21.54126059149082, \"RMSE\": 33.75343345950398, \"R2\": 0.7182443212146572, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.908739 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 21.73603745751772, \"RMSE\": 33.829762552174344, \"R2\": 0.7286559632490104, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.946687 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 22.674609740448528, \"RMSE\": 35.33904665998618, \"R2\": 0.7130297805712756, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.984985 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 23.350956760305525, \"RMSE\": 36.24046007710213, \"R2\": 0.7114012814424304, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.023633 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 24.20743030595361, \"RMSE\": 37.47019278346573, \"R2\": 0.7146215025224946, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.06263 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 24.342328163686027, \"RMSE\": 37.59599019491026, \"R2\": 0.7196900586014492, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.101865 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.806898309502586, \"RMSE\": 26.56763494383828, \"R2\": -1654.6182189603317, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.003003 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.866074912822512, \"RMSE\": 20.957300378156614, \"R2\": -175.5777711351631, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.009504 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.772648582583251, \"RMSE\": 17.555009093750932, \"R2\": -166.03688377592212, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.016813 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.372925375947808, \"RMSE\": 15.758572852966298, \"R2\": -134.01675577859288, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.02489 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.950999863257042, \"RMSE\": 14.807263848606526, \"R2\": -73.79513907078027, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.033777 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.131163180965077, \"RMSE\": 13.743973626529105, \"R2\": -53.66614209724606, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.043434 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.532294463666167, \"RMSE\": 12.93588512414824, \"R2\": -49.04322437944699, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.05944 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.33219708929472, \"RMSE\": 12.40854626547306, \"R2\": -39.60710527883104, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.077842 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.281092452540433, \"RMSE\": 12.043698542516514, \"R2\": -32.597139849683785, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0986229999999999 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.889313429527772, \"RMSE\": 11.548268653424005, \"R2\": -29.98173855178904, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.121857 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.555718436766954, \"RMSE\": 11.115454500430198, \"R2\": -29.96211572526289, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.149384 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.300584612865839, \"RMSE\": 10.768588372618428, \"R2\": -28.278525817685868, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.177703 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.073956995660685, \"RMSE\": 10.455941089275187, \"R2\": -26.97505735848669, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.206834 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.879100927439736, \"RMSE\": 10.179149173565092, \"R2\": -26.75935065850941, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.236782 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.698392466938299, \"RMSE\": 9.935855831167723, \"R2\": -25.01038668400382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.26759 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.496977203333427, \"RMSE\": 9.674599820332077, \"R2\": -24.881575653507443, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.299212 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.319501534649956, \"RMSE\": 9.433800456219284, \"R2\": -25.005937123592886, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3316429999999999 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.189316591643737, \"RMSE\": 9.224778235838508, \"R2\": -24.070488458586468, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3648849999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.05373584315195, \"RMSE\": 9.02603667348878, \"R2\": -23.83217081250324, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3989449999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.893196935767096, \"RMSE\": 8.831009888188627, \"R2\": -23.44247524737401, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4338649999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.787168115685009, \"RMSE\": 8.669033337133486, \"R2\": -23.33356914323267, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4696089999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.789860410241021, \"RMSE\": 8.633597516354541, \"R2\": -22.69832962851382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5061589999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.751464501173282, \"RMSE\": 8.532971696368575, \"R2\": -20.952287666855003, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5516559999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.758413491181221, \"RMSE\": 8.476961067588123, \"R2\": -20.166616413985547, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.599555 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.682950272504451, \"RMSE\": 8.3510488559106, \"R2\": -19.11151854181045, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.6519079999999999 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.627995468360723, \"RMSE\": 8.245754355787446, \"R2\": -18.64179334000355, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.705132 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.546541731300828, \"RMSE\": 8.130789587119862, \"R2\": -18.02792190581397, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.7591289999999999 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.474658569482086, \"RMSE\": 8.019262742277965, \"R2\": -17.95054121046633, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.813877 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.409420416004319, \"RMSE\": 7.920158789530457, \"R2\": -17.94222667017848, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.869386 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.394854582323811, \"RMSE\": 7.870548110777217, \"R2\": -17.498743363524373, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.941553 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.360408122735632, \"RMSE\": 7.801849933723111, \"R2\": -16.900148820132806, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.016153 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.332182524169608, \"RMSE\": 7.745335706289596, \"R2\": -16.312002846243146, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.093294 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.286484086266954, \"RMSE\": 7.672164501241343, \"R2\": -15.864310422998043, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.1728 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.240017672508232, \"RMSE\": 7.591734569529257, \"R2\": -15.77351804027652, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.259908 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.203631741702394, \"RMSE\": 7.526058935068808, \"R2\": -15.917522479350382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.347915 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.198551833398676, \"RMSE\": 7.481861117849272, \"R2\": -16.086729414362967, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.436748 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.200051628353664, \"RMSE\": 7.443314903444159, \"R2\": -15.900950117878589, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.526395 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.146415466772512, \"RMSE\": 7.367313347205083, \"R2\": -15.73695108767244, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.61685 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.164438314106662, \"RMSE\": 7.352756459959702, \"R2\": -15.745558187055655, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.708114 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.199091748701669, \"RMSE\": 7.381485816300255, \"R2\": -16.029304780133675, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.8001699999999998 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.184244405270293, \"RMSE\": 7.343677512392477, \"R2\": -16.040406471643664, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.892982 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.162940711797175, \"RMSE\": 7.295196877254559, \"R2\": -15.972283354719572, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.986541 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.146772746928229, \"RMSE\": 7.251973114148485, \"R2\": -15.742866229030533, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.080851 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.141562534384022, \"RMSE\": 7.225910341165371, \"R2\": -15.54014218136778, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.175912 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.113671043317916, \"RMSE\": 7.181653170625269, \"R2\": -15.40700562565575, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.271722 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.082725756932772, \"RMSE\": 7.134180367835326, \"R2\": -15.456838882747109, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.368328 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.049460198345376, \"RMSE\": 7.092641752853287, \"R2\": -15.403746251323405, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.491683 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.012955702794688, \"RMSE\": 7.041188655025779, \"R2\": -15.335641983730405, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.616037 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.992587411597517, \"RMSE\": 7.002009756347646, \"R2\": -15.46809971530338, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.74122 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.986581819477306, \"RMSE\": 6.97972894589718, \"R2\": -15.638912943338369, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.867218 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.984033991902679, \"RMSE\": 6.9766666383395455, \"R2\": -15.63541499061877, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.993378 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 39.19936706045659, \"RMSE\": 55.118879370280126, \"R2\": -3909.733983269086, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.001533 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.495026158423794, \"RMSE\": 43.23165104261441, \"R2\": -1978.396532834284, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.004589 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 30.680053698816124, \"RMSE\": 39.98506660332775, \"R2\": -1109.3949268723327, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.008788 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 29.375885022911746, \"RMSE\": 37.29886968855784, \"R2\": -1094.3128086885838, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.014141 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.707444751978134, \"RMSE\": 40.753235251415205, \"R2\": -323.21264874535376, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.020635 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.96097441162184, \"RMSE\": 40.14945868859866, \"R2\": -134.64726490280094, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.028271 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.25989567011213, \"RMSE\": 39.82501544894248, \"R2\": -88.45229320906665, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.041195 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.76307262878121, \"RMSE\": 39.802536485586, \"R2\": -80.01195436020778, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.054526 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.66411513705659, \"RMSE\": 39.325402336106926, \"R2\": -65.1420916497486, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.068227 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 34.19940912800194, \"RMSE\": 40.704130728492046, \"R2\": -48.48362457590105, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.082293 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 34.629161705635866, \"RMSE\": 40.92880988729008, \"R2\": -37.53219439908784, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.096719 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 35.29035427006805, \"RMSE\": 41.59178542812187, \"R2\": -31.520750879588867, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.111503 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.23638449140802, \"RMSE\": 42.62018794050648, \"R2\": -26.65945376164948, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.126644 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.72501013289919, \"RMSE\": 42.91835139661213, \"R2\": -22.83677510551845, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.142141 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.731745662210095, \"RMSE\": 42.91744223234227, \"R2\": -18.16084111691443, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.157996 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 37.94402632003076, \"RMSE\": 44.39720610255875, \"R2\": -15.5331835318136, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.174208 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 38.69858083339784, \"RMSE\": 45.06856008203835, \"R2\": -12.949305609255877, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.190776 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 40.18624064352699, \"RMSE\": 46.68267333461602, \"R2\": -10.905017439998025, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.2077 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 40.85432327682653, \"RMSE\": 47.463811090322665, \"R2\": -9.145320047375163, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.224978 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 41.36451127701117, \"RMSE\": 48.41262940233051, \"R2\": -8.240888884363313, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.24261 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 42.17342712408468, \"RMSE\": 49.46918668675267, \"R2\": -7.253093192412523, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.260594 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 43.81461612103895, \"RMSE\": 51.73551020684679, \"R2\": -6.2632609796369465, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.27893 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 44.90819615603068, \"RMSE\": 53.07334253773936, \"R2\": -5.6387075541588505, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.297618 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 46.45334973048907, \"RMSE\": 55.82244674340302, \"R2\": -5.710187070138379, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3166589999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 48.05643802527038, \"RMSE\": 58.804796990371536, \"R2\": -5.552357606253864, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3360539999999999 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 49.41721923566732, \"RMSE\": 60.72765972830183, \"R2\": -5.052332799264802, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3558019999999999 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 51.23299901747073, \"RMSE\": 63.29154255446438, \"R2\": -4.701716347098143, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3759049999999999 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 52.82583967659276, \"RMSE\": 65.36972550348784, \"R2\": -4.417008197806662, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3963679999999999 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 54.851023886215806, \"RMSE\": 70.45860717413167, \"R2\": -4.71089374971376, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4171839999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 56.58220488738844, \"RMSE\": 72.62689780553444, \"R2\": -4.192702597603254, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4383529999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 58.456862484765374, \"RMSE\": 75.26810540469758, \"R2\": -3.994165343488624, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4598799999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 59.98229295122657, \"RMSE\": 76.97767263775137, \"R2\": -3.748486775975887, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4817619999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 61.989108820835376, \"RMSE\": 80.62951920841103, \"R2\": -4.0588898392459045, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.503996 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 63.93796840595574, \"RMSE\": 84.48840832488506, \"R2\": -4.106322034628877, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.526584 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 65.15236861414519, \"RMSE\": 85.79755918852514, \"R2\": -3.6588935912158114, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.551564 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 66.90365663892747, \"RMSE\": 87.9249329113371, \"R2\": -3.562003118430529, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.5777180000000001 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 68.17917622540308, \"RMSE\": 89.58756462611774, \"R2\": -3.402382103640547, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.6050150000000001 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 70.80702754948452, \"RMSE\": 94.96753809429286, \"R2\": -3.643808228470034, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.6334650000000001 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 72.44730173566225, \"RMSE\": 97.09455233033468, \"R2\": -3.313534410167211, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.663057 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 74.29167351363806, \"RMSE\": 99.40774027870644, \"R2\": -3.201483315326532, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.693783 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 75.83174494284101, \"RMSE\": 101.77506329990584, \"R2\": -3.216760347648722, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.725638 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 78.5111288104629, \"RMSE\": 106.99570126481906, \"R2\": -3.3774383617967887, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.758621 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 81.63741116996734, \"RMSE\": 112.58139375423264, \"R2\": -3.2793958269429844, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.79391 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 82.66628549198501, \"RMSE\": 113.50934761838604, \"R2\": -3.1118432523868984, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.829617 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 84.40016304476833, \"RMSE\": 116.34990208847, \"R2\": -3.0639935553557365, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.865723 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 86.52132256561038, \"RMSE\": 120.30772815943004, \"R2\": -3.2188880650982723, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.902224 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 87.79244029751037, \"RMSE\": 121.63869088166206, \"R2\": -3.069866847809537, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.93912 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 90.43735682351402, \"RMSE\": 126.62066541565774, \"R2\": -2.9650251625135784, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.976398 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 91.59763342322412, \"RMSE\": 127.6295949640952, \"R2\": -2.862114672867245, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.014034 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 93.80067010965053, \"RMSE\": 131.39026699356185, \"R2\": -2.966921087845916, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.0520230000000002 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 96.52355815418714, \"RMSE\": 136.33091173427522, \"R2\": -3.0840934586689466, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.0903630000000002 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 99.60515399822415, \"RMSE\": 141.80943605664237, \"R2\": -3.0875177525301325, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.129055 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 100.62422612381133, \"RMSE\": 143.06646930774232, \"R2\": -3.0591132110693486, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.167982 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 48.24517612267716, \"RMSE\": 65.52170729560882, \"R2\": -10068.892101934754, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0014 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.96170708962665, \"RMSE\": 54.398737007050464, \"R2\": -1188.715138210959, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0037089999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 37.75687919715097, \"RMSE\": 48.78450375470138, \"R2\": -1288.953469480389, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0068 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 34.906129137913965, \"RMSE\": 44.99379649673769, \"R2\": -1099.675197364534, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.010662 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.91700787894482, \"RMSE\": 42.88559259598606, \"R2\": -626.4029768570122, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0153429999999999 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.25318798467783, \"RMSE\": 41.41783833748641, \"R2\": -495.442160460349, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0207979999999999 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 32.454169303664, \"RMSE\": 40.06534641626261, \"R2\": -479.0547686921885, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0270209999999999 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.456143135335843, \"RMSE\": 38.757475924320815, \"R2\": -395.1605214699538, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0340139999999999 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.609503890456164, \"RMSE\": 37.605439707525925, \"R2\": -326.55474603918685, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0417749999999999 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.18524212396377, \"RMSE\": 36.915721425331306, \"R2\": -315.5882175367347, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0503299999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.065472528043387, \"RMSE\": 36.44442035805252, \"R2\": -331.8421153382835, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0596439999999999 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.78865598017145, \"RMSE\": 35.91292614465666, \"R2\": -324.6366197799479, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0697149999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.781114432924586, \"RMSE\": 35.79236523689611, \"R2\": -326.81251307944893, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.0853099999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.53323842574737, \"RMSE\": 35.35890478021234, \"R2\": -333.95306350592915, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1033029999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.45783145374521, \"RMSE\": 35.09485674586195, \"R2\": -323.506345927368, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1237949999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.587592426740265, \"RMSE\": 34.99099947403571, \"R2\": -337.56135797788454, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1466579999999999 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.592186767063264, \"RMSE\": 34.82748458593961, \"R2\": -353.4405109424598, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.178415 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.81187133621213, \"RMSE\": 34.87255971663822, \"R2\": -357.27671195740294, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2110159999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.96085998978186, \"RMSE\": 34.8837386376585, \"R2\": -369.9082961036221, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2444429999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.10861760053803, \"RMSE\": 34.89146879370085, \"R2\": -380.5600928496674, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2787509999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.237056214581205, \"RMSE\": 34.87113676993804, \"R2\": -392.72834237954817, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3138979999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.396870134836657, \"RMSE\": 34.919939008119975, \"R2\": -386.68686883790514, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3498769999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.5142090152444, \"RMSE\": 34.936230377424984, \"R2\": -366.9859696545672, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3866269999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.60304766371323, \"RMSE\": 34.90556469597589, \"R2\": -357.88920799289923, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4241359999999999 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.723498435612367, \"RMSE\": 34.929338036322235, \"R2\": -350.83863344189655, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.462404 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.811640107301315, \"RMSE\": 34.91688659850233, \"R2\": -351.20164208687333, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5014689999999999 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.90684609870959, \"RMSE\": 34.93305250730057, \"R2\": -350.23597283973027, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.541291 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.83222834631613, \"RMSE\": 34.80844611918478, \"R2\": -356.0442181025925, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.58187 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.81214247339674, \"RMSE\": 34.7464796172207, \"R2\": -363.5733105101423, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.629234 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.96266506693229, \"RMSE\": 34.82326914665847, \"R2\": -361.1357082485383, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.6774979999999999 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.066025409450507, \"RMSE\": 34.86865150113252, \"R2\": -356.54586556020155, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.743837 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.17687176552783, \"RMSE\": 34.929241693507976, \"R2\": -351.0830657253844, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.810979 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.17965741293356, \"RMSE\": 34.892251240403844, \"R2\": -347.8114699445998, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.87889 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.2564554130016, \"RMSE\": 34.924087575336145, \"R2\": -353.970503405387, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.947564 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.205643809070587, \"RMSE\": 34.8991435368638, \"R2\": -362.7735100050666, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.017054 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.176512353694505, \"RMSE\": 34.84497410939031, \"R2\": -369.6124031875757, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.087302 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.10578554229227, \"RMSE\": 34.74995813099662, \"R2\": -367.37224871607793, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.158309 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.047274834607855, \"RMSE\": 34.691812272848594, \"R2\": -370.11801689051305, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.23401 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.10380007346799, \"RMSE\": 34.703384372728905, \"R2\": -372.0292841604823, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.319073 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.08555480002386, \"RMSE\": 34.670374973731704, \"R2\": -374.68721566223496, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.406663 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.19885148971359, \"RMSE\": 34.750222550469864, \"R2\": -380.56447731408525, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.496625 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.25463715565584, \"RMSE\": 34.7657556157579, \"R2\": -384.4513633760299, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.5889890000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.316317159155098, \"RMSE\": 34.79186578621207, \"R2\": -384.3655387384781, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.693075 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.241979864666277, \"RMSE\": 34.706915019978055, \"R2\": -380.5804591262153, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.065505 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.224226006229813, \"RMSE\": 34.673719949901624, \"R2\": -381.4558834892021, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.440347 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.14134426690263, \"RMSE\": 34.58836614994504, \"R2\": -385.8283921715467, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.817664 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.997921544748237, \"RMSE\": 34.45657797481166, \"R2\": -386.1428842704396, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.197344 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.060400411885407, \"RMSE\": 34.566740304864304, \"R2\": -392.6960879419034, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.57811 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.96911325529305, \"RMSE\": 34.515642414657464, \"R2\": -399.1566023636026, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.959721 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.09609109084082, \"RMSE\": 34.63142513356851, \"R2\": -408.6269881777103, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 4.342153 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.093334457100017, \"RMSE\": 34.62570772928248, \"R2\": -408.7651443035993, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 4.724752 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.6439393939393945, \"RMSE\": 12.708027567111456, \"R2\": -206.8805289598106, \"Memory in Mb\": 0.0208587646484375, \"Time in s\": 0.001745 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7674242424242426, \"RMSE\": 9.021574170013263, \"R2\": -85.19732920009746, \"Memory in Mb\": 0.0300941467285156, \"Time in s\": 0.005817 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3601010101010105, \"RMSE\": 7.4346315168437105, \"R2\": -37.38846247874159, \"Memory in Mb\": 0.0395355224609375, \"Time in s\": 0.012524 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 1.988257575757577, \"RMSE\": 6.459864921032004, \"R2\": -31.8544119108943, \"Memory in Mb\": 0.0488433837890625, \"Time in s\": 0.023287 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.201515151515152, \"RMSE\": 6.079045396219125, \"R2\": -6.214006750846093, \"Memory in Mb\": 0.0583724975585937, \"Time in s\": 0.035467 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.2709595959595963, \"RMSE\": 5.693634951086079, \"R2\": -1.7279153546475992, \"Memory in Mb\": 0.0685691833496093, \"Time in s\": 0.049542 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.6114718614718617, \"RMSE\": 5.706903555891601, \"R2\": -0.8368793810695487, \"Memory in Mb\": 0.0782623291015625, \"Time in s\": 0.068809 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.5236742424242427, \"RMSE\": 5.412016943708686, \"R2\": -0.4977726858852578, \"Memory in Mb\": 0.0879554748535156, \"Time in s\": 0.099298 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.4695286195286204, \"RMSE\": 5.169211114529652, \"R2\": -0.1428260058474422, \"Memory in Mb\": 0.0976486206054687, \"Time in s\": 0.132347 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7553030303030317, \"RMSE\": 5.269495069058163, \"R2\": 0.1706792355598563, \"Memory in Mb\": 0.1073417663574218, \"Time in s\": 0.167959 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.1511019283746564, \"RMSE\": 5.580125306741311, \"R2\": 0.2837685080447375, \"Memory in Mb\": 0.117034912109375, \"Time in s\": 0.206371 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.315782828282829, \"RMSE\": 5.649452649212155, \"R2\": 0.3999904226030885, \"Memory in Mb\": 0.1272315979003906, \"Time in s\": 0.248032 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.6019813519813537, \"RMSE\": 5.868270501527574, \"R2\": 0.475635686274607, \"Memory in Mb\": 0.1369247436523437, \"Time in s\": 0.313422 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.745995670995673, \"RMSE\": 5.964828521670115, \"R2\": 0.5395766265984425, \"Memory in Mb\": 0.1466178894042968, \"Time in s\": 0.409887 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.050202020202021, \"RMSE\": 6.4542180762994805, \"R2\": 0.5666546129487657, \"Memory in Mb\": 0.15631103515625, \"Time in s\": 0.575073 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.420928030303032, \"RMSE\": 6.954884488253524, \"R2\": 0.5942812793055753, \"Memory in Mb\": 0.1660041809082031, \"Time in s\": 0.746583 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.757664884135474, \"RMSE\": 7.278917476631412, \"R2\": 0.6361362300357987, \"Memory in Mb\": 0.1756973266601562, \"Time in s\": 0.922657 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 5.192340067340069, \"RMSE\": 7.767087259749381, \"R2\": 0.6704396407154757, \"Memory in Mb\": 0.1858940124511718, \"Time in s\": 1.103506 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 5.571690590111645, \"RMSE\": 8.414476478500024, \"R2\": 0.6811438926382001, \"Memory in Mb\": 0.195587158203125, \"Time in s\": 1.289988 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 6.017651515151518, \"RMSE\": 9.535434778453542, \"R2\": 0.641509702161033, \"Memory in Mb\": 0.2052803039550781, \"Time in s\": 1.481758 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 6.514646464646468, \"RMSE\": 10.15268578355149, \"R2\": 0.652376522878304, \"Memory in Mb\": 0.2149734497070312, \"Time in s\": 1.688886 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.006955922865016, \"RMSE\": 10.883499074839364, \"R2\": 0.6785664047839641, \"Memory in Mb\": 0.2246665954589843, \"Time in s\": 1.905808 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.401119894598158, \"RMSE\": 11.259257694820905, \"R2\": 0.7012209269570091, \"Memory in Mb\": 0.2343597412109375, \"Time in s\": 2.129833 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.873800505050509, \"RMSE\": 12.237701558545494, \"R2\": 0.6775097363055258, \"Memory in Mb\": 0.2446098327636718, \"Time in s\": 2.3598440000000003 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 8.501393939393942, \"RMSE\": 13.456617650281162, \"R2\": 0.6568816796501455, \"Memory in Mb\": 0.254302978515625, \"Time in s\": 2.605392 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 8.999592074592076, \"RMSE\": 14.081405883193678, \"R2\": 0.6745818706784585, \"Memory in Mb\": 0.2639961242675781, \"Time in s\": 2.8696780000000004 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 9.403647586980924, \"RMSE\": 14.487230370517851, \"R2\": 0.7012657763253116, \"Memory in Mb\": 0.2736892700195312, \"Time in s\": 3.1592620000000005 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 9.82559523809524, \"RMSE\": 15.247017337775036, \"R2\": 0.7053028346163965, \"Memory in Mb\": 0.2833824157714844, \"Time in s\": 3.471445000000001 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 10.570794148380358, \"RMSE\": 17.082267622288043, \"R2\": 0.6643188025566307, \"Memory in Mb\": 0.2930755615234375, \"Time in s\": 3.895766000000001 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 11.342676767676773, \"RMSE\": 18.20491056057454, \"R2\": 0.6737311884314376, \"Memory in Mb\": 0.3032722473144531, \"Time in s\": 4.333389 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 11.75625610948192, \"RMSE\": 18.5968301788559, \"R2\": 0.6951271166039881, \"Memory in Mb\": 0.3129653930664062, \"Time in s\": 4.790776 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 12.16955492424243, \"RMSE\": 18.94133239132977, \"R2\": 0.7124941202708752, \"Memory in Mb\": 0.3226585388183594, \"Time in s\": 5.260338 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 12.609595959595964, \"RMSE\": 19.7022738973151, \"R2\": 0.6979354313341102, \"Memory in Mb\": 0.3323516845703125, \"Time in s\": 5.750168 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 13.251024955436726, \"RMSE\": 20.7851367099449, \"R2\": 0.6909564285254863, \"Memory in Mb\": 0.3420448303222656, \"Time in s\": 6.251716 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78255411255412, \"RMSE\": 21.481025974379733, \"R2\": 0.7079595790244884, \"Memory in Mb\": 0.3522415161132812, \"Time in s\": 6.769761 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 14.010311447811455, \"RMSE\": 21.53574862211497, \"R2\": 0.7263147242326703, \"Memory in Mb\": 0.3619346618652344, \"Time in s\": 7.297159 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 14.576126126126132, \"RMSE\": 22.56379182999173, \"R2\": 0.720735043690873, \"Memory in Mb\": 0.3716278076171875, \"Time in s\": 7.841892 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 15.256658692185017, \"RMSE\": 23.708044463333223, \"R2\": 0.710588766956741, \"Memory in Mb\": 0.38134765625, \"Time in s\": 8.4256 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 15.863597513597522, \"RMSE\": 24.650993900023582, \"R2\": 0.7219567169230845, \"Memory in Mb\": 0.3910675048828125, \"Time in s\": 9.118776 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 16.15655303030304, \"RMSE\": 24.89490243600041, \"R2\": 0.7364984966983625, \"Memory in Mb\": 0.4007606506347656, \"Time in s\": 9.83444 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 16.474242424242437, \"RMSE\": 25.235361878916876, \"R2\": 0.7407521096740679, \"Memory in Mb\": 0.4109573364257812, \"Time in s\": 10.564263 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 17.206240981241, \"RMSE\": 26.51959634874256, \"R2\": 0.731081178462164, \"Memory in Mb\": 0.4206771850585937, \"Time in s\": 11.311639 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.061486962649766, \"RMSE\": 27.919441407022266, \"R2\": 0.7368140706560946, \"Memory in Mb\": 0.430450439453125, \"Time in s\": 12.077289 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.444800275482105, \"RMSE\": 28.396609389438456, \"R2\": 0.742660608098584, \"Memory in Mb\": 0.4401702880859375, \"Time in s\": 12.86575 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.85067340067341, \"RMSE\": 28.917019336286597, \"R2\": 0.7489686179689856, \"Memory in Mb\": 0.4499168395996094, \"Time in s\": 13.665871 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 19.39739789196312, \"RMSE\": 29.705616030262235, \"R2\": 0.7427898649120724, \"Memory in Mb\": 2.5872955322265625, \"Time in s\": 16.820609 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 20.115441650548043, \"RMSE\": 30.73530324863436, \"R2\": 0.7401565757784102, \"Memory in Mb\": 2.6296463012695312, \"Time in s\": 20.027458000000003 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 20.836142676767683, \"RMSE\": 31.98623382904741, \"R2\": 0.7469752640852343, \"Memory in Mb\": 2.6746597290039062, \"Time in s\": 23.267231 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 21.017594310451457, \"RMSE\": 32.125858524254696, \"R2\": 0.7553011842320496, \"Memory in Mb\": 2.717792510986328, \"Time in s\": 26.555547000000004 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 21.677242424242426, \"RMSE\": 32.83678407493398, \"R2\": 0.7522301799631583, \"Memory in Mb\": 2.769092559814453, \"Time in s\": 29.885669000000004 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 22.80977421271539, \"RMSE\": 35.198755082788004, \"R2\": 0.727753941720713, \"Memory in Mb\": 2.8112449645996094, \"Time in s\": 33.249092000000005 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 24.195600233100237, \"RMSE\": 38.25560047694445, \"R2\": 0.7025325582791198, \"Memory in Mb\": 2.857513427734375, \"Time in s\": 36.653026 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 24.84062860438293, \"RMSE\": 39.201635479156685, \"R2\": 0.6952358931227007, \"Memory in Mb\": 2.885215759277344, \"Time in s\": 40.087818000000006 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.554585433333335, \"RMSE\": 9.794739803036965, \"R2\": -224.02989290855143, \"Memory in Mb\": 0.0335884094238281, \"Time in s\": 0.001545 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7993247666666672, \"RMSE\": 6.973235588114817, \"R2\": -18.54942689237887, \"Memory in Mb\": 0.0554847717285156, \"Time in s\": 0.0054 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.366773144444445, \"RMSE\": 5.705236645726316, \"R2\": -16.642396889136542, \"Memory in Mb\": 0.0773544311523437, \"Time in s\": 0.012332 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1277757833333335, \"RMSE\": 4.947712433075743, \"R2\": -12.30953248968821, \"Memory in Mb\": 0.0997543334960937, \"Time in s\": 0.028826 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.046201766666667, \"RMSE\": 4.439862929674892, \"R2\": -5.724544452799038, \"Memory in Mb\": 0.1216506958007812, \"Time in s\": 0.050318 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.000865705555556, \"RMSE\": 4.0744555355418335, \"R2\": -3.804331488196434, \"Memory in Mb\": 0.1435470581054687, \"Time in s\": 0.086896 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9447764619047624, \"RMSE\": 3.7809361134406254, \"R2\": -3.275153002458012, \"Memory in Mb\": 0.1659469604492187, \"Time in s\": 0.149837 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9352969166666673, \"RMSE\": 3.5531790499707645, \"R2\": -2.329617982408036, \"Memory in Mb\": 0.1878433227539062, \"Time in s\": 0.2304459999999999 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9445764925925928, \"RMSE\": 3.380979243961517, \"R2\": -1.647692611170827, \"Memory in Mb\": 0.2097396850585937, \"Time in s\": 0.432465 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9456943733333336, \"RMSE\": 3.232789339199984, \"R2\": -1.427877878808435, \"Memory in Mb\": 0.2321395874023437, \"Time in s\": 0.648003 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9124697575757575, \"RMSE\": 3.0919339165015143, \"R2\": -1.3957229068060464, \"Memory in Mb\": 0.2540359497070312, \"Time in s\": 0.888162 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9329223611111108, \"RMSE\": 2.985727855147271, \"R2\": -1.2507750530936188, \"Memory in Mb\": 0.2759323120117187, \"Time in s\": 1.171554 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9025974717948716, \"RMSE\": 2.873740673763463, \"R2\": -1.11319648675526, \"Memory in Mb\": 0.2984657287597656, \"Time in s\": 1.484213 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8654126523809523, \"RMSE\": 2.773524640439575, \"R2\": -1.0608690746642817, \"Memory in Mb\": 0.3203620910644531, \"Time in s\": 1.81098 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8525042622222223, \"RMSE\": 2.688069339615046, \"R2\": -0.9037818439458584, \"Memory in Mb\": 0.3422584533691406, \"Time in s\": 2.170241 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8265282395833334, \"RMSE\": 2.6077957497476296, \"R2\": -0.880493509713772, \"Memory in Mb\": 0.3646583557128906, \"Time in s\": 2.558101 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8137511019607846, \"RMSE\": 2.539210136300266, \"R2\": -0.8840673465916704, \"Memory in Mb\": 0.3865547180175781, \"Time in s\": 3.13755 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7887328240740744, \"RMSE\": 2.4696835584739105, \"R2\": -0.7969398815662787, \"Memory in Mb\": 0.4084510803222656, \"Time in s\": 3.744079 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7710879228070179, \"RMSE\": 2.4087271831437693, \"R2\": -0.7684619785143365, \"Memory in Mb\": 0.4303474426269531, \"Time in s\": 4.380375 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.756179386666667, \"RMSE\": 2.351105641867075, \"R2\": -0.7324819925835522, \"Memory in Mb\": 0.4527473449707031, \"Time in s\": 5.04744 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7300392539682541, \"RMSE\": 2.295700426816902, \"R2\": -0.7064552265553199, \"Memory in Mb\": 0.4746437072753906, \"Time in s\": 5.735437 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7180258560606063, \"RMSE\": 2.24592493832078, \"R2\": -0.6037054809307543, \"Memory in Mb\": 0.4965400695800781, \"Time in s\": 6.669957 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7103659666666668, \"RMSE\": 2.200554873752302, \"R2\": -0.4599688187191526, \"Memory in Mb\": 0.5189399719238281, \"Time in s\": 7.633919000000001 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6905233472222223, \"RMSE\": 2.1551860359584523, \"R2\": -0.3681716631920215, \"Memory in Mb\": 0.5408363342285156, \"Time in s\": 8.635162000000001 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6835753693333335, \"RMSE\": 2.11616682722306, \"R2\": -0.2914054626850582, \"Memory in Mb\": 2.70669937133789, \"Time in s\": 12.111573000000002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6741869282051286, \"RMSE\": 2.077523623184556, \"R2\": -0.2468444979074313, \"Memory in Mb\": 2.7946739196777344, \"Time in s\": 15.640183000000002 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6635047197530868, \"RMSE\": 2.0412653603832838, \"R2\": -0.1992917531598592, \"Memory in Mb\": 2.8836631774902344, \"Time in s\": 19.224183000000004 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6666769047619049, \"RMSE\": 2.01181749557566, \"R2\": -0.1926963577893738, \"Memory in Mb\": 2.973125457763672, \"Time in s\": 22.863484000000003 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.662313208045977, \"RMSE\": 1.9804661409620816, \"R2\": -0.1843991731259868, \"Memory in Mb\": 3.06191635131836, \"Time in s\": 26.560120000000005 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6595208444444446, \"RMSE\": 1.9515625148224915, \"R2\": -0.1373580524839326, \"Memory in Mb\": 3.158283233642578, \"Time in s\": 30.31408200000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6603871010752689, \"RMSE\": 1.924909501402362, \"R2\": -0.0896376201735813, \"Memory in Mb\": 3.248737335205078, \"Time in s\": 34.12595900000001 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6518434010416667, \"RMSE\": 1.8967107462711992, \"R2\": -0.0381713320833934, \"Memory in Mb\": 3.341320037841797, \"Time in s\": 37.99311800000001 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6481796161616163, \"RMSE\": 1.873162681009878, \"R2\": -0.00527242303062, \"Memory in Mb\": 3.435527801513672, \"Time in s\": 41.91854100000001 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6594073715686274, \"RMSE\": 1.8574009428793896, \"R2\": -0.0040456355040212, \"Memory in Mb\": 3.5269508361816406, \"Time in s\": 45.90599500000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6619153695238096, \"RMSE\": 1.8376987056605067, \"R2\": -0.0086724321908719, \"Memory in Mb\": 3.615283966064453, \"Time in s\": 49.957909000000015 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6538050537037038, \"RMSE\": 1.8142062090777376, \"R2\": -0.0046457590045041, \"Memory in Mb\": 3.7059364318847656, \"Time in s\": 54.07172000000001 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6437102684684685, \"RMSE\": 1.7904191974020045, \"R2\": 0.0221149973980568, \"Memory in Mb\": 3.8005104064941406, \"Time in s\": 58.24412800000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6465423666666668, \"RMSE\": 1.7722456151874884, \"R2\": 0.0314860408387392, \"Memory in Mb\": 3.89126205444336, \"Time in s\": 62.47501600000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6423591829059828, \"RMSE\": 1.752432393946061, \"R2\": 0.0487781645727875, \"Memory in Mb\": 3.987659454345703, \"Time in s\": 66.76475200000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6415445258333332, \"RMSE\": 1.7335108155585357, \"R2\": 0.0607905571401552, \"Memory in Mb\": 4.087154388427734, \"Time in s\": 71.11932700000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.641812437398374, \"RMSE\": 1.7198679523833968, \"R2\": 0.0653630129096917, \"Memory in Mb\": 4.179523468017578, \"Time in s\": 75.53533700000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6391550126984127, \"RMSE\": 1.7023246638821516, \"R2\": 0.0758317950759702, \"Memory in Mb\": 4.276576995849609, \"Time in s\": 80.015814 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6397551612403103, \"RMSE\": 1.6865214638981003, \"R2\": 0.0944734629735503, \"Memory in Mb\": 4.372867584228516, \"Time in s\": 84.56990800000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6401663234848486, \"RMSE\": 1.6719359262678322, \"R2\": 0.1144902218209267, \"Memory in Mb\": 4.465221405029297, \"Time in s\": 89.18993400000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6373928251851855, \"RMSE\": 1.6559913256631793, \"R2\": 0.1276383063389357, \"Memory in Mb\": 4.558887481689453, \"Time in s\": 93.877546 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6333341724637681, \"RMSE\": 1.6410816825275083, \"R2\": 0.1291995533352813, \"Memory in Mb\": 4.652858734130859, \"Time in s\": 98.626246 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.637460545390071, \"RMSE\": 1.630772212254164, \"R2\": 0.1328113217779126, \"Memory in Mb\": 4.746517181396484, \"Time in s\": 103.437785 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6446958777777775, \"RMSE\": 1.6213030711335543, \"R2\": 0.1338907909289651, \"Memory in Mb\": 4.844425201416016, \"Time in s\": 108.312072 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.643768610068027, \"RMSE\": 1.6085965270907718, \"R2\": 0.1308548353743899, \"Memory in Mb\": 4.935100555419922, \"Time in s\": 113.251739 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6420156240666665, \"RMSE\": 1.59493855356346, \"R2\": 0.1311681221050482, \"Memory in Mb\": 5.030651092529297, \"Time in s\": 118.255967 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6416785025641023, \"RMSE\": 1.5941707450098015, \"R2\": 0.1314249186277071, \"Memory in Mb\": 5.032634735107422, \"Time in s\": 123.301096 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.042756132756132, \"RMSE\": 17.336048579080593, \"R2\": -385.8634917094176, \"Memory in Mb\": 0.0162086486816406, \"Time in s\": 0.002632 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.456785613727984, \"RMSE\": 12.282422261556867, \"R2\": -158.770726389092, \"Memory in Mb\": 0.0177879333496093, \"Time in s\": 0.007319 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4353973358733074, \"RMSE\": 10.07037651743448, \"R2\": -69.4325218162971, \"Memory in Mb\": 0.0230522155761718, \"Time in s\": 0.013907 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.736909422894262, \"RMSE\": 8.732393473100391, \"R2\": -59.03623058514604, \"Memory in Mb\": 0.0241050720214843, \"Time in s\": 0.0217009999999999 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.788577579622257, \"RMSE\": 8.074088551816661, \"R2\": -11.726025456653014, \"Memory in Mb\": 0.0309486389160156, \"Time in s\": 0.0303349999999999 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.395880085598137, \"RMSE\": 7.878422021930021, \"R2\": -4.223121571879303, \"Memory in Mb\": 0.0404243469238281, \"Time in s\": 0.040093 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.889526501621088, \"RMSE\": 7.800910386370324, \"R2\": -2.432180745921895, \"Memory in Mb\": 0.0467414855957031, \"Time in s\": 0.0511699999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.072650698433535, \"RMSE\": 7.572197783925699, \"R2\": -1.9320509270116557, \"Memory in Mb\": 0.0525321960449218, \"Time in s\": 0.0635609999999999 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.410984939713907, \"RMSE\": 7.55185413515251, \"R2\": -1.439151418709002, \"Memory in Mb\": 0.0535850524902343, \"Time in s\": 0.0772419999999999 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.370948473977548, \"RMSE\": 7.327634340090197, \"R2\": -0.6036593212329582, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.0921019999999999 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.401973824893138, \"RMSE\": 7.197046558152955, \"R2\": -0.1914453698838978, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.1081669999999999 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.283071400630936, \"RMSE\": 6.979735895990854, \"R2\": 0.0841519683549982, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.1323959999999999 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.169649051526778, \"RMSE\": 6.77851615807502, \"R2\": 0.3003478880703081, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.1602449999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.107721988217097, \"RMSE\": 6.620782354691122, \"R2\": 0.4327427443050297, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.1914819999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.386134129138624, \"RMSE\": 6.8739888422895685, \"R2\": 0.5084535624523276, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.2319989999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.592324836010107, \"RMSE\": 7.0395287886899816, \"R2\": 0.5843455987500039, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.273788 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.658423416973056, \"RMSE\": 7.057579140031887, \"R2\": 0.6579286220132116, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.316974 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.6782517314261085, \"RMSE\": 7.042640058036562, \"R2\": 0.7290497323677609, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.361531 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.896652959256127, \"RMSE\": 7.410861778989444, \"R2\": 0.7526693351807108, \"Memory in Mb\": 0.0217466354370117, \"Time in s\": 0.409543 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.507880191409123, \"RMSE\": 8.546476599974424, \"R2\": 0.7120144996082314, \"Memory in Mb\": 0.0280637741088867, \"Time in s\": 0.458317 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.703958017872014, \"RMSE\": 8.760797449465004, \"R2\": 0.7411581545051223, \"Memory in Mb\": 0.0333280563354492, \"Time in s\": 0.507954 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.934527728379076, \"RMSE\": 9.145062262320872, \"R2\": 0.7730513990797492, \"Memory in Mb\": 0.0380659103393554, \"Time in s\": 0.576578 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.025889093973978, \"RMSE\": 9.259481324724224, \"R2\": 0.7979290061199974, \"Memory in Mb\": 0.0417509078979492, \"Time in s\": 0.647861 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.701040765258382, \"RMSE\": 10.569442782845146, \"R2\": 0.7594412957229723, \"Memory in Mb\": 0.0418310165405273, \"Time in s\": 0.7217790000000001 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.201977905163474, \"RMSE\": 11.695812678726384, \"R2\": 0.740801257827299, \"Memory in Mb\": 0.0418310165405273, \"Time in s\": 0.7983520000000001 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.47608974362833, \"RMSE\": 12.176082777300053, \"R2\": 0.7566872347890514, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 0.889757 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.495029117947843, \"RMSE\": 12.186858586615225, \"R2\": 0.7886035011133373, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 0.982264 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.05089484284177, \"RMSE\": 13.06419009031293, \"R2\": 0.7836428997387894, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.075782 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.171875092169309, \"RMSE\": 15.802620207207104, \"R2\": 0.7127274179827436, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.170327 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.626867556328977, \"RMSE\": 16.443718231711543, \"R2\": 0.7338058453397931, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.26591 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.854283538219804, \"RMSE\": 16.574189924013226, \"R2\": 0.7578382368534643, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.362543 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.034558550660114, \"RMSE\": 16.72149964752778, \"R2\": 0.7759339138910493, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.460131 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.942839439265006, \"RMSE\": 18.18973374364872, \"R2\": 0.7425340708967089, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.65219 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.480189522121243, \"RMSE\": 19.36955258798825, \"R2\": 0.7316181626186655, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.847066 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.884428250077962, \"RMSE\": 20.018801475409063, \"R2\": 0.7463650656532205, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 2.044712 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.037067702603975, \"RMSE\": 20.02507161492445, \"R2\": 0.7633646392298079, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 2.245044 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.938689395183468, \"RMSE\": 21.571547182252875, \"R2\": 0.7447563988620904, \"Memory in Mb\": 0.0393133163452148, \"Time in s\": 2.459951 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 13.737065020554605, \"RMSE\": 23.070023559587742, \"R2\": 0.7259561921053947, \"Memory in Mb\": 0.039839744567871, \"Time in s\": 2.675857 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.305628841534729, \"RMSE\": 24.020997573013894, \"R2\": 0.7359868139097058, \"Memory in Mb\": 0.0408926010131835, \"Time in s\": 2.892761 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.503019064271443, \"RMSE\": 24.118168317988548, \"R2\": 0.7526847575357923, \"Memory in Mb\": 0.0414190292358398, \"Time in s\": 3.110678 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 15.042001004765991, \"RMSE\": 24.757154413851225, \"R2\": 0.7504844548860922, \"Memory in Mb\": 0.0429983139038085, \"Time in s\": 3.329579 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.165694044127083, \"RMSE\": 26.934291479182736, \"R2\": 0.7226050873941003, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 3.549505 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.958578383564387, \"RMSE\": 28.26726815061745, \"R2\": 0.7302155620528221, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 3.77047 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.309589456804158, \"RMSE\": 28.5754148947933, \"R2\": 0.7394096166099926, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.010874 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.77955786237919, \"RMSE\": 29.119281838039548, \"R2\": 0.7454446166142166, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.254034 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 18.687135400012505, \"RMSE\": 30.600738447390604, \"R2\": 0.7270552375925041, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.499866 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 19.426270300418786, \"RMSE\": 31.61383923822668, \"R2\": 0.7250895764829616, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.748399 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.230319490239392, \"RMSE\": 32.829508990096734, \"R2\": 0.7334580691909136, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.00325 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.415951878027045, \"RMSE\": 32.83473210597698, \"R2\": 0.7443832332812113, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.259172 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 21.41946931942451, \"RMSE\": 34.477948502753435, \"R2\": 0.726844465494657, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.516121 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.135259536350134, \"RMSE\": 35.412182207518484, \"R2\": 0.7244424125617825, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.774111 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.998428764364284, \"RMSE\": 36.61317436816486, \"R2\": 0.7275265693889857, \"Memory in Mb\": 0.044051170349121, \"Time in s\": 6.033148000000001 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.16185046142029, \"RMSE\": 36.73359474841229, \"R2\": 0.7324023432169282, \"Memory in Mb\": 0.044051170349121, \"Time in s\": 6.293050000000001 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.834704431652337, \"RMSE\": 13.708514217962266, \"R2\": -439.7934984576362, \"Memory in Mb\": 0.0500869750976562, \"Time in s\": 0.001817 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.4692310697037447, \"RMSE\": 9.813795721313518, \"R2\": -37.72035957928713, \"Memory in Mb\": 0.0732498168945312, \"Time in s\": 0.005553 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.530247618203559, \"RMSE\": 8.024836796214231, \"R2\": -33.90460110966681, \"Memory in Mb\": 0.0858840942382812, \"Time in s\": 0.011369 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1398752670733447, \"RMSE\": 6.982837000856316, \"R2\": -25.510487239912003, \"Memory in Mb\": 0.09588623046875, \"Time in s\": 0.023421 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2521629689485394, \"RMSE\": 6.362737158647257, \"R2\": -12.810573390910957, \"Memory in Mb\": 0.1053619384765625, \"Time in s\": 0.037893 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.275331183116589, \"RMSE\": 5.895687482983747, \"R2\": -9.059182991303912, \"Memory in Mb\": 0.1095733642578125, \"Time in s\": 0.054815 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.181766409647037, \"RMSE\": 5.493495699082884, \"R2\": -8.025069637302263, \"Memory in Mb\": 0.1116790771484375, \"Time in s\": 0.074219 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0635226048812747, \"RMSE\": 5.165876255053421, \"R2\": -6.037983110569301, \"Memory in Mb\": 0.1158905029296875, \"Time in s\": 0.098519 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9951428730766116, \"RMSE\": 4.906287161641783, \"R2\": -4.575559841528811, \"Memory in Mb\": 0.1179962158203125, \"Time in s\": 0.130188 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8700446037321656, \"RMSE\": 4.662539866408188, \"R2\": -4.050299616280768, \"Memory in Mb\": 0.015085220336914, \"Time in s\": 0.169487 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7830718267282506, \"RMSE\": 4.458344141345012, \"R2\": -3.981078161152351, \"Memory in Mb\": 0.0312490463256835, \"Time in s\": 0.210179 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.714887283408722, \"RMSE\": 4.280191261764102, \"R2\": -3.625492757292576, \"Memory in Mb\": 0.0370397567749023, \"Time in s\": 0.273546 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.626899515259654, \"RMSE\": 4.116599014627653, \"R2\": -3.336325373761703, \"Memory in Mb\": 0.044569969177246, \"Time in s\": 0.338443 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6037708656255951, \"RMSE\": 3.992199218884993, \"R2\": -3.269831686495559, \"Memory in Mb\": 0.0575590133666992, \"Time in s\": 0.405125 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5808413297038584, \"RMSE\": 3.882244388071726, \"R2\": -2.971019208275212, \"Memory in Mb\": 0.0675611495971679, \"Time in s\": 0.4768960000000001 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5112246352788372, \"RMSE\": 3.7620340381312185, \"R2\": -2.9135432145577016, \"Memory in Mb\": 0.0754575729370117, \"Time in s\": 0.5560110000000001 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.464954049061847, \"RMSE\": 3.6574443601858126, \"R2\": -2.908900292165721, \"Memory in Mb\": 0.0807218551635742, \"Time in s\": 0.6372390000000001 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4845626481571883, \"RMSE\": 3.5832345434246853, \"R2\": -2.782695640732784, \"Memory in Mb\": 0.0886182785034179, \"Time in s\": 0.7206760000000001 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.451940332797817, \"RMSE\": 3.496542725118452, \"R2\": -2.72647470962537, \"Memory in Mb\": 0.0938825607299804, \"Time in s\": 0.8063740000000001 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4093274160891025, \"RMSE\": 3.4133346926199284, \"R2\": -2.65159153540002, \"Memory in Mb\": 0.1012525558471679, \"Time in s\": 0.8943350000000001 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3677964737960675, \"RMSE\": 3.3343173536823296, \"R2\": -2.5997996751089016, \"Memory in Mb\": 0.1054639816284179, \"Time in s\": 1.079576 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.335717224673182, \"RMSE\": 3.2621145597551164, \"R2\": -2.3832380441779537, \"Memory in Mb\": 0.1112546920776367, \"Time in s\": 1.2716070000000002 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3223220949397412, \"RMSE\": 3.20054856097613, \"R2\": -2.088360697350681, \"Memory in Mb\": 0.1196775436401367, \"Time in s\": 1.466366 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2961820395725512, \"RMSE\": 3.1370925842333546, \"R2\": -1.8988499404168715, \"Memory in Mb\": 0.1275739669799804, \"Time in s\": 1.663894 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2652762767168435, \"RMSE\": 3.076750388249757, \"R2\": -1.7299037995212605, \"Memory in Mb\": 0.1323118209838867, \"Time in s\": 1.864298 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2471740635308572, \"RMSE\": 3.022290137612829, \"R2\": -1.6387160551274738, \"Memory in Mb\": 0.1375761032104492, \"Time in s\": 2.070902 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.222508472081129, \"RMSE\": 2.968388528244746, \"R2\": -1.5361060189709668, \"Memory in Mb\": 0.1396818161010742, \"Time in s\": 2.286544 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2073384071706728, \"RMSE\": 2.920065266046622, \"R2\": -1.5126838513129577, \"Memory in Mb\": 0.1444196701049804, \"Time in s\": 2.5053300000000003 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1845779132924192, \"RMSE\": 2.8723790540044147, \"R2\": -1.4914188956527816, \"Memory in Mb\": 0.1470518112182617, \"Time in s\": 2.7271330000000003 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1745692976588702, \"RMSE\": 2.8296294830278077, \"R2\": -1.3910651808347, \"Memory in Mb\": 0.1414899826049804, \"Time in s\": 2.96944 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1708259630571385, \"RMSE\": 2.7920061348512903, \"R2\": -1.2924200227078335, \"Memory in Mb\": 0.1441221237182617, \"Time in s\": 3.214893 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1599967464968943, \"RMSE\": 2.7528504813508814, \"R2\": -1.186915838733254, \"Memory in Mb\": 0.1462278366088867, \"Time in s\": 3.481443 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1455993461288598, \"RMSE\": 2.715465758170179, \"R2\": -1.112620243595547, \"Memory in Mb\": 0.0933332443237304, \"Time in s\": 3.768351 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1331386715536065, \"RMSE\": 2.679518493749607, \"R2\": -1.0895638535289454, \"Memory in Mb\": 0.1028089523315429, \"Time in s\": 4.057625 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1287919059851137, \"RMSE\": 2.648832972736431, \"R2\": -1.0956110522943685, \"Memory in Mb\": 0.1107053756713867, \"Time in s\": 4.349483 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1090542602054634, \"RMSE\": 2.6130484736329, \"R2\": -1.0841769561048746, \"Memory in Mb\": 0.1170225143432617, \"Time in s\": 4.655905000000001 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0919225542546631, \"RMSE\": 2.579731998640208, \"R2\": -1.0301471378292058, \"Memory in Mb\": 0.1207075119018554, \"Time in s\": 4.969391000000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0729346607841277, \"RMSE\": 2.546521266569091, \"R2\": -0.9996439724530696, \"Memory in Mb\": 0.1238660812377929, \"Time in s\": 5.409378000000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0548522699101792, \"RMSE\": 2.514796200212546, \"R2\": -0.958866579835745, \"Memory in Mb\": 0.1301832199096679, \"Time in s\": 5.856313000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0458975693179249, \"RMSE\": 2.486381451783576, \"R2\": -0.9321678603320388, \"Memory in Mb\": 0.1405134201049804, \"Time in s\": 6.306401000000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.042667475968943, \"RMSE\": 2.463395040447954, \"R2\": -0.9174360179218256, \"Memory in Mb\": 0.1468305587768554, \"Time in s\": 6.759550000000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0338402028724885, \"RMSE\": 2.4371652901742165, \"R2\": -0.8942452584110789, \"Memory in Mb\": 0.1505155563354492, \"Time in s\": 7.215791000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0182769822752689, \"RMSE\": 2.409744604248102, \"R2\": -0.8486703239118398, \"Memory in Mb\": 0.1520948410034179, \"Time in s\": 7.680462000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.007294910176456, \"RMSE\": 2.3841216724611445, \"R2\": -0.8005738256179296, \"Memory in Mb\": 0.1552534103393554, \"Time in s\": 8.149683000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9984699415812968, \"RMSE\": 2.359722022526475, \"R2\": -0.7713409518355698, \"Memory in Mb\": 0.1573591232299804, \"Time in s\": 8.622145000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9848390746890626, \"RMSE\": 2.334975438117308, \"R2\": -0.7628805257854674, \"Memory in Mb\": 0.1254529953002929, \"Time in s\": 9.108636 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9804934467335736, \"RMSE\": 2.3136297350671566, \"R2\": -0.7454793227879806, \"Memory in Mb\": 0.1344251632690429, \"Time in s\": 9.599086 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9715993160407668, \"RMSE\": 2.291923159938466, \"R2\": -0.7307898991199615, \"Memory in Mb\": 0.1402158737182617, \"Time in s\": 10.092417 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.96479276321034, \"RMSE\": 2.271398262551761, \"R2\": -0.7329444574748756, \"Memory in Mb\": 0.1444272994995117, \"Time in s\": 10.588738 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.956776427041678, \"RMSE\": 2.250974677037298, \"R2\": -0.7305695321170174, \"Memory in Mb\": 0.1486387252807617, \"Time in s\": 11.174487 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9561028857812052, \"RMSE\": 2.249867758958838, \"R2\": -0.7300222157865335, \"Memory in Mb\": 0.1486387252807617, \"Time in s\": 11.765558 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.051220648038832, \"RMSE\": 17.336198122120386, \"R2\": -385.8701660091343, \"Memory in Mb\": 0.0229225158691406, \"Time in s\": 0.002862 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.498502947359929, \"RMSE\": 12.28528637536428, \"R2\": -158.84524831763767, \"Memory in Mb\": 0.0245628356933593, \"Time in s\": 0.008031 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4668695042339137, \"RMSE\": 10.074636808082968, \"R2\": -69.49212762837747, \"Memory in Mb\": 0.0298271179199218, \"Time in s\": 0.0152 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7637805804889557, \"RMSE\": 8.735764655686483, \"R2\": -59.08259408516962, \"Memory in Mb\": 0.0309410095214843, \"Time in s\": 0.027573 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.814517498310432, \"RMSE\": 8.074396776941786, \"R2\": -11.726997097138026, \"Memory in Mb\": 0.0377845764160156, \"Time in s\": 0.040817 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.396900059747575, \"RMSE\": 7.862006773633152, \"R2\": -4.201378762014764, \"Memory in Mb\": 0.0472602844238281, \"Time in s\": 0.055065 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.8844336568547537, \"RMSE\": 7.782255505653143, \"R2\": -2.415785129732385, \"Memory in Mb\": 0.0536384582519531, \"Time in s\": 0.070503 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.068768385552718, \"RMSE\": 7.555909217267645, \"R2\": -1.9194502155140076, \"Memory in Mb\": 0.0594291687011718, \"Time in s\": 0.087235 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.319029347030655, \"RMSE\": 7.489629607912237, \"R2\": -1.3991215781815165, \"Memory in Mb\": 0.0604820251464843, \"Time in s\": 0.105314 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.231978704025333, \"RMSE\": 7.230698639905546, \"R2\": -0.5615110336669555, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.124657 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.279767976439616, \"RMSE\": 7.114292598648662, \"R2\": -0.1642036472993016, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.145348 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.161677712403324, \"RMSE\": 6.8979209349412445, \"R2\": 0.1054968774084013, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.183683 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.036201943040193, \"RMSE\": 6.686446116179646, \"R2\": 0.3192250351622916, \"Memory in Mb\": 0.0241641998291015, \"Time in s\": 0.233347 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.002163310161137, \"RMSE\": 6.555243218534794, \"R2\": 0.4439177197734564, \"Memory in Mb\": 0.034926414489746, \"Time in s\": 0.283952 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.269310553181931, \"RMSE\": 6.794169336453219, \"R2\": 0.5198027804498322, \"Memory in Mb\": 0.041365623474121, \"Time in s\": 0.335528 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.394431170074558, \"RMSE\": 6.916563516446891, \"R2\": 0.5987399306940604, \"Memory in Mb\": 0.0471563339233398, \"Time in s\": 0.38817 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.429782113532627, \"RMSE\": 6.896434310822903, \"R2\": 0.6733712331422652, \"Memory in Mb\": 0.052016258239746, \"Time in s\": 0.441959 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.448580123995543, \"RMSE\": 6.86078369215091, \"R2\": 0.7428621234581485, \"Memory in Mb\": 0.0546483993530273, \"Time in s\": 0.496925 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.634718338792146, \"RMSE\": 7.17917659207716, \"R2\": 0.7678921596594357, \"Memory in Mb\": 0.0546483993530273, \"Time in s\": 0.5531490000000001 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.229854791420841, \"RMSE\": 8.435313620968111, \"R2\": 0.7194573631198581, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.6106500000000001 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.400637324787383, \"RMSE\": 8.615072190659467, \"R2\": 0.7496975788166091, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.6850710000000001 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.622607300541604, \"RMSE\": 8.982158345389516, \"R2\": 0.781064800957145, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.7630730000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.728895576419993, \"RMSE\": 9.10264619767678, \"R2\": 0.8047163053551843, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.8439190000000001 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.468790531655633, \"RMSE\": 10.532848432020362, \"R2\": 0.7611041743489119, \"Memory in Mb\": 0.0553770065307617, \"Time in s\": 0.926058 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.961259791220884, \"RMSE\": 11.725202267966395, \"R2\": 0.7394969764024641, \"Memory in Mb\": 0.0553770065307617, \"Time in s\": 1.009526 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.243017687832032, \"RMSE\": 12.175095097400796, \"R2\": 0.7567267064951951, \"Memory in Mb\": 0.0539121627807617, \"Time in s\": 1.109836 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.333189926829036, \"RMSE\": 12.221129948725446, \"R2\": 0.7874128689691341, \"Memory in Mb\": 0.0544385910034179, \"Time in s\": 1.300493 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.907494608974745, \"RMSE\": 13.13418786953933, \"R2\": 0.7813182108747583, \"Memory in Mb\": 0.0545606613159179, \"Time in s\": 1.494565 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.086203691627809, \"RMSE\": 16.084282058543664, \"R2\": 0.7023956098414756, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 1.6919570000000002 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.398286710797228, \"RMSE\": 16.38837159928856, \"R2\": 0.7355947540985646, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 1.900794 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.688169379844998, \"RMSE\": 16.65705092991554, \"R2\": 0.7554108572015372, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.110987 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.856066264187849, \"RMSE\": 16.815734957180027, \"R2\": 0.7734013139584004, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.322457 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.788654210226415, \"RMSE\": 18.368645129880047, \"R2\": 0.7374443731514406, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.535213 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.535989444086796, \"RMSE\": 20.177763325541772, \"R2\": 0.7087539856658172, \"Memory in Mb\": 0.0658864974975586, \"Time in s\": 2.749718 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.949331836981814, \"RMSE\": 20.800028245688587, \"R2\": 0.7261827687212361, \"Memory in Mb\": 0.0713338851928711, \"Time in s\": 2.965855 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.958714190964644, \"RMSE\": 20.66064387908481, \"R2\": 0.748105206776327, \"Memory in Mb\": 0.0781774520874023, \"Time in s\": 3.183657 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.807531574997112, \"RMSE\": 22.01468171576837, \"R2\": 0.7341619793955468, \"Memory in Mb\": 0.0825719833374023, \"Time in s\": 3.418965 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 13.71794187476778, \"RMSE\": 23.73901232910809, \"R2\": 0.7098322050491193, \"Memory in Mb\": 0.0846776962280273, \"Time in s\": 3.659139 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.269314924317156, \"RMSE\": 24.65274813293709, \"R2\": 0.7219171428567855, \"Memory in Mb\": 0.0656805038452148, \"Time in s\": 3.912261 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.511771919641935, \"RMSE\": 24.834167752766053, \"R2\": 0.7377826277560943, \"Memory in Mb\": 0.0706624984741211, \"Time in s\": 4.16702 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 15.00667707818897, \"RMSE\": 25.401748915029017, \"R2\": 0.7373221851710817, \"Memory in Mb\": 0.0787420272827148, \"Time in s\": 4.423509 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.106263610815663, \"RMSE\": 27.4394567629727, \"R2\": 0.7121021651653525, \"Memory in Mb\": 0.0857076644897461, \"Time in s\": 4.681795 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.950411373417108, \"RMSE\": 28.951900473786843, \"R2\": 0.7169889638801871, \"Memory in Mb\": 0.0888662338256836, \"Time in s\": 4.941903 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.321905164714362, \"RMSE\": 29.29627092175635, \"R2\": 0.7260962478080234, \"Memory in Mb\": 0.0889272689819336, \"Time in s\": 5.203768 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.829552469069228, \"RMSE\": 29.855361574147427, \"R2\": 0.732412614196017, \"Memory in Mb\": 0.0889272689819336, \"Time in s\": 5.467412 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 18.715769054600838, \"RMSE\": 31.21095148117224, \"R2\": 0.7160610523989874, \"Memory in Mb\": 0.0895147323608398, \"Time in s\": 5.743327000000001 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 19.54236471467993, \"RMSE\": 32.39367117342827, \"R2\": 0.7113596352744775, \"Memory in Mb\": 0.0743856430053711, \"Time in s\": 6.026441000000001 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.379374275832948, \"RMSE\": 33.670378810622296, \"R2\": 0.7196292071862618, \"Memory in Mb\": 0.0787191390991211, \"Time in s\": 6.311317000000001 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.522458105265056, \"RMSE\": 33.639909372937744, \"R2\": 0.7316929916628531, \"Memory in Mb\": 0.0872030258178711, \"Time in s\": 6.597982000000001 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 21.5114661084191, \"RMSE\": 35.24478084224406, \"R2\": 0.714558707096332, \"Memory in Mb\": 0.0935201644897461, \"Time in s\": 6.886526000000001 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.293418976341684, \"RMSE\": 36.29050935662323, \"R2\": 0.7106036021726428, \"Memory in Mb\": 0.0934362411499023, \"Time in s\": 7.177067000000001 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.158877831353536, \"RMSE\": 37.47206255417766, \"R2\": 0.7145930209145848, \"Memory in Mb\": 0.0946111679077148, \"Time in s\": 7.581349000000001 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.37390218951093, \"RMSE\": 37.6579284312523, \"R2\": 0.7187656938003131, \"Memory in Mb\": 0.0947332382202148, \"Time in s\": 7.990285000000001 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.828377634536296, \"RMSE\": 13.70786256219322, \"R2\": -439.7515918302183, \"Memory in Mb\": 0.0568618774414062, \"Time in s\": 0.005477 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.453811275213839, \"RMSE\": 9.811073218407971, \"R2\": -37.69887927291551, \"Memory in Mb\": 0.0800857543945312, \"Time in s\": 0.014203 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5116544078850294, \"RMSE\": 8.021960641037959, \"R2\": -33.879585508404254, \"Memory in Mb\": 0.0927200317382812, \"Time in s\": 0.025216 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1224425015381523, \"RMSE\": 6.9797990571526345, \"R2\": -25.487425023640156, \"Memory in Mb\": 0.102783203125, \"Time in s\": 0.038581 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.246653919301699, \"RMSE\": 6.363694444016854, \"R2\": -12.814729355257526, \"Memory in Mb\": 0.1122589111328125, \"Time in s\": 0.054574 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.270681160376927, \"RMSE\": 5.896666779393501, \"R2\": -9.06252500695684, \"Memory in Mb\": 0.1164703369140625, \"Time in s\": 0.096737 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.162967815650222, \"RMSE\": 5.491011289549727, \"R2\": -8.016908386196121, \"Memory in Mb\": 0.1185760498046875, \"Time in s\": 0.145193 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9648637778298337, \"RMSE\": 5.147547754256808, \"R2\": -5.988130255135697, \"Memory in Mb\": 0.048110008239746, \"Time in s\": 0.201618 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.86652787828915, \"RMSE\": 4.875884330950751, \"R2\": -4.506673701927233, \"Memory in Mb\": 0.0645513534545898, \"Time in s\": 0.259848 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.773434994745299, \"RMSE\": 4.638841370319518, \"R2\": -3.999091327975425, \"Memory in Mb\": 0.0751142501831054, \"Time in s\": 0.334681 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6594682627798778, \"RMSE\": 4.42936028038101, \"R2\": -3.916524330360767, \"Memory in Mb\": 0.0809926986694336, \"Time in s\": 0.415547 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5811297097344512, \"RMSE\": 4.24689633509078, \"R2\": -3.553810703437006, \"Memory in Mb\": 0.0831594467163086, \"Time in s\": 0.499019 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4918706813368772, \"RMSE\": 4.083314206963185, \"R2\": -3.2664860479391056, \"Memory in Mb\": 0.0869779586791992, \"Time in s\": 0.584777 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4582505621214346, \"RMSE\": 3.950619643811522, \"R2\": -3.181352514384196, \"Memory in Mb\": 0.0965147018432617, \"Time in s\": 0.672987 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4293807431017047, \"RMSE\": 3.836527362327468, \"R2\": -2.8780450161882043, \"Memory in Mb\": 0.1050596237182617, \"Time in s\": 0.763791 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3766835460490845, \"RMSE\": 3.718390713103106, \"R2\": -2.8232679475596494, \"Memory in Mb\": 0.1113767623901367, \"Time in s\": 0.862886 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3285707966483495, \"RMSE\": 3.611463128557805, \"R2\": -2.8112330604866624, \"Memory in Mb\": 0.0969266891479492, \"Time in s\": 1.077289 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3305028688272291, \"RMSE\": 3.538102571280229, \"R2\": -2.688007239623816, \"Memory in Mb\": 0.1048231124877929, \"Time in s\": 1.294249 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3086678355415842, \"RMSE\": 3.4529556765760527, \"R2\": -2.6341471363086995, \"Memory in Mb\": 0.1101484298706054, \"Time in s\": 1.513868 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.256053624567095, \"RMSE\": 3.3666460142322228, \"R2\": -2.552379472359031, \"Memory in Mb\": 0.1175184249877929, \"Time in s\": 1.736306 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2254239545780012, \"RMSE\": 3.2887455105144454, \"R2\": -2.5020714662192383, \"Memory in Mb\": 0.1217298507690429, \"Time in s\": 1.978865 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.204020924712129, \"RMSE\": 3.2198773978896, \"R2\": -2.2961943419959137, \"Memory in Mb\": 0.1275205612182617, \"Time in s\": 2.244474 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1975328241312166, \"RMSE\": 3.1601130927415366, \"R2\": -2.010817456858815, \"Memory in Mb\": 0.1354780197143554, \"Time in s\": 2.513147 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.186148143661266, \"RMSE\": 3.1001176815841758, \"R2\": -1.8309188655239268, \"Memory in Mb\": 0.1433744430541992, \"Time in s\": 2.784897 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1667856894749518, \"RMSE\": 3.042966728214852, \"R2\": -1.6702825792738007, \"Memory in Mb\": 0.1362333297729492, \"Time in s\": 3.07197 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.153194144927427, \"RMSE\": 2.98944402729251, \"R2\": -1.5816728306403074, \"Memory in Mb\": 0.1415586471557617, \"Time in s\": 3.362254 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1356058423088553, \"RMSE\": 2.937036564746637, \"R2\": -1.4828164968540292, \"Memory in Mb\": 0.1436643600463867, \"Time in s\": 3.655648 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.125648357086568, \"RMSE\": 2.890393580385493, \"R2\": -1.4618789770567937, \"Memory in Mb\": 0.1484022140502929, \"Time in s\": 3.952243 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1072323197222282, \"RMSE\": 2.84377722554966, \"R2\": -1.4420491211959612, \"Memory in Mb\": 0.1510343551635742, \"Time in s\": 4.252035 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0962221602561253, \"RMSE\": 2.8010574809052518, \"R2\": -1.343021715112041, \"Memory in Mb\": 0.1547193527221679, \"Time in s\": 4.557891000000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.095549207215165, \"RMSE\": 2.765029222449673, \"R2\": -1.2483344123018605, \"Memory in Mb\": 0.1578779220581054, \"Time in s\": 4.883158000000001 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.085957414095071, \"RMSE\": 2.726589883354214, \"R2\": -1.1453910301968575, \"Memory in Mb\": 0.1599836349487304, \"Time in s\": 5.354946000000001 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0751762466913892, \"RMSE\": 2.6908702968299423, \"R2\": -1.074523242859362, \"Memory in Mb\": 0.1636686325073242, \"Time in s\": 5.834119000000001 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0667684392102676, \"RMSE\": 2.656475453821568, \"R2\": -1.0537791659469915, \"Memory in Mb\": 0.1663007736206054, \"Time in s\": 6.316591000000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.066718890752265, \"RMSE\": 2.6278494556992995, \"R2\": -1.0625405514881172, \"Memory in Mb\": 0.1547193527221679, \"Time in s\": 6.8062700000000005 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0487756272096451, \"RMSE\": 2.5923957614441, \"R2\": -1.0513617944147002, \"Memory in Mb\": 0.1594572067260742, \"Time in s\": 7.299083 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0336933816342644, \"RMSE\": 2.5596915816453274, \"R2\": -0.9987276211091368, \"Memory in Mb\": 0.1632032394409179, \"Time in s\": 7.795134000000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0143808347523189, \"RMSE\": 2.5263993770636084, \"R2\": -0.968167584311768, \"Memory in Mb\": 0.1647825241088867, \"Time in s\": 8.298925 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0004245938094416, \"RMSE\": 2.495691505058861, \"R2\": -0.9292169429583496, \"Memory in Mb\": 0.1695814132690429, \"Time in s\": 8.809149000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9976736219043986, \"RMSE\": 2.469777786083391, \"R2\": -0.9064485942635294, \"Memory in Mb\": 0.1616849899291992, \"Time in s\": 9.32665 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0020392091388557, \"RMSE\": 2.450590646975973, \"R2\": -0.8975546778436754, \"Memory in Mb\": 0.1643171310424804, \"Time in s\": 9.853038000000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9936292081382508, \"RMSE\": 2.424886643827349, \"R2\": -0.8752066007627983, \"Memory in Mb\": 0.1680021286010742, \"Time in s\": 10.484318000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9794930742877992, \"RMSE\": 2.3980423354299125, \"R2\": -0.8307587924463844, \"Memory in Mb\": 0.1701078414916992, \"Time in s\": 11.125036 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9694853941742788, \"RMSE\": 2.372794343098121, \"R2\": -0.7835048635250907, \"Memory in Mb\": 0.1727399826049804, \"Time in s\": 11.769143 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9594920424525858, \"RMSE\": 2.348266033222206, \"R2\": -0.7541836724323567, \"Memory in Mb\": 0.1115369796752929, \"Time in s\": 12.432199 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9482726802907966, \"RMSE\": 2.324135545417226, \"R2\": -0.7465505219679065, \"Memory in Mb\": 0.1163969039916992, \"Time in s\": 13.10541 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9455376055826032, \"RMSE\": 2.30345366329758, \"R2\": -0.7301587545146957, \"Memory in Mb\": 0.1223096847534179, \"Time in s\": 13.781537 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9379298129457146, \"RMSE\": 2.282181144273129, \"R2\": -0.7161074287562055, \"Memory in Mb\": 0.1296796798706054, \"Time in s\": 14.460614 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.930996996530802, \"RMSE\": 2.261860474984104, \"R2\": -0.7184214614837348, \"Memory in Mb\": 0.1349439620971679, \"Time in s\": 15.148323 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9214575102921838, \"RMSE\": 2.2404008018877137, \"R2\": -0.714349138962711, \"Memory in Mb\": 0.1382246017456054, \"Time in s\": 15.950631 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9213134079227226, \"RMSE\": 2.239416179559339, \"R2\": -0.7139861919037982, \"Memory in Mb\": 0.1382246017456054, \"Time in s\": 16.757639 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0096149444580078, \"Time in s\": 0.001328 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0126094818115234, \"Time in s\": 0.003944 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.015787124633789, \"Time in s\": 0.007623 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.0188732147216796, \"Time in s\": 0.012489 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.0218257904052734, \"Time in s\": 0.019505 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.0246181488037109, \"Time in s\": 0.027128 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 43.50649350649351, \"RMSE\": 43.70978671356627, \"R2\": -106.75487995129542, \"Memory in Mb\": 0.0275020599365234, \"Time in s\": 0.035372 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 44.21590909090909, \"RMSE\": 44.43649707984724, \"R2\": -99.97346126163, \"Memory in Mb\": 0.0300197601318359, \"Time in s\": 0.047911 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 45.05050505050505, \"RMSE\": 45.309262771858165, \"R2\": -86.8022342468144, \"Memory in Mb\": 0.0329036712646484, \"Time in s\": 0.072727 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 46.16363636363636, \"RMSE\": 46.52487115902242, \"R2\": -63.64797006437341, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.103163 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 47.21487603305785, \"RMSE\": 47.67304278378361, \"R2\": -51.27707184490422, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.146595 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 48.29545454545455, \"RMSE\": 48.843054157105485, \"R2\": -43.84882422437649, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.196283 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 49.44055944055945, \"RMSE\": 50.100318941519305, \"R2\": -37.220279564063546, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.258522 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 50.532467532467535, \"RMSE\": 51.29137544271156, \"R2\": -33.04474826644667, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.329566 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.690909090909095, \"RMSE\": 52.61253451297311, \"R2\": -27.795548438273773, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.40393 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.00568181818182, \"RMSE\": 54.11860921749895, \"R2\": -23.566226925646237, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.481694 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 54.41176470588235, \"RMSE\": 55.733754017636336, \"R2\": -20.33250305682894, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.681251 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.02525252525252, \"RMSE\": 57.635786091488654, \"R2\": -17.146924852486976, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.884966 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 55.16354936929098, \"RMSE\": 57.0482200725598, \"R2\": -13.656313160472004, \"Memory in Mb\": 0.6838865280151367, \"Time in s\": 1.131695 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.62203856749311, \"RMSE\": 56.03531795068661, \"R2\": -11.37998411824978, \"Memory in Mb\": 0.6869077682495117, \"Time in s\": 1.3969520000000002 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.77279286370195, \"RMSE\": 55.29408706815337, \"R2\": -9.311090357596036, \"Memory in Mb\": 0.6899290084838867, \"Time in s\": 1.6754760000000002 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.49661908339594, \"RMSE\": 55.0071045368674, \"R2\": -7.210918602421254, \"Memory in Mb\": 0.6929502487182617, \"Time in s\": 1.960024 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.25631812193077, \"RMSE\": 54.71344660515688, \"R2\": -6.055353919833875, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.270278 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.62511478420569, \"RMSE\": 54.312843786153664, \"R2\": -5.352168023774992, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.586688 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.4425344352617, \"RMSE\": 54.29364548356293, \"R2\": -4.585603291722447, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.915419 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.75651621106165, \"RMSE\": 54.635705044608144, \"R2\": -3.8989478253777694, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.266148 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.373839404142416, \"RMSE\": 55.25476711535166, \"R2\": -3.3456400671942, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.622985 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.87239275875638, \"RMSE\": 55.86677247417265, \"R2\": -2.9565197175813718, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.98691 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.69554478958866, \"RMSE\": 56.2770501442128, \"R2\": -2.6433309475704183, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 4.356941 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.85316804407712, \"RMSE\": 57.75044402630399, \"R2\": -2.2832890424968197, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 4.733992 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 54.90678041411178, \"RMSE\": 59.01114057562677, \"R2\": -2.0697921090482247, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 5.128946 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.00533746556472, \"RMSE\": 60.30224520856101, \"R2\": -1.9140207825503284, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 5.54848 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 55.99599298772852, \"RMSE\": 60.54917173074773, \"R2\": -1.852879941931207, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 6.172488 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.87222492302705, \"RMSE\": 61.81275171085535, \"R2\": -1.7331917323651345, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 6.808446 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 58.41786698150333, \"RMSE\": 63.95254893573906, \"R2\": -1.588502821427925, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 7.450193 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 59.7033976124885, \"RMSE\": 65.46926983257002, \"R2\": -1.5293357430909813, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 8.100657 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.057805647389294, \"RMSE\": 66.17359973042984, \"R2\": -1.4019380007417157, \"Memory in Mb\": 1.1097631454467771, \"Time in s\": 8.796904 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 59.7070864579051, \"RMSE\": 66.11592086962122, \"R2\": -1.2507954049688483, \"Memory in Mb\": 1.1127843856811523, \"Time in s\": 9.50192 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.122823673891816, \"RMSE\": 66.73609937588846, \"R2\": -1.0378169857688957, \"Memory in Mb\": 1.1158056259155271, \"Time in s\": 10.222461 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.39504675635191, \"RMSE\": 66.96100690444877, \"R2\": -0.906365593827489, \"Memory in Mb\": 1.1188268661499023, \"Time in s\": 10.951743 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.27126048587789, \"RMSE\": 66.93502892662679, \"R2\": -0.8239085862185902, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 11.696828 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.340686610373176, \"RMSE\": 67.43825007380137, \"R2\": -0.7390015352251049, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 12.465469 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 61.40703262301831, \"RMSE\": 69.11306667757516, \"R2\": -0.6127592621572406, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 13.248766 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 61.95796621360106, \"RMSE\": 69.71422620021941, \"R2\": -0.5510154280248158, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 14.047315 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 62.59018166487368, \"RMSE\": 70.55352405729404, \"R2\": -0.4943708535906215, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 14.854826 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 62.49664579133251, \"RMSE\": 70.88193125644693, \"R2\": -0.4644752452013045, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 15.674675 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 63.25224079915844, \"RMSE\": 71.92080214464903, \"R2\": -0.4228062717918979, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 16.51129 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 64.80783657170488, \"RMSE\": 74.3681944005728, \"R2\": -0.367764222300833, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 17.364023 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 65.59959781369417, \"RMSE\": 75.30113885843834, \"R2\": -0.3443906138479853, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 18.342072 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 65.79684627343133, \"RMSE\": 76.01328745307667, \"R2\": -0.3277190973108916, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 19.334776 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 66.6512855136148, \"RMSE\": 77.20436469287773, \"R2\": -0.3097569166669509, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 20.336346 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 68.11975592628174, \"RMSE\": 79.56492566870935, \"R2\": -0.2867456678376987, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 21.353617 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 68.75877313437184, \"RMSE\": 80.35800679505147, \"R2\": -0.2806007657015741, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 22.38029 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 43.8732195, \"RMSE\": 43.87807788634269, \"R2\": -4514.954899312423, \"Memory in Mb\": 0.0199413299560546, \"Time in s\": 0.002168 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.4932955, \"RMSE\": 42.52255283421693, \"R2\": -725.9491167623446, \"Memory in Mb\": 0.0317363739013671, \"Time in s\": 0.006794 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.2167785, \"RMSE\": 42.2386240157387, \"R2\": -966.0073736019044, \"Memory in Mb\": 0.0438976287841796, \"Time in s\": 0.018434 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.975705625, \"RMSE\": 41.99760868559829, \"R2\": -957.9655948743646, \"Memory in Mb\": 0.0562419891357421, \"Time in s\": 0.031286 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.37550450000001, \"RMSE\": 41.410913785433536, \"R2\": -583.9966399141301, \"Memory in Mb\": 0.5381031036376953, \"Time in s\": 0.048039 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.936110000000006, \"RMSE\": 40.97829382197767, \"R2\": -484.9611418859003, \"Memory in Mb\": 0.5386066436767578, \"Time in s\": 0.080711 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.6885472857143, \"RMSE\": 40.72961738075088, \"R2\": -495.1050461477588, \"Memory in Mb\": 0.5391101837158203, \"Time in s\": 0.166791 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.35105437500001, \"RMSE\": 40.39801158334292, \"R2\": -429.4078677932073, \"Memory in Mb\": 0.5393619537353516, \"Time in s\": 0.262676 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00981655555555, \"RMSE\": 40.06373388340122, \"R2\": -370.7794659133543, \"Memory in Mb\": 0.5396137237548828, \"Time in s\": 0.43318 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80633095, \"RMSE\": 39.860362966711, \"R2\": -368.1089073295326, \"Memory in Mb\": 0.5077581405639648, \"Time in s\": 0.638958 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 36.497516001377406, \"RMSE\": 38.01945344470104, \"R2\": -361.2329206514933, \"Memory in Mb\": 1.3602590560913086, \"Time in s\": 0.913553 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.64243104419191, \"RMSE\": 36.40668421494773, \"R2\": -333.65237138497804, \"Memory in Mb\": 1.360762596130371, \"Time in s\": 1.221179 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.222114965034955, \"RMSE\": 34.98371838354962, \"R2\": -312.16748668977897, \"Memory in Mb\": 1.3610143661499023, \"Time in s\": 1.570709 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.18205946861472, \"RMSE\": 33.71869814960704, \"R2\": -303.5986275675674, \"Memory in Mb\": 1.361769676208496, \"Time in s\": 1.939253 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 27.34275770505051, \"RMSE\": 32.57805191350732, \"R2\": -278.63174197976707, \"Memory in Mb\": 1.3620214462280271, \"Time in s\": 2.324555 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 25.81388747443183, \"RMSE\": 31.5521424826706, \"R2\": -274.2849072221064, \"Memory in Mb\": 1.3630285263061523, \"Time in s\": 2.877117 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 24.51835124153299, \"RMSE\": 30.62414457186519, \"R2\": -273.0482727941538, \"Memory in Mb\": 1.3640356063842771, \"Time in s\": 3.447 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 23.451930423400693, \"RMSE\": 29.78792492645533, \"R2\": -260.4155562259403, \"Memory in Mb\": 1.3660497665405271, \"Time in s\": 4.029196 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 22.46844053349284, \"RMSE\": 29.014219480552867, \"R2\": -255.5915105297988, \"Memory in Mb\": 1.3665533065795898, \"Time in s\": 4.629964999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 21.59490700757577, \"RMSE\": 28.301677882839343, \"R2\": -250.0434007116766, \"Memory in Mb\": 0.510127067565918, \"Time in s\": 5.253793 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.62268781294523, \"RMSE\": 27.62086591367872, \"R2\": -246.0239415518119, \"Memory in Mb\": 1.3623762130737305, \"Time in s\": 5.968102 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 19.786863931462925, \"RMSE\": 26.990398924900397, \"R2\": -230.60756767519212, \"Memory in Mb\": 1.3643903732299805, \"Time in s\": 6.700306 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 19.05732899619648, \"RMSE\": 26.404670160589287, \"R2\": -209.2038511633616, \"Memory in Mb\": 1.3666563034057615, \"Time in s\": 7.451319000000001 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 18.376512097202227, \"RMSE\": 25.854792215140314, \"R2\": -195.90337768575387, \"Memory in Mb\": 1.3701810836791992, \"Time in s\": 8.221931000000001 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.755044410127518, \"RMSE\": 25.338820973360427, \"R2\": -184.1550753065148, \"Memory in Mb\": 1.3716917037963867, \"Time in s\": 9.124580000000002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.16611419898163, \"RMSE\": 24.851444862058347, \"R2\": -177.4118263333629, \"Memory in Mb\": 1.3737058639526367, \"Time in s\": 10.044684000000002 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 16.628565596068775, \"RMSE\": 24.392285078947275, \"R2\": -170.25012213753183, \"Memory in Mb\": 1.3747129440307615, \"Time in s\": 10.981068000000002 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 16.091244232649693, \"RMSE\": 23.955027361350904, \"R2\": -168.10096043791202, \"Memory in Mb\": 1.3752164840698242, \"Time in s\": 11.990243000000005 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 15.590768135673304, \"RMSE\": 23.54051091957351, \"R2\": -166.33817208986073, \"Memory in Mb\": 1.3764753341674805, \"Time in s\": 13.016881000000003 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 15.168708628495342, \"RMSE\": 23.15108754841241, \"R2\": -159.05714501634571, \"Memory in Mb\": 0.5124959945678711, \"Time in s\": 14.090212000000005 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.742446374247312, \"RMSE\": 22.77953961802373, \"R2\": -151.59887848495535, \"Memory in Mb\": 3.064208030700684, \"Time in s\": 15.285325000000004 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.319364852585176, \"RMSE\": 22.42187566882095, \"R2\": -144.08105420081068, \"Memory in Mb\": 3.0679845809936523, \"Time in s\": 16.529242000000004 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.916412195872256, \"RMSE\": 22.080274918425697, \"R2\": -138.68241285181185, \"Memory in Mb\": 3.0712575912475586, \"Time in s\": 17.842975000000003 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.515604789075644, \"RMSE\": 21.753254558457893, \"R2\": -136.71797028279042, \"Memory in Mb\": 3.074782371520996, \"Time in s\": 19.280557 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.16391092204058, \"RMSE\": 21.44141764506316, \"R2\": -136.3120101768532, \"Memory in Mb\": 3.0773000717163086, \"Time in s\": 20.753146 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.828283113852926, \"RMSE\": 21.142484202016185, \"R2\": -135.44313416922282, \"Memory in Mb\": 3.078558921813965, \"Time in s\": 22.284495 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.50446646701278, \"RMSE\": 20.855361315179096, \"R2\": -131.6825380828392, \"Memory in Mb\": 3.0800695419311523, \"Time in s\": 23.930702 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.187542748969031, \"RMSE\": 20.57929219886472, \"R2\": -129.592708960364, \"Memory in Mb\": 3.0813283920288086, \"Time in s\": 25.608717 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.899403743710543, \"RMSE\": 20.31464229706916, \"R2\": -126.82553676745258, \"Memory in Mb\": 3.08359432220459, \"Time in s\": 27.347366 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.634366305883283, \"RMSE\": 20.06137952581079, \"R2\": -124.7856004590591, \"Memory in Mb\": 3.084601402282715, \"Time in s\": 29.130085 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.363415331478278, \"RMSE\": 19.815492221289517, \"R2\": -123.0687724200615, \"Memory in Mb\": 3.08560848236084, \"Time in s\": 30.98707 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.106640469158773, \"RMSE\": 19.57848368678801, \"R2\": -121.2430978899656, \"Memory in Mb\": 3.086615562438965, \"Time in s\": 32.880055 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.873909665943762, \"RMSE\": 19.35022618912736, \"R2\": -118.20364312373844, \"Memory in Mb\": 3.087119102478028, \"Time in s\": 34.808534 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.65545006969969, \"RMSE\": 19.130035299019603, \"R2\": -114.92727947355436, \"Memory in Mb\": 3.0873708724975586, \"Time in s\": 36.791638 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.439309697188907, \"RMSE\": 18.916827199314994, \"R2\": -112.83532852765144, \"Memory in Mb\": 3.08762264251709, \"Time in s\": 38.832751 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.21789524284777, \"RMSE\": 18.710158789526105, \"R2\": -112.19133803320568, \"Memory in Mb\": 3.087874412536621, \"Time in s\": 40.951802 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.012578535125469, \"RMSE\": 18.510293787577226, \"R2\": -110.72583714230213, \"Memory in Mb\": 3.077906608581543, \"Time in s\": 43.146806 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.811853150109153, \"RMSE\": 18.316579311485903, \"R2\": -109.54344305213982, \"Memory in Mb\": 3.0804243087768555, \"Time in s\": 45.38444 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.61909067795052, \"RMSE\": 18.12881604876013, \"R2\": -109.39183420714345, \"Memory in Mb\": 3.080927848815918, \"Time in s\": 47.662491 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.438738635632271, \"RMSE\": 17.946847607318464, \"R2\": -109.00797869183796, \"Memory in Mb\": 3.082438468933105, \"Time in s\": 50.039238 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.429746533156267, \"RMSE\": 17.937886241411594, \"R2\": -108.97151968967049, \"Memory in Mb\": 3.082438468933105, \"Time in s\": 52.450717 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.837563210503649, \"RMSE\": 16.830121687224917, \"R2\": -363.61289911513376, \"Memory in Mb\": 0.1506052017211914, \"Time in s\": 0.01357 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.3557641651310055, \"RMSE\": 11.925612892987612, \"R2\": -149.62275175212707, \"Memory in Mb\": 0.1761331558227539, \"Time in s\": 0.033876 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.3711466349197527, \"RMSE\": 9.780434627556833, \"R2\": -65.4351822307151, \"Memory in Mb\": 0.214268684387207, \"Time in s\": 0.065705 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.6922077728217837, \"RMSE\": 8.482083592242564, \"R2\": -55.643739991610765, \"Memory in Mb\": 0.2312593460083007, \"Time in s\": 0.110591 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.74736475641488, \"RMSE\": 7.825318026963682, \"R2\": -10.953904022002217, \"Memory in Mb\": 0.2869501113891601, \"Time in s\": 0.166016 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.8724679940162905, \"RMSE\": 7.312536888278379, \"R2\": -3.4997438549991955, \"Memory in Mb\": 0.3332719802856445, \"Time in s\": 0.243978 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.0470429271529937, \"RMSE\": 7.064245743713448, \"R2\": -1.8145642692685129, \"Memory in Mb\": 0.3119173049926758, \"Time in s\": 0.346862 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.9741223361578246, \"RMSE\": 6.690154558226259, \"R2\": -1.288758200280824, \"Memory in Mb\": 0.3463144302368164, \"Time in s\": 0.647937 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.5306191185317584, \"RMSE\": 6.892431773474538, \"R2\": -1.031779280787943, \"Memory in Mb\": 0.3914194107055664, \"Time in s\": 0.960086 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.8799314967396743, \"RMSE\": 6.981555605673833, \"R2\": -0.4557571678865852, \"Memory in Mb\": 0.4218912124633789, \"Time in s\": 1.292146 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.113667008668635, \"RMSE\": 7.033914104811044, \"R2\": -0.1380455127293207, \"Memory in Mb\": 0.4422159194946289, \"Time in s\": 1.662194 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.34164975929163, \"RMSE\": 7.058470289925444, \"R2\": 0.0633731167085442, \"Memory in Mb\": 0.4695367813110351, \"Time in s\": 2.044753 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.57586761829926, \"RMSE\": 7.15786747745719, \"R2\": 0.2198462773680444, \"Memory in Mb\": 0.5039682388305664, \"Time in s\": 2.459644 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.72768375743327, \"RMSE\": 7.245199860946492, \"R2\": 0.3206991207112422, \"Memory in Mb\": 0.5465364456176758, \"Time in s\": 2.897301 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.104360720447454, \"RMSE\": 7.731417459148682, \"R2\": 0.3781793296599212, \"Memory in Mb\": 0.5543031692504883, \"Time in s\": 3.478625 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.614563299993537, \"RMSE\": 8.384781892618234, \"R2\": 0.4103032354466553, \"Memory in Mb\": 0.577855110168457, \"Time in s\": 4.083596 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.030281219875818, \"RMSE\": 8.796345271037008, \"R2\": 0.4686144271207236, \"Memory in Mb\": 0.5973634719848633, \"Time in s\": 4.712472 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.128233569544692, \"RMSE\": 8.84845009665535, \"R2\": 0.572286448100142, \"Memory in Mb\": 0.6156282424926758, \"Time in s\": 5.362321 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.65587905711115, \"RMSE\": 9.6527323574251, \"R2\": 0.5803946009681837, \"Memory in Mb\": 0.637272834777832, \"Time in s\": 6.068711 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.106977341119842, \"RMSE\": 10.677274056234571, \"R2\": 0.550512947323095, \"Memory in Mb\": 0.6516351699829102, \"Time in s\": 6.792503 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.51605472684967, \"RMSE\": 11.121858780588036, \"R2\": 0.582840670024279, \"Memory in Mb\": 0.6455926895141602, \"Time in s\": 7.540065 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.8763674823035235, \"RMSE\": 11.54794620868086, \"R2\": 0.6381207504866175, \"Memory in Mb\": 0.654301643371582, \"Time in s\": 8.314509000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.048654689630025, \"RMSE\": 11.785882981718466, \"R2\": 0.6726179175042853, \"Memory in Mb\": 0.6542215347290039, \"Time in s\": 9.228486 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.558470564817128, \"RMSE\": 12.694815113306078, \"R2\": 0.6529678969258632, \"Memory in Mb\": 0.7006998062133789, \"Time in s\": 10.165772 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.011287699636805, \"RMSE\": 13.865710758190522, \"R2\": 0.6357023625954032, \"Memory in Mb\": 0.7181978225708008, \"Time in s\": 11.12726 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.454493871269731, \"RMSE\": 14.39909947248495, \"R2\": 0.6597325750664246, \"Memory in Mb\": 0.7397470474243164, \"Time in s\": 12.112744 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.455634964453314, \"RMSE\": 14.370566123736594, \"R2\": 0.7060577585099084, \"Memory in Mb\": 0.6961946487426758, \"Time in s\": 13.208544 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.98259297559382, \"RMSE\": 15.278989711680778, \"R2\": 0.7040656028742478, \"Memory in Mb\": 0.7122316360473633, \"Time in s\": 14.327932 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.896304985778038, \"RMSE\": 17.680267148091307, \"R2\": 0.6404050215106214, \"Memory in Mb\": 0.7230386734008789, \"Time in s\": 15.472301 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.34830207391465, \"RMSE\": 18.238325787402868, \"R2\": 0.6725323523293205, \"Memory in Mb\": 0.7481813430786133, \"Time in s\": 16.699404 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.700671911575691, \"RMSE\": 18.698639858183288, \"R2\": 0.6917798823884449, \"Memory in Mb\": 0.750828742980957, \"Time in s\": 17.953966 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.012928806619971, \"RMSE\": 19.028065448277463, \"R2\": 0.7098550919958697, \"Memory in Mb\": 0.779423713684082, \"Time in s\": 19.24314 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.590729727774807, \"RMSE\": 20.061815233276363, \"R2\": 0.6868102538385266, \"Memory in Mb\": 0.8219194412231445, \"Time in s\": 20.584825 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.29572445199132, \"RMSE\": 21.688967498502105, \"R2\": 0.6634948622954009, \"Memory in Mb\": 0.8368387222290039, \"Time in s\": 21.949532 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.850252347511734, \"RMSE\": 22.377982941031117, \"R2\": 0.6830616430184708, \"Memory in Mb\": 0.8398981094360352, \"Time in s\": 23.337733 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.995508749414425, \"RMSE\": 22.434927630401365, \"R2\": 0.7029833246789492, \"Memory in Mb\": 0.8451242446899414, \"Time in s\": 24.808931 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 14.855647843034443, \"RMSE\": 23.972462409994428, \"R2\": 0.6847772413527866, \"Memory in Mb\": 0.8440675735473633, \"Time in s\": 26.305221 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 15.648428200057216, \"RMSE\": 25.832735423225586, \"R2\": 0.6563908585574095, \"Memory in Mb\": 0.8621377944946289, \"Time in s\": 27.821712 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.477960681723363, \"RMSE\": 27.01651731063008, \"R2\": 0.6660339910533338, \"Memory in Mb\": 0.8826723098754883, \"Time in s\": 29.421277 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.794784005292485, \"RMSE\": 27.277386650758192, \"R2\": 0.6836500576952018, \"Memory in Mb\": 0.8854074478149414, \"Time in s\": 31.044846 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 17.2443539228967, \"RMSE\": 27.815314781786785, \"R2\": 0.6850336806962379, \"Memory in Mb\": 0.915654182434082, \"Time in s\": 32.692345 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 18.21783864235053, \"RMSE\": 29.965283642676138, \"R2\": 0.6566601868655235, \"Memory in Mb\": 0.947678565979004, \"Time in s\": 34.453267999999994 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.154558799374207, \"RMSE\": 31.27949805899601, \"R2\": 0.6696542166515442, \"Memory in Mb\": 0.9631280899047852, \"Time in s\": 36.23863899999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.65302219917293, \"RMSE\": 31.71092492917292, \"R2\": 0.6790841892096586, \"Memory in Mb\": 0.979741096496582, \"Time in s\": 38.04845199999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.17748759588543, \"RMSE\": 32.35841629000369, \"R2\": 0.6856630158751376, \"Memory in Mb\": 1.0035409927368164, \"Time in s\": 39.89288999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.994447812000203, \"RMSE\": 33.88452895368057, \"R2\": 0.6653322556738073, \"Memory in Mb\": 1.0402307510375977, \"Time in s\": 41.77183299999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 21.74940325928189, \"RMSE\": 34.92971521251369, \"R2\": 0.6643962418834424, \"Memory in Mb\": 1.0591440200805664, \"Time in s\": 43.68222899999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.71806819464153, \"RMSE\": 36.27208023143736, \"R2\": 0.6746268651566016, \"Memory in Mb\": 1.0802621841430664, \"Time in s\": 45.622796999999984 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.976084812890598, \"RMSE\": 36.32299861842887, \"R2\": 0.6871862958215178, \"Memory in Mb\": 1.1105661392211914, \"Time in s\": 47.62064799999998 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.812560792713985, \"RMSE\": 37.68037385984369, \"R2\": 0.6737446986071818, \"Memory in Mb\": 1.1564149856567385, \"Time in s\": 49.63871399999998 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.744158926088524, \"RMSE\": 38.95638961509032, \"R2\": 0.6665241448790927, \"Memory in Mb\": 1.171940803527832, \"Time in s\": 51.68634399999998 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.965548256363952, \"RMSE\": 40.779089345824126, \"R2\": 0.6619939776632806, \"Memory in Mb\": 1.1861085891723633, \"Time in s\": 53.83172099999997 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 26.10164191353107, \"RMSE\": 40.80941552099692, \"R2\": 0.669724624616493, \"Memory in Mb\": 1.1904268264770508, \"Time in s\": 56.00600499999997 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.656196028844478, \"RMSE\": 13.301506400077992, \"R2\": -414.0076115498352, \"Memory in Mb\": 0.2015810012817382, \"Time in s\": 0.057323 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.307191630717303, \"RMSE\": 9.5148436405931, \"R2\": -35.39725790498291, \"Memory in Mb\": 0.2895097732543945, \"Time in s\": 0.159522 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3916587233350866, \"RMSE\": 7.783560456255013, \"R2\": -31.83725667748105, \"Memory in Mb\": 0.3228082656860351, \"Time in s\": 0.43784 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0172424359013847, \"RMSE\": 6.770328731809264, \"R2\": -23.92145608895444, \"Memory in Mb\": 0.3692712783813476, \"Time in s\": 0.749169 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.069330341220504, \"RMSE\": 6.141775226189047, \"R2\": -11.868015650386663, \"Memory in Mb\": 0.4076700210571289, \"Time in s\": 1.082433 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.013474643057227, \"RMSE\": 5.653544639730099, \"R2\": -8.249866206703038, \"Memory in Mb\": 0.4241609573364258, \"Time in s\": 1.485703 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.894365920134237, \"RMSE\": 5.255534318342925, \"R2\": -7.260127227254786, \"Memory in Mb\": 0.4439592361450195, \"Time in s\": 2.052392 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.942363436061872, \"RMSE\": 4.987168106592344, \"R2\": -5.559462264629689, \"Memory in Mb\": 0.4557695388793945, \"Time in s\": 2.6505280000000004 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9639788846395132, \"RMSE\": 4.758402061618727, \"R2\": -4.244508869717663, \"Memory in Mb\": 0.4725847244262695, \"Time in s\": 3.3297560000000006 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9045329443413328, \"RMSE\": 4.539431452034987, \"R2\": -3.787127034775958, \"Memory in Mb\": 0.5018167495727539, \"Time in s\": 4.037089000000001 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7801675790175082, \"RMSE\": 4.332908187325825, \"R2\": -3.704734847036908, \"Memory in Mb\": 0.539036750793457, \"Time in s\": 4.871381000000001 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7262455165213564, \"RMSE\": 4.162317120423255, \"R2\": -3.374233717467068, \"Memory in Mb\": 0.5583086013793945, \"Time in s\": 5.726343000000002 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6726006855046047, \"RMSE\": 4.010034080286883, \"R2\": -3.11472540009772, \"Memory in Mb\": 0.586766242980957, \"Time in s\": 6.608691000000002 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6001254820213158, \"RMSE\": 3.86938412403892, \"R2\": -3.01116046378164, \"Memory in Mb\": 0.6034517288208008, \"Time in s\": 7.537396000000002 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5903246290151525, \"RMSE\": 3.758572865099384, \"R2\": -2.72204992570884, \"Memory in Mb\": 0.6344270706176758, \"Time in s\": 8.563678000000001 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5306703522535514, \"RMSE\": 3.644833568467773, \"R2\": -2.673500446315358, \"Memory in Mb\": 0.6524057388305664, \"Time in s\": 9.653495 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.462120415173825, \"RMSE\": 3.538151879462345, \"R2\": -2.658070572544154, \"Memory in Mb\": 0.6771516799926758, \"Time in s\": 10.778313 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4104873891633294, \"RMSE\": 3.442715407420023, \"R2\": -2.491830651593505, \"Memory in Mb\": 0.712040901184082, \"Time in s\": 12.006044 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3577274631021343, \"RMSE\": 3.353553439657788, \"R2\": -2.42792224294701, \"Memory in Mb\": 0.7612085342407227, \"Time in s\": 13.264975000000002 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.328889471148693, \"RMSE\": 3.2750276755937477, \"R2\": -2.361664675892684, \"Memory in Mb\": 0.7830896377563477, \"Time in s\": 14.608014 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2856838141339133, \"RMSE\": 3.198005596242657, \"R2\": -2.3114858734875385, \"Memory in Mb\": 0.8153314590454102, \"Time in s\": 15.987435 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2502461578606217, \"RMSE\": 3.1277634460074983, \"R2\": -2.1102975482726696, \"Memory in Mb\": 0.8549776077270508, \"Time in s\": 17.476653000000002 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2118787702501406, \"RMSE\": 3.0607885313580625, \"R2\": -1.824527619127544, \"Memory in Mb\": 0.8641138076782227, \"Time in s\": 19.005275 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1755519926992437, \"RMSE\": 2.997482691409013, \"R2\": -1.6465763687209671, \"Memory in Mb\": 0.904881477355957, \"Time in s\": 20.582478 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1542746800420942, \"RMSE\": 2.9412002898427465, \"R2\": -1.494663742459657, \"Memory in Mb\": 0.9429025650024414, \"Time in s\": 22.213321 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1232655769227813, \"RMSE\": 2.885625631130148, \"R2\": -1.4054721071787497, \"Memory in Mb\": 0.9187402725219728, \"Time in s\": 23.93785 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0927628011224122, \"RMSE\": 2.8324064719208977, \"R2\": -1.3090698562992058, \"Memory in Mb\": 0.9784936904907228, \"Time in s\": 25.72016 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0798076211233285, \"RMSE\": 2.7860066009246958, \"R2\": -1.2872677886963872, \"Memory in Mb\": 0.8415918350219727, \"Time in s\": 27.559893 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0533259806656756, \"RMSE\": 2.7386650773118006, \"R2\": -1.2648586320750757, \"Memory in Mb\": 0.926945686340332, \"Time in s\": 29.430927 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0370277841126194, \"RMSE\": 2.695306817676886, \"R2\": -1.1694452334238137, \"Memory in Mb\": 1.0152063369750977, \"Time in s\": 31.394822 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0220360797787769, \"RMSE\": 2.6548714349996483, \"R2\": -1.0727572654712625, \"Memory in Mb\": 0.9687509536743164, \"Time in s\": 33.420245 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.006223169156282, \"RMSE\": 2.615089153799328, \"R2\": -0.9735122270872276, \"Memory in Mb\": 0.8030519485473633, \"Time in s\": 35.538976 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9862189251721106, \"RMSE\": 2.576116595691222, \"R2\": -0.901357605879683, \"Memory in Mb\": 0.7759256362915039, \"Time in s\": 37.763356 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9658028732124052, \"RMSE\": 2.5385905860617046, \"R2\": -0.8755448750460146, \"Memory in Mb\": 0.8428354263305664, \"Time in s\": 40.028227 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.958070286753166, \"RMSE\": 2.506070409170758, \"R2\": -0.8758066430098239, \"Memory in Mb\": 0.9465646743774414, \"Time in s\": 42.353807 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9436099236768006, \"RMSE\": 2.472715624364642, \"R2\": -0.8663281360281503, \"Memory in Mb\": 1.0379304885864258, \"Time in s\": 44.723793 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9279645732871132, \"RMSE\": 2.440285299254925, \"R2\": -0.8166009677654511, \"Memory in Mb\": 1.1119890213012695, \"Time in s\": 47.149898 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.91590994704171, \"RMSE\": 2.410261116608071, \"R2\": -0.7913739428902633, \"Memory in Mb\": 1.1737489700317385, \"Time in s\": 49.62861 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8968362370347621, \"RMSE\": 2.379411736746614, \"R2\": -0.7536320120768303, \"Memory in Mb\": 1.261582374572754, \"Time in s\": 52.179919 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8878342141912964, \"RMSE\": 2.351392140243472, \"R2\": -0.7280625702741705, \"Memory in Mb\": 1.3552255630493164, \"Time in s\": 54.784302 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8775558321142263, \"RMSE\": 2.3237456817971016, \"R2\": -0.7062000372474271, \"Memory in Mb\": 1.4321069717407229, \"Time in s\": 57.452517 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8672496542857573, \"RMSE\": 2.297532908897418, \"R2\": -0.6834092983276716, \"Memory in Mb\": 1.4874773025512695, \"Time in s\": 60.173386 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8593706057522699, \"RMSE\": 2.272389423762812, \"R2\": -0.6439286158863597, \"Memory in Mb\": 1.5595178604125977, \"Time in s\": 62.976048 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8551106332542915, \"RMSE\": 2.2487703297155224, \"R2\": -0.6019328469057044, \"Memory in Mb\": 1.619084358215332, \"Time in s\": 65.856537 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8437512715146732, \"RMSE\": 2.224375873084905, \"R2\": -0.5739713521606553, \"Memory in Mb\": 1.1261072158813477, \"Time in s\": 68.798174 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8344220404851989, \"RMSE\": 2.2010168562801016, \"R2\": -0.5664083310843888, \"Memory in Mb\": 1.167832374572754, \"Time in s\": 71.779904 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.825939320609599, \"RMSE\": 2.179009982884269, \"R2\": -0.5482654902802699, \"Memory in Mb\": 1.1199464797973633, \"Time in s\": 74.829165 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8156984309758435, \"RMSE\": 2.1571048007400404, \"R2\": -0.5331573747015668, \"Memory in Mb\": 1.1733713150024414, \"Time in s\": 77.929016 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.806477335746804, \"RMSE\": 2.1360065895495888, \"R2\": -0.5325097322303367, \"Memory in Mb\": 1.2283296585083008, \"Time in s\": 81.05698100000001 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8008625237630099, \"RMSE\": 2.1159877488140326, \"R2\": -0.5292346593649373, \"Memory in Mb\": 1.2836008071899414, \"Time in s\": 84.241983 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.800378499538596, \"RMSE\": 2.1149541843634605, \"R2\": -0.5287610996295022, \"Memory in Mb\": 1.2846193313598633, \"Time in s\": 87.445729 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.0878895070954884, \"RMSE\": 1.3778002085324723, \"R2\": -1.2599207317049026, \"Memory in Mb\": 0.1791715621948242, \"Time in s\": 0.003809 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.15171477394762, \"RMSE\": 1.5218208011368886, \"R2\": -1.3974856828423898, \"Memory in Mb\": 0.3313665390014648, \"Time in s\": 0.017797 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.2596040860169628, \"RMSE\": 1.630698561429495, \"R2\": -0.8214033882315572, \"Memory in Mb\": 0.4835615158081054, \"Time in s\": 0.056943 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.147002532502157, \"RMSE\": 1.5136945038262, \"R2\": -0.7860708992998826, \"Memory in Mb\": 0.6357030868530273, \"Time in s\": 0.120895 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.7448650745312246, \"RMSE\": 2.8901942810902064, \"R2\": -0.6023944619968462, \"Memory in Mb\": 0.795161247253418, \"Time in s\": 0.341288 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.974173643458203, \"RMSE\": 3.1122799656868354, \"R2\": 0.1967701507194095, \"Memory in Mb\": 0.949946403503418, \"Time in s\": 0.602886 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3465039451978784, \"RMSE\": 3.868783481489585, \"R2\": 0.1653904369447871, \"Memory in Mb\": 1.1044378280639648, \"Time in s\": 0.885897 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3152944739841907, \"RMSE\": 3.751470845606434, \"R2\": 0.286453015670338, \"Memory in Mb\": 1.2595434188842771, \"Time in s\": 1.213122 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.485126688481329, \"RMSE\": 3.8753788781661274, \"R2\": 0.3615628965518305, \"Memory in Mb\": 1.4176397323608398, \"Time in s\": 1.708637 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.679180085056696, \"RMSE\": 4.098463178184459, \"R2\": 0.5005082908479199, \"Memory in Mb\": 1.580409049987793, \"Time in s\": 2.233256 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.993112128155013, \"RMSE\": 4.501608187312601, \"R2\": 0.5353065115430311, \"Memory in Mb\": 1.7385053634643557, \"Time in s\": 2.789253 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.049130101089184, \"RMSE\": 4.474860576824222, \"R2\": 0.624267329970883, \"Memory in Mb\": 1.8972959518432615, \"Time in s\": 3.530617 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.129389359320645, \"RMSE\": 4.535626207267123, \"R2\": 0.6870855629914132, \"Memory in Mb\": 2.0540571212768555, \"Time in s\": 4.307795 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.2350921629171503, \"RMSE\": 4.614317779917637, \"R2\": 0.7245583098520811, \"Memory in Mb\": 2.21335506439209, \"Time in s\": 5.238077 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.615407192454655, \"RMSE\": 5.434402308521257, \"R2\": 0.6928112980835472, \"Memory in Mb\": 2.370730400085449, \"Time in s\": 6.215347 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.842899644735678, \"RMSE\": 5.8926781106586255, \"R2\": 0.7087106044563829, \"Memory in Mb\": 2.5251951217651367, \"Time in s\": 7.308114 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.939333513046091, \"RMSE\": 5.936527515565436, \"R2\": 0.7578865873655871, \"Memory in Mb\": 2.680434226989746, \"Time in s\": 8.444739 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.1526220464224926, \"RMSE\": 6.160116941975886, \"R2\": 0.7926170753106898, \"Memory in Mb\": 2.8339643478393555, \"Time in s\": 9.747256 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.486090256229248, \"RMSE\": 6.857164593682279, \"R2\": 0.7881489392686998, \"Memory in Mb\": 2.990111351013184, \"Time in s\": 11.107311 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.095083445923365, \"RMSE\": 8.268326900050806, \"R2\": 0.7303274183124314, \"Memory in Mb\": 3.147219657897949, \"Time in s\": 12.601651 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.345901760482457, \"RMSE\": 8.651953805757511, \"R2\": 0.7474084291359289, \"Memory in Mb\": 3.301150321960449, \"Time in s\": 14.172197999999998 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.775936882313693, \"RMSE\": 9.234098241635358, \"R2\": 0.7685060952534608, \"Memory in Mb\": 3.4575910568237305, \"Time in s\": 15.876551999999998 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.050411841877211, \"RMSE\": 9.480574702158652, \"R2\": 0.7880472652798773, \"Memory in Mb\": 3.6158742904663086, \"Time in s\": 17.675130999999997 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.7396819662512994, \"RMSE\": 10.861908099063555, \"R2\": 0.7457953067175733, \"Memory in Mb\": 3.77274227142334, \"Time in s\": 19.599013 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.418933110619537, \"RMSE\": 12.596893007879746, \"R2\": 0.699156722346497, \"Memory in Mb\": 3.926619529724121, \"Time in s\": 21.625011 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.830180870941, \"RMSE\": 13.02165358749325, \"R2\": 0.7215679622698357, \"Memory in Mb\": 4.082179069519043, \"Time in s\": 23.771258 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.059624975297776, \"RMSE\": 13.201631143135527, \"R2\": 0.7517949935656911, \"Memory in Mb\": 4.237311363220215, \"Time in s\": 26.095147 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.517266870602596, \"RMSE\": 14.029786197157003, \"R2\": 0.750336177123377, \"Memory in Mb\": 4.390841484069824, \"Time in s\": 28.501657 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.872910663629112, \"RMSE\": 17.67011178426297, \"R2\": 0.6406578335650022, \"Memory in Mb\": 4.544772148132324, \"Time in s\": 31.026265 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.355957081475973, \"RMSE\": 18.251720539867826, \"R2\": 0.671924837978655, \"Memory in Mb\": 4.698409080505371, \"Time in s\": 33.677708 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.779061369126929, \"RMSE\": 18.644503325392748, \"R2\": 0.6934349036095702, \"Memory in Mb\": 4.852313041687012, \"Time in s\": 36.483969 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.97013178962945, \"RMSE\": 18.69029492717773, \"R2\": 0.7199342471488321, \"Memory in Mb\": 5.009421348571777, \"Time in s\": 39.412921 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.836385670325258, \"RMSE\": 20.411474322578705, \"R2\": 0.6756306209292051, \"Memory in Mb\": 5.165541648864746, \"Time in s\": 42.477176 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.650208752532226, \"RMSE\": 22.152599191433616, \"R2\": 0.6487731216482631, \"Memory in Mb\": 5.323611259460449, \"Time in s\": 45.685202 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.26433375884341, \"RMSE\": 22.74111870549559, \"R2\": 0.672536034672935, \"Memory in Mb\": 5.478930473327637, \"Time in s\": 49.011467 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.285084454056172, \"RMSE\": 22.62858691877232, \"R2\": 0.6976709876564118, \"Memory in Mb\": 5.63400936126709, \"Time in s\": 52.447627 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 14.297859574888522, \"RMSE\": 24.603705237609702, \"R2\": 0.6677818184200794, \"Memory in Mb\": 5.789168357849121, \"Time in s\": 55.986709 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 15.277775247208368, \"RMSE\": 26.91758918665374, \"R2\": 0.6267299649165277, \"Memory in Mb\": 5.945448875427246, \"Time in s\": 59.629264 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.148002577856595, \"RMSE\": 27.91235298687263, \"R2\": 0.643353503146777, \"Memory in Mb\": 6.099112510681152, \"Time in s\": 63.379206 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.450833155107055, \"RMSE\": 28.053185003016477, \"R2\": 0.6652347923635655, \"Memory in Mb\": 6.252856254577637, \"Time in s\": 67.23493599999999 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.938736394119786, \"RMSE\": 28.680885446607185, \"R2\": 0.6649461832952053, \"Memory in Mb\": 6.407908439636231, \"Time in s\": 71.205463 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 18.465286457846624, \"RMSE\": 32.222162406640614, \"R2\": 0.6027938253530374, \"Memory in Mb\": 6.562827110290527, \"Time in s\": 75.286683 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.36878629272608, \"RMSE\": 33.403615991184594, \"R2\": 0.6231055060350865, \"Memory in Mb\": 6.717398643493652, \"Time in s\": 79.474485 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.88015130963188, \"RMSE\": 33.764210229402664, \"R2\": 0.6360141173956066, \"Memory in Mb\": 6.872824668884277, \"Time in s\": 83.769797 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.57744796303998, \"RMSE\": 34.830627929035586, \"R2\": 0.6356250399764956, \"Memory in Mb\": 7.029131889343262, \"Time in s\": 88.176271 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 21.43571571603741, \"RMSE\": 36.40788480688662, \"R2\": 0.6134430891768862, \"Memory in Mb\": 7.184878349304199, \"Time in s\": 92.694929 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.34914238062968, \"RMSE\": 37.807266067412606, \"R2\": 0.6066317565796657, \"Memory in Mb\": 7.340197563171387, \"Time in s\": 97.332285 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.191315994328228, \"RMSE\": 38.81894260965106, \"R2\": 0.6271697641288401, \"Memory in Mb\": 7.495863914489746, \"Time in s\": 102.073572 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.34075784343543, \"RMSE\": 38.827434948624926, \"R2\": 0.6423969913213963, \"Memory in Mb\": 7.652411460876465, \"Time in s\": 106.920364 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.12545732554984, \"RMSE\": 39.99965605849559, \"R2\": 0.6321733437483394, \"Memory in Mb\": 7.811335563659668, \"Time in s\": 111.876093 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.859407485948264, \"RMSE\": 40.9180834433101, \"R2\": 0.6319179521646502, \"Memory in Mb\": 7.9698591232299805, \"Time in s\": 116.942977 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.582967433016183, \"RMSE\": 41.65667948828452, \"R2\": 0.6471310448579161, \"Memory in Mb\": 8.12806224822998, \"Time in s\": 122.12293 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.674172622955844, \"RMSE\": 41.71227980537356, \"R2\": 0.65479005999511, \"Memory in Mb\": 8.21412181854248, \"Time in s\": 127.415096 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3812789990066343, \"RMSE\": 0.4856864156914124, \"R2\": 0.4734504440676397, \"Memory in Mb\": 0.3661947250366211, \"Time in s\": 0.012803 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3903932807396207, \"RMSE\": 0.4802129236445582, \"R2\": 0.908098150441852, \"Memory in Mb\": 0.7077703475952148, \"Time in s\": 0.066318 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3553562094560649, \"RMSE\": 0.4475448539758346, \"R2\": 0.8908737885344612, \"Memory in Mb\": 1.0465993881225586, \"Time in s\": 0.161186 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3785078228066897, \"RMSE\": 0.4818104291982039, \"R2\": 0.8725877843301283, \"Memory in Mb\": 1.386988639831543, \"Time in s\": 0.310355 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3456451525369771, \"RMSE\": 0.450476311872574, \"R2\": 0.9301027529077078, \"Memory in Mb\": 1.7262754440307615, \"Time in s\": 0.520575 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3369671927041528, \"RMSE\": 0.4421642502671299, \"R2\": 0.9427860880043346, \"Memory in Mb\": 2.0684385299682617, \"Time in s\": 0.828496 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3170957614007029, \"RMSE\": 0.4217273000916425, \"R2\": 0.9461011323760548, \"Memory in Mb\": 2.404311180114746, \"Time in s\": 1.349971 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3307037984070857, \"RMSE\": 0.4315519243898653, \"R2\": 0.9502341257934384, \"Memory in Mb\": 2.7412595748901367, \"Time in s\": 1.938101 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3239117556806251, \"RMSE\": 0.4198186275021798, \"R2\": 0.9586532343987924, \"Memory in Mb\": 3.0777502059936523, \"Time in s\": 2.6707590000000003 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3216990324082377, \"RMSE\": 0.4152317221827294, \"R2\": 0.959406710806771, \"Memory in Mb\": 3.414671897888184, \"Time in s\": 3.525266 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3195426619101423, \"RMSE\": 0.4098153846782661, \"R2\": 0.95731130106893, \"Memory in Mb\": 3.7566747665405273, \"Time in s\": 4.592894 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3205833893003068, \"RMSE\": 0.409734240531711, \"R2\": 0.9569909127297423, \"Memory in Mb\": 4.096526145935059, \"Time in s\": 5.7511 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3096350275266986, \"RMSE\": 0.3977121378847216, \"R2\": 0.958918388812615, \"Memory in Mb\": 4.436213493347168, \"Time in s\": 7.098098 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3021514917324106, \"RMSE\": 0.3881456980787764, \"R2\": 0.9590118642619369, \"Memory in Mb\": 4.772730827331543, \"Time in s\": 8.655558000000001 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.302378432925199, \"RMSE\": 0.3879302261175293, \"R2\": 0.9597410141114792, \"Memory in Mb\": 5.1073408126831055, \"Time in s\": 10.324296 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3042635511277332, \"RMSE\": 0.3880820602227424, \"R2\": 0.9577019017103428, \"Memory in Mb\": 5.440821647644043, \"Time in s\": 12.208908 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3061116805473403, \"RMSE\": 0.391104192749731, \"R2\": 0.9546026616524738, \"Memory in Mb\": 5.773791313171387, \"Time in s\": 14.314788 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3092553456162419, \"RMSE\": 0.3953517094261167, \"R2\": 0.9532980843409116, \"Memory in Mb\": 6.1096906661987305, \"Time in s\": 16.588556 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3076082401740039, \"RMSE\": 0.3960205626085123, \"R2\": 0.9515479192781826, \"Memory in Mb\": 6.445483207702637, \"Time in s\": 19.05639 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3014609513967445, \"RMSE\": 0.3890658925747077, \"R2\": 0.951945723428325, \"Memory in Mb\": 6.780200004577637, \"Time in s\": 21.697867 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2971138293692631, \"RMSE\": 0.3834166944817816, \"R2\": 0.9518088379060108, \"Memory in Mb\": 7.116557121276856, \"Time in s\": 24.511965000000004 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2982326339454942, \"RMSE\": 0.3845174635941775, \"R2\": 0.952475485177767, \"Memory in Mb\": 7.451247215270996, \"Time in s\": 27.506667000000004 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2946274143925286, \"RMSE\": 0.3801223802157071, \"R2\": 0.9560358463571956, \"Memory in Mb\": 7.78644847869873, \"Time in s\": 30.697063000000004 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2933968019133882, \"RMSE\": 0.3767220961039539, \"R2\": 0.9578595845961764, \"Memory in Mb\": 8.120524406433105, \"Time in s\": 34.045785 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2879691623817681, \"RMSE\": 0.3709865810494578, \"R2\": 0.9600287871527096, \"Memory in Mb\": 8.45413875579834, \"Time in s\": 37.543006000000005 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2858512762877924, \"RMSE\": 0.3680336140311482, \"R2\": 0.9606162857565064, \"Memory in Mb\": 8.791060447692871, \"Time in s\": 41.194255000000005 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.28337361966731, \"RMSE\": 0.3643610952909248, \"R2\": 0.9615619008486128, \"Memory in Mb\": 9.128493309020996, \"Time in s\": 45.008334000000005 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2882996011532734, \"RMSE\": 0.3724151060029248, \"R2\": 0.9588932716362208, \"Memory in Mb\": 9.463343620300291, \"Time in s\": 48.98956 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.289315517198266, \"RMSE\": 0.3729583387798602, \"R2\": 0.957758997678865, \"Memory in Mb\": 9.801314353942873, \"Time in s\": 53.13082800000001 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2880445309367084, \"RMSE\": 0.3714720231862385, \"R2\": 0.9585805866298192, \"Memory in Mb\": 10.13992977142334, \"Time in s\": 57.44083900000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.285913070387579, \"RMSE\": 0.3694806072400069, \"R2\": 0.95966894305211, \"Memory in Mb\": 10.477011680603027, \"Time in s\": 61.917696000000014 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2840899599351511, \"RMSE\": 0.3669642572161526, \"R2\": 0.9609793991220156, \"Memory in Mb\": 10.80936336517334, \"Time in s\": 66.56801000000002 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2804371592513609, \"RMSE\": 0.3629082548929102, \"R2\": 0.9621252180674722, \"Memory in Mb\": 11.1486234664917, \"Time in s\": 71.37699000000002 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2832721366095781, \"RMSE\": 0.3646482252308528, \"R2\": 0.9611623224331388, \"Memory in Mb\": 11.485033988952637, \"Time in s\": 76.34970200000002 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2853757262809053, \"RMSE\": 0.3664704272728199, \"R2\": 0.959741096022156, \"Memory in Mb\": 11.82703685760498, \"Time in s\": 81.48889300000002 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2846995678315971, \"RMSE\": 0.3663721647933076, \"R2\": 0.9588788359612516, \"Memory in Mb\": 12.1649808883667, \"Time in s\": 86.79821800000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.284389692089141, \"RMSE\": 0.365623460665911, \"R2\": 0.9590812376103318, \"Memory in Mb\": 12.5026273727417, \"Time in s\": 92.27027700000002 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2812524955317089, \"RMSE\": 0.3622785856535135, \"R2\": 0.9593969665626948, \"Memory in Mb\": 12.84118938446045, \"Time in s\": 97.89633500000002 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2784736419799919, \"RMSE\": 0.3590495394564995, \"R2\": 0.9599459478528628, \"Memory in Mb\": 13.18101406097412, \"Time in s\": 103.67983800000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.28122680710979, \"RMSE\": 0.3614117991183927, \"R2\": 0.9590552347518728, \"Memory in Mb\": 13.522452354431152, \"Time in s\": 109.62063100000002 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2798414038154103, \"RMSE\": 0.3599105705870861, \"R2\": 0.958953025104572, \"Memory in Mb\": 13.858756065368652, \"Time in s\": 115.71824100000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2792299366421054, \"RMSE\": 0.358810295818463, \"R2\": 0.9588293518961978, \"Memory in Mb\": 14.19906520843506, \"Time in s\": 121.97670500000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2757234931419036, \"RMSE\": 0.3557294429539717, \"R2\": 0.9596100235239656, \"Memory in Mb\": 14.53821849822998, \"Time in s\": 128.39866500000002 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2725087918367814, \"RMSE\": 0.3526976163964828, \"R2\": 0.9604999212537026, \"Memory in Mb\": 14.877989768981934, \"Time in s\": 134.987331 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2707423985398595, \"RMSE\": 0.3505322158445511, \"R2\": 0.9608236269181288, \"Memory in Mb\": 15.214400291442873, \"Time in s\": 141.746125 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2714968277868111, \"RMSE\": 0.3507195370917735, \"R2\": 0.960138783514385, \"Memory in Mb\": 15.551268577575684, \"Time in s\": 148.677278 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2704179121014184, \"RMSE\": 0.350599255928843, \"R2\": 0.9598313134304426, \"Memory in Mb\": 15.892088890075684, \"Time in s\": 155.784091 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2707082259086565, \"RMSE\": 0.3516525290937312, \"R2\": 0.9591696518431828, \"Memory in Mb\": 16.229090690612793, \"Time in s\": 163.071856 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2709225398475326, \"RMSE\": 0.3517696828828596, \"R2\": 0.9583487676398438, \"Memory in Mb\": 16.574454307556152, \"Time in s\": 170.541967 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2686954199893275, \"RMSE\": 0.349579763566054, \"R2\": 0.9581740736545136, \"Memory in Mb\": 16.91306972503662, \"Time in s\": 178.198313 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.268533139095725, \"RMSE\": 0.3494211343568523, \"R2\": 0.9581842100200092, \"Memory in Mb\": 16.932257652282715, \"Time in s\": 186.03359 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.664574314574316, \"RMSE\": 12.7079745317607, \"R2\": -206.87879383707747, \"Memory in Mb\": 0.0196142196655273, \"Time in s\": 0.000715 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.767694704637076, \"RMSE\": 9.018587183866767, \"R2\": -85.14025986830408, \"Memory in Mb\": 0.0211782455444335, \"Time in s\": 0.002248 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3093367298127023, \"RMSE\": 7.420500566500976, \"R2\": -37.24267181629702, \"Memory in Mb\": 0.0263471603393554, \"Time in s\": 0.0045 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 1.892363968348808, \"RMSE\": 6.441521936619904, \"R2\": -31.668094594906044, \"Memory in Mb\": 0.0274343490600585, \"Time in s\": 0.007522 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.1129412159858934, \"RMSE\": 6.114058653243701, \"R2\": -6.297346571779499, \"Memory in Mb\": 0.0340337753295898, \"Time in s\": 0.011341 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.832849782567835, \"RMSE\": 6.236602142425367, \"R2\": -2.2730130120415795, \"Memory in Mb\": 0.043257713317871, \"Time in s\": 0.016081 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4069290990236856, \"RMSE\": 6.402381882180361, \"R2\": -1.3118663438824, \"Memory in Mb\": 0.0494871139526367, \"Time in s\": 0.021988 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 3.650377971160808, \"RMSE\": 6.321189272940957, \"R2\": -1.043267371916866, \"Memory in Mb\": 0.0551328659057617, \"Time in s\": 0.050945 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.035631404360372, \"RMSE\": 6.4483291916176695, \"R2\": -0.7783857772357967, \"Memory in Mb\": 0.0562467575073242, \"Time in s\": 0.083616 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.693189868957898, \"RMSE\": 7.0697740144659305, \"R2\": -0.4927792786841307, \"Memory in Mb\": 0.0576238632202148, \"Time in s\": 0.119642 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.274396860168236, \"RMSE\": 7.6542276724395, \"R2\": -0.3476225254437259, \"Memory in Mb\": 0.0577573776245117, \"Time in s\": 0.157993 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.216037157212015, \"RMSE\": 7.551012267266295, \"R2\": -0.0719037453282565, \"Memory in Mb\": 0.0578107833862304, \"Time in s\": 0.197604 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.030848211447775, \"RMSE\": 7.321940337412501, \"R2\": 0.1836709538125499, \"Memory in Mb\": 0.058394432067871, \"Time in s\": 0.238591 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.907406922429448, \"RMSE\": 7.137924382310331, \"R2\": 0.3406662269828342, \"Memory in Mb\": 0.0584478378295898, \"Time in s\": 0.28091 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.132506734403487, \"RMSE\": 7.341156657504303, \"R2\": 0.439370571581684, \"Memory in Mb\": 0.0584478378295898, \"Time in s\": 0.32452 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.292049153445915, \"RMSE\": 7.468652514259996, \"R2\": 0.5321251372519638, \"Memory in Mb\": 0.0590581893920898, \"Time in s\": 0.369448 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.31698748044205, \"RMSE\": 7.461166418014795, \"R2\": 0.6176873420824156, \"Memory in Mb\": 0.0591115951538085, \"Time in s\": 0.415771 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.300228902480157, \"RMSE\": 7.425148329077998, \"R2\": 0.6988181014109027, \"Memory in Mb\": 0.0590581893920898, \"Time in s\": 0.474994 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.830499581707958, \"RMSE\": 9.648698249017793, \"R2\": 0.5807452540036802, \"Memory in Mb\": 0.0252714157104492, \"Time in s\": 0.54427 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 6.400718854692065, \"RMSE\": 10.45569246424029, \"R2\": 0.5689754490886993, \"Memory in Mb\": 0.0314207077026367, \"Time in s\": 0.614353 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 6.611665150046439, \"RMSE\": 10.61745698030736, \"R2\": 0.6198209084753062, \"Memory in Mb\": 0.0365362167358398, \"Time in s\": 0.6853290000000001 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.029624246247838, \"RMSE\": 11.197269958950692, \"R2\": 0.6597654020329642, \"Memory in Mb\": 0.0410680770874023, \"Time in s\": 0.7572760000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.254490759785878, \"RMSE\": 11.350610231674398, \"R2\": 0.6963529412438163, \"Memory in Mb\": 0.0445928573608398, \"Time in s\": 0.830219 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.784750145903498, \"RMSE\": 12.258358647532567, \"R2\": 0.6764200982742594, \"Memory in Mb\": 0.0446996688842773, \"Time in s\": 0.904176 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 8.342804112650073, \"RMSE\": 13.247943494163705, \"R2\": 0.6674407623884211, \"Memory in Mb\": 0.0446996688842773, \"Time in s\": 0.986871 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 8.88061114203256, \"RMSE\": 14.075280539927816, \"R2\": 0.6748649197186086, \"Memory in Mb\": 0.0452032089233398, \"Time in s\": 1.0705630000000002 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 9.50078499680378, \"RMSE\": 14.855892526018591, \"R2\": 0.6858683144490312, \"Memory in Mb\": 0.0452299118041992, \"Time in s\": 1.1552540000000002 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 10.07078824210446, \"RMSE\": 15.77018489177999, \"R2\": 0.6847321098344714, \"Memory in Mb\": 0.0452566146850585, \"Time in s\": 1.2409280000000005 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 10.988840488902907, \"RMSE\": 17.80174938329892, \"R2\": 0.6354464447499208, \"Memory in Mb\": 0.0452566146850585, \"Time in s\": 1.3276340000000002 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.635092222175304, \"RMSE\": 18.61329763011445, \"R2\": 0.6589287557789436, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.4153970000000002 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.7817306308102, \"RMSE\": 18.65165772134248, \"R2\": 0.6933268021215234, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.5042310000000003 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.878812775671824, \"RMSE\": 18.699040402285984, \"R2\": 0.7198024587207095, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.5941090000000002 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 12.712200605470676, \"RMSE\": 19.934033697107445, \"R2\": 0.690787203614232, \"Memory in Mb\": 0.0453100204467773, \"Time in s\": 1.685007 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.202927457133043, \"RMSE\": 20.9603625224819, \"R2\": 0.6857237785454591, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.776946 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.5542070698499, \"RMSE\": 21.51079994203591, \"R2\": 0.707149447507495, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.869942 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.642433072457155, \"RMSE\": 21.454130101613703, \"R2\": 0.7283852775805406, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.963987 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 14.50232093628697, \"RMSE\": 22.86556238504221, \"R2\": 0.7132152539462153, \"Memory in Mb\": 0.0456762313842773, \"Time in s\": 2.060696 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.245933470432924, \"RMSE\": 24.220098655355127, \"R2\": 0.6979521608965717, \"Memory in Mb\": 0.045729637145996, \"Time in s\": 2.158386 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.766409258920858, \"RMSE\": 25.08619072251902, \"R2\": 0.7120527209837302, \"Memory in Mb\": 0.045729637145996, \"Time in s\": 2.2570650000000003 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.931210335947624, \"RMSE\": 25.166941851240068, \"R2\": 0.7307081986676882, \"Memory in Mb\": 0.0456495285034179, \"Time in s\": 2.4439120000000005 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 16.418312975299003, \"RMSE\": 25.73673973791796, \"R2\": 0.7303482652633313, \"Memory in Mb\": 0.0461797714233398, \"Time in s\": 2.6336030000000004 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 17.4982370763817, \"RMSE\": 27.78944281741256, \"R2\": 0.7047111429028308, \"Memory in Mb\": 0.0469236373901367, \"Time in s\": 2.8262370000000003 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 18.254684132762545, \"RMSE\": 29.056725346353637, \"R2\": 0.7149358826261665, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 3.0200670000000005 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 18.58513038702809, \"RMSE\": 29.35463525495672, \"R2\": 0.7250038129485413, \"Memory in Mb\": 0.046950340270996, \"Time in s\": 3.2149970000000003 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 19.01404260598322, \"RMSE\": 29.86038018890717, \"R2\": 0.7323226450377984, \"Memory in Mb\": 0.0468969345092773, \"Time in s\": 3.430483 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 19.88342353555136, \"RMSE\": 31.26600741511644, \"R2\": 0.7150584356224581, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 3.648791 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 20.595063111922972, \"RMSE\": 32.24616798680886, \"R2\": 0.713982273554131, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 3.869932 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 21.38047446701005, \"RMSE\": 33.43504054753495, \"R2\": 0.7235347994633756, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.098743 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 21.53249764026729, \"RMSE\": 33.42135235584957, \"R2\": 0.735168024057878, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.328606 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 22.49918784329445, \"RMSE\": 35.002118414433774, \"R2\": 0.7184757368310433, \"Memory in Mb\": 0.0470304489135742, \"Time in s\": 4.559521999999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 23.19163412189557, \"RMSE\": 35.912468657285935, \"R2\": 0.7166015220750928, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.791517 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 24.04065682138389, \"RMSE\": 37.100860859043735, \"R2\": 0.7202195492645626, \"Memory in Mb\": 0.046950340270996, \"Time in s\": 5.02459 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 24.19431912937701, \"RMSE\": 37.21658551958108, \"R2\": 0.7253190778127725, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 5.258551 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.695184981652336, \"RMSE\": 9.807184976514188, \"R2\": -224.6021011118197, \"Memory in Mb\": 0.0538091659545898, \"Time in s\": 0.004347 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3994713447037435, \"RMSE\": 7.102066178895935, \"R2\": -19.27845129783118, \"Memory in Mb\": 0.0761518478393554, \"Time in s\": 0.011776 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8170744682035584, \"RMSE\": 5.815253847056423, \"R2\": -17.329373299766118, \"Memory in Mb\": 0.0883970260620117, \"Time in s\": 0.021496 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.604995404573344, \"RMSE\": 5.081770494168446, \"R2\": -13.040545957103586, \"Memory in Mb\": 0.0980443954467773, \"Time in s\": 0.033628 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.824259078948539, \"RMSE\": 4.70488333223354, \"R2\": -6.5512954222403845, \"Memory in Mb\": 0.1071348190307617, \"Time in s\": 0.048339 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.918744608116588, \"RMSE\": 4.412336880489357, \"R2\": -4.634185300646759, \"Memory in Mb\": 0.1113233566284179, \"Time in s\": 0.066047 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8761207739327503, \"RMSE\": 4.13187920011476, \"R2\": -4.105616799680584, \"Memory in Mb\": 0.1133375167846679, \"Time in s\": 0.086317 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.961232939518506, \"RMSE\": 3.976173487274506, \"R2\": -3.1695661963674864, \"Memory in Mb\": 0.1174459457397461, \"Time in s\": 0.109348 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.066134597500757, \"RMSE\": 3.873731518767916, \"R2\": -2.4756944369169624, \"Memory in Mb\": 0.1194601058959961, \"Time in s\": 0.13519 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.051125997923389, \"RMSE\": 3.731810291394655, \"R2\": -2.23527456693896, \"Memory in Mb\": 0.017618179321289, \"Time in s\": 0.169486 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0738811328897206, \"RMSE\": 4.417664564856108, \"R2\": -3.890594467356201, \"Memory in Mb\": 0.0357999801635742, \"Time in s\": 0.205189 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9726100065438288, \"RMSE\": 4.237524240975239, \"R2\": -3.5337340888030546, \"Memory in Mb\": 0.0414991378784179, \"Time in s\": 0.242476 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8594315384151243, \"RMSE\": 4.074751007989252, \"R2\": -3.248610147038553, \"Memory in Mb\": 0.048842430114746, \"Time in s\": 0.281406 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7773205119132678, \"RMSE\": 3.936654153117972, \"R2\": -3.1518424972300867, \"Memory in Mb\": 0.0637884140014648, \"Time in s\": 0.322149 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8265705896173516, \"RMSE\": 3.8591002097544127, \"R2\": -2.923813511442849, \"Memory in Mb\": 0.0734968185424804, \"Time in s\": 0.364943 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7442837931334845, \"RMSE\": 3.739506488697679, \"R2\": -2.866813933026025, \"Memory in Mb\": 0.0810766220092773, \"Time in s\": 0.409782 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6994316865849048, \"RMSE\": 3.638004990484729, \"R2\": -2.8674589929341425, \"Memory in Mb\": 0.0861921310424804, \"Time in s\": 0.456846 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6868885299887, \"RMSE\": 3.55458556923881, \"R2\": -2.7224500036418355, \"Memory in Mb\": 0.0937795639038086, \"Time in s\": 0.506202 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.637461983479605, \"RMSE\": 3.464628975063406, \"R2\": -2.658760364179245, \"Memory in Mb\": 0.0988950729370117, \"Time in s\": 0.560423 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.622197889515682, \"RMSE\": 3.392154183911459, \"R2\": -2.6064142473473755, \"Memory in Mb\": 0.1061124801635742, \"Time in s\": 0.624493 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6252883623828789, \"RMSE\": 3.33131196963583, \"R2\": -2.593313247083074, \"Memory in Mb\": 0.1101140975952148, \"Time in s\": 0.691125 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.663593439145693, \"RMSE\": 3.2993129689970107, \"R2\": -2.4608371725208844, \"Memory in Mb\": 0.1157598495483398, \"Time in s\": 0.760369 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6928806013876203, \"RMSE\": 3.26900202016339, \"R2\": -2.221881423949668, \"Memory in Mb\": 0.1238431930541992, \"Time in s\": 0.832438 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6463369530072471, \"RMSE\": 3.2036213976345094, \"R2\": -2.023106408032965, \"Memory in Mb\": 0.1315031051635742, \"Time in s\": 0.907505 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6312675040418116, \"RMSE\": 3.1569789450171624, \"R2\": -1.8741285299844173, \"Memory in Mb\": 0.0784368515014648, \"Time in s\": 0.99002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6486177246548734, \"RMSE\": 3.1232792518100463, \"R2\": -1.81800645719813, \"Memory in Mb\": 0.0835790634155273, \"Time in s\": 1.082168 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.664948820150162, \"RMSE\": 3.091452157271598, \"R2\": -1.7507490735781142, \"Memory in Mb\": 0.0873861312866211, \"Time in s\": 1.179534 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6361907885919602, \"RMSE\": 3.043459997537018, \"R2\": -1.7295303491345493, \"Memory in Mb\": 0.0885534286499023, \"Time in s\": 1.466782 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6082012495575049, \"RMSE\": 2.9965453347231947, \"R2\": -1.7114709556760634, \"Memory in Mb\": 0.0890569686889648, \"Time in s\": 1.757406 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.622569336171024, \"RMSE\": 2.97009213510141, \"R2\": -1.634341750696236, \"Memory in Mb\": 0.0909147262573242, \"Time in s\": 2.050417 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.636890396487252, \"RMSE\": 2.946158197159977, \"R2\": -1.5525460315178896, \"Memory in Mb\": 0.0923452377319336, \"Time in s\": 2.345765 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.652159107256621, \"RMSE\": 2.9245287804119107, \"R2\": -1.4681901897894076, \"Memory in Mb\": 0.0944395065307617, \"Time in s\": 2.643466 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6570267761004454, \"RMSE\": 2.8972896524900835, \"R2\": -1.4050084478390592, \"Memory in Mb\": 0.0960302352905273, \"Time in s\": 2.943569 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6362052297782712, \"RMSE\": 2.859601997032609, \"R2\": -1.379870428705038, \"Memory in Mb\": 0.0981245040893554, \"Time in s\": 3.2460560000000003 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.608205636538717, \"RMSE\": 2.821326923745488, \"R2\": -1.377433396876134, \"Memory in Mb\": 0.1015691757202148, \"Time in s\": 3.5543920000000004 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5855230254631891, \"RMSE\": 2.785659545407005, \"R2\": -1.3686218528413674, \"Memory in Mb\": 0.1027364730834961, \"Time in s\": 3.875571 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.583695771004626, \"RMSE\": 2.7597111871599203, \"R2\": -1.3233016566851918, \"Memory in Mb\": 0.1038503646850586, \"Time in s\": 4.202987 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5704020318609786, \"RMSE\": 2.7290361106702816, \"R2\": -1.2965538228485634, \"Memory in Mb\": 0.1038503646850586, \"Time in s\": 4.532954 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5638796853366008, \"RMSE\": 2.702190403614744, \"R2\": -1.2616800152467116, \"Memory in Mb\": 0.1064214706420898, \"Time in s\": 4.876142 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5494799828615766, \"RMSE\": 2.674411214594314, \"R2\": -1.2354538504080876, \"Memory in Mb\": 0.1070318222045898, \"Time in s\": 5.221917 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.533437809889996, \"RMSE\": 2.6465115200139584, \"R2\": -1.213096407446464, \"Memory in Mb\": 0.1085958480834961, \"Time in s\": 5.570086999999999 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5202839319169328, \"RMSE\": 2.6201051582792827, \"R2\": -1.189291971541785, \"Memory in Mb\": 0.1101598739624023, \"Time in s\": 5.920738999999999 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5178574341866524, \"RMSE\": 2.5988091386120904, \"R2\": -1.1501373691585313, \"Memory in Mb\": 0.1107702255249023, \"Time in s\": 6.280333 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4962844530295305, \"RMSE\": 2.571223801389781, \"R2\": -1.094275733877604, \"Memory in Mb\": 0.1112470626831054, \"Time in s\": 6.652339 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4724252749133646, \"RMSE\": 2.5436398469986066, \"R2\": -1.0582196084183888, \"Memory in Mb\": 0.1116437911987304, \"Time in s\": 7.031402 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4596881679466962, \"RMSE\": 2.5220256913044325, \"R2\": -1.056635177134157, \"Memory in Mb\": 0.1116704940795898, \"Time in s\": 7.413564 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.452139596196528, \"RMSE\": 2.5028075284250018, \"R2\": -1.0425932823285438, \"Memory in Mb\": 0.1127042770385742, \"Time in s\": 7.802334 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4364147887122178, \"RMSE\": 2.481230554777158, \"R2\": -1.0285162299402342, \"Memory in Mb\": 0.1132078170776367, \"Time in s\": 8.193766 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4186260884044517, \"RMSE\": 2.45780687839372, \"R2\": -1.029053861068545, \"Memory in Mb\": 0.1138181686401367, \"Time in s\": 8.587828 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3997779646996389, \"RMSE\": 2.434572696055838, \"R2\": -1.024386017127401, \"Memory in Mb\": 0.1144285202026367, \"Time in s\": 8.984547 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3984653255896196, \"RMSE\": 2.433357833975862, \"R2\": -1.0237164038272608, \"Memory in Mb\": 0.1144285202026367, \"Time in s\": 9.38293 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.674710287324511, \"RMSE\": 12.709622005759083, \"R2\": -206.93269654300337, \"Memory in Mb\": 0.1438665390014648, \"Time in s\": 0.053261 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.741934273684416, \"RMSE\": 9.017856101646904, \"R2\": -85.12629469646626, \"Memory in Mb\": 0.1680784225463867, \"Time in s\": 0.14276 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.35434760029741, \"RMSE\": 7.430504888974863, \"R2\": -37.34585890537725, \"Memory in Mb\": 0.2096052169799804, \"Time in s\": 0.266148 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 1.9327820011330463, \"RMSE\": 6.452362261246447, \"R2\": -31.77814024428305, \"Memory in Mb\": 0.2417478561401367, \"Time in s\": 0.646479 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.2606373648191784, \"RMSE\": 6.146136842066936, \"R2\": -6.374120366305681, \"Memory in Mb\": 0.3060827255249023, \"Time in s\": 1.057843 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3521495161457717, \"RMSE\": 5.750947689984691, \"R2\": -1.7831107407377038, \"Memory in Mb\": 0.3567266464233398, \"Time in s\": 1.521792 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.707478618787897, \"RMSE\": 5.832856917221716, \"R2\": -0.9188552689556648, \"Memory in Mb\": 0.3732900619506836, \"Time in s\": 2.259814 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.60389034076398, \"RMSE\": 5.525482549715508, \"R2\": -0.5612341217350767, \"Memory in Mb\": 0.4128637313842773, \"Time in s\": 3.03269 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7646559934763437, \"RMSE\": 5.466320467144536, \"R2\": -0.2779732207399938, \"Memory in Mb\": 0.4623746871948242, \"Time in s\": 3.85418 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.880719733615897, \"RMSE\": 5.407041915578862, \"R2\": 0.1268195431914148, \"Memory in Mb\": 0.5318593978881836, \"Time in s\": 4.717509000000001 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.0896780011355176, \"RMSE\": 5.466874267225462, \"R2\": 0.3125459405386915, \"Memory in Mb\": 0.5604543685913086, \"Time in s\": 5.631386000000001 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.270943191870578, \"RMSE\": 5.7618521847151385, \"R2\": 0.3758777549527384, \"Memory in Mb\": 0.1946859359741211, \"Time in s\": 6.649151000000001 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.24701597703502, \"RMSE\": 5.633009027852055, \"R2\": 0.5168368848346436, \"Memory in Mb\": 0.2288389205932617, \"Time in s\": 7.703019000000001 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.2192007860807728, \"RMSE\": 5.520141144427338, \"R2\": 0.6056681999848637, \"Memory in Mb\": 0.2577199935913086, \"Time in s\": 8.869892000000002 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.5165819956804767, \"RMSE\": 5.874797514643079, \"R2\": 0.6409683688760216, \"Memory in Mb\": 0.2627325057983398, \"Time in s\": 10.065309000000005 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.700430602978386, \"RMSE\": 6.068185859760413, \"R2\": 0.6911390854727877, \"Memory in Mb\": 0.2941198348999023, \"Time in s\": 11.324773000000002 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.803730902742884, \"RMSE\": 6.1218084380222, \"R2\": 0.7426259865968339, \"Memory in Mb\": 0.3320951461791992, \"Time in s\": 12.629055000000005 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.006649900662983, \"RMSE\": 6.578339511639692, \"R2\": 0.7635979888713487, \"Memory in Mb\": 0.2527418136596679, \"Time in s\": 13.981910000000005 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.229383118423565, \"RMSE\": 6.982583803939909, \"R2\": 0.780430075854037, \"Memory in Mb\": 0.3202161788940429, \"Time in s\": 15.391493000000002 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.825249759558611, \"RMSE\": 8.423350501384354, \"R2\": 0.720252540483964, \"Memory in Mb\": 0.3510808944702148, \"Time in s\": 16.880127 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.088028806665401, \"RMSE\": 8.669832171958772, \"R2\": 0.7465054715218886, \"Memory in Mb\": 0.3200139999389648, \"Time in s\": 18.399834 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.462442991686406, \"RMSE\": 9.175585237136575, \"R2\": 0.7715339230013022, \"Memory in Mb\": 0.3710927963256836, \"Time in s\": 20.020863 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.563619467556412, \"RMSE\": 9.260101660572657, \"R2\": 0.797901929856006, \"Memory in Mb\": 0.4192609786987304, \"Time in s\": 21.677784000000003 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 6.261116867150435, \"RMSE\": 10.599777327157994, \"R2\": 0.7580584961853923, \"Memory in Mb\": 0.3416013717651367, \"Time in s\": 23.387217000000003 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 6.742618468073929, \"RMSE\": 11.80224059778972, \"R2\": 0.7360625543191792, \"Memory in Mb\": 0.3569021224975586, \"Time in s\": 25.127202000000004 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.039594962415952, \"RMSE\": 12.249488193444416, \"R2\": 0.7537446936710837, \"Memory in Mb\": 0.3965520858764648, \"Time in s\": 26.911059000000005 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.148800229885712, \"RMSE\": 12.311677740983953, \"R2\": 0.7842510327710687, \"Memory in Mb\": 0.4258260726928711, \"Time in s\": 28.739538000000007 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.753683144422786, \"RMSE\": 13.244190950829555, \"R2\": 0.7776398094561477, \"Memory in Mb\": 0.4501142501831054, \"Time in s\": 30.59385600000001 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 8.773143666519827, \"RMSE\": 15.93975365978218, \"R2\": 0.7077199430319765, \"Memory in Mb\": 0.4718656539916992, \"Time in s\": 32.508295000000004 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.312574124937234, \"RMSE\": 16.796832021919023, \"R2\": 0.7222505421616592, \"Memory in Mb\": 0.3236379623413086, \"Time in s\": 34.514388000000004 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.544591695703463, \"RMSE\": 16.94083213248977, \"R2\": 0.7470058810264122, \"Memory in Mb\": 0.3676939010620117, \"Time in s\": 36.550995 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.680039805071171, \"RMSE\": 17.006622056031052, \"R2\": 0.7682275557667291, \"Memory in Mb\": 0.3629522323608398, \"Time in s\": 38.648436 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 10.417098847501563, \"RMSE\": 18.381838377902795, \"R2\": 0.7370670774420947, \"Memory in Mb\": 0.3571195602416992, \"Time in s\": 40.771216 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.080869197293334, \"RMSE\": 19.965812195666537, \"R2\": 0.7148404591067161, \"Memory in Mb\": 0.3998785018920898, \"Time in s\": 42.937715 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.60940210623338, \"RMSE\": 20.687378926969966, \"R2\": 0.7291406299077132, \"Memory in Mb\": 0.3288450241088867, \"Time in s\": 45.213373 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.737814918904208, \"RMSE\": 20.678726756260627, \"R2\": 0.7476640805491588, \"Memory in Mb\": 0.4024953842163086, \"Time in s\": 47.506899 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 12.682108791666492, \"RMSE\": 22.361726245252385, \"R2\": 0.7257144517605874, \"Memory in Mb\": 0.4475545883178711, \"Time in s\": 49.84079500000001 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 13.622708961705229, \"RMSE\": 24.146094170569185, \"R2\": 0.6997951546356598, \"Memory in Mb\": 0.4968290328979492, \"Time in s\": 52.212878 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.165217959113354, \"RMSE\": 24.88032134675199, \"R2\": 0.7167593971826183, \"Memory in Mb\": 0.5376424789428711, \"Time in s\": 54.630802 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.411006646174876, \"RMSE\": 24.97835315387625, \"R2\": 0.7347289581181171, \"Memory in Mb\": 0.5657072067260742, \"Time in s\": 57.077112 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.766578325445964, \"RMSE\": 25.376772271610328, \"R2\": 0.7378384948653763, \"Memory in Mb\": 0.2583265304565429, \"Time in s\": 59.570857 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 16.09445226127713, \"RMSE\": 28.12961105819035, \"R2\": 0.6974376845026461, \"Memory in Mb\": 0.3047628402709961, \"Time in s\": 62.101038 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 16.916275460891086, \"RMSE\": 29.341089843915015, \"R2\": 0.7093290035354769, \"Memory in Mb\": 0.3544912338256836, \"Time in s\": 64.67061 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 17.222566694739786, \"RMSE\": 29.549549967606488, \"R2\": 0.7213397403469026, \"Memory in Mb\": 0.3983259201049804, \"Time in s\": 67.26974899999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 17.854950072386483, \"RMSE\": 30.34354672604944, \"R2\": 0.7235900637963901, \"Memory in Mb\": 0.4324254989624023, \"Time in s\": 69.89740799999998 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 18.84874733203415, \"RMSE\": 31.79966974813451, \"R2\": 0.7052484004379906, \"Memory in Mb\": 0.4678411483764648, \"Time in s\": 72.66954099999998 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 19.785853660032195, \"RMSE\": 33.20181112471305, \"R2\": 0.6967783021275082, \"Memory in Mb\": 0.4975500106811523, \"Time in s\": 75.49558399999998 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 20.52664258005787, \"RMSE\": 34.100310164439925, \"R2\": 0.7124234805234935, \"Memory in Mb\": 0.5351285934448242, \"Time in s\": 78.36005299999998 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 20.766026265849117, \"RMSE\": 34.21097619783695, \"R2\": 0.7225061795517687, \"Memory in Mb\": 0.576685905456543, \"Time in s\": 81.26779099999997 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 21.840503815170692, \"RMSE\": 36.15896607268933, \"R2\": 0.6995590139862528, \"Memory in Mb\": 0.4753904342651367, \"Time in s\": 84.25568299999998 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 22.59690624313325, \"RMSE\": 37.108967777985264, \"R2\": 0.6974029137241997, \"Memory in Mb\": 0.5189352035522461, \"Time in s\": 87.27382099999997 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 23.534320250737128, \"RMSE\": 38.28067851879141, \"R2\": 0.7021424273708647, \"Memory in Mb\": 0.5585355758666992, \"Time in s\": 90.32555299999996 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 23.709683411591413, \"RMSE\": 38.44162901827647, \"R2\": 0.7069383356385298, \"Memory in Mb\": 0.3551816940307617, \"Time in s\": 93.40141099999995 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.677140920600926, \"RMSE\": 9.804891856735376, \"R2\": -224.4966127051096, \"Memory in Mb\": 0.2373647689819336, \"Time in s\": 0.078317 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.42676306487335, \"RMSE\": 7.150663284447028, \"R2\": -19.556918338481843, \"Memory in Mb\": 0.3270711898803711, \"Time in s\": 0.2600639999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8116457742622056, \"RMSE\": 5.852230884873156, \"R2\": -17.563213740222555, \"Memory in Mb\": 0.3493108749389648, \"Time in s\": 0.628767 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5261658032230545, \"RMSE\": 5.084894428469453, \"R2\": -13.057813649460384, \"Memory in Mb\": 0.3968191146850586, \"Time in s\": 1.163603 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.404885103917059, \"RMSE\": 4.580518627305071, \"R2\": -6.157363117938322, \"Memory in Mb\": 0.4107885360717773, \"Time in s\": 1.7740749999999998 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2872329076385731, \"RMSE\": 4.198963935277897, \"R2\": -4.102442140657352, \"Memory in Mb\": 0.4562673568725586, \"Time in s\": 2.455989 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4191481295394186, \"RMSE\": 4.9019146331166, \"R2\": -6.185954638838571, \"Memory in Mb\": 0.2026891708374023, \"Time in s\": 3.22825 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.329290869551211, \"RMSE\": 4.594852312450113, \"R2\": -4.568052693162012, \"Memory in Mb\": 0.3215742111206054, \"Time in s\": 4.121231 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2559271503392595, \"RMSE\": 4.341680890984575, \"R2\": -3.3661470093978725, \"Memory in Mb\": 0.4017667770385742, \"Time in s\": 5.147797 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.169313410896163, \"RMSE\": 4.12134361195162, \"R2\": -2.94593273053925, \"Memory in Mb\": 0.4772901535034179, \"Time in s\": 6.338072 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1066399346497042, \"RMSE\": 3.9344660517514094, \"R2\": -2.8792501333638807, \"Memory in Mb\": 0.5200605392456055, \"Time in s\": 7.615136 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0535228972416335, \"RMSE\": 3.7704097053754206, \"R2\": -2.589291599563797, \"Memory in Mb\": 0.590418815612793, \"Time in s\": 8.98983 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0002808672832586, \"RMSE\": 3.624331376507975, \"R2\": -2.3612477765650133, \"Memory in Mb\": 0.677699089050293, \"Time in s\": 10.49221 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9484528900796008, \"RMSE\": 3.4935839886686573, \"R2\": -2.269856713922535, \"Memory in Mb\": 0.7459287643432617, \"Time in s\": 12.09809 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9319658343242508, \"RMSE\": 3.3810597344709987, \"R2\": -2.011909605217061, \"Memory in Mb\": 0.8300580978393555, \"Time in s\": 13.828036 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9015525068993324, \"RMSE\": 3.2761126415748776, \"R2\": -1.9678527090537403, \"Memory in Mb\": 0.8134641647338867, \"Time in s\": 15.697273999999998 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9086073156973856, \"RMSE\": 3.206516550071244, \"R2\": -2.0044577988421626, \"Memory in Mb\": 0.7938528060913086, \"Time in s\": 17.678026 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9209686764414104, \"RMSE\": 3.130698586248577, \"R2\": -1.887576115168536, \"Memory in Mb\": 0.8660383224487305, \"Time in s\": 19.789752 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9054594388814018, \"RMSE\": 3.0518145886207013, \"R2\": -1.838813023440576, \"Memory in Mb\": 0.930495262145996, \"Time in s\": 22.025823 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9021459083449618, \"RMSE\": 2.9892737243691805, \"R2\": -1.8006304820861794, \"Memory in Mb\": 0.9046812057495116, \"Time in s\": 24.377516 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9000900027115483, \"RMSE\": 2.937103674242639, \"R2\": -1.7932063526136273, \"Memory in Mb\": 0.2984609603881836, \"Time in s\": 26.835964 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.884833385913356, \"RMSE\": 2.873027664171451, \"R2\": -1.6243016536608597, \"Memory in Mb\": 0.3453207015991211, \"Time in s\": 29.357596 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8690754265879537, \"RMSE\": 2.8131168800056585, \"R2\": -1.3859136859847618, \"Memory in Mb\": 0.3807516098022461, \"Time in s\": 31.984181 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8473225380080763, \"RMSE\": 2.75510952719956, \"R2\": -1.235881587238783, \"Memory in Mb\": 0.4482488632202148, \"Time in s\": 34.68911 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8286186581223807, \"RMSE\": 2.701061117260836, \"R2\": -1.1039316995995572, \"Memory in Mb\": 0.4975194931030273, \"Time in s\": 37.472375 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8308331247066605, \"RMSE\": 2.676087993829765, \"R2\": -1.0688124961584973, \"Memory in Mb\": 0.3753881454467773, \"Time in s\": 40.349897 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8063786739892863, \"RMSE\": 2.6263308571208617, \"R2\": -0.9852938090834252, \"Memory in Mb\": 0.4063673019409179, \"Time in s\": 43.316687 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7997929461413226, \"RMSE\": 2.582727501713279, \"R2\": -0.9656668153374994, \"Memory in Mb\": 0.4374494552612304, \"Time in s\": 46.3679 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7908850979728871, \"RMSE\": 2.541457165367321, \"R2\": -0.950423138286411, \"Memory in Mb\": 0.4967718124389648, \"Time in s\": 49.479346 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7789627943481009, \"RMSE\": 2.500361162030882, \"R2\": -0.8669718089652279, \"Memory in Mb\": 0.569575309753418, \"Time in s\": 52.654549 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7682254429218135, \"RMSE\": 2.461677332861117, \"R2\": -0.7820656947310429, \"Memory in Mb\": 0.6584272384643555, \"Time in s\": 55.885269 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.756836908225871, \"RMSE\": 2.4246570785119217, \"R2\": -0.6965531574296129, \"Memory in Mb\": 0.7120962142944336, \"Time in s\": 59.181412 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7406340846119412, \"RMSE\": 2.388088765643962, \"R2\": -0.6339309775627988, \"Memory in Mb\": 0.8089780807495117, \"Time in s\": 62.54643 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7257657440750075, \"RMSE\": 2.3532857176647086, \"R2\": -0.6117268738432657, \"Memory in Mb\": 0.8398160934448242, \"Time in s\": 65.979515 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7284794894639326, \"RMSE\": 2.325029779726661, \"R2\": -0.6145762958857721, \"Memory in Mb\": 0.9275884628295898, \"Time in s\": 69.48963400000001 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7231955460113827, \"RMSE\": 2.297270435922827, \"R2\": -0.6108826519065647, \"Memory in Mb\": 0.9087285995483398, \"Time in s\": 73.071921 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7217944839950929, \"RMSE\": 2.2699024953355416, \"R2\": -0.5717835473178023, \"Memory in Mb\": 0.8719320297241211, \"Time in s\": 76.723943 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7121024512438853, \"RMSE\": 2.241058668519108, \"R2\": -0.5486900768629306, \"Memory in Mb\": 0.929518699645996, \"Time in s\": 80.452493 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7019422114012909, \"RMSE\": 2.213016497735788, \"R2\": -0.5169405784918113, \"Memory in Mb\": 1.0446271896362305, \"Time in s\": 84.252351 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7005931807120314, \"RMSE\": 2.188428332233621, \"R2\": -0.4968352306391974, \"Memory in Mb\": 1.1031560897827148, \"Time in s\": 88.13395700000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6997484436891046, \"RMSE\": 2.169363820936814, \"R2\": -0.4870225063787143, \"Memory in Mb\": 1.0328702926635742, \"Time in s\": 92.08914500000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6949195885567419, \"RMSE\": 2.14957176369946, \"R2\": -0.4735678496288336, \"Memory in Mb\": 0.7475957870483398, \"Time in s\": 96.10836100000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6920590805093112, \"RMSE\": 2.1264870362465933, \"R2\": -0.439603572136809, \"Memory in Mb\": 0.8119535446166992, \"Time in s\": 100.182244 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6882027439938415, \"RMSE\": 2.1038322601427426, \"R2\": -0.4020913886240724, \"Memory in Mb\": 0.8655576705932617, \"Time in s\": 104.313167 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6818594219129391, \"RMSE\": 2.085410616994055, \"R2\": -0.38345052454273, \"Memory in Mb\": 0.8467855453491211, \"Time in s\": 108.503439 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6756248333192205, \"RMSE\": 2.0637081851469703, \"R2\": -0.377066205838211, \"Memory in Mb\": 0.9400205612182616, \"Time in s\": 112.753186 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6689624136970388, \"RMSE\": 2.0428592411141837, \"R2\": -0.3608300191067024, \"Memory in Mb\": 0.8168668746948242, \"Time in s\": 117.061539 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6627773066160889, \"RMSE\": 2.022520414368002, \"R2\": -0.3478143420231987, \"Memory in Mb\": 0.9120321273803712, \"Time in s\": 121.43268700000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6600305544016135, \"RMSE\": 2.003593726688123, \"R2\": -0.348395800771305, \"Memory in Mb\": 0.9782476425170898, \"Time in s\": 125.86239700000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.657029407021691, \"RMSE\": 1.9853014454830336, \"R2\": -0.3461726175729922, \"Memory in Mb\": 1.0593442916870115, \"Time in s\": 130.37428000000003 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6566965628025029, \"RMSE\": 1.984335939466105, \"R2\": -0.3457614763231473, \"Memory in Mb\": 1.0646085739135742, \"Time in s\": 134.90266400000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.95559056599966, \"RMSE\": 17.7409835250609, \"R2\": -404.147256051216, \"Memory in Mb\": 0.1553668975830078, \"Time in s\": 0.005094 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.88626580700965, \"RMSE\": 12.566688603347808, \"R2\": -166.25182631838038, \"Memory in Mb\": 0.1681652069091797, \"Time in s\": 0.018278 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.383857039198176, \"RMSE\": 10.299865918219764, \"R2\": -72.67921052893462, \"Memory in Mb\": 0.2052059173583984, \"Time in s\": 0.039075 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.446496162870555, \"RMSE\": 8.931116231999566, \"R2\": -61.79980671874969, \"Memory in Mb\": 0.2209186553955078, \"Time in s\": 0.065167 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.3513349782155037, \"RMSE\": 8.247717183177938, \"R2\": -12.279242202465667, \"Memory in Mb\": 0.2687969207763672, \"Time in s\": 0.096566 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.889627188952696, \"RMSE\": 8.0458642201752, \"R2\": -4.4474976461238604, \"Memory in Mb\": 0.3383464813232422, \"Time in s\": 0.144605 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.337751636727128, \"RMSE\": 7.9681159743419645, \"R2\": -2.5808890563388096, \"Memory in Mb\": 0.3940753936767578, \"Time in s\": 0.201306 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.489908334389532, \"RMSE\": 7.740787033322287, \"R2\": -2.0640641214272355, \"Memory in Mb\": 0.4405231475830078, \"Time in s\": 0.274421 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.7831270806190425, \"RMSE\": 7.705843596650206, \"R2\": -1.5396388125269618, \"Memory in Mb\": 0.4615802764892578, \"Time in s\": 0.372843 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.73395080514245, \"RMSE\": 7.47334250555501, \"R2\": -0.6680701376440403, \"Memory in Mb\": 0.4910602569580078, \"Time in s\": 0.5845670000000001 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.733710015085173, \"RMSE\": 7.331306378435282, \"R2\": -0.236312465025352, \"Memory in Mb\": 0.5042209625244141, \"Time in s\": 0.806575 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.565752852065114, \"RMSE\": 7.0976416640915465, \"R2\": 0.0529485447239657, \"Memory in Mb\": 0.5126438140869141, \"Time in s\": 1.039517 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.439022558662509, \"RMSE\": 6.895745596080793, \"R2\": 0.2759386934515202, \"Memory in Mb\": 0.5216274261474609, \"Time in s\": 1.284562 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.362170284876481, \"RMSE\": 6.736533340066285, \"R2\": 0.4127346685162743, \"Memory in Mb\": 0.5262050628662109, \"Time in s\": 1.543379 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.647894929983432, \"RMSE\": 7.008861526290804, \"R2\": 0.4889753297409128, \"Memory in Mb\": 0.5290126800537109, \"Time in s\": 1.82575 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.817744211127824, \"RMSE\": 7.136288548419971, \"R2\": 0.5728405597677722, \"Memory in Mb\": 0.5066156387329102, \"Time in s\": 2.145522 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.867036081233358, \"RMSE\": 7.152118590173611, \"R2\": 0.6487028411390494, \"Memory in Mb\": 0.4790925979614258, \"Time in s\": 2.491984 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.887061675652274, \"RMSE\": 7.15502256260352, \"R2\": 0.720333392468735, \"Memory in Mb\": 0.3514680862426758, \"Time in s\": 2.944156 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.070260383978678, \"RMSE\": 7.484020932149266, \"R2\": 0.7477619935177958, \"Memory in Mb\": 0.3277406692504883, \"Time in s\": 3.412471 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.671227628293087, \"RMSE\": 8.602358503958763, \"R2\": 0.7082361492582977, \"Memory in Mb\": 0.3353548049926758, \"Time in s\": 3.897275 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.872335352103937, \"RMSE\": 8.83175934179542, \"R2\": 0.7369479677711775, \"Memory in Mb\": 0.372288703918457, \"Time in s\": 4.389179 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.107145463120707, \"RMSE\": 9.222510821361375, \"R2\": 0.769191114739663, \"Memory in Mb\": 0.3991250991821289, \"Time in s\": 4.889463 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.19844823305091, \"RMSE\": 9.33633324769997, \"R2\": 0.7945607849348244, \"Memory in Mb\": 0.4207086563110351, \"Time in s\": 5.506109 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.823605404288741, \"RMSE\": 10.586090935492884, \"R2\": 0.758682880699561, \"Memory in Mb\": 0.4333581924438476, \"Time in s\": 6.131382 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.289576170484155, \"RMSE\": 11.670233638164651, \"R2\": 0.7419337665758028, \"Memory in Mb\": 0.4418039321899414, \"Time in s\": 6.777342 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.579012857443305, \"RMSE\": 12.145524073459754, \"R2\": 0.75790700185782, \"Memory in Mb\": 0.4508142471313476, \"Time in s\": 7.439278 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.564986803201262, \"RMSE\": 12.135208564512553, \"R2\": 0.7903915740986345, \"Memory in Mb\": 0.4540948867797851, \"Time in s\": 8.115354 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 8.103353916061925, \"RMSE\": 13.02855032884451, \"R2\": 0.7848217554522041, \"Memory in Mb\": 0.4577798843383789, \"Time in s\": 8.913327 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.2182891996096, \"RMSE\": 15.75502466975724, \"R2\": 0.7144552709875674, \"Memory in Mb\": 0.4609994888305664, \"Time in s\": 9.721339 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.685083231372472, \"RMSE\": 16.400765556025647, \"R2\": 0.7351946818510116, \"Memory in Mb\": 0.4719209671020508, \"Time in s\": 10.546217 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.903299441393282, \"RMSE\": 16.527032528363478, \"R2\": 0.759214288686034, \"Memory in Mb\": 0.477086067199707, \"Time in s\": 11.387382 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.047801743751696, \"RMSE\": 16.62843798311862, \"R2\": 0.778421004008311, \"Memory in Mb\": 0.4848833084106445, \"Time in s\": 12.279877 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.963674059851892, \"RMSE\": 18.110346084278056, \"R2\": 0.7447765461541069, \"Memory in Mb\": 0.4873552322387695, \"Time in s\": 13.19145 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 11.492835005144466, \"RMSE\": 19.28081121430548, \"R2\": 0.7340717056357994, \"Memory in Mb\": 0.4739046096801758, \"Time in s\": 14.120497000000002 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 11.898657720927194, \"RMSE\": 19.94321338535613, \"R2\": 0.7482768269892894, \"Memory in Mb\": 0.4488801956176758, \"Time in s\": 15.069160000000002 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 12.0617729851989, \"RMSE\": 19.965773188137263, \"R2\": 0.7647640178574115, \"Memory in Mb\": 0.4161386489868164, \"Time in s\": 16.114715 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 12.97304553348899, \"RMSE\": 21.57136186484404, \"R2\": 0.7447607843499935, \"Memory in Mb\": 0.4060754776000976, \"Time in s\": 17.182106 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 13.747411939847144, \"RMSE\": 23.06575414024212, \"R2\": 0.7260576137332548, \"Memory in Mb\": 0.4295892715454101, \"Time in s\": 18.259955 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 14.305030376306712, \"RMSE\": 23.986335540211613, \"R2\": 0.7367482003695625, \"Memory in Mb\": 0.4628152847290039, \"Time in s\": 19.347052 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 14.526268288674354, \"RMSE\": 24.074522605416067, \"R2\": 0.7535790611891788, \"Memory in Mb\": 0.4899911880493164, \"Time in s\": 20.478651000000003 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 15.027594657922048, \"RMSE\": 24.671918598232004, \"R2\": 0.7521995995009789, \"Memory in Mb\": 0.5175485610961914, \"Time in s\": 21.623166 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 16.208274238827823, \"RMSE\": 27.03842360672758, \"R2\": 0.7204560380476568, \"Memory in Mb\": 0.5713090896606445, \"Time in s\": 22.784126 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 16.99589357541462, \"RMSE\": 28.364120175265192, \"R2\": 0.7283636722963454, \"Memory in Mb\": 0.5903940200805664, \"Time in s\": 23.973479 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 17.304815327407063, \"RMSE\": 28.547476213614512, \"R2\": 0.739918935022724, \"Memory in Mb\": 0.6084756851196289, \"Time in s\": 25.225522 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 17.747173803776352, \"RMSE\": 29.064129392830434, \"R2\": 0.7464079684248853, \"Memory in Mb\": 0.6325922012329102, \"Time in s\": 26.517497 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 18.655435380807354, \"RMSE\": 30.57773482627066, \"R2\": 0.7274654471662664, \"Memory in Mb\": 0.6401453018188477, \"Time in s\": 27.826703 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 19.38212758204995, \"RMSE\": 31.56694275275528, \"R2\": 0.7259045847606268, \"Memory in Mb\": 0.5900964736938477, \"Time in s\": 29.161388 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 20.16255538075237, \"RMSE\": 32.73116726334994, \"R2\": 0.7350525453098611, \"Memory in Mb\": 0.6013956069946289, \"Time in s\": 30.57764 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 20.34377517847412, \"RMSE\": 32.75647044736101, \"R2\": 0.7456003073902285, \"Memory in Mb\": 0.6148271560668945, \"Time in s\": 32.006392000000005 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 21.397093652240404, \"RMSE\": 34.43808497807088, \"R2\": 0.7274757471078548, \"Memory in Mb\": 0.6217546463012695, \"Time in s\": 33.45442800000001 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 22.130535392790676, \"RMSE\": 35.39551310036421, \"R2\": 0.7247017706467436, \"Memory in Mb\": 0.6181917190551758, \"Time in s\": 34.916661000000005 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 22.97609679727041, \"RMSE\": 36.53926451086616, \"R2\": 0.7286255260499503, \"Memory in Mb\": 0.6243486404418945, \"Time in s\": 36.463466 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 23.114298050830318, \"RMSE\": 36.631109645590286, \"R2\": 0.7338934315030725, \"Memory in Mb\": 0.6280336380004883, \"Time in s\": 38.020312 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.57361785669815, \"RMSE\": 13.877675781396096, \"R2\": -450.7393063082519, \"Memory in Mb\": 0.3875865936279297, \"Time in s\": 0.030628 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.357601810962072, \"RMSE\": 9.93598927447802, \"R2\": -38.690592530050864, \"Memory in Mb\": 0.5688495635986328, \"Time in s\": 0.093522 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.120546196671925, \"RMSE\": 8.124382016407804, \"R2\": -34.775930157070896, \"Memory in Mb\": 0.6946392059326172, \"Time in s\": 0.180013 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5823668216656817, \"RMSE\": 7.068571931029129, \"R2\": -26.16547256881584, \"Memory in Mb\": 0.7988948822021484, \"Time in s\": 0.365225 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.6103510398716643, \"RMSE\": 6.439797187103485, \"R2\": -13.147122820254191, \"Memory in Mb\": 0.9021625518798828, \"Time in s\": 0.589181 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5653436103516496, \"RMSE\": 5.96335184363353, \"R2\": -9.29140495411716, \"Memory in Mb\": 0.9421710968017578, \"Time in s\": 0.842127 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4314692166818666, \"RMSE\": 5.556159680491977, \"R2\": -8.232140838080387, \"Memory in Mb\": 0.9627094268798828, \"Time in s\": 1.43468 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.270493582871441, \"RMSE\": 5.217534738727647, \"R2\": -6.179445803611509, \"Memory in Mb\": 1.0016803741455078, \"Time in s\": 2.055929 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1841879014169865, \"RMSE\": 4.9594120506005, \"R2\": -4.6969569828406526, \"Memory in Mb\": 0.9622507095336914, \"Time in s\": 2.757735 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.030794616399332, \"RMSE\": 4.7110231793054895, \"R2\": -4.155876544063708, \"Memory in Mb\": 0.5397500991821289, \"Time in s\": 3.551711 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.922882727301643, \"RMSE\": 4.50300441964265, \"R2\": -4.081371242371108, \"Memory in Mb\": 0.3774957656860351, \"Time in s\": 4.407055 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8390508968191757, \"RMSE\": 4.321014818317665, \"R2\": -3.714147473566389, \"Memory in Mb\": 0.4312639236450195, \"Time in s\": 5.281937999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7379678526387643, \"RMSE\": 4.155226166492631, \"R2\": -3.4180849750109363, \"Memory in Mb\": 0.4941263198852539, \"Time in s\": 6.197258999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7042826877160742, \"RMSE\": 4.0269186303191065, \"R2\": -3.3444224917120184, \"Memory in Mb\": 0.5997896194458008, \"Time in s\": 7.197467999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6796571065333832, \"RMSE\": 3.9174008876388, \"R2\": -3.043265693703045, \"Memory in Mb\": 0.6906900405883789, \"Time in s\": 8.219126999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5891460162001485, \"RMSE\": 3.793680488164568, \"R2\": -2.979662055693274, \"Memory in Mb\": 0.757817268371582, \"Time in s\": 9.288978999999998 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5335884019062007, \"RMSE\": 3.685003453386448, \"R2\": -2.968029890458662, \"Memory in Mb\": 0.7969903945922852, \"Time in s\": 10.383406999999998 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.54418408246079, \"RMSE\": 3.606838798974545, \"R2\": -2.832696164635261, \"Memory in Mb\": 0.8751077651977539, \"Time in s\": 11.515104999999998 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5054402320411853, \"RMSE\": 3.517798427376237, \"R2\": -2.771919367898169, \"Memory in Mb\": 0.9264421463012696, \"Time in s\": 12.700466999999998 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4723491084260332, \"RMSE\": 3.435525460733128, \"R2\": -2.699225318590951, \"Memory in Mb\": 0.9911317825317384, \"Time in s\": 13.924277999999996 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.429579158986208, \"RMSE\": 3.3562143901072865, \"R2\": -2.6472359354971333, \"Memory in Mb\": 0.9703760147094728, \"Time in s\": 15.190464999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3992424504019558, \"RMSE\": 3.2853835752695946, \"R2\": -2.431676192315116, \"Memory in Mb\": 1.0316247940063477, \"Time in s\": 16.527614999999997 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.365864594828797, \"RMSE\": 3.217129802398014, \"R2\": -2.120443637805541, \"Memory in Mb\": 1.1097803115844729, \"Time in s\": 17.906522 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3301487592579586, \"RMSE\": 3.151695763852486, \"R2\": -1.9259010739386908, \"Memory in Mb\": 1.1814966201782229, \"Time in s\": 19.341224 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2968821746115176, \"RMSE\": 3.0904885141585767, \"R2\": -1.7543370405557224, \"Memory in Mb\": 1.2276010513305664, \"Time in s\": 20.84359 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2678501702074907, \"RMSE\": 3.0331483120333496, \"R2\": -1.657710331787236, \"Memory in Mb\": 1.2783823013305664, \"Time in s\": 22.421223 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2343399552126226, \"RMSE\": 2.9775564396478966, \"R2\": -1.551795811786203, \"Memory in Mb\": 1.2796869277954102, \"Time in s\": 24.086658 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.220715255826944, \"RMSE\": 2.9300367331798807, \"R2\": -1.5298738258017646, \"Memory in Mb\": 1.2170305252075195, \"Time in s\": 25.790581 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1924146311245054, \"RMSE\": 2.8809984439523286, \"R2\": -1.506393751525562, \"Memory in Mb\": 1.0756006240844729, \"Time in s\": 27.649708999999994 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1793821598427467, \"RMSE\": 2.837096711415006, \"R2\": -1.4037015974174163, \"Memory in Mb\": 0.9519128799438475, \"Time in s\": 29.574727 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1645342598465298, \"RMSE\": 2.79612287562216, \"R2\": -1.2991852345603885, \"Memory in Mb\": 0.9679117202758788, \"Time in s\": 31.579398 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1398425529628198, \"RMSE\": 2.753175690936408, \"R2\": -1.1874325743915652, \"Memory in Mb\": 0.936314582824707, \"Time in s\": 33.628169 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1198821044801988, \"RMSE\": 2.7133180185933967, \"R2\": -1.1092797015680484, \"Memory in Mb\": 0.9601030349731444, \"Time in s\": 35.724068 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.103543375947734, \"RMSE\": 2.675681585437618, \"R2\": -1.0835838801311364, \"Memory in Mb\": 1.0132951736450195, \"Time in s\": 37.850435 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0951788603095205, \"RMSE\": 2.643674463536044, \"R2\": -1.0874567422761272, \"Memory in Mb\": 1.0955934524536133, \"Time in s\": 40.041881 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.073603439060177, \"RMSE\": 2.607328103868497, \"R2\": -1.075061768905586, \"Memory in Mb\": 1.1506471633911133, \"Time in s\": 42.267731000000005 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.052216298294681, \"RMSE\": 2.5725220480150237, \"R2\": -1.0188151031858663, \"Memory in Mb\": 1.1900300979614258, \"Time in s\": 44.534549000000005 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0329729065757678, \"RMSE\": 2.539265324444459, \"R2\": -0.9882648176410448, \"Memory in Mb\": 1.2228517532348633, \"Time in s\": 46.85075200000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.015201035443157, \"RMSE\": 2.5074934380267417, \"R2\": -0.9475063222432678, \"Memory in Mb\": 1.2825212478637695, \"Time in s\": 49.22632000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.007374170791078, \"RMSE\": 2.4793027589713232, \"R2\": -0.9211818120686948, \"Memory in Mb\": 1.3126497268676758, \"Time in s\": 51.66223500000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.002386830132377, \"RMSE\": 2.4547936379778226, \"R2\": -0.9040692252875042, \"Memory in Mb\": 1.3594255447387695, \"Time in s\": 54.13772100000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9929186057762196, \"RMSE\": 2.428247138481691, \"R2\": -0.8804076589484491, \"Memory in Mb\": 1.397130012512207, \"Time in s\": 56.66204300000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9756374748391698, \"RMSE\": 2.400488599154532, \"R2\": -0.8344958433267429, \"Memory in Mb\": 1.4288606643676758, \"Time in s\": 59.23948900000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.964181960731443, \"RMSE\": 2.37450147105602, \"R2\": -0.7860721035239808, \"Memory in Mb\": 1.4496355056762695, \"Time in s\": 61.87688900000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9549728240782616, \"RMSE\": 2.3497625798451978, \"R2\": -0.7564202624419067, \"Memory in Mb\": 1.3498811721801758, \"Time in s\": 64.59788000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9412862327577896, \"RMSE\": 2.3247867434211136, \"R2\": -0.747529388757789, \"Memory in Mb\": 1.1945161819458008, \"Time in s\": 67.39612200000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.934469347520636, \"RMSE\": 2.302477656767798, \"R2\": -0.7286928787152502, \"Memory in Mb\": 1.2202577590942385, \"Time in s\": 70.24630900000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9259837543593707, \"RMSE\": 2.280476047701142, \"R2\": -0.7135440601163805, \"Memory in Mb\": 1.2635469436645508, \"Time in s\": 73.13750900000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9196316545824528, \"RMSE\": 2.2597103614150886, \"R2\": -0.715155968132227, \"Memory in Mb\": 1.2794008255004885, \"Time in s\": 76.07904100000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9087747756519629, \"RMSE\": 2.2382775608394114, \"R2\": -0.7111012811273396, \"Memory in Mb\": 1.3157854080200195, \"Time in s\": 79.06112300000002 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9082029688272106, \"RMSE\": 2.2371845268363217, \"R2\": -0.710571805505718, \"Memory in Mb\": 1.3157854080200195, \"Time in s\": 82.06893700000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0652570724487304, \"Time in s\": 0.004749 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0776433944702148, \"Time in s\": 0.02229 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.0973310470581054, \"Time in s\": 0.042479 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.1087598800659179, \"Time in s\": 0.065964 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.1316785812377929, \"Time in s\": 0.1143329999999999 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.1604146957397461, \"Time in s\": 0.1705729999999999 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 43.50649350649351, \"RMSE\": 43.70978671356627, \"R2\": -106.75487995129542, \"Memory in Mb\": 0.1825284957885742, \"Time in s\": 0.2318889999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 44.21590909090909, \"RMSE\": 44.43649707984724, \"R2\": -99.97346126163, \"Memory in Mb\": 0.2035512924194336, \"Time in s\": 0.308411 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 45.05050505050505, \"RMSE\": 45.309262771858165, \"R2\": -86.8022342468144, \"Memory in Mb\": 0.2153043746948242, \"Time in s\": 0.393152 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 46.16363636363636, \"RMSE\": 46.52487115902242, \"R2\": -63.64797006437341, \"Memory in Mb\": 0.2280874252319336, \"Time in s\": 0.484559 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 47.21487603305785, \"RMSE\": 47.67304278378361, \"R2\": -51.27707184490422, \"Memory in Mb\": 0.2377805709838867, \"Time in s\": 0.583103 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 48.29545454545455, \"RMSE\": 48.843054157105485, \"R2\": -43.84882422437649, \"Memory in Mb\": 0.2479772567749023, \"Time in s\": 0.792791 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 49.44055944055945, \"RMSE\": 50.100318941519305, \"R2\": -37.220279564063546, \"Memory in Mb\": 0.2207241058349609, \"Time in s\": 1.018133 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 50.532467532467535, \"RMSE\": 51.29137544271156, \"R2\": -33.04474826644667, \"Memory in Mb\": 0.2406787872314453, \"Time in s\": 1.254223 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 51.690909090909095, \"RMSE\": 52.61253451297311, \"R2\": -27.795548438273773, \"Memory in Mb\": 0.2568111419677734, \"Time in s\": 1.5160939999999998 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 53.00568181818182, \"RMSE\": 54.11860921749895, \"R2\": -23.566226925646237, \"Memory in Mb\": 0.2727985382080078, \"Time in s\": 1.7876089999999998 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 54.41176470588235, \"RMSE\": 55.733754017636336, \"R2\": -20.33250305682894, \"Memory in Mb\": 0.2873516082763672, \"Time in s\": 2.079546 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 56.02525252525252, \"RMSE\": 57.635786091488654, \"R2\": -17.146924852486976, \"Memory in Mb\": 0.300180435180664, \"Time in s\": 2.3857599999999994 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 57.5645933014354, \"RMSE\": 59.46206220864915, \"R2\": -14.922837840066968, \"Memory in Mb\": 0.2762508392333984, \"Time in s\": 2.7086299999999994 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 58.69090909090908, \"RMSE\": 60.81327606250582, \"R2\": -13.581197962556498, \"Memory in Mb\": 0.2926349639892578, \"Time in s\": 3.0480419999999997 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 60.25541125541125, \"RMSE\": 62.66764529032318, \"R2\": -12.244451024360147, \"Memory in Mb\": 0.3073635101318359, \"Time in s\": 3.437715999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 62.17355371900826, \"RMSE\": 65.06963847478845, \"R2\": -10.489760184397111, \"Memory in Mb\": 0.3215885162353515, \"Time in s\": 3.8493299999999993 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 63.93675889328063, \"RMSE\": 67.17295239601157, \"R2\": -9.634560128382748, \"Memory in Mb\": 0.3348064422607422, \"Time in s\": 4.393024 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 65.10606060606062, \"RMSE\": 68.57980310513724, \"R2\": -9.127665748505592, \"Memory in Mb\": 0.3451099395751953, \"Time in s\": 4.977281 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 66.61454545454548, \"RMSE\": 70.46451073219248, \"R2\": -8.408339126213217, \"Memory in Mb\": 0.3548030853271484, \"Time in s\": 5.586244 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 68.48951048951052, \"RMSE\": 72.8020594498525, \"R2\": -7.6983532427125105, \"Memory in Mb\": 0.3655261993408203, \"Time in s\": 6.228505 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 70.55218855218858, \"RMSE\": 75.3669362796119, \"R2\": -7.08492451355157, \"Memory in Mb\": 0.3711223602294922, \"Time in s\": 6.899176000000001 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 72.39285714285718, \"RMSE\": 77.65033596401675, \"R2\": -6.643510181414674, \"Memory in Mb\": 0.3809375762939453, \"Time in s\": 7.597348 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 73.45454545454551, \"RMSE\": 79.15086186624424, \"R2\": -6.206879640065647, \"Memory in Mb\": 0.3927364349365234, \"Time in s\": 8.345726 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 75.77878787878792, \"RMSE\": 82.20832738177494, \"R2\": -5.653192449779911, \"Memory in Mb\": 0.4039859771728515, \"Time in s\": 9.225203 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 77.92375366568919, \"RMSE\": 84.89106353805269, \"R2\": -5.352795814687307, \"Memory in Mb\": 0.4136791229248047, \"Time in s\": 10.124705 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 80.04545454545458, \"RMSE\": 87.49376601169416, \"R2\": -5.134510311668016, \"Memory in Mb\": 0.4233722686767578, \"Time in s\": 11.048248 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 80.99724517906337, \"RMSE\": 88.57562798692558, \"R2\": -5.105139086016474, \"Memory in Mb\": 0.4330654144287109, \"Time in s\": 11.989622 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 82.77807486631018, \"RMSE\": 90.83029071422122, \"R2\": -4.901675845817959, \"Memory in Mb\": 0.4524784088134765, \"Time in s\": 12.967698 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 85.1766233766234, \"RMSE\": 93.99517810235533, \"R2\": -4.591702735915359, \"Memory in Mb\": 0.4681224822998047, \"Time in s\": 14.032748 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 87.26767676767678, \"RMSE\": 96.48964983485284, \"R2\": -4.494054297851511, \"Memory in Mb\": 0.484659194946289, \"Time in s\": 15.12168 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 89.00737100737103, \"RMSE\": 98.71879502607636, \"R2\": -4.345544683073043, \"Memory in Mb\": 0.4991130828857422, \"Time in s\": 16.236767999999998 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 90.57416267942588, \"RMSE\": 100.72635724110243, \"R2\": -4.224084264201084, \"Memory in Mb\": 0.5109386444091797, \"Time in s\": 17.416859999999996 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 93.12121212121215, \"RMSE\": 104.19735398794236, \"R2\": -3.967717840349581, \"Memory in Mb\": 0.5206584930419922, \"Time in s\": 18.643557999999995 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 95.41818181818184, \"RMSE\": 107.03565676064125, \"R2\": -3.8710119659250095, \"Memory in Mb\": 0.5303516387939453, \"Time in s\": 19.910713999999995 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 97.16629711751663, \"RMSE\": 109.07665280092142, \"R2\": -3.843505105397095, \"Memory in Mb\": 0.5280742645263672, \"Time in s\": 21.225085999999997 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 98.71645021645024, \"RMSE\": 111.1763643167196, \"R2\": -3.72620239405422, \"Memory in Mb\": 0.5443019866943359, \"Time in s\": 22.607732999999996 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 101.54122621564484, \"RMSE\": 115.2058457378686, \"R2\": -3.48124047566686, \"Memory in Mb\": 0.5577869415283203, \"Time in s\": 24.015635999999997 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 103.77066115702482, \"RMSE\": 117.90601559037044, \"R2\": -3.4365483842712585, \"Memory in Mb\": 0.5712184906005859, \"Time in s\": 25.474227999999997 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 106.02424242424244, \"RMSE\": 120.71525892518191, \"R2\": -3.37467008920777, \"Memory in Mb\": 0.5825443267822266, \"Time in s\": 26.96779499999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 107.31620553359684, \"RMSE\": 122.26004165941237, \"R2\": -3.356924458603192, \"Memory in Mb\": 2.7805843353271484, \"Time in s\": 30.43480299999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 109.39651837524178, \"RMSE\": 124.91233289427784, \"R2\": -3.291877964737682, \"Memory in Mb\": 2.825040817260742, \"Time in s\": 33.93932499999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 112.36553030303028, \"RMSE\": 129.1106745698386, \"R2\": -3.1225038051323804, \"Memory in Mb\": 2.876035690307617, \"Time in s\": 37.48648499999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 114.52504638218922, \"RMSE\": 131.65752925403248, \"R2\": -3.109734667916423, \"Memory in Mb\": 2.927671432495117, \"Time in s\": 41.07985699999999 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 115.89999999999996, \"RMSE\": 133.35909826820617, \"R2\": -3.0866973064470367, \"Memory in Mb\": 2.9773387908935547, \"Time in s\": 44.71417799999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 117.86452762923346, \"RMSE\": 135.8046463151548, \"R2\": -3.0526234314410727, \"Memory in Mb\": 3.02082633972168, \"Time in s\": 48.39640499999999 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 120.54020979020974, \"RMSE\": 139.4624607986965, \"R2\": -2.953338846956928, \"Memory in Mb\": 3.065652847290039, \"Time in s\": 52.12007199999999 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 121.81833910034597, \"RMSE\": 141.00422703423635, \"R2\": -2.942935834251463, \"Memory in Mb\": 3.092409133911133, \"Time in s\": 55.88513699999999 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 43.8732195, \"RMSE\": 43.87807788634269, \"R2\": -4514.954899312423, \"Memory in Mb\": 0.1445150375366211, \"Time in s\": 0.017697 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.4932955, \"RMSE\": 42.52255283421693, \"R2\": -725.9491167623446, \"Memory in Mb\": 0.2117376327514648, \"Time in s\": 0.059669 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.2167785, \"RMSE\": 42.2386240157387, \"R2\": -966.0073736019044, \"Memory in Mb\": 0.2583265304565429, \"Time in s\": 0.116093 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.975705625, \"RMSE\": 41.99760868559829, \"R2\": -957.9655948743646, \"Memory in Mb\": 0.3003568649291992, \"Time in s\": 0.194541 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.37550450000001, \"RMSE\": 41.410913785433536, \"R2\": -583.9966399141301, \"Memory in Mb\": 0.3407926559448242, \"Time in s\": 0.295523 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.936110000000006, \"RMSE\": 40.97829382197767, \"R2\": -484.9611418859003, \"Memory in Mb\": 0.3709287643432617, \"Time in s\": 0.510712 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.6885472857143, \"RMSE\": 40.72961738075088, \"R2\": -495.1050461477588, \"Memory in Mb\": 0.3974485397338867, \"Time in s\": 0.760252 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.35105437500001, \"RMSE\": 40.39801158334292, \"R2\": -429.4078677932073, \"Memory in Mb\": 0.3402233123779297, \"Time in s\": 1.044132 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00981655555555, \"RMSE\": 40.06373388340122, \"R2\": -370.7794659133543, \"Memory in Mb\": 0.3811016082763672, \"Time in s\": 1.367502 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80633095, \"RMSE\": 39.860362966711, \"R2\": -368.1089073295326, \"Memory in Mb\": 0.3127880096435547, \"Time in s\": 1.794637 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.727043136363626, \"RMSE\": 39.77723500009918, \"R2\": -395.5019807293188, \"Memory in Mb\": 0.3578624725341797, \"Time in s\": 2.266575 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.56323079166665, \"RMSE\": 39.61325406766278, \"R2\": -395.19837684116754, \"Memory in Mb\": 0.3875255584716797, \"Time in s\": 2.775551 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.42014538461535, \"RMSE\": 39.46968290441584, \"R2\": -397.63185900832246, \"Memory in Mb\": 0.420846939086914, \"Time in s\": 3.358614 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.33200189285712, \"RMSE\": 39.37942345737111, \"R2\": -414.4560159350036, \"Memory in Mb\": 0.4701480865478515, \"Time in s\": 4.097303 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.18435719999999, \"RMSE\": 39.23275803924839, \"R2\": -404.5402138221895, \"Memory in Mb\": 0.5117359161376953, \"Time in s\": 4.882924 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.13568690624999, \"RMSE\": 39.1818628962716, \"R2\": -423.5167725219512, \"Memory in Mb\": 0.5480670928955078, \"Time in s\": 5.740529 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.14620944117645, \"RMSE\": 39.18989510023786, \"R2\": -447.7943063391533, \"Memory in Mb\": 0.5615406036376953, \"Time in s\": 6.72918 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.24072974999997, \"RMSE\": 39.28395553300239, \"R2\": -453.6543473793619, \"Memory in Mb\": 0.5990085601806641, \"Time in s\": 7.76074 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.29597665789471, \"RMSE\": 39.33769921546023, \"R2\": -470.6701690846498, \"Memory in Mb\": 0.6312580108642578, \"Time in s\": 8.924786000000001 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.35730624999997, \"RMSE\": 39.39781946688104, \"R2\": -485.4842825426507, \"Memory in Mb\": 0.6682605743408203, \"Time in s\": 10.154856 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.40549083333331, \"RMSE\": 39.44465897881697, \"R2\": -502.7799504226928, \"Memory in Mb\": 0.6983966827392578, \"Time in s\": 11.469727 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.49730674999998, \"RMSE\": 39.53710368662846, \"R2\": -495.9856416828035, \"Memory in Mb\": 0.7316226959228516, \"Time in s\": 12.901862 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.61474728260867, \"RMSE\": 39.65658853240579, \"R2\": -473.14358309219216, \"Memory in Mb\": 0.7705020904541016, \"Time in s\": 14.448849 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.71032456249997, \"RMSE\": 39.75304758270976, \"R2\": -464.4916761787406, \"Memory in Mb\": 0.8079357147216797, \"Time in s\": 16.094285 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80313951999997, \"RMSE\": 39.84667590965187, \"R2\": -456.8750824508669, \"Memory in Mb\": 2.9298267364501958, \"Time in s\": 19.825027 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.87354713461536, \"RMSE\": 39.916931033645376, \"R2\": -459.2932847271911, \"Memory in Mb\": 3.0076160430908203, \"Time in s\": 23.629967 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.94649651851849, \"RMSE\": 39.98996046818772, \"R2\": -459.28610565666287, \"Memory in Mb\": 3.105920791625977, \"Time in s\": 27.509295 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.97606614285712, \"RMSE\": 40.018487723609816, \"R2\": -470.926187706672, \"Memory in Mb\": 3.203706741333008, \"Time in s\": 31.453258 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00338510344825, \"RMSE\": 40.044755101652726, \"R2\": -483.2331705341176, \"Memory in Mb\": 3.296670913696289, \"Time in s\": 35.460995000000004 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.07393431666663, \"RMSE\": 40.11569326301364, \"R2\": -479.5746686678817, \"Memory in Mb\": 3.391347885131836, \"Time in s\": 39.544454 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.1459417741935, \"RMSE\": 40.18827077358568, \"R2\": -473.96334667177865, \"Memory in Mb\": 3.4906063079833984, \"Time in s\": 43.697410000000005 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.21943815624997, \"RMSE\": 40.26249426545423, \"R2\": -466.8085709746123, \"Memory in Mb\": 3.5870800018310547, \"Time in s\": 47.92464 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.28296777272724, \"RMSE\": 40.32626722721455, \"R2\": -464.9172853497744, \"Memory in Mb\": 3.686498641967773, \"Time in s\": 52.218165000000006 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31998279411761, \"RMSE\": 40.36256991107017, \"R2\": -473.1325264408024, \"Memory in Mb\": 3.782560348510742, \"Time in s\": 56.58359200000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31359012857138, \"RMSE\": 40.35509446667054, \"R2\": -485.40526703956544, \"Memory in Mb\": 3.816682815551758, \"Time in s\": 61.02307200000001 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31730695833329, \"RMSE\": 40.357915759594896, \"R2\": -496.1610725544049, \"Memory in Mb\": 3.917215347290039, \"Time in s\": 65.52718500000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.36653568918915, \"RMSE\": 40.40711941642496, \"R2\": -497.0742803710164, \"Memory in Mb\": 4.021100997924805, \"Time in s\": 70.10250300000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.40314367105261, \"RMSE\": 40.443256311482514, \"R2\": -503.3712175162706, \"Memory in Mb\": 4.113973617553711, \"Time in s\": 74.743136 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.44545064102563, \"RMSE\": 40.48534274444009, \"R2\": -506.6856716110208, \"Memory in Mb\": 4.221334457397461, \"Time in s\": 79.45160200000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.47854825, \"RMSE\": 40.518050685964006, \"R2\": -512.1052117095793, \"Memory in Mb\": 4.33137321472168, \"Time in s\": 84.22367000000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.50894034146341, \"RMSE\": 40.5479845946661, \"R2\": -518.5068774177179, \"Memory in Mb\": 4.393171310424805, \"Time in s\": 89.06994900000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.5406558690476, \"RMSE\": 40.57931089736599, \"R2\": -524.140575335229, \"Memory in Mb\": 4.501546859741211, \"Time in s\": 93.986539 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.58371181395347, \"RMSE\": 40.62239247493601, \"R2\": -524.3496319016275, \"Memory in Mb\": 4.600507736206055, \"Time in s\": 98.97766 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.62855514772725, \"RMSE\": 40.66738601007716, \"R2\": -522.897851512946, \"Memory in Mb\": 4.697576522827148, \"Time in s\": 104.03937600000002 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.664104233333326, \"RMSE\": 40.702738445808535, \"R2\": -526.020768835918, \"Memory in Mb\": 4.774164199829102, \"Time in s\": 109.17863200000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.68274704347825, \"RMSE\": 40.72073961991632, \"R2\": -535.1540147256861, \"Memory in Mb\": 4.872934341430664, \"Time in s\": 114.38942200000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.70972619148935, \"RMSE\": 40.74737437775791, \"R2\": -540.4099749760601, \"Memory in Mb\": 4.975519180297852, \"Time in s\": 119.67171900000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.73400636458332, \"RMSE\": 40.771242977826994, \"R2\": -546.7118652484228, \"Memory in Mb\": 5.07771110534668, \"Time in s\": 125.02115000000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.74031829795916, \"RMSE\": 40.77684015923968, \"R2\": -557.5026042066913, \"Memory in Mb\": 5.174932479858398, \"Time in s\": 130.44017000000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.75359492299998, \"RMSE\": 40.78950075300399, \"R2\": -567.2567645513548, \"Memory in Mb\": 5.274145126342773, \"Time in s\": 135.92720000000003 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.75458054545452, \"RMSE\": 40.7904615623717, \"R2\": -567.6629514867817, \"Memory in Mb\": 5.276128768920898, \"Time in s\": 141.45243100000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.004659 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.035685 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.0849989999999999 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.154054 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.236038 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.334153 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.46421300395698, \"RMSE\": 43.66282826571568, \"R2\": -106.52347713504813, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.4453709999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.359772412267546, \"RMSE\": 43.583709810639945, \"R2\": -96.13505707304522, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.810611 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 39.34760833403674, \"RMSE\": 41.28110871337288, \"R2\": -71.88434940071843, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.1795 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 36.27694842893514, \"RMSE\": 39.43109665219568, \"R2\": -45.43679588251114, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.551937 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 33.38449530211604, \"RMSE\": 37.62985177124845, \"R2\": -31.570957412576163, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.927681 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 30.760956861305427, \"RMSE\": 36.03410144813446, \"R2\": -23.41028390603237, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 2.306782 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 28.636527077105512, \"RMSE\": 34.63559483719005, \"R2\": -17.266619380249022, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 2.6893580000000004 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 26.848366395937333, \"RMSE\": 33.39569685051843, \"R2\": -13.432529594168455, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 3.0876050000000004 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 25.68994399106157, \"RMSE\": 32.40192925941153, \"R2\": -9.92165984317062, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 3.562508 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.410830110997512, \"RMSE\": 31.4363281477476, \"R2\": -7.289127728255313, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 4.041374 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 23.27797268834062, \"RMSE\": 30.533192270092133, \"R2\": -5.402500905628177, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 4.523515000000001 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 22.21718064008457, \"RMSE\": 29.702466677215767, \"R2\": -3.8195183008370286, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 5.01074 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.55319621821813, \"RMSE\": 29.08035323359505, \"R2\": -2.8083766468986493, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 5.506907 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.47717514737632, \"RMSE\": 28.87553300521557, \"R2\": -2.287429329651187, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 6.006767 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.952511346795177, \"RMSE\": 28.33784041981669, \"R2\": -1.7081998467380504, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 6.546588 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.676711476832995, \"RMSE\": 27.952207916118613, \"R2\": -1.120246781438643, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 7.091828 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.0995501155626, \"RMSE\": 27.40917062551413, \"R2\": -0.77060809797316, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 7.64039 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.480542447806847, \"RMSE\": 27.75611161124588, \"R2\": -0.6589532289622051, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 8.194426 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.614496901205563, \"RMSE\": 28.041519628611827, \"R2\": -0.4899619312470022, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 8.751968 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.565278129073285, \"RMSE\": 27.847512109279503, \"R2\": -0.2726896536826668, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 9.312993 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.274958424672484, \"RMSE\": 27.62568723918364, \"R2\": -0.0862766099689866, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 9.883614 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.45327995927562, \"RMSE\": 27.912230969749725, \"R2\": 0.0123677325099795, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 10.459328 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.51025107964545, \"RMSE\": 30.009813508826145, \"R2\": -0.0360067042108638, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 11.038549 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.665590739767385, \"RMSE\": 30.044848619277115, \"R2\": 0.1113341277332687, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 11.621241 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.89048226594194, \"RMSE\": 30.334415208142868, \"R2\": 0.1888294001405642, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 12.207835 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.89395295521016, \"RMSE\": 30.339570241246864, \"R2\": 0.2623598804373043, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 12.797939 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 22.90533819708786, \"RMSE\": 32.054250800509514, \"R2\": 0.2004634102060014, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 13.393067000000002 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 23.763742364378043, \"RMSE\": 33.85198840163, \"R2\": 0.1802483296948254, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 13.997035000000002 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.57154278807733, \"RMSE\": 34.76894700117602, \"R2\": 0.2349038768732488, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 14.642537000000004 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.36284577450351, \"RMSE\": 34.48838301267373, \"R2\": 0.2980969129506975, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 15.292230000000002 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 25.734101326034637, \"RMSE\": 37.062399123466015, \"R2\": 0.2465415113840201, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 15.945417000000004 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 27.11119186006235, \"RMSE\": 39.928390080533305, \"R2\": 0.1791051768225413, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 16.606412000000002 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 28.3590406143643, \"RMSE\": 42.09339312084405, \"R2\": 0.1892790232513257, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 17.270793 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 29.357663164641018, \"RMSE\": 43.68705243766196, \"R2\": 0.1885388580498291, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 17.938627 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 30.691095011752385, \"RMSE\": 45.67489043760892, \"R2\": 0.1507194354669618, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 18.61722 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 32.58469239048663, \"RMSE\": 49.95891321104316, \"R2\": 0.0456375461688204, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 19.304175 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 34.457204466549335, \"RMSE\": 53.83603157260298, \"R2\": 0.0214223438020899, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 19.9947 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 37.61656772325176, \"RMSE\": 59.47905507802133, \"R2\": -0.1290194303344141, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 20.688692000000003 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 39.835053793820734, \"RMSE\": 63.30264151550531, \"R2\": -0.2029972425035688, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 21.389042000000003 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 40.84375246428709, \"RMSE\": 64.75828138125749, \"R2\": -0.2223668969879733, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 22.096762 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 42.3259867290128, \"RMSE\": 66.7403629812066, \"R2\": -0.2252193711452539, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 22.959028000000004 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.90376331145991, \"RMSE\": 69.27444073484561, \"R2\": -0.1868144391113539, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 23.825387000000003 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 45.11725117254523, \"RMSE\": 70.97054614693485, \"R2\": -0.1942044281482897, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 24.695185 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 46.19146939493793, \"RMSE\": 72.84904016514736, \"R2\": -0.2194804408254527, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 25.570022 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 48.0255382358928, \"RMSE\": 75.55118081102547, \"R2\": -0.2542655857337756, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 26.453531 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 49.60861685612801, \"RMSE\": 77.95895414232838, \"R2\": -0.2353254830584423, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 27.340524 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 51.40782550111089, \"RMSE\": 80.92025038917566, \"R2\": -0.298583502299673, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 28.229463000000003 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 28.203089584036217, \"RMSE\": 31.678254793976468, \"R2\": -2352.839799462937, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.018592 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.631407237579232, \"RMSE\": 23.536801219235823, \"R2\": -221.7205207554288, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.0539339999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.441671937224772, \"RMSE\": 19.739075566761823, \"R2\": -210.18539534147197, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.098078 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.19674929006134, \"RMSE\": 17.292913087737123, \"R2\": -161.5886474703317, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.159515 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.529407951935296, \"RMSE\": 15.54264880746251, \"R2\": -81.40884208187767, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.228076 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.478754286735066, \"RMSE\": 14.272499783288554, \"R2\": -57.95136830581733, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.332328 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.525552058981039, \"RMSE\": 13.242333407520348, \"R2\": -51.44233495767236, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.527456 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.729532853932534, \"RMSE\": 12.401843141618142, \"R2\": -39.56324503441056, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.7296090000000001 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.20494414148211, \"RMSE\": 11.727398222866162, \"R2\": -30.855608065765253, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.938725 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.707613016041334, \"RMSE\": 11.135875265707485, \"R2\": -27.80850643367628, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.173453 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.35235544657082, \"RMSE\": 10.636236352263047, \"R2\": -27.34993958822678, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.423387 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.997211310189409, \"RMSE\": 10.191758203807838, \"R2\": -25.22586832784644, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.696442 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.698339965696975, \"RMSE\": 9.799142308635478, \"R2\": -23.570888426665658, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.044166 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.429952698677103, \"RMSE\": 9.448184269747657, \"R2\": -22.91569767610472, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.398587 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.185436867704573, \"RMSE\": 9.131292683908228, \"R2\": -20.968518634865895, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.759636 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.989857840855361, \"RMSE\": 8.848493522992882, \"R2\": -20.65027251080777, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.127609 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.793510888989401, \"RMSE\": 8.58729864958044, \"R2\": -20.548263158423392, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.5072970000000003 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.624008920532304, \"RMSE\": 8.350732680595982, \"R2\": -19.54471351213204, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.994133 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.4723941591948395, \"RMSE\": 8.130732570333006, \"R2\": -19.15022282865096, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 4.488831 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.327129028584169, \"RMSE\": 7.926491124989248, \"R2\": -18.69184448676573, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 4.996594 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.1988914312464622, \"RMSE\": 7.737168953530663, \"R2\": -18.383340677896445, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 5.512642 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.090541865220404, \"RMSE\": 7.562941397323993, \"R2\": -17.185096454486196, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 6.041213 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9841087219087, \"RMSE\": 7.398658950448711, \"R2\": -15.50384711789857, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 6.671723 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.878027938067315, \"RMSE\": 7.243616567021465, \"R2\": -14.455461195017085, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 7.311147 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.790174040420949, \"RMSE\": 7.099353406661882, \"R2\": -13.534510391092628, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 7.962598 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.702735665583147, \"RMSE\": 6.962851553400364, \"R2\": -13.005371203657658, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 8.621042 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.619923274637493, \"RMSE\": 6.8334980874356335, \"R2\": -12.440396167539378, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 9.286046 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.556848015725479, \"RMSE\": 6.714676061099242, \"R2\": -12.286263553450382, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 9.968405999999998 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4920466556079988, \"RMSE\": 6.599727625727584, \"R2\": -12.1527109643015, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 10.662936999999998 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4260558633236777, \"RMSE\": 6.490118235625791, \"R2\": -11.578750092830704, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 11.381531999999998 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3708694907142864, \"RMSE\": 6.387338726311831, \"R2\": -10.997792654674662, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 12.131809999999998 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.309077397643504, \"RMSE\": 6.287531812954472, \"R2\": -10.40846497658843, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 12.902857999999998 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.253417256192923, \"RMSE\": 6.192441467899733, \"R2\": -9.986430076809746, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 13.765244 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1933714736526424, \"RMSE\": 6.100884478116631, \"R2\": -9.832475924452435, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 14.638727 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1444840100167197, \"RMSE\": 6.014053532220149, \"R2\": -9.80279442231031, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 15.530555 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.088914979350032, \"RMSE\": 5.930058413028094, \"R2\": -9.733901359629304, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 16.434104 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.038014375475162, \"RMSE\": 5.849577408393744, \"R2\": -9.43824097776182, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 17.347853 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.990139846596363, \"RMSE\": 5.772270602035659, \"R2\": -9.274280741061778, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 18.296023 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.946515411702069, \"RMSE\": 5.69815370877383, \"R2\": -9.05697999731458, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 19.263123 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.908897117108588, \"RMSE\": 5.627293726045093, \"R2\": -8.897112526821198, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 20.241821 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8732261968689676, \"RMSE\": 5.559226632327132, \"R2\": -8.765208356441784, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 21.227083 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8347271749400444, \"RMSE\": 5.492864392938861, \"R2\": -8.621969919695442, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 22.223141 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8001515928803729, \"RMSE\": 5.4291765082898245, \"R2\": -8.383942958793503, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 23.230427 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.762610565031098, \"RMSE\": 5.367211780988228, \"R2\": -8.125392758933815, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 24.244373000000003 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7278213800286455, \"RMSE\": 5.307357454879676, \"R2\": -7.960601204549325, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 25.346781000000004 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6959197142820022, \"RMSE\": 5.249600105314111, \"R2\": -7.910676780558388, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 26.455778 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6672680101890094, \"RMSE\": 5.193857129216991, \"R2\": -7.796440957593809, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 27.578615000000003 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.637208742738251, \"RMSE\": 5.139738169534271, \"R2\": -7.704147396017831, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 28.708325 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6082702309133736, \"RMSE\": 5.087224346398139, \"R2\": -7.692803163516414, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 29.852185 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.582128560540168, \"RMSE\": 5.036439630005545, \"R2\": -7.663534315499042, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 31.047385 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5805783932319006, \"RMSE\": 5.033923389051291, \"R2\": -7.660658200179739, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 32.243154000000004 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.664574314574316, \"RMSE\": 12.7079745317607, \"R2\": -206.87879383707747, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.000258 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.767694704637076, \"RMSE\": 9.018587183866767, \"R2\": -85.14025986830408, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.000737 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3093367298127023, \"RMSE\": 7.420500566500976, \"R2\": -37.24267181629702, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00134 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 1.892363968348808, \"RMSE\": 6.441521936619904, \"R2\": -31.668094594906044, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.002066 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.1129412159858934, \"RMSE\": 6.114058653243701, \"R2\": -6.297346571779499, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00291 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.832849782567835, \"RMSE\": 6.236602142425367, \"R2\": -2.2730130120415795, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.003872 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4069290990236856, \"RMSE\": 6.402381882180361, \"R2\": -1.3118663438824, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.004952 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 3.650377971160808, \"RMSE\": 6.321189272940957, \"R2\": -1.043267371916866, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.006149 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.035631404360372, \"RMSE\": 6.4483291916176695, \"R2\": -0.7783857772357967, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.007464 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.693189868957898, \"RMSE\": 7.0697740144659305, \"R2\": -0.4927792786841307, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.008896 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 5.274396860168236, \"RMSE\": 7.6542276724395, \"R2\": -0.3476225254437259, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.010446 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 5.875758254207378, \"RMSE\": 8.194624755054596, \"R2\": -0.2624191661321591, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.012113 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 6.530760796045927, \"RMSE\": 8.870097879563003, \"R2\": -0.1980355424044948, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.013898 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 7.121466111912466, \"RMSE\": 9.458403141043558, \"R2\": -0.1577027852151795, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.015801 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 7.772438504082036, \"RMSE\": 10.375670403553157, \"R2\": -0.1198999930450892, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0178219999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 8.565827130563894, \"RMSE\": 11.410434180005833, \"R2\": -0.0920676568626532, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0199609999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 9.429958588641576, \"RMSE\": 12.495061319237752, \"R2\": -0.0722153171628203, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0222169999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 10.47731537859646, \"RMSE\": 13.900491647656429, \"R2\": -0.0555502703757588, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0245899999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 11.43172675762076, \"RMSE\": 15.229123619635446, \"R2\": -0.0444565128716372, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.027079 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 11.97432098008114, \"RMSE\": 16.22368260926648, \"R2\": -0.0377560869847111, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.029685 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 12.9382196746461, \"RMSE\": 17.489503190785292, \"R2\": -0.0315781972827118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.032406 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 14.229204186206864, \"RMSE\": 19.43725798629848, \"R2\": -0.0252367718674193, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.035243 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 15.339413196393396, \"RMSE\": 20.82023831254592, \"R2\": -0.0216497893038387, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.041904 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 15.948617107030818, \"RMSE\": 21.75817315507082, \"R2\": -0.0194401851240946, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.048726 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 16.794155127707494, \"RMSE\": 23.16724301729152, \"R2\": -0.0169996193237813, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.055688 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 17.990009992534457, \"RMSE\": 24.865985915258104, \"R2\": -0.0147547133955299, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.062787 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 19.34919450213405, \"RMSE\": 26.67620929760368, \"R2\": -0.0128904565600072, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.070018 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 20.46881241431745, \"RMSE\": 28.248013022827838, \"R2\": -0.011537481517321, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.077383 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 20.993702124162965, \"RMSE\": 29.63814114349949, \"R2\": -0.0105036731193923, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0848839999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 22.586872779548436, \"RMSE\": 32.01796640002603, \"R2\": -0.0092202379520505, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0925169999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 23.97345887210737, \"RMSE\": 33.821533603903084, \"R2\": -0.0083877019037323, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1002819999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 25.315991788770976, \"RMSE\": 35.461698606860665, \"R2\": -0.0077313021586467, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1081779999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 25.615062978866305, \"RMSE\": 35.981300981590465, \"R2\": -0.0074437490312051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1162059999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 26.673321526932543, \"RMSE\": 37.51836715700961, \"R2\": -0.0069358461242559, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1243619999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 28.27694482780972, \"RMSE\": 39.8753298933956, \"R2\": -0.0063325109838794, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1326399999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 29.55612496209691, \"RMSE\": 41.28848705945016, \"R2\": -0.0059801818919071, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1410409999999999 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 30.56167711268285, \"RMSE\": 42.81802042618151, \"R2\": -0.0056467231500465, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1495659999999999 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 31.39346669137945, \"RMSE\": 44.18765357092498, \"R2\": -0.0053697143301307, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1582139999999999 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 33.10612890637694, \"RMSE\": 46.865579751152914, \"R2\": -0.0049663660706051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1669849999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 34.54914638861108, \"RMSE\": 48.61167278858254, \"R2\": -0.0047161238549726, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1758829999999999 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 35.43263419295921, \"RMSE\": 49.67507127970072, \"R2\": -0.0045536938071879, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1849059999999999 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 36.308550382896186, \"RMSE\": 51.2507761435036, \"R2\": -0.0043573774895468, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1940549999999999 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 38.26330298063241, \"RMSE\": 54.53225049728104, \"R2\": -0.0040516612048955, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2033279999999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 39.59866234800828, \"RMSE\": 56.08659790201894, \"R2\": -0.0039023944795495, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2127249999999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 40.94697327298068, \"RMSE\": 57.823326559810994, \"R2\": -0.0037535911132069, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2222449999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 41.42384714758024, \"RMSE\": 58.67984594201592, \"R2\": -0.0036652347211194, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2318889999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 42.72663002099646, \"RMSE\": 60.40151056768402, \"R2\": -0.0035345422299792, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2416599999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 44.77321528369677, \"RMSE\": 63.69509749878913, \"R2\": -0.0033415055563215, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2515539999999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 45.99579764939489, \"RMSE\": 65.0494992510053, \"R2\": -0.003252609562637, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2615709999999999 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 46.57020777663759, \"RMSE\": 66.07332710234044, \"R2\": -0.0031815200825582, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2717109999999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 47.75825760640621, \"RMSE\": 67.5643396193493, \"R2\": -0.0030950009187136, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2819719999999999 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 49.49138874897682, \"RMSE\": 70.24569214117749, \"R2\": -0.0029719424061886, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2923559999999999 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 50.250899455914585, \"RMSE\": 71.11438743304103, \"R2\": -0.0029294686391043, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.3028349999999999 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.695184981652336, \"RMSE\": 9.807184976514188, \"R2\": -224.6021011118197, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.001338 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3994713447037435, \"RMSE\": 7.102066178895935, \"R2\": -19.27845129783118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.003825 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8170744682035584, \"RMSE\": 5.815253847056423, \"R2\": -17.329373299766118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00717 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.604995404573344, \"RMSE\": 5.081770494168446, \"R2\": -13.040545957103586, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0113569999999999 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.824259078948539, \"RMSE\": 4.70488333223354, \"R2\": -6.5512954222403845, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.020929 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.918744608116588, \"RMSE\": 4.412336880489357, \"R2\": -4.634185300646759, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.030834 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8761207739327503, \"RMSE\": 4.13187920011476, \"R2\": -4.105616799680584, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.041039 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.961232939518506, \"RMSE\": 3.976173487274506, \"R2\": -3.1695661963674864, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.051538 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.066134597500757, \"RMSE\": 3.873731518767916, \"R2\": -2.4756944369169624, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.062312 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.051125997923389, \"RMSE\": 3.731810291394655, \"R2\": -2.23527456693896, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.073408 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.94095193468414, \"RMSE\": 3.56902990398404, \"R2\": -2.19210047340805, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.084777 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9366756524315063, \"RMSE\": 3.4612902974772624, \"R2\": -2.024876884626847, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.096419 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9250039777458068, \"RMSE\": 3.363327951159923, \"R2\": -1.8945640461454525, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.108333 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8726934920539136, \"RMSE\": 3.257010428159885, \"R2\": -1.8420037280027224, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.120517 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8907476896224935, \"RMSE\": 3.1958821895815714, \"R2\": -1.6910252267675163, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.133002 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.819623890420079, \"RMSE\": 3.103812605138666, \"R2\": -1.663886258690169, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.145758 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7396293145937214, \"RMSE\": 3.014220627768389, \"R2\": -1.654906383755708, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.158784 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7350691203787965, \"RMSE\": 2.9569384317632506, \"R2\": -1.5759385016835008, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.172076 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6987131960417108, \"RMSE\": 2.8893997308323693, \"R2\": -1.5446951110541192, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.185636 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.673610627740774, \"RMSE\": 2.82935583501861, \"R2\": -1.5089937655143242, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.199488 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6410137122925974, \"RMSE\": 2.7701802079251965, \"R2\": -1.484737486096575, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.213608 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6565972573555454, \"RMSE\": 2.7427790467379385, \"R2\": -1.391750010744973, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.227993 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.699464840115161, \"RMSE\": 2.73946740401384, \"R2\": -1.2626191030939884, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.242643 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7224824441896145, \"RMSE\": 2.7219018737730583, \"R2\": -1.182307732575659, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.25756 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7446092142173422, \"RMSE\": 2.70580354422956, \"R2\": -1.1113262021905803, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.272747 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7464998751860934, \"RMSE\": 2.677192702589883, \"R2\": -1.0705208906620065, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.288233 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7535492786865423, \"RMSE\": 2.653885630983747, \"R2\": -1.027170706279252, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.303987 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7201019899937544, \"RMSE\": 2.614359234374483, \"R2\": -1.0141103337708768, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.320009 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6887559504032663, \"RMSE\": 2.5757257291728384, \"R2\": -1.0033760803823184, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.336298 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.701917368353294, \"RMSE\": 2.561424763732869, \"R2\": -0.9592753712060648, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.3528799999999999 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7178157166185173, \"RMSE\": 2.551346895968156, \"R2\": -0.9142580419512064, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.369731 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7365901196485038, \"RMSE\": 2.545046385321895, \"R2\": -0.8692105635365064, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.386852 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7465677425181807, \"RMSE\": 2.532051562790666, \"R2\": -0.8368676529707118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.40424 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.731617734826669, \"RMSE\": 2.504226186170861, \"R2\": -0.8251107974736909, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4218949999999999 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6973720107412231, \"RMSE\": 2.47026789197972, \"R2\": -0.8225927549994396, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.439849 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6698372433333928, \"RMSE\": 2.4400355004771077, \"R2\": -0.81732226470892, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.458072 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6732482399922957, \"RMSE\": 2.425592833263792, \"R2\": -0.7947920429290933, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4765629999999999 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6653913599894004, \"RMSE\": 2.404136439714782, \"R2\": -0.7822814452716051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4953209999999999 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6644612180457288, \"RMSE\": 2.387561393188575, \"R2\": -0.7656652158374817, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.514347 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6556359332933146, \"RMSE\": 2.368497267913513, \"R2\": -0.7532954885990883, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.533661 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6452077788467467, \"RMSE\": 2.348678653798561, \"R2\": -0.7430103139622937, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.5532450000000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6374623223784903, \"RMSE\": 2.3305035344735936, \"R2\": -0.7320713255917544, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.5730930000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6419505315856449, \"RMSE\": 2.320208013716276, \"R2\": -0.7138439732116804, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.6284980000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6490002164922652, \"RMSE\": 2.3126155324510744, \"R2\": -0.6941855677649247, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.6842080000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6474991175923384, \"RMSE\": 2.299197536504521, \"R2\": -0.6816400531907807, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.7401880000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6301006788336792, \"RMSE\": 2.2779225390149764, \"R2\": -0.6777843948800273, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.7964830000000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6221876471839871, \"RMSE\": 2.262378737250057, \"R2\": -0.6690049120995847, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.8530460000000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6124120493571743, \"RMSE\": 2.245866476718547, \"R2\": -0.6619276404267609, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.9098760000000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5867001120604314, \"RMSE\": 2.223758235975506, \"R2\": -0.661013659831075, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.9669740000000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5681359363812415, \"RMSE\": 2.2037391763141216, \"R2\": -0.6587014308970958, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 1.0243380000000002 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.567554989468773, \"RMSE\": 2.202858861923226, \"R2\": -0.6584830635688459, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 1.081765 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"ChickWeights\", \"bind\": { \"input\": \"select\", \"options\": [ \"ChickWeights\", \"TrumpApproval\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"MAE\", \"RMSE\", \"R2\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Regression/#datasets","title":"Datasets","text":"ChickWeights

Chick weights along time.

The stream contains 578 items and 3 features. The goal is to predict the weight of each chick along time, according to the diet the chick is on. The data is ordered by time and then by chick.

Name  ChickWeights                                                                                                  \nTask  Regression\n

Samples 578 Features 3 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/chick-weights.csv

TrumpApproval

Donald Trump approval ratings.

This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald Trump's approval ratings. It contains 5 features, which are approval ratings collected by 5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of this task is to see if we can reproduce FiveThirtyEight's model.

Name  TrumpApproval                                                                                                     \nTask  Regression\n

Samples 1,001 Features 6 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/trump_approval.csv.gz

"},{"location":"benchmarks/Regression/#models","title":"Models","text":"Linear Regression

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Linear Regression with l1 regularization

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=1.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Linear Regression with l2 regularization

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=1.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Passive-Aggressive Regressor, mode 1

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  PARegressor (\n    C=1.\n    mode=1\n    eps=0.1\n    learn_intercept=True\n  )\n)

Passive-Aggressive Regressor, mode 2

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  PARegressor (\n    C=1.\n    mode=2\n    eps=0.1\n    learn_intercept=True\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNRegressor (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    aggregation_method=\"mean\"\n  )\n)\n\n

\n\nHoeffding Tree\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  HoeffdingTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n)

\n\n

\n\nHoeffding Adaptive Tree\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=True\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=42\n  )\n)

\n\n

\n\nStochastic Gradient Tree\n

SGTRegressor (\n  delta=1e-07\n  grace_period=200\n  init_pred=0.\n  max_depth=inf\n  lambda_value=0.1\n  gamma=1.\n  nominal_attributes=[]\n  feature_quantizer=StaticQuantizer (\n    n_bins=64\n    warm_start=100\n    buckets=None\n  )\n)

\n\n

\n\nAdaptive Random Forest\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  []\n)

\n\n

\n\nAggregated Mondrian Forest\n

[]

\n\n

\n\nAdaptive Model Rules\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  AMRules (\n    n_min=200\n    delta=1e-07\n    tau=0.05\n    pred_type=\"adaptive\"\n    pred_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    fading_factor=0.99\n    anomaly_threshold=-0.75\n    m_min=30\n    ordered_rule_set=True\n    min_samples_split=5\n  )\n)

\n\n

\n\nStreaming Random Patches\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SRPRegressor (\n    model=HoeffdingTreeRegressor (\n      grace_period=50\n      max_depth=inf\n      delta=0.01\n      tau=0.05\n      leaf_prediction=\"adaptive\"\n      leaf_model=LinearRegression (\n        optimizer=SGD (\n          lr=Constant (\n            learning_rate=0.01\n          )\n        )\n        loss=Squared ()\n        l2=0.\n        l1=0.\n        intercept_init=0.\n        intercept_lr=Constant (\n          learning_rate=0.01\n        )\n        clip_gradient=1e+12\n        initializer=Zeros ()\n      )\n      model_selector_decay=0.95\n      nominal_attributes=None\n      splitter=TEBSTSplitter (\n        digits=1\n      )\n      min_samples_split=5\n      binary_split=False\n      max_size=500.\n      memory_estimate_period=1000000\n      stop_mem_management=False\n      remove_poor_attrs=False\n      merit_preprune=True\n    )\n    n_models=10\n    subspace_size=0.6\n    training_method=\"patches\"\n    lam=6\n    drift_detector=ADWIN (\n      delta=1e-05\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    warning_detector=ADWIN (\n      delta=0.0001\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    disable_detector=\"off\"\n    disable_weighted_vote=True\n    drift_detection_criteria=\"error\"\n    aggregation_method=\"mean\"\n    seed=42\n    metric=MAE ()\n  )\n)

\n\n

\n\nBagging\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  [HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  )]\n)

\n\n

\n\nExponentially Weighted Average\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  [LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=True\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), KNNRegressor (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    aggregation_method=\"mean\"\n  ), AMRules (\n    n_min=200\n    delta=1e-07\n    tau=0.05\n    pred_type=\"adaptive\"\n    pred_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    fading_factor=0.99\n    anomaly_threshold=-0.75\n    m_min=30\n    ordered_rule_set=True\n    min_samples_split=5\n  )]\n)\n\n

\n\nRiver MLP\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  MLPRegressor (\n    hidden_dims=(5,)\n    activations=(, , )\n    loss=Squared ()\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.001\n      )\n    )\n    seed=42\n  )\n)\n\n

\n\n[baseline] Mean predictor\n

StatisticRegressor (\n  statistic=Mean ()\n)

\n\n

"},{"location":"benchmarks/Regression/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"examples/batch-to-online/","title":"From batch to online/stream","text":""},{"location":"examples/batch-to-online/#a-quick-overview-of-batch-learning","title":"A quick overview of batch learning","text":"

If you've already delved into machine learning, then you shouldn't have any difficulty in getting to use incremental learning. If you are somewhat new to machine learning, then do not worry! The point of this notebook in particular is to introduce simple notions. We'll also start to show how River fits in and explain how to use it.

The whole point of machine learning is to learn from data. In supervised learning you want to learn how to predict a target \\(y\\) given a set of features \\(X\\). Meanwhile in an unsupervised learning there is no target, and the goal is rather to identify patterns and trends in the features \\(X\\). At this point most people tend to imagine \\(X\\) as a somewhat big table where each row is an observation and each column is a feature, and they would be quite right. Learning from tabular data is part of what's called batch learning, which basically that all of the data is available to our learning algorithm at once. Multiple libraries have been created to handle the batch learning regime, with one of the most prominent being Python's scikit-learn.

As a simple example of batch learning let's say we want to learn to predict if a women has breast cancer or not. We'll use the breast cancer dataset available with scikit-learn. We'll learn to map a set of features to a binary decision using a logistic regression. Like many other models based on numerical weights, logistic regression is sensitive to the scale of the features. Rescaling the data so that each feature has mean 0 and variance 1 is generally considered good practice. We can apply the rescaling and fit the logistic regression sequentially in an elegant manner using a Pipeline. To measure the performance of the model we'll evaluate the average ROC AUC score using a 5 fold cross-validation.

from sklearn import datasets\nfrom sklearn import linear_model\nfrom sklearn import metrics\nfrom sklearn import model_selection\nfrom sklearn import pipeline\nfrom sklearn import preprocessing\n\n\n# Load the data\ndataset = datasets.load_breast_cancer()\nX, y = dataset.data, dataset.target\n\n# Define the steps of the model\nmodel = pipeline.Pipeline([\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LogisticRegression(solver='lbfgs'))\n])\n\n# Define a determistic cross-validation procedure\ncv = model_selection.KFold(n_splits=5, shuffle=True, random_state=42)\n\n# Compute the MSE values\nscorer = metrics.make_scorer(metrics.roc_auc_score)\nscores = model_selection.cross_val_score(model, X, y, scoring=scorer, cv=cv)\n\n# Display the average score and its standard deviation\nprint(f'ROC AUC: {scores.mean():.3f} (\u00b1 {scores.std():.3f})')\n
ROC AUC: 0.975 (\u00b1 0.011)\n

This might be a lot to take in if you're not accustomed to scikit-learn, but it probably isn't if you are. Batch learning basically boils down to:

  1. Loading (and preprocessing) the data
  2. Fitting a model to the data
  3. Computing the performance of the model on unseen data

This is pretty standard and is maybe how most people imagine a machine learning pipeline. However, this way of proceeding has certain downsides. First of all your laptop would crash if the load_boston function returned a dataset who's size exceeds your available amount of RAM. Sometimes you can use some tricks to get around this. For example by optimizing the data types and by using sparse representations when applicable you can potentially save precious gigabytes of RAM. However, like many tricks this only goes so far. If your dataset weighs hundreds of gigabytes then you won't go far without some special hardware. One solution is to do out-of-core learning; that is, algorithms that can learn by being presented the data in chunks or mini-batches. If you want to go down this road then take a look at Dask and Spark's MLlib.

Another issue with the batch learning regime is that it can't elegantly learn from new data. Indeed if new data is made available, then the model has to learn from scratch with a new dataset composed of the old data and the new data. This is particularly annoying in a real situation where you might have new incoming data every week, day, hour, minute, or even second. For example if you're building a recommendation engine for an e-commerce app, then you're probably training your model from 0 every week or so. As your app grows in popularity, so does the dataset you're training on. This will lead to longer and longer training times and might require a hardware upgrade.

A final downside that isn't very easy to grasp concerns the manner in which features are extracted. Every time you want to train your model you first have to extract features. The trick is that some features might not be accessible at the particular point in time you are at. For example maybe that some attributes in your data warehouse get overwritten with time. In other words maybe that all the features pertaining to a particular observations are not available, whereas they were a week ago. This happens more often than not in real scenarios, and apart if you have a sophisticated data engineering pipeline then you will encounter these issues at some point.

"},{"location":"examples/batch-to-online/#a-hands-on-introduction-to-incremental-learning","title":"A hands-on introduction to incremental learning","text":"

Incremental learning is also often called online learning or stream learning, but if you google online learning a lot of the results will point to educational websites. Hence, the terms \"incremental learning\" and \"stream learning\" (from which River derives its name) are preferred. The point of incremental learning is to fit a model to a stream of data. In other words, the data isn't available in its entirety, but rather the observations are provided one by one. As an example let's stream through the dataset used previously.

for xi, yi in zip(X, y):\n    # This is where the model learns\n    pass\n

In this case we're iterating over a dataset that is already in memory, but we could just as well stream from a CSV file, a Kafka stream, an SQL query, etc. If we look at xi we can notice that it is a numpy.ndarray.

xi\n
array([7.760e+00, 2.454e+01, 4.792e+01, 1.810e+02, 5.263e-02, 4.362e-02,\n       0.000e+00, 0.000e+00, 1.587e-01, 5.884e-02, 3.857e-01, 1.428e+00,\n       2.548e+00, 1.915e+01, 7.189e-03, 4.660e-03, 0.000e+00, 0.000e+00,\n       2.676e-02, 2.783e-03, 9.456e+00, 3.037e+01, 5.916e+01, 2.686e+02,\n       8.996e-02, 6.444e-02, 0.000e+00, 0.000e+00, 2.871e-01, 7.039e-02])\n

River by design works with dicts. We believe that dicts are more enjoyable to program with than numpy.ndarrays, at least for when single observations are concerned. dict's bring the added benefit that each feature can be accessed by name rather than by position.

for xi, yi in zip(X, y):\n    xi = dict(zip(dataset.feature_names, xi))\n    pass\n\nxi\n
{'mean radius': 7.76,\n 'mean texture': 24.54,\n 'mean perimeter': 47.92,\n 'mean area': 181.0,\n 'mean smoothness': 0.05263,\n 'mean compactness': 0.04362,\n 'mean concavity': 0.0,\n 'mean concave points': 0.0,\n 'mean symmetry': 0.1587,\n 'mean fractal dimension': 0.05884,\n 'radius error': 0.3857,\n 'texture error': 1.428,\n 'perimeter error': 2.548,\n 'area error': 19.15,\n 'smoothness error': 0.007189,\n 'compactness error': 0.00466,\n 'concavity error': 0.0,\n 'concave points error': 0.0,\n 'symmetry error': 0.02676,\n 'fractal dimension error': 0.002783,\n 'worst radius': 9.456,\n 'worst texture': 30.37,\n 'worst perimeter': 59.16,\n 'worst area': 268.6,\n 'worst smoothness': 0.08996,\n 'worst compactness': 0.06444,\n 'worst concavity': 0.0,\n 'worst concave points': 0.0,\n 'worst symmetry': 0.2871,\n 'worst fractal dimension': 0.07039}\n

Conveniently, River's stream module has an iter_sklearn_dataset method that we can use instead.

from river import stream\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    pass\n

The simple fact that we are getting the data as a stream means that we can't do a lot of things the same way as in a batch setting. For example let's say we want to scale the data so that it has mean 0 and variance 1, as we did earlier. To do so we simply have to subtract the mean of each feature to each value and then divide the result by the standard deviation of the feature. The problem is that we can't possible know the values of the mean and the standard deviation before actually going through all the data! One way to proceed would be to do a first pass over the data to compute the necessary values and then scale the values during a second pass. The problem is that this defeats our purpose, which is to learn by only looking at the data once. Although this might seem rather restrictive, it reaps sizable benefits down the road.

The way we do feature scaling in River involves computing running statistics (also know as moving statistics). The idea is that we use a data structure that estimates the mean and updates itself when it is provided with a value. The same goes for the variance (and thus the standard deviation). For example, if we denote \\(\\mu_t\\) the mean and \\(n_t\\) the count at any moment \\(t\\), then updating the mean can be done as so:

\\[ \\begin{cases} n_{t+1} = n_t + 1 \\\\ \\mu_{t+1} = \\mu_t + \\frac{x - \\mu_t}{n_{t+1}} \\end{cases} \\]

Likewise, the running variance can be computed as so:

\\[ \\begin{cases} n_{t+1} = n_t + 1 \\\\ \\mu_{t+1} = \\mu_t + \\frac{x - \\mu_t}{n_{t+1}} \\\\ s_{t+1} = s_t + (x - \\mu_t) \\times (x - \\mu_{t+1}) \\\\ \\sigma_{t+1} = \\frac{s_{t+1}}{n_{t+1}} \\end{cases} \\]

where \\(s_t\\) is a running sum of squares and \\(\\sigma_t\\) is the running variance at time \\(t\\). This might seem a tad more involved than the batch algorithms you learn in school, but it is rather elegant. Implementing this in Python is not too difficult. For example let's compute the running mean and variance of the 'mean area' variable.

n, mean, sum_of_squares, variance = 0, 0, 0, 0\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    n += 1\n    old_mean = mean\n    mean += (xi['mean area'] - mean) / n\n    sum_of_squares += (xi['mean area'] - old_mean) * (xi['mean area'] - mean)\n    variance = sum_of_squares / n\n\nprint(f'Running mean: {mean:.3f}')\nprint(f'Running variance: {variance:.3f}')\n
Running mean: 654.889\nRunning variance: 123625.903\n

Let's compare this with numpy. But remember, numpy requires access to \"all\" the data.

import numpy as np\n\ni = list(dataset.feature_names).index('mean area')\nprint(f'True mean: {np.mean(X[:, i]):.3f}')\nprint(f'True variance: {np.var(X[:, i]):.3f}')\n
True mean: 654.889\nTrue variance: 123625.903\n

The results seem to be exactly the same! The twist is that the running statistics won't be very accurate for the first few observations. In general though this doesn't matter too much. Some would even go as far as to say that this descrepancy is beneficial and acts as some sort of regularization...

Now the idea is that we can compute the running statistics of each feature and scale them as they come along. The way to do this with River is to use the StandardScaler class from the preprocessing module, as so:

from river import preprocessing\n\nscaler = preprocessing.StandardScaler()\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    scaler.learn_one(xi)\n

Now that we are scaling the data, we can start doing some actual machine learning. We're going to implement an online linear regression task. Because all the data isn't available at once, we are obliged to do what is called stochastic gradient descent, which is a popular research topic and has a lot of variants. SGD is commonly used to train neural networks. The idea is that at each step we compute the loss between the target prediction and the truth. We then calculate the gradient, which is simply a set of derivatives with respect to each weight from the linear regression. Once we have obtained the gradient, we can update the weights by moving them in the opposite direction of the gradient. The amount by which the weights are moved typically depends on a learning rate, which is typically set by the user. Different optimizers have different ways of managing the weight update, and some handle the learning rate implicitly. Online linear regression can be done in River with the LinearRegression class from the linear_model module. We'll be using plain and simple SGD using the SGD optimizer from the optim module. During training we'll measure the squared error between the truth and the predictions.

from river import linear_model\nfrom river import optim\n\nscaler = preprocessing.StandardScaler()\noptimizer = optim.SGD(lr=0.01)\nlog_reg = linear_model.LogisticRegression(optimizer)\n\ny_true = []\ny_pred = []\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer(), shuffle=True, seed=42):\n\n    # Scale the features\n    scaler.learn_one(xi)\n    xi_scaled = scaler.transform_one(xi)\n\n    # Test the current model on the new \"unobserved\" sample\n    yi_pred = log_reg.predict_proba_one(xi_scaled)\n    # Train the model with the new sample\n    log_reg.learn_one(xi_scaled, yi)\n\n    # Store the truth and the prediction\n    y_true.append(yi)\n    y_pred.append(yi_pred[True])\n\nprint(f'ROC AUC: {metrics.roc_auc_score(y_true, y_pred):.3f}')\n
ROC AUC: 0.990\n

The ROC AUC is significantly better than the one obtained from the cross-validation of scikit-learn's logisitic regression. However to make things really comparable it would be nice to compare with the same cross-validation procedure. River has a compat module that contains utilities for making River compatible with other Python libraries. Because we're doing regression we'll be using the SKLRegressorWrapper. We'll also be using Pipeline to encapsulate the logic of the StandardScaler and the LogisticRegression in one single object.

from river import compat\nfrom river import compose\n\n# We define a Pipeline, exactly like we did earlier for sklearn \nmodel = compose.Pipeline(\n    ('scale', preprocessing.StandardScaler()),\n    ('log_reg', linear_model.LogisticRegression())\n)\n\n# We make the Pipeline compatible with sklearn\nmodel = compat.convert_river_to_sklearn(model)\n\n# We compute the CV scores using the same CV scheme and the same scoring\nscores = model_selection.cross_val_score(model, X, y, scoring=scorer, cv=cv)\n\n# Display the average score and its standard deviation\nprint(f'ROC AUC: {scores.mean():.3f} (\u00b1 {scores.std():.3f})')\n
ROC AUC: 0.964 (\u00b1 0.016)\n

This time the ROC AUC score is lower, which is what we would expect. Indeed online learning isn't as accurate as batch learning. However it all depends in what you're interested in. If you're only interested in predicting the next observation then the online learning regime would be better. That's why it's a bit hard to compare both approaches: they're both suited to different scenarios.

"},{"location":"examples/batch-to-online/#going-further","title":"Going further","text":"

Here a few resources if you want to do some reading:

  • Online learning -- Wikipedia
  • What is online machine learning? -- Max Pagels
  • Introduction to Online Learning -- USC course
  • Online Methods in Machine Learning -- MIT course
  • Online Learning: A Comprehensive Survey
  • Streaming 101: The world beyond batch
  • Machine learning for data streams
  • Data Stream Mining: A Practical Approach
"},{"location":"examples/bike-sharing-forecasting/","title":"Bike-sharing forecasting","text":"

In this tutorial we're going to forecast the number of bikes in 5 bike stations from the city of Toulouse. We'll do so by building a simple model step by step. The dataset contains 182,470 observations. Let's first take a peak at the data.

from pprint import pprint\nfrom river import datasets\n\ndataset = datasets.Bikes()\n\nfor x, y in dataset:\n    pprint(x)\n    print(f'Number of available bikes: {y}')\n    break\n
{'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'pressure': 1017.0,\n 'station': 'metro-canal-du-midi',\n 'temperature': 6.54,\n 'wind': 9.3}\nNumber of available bikes: 1\n

Let's start by using a simple linear regression on the numeric features. We can select the numeric features and discard the rest of the features using a Select. Linear regression is very likely to go haywire if we don't scale the data, so we'll use a StandardScaler to do just that. We'll evaluate the model by measuring the mean absolute error. Finally we'll print the score every 20,000 observations.

from river import compose\nfrom river import linear_model\nfrom river import metrics\nfrom river import evaluate\nfrom river import preprocessing\nfrom river import optim\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression(optimizer=optim.SGD(0.001))\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric, print_every=20_000)\n
[20,000] MAE: 4.912763\n[40,000] MAE: 5.333578\n[60,000] MAE: 5.330969\n[80,000] MAE: 5.392334\n[100,000] MAE: 5.423078\n[120,000] MAE: 5.541239\n[140,000] MAE: 5.613038\n[160,000] MAE: 5.622441\n[180,000] MAE: 5.567836\n[182,470] MAE: 5.563905\n\n\n\n\n\nMAE: 5.563905\n

The model doesn't seem to be doing that well, but then again we didn't provide a lot of features. Generally, a good idea for this kind of problem is to look at an average of the previous values. For example, for each station we can look at the average number of bikes per hour. To do so we first have to extract the hour from the moment field. We can then use a TargetAgg to aggregate the values of the target.

from river import feature_extraction\nfrom river import stats\n\ndef get_hour(x):\n    x['hour'] = x['moment'].hour\n    return x\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel += (\n    get_hour |\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression(optimizer=optim.SGD(0.001))\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric, print_every=20_000)\n
[20,000] MAE: 3.720766\n[40,000] MAE: 3.829739\n[60,000] MAE: 3.844905\n[80,000] MAE: 3.910137\n[100,000] MAE: 3.888553\n[120,000] MAE: 3.923644\n[140,000] MAE: 3.980882\n[160,000] MAE: 3.949972\n[180,000] MAE: 3.934489\n[182,470] MAE: 3.933442\n\n\n\n\n\nMAE: 3.933442\n

By adding a single feature, we've managed to significantly reduce the mean absolute error. At this point you might think that the model is getting slightly complex, and is difficult to understand and test. Pipelines have the advantage of being terse, but they aren't always to debug. Thankfully River has some ways to relieve the pain.

The first thing we can do it to visualize the pipeline, to get an idea of how the data flows through it.

model\n
['clouds', [...]
Select ( clouds humidity pressure temperature wind )
get_hour
def get_hour(x): x['hour'] = x['moment'].hour return x
y_mean_by_station_and_hour
TargetAgg ( by=['station', 'hour'] how=Mean () target_name=\"y\" )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.001 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

We can also use the debug_one method to see what happens to one particular instance. Let's train the model on the first 10,000 observations and then call debug_one on the next one. To do this, we will turn the Bike object into a Python generator with iter() function. The Pythonic way to read the first 10,000 elements of a generator is to use itertools.islice.

import itertools\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel += (\n    get_hour |\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nfor x, y in itertools.islice(dataset, 10000):\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n\nx, y = next(iter(dataset))\nprint(model.debug_one(x))\n
0. Input\n--------\nclouds: 75 (int)\ndescription: light rain (str)\nhumidity: 81 (int)\nmoment: 2016-04-01 00:00:07 (datetime)\npressure: 1,017.00000 (float)\nstation: metro-canal-du-midi (str)\ntemperature: 6.54000 (float)\nwind: 9.30000 (float)\n\n1. Transformer union\n--------------------\n    1.0 Select\n    ----------\n    clouds: 75 (int)\n    humidity: 81 (int)\n    pressure: 1,017.00000 (float)\n    temperature: 6.54000 (float)\n    wind: 9.30000 (float)\n\n    1.1 get_hour | y_mean_by_station_and_hour\n    -----------------------------------------\n    y_mean_by_station_and_hour: 4.43243 (float)\n\nclouds: 75 (int)\nhumidity: 81 (int)\npressure: 1,017.00000 (float)\ntemperature: 6.54000 (float)\nwind: 9.30000 (float)\ny_mean_by_station_and_hour: 4.43243 (float)\n\n2. StandardScaler\n-----------------\nclouds: 0.47566 (float)\nhumidity: 0.42247 (float)\npressure: 1.05314 (float)\ntemperature: -1.22098 (float)\nwind: 2.21104 (float)\ny_mean_by_station_and_hour: -0.59098 (float)\n\n3. LinearRegression\n-------------------\nName                         Value      Weight     Contribution  \n                 Intercept    1.00000    6.58252        6.58252  \n                  pressure    1.05314    3.78529        3.98646  \n                  humidity    0.42247    1.44921        0.61225  \ny_mean_by_station_and_hour   -0.59098    0.54167       -0.32011  \n                    clouds    0.47566   -1.92255       -0.91448  \n                      wind    2.21104   -0.77720       -1.71843  \n               temperature   -1.22098    2.47030       -3.01619\n\nPrediction: 5.21201\n

The debug_one method shows what happens to an input set of features, step by step.

And now comes the catch. Up until now we've been using the progressive_val_score method from the evaluate module. What this does it that it sequentially predicts the output of an observation and updates the model immediately afterwards. This way of proceeding is often used for evaluating online learning models. But in some cases it is the wrong approach.

When evaluating a machine learning model, the goal is to simulate production conditions in order to get a trust-worthy assessment of the performance of the model. In our case, we typically want to forecast the number of bikes available in a station, say, 30 minutes ahead. Then, once the 30 minutes have passed, the true number of available bikes will be available and we will be able to update the model using the features available 30 minutes ago.

What we really want is to evaluate the model by forecasting 30 minutes ahead and only updating the model once the true values are available. This can be done using the moment and delay parameters in the progressive_val_score method. The idea is that each observation in the stream of the data is shown twice to the model: once for making a prediction, and once for updating the model when the true value is revealed. The moment parameter determines which variable should be used as a timestamp, while the delay parameter controls the duration to wait before revealing the true values to the model.

import datetime as dt\n\nevaluate.progressive_val_score(\n    dataset=dataset,\n    model=model.clone(),\n    metric=metrics.MAE(),\n    moment='moment',\n    delay=dt.timedelta(minutes=30),\n    print_every=20_000\n)\n
[20,000] MAE: 20.198137\n[40,000] MAE: 12.199763\n[60,000] MAE: 9.468279\n[80,000] MAE: 8.126625\n[100,000] MAE: 7.273133\n[120,000] MAE: 6.735469\n[140,000] MAE: 6.376704\n[160,000] MAE: 6.06156\n[180,000] MAE: 5.806744\n[182,470] MAE: 5.780772\n\n\n\n\n\nMAE: 5.780772\n

The performance is a bit worse, which is to be expected. Indeed, the task is more difficult: the model is only shown the ground truth 30 minutes after making a prediction.

The takeaway of this notebook is that the progressive_val_score method can be used to simulate a production scenario, and is thus extremely valuable.

"},{"location":"examples/building-a-simple-nowcasting-model/","title":"Building a simple nowcasting model","text":"

Nowcasting is a special case of forecasting. It simply consists in predicting the next value in a time series.

We'll be using the international airline passenger data available from here. This particular dataset is included with River in the datasets module.

from river import datasets\n\nfor x, y in datasets.AirlinePassengers():\n    print(x, y)\n    break\n
{'month': datetime.datetime(1949, 1, 1, 0, 0)} 112\n

The data is as simple as can be: it consists of a sequence of months and values representing the total number of international airline passengers per month. Our goal is going to be to predict the number of passengers for the next month at each step. Notice that because the dataset is small -- which is usually the case for time series -- we could just fit a model from scratch each month. However for the sake of example we're going to train a single model online. Although the overall performance might be potentially weaker, training a time series model online has the benefit of being scalable if, say, you have have thousands of time series to manage.

We'll start with a very simple model where the only feature will be the ordinal date of each month. This should be able to capture some of the underlying trend.

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}\n\n\nmodel = compose.Pipeline(\n    ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n

We'll write down a function to evaluate the model. This will go through each observation in the dataset and update the model as it goes on. The prior predictions will be stored along with the true values and will be plotted together.

from river import metrics\nfrom river import utils\nimport matplotlib.pyplot as plt\n\n\ndef evaluate_model(model): \n\n    metric = utils.Rolling(metrics.MAE(), 12)\n\n    dates = []\n    y_trues = []\n    y_preds = []\n\n    for x, y in datasets.AirlinePassengers():\n\n        # Obtain the prior prediction and update the model in one go\n        y_pred = model.predict_one(x)\n        model.learn_one(x, y)\n\n        # Update the error metric\n        metric.update(y, y_pred)\n\n        # Store the true value and the prediction\n        dates.append(x['month'])\n        y_trues.append(y)\n        y_preds.append(y_pred)\n\n    # Plot the results\n    fig, ax = plt.subplots(figsize=(10, 6))\n    ax.grid(alpha=0.75)\n    ax.plot(dates, y_trues, lw=3, color='#2ecc71', alpha=0.8, label='Ground truth')\n    ax.plot(dates, y_preds, lw=3, color='#e74c3c', alpha=0.8, label='Prediction')\n    ax.legend()\n    ax.set_title(metric)\n

Let's evaluate our first model.

evaluate_model(model)\n

The model has captured a trend but not the right one. Indeed it thinks the trend is linear whereas we can visually see that the growth of the data increases with time. In other words the second derivative of the series is positive. This is a well know problem in time series forecasting and there are thus many ways to handle it; for example by using a Box-Cox transform. However we are going to do something a bit different, and instead linearly detrend the series using a TargetStandardScaler.

from river import stats\n\n\nmodel = compose.Pipeline(\n    ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(intercept_lr=0)),\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

Now let's try and capture the monthly trend by one-hot encoding the month name.

import calendar\n\n\ndef get_month(x):\n    return {\n        calendar.month_name[month]: month == x['month'].month\n        for month in range(1, 13)\n    }\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month', compose.FuncTransformer(get_month)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(intercept_lr=0))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

This seems pretty decent. We can take a look at the weights of the linear regression to get an idea of the importance of each feature.

model.regressor['lin_reg'].weights\n
{'January': -0.13808091575141299,\n 'February': -0.18716063793638954,\n 'March': -0.026469206216021102,\n 'April': -0.03500685108350436,\n 'May': -0.013638742192777328,\n 'June': 0.16194267303548826,\n 'July': 0.31995865445067634,\n 'August': 0.2810396556938982,\n 'September': 0.03834350518076595,\n 'October': -0.11655850082390988,\n 'November': -0.2663497734491209,\n 'December': -0.15396048501165746,\n 'ordinal_date': 1.0234863735122575}\n

As could be expected the months of July and August have the highest weights because these are the months where people typically go on holiday abroad. The month of December has a low weight because this is a month of festivities in most of the Western world where people usually stay at home.

Our model seems to understand which months are important, but it fails to see that the importance of each month grows multiplicatively as the years go on. In other words our model is too shy. We can fix this by increasing the learning rate of the LinearRegression's optimizer.

from river import optim\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month', compose.FuncTransformer(get_month)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03)\n    ))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

This is starting to look good! Naturally in production we would tune the learning rate, ideally in real-time.

Before finishing, we're going to introduce a cool feature extraction trick based on radial basis function kernels. The one-hot encoding we did on the month is a good idea but if you think about it is a bit rigid. Indeed the value of each feature is going to be 0 or 1, depending on the month of each observation. We're basically saying that the month of September is as distant to the month of August as it is to the month of March. Of course this isn't true, and it would be nice if our features would reflect this. To do so we can simply calculate the distance between the month of each observation and all the months in the calendar. Instead of simply computing the distance linearly, we're going to use a so-called Gaussian radial basic function kernel. This is a bit of a mouthful but for us it boils down to a simple formula, which is:

\\[d(i, j) = exp(-\\frac{(i - j)^2}{2\\sigma^2})\\]

Intuitively this computes a similarity between two months -- denoted by \\(i\\) and \\(j\\) -- which decreases the further apart they are from each other. The \\(sigma\\) parameter can be seen as a hyperparameter than can be tuned -- in the following snippet we'll simply ignore it. The thing to take away is that this results in smoother predictions than when using a one-hot encoding scheme, which is often a desirable property. You can also see trick in action in this nice presentation.

import math\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month_distances', compose.FuncTransformer(get_month_distances)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03)\n    ))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

We've managed to get a good looking prediction curve with a reasonably simple model. What's more our model has the advantage of being interpretable and easy to debug. There surely are more rocks to squeeze (e.g. tune the hyperparameters, use an ensemble model, etc.) but we'll leave that as an exercice to the reader.

As a finishing touch we'll rewrite our pipeline using the | operator, which is called a \"pipe\".

extract_features = compose.TransformerUnion(get_ordinal_date, get_month_distances)\n\nscale = preprocessing.StandardScaler()\n\nlearn = linear_model.LinearRegression(\n    intercept_lr=0,\n    optimizer=optim.SGD(0.03)\n)\n\nmodel = extract_features | scale | learn\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

model\n
TargetStandardScaler
TargetStandardScaler ( regressor=Pipeline ( steps=OrderedDict([('TransformerUnion', TransformerUnion ( FuncTransformer ( func=\"get_ordinal_date\" ), FuncTransformer ( func=\"get_month_distances\" ) )), ('StandardScaler', StandardScaler ( with_std=True )), ('LinearRegression', LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.03 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0 ) clip_gradient=1e+12 initializer=Zeros () ))]) ) )
get_ordinal_date
def get_ordinal_date(x): return {'ordinal_date': x['month'].toordinal()}
get_month_distances
def get_month_distances(x): return { calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2) for month in range(1, 13) }
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.03 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/content-personalization/","title":"Content personalization","text":""},{"location":"examples/content-personalization/#without-context","title":"Without context","text":"

This example takes inspiration from Vowpal Wabbit's excellent tutorial.

Content personalization is about taking into account user preferences. It's a special case of recommender systems. Ideally, side-information should be taken into account in addition to the user. But we'll start with something simpler. We'll assume that each user has stable preferences that are independent of the context. We capture this by implementing a \"reward\" function.

def get_reward(user, item, context):\n\n    time_of_day = context['time_of_day']\n\n    USER_LIKED_ARTICLE = 1\n    USER_DISLIKED_ARTICLE = 0\n\n    if user == 'Tom':\n        if time_of_day == 'morning' and item == 'politics':\n            return USER_LIKED_ARTICLE\n        elif time_of_day == 'afternoon' and item == 'music':\n            return USER_LIKED_ARTICLE\n        else:\n            return USER_DISLIKED_ARTICLE\n    elif user == 'Anna':\n        if time_of_day == 'morning' and item == 'sports':\n            return USER_LIKED_ARTICLE\n        elif time_of_day == 'afternoon' and item == 'politics':\n            return USER_LIKED_ARTICLE\n        else:\n            return USER_DISLIKED_ARTICLE\n\nget_reward('Tom', 'politics', {'time_of_day': 'morning'})\n
1\n

Measuring the performance of a recommendation is not straightforward, mostly because of the interactive aspect of recommender systems. In a real situation, recommendations are presented to a user, and the user gives feedback indicating whether they like what they have been recommended or not. This feedback loop can't be captured entirely by a historical dataset. Some kind of simulator is required to generate recommendations and capture feedback. We already have a reward function. Now let's implement a simulation function.

import random\nimport matplotlib.pyplot as plt\n\ndef plot_ctr(ctr):\n    plt.plot(range(1, len(ctr) + 1), ctr)\n    plt.xlabel('n_iterations', fontsize=14)\n    plt.ylabel('CTR', fontsize=14)\n    plt.ylim([0, 1])\n    plt.title(f'final CTR: {ctr[-1]:.2%}', fontsize=14)\n    plt.grid()\n\nusers = ['Tom', 'Anna']\ntimes_of_day = ['morning', 'afternoon']\nitems = {'politics', 'sports', 'music', 'food', 'finance', 'health', 'camping'}\n\ndef simulate(n, reward_func, model, seed):\n\n    rng = random.Random(seed)\n    n_clicks = 0\n    ctr = []  # click-through rate along time\n\n    for i in range(n):\n\n        # Generate a context at random\n        user = rng.choice(users)\n        context = {\n            'time_of_day': rng.choice(times_of_day)\n        }\n\n        # Make a single recommendation\n        item = model.rank(user, items=items, x=context)[0]\n\n        # Measure the reward\n        clicked = reward_func(user, item, context)\n        n_clicks += clicked\n        ctr.append(n_clicks / (i + 1))\n\n        # Update the model\n        model.learn_one(user, item, y=clicked, x=context)\n\n    plot_ctr(ctr)\n

This simulation function does quite a few things. It can be seen as a simple reinforcement learning simulation. It samples a user, and then ask the model to provide a single recommendation. The user then gives as to whether they liked the recommendation or not. Crucially, the user doesn't tell us what item they would have liked. We could model this as a multi-class classification problem if that were the case.

The strategy parameter determines the mechanism used to generate the recommendations. The 'best' strategy means that the items are each scored by the model, and are then ranked from the most preferred to the least preferred. Here the most preferred item is the one which gets recommended. But you could imagine all sorts of alternative ways to proceed.

We can first evaluate a recommended which acts completely at random. It assigns a random preference to each item, regardless of the user.

from river import reco\n\nmodel = reco.RandomNormal(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

We can see that the click-through rate (CTR) oscillates around 28.74%. In fact, this model is expected to be correct 100 * (2 / 7)% = 28.57% of the time. Indeed, each user likes two items, and there are seven items in total.

Let's now use the Baseline recommended. This one models each preference as the following sum:

\\[preference = \\bar{y} + b_{u} + b_{i}\\]

where

  • \\(\\bar{y}\\) is the average CTR overall
  • \\(b_{u}\\) is the average CTR per user minus \\(\\bar{y}\\) -- it's therefore called a bias
  • \\(b_{i}\\) is the average CTR per item minus \\(\\bar{y}\\)

This model is considered to be a baseline because it doesn't actually learn what items are preferred by each user. Instead it models each user and item separately. We shouldn't expect it to be a strong model. It should however do better than the random model used above.

model = reco.Baseline(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

This baseline model seems perfect, which is surprising. The reason why it works so well is because both users have in common that they both like politics. The model therefore learns that the 'politics' is a good item to recommend.

model.i_biases\n
defaultdict(Zeros (),\n            {'politics': 0.06389451550325113,\n             'music': -0.04041254194187752,\n             'camping': -0.040319730234734,\n             'health': -0.03581829597317823,\n             'food': -0.037778771188204816,\n             'finance': -0.04029646665611086,\n             'sports': -0.03661678982763635})\n

The model is not as performant if we use a reward function where both users have different preferences.

simulate(\n    5_000,\n    reward_func=lambda user, item, context: (\n        item in {'music', 'politics'} if user == \"Tom\" else\n        item in {'food', 'sports'}\n    ),\n    model=model,\n    seed=42\n)\n

A good recommender model should at the very least understand what kind of items each user prefers. One of the simplest and yet performant way to do this is Simon Funk's SGD method he developped for the Netflix challenge and wrote about here. It models each user and each item as latent vectors. The dot product of these two vectors is the expected preference of the user for the item.

model = reco.FunkMF(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

We can see that this model learns what items each user enjoys very well. Of course, there are some caveats. In our simulation, we ask the model to recommend the item most likely to be preferred for each user. Indeed, we rank all the items and pick the item at the top of the list. We do this many times for only two users.

This is of course not realistic. Users will get fed up with recommendations if they're always shown the same item. It's important to include diversity into recommendations, and to let the model explore other options instead of always focusing on the item with the highest score. This is where evaluating recommender systems gets tricky: the reward function itself is difficult to model.

We will keep ignoring these caveats in this notebook. Instead we will focus on a different concern: making recommendations when context is involved.

"},{"location":"examples/content-personalization/#with-context","title":"With context","text":"

We'll add some context by making it so that user preferences change depending on the time the day. Very simply, preferences might change from morning to afternoon. This is captured by the following reward function.

times_of_day = ['morning', 'afternoon']\n\ndef get_reward(user, item, context):\n    if user == 'Tom':\n        if context['time_of_day'] == 'morning':\n            return item == 'politics'\n        if context['time_of_day'] == 'afternoon':\n            return item == 'music'\n    if user == 'Anna':\n        if context['time_of_day'] == 'morning':\n            return item == 'sports'\n        if context['time_of_day'] == 'afternoon':\n            return item == 'politics'\n

We have to update our simulation function to generate a random context at each step. We also want our model to use it for recommending items as well as learning.

def simulate(n, reward_func, model, seed):\n\n    rng = random.Random(seed)\n    n_clicks = 0\n    ctr = []\n\n    for i in range(n):\n\n        user = rng.choice(users)\n\n        # New: pass a context\n        context = {'time_of_day': rng.choice(times_of_day)}\n        item = model.rank(user, items, context)[0]\n\n        clicked = reward_func(user, item, context)\n        n_clicks += clicked\n        ctr.append(n_clicks / (i + 1))\n\n        # New: pass a context\n        model.learn_one(user, item, clicked, context)\n\n    plot_ctr(ctr)\n

Not all models are capable of taking into account context. For instance, the FunkMF model only models users and items. It completely ignores the context, even when we provide one. All recommender models inherit from the base Recommender class. They also have a property which indicates whether or not they are able to handle context:

model = reco.FunkMF(seed=10)\nmodel.is_contextual\n
False\n

Let's see well it performs.

simulate(5_000, get_reward, model, seed=42)\n

The performance has roughly been divided by half. This is most likely because there are now two times of day, and if the model has learnt preferences for one time of the day, then it's expected to be wrong half of the time.

Before delving into recsys models that can handle context, a simple hack is to notice that we can append the time of day to the user. This effectively results in new users which our model can distinguish between. We could apply this trick during the simulation, but we can also override the behavior of the learn_one and rank methods of our model.

class FunkMFWithHack(reco.FunkMF):\n\n    def learn_one(self, user, item, reward, context):\n        user = f\"{user}@{context['time_of_day']}\"\n        return super().learn_one(user, item, reward, context)\n\n    def rank(self, user, items, context):\n        user = f\"{user}@{context['time_of_day']}\"\n        return super().rank(user, items, context)\n\nmodel = FunkMFWithHack(seed=29)\nsimulate(5_000, get_reward, model, seed=42)\n

We can verify that the model has learnt the correct preferences by looking at the expected preference for each (user, item) pair.

import pandas as pd\n\n(\n    pd.DataFrame(\n        {\n            'user': user,\n            'item': item,\n            'preference': model.predict_one(user, item)\n        }\n        for user in model.u_latents\n        for item in model.i_latents\n    )\n    .pivot(index='user', columns='item')\n    .style.highlight_max(color='lightgreen', axis='columns')\n)\n
preference item camping finance food health music politics sports user Anna@afternoon -0.018105 0.032865 0.069222 -0.059041 0.168353 1.000000 0.195960 Anna@morning -0.117577 0.081131 0.076300 -0.136399 0.154483 0.221890 1.000000 Tom@afternoon 0.057220 -0.027115 -0.074671 -0.233071 1.000000 0.163607 0.141781 Tom@morning -0.028562 -0.005428 0.061163 -0.050107 0.063483 1.000000 0.125515"},{"location":"examples/debugging-a-pipeline/","title":"Debugging a pipeline","text":"

River encourages users to make use of pipelines. The biggest pain point of pipelines is that it can be hard to understand what's happening to the data, especially when the pipeline is complex. Fortunately the Pipeline class has a debug_one method that can help out.

Let's look at a fairly complex pipeline for predicting the number of bikes in 5 bike stations from the city of Toulouse. It doesn't matter if you understand the pipeline or not; the point of this notebook is to learn how to introspect a pipeline.

import datetime as dt\nfrom river import compose\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\nfrom river import stream\n\n\nX_y = datasets.Bikes()\nX_y = stream.simulate_qa(X_y, moment='moment', delay=dt.timedelta(minutes=30))\n\ndef add_time_features(x):\n    return {\n        **x,\n        'hour': x['moment'].hour,\n        'day': x['moment'].weekday()\n    }\n\nmodel = add_time_features\nmodel |= (\n    compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind') +\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean()) +\n    feature_extraction.TargetAgg(by='station', how=stats.EWMean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nmetric = metrics.MAE()\n\nquestions = {}\n\nfor i, x, y in X_y:\n    # Question\n    is_question = y is None\n    if is_question:\n        y_pred = model.predict_one(x)\n        questions[i] = y_pred\n\n    # Answer\n    else:\n        metric.update(y, questions[i])\n        model.learn_one(x, y)\n\n        if i >= 30000 and i % 30000 == 0:\n            print(i, metric)\n
30000 MAE: 13.328051\n60000 MAE: 7.824087\n90000 MAE: 6.003909\n120000 MAE: 5.052855\n150000 MAE: 4.496826\n180000 MAE: 4.140702\n

Let's start by looking at the pipeline. You can click each cell to display the current state for each step of the pipeline.

model\n
add_time_features
def add_time_features(x): return { **x, 'hour': x['moment'].hour, 'day': x['moment'].weekday() }
['clouds', [...]
Select ( clouds humidity pressure temperature wind )
y_mean_by_station_and_hour
TargetAgg ( by=['station', 'hour'] how=Mean () target_name=\"y\" )
y_ewm_0.5_by_station
TargetAgg ( by=['station'] how=EWMean ( fading_factor=0.5 ) target_name=\"y\" )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

As mentioned above the Pipeline class has a debug_one method. You can use this at any point you want to visualize what happen to an input x. For example, let's see what happens to the last seen x.

print(model.debug_one(x))\n
0. Input\n--------\nclouds: 88 (int)\ndescription: overcast clouds (str)\nhumidity: 84 (int)\nmoment: 2016-10-05 09:57:18 (datetime)\npressure: 1,017.34000 (float)\nstation: pomme (str)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\n\n1. add_time_features\n--------------------\nclouds: 88 (int)\nday: 2 (int)\ndescription: overcast clouds (str)\nhour: 9 (int)\nhumidity: 84 (int)\nmoment: 2016-10-05 09:57:18 (datetime)\npressure: 1,017.34000 (float)\nstation: pomme (str)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\n\n2. Transformer union\n--------------------\n    2.0 Select\n    ----------\n    clouds: 88 (int)\n    humidity: 84 (int)\n    pressure: 1,017.34000 (float)\n    temperature: 17.45000 (float)\n    wind: 1.95000 (float)\n\n    2.1 TargetAgg\n    -------------\n    y_mean_by_station_and_hour: 7.89396 (float)\n\n    2.2 TargetAgg1\n    --------------\n    y_ewm_0.5_by_station: 11.80372 (float)\n\nclouds: 88 (int)\nhumidity: 84 (int)\npressure: 1,017.34000 (float)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\ny_ewm_0.5_by_station: 11.80372 (float)\ny_mean_by_station_and_hour: 7.89396 (float)\n\n3. StandardScaler\n-----------------\nclouds: 1.54778 (float)\nhumidity: 1.16366 (float)\npressure: 0.04916 (float)\ntemperature: -0.51938 (float)\nwind: -0.69426 (float)\ny_ewm_0.5_by_station: 0.19640 (float)\ny_mean_by_station_and_hour: -0.27110 (float)\n\n4. LinearRegression\n-------------------\nName                         Value      Weight     Contribution  \n                 Intercept    1.00000    9.19960        9.19960  \n      y_ewm_0.5_by_station    0.19640    9.19349        1.80562  \n                  humidity    1.16366    1.01680        1.18320  \n               temperature   -0.51938   -0.41575        0.21593  \n                      wind   -0.69426   -0.03810        0.02645  \n                  pressure    0.04916    0.18321        0.00901  \ny_mean_by_station_and_hour   -0.27110    0.19553       -0.05301  \n                    clouds    1.54778   -0.32838       -0.50827\n\nPrediction: 11.87854\n

The pipeline does quite a few things, but using debug_one shows what happens step by step. This is really useful for checking that the pipeline is behaving as you're expecting it too. Remember that you can debug_one whenever you wish, be it before, during, or after training a model.

"},{"location":"examples/imbalanced-learning/","title":"Working with imbalanced data","text":"

In machine learning it is quite usual to have to deal with imbalanced dataset. This is particularly true in online learning for tasks such as fraud detection and spam classification. In these two cases, which are binary classification problems, there are usually many more 0s than 1s, which generally hinders the performance of the classifiers we thrown at them.

As an example we'll use the credit card dataset available in River. We'll first use a collections.Counter to count the number of 0s and 1s in order to get an idea of the class balance.

import collections\nfrom river import datasets\n\nX_y = datasets.CreditCard()\n\ncounts = collections.Counter(y for _, y in X_y)\n\nfor c, count in counts.items():\n    print(f'{c}: {count} ({count / sum(counts.values()):.5%})')\n
0: 284315 (99.82725%)\n1: 492 (0.17275%)\n
"},{"location":"examples/imbalanced-learning/#baseline","title":"Baseline","text":"

The dataset is quite unbalanced. For each 1 there are about 578 0s. Let's now train a logistic regression with default parameters and see how well it does. We'll measure the ROC AUC score.

from river import linear_model\nfrom river import metrics\nfrom river import evaluate\nfrom river import preprocessing\n\n\nX_y = datasets.CreditCard()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 89.11%\n
"},{"location":"examples/imbalanced-learning/#importance-weighting","title":"Importance weighting","text":"

The performance is already quite acceptable, but as we will now see we can do even better. The first thing we can do is to add weight to the 1s by using the weight_pos argument of the Log loss function.

from river import optim\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(\n        loss=optim.losses.Log(weight_pos=5)\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.43%\n
"},{"location":"examples/imbalanced-learning/#focal-loss","title":"Focal loss","text":"

The deep learning for object detection community has produced a special loss function for imbalanced learning called focal loss. We are doing binary classification, so we can plug the binary version of focal loss into our logistic regression and see how well it fairs.

model = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(loss=optim.losses.BinaryFocalLoss(2, 1))\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.31%\n
"},{"location":"examples/imbalanced-learning/#under-sampling-the-majority-class","title":"Under-sampling the majority class","text":"

Adding importance weights only works with gradient-based models (which includes neural networks). A more generic, and potentially more effective approach, is to use undersamplig and oversampling. As an example, we'll under-sample the stream so that our logistic regression encounter 20% of 1s and 80% of 0s. Under-sampling has the additional benefit of requiring less training steps, and thus reduces the total training time.

from river import imblearn\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 94.75%\n

The RandomUnderSampler class is a wrapper for classifiers. This is represented by a rectangle around the logistic regression bubble when we visualize the model.

model\n
StandardScaler
StandardScaler ( with_std=True )
RandomUnderSampler
RandomUnderSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.8, 1: 0.2} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/imbalanced-learning/#over-sampling-the-minority-class","title":"Over-sampling the minority class","text":"

We can also attain the same class distribution by over-sampling the minority class. This will come at cost of having to train with more samples.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomOverSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.71%\n
"},{"location":"examples/imbalanced-learning/#sampling-with-a-desired-sample-size","title":"Sampling with a desired sample size","text":"

The downside of both RandomUnderSampler and RandomOverSampler is that you don't have any control on the amount of data the classifier trains on. The number of samples is adjusted so that the target distribution can be attained, either by under-sampling or over-sampling. However, you can do both at the same time and choose how much data the classifier will see. To do so, we can use the RandomSampler class. In addition to the desired class distribution, we can specify how much data to train on. The samples will both be under-sampled and over-sampled in order to fit your constraints. This is powerful because it allows you to control both the class distribution and the size of the training data (and thus the training time). In the following example we'll set it so that the model will train with 1 percent of the data.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        sampling_rate=.01,\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 94.71%\n
"},{"location":"examples/imbalanced-learning/#hybrid-approach","title":"Hybrid approach","text":"

As you might have guessed by now, nothing is stopping you from mixing imbalanced learning methods together. As an example, let's combine sampling.RandomUnderSampler and the weight_pos parameter from the optim.losses.Log loss function.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(\n            loss=optim.losses.Log(weight_pos=5)\n        ),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 96.52%\n
"},{"location":"examples/quantile-regression-uncertainty/","title":"Handling uncertainty with quantile regression","text":"
%matplotlib inline\n

Quantile regression is useful when you're not so much interested in the accuracy of your model, but rather you want your model to be good at ranking observations correctly. The typical way to perform quantile regression is to use a special loss function, namely the quantile loss. The quantile loss takes a parameter, \\(\\alpha\\) (alpha), which indicates which quantile the model should be targeting. In the case of \\(\\alpha = 0.5\\), then this is equivalent to asking the model to predict the median value of the target, and not the most likely value which would be the mean.

A nice thing we can do with quantile regression is to produce a prediction interval for each prediction. Indeed, if we predict the lower and upper quantiles of the target then we will be able to obtain a \"trust region\" in between which the true value is likely to belong. Of course, the likeliness will depend on the chosen quantiles. For a slightly more detailed explanation see this blog post.

As an example, let us take the simple nowcasting model we built in another notebook. Instead of predicting the mean value of the target distribution, we will predict the 5th, 50th, 95th quantiles. This will require training three separate models, so we will encapsulate the model building logic in a function called make_model. We also have to slightly adapt the training loop, but not by much. Finally, we will draw the prediction interval along with the predictions from for 50th quantile (i.e. the median) and the true values.

import calendar\nimport math\nimport matplotlib.pyplot as plt\nfrom river import compose\nfrom river import datasets\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\nfrom river import stats\n\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}    \n\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\n\ndef make_model(alpha):\n\n    extract_features = compose.TransformerUnion(get_ordinal_date, get_month_distances)\n\n    scale = preprocessing.StandardScaler()\n\n    learn = linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03),\n        loss=optim.losses.Quantile(alpha=alpha)\n    )\n\n    model = extract_features | scale | learn\n    model = preprocessing.TargetStandardScaler(regressor=model)\n\n    return model\n\nmetric = metrics.MAE()\n\nmodels = {\n    'lower': make_model(alpha=0.05),\n    'center': make_model(alpha=0.5),\n    'upper': make_model(alpha=0.95)\n}\n\ndates = []\ny_trues = []\ny_preds = {\n    'lower': [],\n    'center': [],\n    'upper': []\n}\n\nfor x, y in datasets.AirlinePassengers():\n    y_trues.append(y)\n    dates.append(x['month'])\n\n    for name, model in models.items():\n        y_preds[name].append(model.predict_one(x))\n        model.learn_one(x, y)\n\n    # Update the error metric\n    metric.update(y, y_preds['center'][-1])\n\n# Plot the results\nfig, ax = plt.subplots(figsize=(10, 6))\nax.grid(alpha=0.75)\nax.plot(dates, y_trues, lw=3, color='#2ecc71', alpha=0.8, label='Truth')\nax.plot(dates, y_preds['center'], lw=3, color='#e74c3c', alpha=0.8, label='Prediction')\nax.fill_between(dates, y_preds['lower'], y_preds['upper'], color='#e74c3c', alpha=0.3, label='Prediction interval')\nax.legend()\nax.set_title(metric);\n

An important thing to note is that the prediction interval we obtained should not be confused with a confidence interval. Simply put, a prediction interval represents uncertainty for where the true value lies, whereas a confidence interval encapsulates the uncertainty on the prediction. You can find out more by reading this CrossValidated post.

"},{"location":"examples/sentence-classification/","title":"Sentence classification","text":"

In this tutorial we will try to predict whether an SMS is a spam or not. To train our model, we will use the SMSSpam dataset. This dataset is unbalanced, there is only 13.4% spam. Let's look at the data:

from river import datasets\n\ndatasets.SMSSpam()\n
SMS Spam Collection dataset.\n\nThe data contains 5,574 items and 1 feature (i.e. SMS body). Spam messages represent\n13.4% of the dataset. The goal is to predict whether an SMS is a spam or not.\n\n      Name  SMSSpam                                                                              \n      Task  Binary classification                                                                \n   Samples  5,574                                                                                \n  Features  1                                                                                    \n    Sparse  False                                                                                \n      Path  /Users/max/river_data/SMSSpam/SMSSpamCollection                                      \n       URL  https://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip\n      Size  466.71 KB                                                                            \nDownloaded  True\n
from pprint import pprint\n\nX_y = datasets.SMSSpam()\n\nfor x, y in X_y:\n    pprint(x)\n    print(f'Spam: {y}')\n    break\n
{'body': 'Go until jurong point, crazy.. Available only in bugis n great world '\n         'la e buffet... Cine there got amore wat...\\n'}\nSpam: False\n

Let's start by building a simple model like a Naive Bayes classifier. We will first preprocess the sentences with a TF-IDF transform that our model can consume. Then, we will measure the accuracy of our model with the AUC metric. This is the right metric to use when the classes are not balanced. In addition, the Naive Bayes models can perform very well on unbalanced datasets and can be used for both binary and multi-class classification problems.

from river import feature_extraction\nfrom river import naive_bayes\nfrom river import metrics\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    naive_bayes.BernoulliNB(alpha=0)\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    if y_pred is not None:\n        metric.update(y_pred=y_pred, y_true=y)\n        cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 93.00%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,809     17  \n True     102    645\n

The results are quite good with this first model.

Since we are working with an imbalanced dataset, we can use the imblearn module to rebalance the classes of our dataset. For more information about the imblearn module, you can find a dedicated tutorial here.

from river import imblearn\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    imblearn.RandomUnderSampler(\n        classifier=naive_bayes.BernoulliNB(alpha=0),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    if y_pred is not None:\n        metric.update(y_pred=y_pred, y_true=y)\n        cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 94.61%\n

The imblearn module improved our results. Not bad! We can visualize the pipeline to understand how the data is processed.

The confusion matrix:

cm\n
        False   True  \nFalse   4,570    255  \n True      41    706\n
model\n
TFIDF
TFIDF ( normalize=True on=\"body\" strip_accents=True lowercase=True preprocessor=None tokenizer=None ngram_range=(1, 1) )
RandomUnderSampler
RandomUnderSampler ( classifier=BernoulliNB ( alpha=0 true_threshold=0. ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
BernoulliNB
BernoulliNB ( alpha=0 true_threshold=0. )

Now let's try to use logistic regression to classify messages. We will use different tips to make my model perform better. As in the previous example, we rebalance the classes of our dataset. The logistics regression will be fed from a TF-IDF.

from river import linear_model\nfrom river import optim\nfrom river import preprocessing\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    preprocessing.Normalizer() | \n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(\n            optimizer=optim.SGD(.9), \n            loss=optim.losses.Log()\n        ),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    metric.update(y_pred=y_pred, y_true=y)\n    cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 93.80%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,584    243  \n True      55    692\n
model\n
TFIDF
TFIDF ( normalize=True on=\"body\" strip_accents=True lowercase=True preprocessor=None tokenizer=None ngram_range=(1, 1) )
Normalizer
Normalizer ( order=2 )
RandomUnderSampler
RandomUnderSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.9 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.9 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

The results of the logistic regression are quite good but still inferior to the naive Bayes model.

Let's try to use word embeddings to improve our logistic regression. Word embeddings allow you to represent a word as a vector. Embeddings are developed to build semantically rich vectors. For instance, the vector which represents the word python should be close to the vector which represents the word programming. We will use spaCy to convert our sentence to vectors. spaCy converts a sentence to a vector by calculating the average of the embeddings of the words in the sentence.

You can download pre-trained embeddings in many languages. We will use English pre-trained embeddings as our SMS are in English.

The command below allows you to download the pre-trained embeddings that spaCy makes available. More informations about spaCy and its installation may be found here here.

python -m spacy download en_core_web_sm\n

Here, we create a custom transformer to convert an input sentence to a dict of floats. We will integrate this transformer into our pipeline.

import spacy\n\nfrom river.base import Transformer\n\nclass Embeddings(Transformer):\n    \"\"\"My custom transformer, word embedding using spaCy.\"\"\"\n\n    def __init__(self, on: str):\n        self.on = on\n        self.embeddings = spacy.load('en_core_web_sm')\n\n    def transform_one(self, x, y=None):\n        return {dimension: xi for dimension, xi in enumerate(self.embeddings(x[self.on]).vector)}\n

Let's train our logistic regression:

X_y = datasets.SMSSpam()\n\nmodel = (\n    Embeddings(on='body') | \n    preprocessing.Normalizer() |\n    imblearn.RandomOverSampler(\n        classifier=linear_model.LogisticRegression(\n            optimizer=optim.SGD(.5), \n            loss=optim.losses.Log()\n        ),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    metric.update(y_pred=y_pred, y_true=y)\n    cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 91.31%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,537    290  \n True      85    662\n
model\n
Embeddings
Embeddings ( on=\"body\" )
Normalizer
Normalizer ( order=2 )
RandomOverSampler
RandomOverSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.5 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.5 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

The results of the logistic regression using spaCy embeddings are lower than those obtained with TF-IDF values. We could surely improve the results by cleaning up the text. We could also use embeddings more suited to our dataset. However, on this problem, the logistic regression is not better than the Naive Bayes model. No free lunch today.

"},{"location":"examples/the-art-of-using-pipelines/","title":"The art of using pipelines","text":"

Pipelines are a natural way to think about a machine learning system. Indeed with some practice a data scientist can visualise data \"flowing\" through a series of steps. The input is typically some raw data which has to be processed in some manner. The goal is to represent the data in such a way that is can be ingested by a machine learning algorithm. Along the way some steps will extract features, while others will normalize the data and remove undesirable elements. Pipelines are simple, and yet they are a powerful way of designing sophisticated machine learning systems.

Both scikit-learn and pandas make it possible to use pipelines. However it's quite rare to see pipelines being used in practice (at least on Kaggle). Sometimes you get to see people using scikit-learn's pipeline module, however the pipe method from pandas is sadly underappreciated. A big reason why pipelines are not given much love is that it's easier to think of batch learning in terms of a script or a notebook. Indeed many people doing data science seem to prefer a procedural style to a declarative style. Moreover in practice pipelines can be a bit rigid if one wishes to do non-orthodox operations.

Although pipelines may be a bit of an odd fit for batch learning, they make complete sense when they are used for online learning. Indeed the UNIX philosophy has advocated the use of pipelines for data processing for many decades. If you can visualise data as a stream of observations then using pipelines should make a lot of sense to you. We'll attempt to convince you by writing a machine learning algorithm in a procedural way and then converting it to a declarative pipeline in small steps. Hopefully by the end you'll be convinced, or not!

In this notebook we'll manipulate data from the Kaggle Recruit Restaurants Visitor Forecasting competition. The data is directly available through River's datasets module.

from pprint import pprint\nfrom river import datasets\n\nfor x, y in datasets.Restaurants():\n    pprint(x)\n    pprint(y)\n    break\n
{'area_name': 'T\u014dky\u014d-to Nerima-ku Toyotamakita',\n 'date': datetime.datetime(2016, 1, 1, 0, 0),\n 'genre_name': 'Izakaya',\n 'is_holiday': True,\n 'latitude': 35.7356234,\n 'longitude': 139.6516577,\n 'store_id': 'air_04341b588bde96cd'}\n10\n

We'll start by building and running a model using a procedural coding style. The performance of the model doesn't matter, we're simply interested in the design of the model.

from river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\nfrom river import utils\n\nmeans = (\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)),\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)),\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n)\n\nscaler = preprocessing.StandardScaler()\nlin_reg = linear_model.LinearRegression()\nmetric = metrics.MAE()\n\nfor x, y in datasets.Restaurants():\n\n    # Derive date features\n    x['weekday'] = x['date'].weekday()\n    x['is_weekend'] = x['date'].weekday() in (5, 6)\n\n    # Process the rolling means of the target  \n    for mean in means:\n        x = {**x, **mean.transform_one(x)}\n        mean.learn_one(x, y)\n\n    # Remove the key/value pairs that aren't features\n    for key in ['store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude']:\n        x.pop(key)\n\n    # Rescale the data\n    scaler.learn_one(x)\n    x = scaler.transform_one(x)\n\n    # Fit the linear regression\n    y_pred = lin_reg.predict_one(x)\n    lin_reg.learn_one(x, y)\n\n    # Update the metric using the out-of-fold prediction\n    metric.update(y, y_pred)\n\nprint(metric)\n
MAE: 8.316538\n

We're not using many features. We can print the last x to get an idea of the features (don't forget they've been scaled!)

pprint(x)\n
{'is_holiday': -0.23103573677646685,\n 'is_weekend': 1.6249280076334165,\n 'weekday': 1.0292832579142892,\n 'y_mean_by_store_id': -1.3980979075298516}\n

The above chunk of code is quite explicit but it's a bit verbose. The whole point of libraries such as River is to make life easier for users. Moreover there's too much space for users to mess up the order in which things are done, which increases the chance of there being target leakage. We'll now rewrite our model in a declarative fashion using a pipeline \u00e0 la sklearn.

from river import compose\n\n\ndef get_date_features(x):\n    weekday =  x['date'].weekday()\n    return {'weekday': weekday, 'is_weekend': weekday in (5, 6)}\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('date_features', compose.FuncTransformer(get_date_features)),\n        ('last_7_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7))),\n        ('last_14_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14))),\n        ('last_21_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)))\n    )),\n    ('drop_non_features', compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude')),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n\nmetric = metrics.MAE()\n\nfor x, y in datasets.Restaurants():\n\n    # Make a prediction without using the target\n    y_pred = model.predict_one(x)\n\n    # Update the model using the target\n    model.learn_one(x, y)\n\n    # Update the metric using the out-of-fold prediction\n    metric.update(y, y_pred)\n\nprint(metric)\n
MAE: 8.413859\n

We use a Pipeline to arrange each step in a sequential order. A TransformerUnion is used to merge multiple feature extractors into a single transformer. The for loop is now much shorter and is thus easier to grok: we get the out-of-fold prediction, we fit the model, and finally we update the metric. This way of evaluating a model is typical of online learning, and so we put it wrapped it inside a function called progressive_val_score part of the evaluate module. We can use it to replace the for loop.

from river import evaluate\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('date_features', compose.FuncTransformer(get_date_features)),\n        ('last_7_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7))),\n        ('last_14_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14))),\n        ('last_21_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)))\n    )),\n    ('drop_non_features', compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude')),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n\nevaluate.progressive_val_score(dataset=datasets.Restaurants(), model=model, metric=metrics.MAE())\n
MAE: 8.413859\n

Notice that you couldn't have used the progressive_val_score method if you wrote the model in a procedural manner.

Our code is getting shorter, but it's still a bit difficult on the eyes. Indeed there is a lot of boilerplate code associated with pipelines that can get tedious to write. However River has some special tricks up it's sleeve to save you from a lot of pain.

The first trick is that the name of each step in the pipeline can be omitted. If no name is given for a step then River automatically infers one.

model = compose.Pipeline(\n    compose.TransformerUnion(\n        compose.FuncTransformer(get_date_features),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n    ),\n    compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude'),\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Under the hood a Pipeline inherits from collections.OrderedDict. Indeed this makes sense because if you think about it a Pipeline is simply a sequence of steps where each step has a name. The reason we mention this is because it means you can manipulate a Pipeline the same way you would manipulate an ordinary dict. For instance we can print the name of each step by using the keys method.

for name in model.steps:\n    print(name)\n
TransformerUnion\nDiscard\nStandardScaler\nLinearRegression\n

The first step is a FeatureUnion and it's string representation contains the string representation of each of it's elements. Not having to write names saves up some time and space and is certainly less tedious.

The next trick is that we can use mathematical operators to compose our pipeline. For example we can use the + operator to merge Transformers into a TransformerUnion.

model = compose.Pipeline(\n    compose.FuncTransformer(get_date_features) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)),\n\n    compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude'),\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Likewhise we can use the | operator to assemble steps into a Pipeline.

model = (\n    compose.FuncTransformer(get_date_features) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n)\n\nto_discard = ['store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude']\n\nmodel = model | compose.Discard(*to_discard) | preprocessing.StandardScaler()\n\nmodel |= linear_model.LinearRegression()\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Hopefully you'll agree that this is a powerful way to express machine learning pipelines. For some people this should be quite remeniscent of the UNIX pipe operator. One final trick we want to mention is that functions are automatically wrapped with a FuncTransformer, which can be quite handy.

model = get_date_features\n\nfor n in [7, 14, 21]:\n    model += feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), n))\n\nmodel |= compose.Discard(*to_discard)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Naturally some may prefer the procedural style we first used because they find it easier to work with. It all depends on your style and you should use what you feel comfortable with. However we encourage you to use operators because we believe that this will increase the readability of your code, which is very important. To each their own!

Before finishing we can take an interactive look at our pipeline.

model\n
get_date_features
def get_date_features(x): weekday = x['date'].weekday() return {'weekday': weekday, 'is_weekend': weekday in (5, 6)}
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=7 ) target_name=\"y\" )
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=14 ) target_name=\"y\" )
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=21 ) target_name=\"y\" )
~['area_name', [...]
Discard ( area_name date genre_name latitude longitude store_id )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/","title":"Part 1","text":"

Table of contents of this tutorial series on matrix factorization for recommender systems:

  • Part 1 - Traditional Matrix Factorization methods for Recommender Systems
  • Part 2 - Factorization Machines and Field-aware Factorization Machines
  • Part 3 - Large scale learning and better predictive power with multiple pass learning
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#introduction","title":"Introduction","text":"

A recommender system is a software tool designed to generate and suggest items or entities to the users. Popular large scale examples include:

  • Amazon (suggesting products)
  • Facebook (suggesting posts in users' news feeds)
  • Spotify (suggesting music)

Social recommendation from graph (mostly used by social networks) are not covered in River. We focus on the general case, item recommendation. This problem can be represented with the user-item matrix:

\\[ \\normalsize \\begin{matrix} & \\begin{matrix} _1 & _\\cdots & _\\cdots & _\\cdots & _I \\end{matrix} \\\\ \\begin{matrix} _1 \\\\ _\\vdots \\\\ _\\vdots \\\\ _\\vdots \\\\ _U \\end{matrix} & \\begin{bmatrix} {\\color{Red} ?} & 2 & \\cdots & {\\color{Red} ?} & {\\color{Red} ?} \\\\ {\\color{Red} ?} & {\\color{Red} ?} & \\cdots & {\\color{Red} ?} & 4.5 \\\\ \\vdots & \\ddots & \\ddots & \\ddots & \\vdots \\\\ 3 & {\\color{Red} ?} & \\cdots & {\\color{Red} ?} & {\\color{Red} ?} \\\\ {\\color{Red} ?} & {\\color{Red} ?} & \\cdots & 5 & {\\color{Red} ?} \\end{bmatrix} \\end{matrix} \\]

Where \\(U\\) and \\(I\\) are the number of user and item of the system, respectively. A matrix entry represents a user's preference for an item, it can be a rating, a like or dislike, etc. Because of the huge number of users and items compared to the number of observed entries, those matrices are very sparsed (usually less than 1% filled).

Matrix Factorization (MF) is a class of collaborative filtering algorithms derived from Singular Value Decomposition (SVD). MF strength lies in its capacity to able to model high cardinality categorical variables interactions. This subfield boomed during the famous Netflix Prize contest in 2006, when numerous novel variants has been invented and became popular thanks to their attractive accuracy and scalability.

MF approach seeks to fill the user-item matrix considering the problem as a matrix completion one. MF core idea assume a latent model learning its own representation of the users and the items in a lower latent dimensional space by factorizing the observed parts of the matrix.

A factorized user or item is represented as a vector \\(\\mathbf{v}_u\\) or \\(\\mathbf{v}_i\\) composed of \\(k\\) latent factors, with \\(k << U, I\\). Those learnt latent variables represent, for an item the various aspects describing it, and for a user its interests in terms of those aspects. The model then assume a user's choice or fondness is composed of a sum of preferences about the various aspects of the concerned item. This sum being the dot product between the latent vectors of a given user-item pair:

\\[ \\normalsize \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f} \\]

MF models weights are learnt in an online fashion, often with stochastic gradient descent as it provides relatively fast running time and good accuracy. There is a great and widely popular library named surprise that implements MF models (and others) but in contrast with River doesn't follow a pure online philosophy (all the data have to be loaded in memory and the API doesn't allow you to update your model with new data).

Notes:

  • In recent years, proposed deep learning techniques for recommendation tasks claim state of the art results. However, recent work (August 2019) showed that those promises can't be taken for granted and traditional MF methods are still relevant today.
  • For more information about how the business value of recommender systems is measured and why they are one of the main success stories of machine learning, see the following literature survey (December 2019).
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#lets-start","title":"Let's start","text":"

In this tutorial, we are going to explore MF algorithms available in River and test them on a movie recommendation problem with the MovieLens 100K dataset. This latter is a collection of movie ratings (from 1 to 5) that includes various information about both the items and the users. We can access it from the river.datasets module:

import json\n\nfrom river import datasets\n\nfor x, y in datasets.MovieLens100K():\n    print(f'x = {json.dumps(x, indent=4)}')\n    print(f'y = {y}')\n    break\n
x = {\n    \"user\": \"259\",\n    \"item\": \"255\",\n    \"timestamp\": 874731910000000000,\n    \"title\": \"My Best Friend's Wedding (1997)\",\n    \"release_date\": 866764800000000000,\n    \"genres\": \"comedy, romance\",\n    \"age\": 21.0,\n    \"gender\": \"M\",\n    \"occupation\": \"student\",\n    \"zip_code\": \"48823\"\n}\ny = 4.0\n

Let's define a routine to evaluate our different models on MovieLens 100K. Mean Absolute Error and Root Mean Squared Error will be our metrics printed alongside model's computation time and memory usage:

from river import metrics\nfrom river.evaluate import progressive_val_score\n\ndef evaluate(model, unpack_user_and_item=True):\n    X_y = datasets.MovieLens100K(unpack_user_and_item)\n    metric = metrics.MAE() + metrics.RMSE()\n    _ = progressive_val_score(X_y, model, metric, print_every=25_000, show_time=True, show_memory=True)\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#naive-prediction","title":"Naive prediction","text":"

It's good practice in machine learning to start with a naive baseline and then iterate from simple things to complex ones observing progress incrementally. Let's start by predicting the target running mean as a first shot:

from river import dummy\nfrom river import stats\n\nmodel = dummy.StatisticRegressor(stats.Mean())\nevaluate(model, unpack_user_and_item=False)\n
[25,000] MAE: 0.934259\nRMSE: 1.124469 \u2013 00:00:00 \u2013 898 B\n[50,000] MAE: 0.923893\nRMSE: 1.105 \u2013 00:00:00 \u2013 898 B\n[75,000] MAE: 0.937359\nRMSE: 1.123696 \u2013 00:00:00 \u2013 898 B\n[100,000] MAE: 0.942162\nRMSE: 1.125783 \u2013 00:00:01 \u2013 898 B\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#baseline-model","title":"Baseline model","text":"

Now we can do machine learning and explore available models in river.reco module starting with the baseline model. It extends our naive prediction by adding to the global running mean two bias terms characterizing the user and the item discrepancy from the general tendency. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} \\]

This baseline model can be viewed as a linear regression where the intercept is replaced by the target running mean with the users and the items one hot encoded.

All machine learning models in River expect dicts as input with feature names as keys and feature values as values. Specifically, models from river.reco expect a 'user' and an 'item' entries without any type constraint on their values (i.e. can be strings or numbers), e.g.:

x = {\n    'user': 'Guido',\n    'item': \"Monty Python's Flying Circus\"\n}\n

Other entries, if exist, are simply ignored. This is quite useful as we don't need to spend time and storage doing one hot encoding.

from river import preprocessing\nfrom river import optim\nfrom river import reco\n\nbaseline_params = {\n    'optimizer': optim.SGD(0.025),\n    'l2': 0.,\n    'initializer': optim.initializers.Zeros()\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.Baseline(**baseline_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761844\nRMSE: 0.960972 \u2013 00:00:00 \u2013 161.03 KB\n[50,000] MAE: 0.753292\nRMSE: 0.951223 \u2013 00:00:00 \u2013 216.34 KB\n[75,000] MAE: 0.754177\nRMSE: 0.953376 \u2013 00:00:01 \u2013 254.81 KB\n[100,000] MAE: 0.754651\nRMSE: 0.954148 \u2013 00:00:01 \u2013 278.41 KB\n

We won two tenth of MAE compared to our naive prediction (0.7546 vs 0.9421) meaning that significant information has been learnt by the model.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#funk-matrix-factorization-funkmf","title":"Funk Matrix Factorization (FunkMF)","text":"

It's the pure form of matrix factorization consisting of only learning the users and items latent representations as discussed in introduction. Simon Funk popularized its stochastic gradient descent optimization in 2006 during the Netflix Prize. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle \\]

Note: FunkMF is sometimes referred as Probabilistic Matrix Factorization which is an extended probabilistic version.

funk_mf_params = {\n    'n_factors': 10,\n    'optimizer': optim.SGD(0.05),\n    'l2': 0.1,\n    'initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73)\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.FunkMF(**funk_mf_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 1.070136\nRMSE: 1.397014 \u2013 00:00:00 \u2013 557.99 KB\n[50,000] MAE: 0.99174\nRMSE: 1.290666 \u2013 00:00:01 \u2013 690.31 KB\n[75,000] MAE: 0.961072\nRMSE: 1.250842 \u2013 00:00:01 \u2013 813.07 KB\n[100,000] MAE: 0.944883\nRMSE: 1.227688 \u2013 00:00:02 \u2013 914.17 KB\n

Results are equivalent to our naive prediction (0.9448 vs 0.9421). By only focusing on the users preferences and the items characteristics, the model is limited in his ability to capture different views of the problem. Despite its poor performance alone, this algorithm is quite useful combined in other models or when we need to build dense representations for other tasks.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#biased-matrix-factorization-biasedmf","title":"Biased Matrix Factorization (BiasedMF)","text":"

It's the combination of the Baseline model and FunkMF. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} + \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle \\]

Note: Biased Matrix Factorization name is used by some people but some others refer to it by SVD or Funk SVD. It's the case of Yehuda Koren and Robert Bell in Recommender Systems Handbook (Chapter 5 Advances in Collaborative Filtering) and of surprise library. Nevertheless, SVD could be confused with the original Singular Value Decomposition from which it's derived from, and Funk SVD could also be misleading because of the biased part of the model equation which doesn't come from Simon Funk's work. For those reasons, we chose to side with Biased Matrix Factorization which fits more naturally to it.

biased_mf_params = {\n    'n_factors': 10,\n    'bias_optimizer': optim.SGD(0.025),\n    'latent_optimizer': optim.SGD(0.05),\n    'weight_initializer': optim.initializers.Zeros(),\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73),\n    'l2_bias': 0.,\n    'l2_latent': 0.\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.BiasedMF(**biased_mf_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761818\nRMSE: 0.961057 \u2013 00:00:00 \u2013 643.81 KB\n[50,000] MAE: 0.751667\nRMSE: 0.949443 \u2013 00:00:01 \u2013 817.72 KB\n[75,000] MAE: 0.749653\nRMSE: 0.948723 \u2013 00:00:01 \u2013 964.02 KB\n[100,000] MAE: 0.748559\nRMSE: 0.947854 \u2013 00:00:02 \u2013 1.05 MB\n

Results improved (0.7485 vs 0.7546) demonstrating that users and items latent representations bring additional information.

To conclude this first tutorial about factorization models, let's review the important parameters to tune when dealing with this family of methods:

  • n_factors: the number of latent factors. The more you set, the more items aspects and users preferences you are going to learn. Too many will cause overfitting, l2 regularization could help.
  • *_optimizer: the optimizers. Classic stochastic gradient descent performs well, finding the good learning rate will make the difference.
  • initializer: the latent weights initialization. Latent vectors have to be initialized with non-constant values. We generally sample them from a zero-mean normal distribution with small standard deviation.
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/","title":"Part 2","text":"

As seen in Part 1, strength of Matrix Factorization (MF) lies in its ability to deal with sparse and high cardinality categorical variables. In this second tutorial we will have a look at Factorization Machines (FM) algorithm and study how it generalizes the power of MF.

Table of contents of this tutorial series on matrix factorization for recommender systems:

  • Part 1 - Traditional Matrix Factorization methods for Recommender Systems
  • Part 2 - Factorization Machines and Field-aware Factorization Machines
  • Part 3 - Large scale learning and better predictive power with multiple pass learning
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#factorization-machines","title":"Factorization Machines","text":"

Steffen Rendel came up in 2010 with Factorization Machines, an algorithm able to handle any real valued feature vector, combining the advantages of general predictors with factorization models. It became quite popular in the field of online advertising, notably after winning several Kaggle competitions. The modeling technique starts with a linear regression to capture the effects of each variable individually:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} \\]

Then are added interaction terms to learn features relations. Instead of learning a single and specific weight per interaction (as in polynomial regression), a set of latent factors is learnt per feature (as in MF). An interaction is calculated by multiplying involved features product with their latent vectors dot product. The degree of factorization \u2014 or model order \u2014 represents the maximum number of features per interaction considered. The model equation for a factorization machine of degree \\(d\\) = 2 is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'} \\]

Where \\(\\normalsize \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle\\) is the dot product of \\(j\\) and \\(j'\\) latent vectors:

\\[ \\normalsize \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{j, f} \\cdot \\mathbf{v}_{j', f} \\]

Higher-order FM will be covered in a following section, just note that factorization models express their power in sparse settings, which is also where higher-order interactions are hard to estimate.

Strong emphasis must be placed on feature engineering as it allows FM to mimic most factorization models and significantly impact its performance. High cardinality categorical variables one hot encoding is the most frequent step before feeding the model with data. For more efficiency, River FM implementation considers string values as categorical variables and automatically one hot encode them. FM models have their own module river.facto.

## Mimic Biased Matrix Factorization (BiasedMF)

Let's start with a simple example where we want to reproduce the Biased Matrix Factorization model we trained in the previous tutorial. For a fair comparison with Part 1 example, let's set the same evaluation framework:

from river import datasets\nfrom river import metrics\nfrom river.evaluate import progressive_val_score\n\ndef evaluate(model):\n    X_y = datasets.MovieLens100K()\n    metric = metrics.MAE() + metrics.RMSE()\n    _ = progressive_val_score(X_y, model, metric, print_every=25_000, show_time=True, show_memory=True)\n

In order to build an equivalent model we need to use the same hyper-parameters. As we can't replace FM intercept by the global running mean we won't be able to build the exact same model:

from river import compose\nfrom river import facto\nfrom river import preprocessing\nfrom river import optim\nfrom river import stats\n\nfm_params = {\n    'n_factors': 10,\n    'weight_optimizer': optim.SGD(0.025),\n    'latent_optimizer': optim.SGD(0.05),\n    'sample_normalization': False,\n    'l1_weight': 0.,\n    'l2_weight': 0.,\n    'l1_latent': 0.,\n    'l2_latent': 0.,\n    'intercept': 3,\n    'intercept_lr': .01,\n    'weight_initializer': optim.initializers.Zeros(),\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor |= facto.FMRegressor(**fm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761778\nRMSE: 0.960803 \u2013 00:00:01 \u2013 778.29 KB\n[50,000] MAE: 0.751986\nRMSE: 0.949941 \u2013 00:00:02 \u2013 908.2 KB\n[75,000] MAE: 0.750044\nRMSE: 0.948911 \u2013 00:00:03 \u2013 1.03 MB\n[100,000] MAE: 0.748609\nRMSE: 0.947994 \u2013 00:00:05 \u2013 1.15 MB\n

Both MAE are very close to each other (0.7486 vs 0.7485) showing that we almost reproduced [reco.BiasedMF](../../../api/reco/BiasedMF) algorithm. The cost is a naturally slower running time as FM implementation offers more flexibility.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#feature-engineering-for-fm-models","title":"Feature engineering for FM models","text":"

Let's study the basics of how to properly encode data for FM models. We are going to keep using MovieLens 100K as it provides various feature types:

import json\n\nfor x, y in datasets.MovieLens100K():\n    print(f'x = {json.dumps(x, indent=4)}\\ny = {y}')\n    break\n
x = {\n    \"user\": \"259\",\n    \"item\": \"255\",\n    \"timestamp\": 874731910000000000,\n    \"title\": \"My Best Friend's Wedding (1997)\",\n    \"release_date\": 866764800000000000,\n    \"genres\": \"comedy, romance\",\n    \"age\": 21.0,\n    \"gender\": \"M\",\n    \"occupation\": \"student\",\n    \"zip_code\": \"48823\"\n}\ny = 4.0\n

The features we are going to add to our model don't improve its predictive power. Nevertheless, they are useful to illustrate different methods of data encoding:

  1. Set-categorical variables

We have seen that categorical variables are one hot encoded automatically if set to strings, in the other hand, set-categorical variables must be encoded explicitly by the user. A good way of doing so is to assign them a value of \\(1/m\\), where \\(m\\) is the number of elements of the sample set. It gives the feature a constant \"weight\" across all samples preserving model's stability. Let's create a routine to encode movies genres this way:

def split_genres(x):\n    genres = x['genres'].split(', ')\n    return {f'genre_{genre}': 1 / len(genres) for genre in genres}\n
  1. Numerical variables

In practice, transforming numerical features into categorical ones works better in most cases. Feature binning is the natural way, but finding good bins is sometimes more an art than a science. Let's encode users age with something simple:

def bin_age(x):\n    if x['age'] <= 18:\n        return {'age_0-18': 1}\n    elif x['age'] <= 32:\n        return {'age_19-32': 1}\n    elif x['age'] < 55:\n        return {'age_33-54': 1}\n    else:\n        return {'age_55-100': 1}\n

Let's put everything together:

fm_params = {\n    'n_factors': 14,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FMRegressor(**fm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.759838\nRMSE: 0.961281 \u2013 00:00:03 \u2013 895.78 KB\n[50,000] MAE: 0.751307\nRMSE: 0.951391 \u2013 00:00:08 \u2013 1.02 MB\n[75,000] MAE: 0.750361\nRMSE: 0.951393 \u2013 00:00:12 \u2013 1.18 MB\n[100,000] MAE: 0.749994\nRMSE: 0.951435 \u2013 00:00:16 \u2013 1.33 MB\n

Note that using more variables involves factorizing a larger latent space, then increasing the number of latent factors \\(k\\) often helps capturing more information.

Some other feature engineering tips from 3 idiots' winning solution for Kaggle Criteo display ads competition in 2014:

  • Infrequent modalities often bring noise and little information, transforming them into a special tag can help
  • In some cases, sample-wise normalization seems to make the optimization problem easier to be solved
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#higher-order-factorization-machines-hofm","title":"Higher-Order Factorization Machines (HOFM)","text":"

The model equation generalized to any order \\(d \\geq 2\\) is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right) \\]
hofm_params = {\n    'degree': 3,\n    'n_factors': 12,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.HOFMRegressor(**hofm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761297\nRMSE: 0.962054 \u2013 00:00:15 \u2013 1.67 MB\n[50,000] MAE: 0.751865\nRMSE: 0.951499 \u2013 00:00:31 \u2013 1.97 MB\n[75,000] MAE: 0.750853\nRMSE: 0.951526 \u2013 00:00:47 \u2013 2.3 MB\n[100,000] MAE: 0.750607\nRMSE: 0.951982 \u2013 00:01:03 \u2013 2.6 MB\n

As said previously, high-order interactions are often hard to estimate due to too much sparsity, that's why we won't spend too much time here.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#field-aware-factorization-machines-ffm","title":"Field-aware Factorization Machines (FFM)","text":"

Field-aware variant of FM (FFM) improved the original method by adding the notion of \"fields\". A \"field\" is a group of features that belong to a specific domain (e.g. the \"users\" field, the \"items\" field, or the \"movie genres\" field).

FFM restricts itself to pairwise interactions and factorizes separated latent spaces \u2014 one per combination of fields (e.g. users/items, users/movie genres, or items/movie genres) \u2014 instead of a common one shared by all fields. Therefore, each feature has one latent vector per field it can interact with \u2014 so that it can learn the specific effect with each different field.

The model equation is defined by:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_{j}} \\rangle x_{j} x_{j'} \\]

Where \\(f_j\\) and \\(f_{j'}\\) are the fields corresponding to \\(j\\) and \\(j'\\) features, respectively.

ffm_params = {\n    'n_factors': 8,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FFMRegressor(**ffm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.757718\nRMSE: 0.958158 \u2013 00:00:06 \u2013 2.04 MB\n[50,000] MAE: 0.749502\nRMSE: 0.948065 \u2013 00:00:12 \u2013 2.41 MB\n[75,000] MAE: 0.749275\nRMSE: 0.948918 \u2013 00:00:18 \u2013 2.82 MB\n[100,000] MAE: 0.749542\nRMSE: 0.949769 \u2013 00:00:24 \u2013 3.19 MB\n

Note that FFM usually needs to learn smaller number of latent factors \\(k\\) than FM as each latent vector only deals with one field.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#field-weighted-factorization-machines-fwfm","title":"Field-weighted Factorization Machines (FwFM)","text":"

Field-weighted Factorization Machines (FwFM) address FFM memory issues caused by its large number of parameters, which is in the order of feature number times field number. As FFM, FwFM is an extension of FM restricted to pairwise interactions, but instead of factorizing separated latent spaces, it learns a specific weight \\(r_{f_j, f_{j'}}\\) for each field combination modelling the interaction strength.

The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'} \\]
fwfm_params = {\n    'n_factors': 10,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'seed': 73,\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FwFMRegressor(**fwfm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761539\nRMSE: 0.962241 \u2013 00:00:07 \u2013 792.94 KB\n[50,000] MAE: 0.754089\nRMSE: 0.953181 \u2013 00:00:15 \u2013 922.85 KB\n[75,000] MAE: 0.754806\nRMSE: 0.954979 \u2013 00:00:22 \u2013 1.04 MB\n[100,000] MAE: 0.755404\nRMSE: 0.95604 \u2013 00:00:30 \u2013 1.17 MB\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-3/","title":"Part 3","text":"

To do.

"},{"location":"faq/","title":"Frequently Asked Questions","text":""},{"location":"faq/#do-all-classifiers-support-multi-class-classification","title":"Do all classifiers support multi-class classification?","text":"

No, they don't. Although binary classification can be seen as a special case of multi-class classification, there are many optimizations that can be performed if we know that there are only two classes. It would be annoying to have to check whether this is the case in an online setting. All in all we find that separating both cases leads to much cleaner code. Note that the multiclass module contains wrapper models that enable you to perform multi-class classification with binary classifiers.

"},{"location":"faq/#how-do-i-know-if-a-classifier-supports-multi-class-classification","title":"How do I know if a classifier supports multi-class classification?","text":"

Each classifier in River inherits from the base.Classifier class. Each classifier therefore has a _multiclass property which indicates whether or not it can process a non-boolean target value.

>>> from river import linear_model\n\n>>> classifier = linear_model.LogisticRegression()\n>>> classifier._multiclass\nFalse\n
"},{"location":"faq/#why-doesnt-river-do-any-input-validation","title":"Why doesn't river do any input validation?","text":"

Python encourages a coding style called EAFP, which stands for \"Easier to Ask for Forgiveness than Permission\". The idea is to assume that runtime errors don't occur, and instead use try/expects to catch errors. The great benefit is that we don't have to drown our code with if statements, which is symptomatic of the LBYL style, which stands for \"look before you leap\". This makes our implementations much more readable than, say, scikit-learn, which does a lot of input validation. The catch is that users have to be careful to use sane inputs. As always, there is no free lunch!

"},{"location":"faq/#what-about-reinforcement-learning","title":"What about reinforcement learning?","text":"

Reinforcement learning works in an online manner because of the nature of the task. Reinforcement learning can be therefore be seen as a subcase of online machine learning. However, we prefer not to support it because there are already many existing opensource libraries dedicated to it.

"},{"location":"faq/#what-are-the-differences-between-scikit-learns-online-learning-algorithm-which-have-a-partial_fit-method-and-their-equivalents-in-river","title":"What are the differences between scikit-learn's online learning algorithm which have a partial_fit method and their equivalents in River?","text":"

The algorithms from sklearn that support incremental learning are mostly meant for mini-batch learning. In a pure streaming context where the observations arrive one by one, then River is much faster than sklearn. This is mostly because sklearn incurs a lot of overhead by performing data checks. Also, sklearn assumes that you're always using the same number of features. This is not the case with River because it use dictionaries which allows you to drop and add features as you wish.

"},{"location":"faq/#how-do-i-save-and-load-models","title":"How do I save and load models?","text":"
>>> from river import ensemble\n>>> import pickle\n\n>>> model = ensemble.AdaptiveRandomForestClassifier()\n\n# save\n>>> with open('model.pkl', 'wb') as f:\n...     pickle.dump(model, f)\n\n# load\n>>> with open('model.pkl', 'rb') as f:\n...     model = pickle.load(f)\n

We also encourage you to try out dill and cloudpickle.

"},{"location":"faq/#what-about-neural-networks","title":"What about neural networks?","text":"

There are many great open-source libraries for building neural network models. We don't feel that we can bring anything of value to the existing Python ecosystem. However, we are open to implementing compatibility wrappers for popular libraries such as PyTorch and Keras.

"},{"location":"faq/#who-are-the-authors-of-this-library","title":"Who are the authors of this library?","text":"

We are research engineers, graduate students, PhDs and machine learning researchers. The members of the develompent team are mainly located in France, Brazil and New Zealand.

"},{"location":"introduction/basic-concepts/","title":"Basic concepts","text":"

Here are some concepts to give you a feel for what problems River addresses.

"},{"location":"introduction/basic-concepts/#data-streams","title":"Data streams","text":"

River is a library to build online machine learning models. Such models operate on data streams. But a data stream is a bit of a vague concept.

In general, a data stream is a sequence of individual elements. In the case of machine learning, each element is a bunch of features. We call these samples, or observations. Each sample might follow a fixed structure and always contain the same features. But features can also appear and disappear over time. That depends on the use case.

"},{"location":"introduction/basic-concepts/#reactive-and-proactive-data-streams","title":"Reactive and proactive data streams","text":"

The origin of a data stream can vary, and usually it doesn't matter. You should be able to use River regardless of where your data comes from. It is however important to keep in mind the difference between reactive and proactive data streams.

Reactive data streams are ones where the data comes to you. For instance, when a user visits your website, that's out of your control. You have no influence on the event. It just happens and you have to react to it.

Proactive data streams are ones where you have control on the data stream. For example, you might be reading the data from a file. You decide at which speed you want to read the data, in what order, etc.

If you consider data analysis as a whole, you're realize that the general approach is to turn reactive streams into proactive datasets. Events are usually logged into a database and are processed offline. Be it for building KPIs or training models.

The challenge for machine learning is to ensure models you train offline on proactive datasets will perform correctly in production on reactive data streams.

"},{"location":"introduction/basic-concepts/#online-processing","title":"Online processing","text":"

Online processing is the act of processing a data stream one element at a time. In the case of machine learning, that means training a model by teaching it one sample at a time. This is completely opposite to the traditional way of doing machine learning, which is to train a model on whole batches of data at a time.

An online model is therefore a stateful, dynamic object. It keeps learning and doesn't have to revisit past data. It's a different way of doing things, and therefore has its own set of pros and cons.

"},{"location":"introduction/basic-concepts/#tasks","title":"Tasks","text":"

Machine learning encompasses many different tasks: classification, regression, anomaly detection, time series forecasting, etc. The ideology behind River is to be a generic machine learning approach which allows these tasks to be performed in a streaming manner. Indeed, many batch machine learning algorithms have online equivalents.

Note that River also supports some more basic tasks. For instance, you might just want to calculate a running average of a data stream. These are usually smaller parts of a whole stream processing pipeline.

"},{"location":"introduction/basic-concepts/#dictionaries-everywhere","title":"Dictionaries everywhere","text":"

River is a Python library. It is composed of a bunch of classes which implement various online processing algorithms. Most of these classes are machine learning models which can process a single sample, be it for learning or for inference.

We made the choice to use dictionaries as the basic building block. First of all, online processing is different to batch processing, in that vectorization doesn't bring any speed-up. Therefore numeric processing libraries such as NumPy and PyTorch actually bring too much overhead. Using native Python data structures is faster.

Dictionaries are therefore a perfect fit. They're native to Python and have excellent support in the standard library. They allow the naming of each feature. They can hold any kind of data type. They allow transparent support of JSON payloads, allowing seamless integration with web apps.

"},{"location":"introduction/basic-concepts/#datasets","title":"Datasets","text":"

In production, you're almost always going to face data streams which you have to react to, such as users visiting your website. The advantage of online machine learning is that you can design models that make predictions as well as learn from this data stream as it flows.

But of course, when you're developping a model, you don't usually have access to a real-time feed on which to evaluate your model. You usually have an offline dataset which you want to evaluate your model on. River provides some datasets which can be read in online manner, one sample at a time. It is however crucial to keep in mind that the goal is to reproduce a production scenario as closely as possible, in order to ensure your model will perform just as well in production.

"},{"location":"introduction/basic-concepts/#model-evaluation","title":"Model evaluation","text":"

Online model evaluation differs from its traditional batch counterpart. In the latter, you usually perform cross-validation, whereby your training dataset is split into a learning and an evaluation dataset. This is fine, but it doesn't exactly reflect the data generation process that occurs in production.

Online model evaluation involves learning and inference in the same order as what would happen in production. Indeed, if you know the order in which your data arrives, then you can process it the exact same order. This allows you to replay a production scenario and evaluate your model with higher fidelity than cross-validation.

This is what makes online machine learning powerful. By replaying datasets in the correct order, you ensure you are designing models which will perform as expected in production.

"},{"location":"introduction/basic-concepts/#concept-drift","title":"Concept drift","text":"

The main reason why an offline model might not perform as expected in production is because of concept drift. But this is true for all machine learning models, be they offline or online.

The advantage of online models over offline models is that they can cope with drift. Indeed, because they can keep learning, they usually adapt to concept drift in a seamless manner. As opposed to batch models which have to be retrained from scratch.

"},{"location":"introduction/installation/","title":"Installation","text":"

River is meant to work with Python 3.8 and above. Installation can be done via pip:

pip install river\n

You can install the latest development version from GitHub, as so:

pip install git+https://github.com/online-ml/river --upgrade\npip install git+ssh://git@github.com/online-ml/river.git --upgrade  # using SSH\n

This method requires having Cython and Rust installed on your machine.

Feel welcome to open an issue on GitHub if you are having any trouble.

"},{"location":"introduction/next-steps/","title":"Next steps","text":"

The Recipes \ud83c\udf71 section is made up of small tutorials. Each one explains how to perform mundane tasks, such as measuring the performance of a model, selecting hyperparameters, etc.

The Examples \ud83c\udf36\ufe0f section contains more involved notebooks with less explanations. Each notebook addresses a particular machine learning problem.

The API \ud83d\udcda section references all the modules, classes, and functions in River. It is automatically generated from the codebase's Python docstrings.

Feel welcome to open a discussion if you have a question. Before that you can check out the FAQ \ud83d\ude4b, which has answers to recurring questions.

The released versions are listed in the Releases \ud83c\udfd7 section. Changes that will be part of the next release are listed in the unreleased section of the documentation's development version, which you may find here.

We recommend checking out Awesome Online Machine Learning if you want to go deeper. There you will find online machine learning related content: research papers, alternative and complementary software, blog posts, etc.

"},{"location":"introduction/related-projects/","title":"Related projects","text":"

Here is a list of projects which are more or less coupled with River:

  • deep-river interfaces PyTorch models with River.
  • light-river implements fast algorithms in rust.
  • river-extra regroups experimental features which have yet to prove themselves to make it into the main River repository. Between us we call this \"the arena\".
  • Beaver is an MLOps tool for covering the whole lifecycle of online machine learning models.
"},{"location":"introduction/why-use-river/","title":"Why use River?","text":""},{"location":"introduction/why-use-river/#processing-one-sample-at-a-time","title":"Processing one sample at a time","text":"

All the tools in the library can be updated with a single observation at a time. They can therefore be used to process streaming data. Depending on your use case, this might be more convenient than using a batch model.

"},{"location":"introduction/why-use-river/#adapting-to-drift","title":"Adapting to drift","text":"

In the streaming setting, data can evolve. Adaptive methods are specifically designed to be robust against concept drift in dynamic environments. Many of River's models can cope with concept drift.

"},{"location":"introduction/why-use-river/#general-purpose","title":"General purpose","text":"

River supports different machine learning tasks, including regression, classification, and unsupervised learning. It can also be used for ad hoc tasks, such as computing online metrics, as well as concept drift detection.

"},{"location":"introduction/why-use-river/#user-experience","title":"User experience","text":"

River is not the only library allowing you to do online machine learning. But it might just the simplest one to use in the Python ecosystem. River plays nicely with Python dictionaries, therefore making it easy to use in the context of web applications where JSON payloads are aplenty.

"},{"location":"introduction/getting-started/binary-classification/","title":"Binary classification","text":"

Classification is about predicting an outcome from a fixed list of classes. The prediction is a probability distribution that assigns a probability to each possible outcome.

A labeled classification sample is made up of a bunch of features and a class. The class is a boolean in the case of binary classification. We'll use the phishing dataset as an example.

from river import datasets\n\ndataset = datasets.Phishing()\ndataset\n
Phishing websites.\n\nThis dataset contains features from web pages that are classified as phishing or not.\n\n    Name  Phishing                                                          \n    Task  Binary classification                                             \n Samples  1,250                                                             \nFeatures  9                                                                 \n  Sparse  False                                                             \n    Path  /Users/max/projects/online-ml/river/river/datasets/phishing.csv.gz\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'empty_server_form_handler': 0.0,\n 'popup_window': 0.0,\n 'https': 0.0,\n 'request_from_other_domain': 0.0,\n 'anchor_from_other_domain': 0.0,\n 'is_popular': 0.5,\n 'long_url': 1.0,\n 'age_of_domain': 1,\n 'ip_in_url': 1}\n
y\n
True\n

A binary classifier's goal is to learn to predict a binary target y from some given features x. We'll try to do this with a logistic regression.

from river import linear_model\n\nmodel = linear_model.LogisticRegression()\nmodel.predict_proba_one(x)\n
{False: 0.5, True: 0.5}\n

The model hasn't been trained on any data, and therefore outputs a default probability of 50% for each class.

The model can be trained on the sample, which will update the model's state.

model.learn_one(x, y)\n

If we try to make a prediction on the same sample, we can see that the probabilities are different, because the model has learned something.

model.predict_proba_one(x)\n
{False: 0.494687699901455, True: 0.505312300098545}\n

Note that there is also a predict_one if you're only interested in the most likely class rather than the probability distribution.

model.predict_one(x)\n
True\n

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = linear_model.LogisticRegression()\n\nmetric = metrics.ROCAUC()\n\nfor x, y in dataset:\n    y_pred = model.predict_proba_one(x)\n    model.learn_one(x, y)\n    metric.update(y, y_pred)\n\nmetric\n
ROCAUC: 89.36%\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = linear_model.LogisticRegression()\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
ROCAUC: 89.36%\n

A common way to improve the performance of a logistic regression is to scale the data. This can be done by using a preprocessing.StandardScaler. In particular, we can define a pipeline to organise our model into a sequence of steps:

from river import compose\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LogisticRegression()\n)\n\nmodel\n
StandardScaler
StandardScaler ( with_std=True )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )
metric = metrics.ROCAUC()\nevaluate.progressive_val_score(dataset, model, metric)\n
ROCAUC: 95.07%\n
"},{"location":"introduction/getting-started/concept-drift-detection/","title":"Concept drift","text":"

In online machine learning, it is assumed that data can change over time. When building machine learning models, we assume data has a probability distribution, which is usually fixed, i.e., stationary. Changes in the data distribution give rise to the phenomenon called Concept drift. Such drifts can be either virtual or real. In virtual drifts, only the distribution of the features, \\(P(X)\\), changes, whereas the relationship between \\(X\\) (features) and the target, \\(y\\), remains unchanged. The joint probability of \\(P(X, y)\\) changes in real concept drifts. Consequently, non-supervised online machine learning problems might face only virtual concept drifts.

Real concept drits can be further divided in abrupt (happen instantly at a given point) or gradual (one \"concept\" changes to another gradually). There are other possible divisions, but they can be fit into abrupt or gradual drifts.

"},{"location":"introduction/getting-started/concept-drift-detection/#examples-of-concept-drift","title":"Examples of concept drift","text":"

Concept drifts might happen in the electricity demand across the year, in the stock market, in buying preferences, and in the likelihood of a new movie's success, among others.

Let us consider the movie example: two movies made at different epochs can have similar features such as famous actors/directors, storyline, production budget, marketing campaigns, etc., yet it is not certain that both will be similarly successful. What the target audience considers is worth watching (and their money worth spending) is constantly changing, and production companies must adapt accordingly to avoid \"box office flops\".

Prior to the pandemic, the usage of hand sanitizers and facial masks was not widespread. When the cases of COVID-19 started increasing, there was a lack of such products for the end consumer. Imagine a batch-learning model deciding how much of each product a supermarket should stock during those times. What a mess!

"},{"location":"introduction/getting-started/concept-drift-detection/#impact-of-drift-on-learning","title":"Impact of drift on learning","text":"

Concept drift can have a significant impact on predictive performance if not handled properly. Most batch learning models will fail in the presence of concept drift as they are essentially trained on different data. On the other hand, stream learning methods continuously update themselves and adapt to new concepts. Furthermore, drift-aware methods use change detection methods (a.k.a. drift detectors) to trigger mitigation mechanisms if a change in performance is detected.

"},{"location":"introduction/getting-started/concept-drift-detection/#detecting-concept-drift","title":"Detecting concept drift","text":"

Multiple drift detection methods have been proposed. The goal of a drift detector is to signal an alarm in the presence of drift. A good drift detector maximizes the number of true positives while keeping the number of false positives to a minimum. It must also be resource-wise efficient to work in the context of infinite data streams.

For this example, we will generate a synthetic data stream by concatenating 3 distributions of 1000 samples each:

  • \\(dist_a\\): \\(\\mu=0.8\\), \\(\\sigma=0.05\\)
  • \\(dist_b\\): \\(\\mu=0.4\\), \\(\\sigma=0.02\\)
  • \\(dist_c\\): \\(\\mu=0.6\\), \\(\\sigma=0.1\\).
import numpy as np\nimport matplotlib.pyplot as plt\nfrom matplotlib import gridspec\n\n# Generate data for 3 distributions\nrandom_state = np.random.RandomState(seed=42)\ndist_a = random_state.normal(0.8, 0.05, 1000)\ndist_b = random_state.normal(0.4, 0.02, 1000)\ndist_c = random_state.normal(0.6, 0.1, 1000)\n\n# Concatenate data to simulate a data stream with 2 drifts\nstream = np.concatenate((dist_a, dist_b, dist_c))\n\n# Auxiliary function to plot the data\ndef plot_data(dist_a, dist_b, dist_c, drifts=None):\n    fig = plt.figure(figsize=(7,3), tight_layout=True)\n    gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1])\n    ax1, ax2 = plt.subplot(gs[0]), plt.subplot(gs[1])\n    ax1.grid()\n    ax1.plot(stream, label='Stream')\n    ax2.grid(axis='y')\n    ax2.hist(dist_a, label=r'$dist_a$')\n    ax2.hist(dist_b, label=r'$dist_b$')\n    ax2.hist(dist_c, label=r'$dist_c$')\n    if drifts is not None:\n        for drift_detected in drifts:\n            ax1.axvline(drift_detected, color='red')\n    plt.show()\n\nplot_data(dist_a, dist_b, dist_c)\n

"},{"location":"introduction/getting-started/concept-drift-detection/#drift-detection-test","title":"Drift detection test","text":"

We will use the ADaptive WINdowing (ADWIN) drift detection method. Remember that the goal is to indicate that drift has occurred after samples 1000 and 2000 in the synthetic data stream.

from river import drift\n\ndrift_detector = drift.ADWIN()\ndrifts = []\n\nfor i, val in enumerate(stream):\n    drift_detector.update(val)   # Data is processed one sample at a time\n    if drift_detector.drift_detected:\n        # The drift detector indicates after each sample if there is a drift in the data\n        print(f'Change detected at index {i}')\n        drifts.append(i)\n\nplot_data(dist_a, dist_b, dist_c, drifts)\n
Change detected at index 1055\nChange detected at index 2079\n

We see that ADWIN successfully indicates the presence of drift (red vertical lines) close to the begining of a new data distribution.

We conclude this example with some remarks regarding concept drift detectors and their usage:

  • In practice, drift detectors provide stream learning methods with robustness against concept drift. Drift detectors monitor the model usually through a performance metric.
  • Drift detectors work on univariate data. This is why they are used to monitor a model's performance and not the data itself. Remember that concept drift is defined as a change in the relationship between data and the target to learn (in supervised learning).
  • Drift detectors define their expectations regarding input data. It is important to know these expectations to feed a given drift detector with the correct data.
"},{"location":"introduction/getting-started/multiclass-classification/","title":"Multi-class classification","text":"

Classification is about predicting an outcome from a fixed list of classes. The prediction is a probability distribution that assigns a probability to each possible outcome.

A labeled classification sample is made up of a bunch of features and a class. The class is a usually a string or a number in the case of multiclass classification. We'll use the image segments dataset as an example.

from river import datasets\n\ndataset = datasets.ImageSegments()\ndataset\n
Image segments classification.\n\nThis dataset contains features that describe image segments into 7 classes: brickface, sky,\nfoliage, cement, window, path, and grass.\n\n    Name  ImageSegments                                                     \n    Task  Multi-class classification                                        \n Samples  2,310                                                             \nFeatures  18                                                                \n Classes  7                                                                 \n  Sparse  False                                                             \n    Path  /Users/max/projects/online-ml/river/river/datasets/segment.csv.zip\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'region-centroid-col': 218,\n 'region-centroid-row': 178,\n 'short-line-density-5': 0.11111111,\n 'short-line-density-2': 0.0,\n 'vedge-mean': 0.8333326999999999,\n 'vegde-sd': 0.54772234,\n 'hedge-mean': 1.1111094,\n 'hedge-sd': 0.5443307,\n 'intensity-mean': 59.629630000000006,\n 'rawred-mean': 52.44444300000001,\n 'rawblue-mean': 75.22222,\n 'rawgreen-mean': 51.22222,\n 'exred-mean': -21.555555,\n 'exblue-mean': 46.77778,\n 'exgreen-mean': -25.222220999999998,\n 'value-mean': 75.22222,\n 'saturation-mean': 0.31899637,\n 'hue-mean': -2.0405545}\n
y\n
'path'\n

A multiclass classifier's goal is to learn how to predict a class y from a bunch of features x. We'll attempt to do this with a decision tree.

from river import tree\n\nmodel = tree.HoeffdingTreeClassifier()\nmodel.predict_proba_one(x)\n
{}\n

The reason why the output dictionary is empty is because the model hasn't seen any data yet. It isn't aware of the dataset whatsoever. If this were a binary classifier, then it would output a probability of 50% for True and False because the classes are implicit. But in this case we're doing multiclass classification.

Likewise, the predict_one method initially returns None because the model hasn't seen any labeled data yet.

print(model.predict_one(x))\n
None\n

If we update the model and try again, then we see that a probability of 100% is assigned to the 'path' class because that's the only one the model is aware of.

model.learn_one(x, y)\nmodel.predict_proba_one(x)\n
{'path': 1.0}\n

This is a strength of online classifiers: they're able to deal with new classes appearing in the data stream.

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = tree.HoeffdingTreeClassifier()\n\nmetric = metrics.ClassificationReport()\n\nfor x, y in dataset:\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n    if y_pred is not None:\n        metric.update(y, y_pred)\n\nmetric\n
            Precision   Recall   F1       Support\n\nbrickface      77.13%   84.85%   80.81%       330  \n   cement      78.92%   83.94%   81.35%       330  \n  foliage      65.69%   20.30%   31.02%       330  \n    grass     100.00%   96.97%   98.46%       330  \n     path      90.63%   91.19%   90.91%       329  \n      sky      99.08%   98.18%   98.63%       330  \n   window      43.50%   67.88%   53.02%       330\n\n    Macro      79.28%   77.62%   76.31%            \n    Micro      77.61%   77.61%   77.61%            \n Weighted      79.27%   77.61%   76.31%\n\n                  77.61% accuracy\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = tree.HoeffdingTreeClassifier()\nmetric = metrics.ClassificationReport()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
            Precision   Recall   F1       Support\n\nbrickface      77.13%   84.85%   80.81%       330  \n   cement      78.92%   83.94%   81.35%       330  \n  foliage      65.69%   20.30%   31.02%       330  \n    grass     100.00%   96.97%   98.46%       330  \n     path      90.63%   91.19%   90.91%       329  \n      sky      99.08%   98.18%   98.63%       330  \n   window      43.50%   67.88%   53.02%       330\n\n    Macro      79.28%   77.62%   76.31%            \n    Micro      77.61%   77.61%   77.61%            \n Weighted      79.27%   77.61%   76.31%\n\n                  77.61% accuracy\n
"},{"location":"introduction/getting-started/regression/","title":"Regression","text":"

Regression is about predicting a numeric output for a given sample. A labeled regression sample is made up of a bunch of features and a number. The number is usually continuous, but it may also be discrete. We'll use the Trump approval rating dataset as an example.

from river import datasets\n\ndataset = datasets.TrumpApproval()\ndataset\n
Donald Trump approval ratings.\n\nThis dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald\nTrump's approval ratings. It contains 5 features, which are approval ratings collected by\n5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of\nthis task is to see if we can reproduce FiveThirtyEight's model.\n\n    Name  TrumpApproval                                                           \n    Task  Regression                                                              \n Samples  1,001                                                                   \nFeatures  6                                                                       \n  Sparse  False                                                                   \n    Path  /Users/max/projects/online-ml/river/river/datasets/trump_approval.csv.gz\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'ordinal_date': 736389,\n 'gallup': 43.843213,\n 'ipsos': 46.19925042857143,\n 'morning_consult': 48.318749,\n 'rasmussen': 44.104692,\n 'you_gov': 43.636914000000004}\n

A regression model's goal is to learn to predict a numeric target y from a bunch of features x. We'll attempt to do this with a nearest neighbors model.

from river import neighbors\n\nmodel = neighbors.KNNRegressor()\nmodel.predict_one(x)\n
0.0\n

The model hasn't been trained on any data, and therefore outputs a default value of 0.

The model can be trained on the sample, which will update the model's state.

model.learn_one(x, y)\n

If we try to make a prediction on the same sample, we can see that the output is different, because the model has learned something.

model.predict_one(x)\n
43.75505\n

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = neighbors.KNNRegressor()\n\nmetric = metrics.MAE()\n\nfor x, y in dataset:\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n    metric.update(y, y_pred)\n\nmetric\n
MAE: 0.310353\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = neighbors.KNNRegressor()\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.310353\n
"},{"location":"license/license/","title":"License","text":"

River is free and open-source software licensed under the 3-clause BSD license.

"},{"location":"recipes/active-learning/","title":"Active learning","text":"

Active learning is a training regime, where the goal is to fit a model on the most discriminative samples. It is usually applied in situations where a limited amount of labeled data is available. In such a case, a human might be asked to annotate a sample. Doing this is expensive, so it's important to ask for labels for the most samples that will have the most impact.

Online active learning is active learning done in a streaming fashion. Every time a prediction is made, an active learning strategy decides whether a label should be asked for or not. In case the strategy decides a yes, then the system could ask for a human to intervene. This is well summarized in the following schema from Online Active Learning Methods for Fast Label-Efficient Spam Filtering.

"},{"location":"recipes/active-learning/#online-active-learning","title":"Online active learning","text":"

River's online active learning strategies are located in the active module. The latter contains wrapper models. These wrappers enrich the predict_one and predict_proba_one methods to include a boolean in the output.

The returned boolean indicates whether or not a label should be asked for. In a production system, we could feed this to a web interface, and get the human to annotate the sample. Offline, we can simply use the label in the dataset.

We'll implement this basic flow. We'll apply a TFIDF followed by logistic regression to a datasets of spam/ham received by SMS.

from river import active\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.SMSSpam()\nmetric = metrics.Accuracy()\nmodel = (\n    feature_extraction.TFIDF(on='body') |\n    linear_model.LogisticRegression()\n)\nmodel = active.EntropySampler(model, seed=42)\n\nn_samples_used = 0\nfor x, y in dataset:\n    y_pred, ask = model.predict_one(x)\n    metric.update(y, y_pred)\n    if ask:\n        n_samples_used += 1\n        model.learn_one(x, y)\n\nmetric\n
Accuracy: 86.60%\n

The performance is reasonable, even though all the dataset wasn't used for training. We can check how many samples were actually used.

print(f\"{n_samples_used} / {dataset.n_samples} = {n_samples_used / dataset.n_samples:.2%}\")\n
1921 / 5574 = 34.46%\n

Note that the above logic can be succinctly reproduced with the progressive_val_score function from the evaluate module. It recognises when an active learning model is provided, and will automatically display the number of samples used.

from river import evaluate\n\nevaluate.progressive_val_score(\n    dataset=dataset,\n    model=model.clone(),\n    metric=metric.clone(),\n    print_every=1000\n)\n
[1,000] Accuracy: 84.80% \u2013 661 samples used\n[2,000] Accuracy: 86.00% \u2013 1,057 samples used\n[3,000] Accuracy: 86.37% \u2013 1,339 samples used\n[4,000] Accuracy: 86.65% \u2013 1,568 samples used\n[5,000] Accuracy: 86.54% \u2013 1,790 samples used\n[5,574] Accuracy: 86.60% \u2013 1,921 samples used\n\n\n\n\n\nAccuracy: 86.60%\n
"},{"location":"recipes/active-learning/#reduce-training-time","title":"Reduce training time","text":"

Active learning is primarly used to label data in an efficient manner. However, in an online setting, active learning can also be used simply to speed up training. The point is that you can achieve a very good performance without training on an entire dataset. Active learning is a powerful way to decide which samples to train on.

"},{"location":"recipes/active-learning/#_1","title":"Active learning","text":""},{"location":"recipes/active-learning/#production-considerations","title":"Production considerations","text":"

In production, you might want to deploy a system where humans may annotate samples queried by an active learning strategy. You have several options at your disposal, all of which go beyond the scope of River.

The general idea is to have some kind of queue in which queried samples are fed into. Then you would have a user interface which displays the elements in the queue one-by-one. Each time a sample is labeled, the label would be used to update the model. You might have one or more threads/processes doing inference. You'll want to update the model in each one each time the model learns.

"},{"location":"recipes/bandits-101/","title":"Multi-armed bandits","text":"

River has a bandit module. It contains several multi-armed bandit policies, bandit environments, and utilities to benchmark policies on bandit problems.

Bandit environments in River implement the Gym interface. You can thus load them with gym.make. Note that Gym is intended for reinforcement learning algorithms, while bandit policies are the simplest form of reinforcement learing. Bandit policies learn by receiving a reward after each step, while reinforcement learning algorithms have to learn from feedback that may arrive at the end of a (long) sequence of steps.

import gym\n\nfor k in gym.envs.registry:\n    if k.startswith('river_bandits'):\n        print(k)\n

River's bandit module offers the bandit.evaluate function to benchmark several policies on a given environment. It takes as input a list of bandit policies, a bandit environment (the problem to solve), and a reward object.

import gym\nfrom river import bandit\nimport pandas as pd\nfrom tqdm import tqdm\nfrom river import stats\n\npolicies=[\n    bandit.EpsilonGreedy(epsilon=0.1),\n    bandit.EpsilonGreedy(epsilon=0.01),\n    bandit.EpsilonGreedy(epsilon=0),\n]\n\nenv = gym.make(\n    'river_bandits/KArmedTestbed-v0',\n    max_episode_steps=1000\n)\n\ntrace = bandit.evaluate(\n    policies=policies,\n    env=env,\n    reward_stat=stats.Mean(),\n    n_episodes=(n_episodes := 2000),\n)\n

The bandit.evaluate function returns a generator containing the results at each step of the benchmark. This can be wrapped with a pandas.DataFrame to gather all the results.

trace_df = pd.DataFrame(tqdm(\n    trace, position=0, total=(\n        n_episodes *\n        len(policies) *\n        env._max_episode_steps\n    )\n))\ntrace_df.sample(5, random_state=42)\n
  0%|                                                                                                                                                                   | 0/6000000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6000000/6000000 [00:25<00:00, 236810.21it/s]\n
episode step policy_idx arm reward reward_stat 1324896 441 632 0 2 0.226086 0.499848 3566176 1188 725 1 6 2.363962 0.935468 1109043 369 681 0 5 2.780757 1.467402 4286042 1428 680 2 1 2.039255 1.603312 5395174 1798 391 1 8 1.625523 1.232745

It is then straightforward to plot the average reward each policy obtains at each step, by averaging over episodes.

policy_names = {\n    0: '\u03b5 = 0.1',\n    1: '\u03b5 = 0.01',\n    2: '\u03b5 = 0 (greedy)'\n}\n\n(\n    trace_df\n    .assign(policy=trace_df.policy_idx.map(policy_names))\n    .groupby(['step', 'policy'])\n    ['reward'].mean()\n    .unstack()\n    .plot()\n)\n
<Axes: xlabel='step'>\n

"},{"location":"recipes/bandits-101/#controlling-the-evaluation-loop","title":"Controlling the evaluation loop","text":"

The bandit.evaluate function is useful for benchmarking. But in practice, you'll want to have control over your bandit policy. Indeed you'll want the freedom to pull arms (with the pull method) and update the policy (with the update method) at your discretion.

As an example, the following is a possible reimplementation of the bandit.evaluate function. Here we'll be measuring the rate at which each policy selects the optimal arm.

Note how the pull and update methods are used.

import copy\n\npolicies=[\n    bandit.EpsilonGreedy(epsilon=0.1),\n    bandit.EpsilonGreedy(epsilon=0.01),\n    bandit.EpsilonGreedy(epsilon=0),\n]\n\nenv = gym.make(\n    'river_bandits/KArmedTestbed-v0',\n    max_episode_steps=1000\n)\nn_episodes = 2000\n\ntrace = []\n\nwith tqdm(total=len(policies) * n_episodes * env._max_episode_steps, position=0) as progress:\n    for policy in policies:\n        for episode in range(n_episodes):\n            episode_policy = policy.clone()\n            episode_env = copy.deepcopy(env)\n            episode_env.reset()\n            step = 0\n            while True:\n                action = episode_policy.pull(range(episode_env.action_space.n))\n                observation, reward, terminated, truncated, info = episode_env.step(action)\n                best_action = observation\n                episode_policy.update(action, reward)\n\n                trace.append({\n                    \"episode\": episode,\n                    \"step\": step,\n                    \"policy\": f\"\u03b5 = {policy.epsilon}\",\n                    \"is_action_optimal\": action == best_action\n                })\n                step += 1\n                progress.update()\n\n                if terminated or truncated:\n                    break\n\ntrace_df = pd.DataFrame(trace)\n
  0%|                                                                                                                                                                   | 0/6000000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6000000/6000000 [00:26<00:00, 228987.26it/s]\n
colors = {\n    '\u03b5 = 0.1': 'tab:blue',\n    '\u03b5 = 0.01': 'tab:red',\n    '\u03b5 = 0': 'tab:green'\n}\n\n(\n    trace_df\n    .groupby(['step', 'policy'])\n    ['is_action_optimal'].mean()\n    .unstack()\n    .plot()\n)\n
<Axes: xlabel='step'>\n

"},{"location":"recipes/bandits-101/#handling-drift","title":"Handling drift","text":"

The environment used above is a toy situation used for introducing bandits. It is stationary, meaning that the expected reward of each arm does not change over time.

In practice, arms are dynamic, and their performance can vary over time. A simple example of this is the Candy Cane Contest that was hosted on Kaggle in 2020. The expected reward of each arm diminishes each time it is pulled.

The way bandit policies in River deal with drift depends on the method. For the bandit.EpsilonGreedy policy, it makes sense to use a rolling average as the reward object. What this means is that the empirical reward the policy calculates for each arm is a rolling average, rather than a global one.

from river import proba, utils\n\npolicies=[\n    bandit.EpsilonGreedy(\n        epsilon=0.1,\n        seed=42\n    ),\n    bandit.EpsilonGreedy(\n        epsilon=0.3,\n        reward_obj=utils.Rolling(stats.Mean(), window_size=50),\n        seed=42\n    ),\n    bandit.ThompsonSampling(\n        reward_obj=proba.Beta(),\n        seed=42\n    )\n]\n\nenv = gym.make('river_bandits/CandyCaneContest-v0')\n\ntrace = bandit.evaluate(\n    policies=policies,\n    env=env,\n    n_episodes=(n_episodes := 30),\n    seed=42\n)\n\ntrace_df = pd.DataFrame(tqdm(\n    trace, position=0, total=(\n        n_episodes *\n        len(policies) *\n        env._max_episode_steps\n    )\n))\n
  0%|                                                                                                                                                                    | 0/180000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 180000/180000 [00:11<00:00, 15839.35it/s]\n

We can compare the performance of each policy by checking the average reward at the end of each episode.

(\n    trace_df\n    .groupby(['policy_idx', 'episode'])\n    .last()\n    .groupby('policy_idx')\n    .reward_stat.mean()\n)\n
policy_idx\n0    736.1\n1    817.0\n2    854.0\nName: reward_stat, dtype: float64\n

We see that using a rolling average gives a boost to the epsilon greedy strategy. However, we see that the bandit.ThompsonSampling policy performs even better, even though no particular care was given to drift. A natural next step would thus be to see how it could be improved to handle drift. For instance, its dist parameter could be wrapped with a utils.Rolling:

policy = bandit.ThompsonSampling(\n    reward_obj=utils.Rolling(proba.Beta(), window_size=50),\n    seed=42\n)\n

Bandits can be used for several tasks. They can be used for content personalization, as well as online model selection (see model_selection.BanditRegressor). The policies in River are therefore designed to be flexible, so that they can be used in conjunction with other River modules. For instance, the reward_obj in bandit.EpsilonGreedy can be a metric, a probability distribution, or a statistic. This works because objects in River adher to a coherent get/update interface.

"},{"location":"recipes/cloning-and-mutating/","title":"Cloning and mutating","text":"

Sometimes you might want to reset a model, or edit (what we call mutate) its attributes. This can be useful in an online environment. Indeed, if you detect a drift, then you might want to mutate a model's attributes. Or if you see that a model's performance is plummeting, then you might to reset it to its \"factory settings\".

Anyway, this is not to convince you, but rather to say that a model's attributes don't have be to set in stone throughout its lifetime. In particular, if you're developping your own model, then you might want to have good tools to do this. This is what this recipe is about.

"},{"location":"recipes/cloning-and-mutating/#cloning","title":"Cloning","text":"

The first thing you can do is clone a model. This creates a deep copy of the model. The resulting model is entirely independent of the original model. The clone is fresh, in the sense that it is as if it hasn't seen any data.

For instance, say you have a linear regression model which you have trained on some data.

from river import datasets, linear_model, optim, preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(\n        optimizer=optim.SGD(3e-2)\n    )\n)\n\nfor x, y in datasets.TrumpApproval():\n    model.predict_one(x)\n    model.learn_one(x, y)\n\nmodel[-1].weights\n
{'ordinal_date': 20.59955380229643,\n 'gallup': 0.39114944304212645,\n 'ipsos': 0.4101918314868111,\n 'morning_consult': 0.12042970179504908,\n 'rasmussen': 0.18951231512561392,\n 'you_gov': 0.04991712783831687}\n

For whatever reason, we may want to clone this model. This can be done with the clone method.

clone = model.clone()\nclone[-1].weights\n
{}\n

As we can see, there are no weights because the clone is fresh copy that has not seen any data. However, the learning rate we specified is preserved.

clone[-1].optimizer.learning_rate\n
0.03\n

You may also specify parameters you want changed. For instance, let's say we want to clone the model, but we want to change the optimizer:

clone = model.clone({\"LinearRegression\": {\"optimizer\": optim.Adam()}})\nclone[-1].optimizer\n
Adam({'lr': Constant({'learning_rate': 0.1}), 'n_iterations': 0, 'beta_1': 0.9, 'beta_2': 0.999, 'eps': 1e-08, 'm': None, 'v': None})\n

The first key indicates that we want to specify a different parameter for the LinearRegression part of the pipeline. Then the second key accesses the linear regression's optimizer parameter.

Finally, note that the clone method isn't reserved to models. Indeed, every object in River has it. That's because they all inherit from the Base class in the base module.

"},{"location":"recipes/cloning-and-mutating/#mutating-attributes","title":"Mutating attributes","text":"

Cloning a model can be useful, but the fact that it essentially resets the model may not be desired. Instead, you might want to change a attribute while preserving the model's state. For example, let's change the l2 attribute, and the optimizer's lr attribute.

model.mutate({\n    \"LinearRegression\": {\n        \"l2\": 0.1,\n        \"optimizer\": {\n            \"lr\": optim.schedulers.Constant(25e-3)\n        }\n    }\n})\n\nprint(repr(model))\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.025\n      )\n    )\n    loss=Squared ()\n    l2=0.1\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

We can see the attributes we specified have changed. However, the model's state is preserved:

model[-1].weights\n
{'ordinal_date': 20.59955380229643,\n 'gallup': 0.39114944304212645,\n 'ipsos': 0.4101918314868111,\n 'morning_consult': 0.12042970179504908,\n 'rasmussen': 0.18951231512561392,\n 'you_gov': 0.04991712783831687}\n

In other words, the mutate method does not create a deep copy of the model. It just sets attributes. At this point you may ask:

Why can't I just change the attribute directly, without calling mutate?

The answer is that you're free to do proceed as such, but it's not the way we recommend. The mutate method is safer, in that it prevents you from mutating attributes you shouldn't be touching. We call these immutable attributes. For instance, there's no reason you should be modifying the weights.

try:\n    model.mutate({\n        \"LinearRegression\": {\n            \"weights\": \"this makes no sense\"\n        }\n    })\nexcept ValueError as e:\n    print(e)\n
'weights' is not a mutable attribute of LinearRegression\n

All attributes are immutable by default. Under the hood, each model can specify a set of mutable attributes via the _mutable_attributes property. In theory this can be overriden. But the general idea is that we will progressively add more and more mutable attributes with time.

And that concludes this recipe. Arguably, this recipe caters to advanced users, and in particular users who are developping their own models. And yet, one could also argue that modifying parameters of a model on-the-fly is a great tool to have at your disposal when you're doing online machine learning.

"},{"location":"recipes/feature-extraction/","title":"Feature extraction","text":"

To do.

"},{"location":"recipes/hyperparameter-tuning/","title":"Hyperparameter tuning","text":"

To do.

"},{"location":"recipes/mini-batching/","title":"Mini-batching","text":"

In its purest form, online machine learning encompasses models which learn with one sample at a time. This is the design which is used in River.

The main downside of single-instance processing is that it doesn't scale to big data, at least not in the sense of traditional batch learning. Indeed, processing one sample at a time means that we are unable to fully take advantage of vectorisation and other computational tools that are taken for granted in batch learning. On top of this, processing a large dataset in River essentially involves a Python for loop, which might be too slow for some usecases. However, this doesn't mean that River is slow. In fact, for processing a single instance, River is actually a couple of orders of magnitude faster than libraries such as scikit-learn, PyTorch, and Tensorflow. The reason why is because River is designed from the ground up to process a single instance, whereas the majority of other libraries choose to care about batches of data. Both approaches offer different compromises, and the best choice depends on your usecase.

In order to propose the best of both worlds, River offers some limited support for mini-batch learning. Some of River's estimators implement *_many methods on top of their *_one counterparts. For instance, preprocessing.StandardScaler has a learn_many method as well as a transform_many method, in addition to learn_one and transform_one. Each mini-batch method takes as input a pandas.DataFrame. Supervised estimators also take as input a pandas.Series of target values. We choose to use pandas.DataFrames over numpy.ndarrays because of the simple fact that the former allows us to name each feature. This in turn allows us to offer a uniform interface for both single instance and mini-batch learning.

As an example, we will build a simple pipeline that scales the data and trains a logistic regression. Indeed, the compose.Pipeline class can be applied to mini-batches, as long as each step is able to do so.

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LogisticRegression()\n)\n

For this example, we will use datasets.Higgs.

from river import datasets\n\ndataset = datasets.Higgs()\nif not dataset.is_downloaded:\n    dataset.download()\ndataset\n
Higgs dataset.\n\nThe data has been produced using Monte Carlo simulations. The first 21 features (columns 2-22)\nare kinematic properties measured by the particle detectors in the accelerator. The last seven\nfeatures are functions of the first 21 features; these are high-level features derived by\nphysicists to help discriminate between the two classes.\n\n      Name  Higgs                                                                       \n      Task  Binary classification                                                       \n   Samples  11,000,000                                                                  \n  Features  28                                                                          \n    Sparse  False                                                                       \n      Path  /Users/max/river_data/Higgs/HIGGS.csv.gz                                    \n       URL  https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz\n      Size  2.62 GB                                                                     \nDownloaded  True\n

The easiest way to read the data in a mini-batch fashion is to use the read_csv from pandas.

import pandas as pd\n\nnames = [\n    'target', 'lepton pT', 'lepton eta', 'lepton phi',\n    'missing energy magnitude', 'missing energy phi',\n    'jet 1 pt', 'jet 1 eta', 'jet 1 phi', 'jet 1 b-tag',\n    'jet 2 pt', 'jet 2 eta', 'jet 2 phi', 'jet 2 b-tag',\n    'jet 3 pt', 'jet 3 eta', 'jet 3 phi', 'jet 3 b-tag',\n    'jet 4 pt', 'jet 4 eta', 'jet 4 phi', 'jet 4 b-tag',\n    'm_jj', 'm_jjj', 'm_lv', 'm_jlv', 'm_bb', 'm_wbb', 'm_wwbb'\n]\n\nfor x in pd.read_csv(dataset.path, names=names, chunksize=8096, nrows=3e5):\n    y = x.pop('target')\n    y_pred = model.predict_proba_many(x)\n    model.learn_many(x, y)\n

If you are familiar with scikit-learn, you might be aware that some of their estimators have a partial_fit method, which is similar to river's learn_many method. Here are some advantages that river has over scikit-learn:

  • We guarantee that river's is just as fast, if not faster than scikit-learn. The differences are negligeable, but are slightly in favor of river.
  • We take as input dataframes, which allows us to name each feature. The benefit is that you can add/remove/permute features between batches and everything will keep working.
  • Estimators that support mini-batches also support single instance learning. This means that you can enjoy the best of both worlds. For instance, you can train with mini-batches and use predict_one to make predictions.

Note that you can check which estimators can process mini-batches programmatically:

import importlib\nimport inspect\n\ndef can_mini_batch(obj):\n    return hasattr(obj, 'learn_many')\n\nfor module in importlib.import_module('river.api').__all__:\n    if module in ['datasets', 'synth']:\n        continue\n    for name, obj in inspect.getmembers(importlib.import_module(f'river.{module}'), can_mini_batch):\n        print(name)\n
LocalOutlierFactor\nOneClassSVM\nMiniBatchClassifier\nMiniBatchRegressor\nMiniBatchSupervisedTransformer\nMiniBatchTransformer\nSKL2RiverClassifier\nSKL2RiverRegressor\nFuncTransformer\nPipeline\nSelect\nTransformerProduct\nTransformerUnion\nBagOfWords\nTFIDF\nLinearRegression\nLogisticRegression\nPerceptron\nOneVsRestClassifier\nBernoulliNB\nComplementNB\nMultinomialNB\nMLPRegressor\nOneHotEncoder\nOrdinalEncoder\nStandardScaler\n

Because mini-batch learning isn't treated as a first-class citizen, some of the river's functionalities require some work in order to play nicely with mini-batches. For instance, the objects from the metrics module have an update method that take as input a single pair (y_true, y_pred). This might change in the future, depending on the demand.

We plan to promote more models to the mini-batch regime. However, we will only be doing so for the methods that benefit the most from it, as well as those that are most popular. Indeed, River's core philosophy will remain to cater to single instance learning.

"},{"location":"recipes/model-evaluation/","title":"Model evaluation","text":"

To do.

"},{"location":"recipes/on-hoeffding-trees/","title":"Incremental decision trees in river: the Hoeffding Tree case","text":"

Decision trees (DT) are popular learning models due to their inherently simplicity, flexibility and self-explainable structure. Moreover, when aggregated in ensembles, high predictive power might be achieved. Bagging and gradient boosting-based tree ensembles are very popular solutions in competition platforms such as Kaggle, and also among researchers.

Although fairly lightweight, traditional batch DTs cannot cope with data stream mining/online learning requirements, as they do multiple passes over the data and have to be retrained from scratch every time a new observation appears.

The data stream literature has plenty of incremental DT (iDT) families that are better suited to online learning. Nonetheless, Hoeffding Trees (HT) are historically the most popular family of iDTs to date. In fact, HTs have some nice properties:

  • one-pass learning regime;
  • theoretical guarantees to converge to the batch DT model given enough observations and a stationary data distribution;
  • small memory and running time footprint (in most cases);
  • some of their variations can deal with non-stationary distributions.

And the previous list goes on and on. Besides that, HTs also have the same advantages as batch DTs (C4.5/J48, CART, M5, etc.) do. We can inspect the structure of a HT to understand how decisions were made, which is a nice feature to have in online learning tasks.

In River, HTs are first-class citizens, so we have multiple realizations of this framework that are suited to different learning tasks and scenarios.

This brief introduction to HT does not aims at being extensive nor delving into algorithmic or implementation details of the HTs. Instead, we intend to provide a high-level overview of the HTs as they are envisioned in River, as well as their shared properties and important hyperparameters.

In this guide, we are going to:

  1. summarize the differences accross the multiple HT versions available;
  2. learn how to inspect tree models;
  3. learn how to manage the memory usage of HTs;
  4. compare numerical tree splitters and understand their impact on the iDT induction process.

Well, without further ado, let's go!

First things first, we are going to start with some imports.

import matplotlib.pyplot as plt\nimport datetime as dt\n\nfrom river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing  # we are going to use that later\nfrom river.datasets import synth  # we are going to use some synthetic datasets too\nfrom river import tree\n
"},{"location":"recipes/on-hoeffding-trees/#1-trees-trees-everywhere-gardening-101-with-river","title":"1. Trees, trees everywhere: gardening 101 with river","text":"

At first glance, the amount of iDT algorithms in River might seem too much to handle, but in reality the distinction among them is easy to grasp. To facilitate our lives, here's a neat table listing the available HT models and summarizing their differences:

Name Acronym Task Non-stationary? Comments Source Hoeffding Tree Classifier HTC Classification No Basic HT for classification tasks [1] Hoeffding Adaptive Tree Classifier HATC Classification Yes Modifies HTC by adding an instance of ADWIN to each node to detect and react to drift detection [2] Extremely Fast Decision Tree Classifier EFDT Classification No Deploys split decisions as soon as possible and periodically revisit decisions and redo them if necessary. Not as fast in practice as the name implies, but it tends to converge faster than HTC to the model generated by a batch DT [3] Hoeffding Tree Regressor HTR Regression No Basic HT for regression tasks. It is an adaptation of the FIRT/FIMT algorithm that bears some semblance to HTC [4] Hoeffding Adaptive Tree Regressor HATR Regression Yes Modifies HTR by adding an instance of ADWIN to each node to detect and react to drift detection - incremental Structured-Output Prediction Tree Regressor iSOUPT Multi-target regression No Multi-target version of HTR [5] Label Combination Hoeffding Tree Classifier LCHTC Multi-label classification No Creates a numerical code for each combination of the binary labels and uses HTC to learn from this encoded representation. At prediction time, decodes the modified representation to obtain the original label set -

As we can see, although their application fields might overlap sometimes, the HT variations have specific situations in which they are better suited to work. Moreover, in River we provide a standardized API access to all the HT variants since they share many properties in common.

"},{"location":"recipes/on-hoeffding-trees/#2-how-to-inspect-tree-models","title":"2. How to inspect tree models?","text":"

We provide a handful of tools to inspect trained HTs in River. Here, we will provide some examples of how to access their inner structures, get useful information, and plot the iDT structure.

Firstly, let's pick a toy dataset from which our tree will learn from. Here we are going to focus on the classification case, but the same operations apply to other learning tasks. We will select the Phishing dataset from the datasets module to exemplify the HTs' capabilities.

dataset = datasets.Phishing()\ndataset\n
Phishing websites.\n\nThis dataset contains features from web pages that are classified as phishing or not.\n\n    Name  Phishing                                                          \n    Task  Binary classification                                             \n Samples  1,250                                                             \nFeatures  9                                                                 \n  Sparse  False                                                             \n    Path  /Users/max/projects/online-ml/river/river/datasets/phishing.csv.gz\n

We are going to train an instance of HoeffdingTreeClassifier using this dataset. As everything else in River, training an iDT is a piece of cake!

%%time\n\nmodel = tree.HoeffdingTreeClassifier(grace_period=50)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel\n
CPU times: user 37.6 ms, sys: 569 \u00b5s, total: 38.2 ms\nWall time: 39.1 ms\n
HoeffdingTreeClassifier
HoeffdingTreeClassifier ( grace_period=50 max_depth=inf split_criterion=\"info_gain\" delta=1e-07 tau=0.05 leaf_prediction=\"nba\" nb_threshold=0 nominal_attributes=None splitter=GaussianSplitter ( n_splits=10 ) binary_split=False min_branch_fraction=0.01 max_share_to_split=0.99 max_size=100. memory_estimate_period=1000000 stop_mem_management=False remove_poor_attrs=False merit_preprune=True )

That's it! We are not going to enter into details about some of the available parameters of HTC here. The user can refer to the documentation page for more information about that. Let's talk about model inspection :D

At any time, we can easily get some statistics about our trained model by using the summary property:

model.summary\n
{'n_nodes': 5,\n 'n_branches': 2,\n 'n_leaves': 3,\n 'n_active_leaves': 3,\n 'n_inactive_leaves': 0,\n 'height': 3,\n 'total_observed_weight': 1250.0}\n

This property show us the internal structure of the tree, including data concerning the memory-management routines that we are going to check later in this guide. We can also get a representation of the tree model as a pandas.DataFrame object:

model.to_dataframe().iloc[:5, :5]\n
parent is_leaf depth stats feature node 0 <NA> False 0 {True: 260.0, False: 390.0} empty_server_form_handler 1 0 True 1 {True: 443.4163997711022, False: 59.8769131081... NaN 2 0 False 1 {True: 71.58360022889781, False: 404.123086891... popup_window 3 2 True 2 {False: 31.426538522574834, True: 33.0} NaN 4 2 True 2 {False: 250.57346147742516, True: 6.0} NaN

Hmm, maybe not the clearest of the representations. What about drawing the tree structure instead?

model.draw()\n

Much better, huh?

Lastly, we can check how the tree predicts one specific instance by using the debug_one method:

x, y = next(iter(dataset))  # Let's select the first example in the stream\nx, y\n
({'empty_server_form_handler': 0.0,\n  'popup_window': 0.0,\n  'https': 0.0,\n  'request_from_other_domain': 0.0,\n  'anchor_from_other_domain': 0.0,\n  'is_popular': 0.5,\n  'long_url': 1.0,\n  'age_of_domain': 1,\n  'ip_in_url': 1},\n True)\n
print(model.debug_one(x))\n
empty_server_form_handler \u2264 0.5454545454545454\nClass True:\n    P(False) = 0.1\n    P(True) = 0.9\n

Our tree got this one right! The method debug_one is especially useful when we are dealing with a big tree model where drawing might not be the wisest of the choices (we will end up with a tree chart that has too much information to visually understand).

Some additional hints:

  • the max_depth parameter is our friend when building HTs that need to be constantly inspected. This parameter, which is available for every HT variant, triggers a pre-pruning mechanism that stops tree growth when the given depth is reached.
  • we can also limit the depth when using the draw method.
  • in the case of tree ensembles, individual trees can be accessed using the [index] operator. Then, the same set of inspection tools are available to play with!
"},{"location":"recipes/on-hoeffding-trees/#3-advanced-gardening-with-river-grab-your-pruning-shears-and-lets-limit-memory-usage","title":"3. Advanced gardening with river: grab your pruning shears and let's limit memory usage","text":"

Online learning is well-suited to highly scalable processing centers with petabytes of data arriving intermittently, but it can also work with Internet of Things (IoT) devices operating at low power and with limited processing capability. Hence, making sure our trees are not going to use too much memory is a nice feature that can impact on both energy usage and the running time. HTs have memory-management routines that put the user in the control of computational resources that are available.

In this brief guide, we are going to use a regression tree, since this kind of iDT typically spends more memory than the classification counterparts. However, the user can control the memory usage in the exact same way in River, regardless of the HT variant!

We will rely on the Friedman synthetic dataset (data generator) from the synth module in our evaluation. Since data generators can produce instances indefinitely, we will select a sample of size 10K for our tests.

We are almost ready to go. Let's first define a simple function that plots the results obtained from a given dataset, metric and

def plot_performance(dataset, metric, models):\n    metric_name = metric.__class__.__name__\n\n    # To make the generated data reusable\n    dataset = list(dataset)\n    fig, ax = plt.subplots(figsize=(10, 5), nrows=3, dpi=300)\n    for model_name, model in models.items():\n        step = []\n        error = []\n        r_time = []\n        memory = []\n\n        for checkpoint in evaluate.iter_progressive_val_score(\n            dataset, model, metric, measure_time=True, measure_memory=True, step=100\n        ):\n            step.append(checkpoint[\"Step\"])\n            error.append(checkpoint[metric_name].get())\n\n            # Convert timedelta object into seconds\n            r_time.append(checkpoint[\"Time\"].total_seconds())\n            # Make sure the memory measurements are in MB\n            raw_memory = checkpoint[\"Memory\"]\n            memory.append(raw_memory * 2**-20)\n\n        ax[0].plot(step, error, label=model_name)\n        ax[1].plot(step, r_time, label=model_name)\n        ax[2].plot(step, memory, label=model_name)\n\n    ax[0].set_ylabel(metric_name)\n    ax[1].set_ylabel('Time (seconds)')\n    ax[2].set_ylabel('Memory (MB)')\n    ax[2].set_xlabel('Instances')\n\n    ax[0].grid(True)\n    ax[1].grid(True)\n    ax[2].grid(True)\n\n    ax[0].legend(\n        loc='upper center', bbox_to_anchor=(0.5, 1.25),\n        ncol=3, fancybox=True, shadow=True\n    )\n    plt.tight_layout()\n    plt.close()\n\n    return fig\n
plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"Unbounded HTR\": (\n            preprocessing.StandardScaler() |\n            tree.HoeffdingTreeRegressor(splitter=tree.splitter.EBSTSplitter())\n        )\n    }\n)\n

In our example we use the EBSTSplitter, which is going to discussed later. For now, is enough to know that it is a mechanism to evaluate split candidates in the trees.

As we can see, our tree uses almost 10 MB to keep its structure. Let's say we wanted to limit our memory usage to 5 MB. How could we do that?

Note that we are using a illustration case here. In real applications, data may be unbounded, so the trees might grow indefinitely.

HTs expose some parameters related to memory management. The user can refer to the documentation for more details on that matter. Here, we are going to focus on two parameters:

  • max_size: determines the maximum amount of memory (in MB) that the HT can use.
  • memory_estimate_period: intervals after which the memory-management is triggered.

We are going to limit our HTR to 5 MB and perform memory checks at intervals of 500 instances.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"Restricted HTR\": (\n            preprocessing.StandardScaler()\n            | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter(),\n                max_size=5,\n                memory_estimate_period=500\n            )\n        )\n    }\n)\n

Note that as soon the memory usage reaches the limit that we determined (at the memory check intervals), HTR starts managing its resource usage to reduce the size. As a consequence, the running time also decreases. For more accurate management, the intervals between memory checks should be decreased. This action, however, has costs since the tree stops the learning process to estimate its size and alter its own structure. Too frequent memory checks might end up result in a slow learning process. Besides, by using fewer resources, the predictive performance can be negatively impacted. So, use this tool with caution!

But how that works at all?

HTs monitor the incoming feature values to perform split attempts. To do so, they rely on a class of algorithms called Attribute Observers (AO) or Splitters (spoiler alert!). Each leaf node in an HT keeps one AO per incoming feature. After pre-determined intervals (grace_period parameter), leaves query their AOs for split candidates. Well, there are costs to monitor input features (mainly the numerical ones). In fact, AOs correspond to one of the most time and memory-consuming portions of the HTs. To manage memory usage, an HT firstly determines its least promising leaves, w.r.t. how likely they will be split. Then, these leaves' AOs are removed, and the tree nodes are said to be \"deactivated.\" That's it! The deactivated leaves do not perform split attempts anymore, but they continue to be updated to provide responses. They will be kept as leaves as long as there are not available resources to enable tree growth. These leaves can be activated again (meaning that new AOs will be created for them) if there is available memory, so don't worry!

Hint: another indirect way to bound memory usage is to limit the tree depth. By default, the trees can grow indefinitely, but the max_depth parameter can control this behavior.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"HTR with at most 5 levels\": (\n            preprocessing.StandardScaler()\n            | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter(),\n                max_depth=5\n            )\n        )\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#4-branching-and-growth-splitters-the-heart-of-the-trees","title":"4. Branching and growth: splitters, the heart of the trees","text":"

As previously stated, one of the core operations of iDT is, well, to grow. Plants and gardening-related jokes apart, growth in HTs is guided by their AOs or splitters, as mentioned in the end of Section 3.

Nominal features can be easily monitored, since the feature partitions are well-defined beforehand. Numerical features, on the other hand, do not have an explicit best cut point. Still, numerical features are typically split by using a binary test: \\(\\le\\) or \\(>\\). Therefore, numerical splitters must somehow summarize the incoming feature values and be able to evaluate the merit of split point candidates.

There are diverse strategies to monitor numerical features and choices related to them, including which data structure will be used to keep a summary of the incoming feature and also how many split points are going to be evaluated during split attempts. Again, this guide does not intend to be an exhaustive delve into the iDT subject. In fact, each of the following aspects of the iDTs could be considered a separate research area: AOs, intervals between split attempts, split heuristics (e.g., info gain, variance reduction, and so on), tree depth and max size, and much more!

Let's focus a bit into the AO matter. River provides a handful of splitters for classification and regression trees, which can be chosen using the parameter splitter. We will list the available tree splitters in the following sections and compare some of their chacteristics.

Some notation:

  • \\(n\\): Number of observations seen so far.
  • \\(c\\): the number of classes.
  • \\(s\\): the number of split points to evaluate (which means that this is a user-given parameter).
  • \\(h\\): the number of histogram bins or hash slots. Tipically, \\(h \\ll n\\).
"},{"location":"recipes/on-hoeffding-trees/#41-classification-tree-splitters","title":"4.1. Classification tree splitters","text":"

The following table summarizes the available classification splitters. The user might refer to the documentation of each splitter for more details about their functioning.

Splitter Description Insertion Memory Split candidate query Works with Naive Bayes leaves? Exhaustive Keeps all the observed input values and class counts in a Binary Search Tree (BST) \\(O(\\log n)\\) (average) or \\(O(n)\\) (worst case) \\(O(n)\\) \\(O(n)\\) No Histogram Builds a histogram for each class in order to discretize the input feature \\(O(\\log h)\\) \\(O(c h)\\) \\(O(c h)\\) Yes Gaussian Approximates the class distributions using Gaussian distributions \\(O(1)\\) \\(O(c)\\) \\(O(cs)\\) Yes

Note that some of the splitters have configurable parameters that directly impact not only on their time and memory costs, but also on the final predictive performance. Examples:

  • The number of split points can be configured in the Gaussian splitter. Increasing this number makes this splitter slower, but it also potentially increases the quality of the obtained query points, implying enhanced tree accuracy.
  • The number of stored bins can be selected in the Histogram splitter. Increasing this number increases the memory footprint and running time of this splitter, but it also potentially makes its split candidates more accurate and positively impacts on the tree's final predictive performance.

Next, we provide a brief comparison of the classification splitters using 10K instances of the Random RBF synthetic dataset. Note that the tree equiped with the Exhaustive splitter does not use Naive Bayes leaves.

plot_performance(\n    synth.RandomRBF(seed_model=7, seed_sample=42).take(10_000),\n    metrics.Accuracy(),\n    {\n        \"HTC + Exhaustive splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.ExhaustiveSplitter(),\n            leaf_prediction=\"mc\"\n        ),\n        \"HTC + Histogram splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.HistogramSplitter()\n        ),\n        \"HTC + Gaussian splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.GaussianSplitter()\n        )\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#42-regression-tree-splitters","title":"4.2 Regression tree splitters","text":"

The available regression tree splitters are summarized in the next table. The TE-BST costs are expressed in terms of \\(n^*\\) because the number of stored elements can be smaller than or equal to \\(n\\).

Splitter Description Insertion Memory Split candidate query Extended Binary Search Tree (E-BST) Stores all the observations and target statistics in a BST \\(O(\\log n)\\) (average) or \\(O(n)\\) (worst case) \\(O(n)\\) \\(O(n)\\) Truncated E-BST (TE-BST) Rounds the incoming data before passing it to the BST \\(O(\\log n^*)\\) (average) or \\(O(n^*)\\) (worst case) \\(O(n^*)\\) \\(O(n^*)\\) Quantization Observer (QO) Uses a hash-like structure to quantize the incoming data \\(O(1)\\) \\(O(h)\\) \\(O(h \\log h)\\)

E-BST is an exhaustive algorithm, i.e., it works as batch solutions usually do, which might be prohibitive in real-world online scenarios. TE-BST and QO apply approximations to alleviate the costs involved in monitoring numerical data and performing split attempts. The number of desired decimal places to round the data (TE-BST) and the quantization radius (QO) are directly related to the running time, memory footprint, and error of the resulting tree model.

We present a brief comparison of the available regression tree splitters using the 10K instances of the Friedman synthetic dataset.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"HTR + E-BST\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter()\n            )\n        ),\n        \"HTR + TE-BST\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.TEBSTSplitter()\n            )\n        ),\n        \"HTR + QO\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.QOSplitter()\n            )\n        ),\n\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#wrapping-up","title":"Wrapping up","text":"

This guide provides a walkthrough in the HTs available in River. We discussed about model inspection, memory management, and feature splits. Keep in mind that each HT variant has specific details and capabilities that are out-of-the-scope of this introductory material. The user is advised to check the documentation page of the tree models for detailed information.

"},{"location":"recipes/pipelines/","title":"Pipelines","text":"

Pipelines are an integral part of River. We encourage their usage and apply them in many of their examples.

The compose.Pipeline contains all the logic for building and applying pipelines. A pipeline is essentially a list of estimators that are applied in sequence. The only requirement is that the first n - 1 steps be transformers. The last step can be a regressor, a classifier, a clusterer, a transformer, etc.

Here is an example:

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\nfrom river import feature_extraction\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    feature_extraction.PolynomialExtender(),\n    linear_model.LinearRegression()\n)\n

You can also use the | operator, as so:

model = (\n    preprocessing.StandardScaler() |\n    feature_extraction.PolynomialExtender() |\n    linear_model.LinearRegression()\n)\n

Or, equally:

model = preprocessing.StandardScaler() \nmodel |= feature_extraction.PolynomialExtender()\nmodel |= linear_model.LinearRegression()\n

A pipeline, as any River estimator, has a _repr_html_ method, which can be used to visualize it in Jupyter-like notebooks:

model\n
StandardScaler
StandardScaler ( with_std=True )
PolynomialExtender
PolynomialExtender ( degree=2 interaction_only=False include_bias=False bias_name=\"bias\" )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

compose.Pipeline implements a learn_one method which in sequence calls the learn_one of each component and a predict_one (resp predict_proba_one) method which calls transform_one on the first n - 1 steps and predict_one (resp predict_proba_one) on the last step.

Here is a small example to illustrate the previous point:

from river import datasets\n\ndataset = datasets.TrumpApproval()\nx, y = next(iter(dataset))\nx, y\n
({'ordinal_date': 736389,\n  'gallup': 43.843213,\n  'ipsos': 46.19925042857143,\n  'morning_consult': 48.318749,\n  'rasmussen': 44.104692,\n  'you_gov': 43.636914000000004},\n 43.75505)\n

We can predict the target value of a new sample by calling the predict_one method, however, by default, predict_one does not update any model parameter, therefore the predictions will be 0 and the model parameters will remain the default values (0 for StandardScaler component):

for (x, y) in dataset.take(2):\n    print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n    print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.00, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 0.0, 'gallup': 0.0, 'ipsos': 0.0, 'morning_consult': 0.0, 'rasmussen': 0.0, 'you_gov': 0.0})\nmodel.predict_one(x)=0.00, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 0.0, 'gallup': 0.0, 'ipsos': 0.0, 'morning_consult': 0.0, 'rasmussen': 0.0, 'you_gov': 0.0})\n

learn_one updates pipeline stateful steps, parameters and the prediction change:

for (x, y) in dataset.take(2):\n    model.learn_one(x, y)\n\n    print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n    print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.88, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.0, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 44.104692, 'you_gov': 43.636914000000004})\nmodel.predict_one(x)=9.44, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.5, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 45.104692, 'you_gov': 42.636914000000004})\n

Each component of the pipeline has been updated with the new data point.

A pipeline is a very powerful tool that can be used to chain together multiple steps in a machine learning workflow.

Notice that it is also possible to call transform_one with a pipeline, this method will run transform_one of each transformer in it, and return the result of the last transformer (which is thus the penultimate step if the last step is a predictor or clusterer, while it is the last step if the last step is a transformer):

model.transform_one(x)\n
{'ordinal_date': 1.0,\n 'gallup': 0.0,\n 'ipsos': 0.0,\n 'morning_consult': 0.0,\n 'rasmussen': 1.0,\n 'you_gov': -1.0,\n 'ordinal_date*ordinal_date': 1.0,\n 'gallup*ordinal_date': 0.0,\n 'ipsos*ordinal_date': 0.0,\n 'morning_consult*ordinal_date': 0.0,\n 'ordinal_date*rasmussen': 1.0,\n 'ordinal_date*you_gov': -1.0,\n 'gallup*gallup': 0.0,\n 'gallup*ipsos': 0.0,\n 'gallup*morning_consult': 0.0,\n 'gallup*rasmussen': 0.0,\n 'gallup*you_gov': -0.0,\n 'ipsos*ipsos': 0.0,\n 'ipsos*morning_consult': 0.0,\n 'ipsos*rasmussen': 0.0,\n 'ipsos*you_gov': -0.0,\n 'morning_consult*morning_consult': 0.0,\n 'morning_consult*rasmussen': 0.0,\n 'morning_consult*you_gov': -0.0,\n 'rasmussen*rasmussen': 1.0,\n 'rasmussen*you_gov': -1.0,\n 'you_gov*you_gov': 1.0}\n

In many cases, you might want to connect a step to multiple steps. For instance, you might to extract different kinds of features from a single input. An elegant way to do this is to use a compose.TransformerUnion. Essentially, the latter is a list of transformers who's results will be merged into a single dict when transform_one is called.

As an example let's say that we want to apply a feature_extraction.RBFSampler as well as the feature_extraction.PolynomialExtender. This may be done as so:

model = (\n    preprocessing.StandardScaler() |\n    (feature_extraction.PolynomialExtender() + feature_extraction.RBFSampler()) |\n    linear_model.LinearRegression()\n)\n\nmodel\n
StandardScaler
StandardScaler ( with_std=True )
PolynomialExtender
PolynomialExtender ( degree=2 interaction_only=False include_bias=False bias_name=\"bias\" )
RBFSampler
RBFSampler ( gamma=1. n_components=100 seed=None )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

Note that the + symbol acts as a shorthand notation for creating a compose.TransformerUnion, which means that we could have declared the above pipeline as so:

model = (\n    preprocessing.StandardScaler() |\n    compose.TransformerUnion(\n        feature_extraction.PolynomialExtender(),\n        feature_extraction.RBFSampler()\n    ) |\n    linear_model.LinearRegression()\n)\n

Pipelines provide the benefit of removing a lot of cruft by taking care of tedious details for you. They also enable to clearly define what steps your model is made of.

Finally, having your model in a single object means that you can move it around more easily.

Note that you can include user-defined functions in a pipeline by using a compose.FuncTransformer.

"},{"location":"recipes/pipelines/#learning-during-predict","title":"Learning during predict","text":"

In online machine learning, we can update the unsupervised parts of our model when a sample arrives. We don't really have to wait for the ground truth to arrive in order to update unsupervised estimators that don't depend on it.

In other words, in a pipeline, learn_one updates the supervised parts, whilst predict_one (or predict_proba_one for that matter) can update the unsupervised parts, which often yields better results.

In river, we can achieve this behavior using a dedicated context manager: compose.learn_during_predict.

Here is the same example as before, with the only difference of activating the such learning during predict behavior:

model = (\n    preprocessing.StandardScaler() |\n    feature_extraction.PolynomialExtender() |\n    linear_model.LinearRegression()\n)\n
with compose.learn_during_predict():\n    for (x, y) in dataset.take(2):\n\n        print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n        print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.00, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.0, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 44.104692, 'you_gov': 43.636914000000004})\nmodel.predict_one(x)=0.00, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.5, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 45.104692, 'you_gov': 42.636914000000004})\n

Calling predict_one within this context will update each transformer of the pipeline. For instance here we can see that the mean of each feature of the standard scaler step have been updated.

On the other hand, the supervised part of our pipeline, the linear regression, has not been updated or learned anything yet. Hence the prediction on any sample will be nil because each weight is still equal to 0.

model.predict_one(x), model[\"LinearRegression\"].weights\n
(0.0, {})\n
"},{"location":"recipes/pipelines/#performance-comparison","title":"Performance Comparison","text":"

One may wonder what is the advantage of learning during predict. Let's compare the performance of a pipeline with and without learning during predict, in two scenarios: one in which the flow of data stays the same, we just update

from contextlib import nullcontext\nfrom river import metrics\n\nimport pandas as pd\n
def score_pipeline(learn_during_predict: bool, n_learning_samples: int | None = None) -> float:\n    \"\"\"Scores a pipeline on the TrumpApproval dataset.\n\n    Parameters\n    ----------\n    learn_during_predict : bool\n        Whether or not to learn the unsupervided components during the prediction step.\n        If False it will only learn when `learn_one` is explicitly called.\n    n_learning_samples : int | None \n        Number of samples used to `learn_one`.\n\n    Return\n    ------\n    MAE : float\n        Mean absolute error of the pipeline on the dataset\n    \"\"\"\n\n    dataset = datasets.TrumpApproval()\n\n    model = (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression()\n        )\n\n    metric = metrics.MAE()\n\n    ctx = compose.learn_during_predict if learn_during_predict else nullcontext\n    n_learning_samples = n_learning_samples or dataset.n_samples\n\n    with ctx():\n        for _idx, (x, y) in enumerate(dataset):\n            y_pred = model.predict_one(x)\n\n            metric.update(y, y_pred)\n\n            if _idx < n_learning_samples:\n                model.learn_one(x, y)\n\n    return metric.get()\n
max_samples = datasets.TrumpApproval().n_samples\n\nresults = [\n    {\n        \"learn_during_predict\": learn_during_predict,\n        \"pct_learning_samples\": round(100*n_learning_samples/max_samples, 0),\n        \"mae\": score_pipeline(learn_during_predict=learn_during_predict, n_learning_samples=n_learning_samples)\n    }\n    for learn_during_predict in (True, False)\n    for n_learning_samples in range(max_samples, max_samples//10, -(max_samples//10))\n]\n
(pd.DataFrame(results)\n .pivot(columns=\"learn_during_predict\", index=\"pct_learning_samples\", values=\"mae\")\n .sort_index(ascending=False)\n .style.format_index('{0}%')\n)\n
learn_during_predict False True pct_learning_samples 100.0% 1.314548 1.347434 90.0% 1.629333 1.355274 80.0% 2.712125 1.371599 70.0% 4.840620 1.440773 60.0% 8.918634 1.498240 50.0% 15.112753 1.878434 40.0% 26.387331 2.105553 30.0% 42.997083 3.654709 20.0% 90.703102 3.504950 10.0% 226.836953 4.803600

As we can see from the resulting table above, the scores are comparable only in the case in which the percentage of learning samples above 90%. After that the score starts to degrade quite fast as the percentage of learning samples decreases, and it is very remarkable (one order of magnitude or more) when less than 50% of the samples are used for learning.

Although a simple case, this examplify how powerful it can be to learn unsupervised components during predict.

"},{"location":"recipes/reading-data/","title":"Reading data","text":"

In River, the features of a sample are stored inside a dictionary, which in Python is called a dict and is a native data structure. In other words, we don't use any sophisticated data structure, such as a numpy.ndarray or a pandas.DataFrame.

The main advantage of using plain dicts is that it removes the overhead that comes with using the aforementioned data structures. This is important in a streaming context because we want to be able to process many individual samples in rapid succession. Another advantage is that dicts allow us to give names to our features. Finally, dicts are not typed, and can therefore store heterogeneous data.

Another advantage which we haven't mentioned is that dicts play nicely with Python's standard library. Indeed, Python contains many tools that allow manipulating dicts. For instance, the csv.DictReader can be used to read a CSV file and convert each row to a dict. In fact, the stream.iter_csv method from River is just a wrapper on top of csv.DictReader that adds a few bells and whistles.

River provides some out-of-the-box datasets to get you started.

from river import datasets\n\ndataset = datasets.Bikes()\ndataset\n
Bike sharing station information from the city of Toulouse.\n\nThe goal is to predict the number of bikes in 5 different bike stations from the city of\nToulouse.\n\n      Name  Bikes                                                         \n      Task  Regression                                                    \n   Samples  182,470                                                       \n  Features  8                                                             \n    Sparse  False                                                         \n      Path  /Users/max/river_data/Bikes/toulouse_bikes.csv                \n       URL  https://maxhalford.github.io/files/datasets/toulouse_bikes.zip\n      Size  12.52 MB                                                      \nDownloaded  True\n

Note that when we say \"loaded\", we don't mean that the actual data is read from the disk. On the contrary, the dataset is a streaming data that can be iterated over one sample at a time. In Python lingo, it's a generator.

Let's take a look at the first sample:

x, y = next(iter(dataset))\nx\n
{'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'station': 'metro-canal-du-midi',\n 'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'pressure': 1017.0,\n 'temperature': 6.54,\n 'wind': 9.3}\n

Each dataset is iterable, which means we can also do:

for x, y in dataset:\n    break\nx\n
{'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'station': 'metro-canal-du-midi',\n 'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'pressure': 1017.0,\n 'temperature': 6.54,\n 'wind': 9.3}\n

As we can see, the values have different types.

Under the hood, calling for x, y in dataset simply iterates over a file and parses each value appropriately. We can do this ourselves by using stream.iter_csv:

from river import stream\n\nX_y = stream.iter_csv(dataset.path)\nx, y = next(X_y)\nx, y\n
({'moment': '2016-04-01 00:00:07',\n  'bikes': '1',\n  'station': 'metro-canal-du-midi',\n  'clouds': '75',\n  'description': 'light rain',\n  'humidity': '81',\n  'pressure': '1017.0',\n  'temperature': '6.54',\n  'wind': '9.3'},\n None)\n

There are a couple things that are wrong. First of all, the numeric features have not been casted into numbers. Indeed, by default, stream.iter_csv assumes that everything is a string. A related issue is that the moment field hasn't been parsed into a datetime. Finally, the target field, which is bikes, hasn't been separated from the rest of the features. We can remedy to these issues by setting a few parameters:

X_y = stream.iter_csv(\n    dataset.path,\n    converters={\n        'bikes': int,\n        'clouds': int,\n        'humidity': int,\n        'pressure': float,\n        'temperature': float,\n        'wind': float\n    },\n    parse_dates={'moment': '%Y-%m-%d %H:%M:%S'},\n    target='bikes'\n)\nx, y = next(X_y)\nx, y\n
({'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n  'station': 'metro-canal-du-midi',\n  'clouds': 75,\n  'description': 'light rain',\n  'humidity': 81,\n  'pressure': 1017.0,\n  'temperature': 6.54,\n  'wind': 9.3},\n 1)\n

That's much better. We invite you to take a look at the stream module to see for yourself what other methods are available. Note that River is first and foremost a machine learning library, and therefore isn't as much concerned about reading data as it is about statistical algorithms. We do however believe that the fact that we use dictionary gives you, the user, a lot of freedom and flexibility.

The stream module provides helper functions to read data from different formats. For instance, you can use the stream.iter_sklearn_dataset function to turn any scikit-learn dataset into a stream.

from sklearn import datasets\n\ndataset = datasets.load_diabetes()\n\nfor x, y in stream.iter_sklearn_dataset(dataset):\n    break\n\nx, y\n
({'age': 0.038075906433423026,\n  'sex': 0.05068011873981862,\n  'bmi': 0.061696206518683294,\n  'bp': 0.0218723855140367,\n  's1': -0.04422349842444599,\n  's2': -0.03482076283769895,\n  's3': -0.04340084565202491,\n  's4': -0.002592261998183278,\n  's5': 0.019907486170462722,\n  's6': -0.01764612515980379},\n 151.0)\n

To conclude, let us shortly mention the difference between proactive learning and reactive learning in the specific context of online machine learning. When we loop over a data with a for loop, we have the control over the data and the order in which it arrives. We are proactive in the sense that we, the user, are asking for the data to arrive.

In contract, in a reactive situation, we don't have control on the data arrival. A typical example of such a situation is a web server, where web requests arrive in an arbitrary order. This is a situation where River shines. For instance, in a Flask application, you could define a route to make predictions with a River model as so:

import flask\n\napp = flask.Flask(__name__)\n\n@app.route('/', methods=['GET'])\ndef predict():\n    payload = flask.request.json\n    river_model = load_model()\n    return river_model.predict_proba_one(payload)\n

Likewise, a model can be updated whenever a request arrives as so:

@app.route('/', methods=['POST'])\ndef learn():\n    payload = flask.request.json\n    river_model = load_model()\n    river_model.learn_one(payload['features'], payload['target'])\n    return {}, 201\n

To summarize, River can be used in many different ways. The fact that it uses dictionaries to represent features provides a lot of flexibility and space for creativity.

"},{"location":"recipes/rolling-computations/","title":"Rolling computations","text":"

You might wonder which classes in River can be wrapped with a utils.Rolling. This can be answered with a bit of metaprogramming.

import importlib\nimport inspect\nfrom river.utils.rolling import Rollable\n\nfor submodule in importlib.import_module(\"river.api\").__all__:\n    for _, obj in inspect.getmembers(\n        importlib.import_module(f\"river.{submodule}\"), lambda x: isinstance(x, Rollable)\n    ):\n        print(f'{submodule}.{obj.__name__}')\n
[covariance.EmpiricalCovariance](../../api/covariance/EmpiricalCovariance)\n[metrics.Accuracy](../../api/metrics/Accuracy)\n[metrics.AdjustedMutualInfo](../../api/metrics/AdjustedMutualInfo)\n[metrics.AdjustedRand](../../api/metrics/AdjustedRand)\n[metrics.BalancedAccuracy](../../api/metrics/BalancedAccuracy)\n[metrics.ClassificationReport](../../api/metrics/ClassificationReport)\n[metrics.CohenKappa](../../api/metrics/CohenKappa)\n[metrics.Completeness](../../api/metrics/Completeness)\n[metrics.ConfusionMatrix](../../api/metrics/ConfusionMatrix)\n[metrics.CrossEntropy](../../api/metrics/CrossEntropy)\n[metrics.F1](../../api/metrics/F1)\n[metrics.FBeta](../../api/metrics/FBeta)\n[metrics.FowlkesMallows](../../api/metrics/FowlkesMallows)\n[metrics.GeometricMean](../../api/metrics/GeometricMean)\n[metrics.Homogeneity](../../api/metrics/Homogeneity)\n[metrics.Jaccard](../../api/metrics/Jaccard)\n[metrics.LogLoss](../../api/metrics/LogLoss)\n[metrics.MAE](../../api/metrics/MAE)\n[metrics.MAPE](../../api/metrics/MAPE)\n[metrics.MCC](../../api/metrics/MCC)\n[metrics.MSE](../../api/metrics/MSE)\n[metrics.MacroF1](../../api/metrics/MacroF1)\n[metrics.MacroFBeta](../../api/metrics/MacroFBeta)\n[metrics.MacroJaccard](../../api/metrics/MacroJaccard)\n[metrics.MacroPrecision](../../api/metrics/MacroPrecision)\n[metrics.MacroRecall](../../api/metrics/MacroRecall)\n[metrics.MicroF1](../../api/metrics/MicroF1)\n[metrics.MicroFBeta](../../api/metrics/MicroFBeta)\n[metrics.MicroJaccard](../../api/metrics/MicroJaccard)\n[metrics.MicroPrecision](../../api/metrics/MicroPrecision)\n[metrics.MicroRecall](../../api/metrics/MicroRecall)\n[metrics.MultiFBeta](../../api/metrics/MultiFBeta)\n[metrics.MutualInfo](../../api/metrics/MutualInfo)\n[metrics.NormalizedMutualInfo](../../api/metrics/NormalizedMutualInfo)\n[metrics.Precision](../../api/metrics/Precision)\n[metrics.R2](../../api/metrics/R2)\n[metrics.RMSE](../../api/metrics/RMSE)\n[metrics.RMSLE](../../api/metrics/RMSLE)\n[metrics.ROCAUC](../../api/metrics/ROCAUC)\n[metrics.Rand](../../api/metrics/Rand)\n[metrics.Recall](../../api/metrics/Recall)\n[metrics.RollingROCAUC](../../api/metrics/RollingROCAUC)\n[metrics.SMAPE](../../api/metrics/SMAPE)\n[metrics.Silhouette](../../api/metrics/Silhouette)\n[metrics.VBeta](../../api/metrics/VBeta)\n[metrics.WeightedF1](../../api/metrics/WeightedF1)\n[metrics.WeightedFBeta](../../api/metrics/WeightedFBeta)\n[metrics.WeightedJaccard](../../api/metrics/WeightedJaccard)\n[metrics.WeightedPrecision](../../api/metrics/WeightedPrecision)\n[metrics.WeightedRecall](../../api/metrics/WeightedRecall)\n[proba.Beta](../../api/proba/Beta)\n[proba.Gaussian](../../api/proba/Gaussian)\n[proba.Multinomial](../../api/proba/Multinomial)\n[proba.MultivariateGaussian](../../api/proba/MultivariateGaussian)\n[stats.BayesianMean](../../api/stats/BayesianMean)\n[stats.Cov](../../api/stats/Cov)\n[stats.KolmogorovSmirnov](../../api/stats/KolmogorovSmirnov)\n[stats.Mean](../../api/stats/Mean)\n[stats.PearsonCorr](../../api/stats/PearsonCorr)\n[stats.SEM](../../api/stats/SEM)\n[stats.Sum](../../api/stats/Sum)\n[stats.Var](../../api/stats/Var)\n
"},{"location":"releases/0.0.2/","title":"0.0.2 - 2019-02-13","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.0.2/#compat","title":"compat","text":"
  • Added sklearn wrappers.
"},{"location":"releases/0.0.2/#ensemble","title":"ensemble","text":"
  • Added ensemble.HedgeClassifier.
"},{"location":"releases/0.0.2/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.RandomDiscarder.
"},{"location":"releases/0.0.2/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.TargetEncoder.
"},{"location":"releases/0.0.2/#impute","title":"impute","text":"
  • Added impute.NumericImputer.
"},{"location":"releases/0.0.2/#optim","title":"optim","text":"
  • Added optim.AbsoluteLoss.
  • Added optim.HingeLoss.
  • Added optim.EpsilonInsensitiveHingeLoss.
"},{"location":"releases/0.0.2/#stats","title":"stats","text":"
  • Added stats.NUnique.
  • Added stats.Min.
  • Added stats.Max.
  • Added stats.PeakToPeak.
  • Added stats.Kurtosis.
  • Added stats.Skew.
  • Added stats.Sum.
  • Added stats.EWMean.
  • Made sure the running statistics produce the same results as pandas.DataFrame.rolling method.
"},{"location":"releases/0.0.3/","title":"0.0.3 - 2019-03-21","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.0.3/#base","title":"base","text":"
  • Calling fit_one now returns the calling instance, not the out-of-fold prediction/transform; fit_predict_one, fit_predict_proba_one, and fit_transform_one are available to reproduce the previous behavior.
  • Binary classifiers now output a dict with probabilities for False and True when calling predict_proba_one, which solves the interface issues of having multi-class classifiers do binary classification.
"},{"location":"releases/0.0.3/#compat","title":"compat","text":"
  • Added compat.convert_river_to_sklearn.
"},{"location":"releases/0.0.3/#compose","title":"compose","text":"
  • Added compose.BoxCoxTransformRegressor.
  • Added compose.TargetModifierRegressor.
"},{"location":"releases/0.0.3/#datasets","title":"datasets","text":"
  • Added datasets.fetch_restaurants.
  • Added datasets.load_airline.
"},{"location":"releases/0.0.3/#dist","title":"dist","text":"
  • Added dist.Multinomial.
  • Added dist.Normal.
"},{"location":"releases/0.0.3/#ensemble","title":"ensemble","text":"
  • Added ensemble.BaggingRegressor.
"},{"location":"releases/0.0.3/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.TargetGroupBy.
"},{"location":"releases/0.0.3/#impute","title":"impute","text":"
  • Added impute.CategoricalImputer.
"},{"location":"releases/0.0.3/#linear_model","title":"linear_model","text":"
  • Added linear_model.FMRegressor.
  • Removed all the passive-aggressive estimators.
"},{"location":"releases/0.0.3/#metrics","title":"metrics","text":"
  • Added metrics.Accuracy.
  • Added metrics.MAE.
  • Added metrics.MSE.
  • Added metrics.RMSE.
  • Added metrics.RMSLE.
  • Added metrics.SMAPE.
  • Added metrics.Precision.
  • Added metrics.Recall.
  • Added metrics.F1.
"},{"location":"releases/0.0.3/#model_selection","title":"model_selection","text":"
  • model_selection.online_score can now be passed a metrics.Metric instead of an sklearn metric; it also checks that the provided metric can be used with the accompanying model.
"},{"location":"releases/0.0.3/#naive_bayes","title":"naive_bayes","text":"
  • Added naive_bayes.GaussianNB.
"},{"location":"releases/0.0.3/#optim","title":"optim","text":"
  • Added optim.PassiveAggressiveI.
  • Added optim.PassiveAggressiveII.
"},{"location":"releases/0.0.3/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.Discarder.
  • Added preprocessing.PolynomialExtender.
  • Added preprocessing.FuncTransformer.
"},{"location":"releases/0.0.3/#reco","title":"reco","text":"
  • Added reco.SVD.
"},{"location":"releases/0.0.3/#stats","title":"stats","text":"
  • Added stats.Mode.
  • Added stats.Quantile.
  • Added stats.RollingQuantile.
  • Added stats.Entropy.
  • Added stats.RollingMin.
  • Added stats.RollingMax.
  • Added stats.RollingMode.
  • Added stats.RollingSum.
  • Added stats.RollingPeakToPeak.
"},{"location":"releases/0.0.3/#stream","title":"stream","text":"
  • Added stream.iter_csv.
"},{"location":"releases/0.0.3/#tree","title":"tree","text":"
  • Added tree.MondrianTreeClassifier.
  • Added tree.MondrianTreeRegressor.
"},{"location":"releases/0.1.0/","title":"0.1.0 - 2019-05-08","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.1.0/#base","title":"base","text":"
  • Removed the fit_predict_one estimator method.
  • Removed the fit_predict_proba_one estimator method.
  • Removed the fit_transform_one estimator method.
"},{"location":"releases/0.1.0/#compat","title":"compat","text":"
  • Added compat.convert_sklearn_to_river.
  • compat.convert_river_to_sklearn now returns an sklearn.pipeline.Pipeline when provided with a compose.Pipeline.
"},{"location":"releases/0.1.0/#compose","title":"compose","text":"
  • Added compose.Discard.
  • Added compose.Select.
  • Added compose.SplitRegressor.
  • The draw method of compose.Pipeline now works properly for arbitrary amounts of nesting, including multiple nested compose.FeatureUnion.
"},{"location":"releases/0.1.0/#datasets","title":"datasets","text":"
  • Added datasets.fetch_electricity.
"},{"location":"releases/0.1.0/#dummy","title":"dummy","text":"
  • Added dummy.NoChangeClassifier.
  • Added dummy.PriorClassifier.
  • Added dummy.StatisticRegressor.
"},{"location":"releases/0.1.0/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.Differ.
  • Renamed feature_extraction.GroupBy to feature_extraction.Agg.
  • Renamed feature_extraction.TargetGroupBy to feature_extraction.TargetAgg.
"},{"location":"releases/0.1.0/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.SelectKBest.
  • Added feature_selection.VarianceThreshold.
"},{"location":"releases/0.1.0/#impute","title":"impute","text":"
  • Added impute.StatImputer.
  • Removed impute.CategoricalImputer.
  • Removed impute.NumericImputer.
"},{"location":"releases/0.1.0/#linear_model","title":"linear_model","text":"
  • Added linear_model.PAClassifier.
  • Added linear_model.PARegressor.
  • Added linear_model.SoftmaxRegression.
"},{"location":"releases/0.1.0/#metrics","title":"metrics","text":"
  • Added metrics.ConfusionMatrix.
  • Added metrics.CrossEntropy.
  • Added metrics.MacroF1.
  • Added metrics.MacroPrecision.
  • Added metrics.MacroRecall.
  • Added metrics.MicroF1.
  • Added metrics.MicroPrecision.
  • Added metrics.MicroRecall.
  • Each metric now has a bigger_is_better property to indicate if a high value is better than a low one or not.
"},{"location":"releases/0.1.0/#optim","title":"optim","text":"
  • Added optim.OptimalLR.
  • Added optim.CrossEntropy.
  • Removed optim.PassiveAggressiveI.
  • Removed optim.PassiveAggressiveII.
"},{"location":"releases/0.1.0/#preprocessing","title":"preprocessing","text":"
  • Removed preprocessing.Discarder.
  • Added on and sparse parameters to preprocessing.OneHotEncoder.
"},{"location":"releases/0.1.0/#stats","title":"stats","text":"
  • Added stats.Covariance.
  • Added stats.PearsonCorrelation.
  • Added stats.SmoothMean.
"},{"location":"releases/0.1.0/#utils","title":"utils","text":"
  • Added utils.check_estimator.
  • Added utils.Histogram.
  • Added utils.SortedWindow.
  • Added utils.Window.
"},{"location":"releases/0.10.0/","title":"0.10.0 - 2022-02-04","text":""},{"location":"releases/0.10.0/#base","title":"base","text":"
  • Introduce base.MiniBatchTransformer. Add support for mini-batches to compose.TransformerUnion, compose.Select, and preprocessing.OneHotEncoder.
"},{"location":"releases/0.10.0/#checks","title":"checks","text":"
  • Created this module to store estimator unit testing, rather than having it in the utils module.
"},{"location":"releases/0.10.0/#compose","title":"compose","text":"
  • Split compose.Renamer into compose.Prefixer and compose.Suffixer that respectively prepend and append a string to the features' name.
  • Changed compose.Renamer to allow feature renaming following a mapping.
"},{"location":"releases/0.10.0/#evaluate","title":"evaluate","text":"
  • Refactored evaluate.progressive_validation to work with api.anomaly.base.AnomalyDetectors.
"},{"location":"releases/0.10.0/#facto","title":"facto","text":"
  • Added debug_one method to BaseFM.
"},{"location":"releases/0.10.0/#feature_extraction","title":"feature_extraction","text":"
  • Make the by parameter in feature_extraction.Agg and feature_extraction.TargetAgg to be optional, allowing to calculate aggregates over the whole data.
  • Removed feature_extraction.Lagger and feature_extraction.TargetLagger. Their functionality can be reproduced by combining feature_extraction.Agg and stats.Shift.
  • feature_extraction.Agg and feature_extraction.Target now have a state property. It returns a pandas.Series representing the current aggregates values within each group.
"},{"location":"releases/0.10.0/#metrics","title":"metrics","text":"
  • metrics.ROCAUC works with base.AnomalyDetectorss.
"},{"location":"releases/0.10.0/#misc","title":"misc","text":"
  • Created this module to store some stuff that was in the utils module but wasn't necessarily shared between modules.
  • Implement misc.CovMatrix.
"},{"location":"releases/0.10.0/#reco","title":"reco","text":"
  • Renamed the Recommender base class into Ranker.
  • Added a rank method to each recommender.
  • Removed reco.SurpriseWrapper as it wasn't really useful.
  • Added an is_contextual property to each ranker to indicate if a model makes use of contextual features or not.
"},{"location":"releases/0.10.0/#stats","title":"stats","text":"
  • stats.Mean, stats.Var, and stats.Cov each now have an update_many method which accepts numpy arrays.
"},{"location":"releases/0.10.0/#utils","title":"utils","text":"
  • Removed utils.Window and use collections.deque instead where necessary.
"},{"location":"releases/0.10.1/","title":"0.10.1 - 2022-02-05","text":""},{"location":"releases/0.10.1/#evaluate","title":"evaluate","text":"

evaluate.progressive_val_score can now handle models which use **kwargs in their learn_one and predict_one methods. For instance, this is useful for reco.Ranker models which require passing a user and an item.

"},{"location":"releases/0.11.0/","title":"0.11.0 - 2022-05-28","text":"
  • Moved all metrics in metrics.cluster except metrics.Silhouette to river-extra.
"},{"location":"releases/0.11.0/#anomaly","title":"anomaly","text":"
  • There is now a anomaly.base.SupervisedAnomalyDetector base class for supervised anomaly detection.
  • Added api.anomaly.GaussianScorer, which is the first supervised anomaly detector.
  • There is now a anomaly.base.AnomalyFilter base class for anomaly filtering methods. These allow to classify anomaly scores. They can also prevent models from learning on anomalous data, for instance by putting them as an initial step of a pipeline.
  • Added anomaly.ConstantFilter and QuantileFilter, which are the first anomaly filters.
  • Removed anomaly.ConstantThresholder and anomaly.QuantileThresholder, as they overlap with the new anomaly filtering mechanism.
"},{"location":"releases/0.11.0/#base","title":"base","text":"
  • Fixed an issue where the _raw_memory_usage property would spin into an infinite loop if a model's property was an itertools.count.
"},{"location":"releases/0.11.0/#dataset","title":"dataset","text":"
  • Added the datasets.WaterFlow dataset.
"},{"location":"releases/0.11.0/#dist","title":"dist","text":"
  • A revert method has been added to stats.Gaussian.
  • A revert method has been added to stats.Multinomial.
  • Added dist.TimeRolling to measure probability distributions over windows of time.
"},{"location":"releases/0.11.0/#drift","title":"drift","text":"
  • Add the PeriodicTrigger detector, a baseline capable of producing drift signals in regular or random intervals.
  • The numpy usage was removed in drift.KSWIN in favor of collections.deque. Appending or deleting elements to numpy arrays imply creating another object.
  • Added the seed parameter to drift.KSWIN to control reproducibility.
  • The Kolmogorov-Smirnov test mode was changed to the default (\"auto\") to suppress warnings (drift.KSWIN).
  • Unnecessary usage of numpy was also removed in other concept drift detectors.
"},{"location":"releases/0.11.0/#ensemble","title":"ensemble","text":"
  • Streamline SRP{Classifier,Regressor}, remove unneeded numpy usage, make SRP variants robust against missing features, and fix bugs.
  • Remove unneeded numpy usage AdaptiveRandomForest{Classifier,Regressor}.
"},{"location":"releases/0.11.0/#evaluate","title":"evaluate","text":"
  • Added a iter_progressive_val_score function, which does the same as progressive_val_score, except that it yields rather than prints results at each step, which give more control to the user.
"},{"location":"releases/0.11.0/#imblearn","title":"imblearn","text":"
  • Added imblearn.ChebyshevUnderSampler and imblearn.ChebyshevOverSampler for imbalanced regression.
"},{"location":"releases/0.11.0/#linear_model","title":"linear_model","text":"
  • linear_model.LinearRegression and linear_model.LogisticRegression now correctly apply the l2 regularization when their learn_many method is used.
  • Added l1 regularization (implementation with cumulative penalty, see paper) for linear_model.LinearRegression and linear_model.LogisticRegression
"},{"location":"releases/0.11.0/#neighbors","title":"neighbors","text":"
  • neighbors.KNNADWINClassifier and neighbors.SAMKNNClassifier have been deprecated.
  • Introduced neighbors.NearestNeighbors for searching nearest neighbors.
  • Vastly refactored and simplified the nearest neighbors logic.
"},{"location":"releases/0.11.0/#proba","title":"proba","text":"
  • Added proba.Rolling to measure a probability distribution over a window.
"},{"location":"releases/0.11.0/#rules","title":"rules","text":"
  • AMRules's debug_one explicitly indicates the prediction strategy used by each rule.
  • Fix bug in debug_one (AMRules) where prediction explanations were incorrectly displayed when ordered_rule_set=True.
"},{"location":"releases/0.11.0/#time_series","title":"time_series","text":"
  • Added an iter_evaluate function to trace the evaluation at each sample in a dataset.
"},{"location":"releases/0.11.0/#tree","title":"tree","text":"
  • Fix bug in Naive Bayes-based leaf prediction.
  • Remove unneeded numpy usage in HoeffdingAdaptiveTree{Classifier,Regressor}.
"},{"location":"releases/0.11.0/#stats","title":"stats","text":"
  • A revert method has been added to stats.Var.
"},{"location":"releases/0.11.1/","title":"0.11.1 - 2022-06-06","text":"

A small release to introduce benchmarks.

"},{"location":"releases/0.11.1/#anomaly","title":"anomaly","text":"
  • Fixed a bug where anomaly filters were never updated.
"},{"location":"releases/0.12.0/","title":"0.12.0 - 2022-09-02","text":"
  • Moved all the public modules imports from river/__init__.py to river/api.py and removed unnecessary dependencies between modules enabling faster cherry-picked import times (~3x).
  • Adding wheels for Python 3.11.
"},{"location":"releases/0.12.0/#base","title":"base","text":"
  • Introduced an mutate method to the base.Base class. This allows setting attributes in a controlled manner, which paves the way for online AutoML. See the recipe for more information.
"},{"location":"releases/0.12.0/#compat","title":"compat","text":"
  • Moved the PyTorch wrappers to river-extra.
"},{"location":"releases/0.12.0/#covariance","title":"covariance","text":"
  • Created a new covariance module to hold everything related to covariance and inversion covariance matrix estimation.
  • Moved misc.CovarianceMatrix to covariance.EmpiricalCovariance.
  • Added covariance.EmpiricalPrecision to estimate the inverse covariance matrix.
"},{"location":"releases/0.12.0/#compose","title":"compose","text":"
  • Moved utils.pure_inference_mode to compose.pure_inference_mode and utils.warm_up_mode to compose.warm_up_mode.
  • Pipeline parts can now be accessed by integer positions as well as by name.
"},{"location":"releases/0.12.0/#datasets","title":"datasets","text":"
  • Imports synth, enabling `from river import datasets; datasets.synth.
"},{"location":"releases/0.12.0/#drift","title":"drift","text":"
  • Refactor the concept drift detectors to match the remaining of River's API. Warnings are only issued by detectors that support this feature.
  • Drifts can be assessed via the property drift_detected. Warning signals can be acessed by the property warning_detected. The update now returns self.
  • Ensure all detectors automatically reset their inner states after a concept drift detection.
  • Streamline DDM, EDDM, HDDM_A, and HDDM_W. Make the configurable parameters names match their respective papers.
  • Fix bugs in EDDM and HDDM_W.
  • Enable two-sided tests in PageHinkley.
  • Improve documentation and update tests.
"},{"location":"releases/0.12.0/#feature_extraction","title":"feature_extraction","text":"
  • Added a tokenizer_pattern parameter to feature_extraction.BagOfWords and feature_extraction.TFIDF to override the default pattern used for tokenizing text.
  • Added a stop_words parameter to feature_extraction.BagOfWords and feature_extraction.TFIDF for removing stop words once the text has been tokenized.
"},{"location":"releases/0.12.0/#linear_model","title":"linear_model","text":"
  • After long ado, we've finally implemented linear_model.BayesianLinearRegression.
"},{"location":"releases/0.12.0/#metrics","title":"metrics","text":"
  • Removed dependency to optim.
  • Removed metrics.Rolling, due to the addition of utils.Rolling.
  • Removed metrics.TimeRolling, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#proba","title":"proba","text":"
  • Removed proba.Rolling, due to the addition of utils.Rolling.
  • Removed proba.TimeRolling, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#rule","title":"rule","text":"
  • The default splitter was changed to tree.splitter.TEBST for memory and running time efficiency.
"},{"location":"releases/0.12.0/#stats","title":"stats","text":"
  • Removed stats.RollingMean, due to the addition of utils.Rolling.
  • Removed stats.RollingVar, due to the addition of utils.Rolling.
  • Removed stats.RollingCov, due to the addition of utils.Rolling.
  • Removed stats.RollingPearsonCorr, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#stream","title":"stream","text":"
  • stream.iter_array now handles text data.
  • Added stream.TwitterLiveStream, to listen to a filtered live stream of Tweets.
"},{"location":"releases/0.12.0/#time_series","title":"time_series","text":"
  • Added time_series.HorizonAggMetric.
  • Fixed a bug in time_series.SNARIMAX where the number of seasonal components was not correct when sp or sq were specified.
  • Fixed the differencing logic in time_series.SNARIMAX when d or sd were specified.
"},{"location":"releases/0.12.0/#tree","title":"tree","text":"
  • Rename split_confidence and tie_threshold to delta and tau, respectively. This way, the parameters are not misleading and match what the research papers have used for decades.
  • Refactor HoeffdingAdaptiveTree{Classifier,Regressor} to allow the usage of any drift detector. Expose the significance level of the test used to switch between subtrees as a user-defined parameter.
  • Correct test used to switch between foreground and background subtrees in HoeffdingAdaptiveTreeRegressor. Due to the continuous and unbounded nature of the monitored errors, a z-test is now performed to decide which subtree to keep.
  • The default leaf_prediction value was changed to \"adaptive\", as this often results in the smallest errors in practice.
  • The default splitter was changed to tree.splitter.TEBST for memory and running time efficiency.
"},{"location":"releases/0.12.0/#utils","title":"utils","text":"
  • Removed dependencies to anomaly and compose.
  • Added utils.Rolling and utils.TimeRolling, which are generic wrappers for computing over a window (of time).
  • Use binary search to speed-up element removal in utils.SortedWindow.
"},{"location":"releases/0.12.1/","title":"0.12.1 - 2022-09-02","text":""},{"location":"releases/0.12.1/#base","title":"base","text":"
  • Fix the way the clone method handles positional arguments.
"},{"location":"releases/0.13.0/","title":"0.13.0 - 2022-09-15","text":""},{"location":"releases/0.13.0/#compose","title":"compose","text":"
  • compose.TransformerUnion parts can now be accessed by index as well as by name.
"},{"location":"releases/0.13.0/#stats","title":"stats","text":"
  • Added the LossyCount for tracking frequent itemsets. This implementation also supports a forgetting factor to reduce the influence of old elements.
  • The following statistics are now implemented in Rust:
  • Quantile
  • EWMean
  • EWVar
  • IQR
  • Kurtosis
  • PeaktoPeak
  • Skew
  • RollingQuantile
  • RollingIQR
"},{"location":"releases/0.13.0/#stream","title":"stream","text":"
  • Implemented stream.TwitchChatStream.
"},{"location":"releases/0.14.0/","title":"0.14.0 - 2022-10-26","text":"
  • Introducing the bandit module for running multi-armed bandits
  • Introducing the sketch module with summarization tools and data sketches working in a streaming fashion!
"},{"location":"releases/0.14.0/#bandit","title":"bandit","text":"
  • Added bandit.EpsilonGreedy.
  • Added bandit.UCB.
  • Added bandit.ThomsonSampling.
  • Added a bandit.base module.
  • Added bandit.envs.CandyCaneContest, which implements the Gym interface.
  • Added bandit.envs.KArmedTestbed, which implements the Gym interface.
  • Added bandit.evaluate for basic benchmarking of bandit policies on a Gym environment.
"},{"location":"releases/0.14.0/#drift","title":"drift","text":"
  • Exposed more parameters in ADWIN: clock, max_buckets, min_window_length, and grace_period.
"},{"location":"releases/0.14.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.BanditRegressor, which is a generic model selection method that works with any bandit policy.
  • Removed model_selection.EpsilonGreedyRegressor due to the addition of model_selection.BanditRegressor.
  • Removed model_selection.UCBRegressor due to the addition of model_selection.BanditRegressor.
"},{"location":"releases/0.14.0/#proba","title":"proba","text":"
  • Added proba.Beta.
  • Added a sample method to each distribution.
  • Added a mode property to each distribution.
  • Replaced the pmf and pdf methods with a __call__ method.
"},{"location":"releases/0.14.0/#sketch","title":"sketch","text":"
  • Moved misc.Histogram to sketch.Histogram.
  • Moved stats.LossyCount to sketch.HeavyHitters and update its API to better match collections.Counter.
  • Added missing return self in HeavyHitters.
  • Added the Count-Min Sketch (sketch.Counter) algorithm for approximate element counting.
  • Added an implementation of Bloom filter (sketch.Set) to provide approximate set-like operations.
"},{"location":"releases/0.15.0/","title":"0.15.0 - 2023-01-29","text":""},{"location":"releases/0.15.0/#active","title":"active","text":"
  • Created this module dedicated to online active learning.
  • Added api.active.EntropySampler.
"},{"location":"releases/0.15.0/#base","title":"base","text":"
  • Fixed an issue where an estimator that has attribute a pipeline could not be cloned.
  • Added a base.DriftAndWarningDetector to clarify the difference between drift detectors that have a warning_detected property and those that don't.
  • Added MultiLabelClassifier.
  • Added MultiTargetRegressor.
  • Added drift.BinaryDriftDetector.
  • Added drift.BinaryDriftAndWarningDetector.
"},{"location":"releases/0.15.0/#conf","title":"conf","text":"
  • Introduced this new module to perform conformal predictions.
  • Added a conf.Interval dataclass to represent predictive intervals.
  • Added conf.RegressionJackknife.
"},{"location":"releases/0.15.0/#datasets","title":"datasets","text":"
  • Removed unnecessary Numpy usage in the synth submodule.
  • Changed np.random.RandomState to np.random.default_rng where necessary.
"},{"location":"releases/0.15.0/#drift","title":"drift","text":"
  • Added drift.DriftRetrainingClassifier.
  • Renamed drift.PeriodicTrigger to drift.DummyDriftDetector to clarify it is a naive baseline.
  • Created a binary submodule to organize all drift detectors which only apply to binary inputs.
"},{"location":"releases/0.15.0/#ensemble","title":"ensemble","text":"
  • Added ensemble.ADWINBoostingClassifier.
  • Added ensemble.BOLEClassifier.
"},{"location":"releases/0.15.0/#evaluate","title":"evaluate","text":"
  • evaluate.progressive_val_score and evaluate.iter_progressive_val_score will now also produce a report once the last sample has been processed, in addition to every print_every steps.
"},{"location":"releases/0.15.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.BagOfWords now outputs a dictionary, and not a collections.Counter.
"},{"location":"releases/0.15.0/#forest","title":"forest","text":"
  • Created this new module to host all models based on an ensemble of decision trees.
  • Moved ensemble.AdaptiveRandomForestClassifier to forest.ARFClassifier.
  • Moved ensemble.AdaptiveRandomForestRegressor to forest.ARFRegressor.
  • Added forest.AMFClassifier.
  • Added forest.OXTRegressor.
"},{"location":"releases/0.15.0/#linear_model","title":"linear_model","text":"
  • Renamed use_dist to with_dist in linear_model.BayesianLinearRegression's predict_one method.
"},{"location":"releases/0.15.0/#multiclass","title":"multiclass","text":"
  • Added a coding_method method to multiclass.OCC to control how the codes are randomly generated.
"},{"location":"releases/0.15.0/#multioutput","title":"multioutput","text":"
  • Added MultiClassEncoder to convert multi-label tasks into multi-class problems.
"},{"location":"releases/0.15.0/#preprocessing","title":"preprocessing","text":"
  • Renamed alpha to fading_factor in preprocessing.AdaptiveStandardScaler.
"},{"location":"releases/0.15.0/#rules","title":"rules","text":"
  • Renamed alpha to fading_factor in rules.AMRules.
"},{"location":"releases/0.15.0/#sketch","title":"sketch","text":"
  • Renamed alpha to fading_factor in sketch.HeavyHitters.
"},{"location":"releases/0.15.0/#stats","title":"stats","text":"
  • Renamed alpha to fading_factor in stats.Entropy.
  • Renamed alpha to fading_factor in stats.EWMean.
  • Renamed alpha to fading_factor in stats.EWVar.
"},{"location":"releases/0.15.0/#stream","title":"stream","text":"
  • Upgraded stream.iter_sql to SQLAlchemy 2.0.
"},{"location":"releases/0.15.0/#tree","title":"tree","text":"
  • Remove LabelCombinationHoeffdingTreeClassifier. New code should use multioutput.MulticlassEncoder instead.
"},{"location":"releases/0.15.0/#utils","title":"utils","text":"
  • Removed artifacts from the merger.
"},{"location":"releases/0.16.0/","title":"0.16.0 - 2023-05-08","text":"

Added wheels for Python 3.11.

"},{"location":"releases/0.16.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.Agg and feature_extraction.TargetAgg can now be passed an optional t in its learn_one method, which allows it to work with utils.TimeRolling.
"},{"location":"releases/0.16.0/#metrics","title":"metrics","text":"
  • Added metrics.MAPE.
  • Added metrics.RollingROCAUC.
"},{"location":"releases/0.16.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.GaussianRandomProjector.
  • Added preprocessing.SparseRandomProjector.
"},{"location":"releases/0.16.0/#stats","title":"stats","text":"
  • Fixed randomness issue with the first few outputs of stats.Quantile.
"},{"location":"releases/0.17.0/","title":"0.17.0 - 2023-05-27","text":""},{"location":"releases/0.17.0/#bandit","title":"bandit","text":"
  • Bandit policies now return a single arm when the pull method is called, instead of yielding or one more arms at a time. This is simpler to understand. We will move back to multi-armed pulls in the future.
  • Added bandit.Exp3.
  • bandit.UCB and bandit.Exp3 have an extra reward_scaler parameter, which can be any object that inherits from compose.TargetTransformRegressor. This allows scaling rewards before updating arms.
"},{"location":"releases/0.17.0/#compose","title":"compose","text":"
  • compose.TransformerProduct now correctly returns a compose.TransformerUnion when a transformer is added to it.
  • Fixed compose.TransformerProduct's transform_many behavior.
  • compose.TransformerUnion and compose.TransformerProduct will now clone the provided estimators, so that shallow copies aren't shared in different places.
"},{"location":"releases/0.17.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.BanditClassifier, which is the classification equivalent to bandit.BanditRegressor. Both are methods to perform online model selection via a bandit policy.
"},{"location":"releases/0.17.0/#multioutput","title":"multioutput","text":"
  • metrics.multioutput.MacroAverage and metrics.multioutput.MicroAverage now loop over the keys of y_true instead of y_pred. This ensures a KeyError is correctly raised if y_pred is missing an output that is present in y_true.
"},{"location":"releases/0.17.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.TargetMinMaxScaler, which operates the same as preprocessing.TargetStandardScaler, but instead uses min-max scaling.
"},{"location":"releases/0.18.0/","title":"0.18.0 - 2023-06-26","text":""},{"location":"releases/0.18.0/#bandit","title":"bandit","text":"
  • Added bandit.BayesUCB.
  • Added bandit.evaluate_offline, for evaluating bandits on historical (logged) data.
"},{"location":"releases/0.18.0/#cluster","title":"cluster","text":"
  • DBStream will now only recluster on demand, rather than at every call to learn_one.
"},{"location":"releases/0.18.0/#compat","title":"compat","text":"
  • The predict_many method scikit-learn models wrapped with compat.convert_sklearn_to_river raised an exception if the model had not been fitted on any data yet. Instead, default predictions will be produced, which is consistent with the rest of River.
  • compat.SKL2RiverRegressor and compat.SKL2RiverClassifier didn't check whether features were ordered in the same way at each method call. They now store the list of feature names at the first function call, and align subsequent inputs in the same order.
"},{"location":"releases/0.18.0/#compose","title":"compose","text":"
  • compose.TransformerProduct will now preserve the density of sparse columns.
  • Added a transform_many method to compose.FuncTransformer, allowing it to be used in mini-batch pipelines.
  • The compose.pure_inference_mode now works with mini-batching.
"},{"location":"releases/0.18.0/#neighbors","title":"neighbors","text":"
  • Added neighbors.SWINN to power-up approximate nearest neighbor search. SWINN uses graphs to speed up nearest neighbor search in large sliding windows of data.
  • Renamed neighbors.NearestNeighbors to neighbors.LazySearch.
  • Standardize and create base classes for generic nearest neighbor search utilities.
  • The user can now select the nearest neighbor search engine to use in neighbors.KNNClassifier and neighbors.KNNRegressor.
"},{"location":"releases/0.18.0/#preprocessing","title":"preprocessing","text":"
  • Rename sparse parameter to drop_zeros in preprocessing.OneHotEncoder.
  • The transform_many method of preprocessing.OneHotEncoder will now return a sparse dataframe, rather than a dense one, which will consume much less memory.
"},{"location":"releases/0.18.0/#proba","title":"proba","text":"
  • Added a cdf method to proba.Beta.
"},{"location":"releases/0.18.0/#tree","title":"tree","text":"
  • Expose the min_branch_fraction parameter to avoid splits where most of the data goes to a single branch. Affects classification trees.
  • Added the max_share_to_split parameter to Hoeffding Tree classifiers. This parameters avoids splitting when the majority class has most of the data.
"},{"location":"releases/0.18.0/#utils","title":"utils","text":"
  • Fixed utils.math.minkowski_distance.
"},{"location":"releases/0.19.0/","title":"0.19.0 - 2023-08-02","text":"

Calling learn_one in a pipeline will now update each part of the pipeline in turn. Before the unsupervised parts of the pipeline were updated during predict_one. This is more intuitive for new users. The old behavior, which yields better results, can be restored by calling learn_one with the new compose.learn_during_predict context manager.

"},{"location":"releases/0.19.0/#bandit","title":"bandit","text":"
  • Added a bandit.datasets submodule, which is meant to contain contextual bandit datasets.
  • Added bandit.base.ContextualPolicy.
  • Added bandit.datasets.NewsArticles.
  • Added bandit.LinUCBDisjoint, which is River's first contextual bandit policy.
  • Added bandit.RandomPolicy.
"},{"location":"releases/0.19.0/#compose","title":"compose","text":"
  • Removed the compose.warm_up_mode context manager.
  • Removed the compose.pure_inference_mode context manager.
  • The last step of a pipeline will be correctly updated if it is unsupervised, which wasn't the case before.
  • Fixed an edge-case where compose.TransformerProduct would not work when chained more than twice.
"},{"location":"releases/0.19.0/#drift","title":"drift","text":"
  • Added a datasets submodule, which contains datasets that are useful for concept drift experiments.
  • Fix bugs in drift.binary.HDDM_A and drift.binary.HDDM_W.
"},{"location":"releases/0.19.0/#linear_model","title":"linear_model","text":"
  • Added a predict_many method to linear_model.BayesianLinearRegression.
  • Added a smoothing parameter to linear_model.BayesianLinearRegression, which allows it to cope with concept drift.
"},{"location":"releases/0.19.0/#forest","title":"forest","text":"
  • Fixed issue with forest.ARFClassifier which couldn't be passed a CrossEntropy metric.
  • Fixed a bug in forest.AMFClassifier which slightly improves predictive accurary.
  • Added forest.AMFRegressor.
"},{"location":"releases/0.19.0/#multioutput","title":"multioutput","text":"
  • Added metrics.multioutput.SampleAverage, which is equivalent to using average='samples' in scikit-learn.
"},{"location":"releases/0.19.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.OrdinalEncoder, to map string features to integers.
  • The transform_many method of preprocessing.StandardScaler now uses the dtype of the input for the output.
"},{"location":"releases/0.19.0/#proba","title":"proba","text":"
  • Added proba.MultivariateGaussian.
"},{"location":"releases/0.19.0/#stream","title":"stream","text":"
  • stream.iter_arff now supports sparse data.
  • stream.iter_arff now supports multi-output targets.
  • stream.iter_arff now supports missing values indicated with question marks.
"},{"location":"releases/0.19.0/#utils","title":"utils","text":"
  • Added utils.random.exponential to retrieve random samples following an exponential distribution.
"},{"location":"releases/0.2.0/","title":"0.2.0 - 2019-05-27","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.2.0/#compose","title":"compose","text":"
  • compose.Pipeline now has a debug_one.
  • compose.Discard and compose.Select now take variadic inputs, which means you don't have to provide a list of features to exclude/include.
"},{"location":"releases/0.2.0/#datasets","title":"datasets","text":"
  • Added datasets.fetch_bikes
"},{"location":"releases/0.2.0/#feature_extraction","title":"feature_extraction","text":"
  • Classes that inherit from feature_extraction.VectorizerMixin can now directly be passed str instances instead of dict instances.
  • feature_extraction.Agg and feature_extraction.TargetAgg can now aggregate on multiple attributes.
"},{"location":"releases/0.2.0/#metrics","title":"metrics","text":"
  • Added RollingAccuracy
  • Added RollingCrossEntropy
  • Added RollingF1
  • Added RollingLogLoss
  • Added RollingMacroF1
  • Added RollingMacroPrecision
  • Added RollingMacroRecall
  • Added RollingMAE
  • Added RollingMicroF1
  • Added RollingMicroPrecision
  • Added RollingMicroRecall
  • Added RollingMSE
  • Added RollingPrecision
  • Added RollingRecall
  • Added RollingRMSE
  • Added RollingRMSLE
  • Added RollingSMAPE
"},{"location":"releases/0.2.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.online_qa_score.
"},{"location":"releases/0.2.0/#proba","title":"proba","text":"

The dist module has been renamed to proba and is now public, for the moment it contains a single distribution called proba.Gaussian.

"},{"location":"releases/0.2.0/#naive_bayes","title":"naive_bayes","text":"
  • Added naive_bayes.BernoulliNB.
  • Added naive_bayes.ComplementNB.
"},{"location":"releases/0.2.0/#optim","title":"optim","text":"
  • Added optim.AdaBound.
"},{"location":"releases/0.2.0/#tree","title":"tree","text":"
  • Added tree.DecisionTreeClassifier.
  • Removed tree.MondrianTreeClassifier and tree.MondrianTreeRegressor because their performance wasn't good enough.
"},{"location":"releases/0.2.0/#stats","title":"stats","text":"
  • Added stats.AutoCorrelation.
  • Added stats.EWVar.
  • Rename stats.Variance to stats.Var and stats.RollingVariance to stats.RollingVar.
"},{"location":"releases/0.2.0/#stream","title":"stream","text":"
  • Added stream.simulate_qa.
"},{"location":"releases/0.2.0/#utils","title":"utils","text":"
  • Added utils.SDFT.
  • Added utils.Skyline.
  • Renamed the window_size parameter to size in utils.Window and utils.SortedWindow.
"},{"location":"releases/0.20.0/","title":"0.20.0 - 2023-11-09","text":"
  • River's mini-batch methods now support pandas v2. In particular, River conforms to pandas' new sparse API.
  • Dropped support for Python 3.8.
  • Added support for Python 3.12.
"},{"location":"releases/0.20.0/#anomaly","title":"anomaly","text":"
  • Added api.anomaly.LocalOutlierFactor, which is an online version of the LOF algorithm for anomaly detection that matches the scikit-learn implementation.
  • Made score_one method of api.anomaly.LocalOutlierFactor stateless
  • Defined default score for uninitialized detector
  • Implementation of the api.anomaly.StandardAbsoluteDeviation algorithm, which is a uni-variate anomaly detection algorithm, based on the implementation in PySAD (Python Streaming Anomaly Detection)
"},{"location":"releases/0.20.0/#covariance","title":"covariance","text":"
  • Added _from_state method to covariance.EmpiricalCovariance to warm start from previous knowledge.
"},{"location":"releases/0.20.0/#clustering","title":"clustering","text":"
  • Add fixes to cluster.DBSTREAM algorithm, including:
  • Addition of the - sign before the fading_factor in accordance with the algorithm 2 proposed by Hashler and Bolanos (2016) to allow clusters with low weights to be removed.
  • The new micro_cluster is added with the key derived from the maximum key of the existing micro clusters. If the set of micro clusters is still empty (len = 0), a new micro cluster is added with key 0.
  • cluster_is_up_to_date is set to True at the end of the self._recluster() function.
  • Shared density graph update timestamps are initialized with the current timestamp value
  • neighbour_neighbours are appended correctly to the seed_set when generating cluster labels
  • When building weighted adjacency matrix the algorithm accounts for possibly orphaned entries in shared density graph
"},{"location":"releases/0.20.0/#datasets","title":"datasets","text":"
  • Added datasets.WebTraffic, which is a dataset that counts the occurrences of events on a website. It is a multi-output regression dataset with two outputs.
"},{"location":"releases/0.20.0/#drift","title":"drift","text":"
  • Add drift.NoDrift to allow disabling the drift detection capabilities of models. This detector does nothing and always returns False when queried whether or not a concept drift was detected.
"},{"location":"releases/0.20.0/#evaluate","title":"evaluate","text":"
  • Added a yield_predictions parameter to evaluate.iter_progressive_val_score, which allows including predictions in the output.
"},{"location":"releases/0.20.0/#forest","title":"forest","text":"
  • Simplify inner the structures of forest.ARFClassifier and forest.ARFRegressor by removing redundant class hierarchy. Simplify how concept drift logging can be accessed in individual trees and in the forest as a whole.
"},{"location":"releases/0.20.0/#metrics","title":"metrics","text":"
  • metrics.ConfusionMatrix may now be used with evaluate.progressive_val_score and evaluate.iter_progressive_val_score.
"},{"location":"releases/0.20.0/#proba","title":"proba","text":"
  • Added _from_state method to proba.MultivariateGaussian to warm start from previous knowledge.
"},{"location":"releases/0.20.0/#tree","title":"tree","text":"
  • Fix a bug in tree.splitter.NominalSplitterClassif that generated a mismatch between the number of existing tree branches and the number of tracked branches.
  • Fix a bug in tree.ExtremelyFastDecisionTreeClassifier where the split re-evaluation failed when the current branch's feature was not available as a split option. The fix also enables the tree to pre-prune a leaf via the tie-breaking mechanism.
"},{"location":"releases/0.20.0/#stats","title":"stats","text":"
  • Implementation of the incremental Kolmogorov-Smirnov statistics (at stats.KolmogorovSmirnov), with the option to calculate either the original KS or Kuiper's test.
"},{"location":"releases/0.20.0/#utils","title":"utils","text":"
  • Removed utils.dict2numpy and utils.numpy2dict functions. They were not used anywhere in the library.
  • utils.TimeRolling now works correctly if two samples with the same timestamp are added in a row.
"},{"location":"releases/0.20.1/","title":"0.20.1 - 2023-11-09","text":"

Dummy release to make wheels available. No actual difference with v0.20.0.

"},{"location":"releases/0.21.0/","title":"0.21.0 - 2023-12-04","text":"
  • The learn_one and learn_many methods of each estimator don't not return anything anymore. This is to emphasize that the estimators are stateful.
  • The update and revert method of classes that have also cease to return anything.
  • sample_weight has been renamed to w.
"},{"location":"releases/0.21.0/#covariance","title":"covariance","text":"
  • Fixed an issue where update_many would reset covariance.EmpiricalCovariance each time it was called.
"},{"location":"releases/0.21.1/","title":"0.21.1 - 2024-03-28","text":"

This release should fix some of the installation issues when building the River wheel from scratch.

"},{"location":"releases/0.21.1/#anomaly","title":"anomaly","text":"
  • Added PredictiveAnomalyDetection, a semi-supervised technique that employs a predictive model for anomaly detection.
"},{"location":"releases/0.21.1/#drift","title":"drift","text":"
  • Added FHDDM drift detector.
  • Added a iter_polars function to iterate over the rows of a polars DataFrame.
"},{"location":"releases/0.21.1/#neighbors","title":"neighbors","text":"
  • Simplified neighbors.SWINN to avoid recursion limit and pickling issues.
"},{"location":"releases/0.21.2/","title":"0.21.2 - 2024-07-08","text":"

This release makes Polars an optional dependency instead of a required one.

"},{"location":"releases/0.21.2/#cluster","title":"cluster","text":"
  • Added ODAC (Online Divisive-Agglomerative Clustering) for clustering time series.
"},{"location":"releases/0.21.2/#forest","title":"forest","text":"
  • Fix error in forest.ARFClassifer and forest.ARFRegressor where the algorithms would crash in case the number of features available for learning went below the value of the max_features parameter (#1560).
"},{"location":"releases/0.3.0/","title":"0.3.0 - 2019-06-23","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.3.0/#datasets","title":"datasets","text":"
  • Added datasets.load_chick_weights.
"},{"location":"releases/0.3.0/#decomposition","title":"decomposition","text":"
  • Added decomposition.LDA.
"},{"location":"releases/0.3.0/#ensemble","title":"ensemble","text":"
  • Added ensemble.HedgeRegressor.
  • Added ensemble.StackingBinaryClassifier.
"},{"location":"releases/0.3.0/#metrics","title":"metrics","text":"
  • Added metrics.FBeta
  • Added metrics.MacroFBeta
  • Added metrics.MicroFBeta
  • Added metrics.MultiFBeta
  • Added metrics.RollingFBeta
  • Added metrics.RollingMacroFBeta
  • Added metrics.RollingMicroFBeta
  • Added metrics.RollingMultiFBeta
  • Added metrics.Jaccard
  • Added metrics.RollingConfusionMatrix
  • Added metrics.RegressionMultiOutput
  • Added metrics.MCC
  • Added metrics.RollingMCC
  • Added metrics.ROCAUC
  • Renamed metrics.F1Score to metrics.F1.
"},{"location":"releases/0.3.0/#multioutput","title":"multioutput","text":"
  • Added multioutput.ClassifierChain.
  • Added multioutput.RegressorChain.
"},{"location":"releases/0.3.0/#optim","title":"optim","text":"
  • Added optim.QuantileLoss
  • Added optim.MiniBatcher.
"},{"location":"releases/0.3.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.Normalizer.
"},{"location":"releases/0.3.0/#proba","title":"proba","text":"
  • Added proba.Multinomial.
"},{"location":"releases/0.4.1/","title":"0.4.1 - 2019-10-23","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.4.1/#base","title":"base","text":"
  • Tests are now much more extensive, thanks mostly to the newly added estimator tags.
"},{"location":"releases/0.4.1/#compose","title":"compose","text":"
  • Added compose.Renamer.
"},{"location":"releases/0.4.1/#datasets","title":"datasets","text":"
  • Added fetch_kdd99_http.
  • Added fetch_sms.
  • Added fetch_trec07p.
"},{"location":"releases/0.4.1/#ensemble","title":"ensemble","text":"
  • Removed ensemble.HedgeBinaryClassifier because its performance was subpar.
  • Removed ensemble.GroupRegressor, as this should be a special case of ensemble.StackingRegressor.
"},{"location":"releases/0.4.1/#feature_extraction","title":"feature_extraction","text":"
  • Fixed a bug where feature_extraction.CountVectorizer and feature_extraction.TFIDFVectorizer couldn't be pickled.
"},{"location":"releases/0.4.1/#linear_model","title":"linear_model","text":"
  • linear_model.LogisticRegression and linear_model.LinearRegression now have an intercept_lr parameter.
"},{"location":"releases/0.4.1/#metrics","title":"metrics","text":"
  • Metrics can now be composed using the + operator, which is useful for evaluating multiple metrics at the same time.
  • Added metrics.Rolling, which eliminates the need for a specific rolling implementation for each metric.
  • Each metric can now be passed a sample_weight argument.
  • Added metrics.WeightedF1.
  • Added metrics.WeightedFBeta.
  • Added metrics.WeightedPrecision.
  • Added metrics.WeightedRecall.
"},{"location":"releases/0.4.1/#neighbors","title":"neighbors","text":"
  • Added neighbors.KNeighborsRegressor.
  • Added neighbors.KNeighborsClassifier.
"},{"location":"releases/0.4.1/#optim","title":"optim","text":"
  • Added optim.AdaMax.
  • The optim module has been reorganized into submodules; namely optim.schedulers, optim.initializers, and optim.losses. The top-level now only contains optimizers. Some classes have been renamed accordingly. See the documentation for details.
  • Renamed optim.VanillaSGD to optim.SGD.
"},{"location":"releases/0.4.1/#stats","title":"stats","text":"
  • Added stats.IQR.
  • Added stats.RollingIQR.
  • Cythonized stats.Mean and stats.Var.
"},{"location":"releases/0.4.1/#stream","title":"stream","text":"
  • Added stream.shuffle.
  • stream.iter_csv now has fraction and seed parameters to sample rows, deterministically or not.
  • Renamed stream.iter_numpy to stream.iter_array.
  • stream.iter_csv can now read from gzipped files.
"},{"location":"releases/0.4.1/#time_series","title":"time_series","text":"
  • time_series.Detrender now has a window_size parameter for detrending with a rolling mean.
"},{"location":"releases/0.4.1/#tree","title":"tree","text":"
  • Added tree.RandomForestClassifier.
"},{"location":"releases/0.4.1/#utils","title":"utils","text":"
  • Fixed a bug where utils.dot could take longer than necessary.
"},{"location":"releases/0.4.3/","title":"0.4.3 - 2019-10-27","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.4.3/#base","title":"base","text":"
  • Model that inherit from base.Wrapper (e.g. tree.RandomForestClassifier) can now be pickled.
"},{"location":"releases/0.4.3/#datasets","title":"datasets","text":"
  • Added datasets.fetch_credit_card.
"},{"location":"releases/0.4.3/#utils","title":"utils","text":"
  • Added the utils.math sub-module.
"},{"location":"releases/0.4.3/#tree","title":"tree","text":"
  • Fixed the debug_one method of tree.DecisionTreeClassifier.
"},{"location":"releases/0.4.4/","title":"0.4.4 - 2019-11-11","text":"
  • PyPI
  • GitHub

This release was mainly made to provide access to wheels <https://pythonwheels.com/>_ for Windows and MacOS.

"},{"location":"releases/0.4.4/#ensemble","title":"ensemble","text":"
  • Added ensemble.AdaBoostClassifier.
"},{"location":"releases/0.4.4/#linear_model","title":"linear_model","text":"
  • Added a clip_gradient parameter to linear_model.LinearRegression and linear_model.LogisticRegression. Gradient clipping was already implemented, but the maximum absolute value can now be set by the user.
  • The intercept_lr parameter of linear_model.LinearRegression and linear_model.LogisticRegression can now be passed an instance of optim.schedulers.Scheduler as well as a float.
"},{"location":"releases/0.4.4/#metrics","title":"metrics","text":"
  • Fixed metrics.SMAPE, the implementation was missing a multiplication by 2.
"},{"location":"releases/0.4.4/#optim","title":"optim","text":"
  • Added optim.schedulers.Optimal produces results that are identical to sklearn.linear_model.SGDRegressor and sklearn.linear_model.SGDClassifier when setting their learning_rate parameter to 'optimal'.
"},{"location":"releases/0.4.4/#time_series","title":"time_series","text":"
  • Added time_series.SNARIMAX, a generic model which encompasses well-known time series models such as ARIMA and NARX.
"},{"location":"releases/0.5.0/","title":"0.5.0 - 2020-03-13","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.5.0/#compat","title":"compat","text":"
  • Added compat.PyTorch2CremeRegressor.
  • compat.SKL2CremeRegressor and compat.SKL2CremeClassifier now have an optional batch_size parameter in order to perform mini-batching.
"},{"location":"releases/0.5.0/#compose","title":"compose","text":"
  • Renamed compose.Whitelister to compose.Select.
  • Renamed compose.Blacklister to compose.Discard.
"},{"location":"releases/0.5.0/#facto","title":"facto","text":"
  • Added facto.FFMClassifier.
  • Added facto.FFMRegressor.
  • Added facto.FwFMClassifier.
  • Added facto.FwFMRegressor.
  • Added facto.HOFMClassifier.
  • Added facto.HOFMRegressor.
  • Refactored facto.FMClassifier.
  • Refactored facto.FMRegressor.
"},{"location":"releases/0.5.0/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.PoissonInclusion.
  • Removed feature_selection.RandomDiscarder as it didn't make much sense.
"},{"location":"releases/0.5.0/#feature_extraction","title":"feature_extraction","text":"
  • Renamed feature_extraction.CountVectorizer to feature_extraction.BagOfWords.
  • Renamed feature_extraction.TFIDFVectorizer to feature_extraction.TFIDF.
  • Added preprocessor and ngram_range parameters to feature_extraction.BagOfWords.
  • Added preprocessor and ngram_range parameters to feature_extraction.TFIDF.
"},{"location":"releases/0.5.0/#datasets","title":"datasets","text":"
  • The datasets module has been overhauled. Each dataset is now a class (e.g. fetch_electricity has become datasets.Elec2).
  • Added datasets.TrumpApproval.
  • Added datasets.MaliciousURL.
  • Added datasets.gen.SEA.
  • Added datasets.Higgs.
  • Added datasets.MovieLens100K.
  • Added datasets.Bananas.
  • Added datasets.Taxis.
  • Added datasets.ImageSegments.
  • Added datasets.SMTP
"},{"location":"releases/0.5.0/#impute","title":"impute","text":"
  • Added impute.PreviousImputer.
"},{"location":"releases/0.5.0/#linear_model","title":"linear_model","text":"
  • linear_model.FMClassifier has been moved to the facto module.
  • linear_model.FMRegressor has been moved to the facto module.
  • Added linear_model.ALMAClassifier.
"},{"location":"releases/0.5.0/#metrics","title":"metrics","text":"
  • Added metrics.ClassificationReport.
  • Added metrics.TimeRolling.
  • The implementation of metrics.ROCAUC was incorrect. Using the trapezoidal rule instead of Simpson's rule seems to be more robust.
  • metrics.PerClass has been removed; it is recommended that you use metrics.ClassificationReport instead as it gives a better overview.
"},{"location":"releases/0.5.0/#meta","title":"meta","text":"
  • Moved meta.TransformedTargetRegressor and meta.BoxCoxRegressor to this module (they were previously in the compose module).
  • Added meta.PredClipper
"},{"location":"releases/0.5.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.expand_param_grid to generate a list of models from a grid of parameters.
  • Added the model_selection.successive_halving method for selecting hyperparameters.
  • The online_score and online_qa_score methods have been merged into a single method named model_selection.progressive_val_score.
"},{"location":"releases/0.5.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.RBFSampler.
  • Added preprocessing.MaxAbsScaler.
  • Added preprocessing.RobustScaler.
  • Added preprocessing.Binarizer.
  • Added with_mean and with_std parameters to preprocessing.StandardScaler.
"},{"location":"releases/0.5.0/#optim","title":"optim","text":"
  • Added optim.losses.BinaryFocalLoss.
  • Added the optim.AMSGrad optimizer.
  • Added the optim.Nadam optimizer.
  • Added optim.losses.Poisson.
  • Fixed a performance bug in optim.NesterovMomentum.
"},{"location":"releases/0.5.0/#reco","title":"reco","text":"
  • Added reco.FunkMF.
  • Renamed reco.SVD to reco.BiasedMF.
  • Renamed reco.SGDBaseline to reco.Baseline.
  • Models now expect a dict input with user and item fields.
"},{"location":"releases/0.5.0/#sampling","title":"sampling","text":"
  • Added sampling.RandomUnderSampler.
  • Added sampling.RandomOverSampler.
  • Added sampling.RandomSampler.
  • Added sampling.HardSamplingClassifier.
  • Added sampling.HardSamplingRegressor.
"},{"location":"releases/0.5.0/#stats","title":"stats","text":"
  • Added stats.AbsMax.
  • Added stats.RollingAbsMax.
"},{"location":"releases/0.5.0/#stream","title":"stream","text":"
  • Added stream.iter_libsvm.
  • stream.iter_csv now supports reading from '.zip' files.
  • Added stream.Cache.
  • Added a drop parameter to stream.iter_csv to discard fields.
"},{"location":"releases/0.5.1/","title":"0.5.1 - 2020-03-29","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.5.1/#compose","title":"compose","text":"
  • compose.Pipeline and compose.TransformerUnion now variadic arguments as input instead of a list. This doesn't change anything when using the shorthand operators | and +.
"},{"location":"releases/0.5.1/#model_selection","title":"model_selection","text":"
  • Removed model_selection.successive_halving
  • Added model_selection.SuccessiveHalvingRegressor and model_selection.SuccessiveHalvingClassifier
"},{"location":"releases/0.5.1/#stream","title":"stream","text":"
  • Added a copy parameter to stream.simulate_qa in order to handle unwanted feature modifications.
"},{"location":"releases/0.5.1/#tree","title":"tree","text":"
  • Added a curtail_under parameter to tree.DecisionTreeClassifier.
  • The speed and accuracy of both tree.DecisionTreeClassifier and tree.RandomForestClassifier has been slightly improved for numerical attributes.
  • The esthetics of the tree.DecisionTreeClassifier.draw method have been improved.
"},{"location":"releases/0.6.0/","title":"0.6.0 - 2020-06-09","text":""},{"location":"releases/0.6.0/#base","title":"base","text":"
  • Added a new base class called SupervisedTransformer from which supervised transformers inherit from. Before this, supervised transformers has a is_supervised property.
"},{"location":"releases/0.6.0/#compose","title":"compose","text":"
  • Added compose.SelectType, which allows selecting feature subsets based on their type.
  • Added a score_one method to compose.Pipeline so that estimators from the anomaly module can be pipelined.
  • Added compose.Grouper, which allows applying transformers within different subgroups.
"},{"location":"releases/0.6.0/#datasets","title":"datasets","text":"
  • Added datasets.Music, which is a dataset for multi-output binary classification.
  • Added datasets.synth.Friedman, which is synthetic regression dataset.
  • The datasets.gen module has been renamed to datasets.synth
  • Each dataset now has a __repr__ method which displays some descriptive information.
  • Added datasets.Insects, which has 10 variants.
"},{"location":"releases/0.6.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.Differ has been deprecated. We might put it back in a future if we find a better design.
"},{"location":"releases/0.6.0/#impute","title":"impute","text":"
  • impute.StatImputer has been completely refactored.
"},{"location":"releases/0.6.0/#metrics","title":"metrics","text":"
  • In metrics.SMAPE, instead of raising a ZeroDivisionError, the convention is now to use 0 when both y_true and y_pred are equal to 0.
"},{"location":"releases/0.6.0/#model_selection","title":"model_selection","text":"
  • Added the possibility to configure how the progress is printed in model_selection.progressive_val_score. For instance, the progress can now be printed to a file by providing the file argument.
"},{"location":"releases/0.6.0/#multiclass","title":"multiclass","text":"
  • Added multiclass.OutputCodeClassifier.
  • Added multiclass.OneVsOneClassifier.
"},{"location":"releases/0.6.0/#multioutput","title":"multioutput","text":"
  • Fixed a bug where multioutput.ClassifierChain and multioutput.RegressorChain could not be pickled.
"},{"location":"releases/0.6.0/#stats","title":"stats","text":"
  • Added stats.Shift, which can be used to compute statistics over a shifted version of a variable.
  • Added stats.Link, which can be used to compose univariate statistics. Univariate statistics can now be composed via the | operator.
  • Renamed stats.Covariance to stats.Cov.
  • Renamed stats.PearsonCorrelation to stats.PearsonCorr.
  • Renamed stats.AutoCorrelation to stats.AutoCorr.
  • Added stats.RollingCov, which computes covariance between two variables over a window.
  • Added stats.RollingPearsonCorr, which computes the Pearson correlation over a window.
"},{"location":"releases/0.6.0/#stream","title":"stream","text":"
  • Added a stream.iter_sql utility method to work with SQLAlchemy.
  • The target_name parameter of stream.iter_csv has been renamed to target. It can now be passed a list of values in order to support multi-output scenarios.
  • Added stream.iter_arff for handling ARFF files.
"},{"location":"releases/0.6.0/#tree","title":"tree","text":"
  • Cancelled the behavior where tree.DecisionTreeRegressor would raise an exception when no split was found.
"},{"location":"releases/0.6.1/","title":"0.6.1 - 2020-06-10","text":""},{"location":"releases/0.6.1/#compose","title":"compose","text":"
  • Fixed a bug that occurred when part of a compose.Transformer was a compose.Pipeline and wasn't properly handled.
"},{"location":"releases/0.7.0/","title":"0.7.0 - 2021-04-16","text":"

Alas, no release notes for this one.

"},{"location":"releases/0.7.1/","title":"0.7.1 - 2021-06-13","text":"

Fixed an issue where scikit-learn was imported in sam_knn.py but wasn't specified as a dependency.

"},{"location":"releases/0.7.1/#expert","title":"expert","text":"
  • Each expert model will now raise a NotEnoughModels exception if only a single model is passed.
"},{"location":"releases/0.7.1/#stream","title":"stream","text":"
  • Added drop_nones parameter to stream.iter_csv.
"},{"location":"releases/0.8.0/","title":"0.8.0 - 2021-08-31","text":""},{"location":"releases/0.8.0/#base","title":"base","text":"
  • The predict_many and predict_proba_many methods have been removed from base.Classifier. They're part of base.MiniBatchClassifier.
"},{"location":"releases/0.8.0/#ensemble","title":"ensemble","text":"
  • Implemented ensemble.VotingClassifier.
  • Implemented ensemble.SRPRegressor.
"},{"location":"releases/0.8.0/#meta","title":"meta","text":"
  • Renamed meta.TransformedTargetRegressor to meta.TargetTransformRegressor.
  • Added meta.TargetStandardScaler.
"},{"location":"releases/0.8.0/#preprocessing","title":"preprocessing","text":"
  • Added a with_std parameter to StandardScaler.
"},{"location":"releases/0.8.0/#rules","title":"rules","text":"
  • Added rules.AMRules
"},{"location":"releases/0.8.0/#stats","title":"stats","text":"
  • Make stats.RollingQuantile match the default behavior of Numpy's quantile function.
"},{"location":"releases/0.8.0/#tree","title":"tree","text":"
  • Unifed base class structure applied to all tree models.
  • Bug fixes.
  • Added tree.SGTClassifier and tree.SGTRegressor.
"},{"location":"releases/0.9.0/","title":"0.9.0 - 2021-11-30","text":"
  • Wheels for Python 3.6 have been dropped.
  • Wheels for Python 3.9 have been added.
"},{"location":"releases/0.9.0/#anomaly","title":"anomaly","text":"
  • Moved api.anomaly.base.AnomalyDetector to anomaly.AnomalyDetector.
  • Implemented anomaly.ConstantThresholder.
  • Implemented anomaly.QuantileThresholder.
  • Implemented api.anomaly.OneClassSVM.
"},{"location":"releases/0.9.0/#base","title":"base","text":"
  • Renamed base.WrapperMixin to base.Wrapper.
  • Introduced base.WrapperEnsemble.
  • Clarified the difference between a base.typing.Dataset and a base.typing.Stream. A Stream is an instance of a Dataset and is stateful. A Dataset is stateless. It's essentially the same difference between an Iterable and an Iterator in the Python standard library.
"},{"location":"releases/0.9.0/#compat","title":"compat","text":"
  • Added compat.PyTorch2RiverClassifier
  • Implemented median absolute deviation in stats.MAD.
  • Refactored compat.PyTorch2RiverRegressor
  • Fixed an issue where some statistics could not be printed if they had not seen any data yet.
"},{"location":"releases/0.9.0/#compose","title":"compose","text":"
  • You can now use a list as a shorthand to build a TransformerUnion.
  • Fixed a visualization issue when using a pipeline with multiple feature unions.
  • The prejudiced terms blacklist and whitelist have both been renamed to keys.
  • Removed learn_unsupervised parameter from pipeline methods.
  • Implemented compose.TransformerProduct.
"},{"location":"releases/0.9.0/#datasets","title":"datasets","text":"
  • Added datasets.Keystroke.
"},{"location":"releases/0.9.0/#ensemble","title":"ensemble","text":"
  • Bug fixes in ensemble.SRPClassifier and ensemble.SRPRegressor.
  • Some estimators have been moved into the ensemble module.
"},{"location":"releases/0.9.0/#feature_extraction","title":"feature_extraction","text":"
  • Implemented feature_extraction.Lagger.
  • Implemented feature_extraction.TargetLagger.
"},{"location":"releases/0.9.0/#meta","title":"meta","text":"

This module has been deleted.

  • Move meta.PredClipper to the preprocessing module.
  • Removed meta.BoxCoxRegressor.
  • Moved meta.TargetTransformRegressor to compose.TargetTransformRegressor.
  • Moved meta.TargetStandardScaler to preprocessing.TargetStandardScaler.
"},{"location":"releases/0.9.0/#model_selection","title":"model_selection","text":"
  • This new module replaces the expert module.
  • Implemented model_selection.GreedyRegressor.
  • Added ModelSelector base class.
"},{"location":"releases/0.9.0/#optim","title":"optim","text":"
  • optim.Adam and optim.RMSProp now work with utils.VectorDicts as well as numpy.ndarrays.
  • Added optim.losses.Huber.
"},{"location":"releases/0.9.0/#preprocessing","title":"preprocessing","text":"
  • Enabled preprocessing.OneHotEncoder to one-hot encode values that are list or sets.
"},{"location":"releases/0.9.0/#reco","title":"reco","text":"
  • Added a debug_one method to reco.FMRegressor.
"},{"location":"releases/0.9.0/#selection","title":"selection","text":"
  • This new module replaces the expert module.
  • Implemented selection.GreedyExpertRegressor.
"},{"location":"releases/0.9.0/#stats","title":"stats","text":"
  • Fixed an issue where some statistics could not be printed if they had not seen any data yet.
  • Implemented median absolute deviation in stats.MAD.
  • The stats.Mean and stats.Var implementations have been made more numerically stable.
"},{"location":"releases/0.9.0/#time_series","title":"time_series","text":"
  • time_series.Detrender and time_series.GroupDetrender have been removed as they overlap with preprocessing.TargetStandardScaler.
  • Implemented a time_series.evaluate method, which performs progressive validation for time series scenarios.
  • Implemented time_series.HorizonMetric class to evaluate the performance of a forecasting model at each time step along a horizon.
  • Implemented time_series.HoltWinters.
"},{"location":"releases/0.9.0/#utils","title":"utils","text":"
  • Moved model_selection.expand_param_grid to utils.expand_param_grid.
  • Added utils.poisson.
  • Added the utils.log_method_calls context manager.
  • Added the utils.warm_up_mode context manager.
  • Added the utils.pure_inference_model context manager.
"},{"location":"releases/unreleased/","title":"Unreleased","text":"
  • The units used in River have been corrected to be based on powers of 2 (KiB, MiB). This only changes the display, the behaviour is unchanged.
"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"api/overview/","title":"Overview","text":""},{"location":"api/overview/#active","title":"active","text":"

Online active learning.

  • EntropySampler
"},{"location":"api/overview/#base","title":"base","text":"
  • ActiveLearningClassifier
"},{"location":"api/overview/#anomaly","title":"anomaly","text":"

Anomaly detection.

Estimators in the anomaly module have a bespoke API. Each anomaly detector has a score_one method instead of a predict_one method. This method returns an anomaly score. Normal observations should have a low score, whereas anomalous observations should have a high score. The range of the scores is relative to each estimator.

Anomaly detectors are usually unsupervised, in that they analyze the distribution of the features they are shown. But River also has a notion of supervised anomaly detectors. These analyze the distribution of a target variable, and optionally include the distribution of the features as well. They are useful for detecting labelling anomalies, which can be detrimental if they learned by a model.

  • GaussianScorer
  • HalfSpaceTrees
  • LocalOutlierFactor
  • OneClassSVM
  • PredictiveAnomalyDetection
  • QuantileFilter
  • StandardAbsoluteDeviation
  • ThresholdFilter
"},{"location":"api/overview/#base_1","title":"base","text":"
  • AnomalyDetector
  • AnomalyFilter
  • SupervisedAnomalyDetector
"},{"location":"api/overview/#bandit","title":"bandit","text":"

Multi-armed bandit (MAB) policies.

The bandit policies in River have a generic API. This allows them to be used in a variety of situations. For instance, they can be used for model selection (see model_selection.BanditRegressor).

Classes

  • BayesUCB
  • EpsilonGreedy
  • Exp3
  • LinUCBDisjoint
  • RandomPolicy
  • ThompsonSampling
  • UCB

Functions

  • evaluate
  • evaluate_offline
"},{"location":"api/overview/#base_2","title":"base","text":"
  • ContextualPolicy
  • Policy
"},{"location":"api/overview/#datasets","title":"datasets","text":"
  • BanditDataset
  • NewsArticles
"},{"location":"api/overview/#envs","title":"envs","text":"
  • CandyCaneContest
  • KArmedTestbed
"},{"location":"api/overview/#base_3","title":"base","text":"

Base interfaces.

Every estimator in River is a class, and as such inherits from at least one base interface. These are used to categorize, organize, and standardize the many estimators that River contains.

This module contains mixin classes, which are all suffixed by Mixin. Their purpose is to provide additional functionality to an estimator, and thus need to be used in conjunction with a non-mixin base class.

This module also contains utilities for type hinting and tagging estimators.

  • Base
  • BinaryDriftAndWarningDetector
  • BinaryDriftDetector
  • Classifier
  • Clusterer
  • DriftAndWarningDetector
  • DriftDetector
  • Ensemble
  • Estimator
  • MiniBatchClassifier
  • MiniBatchRegressor
  • MiniBatchSupervisedTransformer
  • MiniBatchTransformer
  • MultiLabelClassifier
  • MultiTargetRegressor
  • Regressor
  • SupervisedTransformer
  • Transformer
  • Wrapper
  • WrapperEnsemble
"},{"location":"api/overview/#cluster","title":"cluster","text":"

Unsupervised clustering.

  • CluStream
  • DBSTREAM
  • DenStream
  • KMeans
  • ODAC
  • STREAMKMeans
  • TextClust
"},{"location":"api/overview/#compat","title":"compat","text":"

Compatibility tools.

This module contains adapters for making River estimators compatible with other libraries, and vice-versa whenever possible. The relevant adapters will only be usable if you have installed the necessary library. For instance, you have to install scikit-learn in order to use the compat.convert_sklearn_to_river function.

Classes

  • River2SKLClassifier
  • River2SKLClusterer
  • River2SKLRegressor
  • River2SKLTransformer
  • SKL2RiverClassifier
  • SKL2RiverRegressor

Functions

  • convert_river_to_sklearn
  • convert_sklearn_to_river
"},{"location":"api/overview/#compose","title":"compose","text":"

Model composition.

This module contains utilities for merging multiple modeling steps into a single pipeline. Although pipelines are not the only way to process a stream of data, we highly encourage you to use them.

Classes

  • Discard
  • FuncTransformer
  • Grouper
  • Pipeline
  • Prefixer
  • Renamer
  • Select
  • SelectType
  • Suffixer
  • TargetTransformRegressor
  • TransformerProduct
  • TransformerUnion

Functions

  • learn_during_predict
"},{"location":"api/overview/#conf","title":"conf","text":"

Conformal predictions. This modules contains wrappers to enable conformal predictions on any regressor or classifier.

  • Interval
  • RegressionJackknife
"},{"location":"api/overview/#covariance","title":"covariance","text":"

Online estimation of covariance and precision matrices.

  • EmpiricalCovariance
  • EmpiricalPrecision
"},{"location":"api/overview/#datasets_1","title":"datasets","text":"

Datasets.

This module contains a collection of datasets for multiple tasks: classification, regression, etc. The data corresponds to popular datasets and are conveniently wrapped to easily iterate over the data in a stream fashion. All datasets have fixed size. Please refer to river.synth if you are interested in infinite synthetic data generators.

Regression

Name Samples Features AirlinePassengers 144 1 Bikes 182,470 8 ChickWeights 578 3 MovieLens100K 100,000 10 Restaurants 252,108 7 Taxis 1,458,644 8 TrumpApproval 1,001 6 WaterFlow 1,268 1

Binary classification

Name Samples Features Sparse Bananas 5,300 2 CreditCard 284,807 30 Elec2 45,312 8 Higgs 11,000,000 28 HTTP 567,498 3 MaliciousURL 2,396,130 3,231,961 \u2714\ufe0f Phishing 1,250 9 SMSSpam 5,574 1 SMTP 95,156 3 TREC07 75,419 5

Multi-class classification

Name Samples Features Classes ImageSegments 2,310 18 7 Insects 52,848 33 6 Keystroke 20,400 31 51

Multi-output binary classification

Name Samples Features Outputs Music 593 72 6

Multi-output regression

Name Samples Features Outputs SolarFlare 1,066 10 3 WebTraffic 44,160 3 2"},{"location":"api/overview/#base_4","title":"base","text":"
  • Dataset
  • FileDataset
  • RemoteDataset
  • SyntheticDataset
"},{"location":"api/overview/#synth","title":"synth","text":"

Synthetic datasets.

Each synthetic dataset is a stream generator. The benefit of using a generator is that they do not store the data and each data sample is generated on the fly. Except for a couple of methods, the majority of these methods are infinite data generators.

Binary classification

Name Features Agrawal 9 AnomalySine 2 ConceptDriftStream 9 Hyperplane 10 Mixed 4 SEA 3 Sine 2 STAGGER 3

Regression

Name Features Friedman 10 FriedmanDrift 10 Mv 10 Planes2D 10

Multi-class classification

Name Features Classes LED 7 10 LEDDrift 7 10 RandomRBF 10 2 RandomRBFDrift 10 2 RandomTree 10 2 Waveform 21 3

Multi-output binary classification

Name Features Outputs Logical 2 3"},{"location":"api/overview/#drift","title":"drift","text":"

Concept Drift Detection.

This module contains concept drift detection methods. The purpose of a drift detector is to raise an alarm if the data distribution changes. A good drift detector method is the one that maximizes the true positives while keeping the number of false positives to a minimum.

  • ADWIN
  • DriftRetrainingClassifier
  • DummyDriftDetector
  • KSWIN
  • NoDrift
  • PageHinkley
"},{"location":"api/overview/#binary","title":"binary","text":"

Drift detection for binary data.

  • DDM
  • EDDM
  • FHDDM
  • HDDM_A
  • HDDM_W
"},{"location":"api/overview/#datasets_2","title":"datasets","text":"
  • AirlinePassengers
  • Apple
  • Bitcoin
  • BrentSpotPrice
  • Occupancy
  • RunLog
  • UKCoalEmploy
"},{"location":"api/overview/#dummy","title":"dummy","text":"

Dummy estimators.

This module is here for testing purposes, as well as providing baseline performances.

  • NoChangeClassifier
  • PriorClassifier
  • StatisticRegressor
"},{"location":"api/overview/#ensemble","title":"ensemble","text":"

Ensemble learning.

Broadly speaking, there are two kinds of ensemble approaches. There are those that copy a single model several times and aggregate the predictions of said copies. This includes bagging as well as boosting. Then there are those that are composed of an arbitrary list of models, and can therefore aggregate predictions from different kinds of models.

  • ADWINBaggingClassifier
  • ADWINBoostingClassifier
  • AdaBoostClassifier
  • BOLEClassifier
  • BaggingClassifier
  • BaggingRegressor
  • EWARegressor
  • LeveragingBaggingClassifier
  • SRPClassifier
  • SRPRegressor
  • StackingClassifier
  • VotingClassifier
"},{"location":"api/overview/#evaluate","title":"evaluate","text":"

Model evaluation.

This module provides utilities to evaluate an online model. The goal is to reproduce a real-world scenario with high fidelity. The core function of this module is progressive_val_score, which allows to evaluate a model via progressive validation.

This module also exposes \"tracks\". A track is a predefined combination of a dataset and one or more metrics. This allows a principled manner to compare models with each other. For instance, the RegressionTrack contains several datasets and metrics to evaluate regression models. There is also a bare Track class to implement a custom track. The benchmarks directory at the root of the River repository uses these tracks.

Classes

  • BinaryClassificationTrack
  • MultiClassClassificationTrack
  • RegressionTrack
  • Track

Functions

  • iter_progressive_val_score
  • progressive_val_score
"},{"location":"api/overview/#facto","title":"facto","text":"

Factorization machines.

  • FFMClassifier
  • FFMRegressor
  • FMClassifier
  • FMRegressor
  • FwFMClassifier
  • FwFMRegressor
  • HOFMClassifier
  • HOFMRegressor
"},{"location":"api/overview/#feature_extraction","title":"feature_extraction","text":"

Feature extraction.

This module can be used to extract information from raw features. This includes encoding categorical data as well as looking at interactions between existing features. This differs from the preprocessing module, in that the latter's purpose is rather to clean the data so that it may be processed by a particular machine learning algorithm.

  • Agg
  • BagOfWords
  • PolynomialExtender
  • RBFSampler
  • TFIDF
  • TargetAgg
"},{"location":"api/overview/#feature_selection","title":"feature_selection","text":"

Feature selection.

  • PoissonInclusion
  • SelectKBest
  • VarianceThreshold
"},{"location":"api/overview/#forest","title":"forest","text":"

This module implements forest-based classifiers and regressors.

  • AMFClassifier
  • AMFRegressor
  • ARFClassifier
  • ARFRegressor
  • OXTRegressor
"},{"location":"api/overview/#imblearn","title":"imblearn","text":"

Sampling methods.

  • ChebyshevOverSampler
  • ChebyshevUnderSampler
  • HardSamplingClassifier
  • HardSamplingRegressor
  • RandomOverSampler
  • RandomSampler
  • RandomUnderSampler
"},{"location":"api/overview/#linear_model","title":"linear_model","text":"

Linear models.

  • ALMAClassifier
  • BayesianLinearRegression
  • LinearRegression
  • LogisticRegression
  • PAClassifier
  • PARegressor
  • Perceptron
  • SoftmaxRegression
"},{"location":"api/overview/#base_5","title":"base","text":"
  • GLM
"},{"location":"api/overview/#metrics","title":"metrics","text":"

Evaluation metrics.

All the metrics are updated one sample at a time. This way we can track performance of predictive methods over time.

Note that all metrics have a revert method, enabling them to be wrapped in utils.Rolling. This allows computirng rolling metrics:

from river import metrics, utils\n\ny_true = [True, False, True, True]\ny_pred = [False, False, True, True]\n\nmetric = utils.Rolling(metrics.Accuracy(), window_size=3)\n\nfor yt, yp in zip(y_true, y_pred):\n    print(metric.update(yt, yp))\n
Accuracy: 0.00%\nAccuracy: 50.00%\nAccuracy: 66.67%\nAccuracy: 100.00%\n
  • Accuracy
  • AdjustedMutualInfo
  • AdjustedRand
  • BalancedAccuracy
  • ClassificationReport
  • CohenKappa
  • Completeness
  • ConfusionMatrix
  • CrossEntropy
  • F1
  • FBeta
  • FowlkesMallows
  • GeometricMean
  • Homogeneity
  • Jaccard
  • LogLoss
  • MAE
  • MAPE
  • MCC
  • MSE
  • MacroF1
  • MacroFBeta
  • MacroJaccard
  • MacroPrecision
  • MacroRecall
  • MicroF1
  • MicroFBeta
  • MicroJaccard
  • MicroPrecision
  • MicroRecall
  • MultiFBeta
  • MutualInfo
  • NormalizedMutualInfo
  • Precision
  • R2
  • RMSE
  • RMSLE
  • ROCAUC
  • Rand
  • Recall
  • RollingROCAUC
  • SMAPE
  • Silhouette
  • VBeta
  • WeightedF1
  • WeightedFBeta
  • WeightedJaccard
  • WeightedPrecision
  • WeightedRecall
"},{"location":"api/overview/#base_6","title":"base","text":"
  • BinaryMetric
  • ClassificationMetric
  • Metric
  • Metrics
  • MultiClassMetric
  • RegressionMetric
  • WrapperMetric
"},{"location":"api/overview/#multioutput","title":"multioutput","text":"

Metrics for multi-output learning.

  • ExactMatch
  • MacroAverage
  • MicroAverage
  • MultiLabelConfusionMatrix
  • PerOutput
  • SampleAverage
"},{"location":"api/overview/#base_7","title":"base","text":"
  • MultiOutputClassificationMetric
  • MultiOutputRegressionMetric
"},{"location":"api/overview/#misc","title":"misc","text":"

Miscellaneous.

This module essentially regroups some implementations that have nowhere else to go.

  • SDFT
  • Skyline
"},{"location":"api/overview/#model_selection","title":"model_selection","text":"

Model selection.

This module regroups a variety of methods that may be used for performing model selection. An model selector is provided with a list of models. These are called \"experts\" in the expert learning literature. The model selector's goal is to perform at least as well as the best model. Indeed, initially, the best model is not known. The performance of each model becomes more apparent as time goes by. Different strategies are possible, each one offering a different tradeoff in terms of accuracy and computational performance.

Model selection can be used for tuning the hyperparameters of a model. This may be done by creating a copy of the model for each set of hyperparameters, and treating each copy as a separate model. The utils.expand_param_grid function can be used for this purpose.

  • BanditClassifier
  • BanditRegressor
  • GreedyRegressor
  • SuccessiveHalvingClassifier
  • SuccessiveHalvingRegressor
"},{"location":"api/overview/#base_8","title":"base","text":"
  • ModelSelectionClassifier
  • ModelSelectionRegressor
"},{"location":"api/overview/#multiclass","title":"multiclass","text":"

Multi-class classification.

  • OneVsOneClassifier
  • OneVsRestClassifier
  • OutputCodeClassifier
"},{"location":"api/overview/#multioutput_1","title":"multioutput","text":"

Multi-output models.

  • ClassifierChain
  • MonteCarloClassifierChain
  • MultiClassEncoder
  • ProbabilisticClassifierChain
  • RegressorChain
"},{"location":"api/overview/#naive_bayes","title":"naive_bayes","text":"

Naive Bayes algorithms.

  • BernoulliNB
  • ComplementNB
  • GaussianNB
  • MultinomialNB
"},{"location":"api/overview/#neighbors","title":"neighbors","text":"

Neighbors-based learning.

Also known as lazy methods. In these methods, generalisation of the training data is delayed until a query is received.

  • KNNClassifier
  • KNNRegressor
  • LazySearch
  • SWINN
"},{"location":"api/overview/#neural_net","title":"neural_net","text":"

Neural networks.

  • MLPRegressor
"},{"location":"api/overview/#activations","title":"activations","text":"
  • Identity
  • ReLU
  • Sigmoid
"},{"location":"api/overview/#optim","title":"optim","text":"

Stochastic optimization.

  • AMSGrad
  • AdaBound
  • AdaDelta
  • AdaGrad
  • AdaMax
  • Adam
  • Averager
  • FTRLProximal
  • Momentum
  • Nadam
  • NesterovMomentum
  • RMSProp
  • SGD
"},{"location":"api/overview/#base_9","title":"base","text":"
  • Initializer
  • Loss
  • Optimizer
  • Scheduler
"},{"location":"api/overview/#initializers","title":"initializers","text":"

Weight initializers.

  • Constant
  • Normal
  • Zeros
"},{"location":"api/overview/#losses","title":"losses","text":"

Loss functions.

Each loss function is intended to work with both single values as well as numpy vectors.

  • Absolute
  • BinaryFocalLoss
  • BinaryLoss
  • Cauchy
  • CrossEntropy
  • EpsilonInsensitiveHinge
  • Hinge
  • Huber
  • Log
  • MultiClassLoss
  • Poisson
  • Quantile
  • RegressionLoss
  • Squared
"},{"location":"api/overview/#schedulers","title":"schedulers","text":"

Learning rate schedulers.

  • Constant
  • InverseScaling
  • Optimal
"},{"location":"api/overview/#preprocessing","title":"preprocessing","text":"

Feature preprocessing.

The purpose of this module is to modify an existing set of features so that they can be processed by a machine learning algorithm. This may be done by scaling numeric parts of the data or by one-hot encoding categorical features. The difference with the feature_extraction module is that the latter extracts new information from the data

  • AdaptiveStandardScaler
  • Binarizer
  • FeatureHasher
  • GaussianRandomProjector
  • LDA
  • MaxAbsScaler
  • MinMaxScaler
  • Normalizer
  • OneHotEncoder
  • OrdinalEncoder
  • PredClipper
  • PreviousImputer
  • RobustScaler
  • SparseRandomProjector
  • StandardScaler
  • StatImputer
  • TargetMinMaxScaler
  • TargetStandardScaler
"},{"location":"api/overview/#proba","title":"proba","text":"

Probability distributions.

  • Beta
  • Gaussian
  • Multinomial
  • MultivariateGaussian
"},{"location":"api/overview/#base_10","title":"base","text":"
  • BinaryDistribution
  • ContinuousDistribution
  • DiscreteDistribution
  • Distribution
"},{"location":"api/overview/#reco","title":"reco","text":"

Recommender systems module.

Recommender systems (recsys for short) is a large topic. This module is far from comprehensive. It simply provides models which can contribute towards building a recommender system.

A typical recommender system is made up of a retrieval phase, followed by a ranking phase. The output of the retrieval phase is a shortlist of the catalogue of items. The items in the shortlist are then usually ranked according to the expected preference the user will have for each item. This module focuses on the ranking phase.

Models which inherit from the Ranker class have a rank method. This allows sorting a set of items for a given user. Each model also has a learn_one(user, item, y, context) which allows learning user preferences. The y parameter is a reward value, the nature of which depends is specific to each and every recommendation task. Typically the reward is a number or a boolean value. It is up to the user to determine how to translate a user session into training data.

  • Baseline
  • BiasedMF
  • FunkMF
  • RandomNormal
"},{"location":"api/overview/#base_11","title":"base","text":"
  • Ranker
"},{"location":"api/overview/#rules","title":"rules","text":"

Decision rules-based algorithms.

  • AMRules
"},{"location":"api/overview/#sketch","title":"sketch","text":"

Data containers and collections for sequential data.

This module has summary and sketch structures that operate with constrained amounts of memory and processing time.

  • Counter
  • HeavyHitters
  • Histogram
  • Set
"},{"location":"api/overview/#stats","title":"stats","text":"

Running statistics

  • AbsMax
  • AutoCorr
  • BayesianMean
  • Count
  • Cov
  • EWMean
  • EWVar
  • Entropy
  • IQR
  • KolmogorovSmirnov
  • Kurtosis
  • Link
  • MAD
  • Max
  • Mean
  • Min
  • Mode
  • NUnique
  • PeakToPeak
  • PearsonCorr
  • Quantile
  • RollingAbsMax
  • RollingIQR
  • RollingMax
  • RollingMin
  • RollingMode
  • RollingPeakToPeak
  • RollingQuantile
  • SEM
  • Shift
  • Skew
  • Sum
  • Var
"},{"location":"api/overview/#base_12","title":"base","text":"
  • Bivariate
  • Univariate
"},{"location":"api/overview/#stream","title":"stream","text":"

Streaming utilities.

The module includes tools to iterate over data streams.

Classes

  • Cache
  • TwitchChatStream
  • TwitterLiveStream

Functions

  • iter_arff
  • iter_array
  • iter_csv
  • iter_libsvm
  • iter_pandas
  • iter_polars
  • iter_sklearn_dataset
  • iter_sql
  • shuffle
  • simulate_qa
"},{"location":"api/overview/#time_series","title":"time_series","text":"

Time series forecasting.

Classes

  • ForecastingMetric
  • HoltWinters
  • HorizonAggMetric
  • HorizonMetric
  • SNARIMAX

Functions

  • evaluate
  • iter_evaluate
"},{"location":"api/overview/#base_13","title":"base","text":"
  • Forecaster
"},{"location":"api/overview/#tree","title":"tree","text":"

This module implements incremental Decision Tree (iDT) algorithms for handling classification and regression tasks.

Each family of iDT will be presented in a dedicated section.

At any moment, iDT might face situations where an input feature previously used to make a split decision is missing in an incoming sample. In this case, the most traversed path is selected to pass down the instance. Moreover, in the case of nominal features, if a new category arises and the feature is used in a decision node, a new branch is created to accommodate the new value.

1. Hoeffding Trees

This family of iDT algorithms use the Hoeffding Bound to determine whether or not the incrementally computed best split candidates would be equivalent to the ones obtained in a batch-processing fashion.

All the available Hoeffding Tree (HT) implementation share some common functionalities:

  • Set the maximum tree depth allowed (max_depth).

  • Handle Active and Inactive nodes: Active learning nodes update their own internal state to improve predictions and monitor input features to perform split attempts. Inactive learning nodes do not update their internal state and only keep the predictors; they are used to save memory in the tree (max_size).

  • Enable/disable memory management.

  • Define strategies to sort leaves according to how likely they are going to be split. This enables deactivating non-promising leaves to save memory.

  • Disabling \u2018poor\u2019 attributes to save memory and speed up tree construction. A poor attribute is an input feature whose split merit is much smaller than the current best candidate. Once a feature is disabled, the tree stops saving statistics necessary to split such a feature.

  • Define properties to access leaf prediction strategies, split criteria, and other relevant characteristics.

2. Stochastic Gradient Trees

Stochastic Gradient Trees (SGT) directly optimize a loss function, rather than relying on split heuristics to guide the tree growth. F-tests are performed do decide whether a leaf should be expanded or its prediction value should be updated.

SGTs can deal with binary classification and single-target regression. They also support dynamic and static feature quantizers to deal with numerical inputs.

  • ExtremelyFastDecisionTreeClassifier
  • HoeffdingAdaptiveTreeClassifier
  • HoeffdingAdaptiveTreeRegressor
  • HoeffdingTreeClassifier
  • HoeffdingTreeRegressor
  • SGTClassifier
  • SGTRegressor
  • iSOUPTreeRegressor
"},{"location":"api/overview/#base_14","title":"base","text":"

This module defines generic branch and leaf implementations. These should be used in River by each tree-based model. Using these classes makes the code more DRY. The only exception for not doing so would be for performance, whereby a tree-based model uses a bespoke implementation.

This module defines a bunch of methods to ease the manipulation and diagnostic of trees. Its intention is to provide utilities for walking over a tree and visualizing it.

  • Branch
  • Leaf
"},{"location":"api/overview/#splitter","title":"splitter","text":"

This module implements the Attribute Observers (AO) (or tree splitters) that are used by the Hoeffding Trees (HT). It also implements the feature quantizers (FQ) used by Stochastic Gradient Trees (SGT). AOs are a core aspect of the HTs construction, and might represent one of the major bottlenecks when building the trees. The same holds for SGTs and FQs. The correct choice and setup of a splitter might result in significant differences in the running time and memory usage of the incremental decision trees.

AOs for classification and regression trees can be differentiated by using the property is_target_class (True for splitters designed to classification tasks). An error will be raised if one tries to use a classification splitter in a regression tree and vice-versa. Lastly, AOs cannot be used in SGT and FQs cannot be used in Hoeffding Trees. So, care must be taken when choosing the correct feature splitter.

  • DynamicQuantizer
  • EBSTSplitter
  • ExhaustiveSplitter
  • GaussianSplitter
  • HistogramSplitter
  • QOSplitter
  • Quantizer
  • Splitter
  • StaticQuantizer
  • TEBSTSplitter
"},{"location":"api/overview/#utils","title":"utils","text":"

Shared utility classes and functions

Classes

  • Rolling
  • SortedWindow
  • TimeRolling
  • VectorDict

Functions

  • expand_param_grid
  • log_method_calls
"},{"location":"api/overview/#math","title":"math","text":"

Mathematical utility functions (intended for internal purposes).

A lot of this is experimental and has a high probability of changing in the future.

  • argmax
  • chain_dot
  • clamp
  • dot
  • dotvecmat
  • log_sum_2_exp
  • matmul2d
  • minkowski_distance
  • norm
  • outer
  • prod
  • sherman_morrison
  • sigmoid
  • sign
  • softmax
  • woodbury_matrix
"},{"location":"api/overview/#norm","title":"norm","text":"
  • normalize_values_in_dict
  • scale_values_in_dict
"},{"location":"api/overview/#pretty","title":"pretty","text":"

Helper functions for making things readable by humans.

  • humanize_bytes
  • print_table
"},{"location":"api/overview/#random","title":"random","text":"
  • exponential
  • poisson
"},{"location":"api/active/EntropySampler/","title":"EntropySampler","text":"

Active learning classifier based on entropy measures.

The entropy sampler selects samples for labeling based on the entropy of the prediction. The higher the entropy, the more likely the sample will be selected for labeling. The entropy measure is normalized to [0, 1] and then raised to the power of the discount factor.

"},{"location":"api/active/EntropySampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    The classifier to wrap.

  • discount_factor

    Type \u2192 float

    Default \u2192 3

    The discount factor to apply to the entropy measure. A value of 1 won't affect the entropy. The higher the discount factor, the more the entropy will be discounted, and the less likely samples will be selected for labeling. A value of 0 will select all samples for labeling. The discount factor is thus a way to control how many samples are selected for labeling.

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/active/EntropySampler/#examples","title":"Examples","text":"

from river import active\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.SMSSpam()\nmetric = metrics.Accuracy()\nmodel = (\n    feature_extraction.TFIDF(on='body') |\n    linear_model.LogisticRegression()\n)\nmodel = active.EntropySampler(model, seed=42)\n\nn_samples_used = 0\nfor x, y in dataset:\n    y_pred, ask = model.predict_one(x)\n    metric.update(y, y_pred)\n    if ask:\n        n_samples_used += 1\n        model.learn_one(x, y)\n\nmetric\n
Accuracy: 86.60%\n

dataset.n_samples, n_samples_used\n
(5574, 1921)\n

print(f\"{n_samples_used / dataset.n_samples:.2%}\")\n
34.46%\n

"},{"location":"api/active/EntropySampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/active/base/ActiveLearningClassifier/","title":"ActiveLearningClassifier","text":"

Base class for active learning classifiers.

"},{"location":"api/active/base/ActiveLearningClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    The classifier to wrap.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/active/base/ActiveLearningClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for x and indicate whether a label is needed.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/anomaly/GaussianScorer/","title":"GaussianScorer","text":"

Univariate Gaussian anomaly detector.

This is a supervised anomaly detector. It fits a Gaussian distribution to the target values. The anomaly score is then computed as so:

\\[score = 2 \\mid CDF(y) - 0.5 \\mid\\]

This makes it so that the anomaly score is between 0 and 1.

"},{"location":"api/anomaly/GaussianScorer/#parameters","title":"Parameters","text":"
  • window_size

    Default \u2192 None

    Set this to fit the Gaussian distribution over a window of recent values.

  • grace_period

    Default \u2192 100

    Number of samples before which a 0 is always returned. This is handy because the Gaussian distribution needs time to stabilize, and will likely produce overly high anomaly score for the first samples.

"},{"location":"api/anomaly/GaussianScorer/#examples","title":"Examples","text":"

import random\nfrom river import anomaly\n\nrng = random.Random(42)\ndetector = anomaly.GaussianScorer()\n\nfor y in (rng.gauss(0, 1) for _ in range(100)):\n    detector.learn_one(None, y)\n\ndetector.score_one(None, -3)\n
0.999477...\n

detector.score_one(None, 3)\n
0.999153...\n

detector.score_one(None, 0)\n
0.052665...\n

detector.score_one(None, 0.5)\n
0.383717...\n

"},{"location":"api/anomaly/GaussianScorer/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/HalfSpaceTrees/","title":"HalfSpaceTrees","text":"

Half-Space Trees (HST).

Half-space trees are an online variant of isolation forests. They work well when anomalies are spread out. However, they do not work well if anomalies are packed together in windows.

By default, this implementation assumes that each feature has values that are comprised between 0 and 1. If this isn't the case, then you can manually specify the limits via the limits argument. If you do not know the limits in advance, then you can use a preprocessing.MinMaxScaler as an initial preprocessing step.

The current implementation builds the trees the first time the learn_one method is called. Therefore, the first learn_one call might be slow, whereas subsequent calls will be very fast in comparison. In general, the computation time of both learn_one and score_one scales linearly with the number of trees, and exponentially with the height of each tree.

Note that high scores indicate anomalies, whereas low scores indicate normal observations.

"},{"location":"api/anomaly/HalfSpaceTrees/#parameters","title":"Parameters","text":"
  • n_trees

    Default \u2192 10

    Number of trees to use.

  • height

    Default \u2192 8

    Height of each tree. Note that a tree of height h is made up of h + 1 levels and therefore contains 2 ** (h + 1) - 1 nodes.

  • window_size

    Default \u2192 250

    Number of observations to use for calculating the mass at each node in each tree.

  • limits

    Type \u2192 dict[base.typing.FeatureName, tuple[float, float]] | None

    Default \u2192 None

    Specifies the range of each feature. By default each feature is assumed to be in range [0, 1].

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed.

"},{"location":"api/anomaly/HalfSpaceTrees/#attributes","title":"Attributes","text":"
  • size_limit

    This is the threshold under which the node search stops during the scoring phase. The value .1 is a magic constant indicated in the original paper.

"},{"location":"api/anomaly/HalfSpaceTrees/#examples","title":"Examples","text":"

from river import anomaly\n\nX = [0.5, 0.45, 0.43, 0.44, 0.445, 0.45, 0.0]\nhst = anomaly.HalfSpaceTrees(\n    n_trees=5,\n    height=3,\n    window_size=3,\n    seed=42\n)\n\nfor x in X[:3]:\n    hst.learn_one({'x': x})  # Warming up\n\nfor x in X:\n    features = {'x': x}\n    hst.learn_one(features)\n    print(f'Anomaly score for x={x:.3f}: {hst.score_one(features):.3f}')\n
Anomaly score for x=0.500: 0.107\nAnomaly score for x=0.450: 0.071\nAnomaly score for x=0.430: 0.107\nAnomaly score for x=0.440: 0.107\nAnomaly score for x=0.445: 0.107\nAnomaly score for x=0.450: 0.071\nAnomaly score for x=0.000: 0.853\n

The feature values are all comprised between 0 and 1. This is what is assumed by the model by default. In the following example, we construct a pipeline that scales the data online and ensures that the values of each feature are comprised between 0 and 1.

from river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.HalfSpaceTrees(seed=42)\n)\n\nauc = metrics.ROCAUC()\n\nfor x, y in datasets.CreditCard().take(2500):\n    score = model.score_one(x)\n    model.learn_one(x)\n    auc.update(y, score)\n\nauc\n
ROCAUC: 91.15%\n

You can also use the evaluate.progressive_val_score function to evaluate the model on a data stream.

from river import evaluate\n\nmodel = model.clone()\n\nevaluate.progressive_val_score(\n    dataset=datasets.CreditCard().take(2500),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=1000\n)\n
[1,000] ROCAUC: 88.43%\n[2,000] ROCAUC: 89.28%\n[2,500] ROCAUC: 91.15%\nROCAUC: 91.15%\n

"},{"location":"api/anomaly/HalfSpaceTrees/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Tan, S.C., Ting, K.M. and Liu, T.F., 2011, June. Fast anomaly detection for streaming data. In Twenty-Second International Joint Conference on Artificial Intelligence. \u21a9

"},{"location":"api/anomaly/LocalOutlierFactor/","title":"LocalOutlierFactor","text":"

Incremental Local Outlier Factor (Incremental LOF).

The Incremental Local Outlier Factor (ILOF) is an online version of the Local Outlier Factor (LOF), proposed by Pokrajac et al. (2017), and is used to identify outliers based on density of local neighbors.

The algorithm take into account the following elements: - NewPoints: new points;

- `kNN(p)`: the k-nearest neighboors of `p` (the k-closest points to `p`);\n\n- `RkNN(p)`: the reverse-k-nearest neighboors of `p` (points that have `p` as one of their neighboors);\n\n- `set_upd_lrd`: Set of points that need to have the local reachability distance updated;\n\n- `set_upd_lof`: Set of points that need to have the local outlier factor updated.\n

This current implementation within River, based on the original one in the paper, follows the following steps: 1) Insert new data points (NewPoints) and calculate its distance to existing points; 2) Update the nreaest neighboors and reverse nearest neighboors of all the points; 3) Define sets of affected points that required updates; 4) Calculate the reachability-distance from new point to neighboors (NewPoints -> kNN(NewPoints)) and from rev-neighboors to new point (RkNN(NewPoints) -> NewPoints); 5) Update the reachability-distance for affected points: RkNN(RkNN(NewPoints)) -> RkNN(NewPoints) 6) Update local reachability distance of affected points: lrd(set_upd_lrd); 7) Update local outlier factor: lof(set_upd_lof).

The incremental LOF algorithm is expected to provide equivalent detection performance as the iterated static LOF algroithm (applied after insertion of each data record), while requiring significantly less computational time. Moreover, the insertion of a new data point as well as deletion of an old data point influence only a limited number of their closest neighbors, which means that the number of updates per such insertion/deletion does not depend on the total number of instances learned/in the data set.

"},{"location":"api/anomaly/LocalOutlierFactor/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 10

    The number of nearest neighbors to use for density estimation.

  • distance_func

    Type \u2192 DistanceFunc | None

    Default \u2192 None

    Distance function to be used. By default, the Euclidean distance is used.

"},{"location":"api/anomaly/LocalOutlierFactor/#attributes","title":"Attributes","text":"
  • x_list

    A list of stored observations.

  • x_batch

    A buffer to hold incoming observations until it's time to update the model.

  • x_scores

    A buffer to hold incoming observations until it's time to score them.

  • dist_dict

    A dictionary to hold distances between observations.

  • neighborhoods

    A dictionary to hold neighborhoods for each observation.

  • rev_neighborhoods

    A dictionary to hold reverse neighborhoods for each observation.

  • k_dist

    A dictionary to hold k-distances for each observation.

  • reach_dist

    A dictionary to hold reachability distances for each observation.

  • lof

    A dictionary to hold Local Outlier Factors for each observation.

  • local_reach

    A dictionary to hold local reachability distances for each observation.

"},{"location":"api/anomaly/LocalOutlierFactor/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import anomaly\nfrom river import datasets\n\ncc_df = pd.DataFrame(datasets.CreditCard())\n\nlof = anomaly.LocalOutlierFactor(n_neighbors=20)\n\nfor x, _ in datasets.CreditCard().take(200):\n    lof.learn_one(x)\n\nlof.learn_many(cc_df[201:401])\n\nscores = []\nfor x in cc_df[0][401:406]:\n    scores.append(lof.score_one(x))\n\n[round(score, 3) for score in scores]\n
[1.802, 1.936, 1.566, 1.181, 1.272]\n

X = [0.5, 0.45, 0.43, 0.44, 0.445, 0.45, 0.0]\nlof = anomaly.LocalOutlierFactor()\n\nfor x in X[:3]:\n    lof.learn_one({'x': x})  # Warming up\n\nfor x in X:\n    features = {'x': x}\n    print(\n        f'Anomaly score for x={x:.3f}: {lof.score_one(features):.3f}')\n    lof.learn_one(features)\n
Anomaly score for x=0.500: 0.000\nAnomaly score for x=0.450: 0.000\nAnomaly score for x=0.430: 0.000\nAnomaly score for x=0.440: 1.020\nAnomaly score for x=0.445: 1.032\nAnomaly score for x=0.450: 0.000\nAnomaly score for x=0.000: 0.980\n

"},{"location":"api/anomaly/LocalOutlierFactor/#methods","title":"Methods","text":"learn learn_many learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

David Pokrajac, Aleksandar Lazarevic, and Longin Jan Latecki (2007). Incremental Local Outlier Detection for Data Streams. In: Proceedings of the 2007 IEEE Symposium on Computational Intelligence and Data Mining (CIDM 2007). 504-515. DOI: 10.1109/CIDM.2007.368917.

"},{"location":"api/anomaly/OneClassSVM/","title":"OneClassSVM","text":"

One-class SVM for anomaly detection.

This is a stochastic implementation of the one-class SVM algorithm, and will not exactly match its batch formulation.

It is encouraged to scale the data upstream with preprocessing.StandardScaler, as well as use feature_extraction.RBFSampler to capture non-linearities.

"},{"location":"api/anomaly/OneClassSVM/#parameters","title":"Parameters","text":"
  • nu

    Default \u2192 0.1

    An upper bound on the fraction of training errors and a lower bound of the fraction of support vectors. You can think of it as the expected fraction of anomalies.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/anomaly/OneClassSVM/#attributes","title":"Attributes","text":"
  • weights
"},{"location":"api/anomaly/OneClassSVM/#examples","title":"Examples","text":"

from river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = anomaly.QuantileFilter(\n    anomaly.OneClassSVM(nu=0.2),\n    q=0.995\n)\n\nauc = metrics.ROCAUC()\n\nfor x, y in datasets.CreditCard().take(2500):\n    score = model.score_one(x)\n    is_anomaly = model.classify(score)\n    model.learn_one(x)\n    auc.update(y, is_anomaly)\n\nauc\n
ROCAUC: 74.68%\n

You can also use the evaluate.progressive_val_score function to evaluate the model on a data stream.

from river import evaluate\n\nmodel = model.clone()\n\nevaluate.progressive_val_score(\n    dataset=datasets.CreditCard().take(2500),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=1000\n)\n
[1,000] ROCAUC: 74.40%\n[2,000] ROCAUC: 74.60%\n[2,500] ROCAUC: 74.68%\nROCAUC: 74.68%\n

"},{"location":"api/anomaly/OneClassSVM/#methods","title":"Methods","text":"learn_many learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/PredictiveAnomalyDetection/","title":"PredictiveAnomalyDetection","text":"

Predictive Anomaly Detection.

This semi-supervised technique to anomaly detection employs a predictive model to learn the normal behavior of a dataset. It forecasts future data points and compares these predictions with actual values to determine anomalies. An anomaly score is calculated based on the deviation of the prediction from the actual value, with higher scores indicating a higher probability of an anomaly.

The actual anomaly score is calculated by comparing the squared-error to a dynamic threshold. If the error is larger than this threshold, the score will be 1.0; else, the score will be linearly distributed within the range (0.0, 1.0), with a higher score indicating a higher squared error compared to the threshold.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#parameters","title":"Parameters","text":"
  • predictive_model

    Type \u2192 base.Estimator | None

    Default \u2192 None

    The underlying model that learns the normal behavior of the data and makes predictions on future behavior. This can be an estimator of any type, depending on the type of problem (e.g. some Forecaster for Time-Series Data).

  • horizon

    Type \u2192 int

    Default \u2192 1

    When a Forecaster is used as a predictive model, this is the horizon of its forecasts.

  • n_std

    Type \u2192 float

    Default \u2192 3.0

    Number of Standard Deviations to calculate the threshold. A larger number of standard deviation will result in a higher threshold, resulting in the model being less sensitive.

  • warmup_period

    Type \u2192 int

    Default \u2192 0

    Duration for the model to warm up. Since the model starts with zero knowledge, the first instances will have very high anomaly scores, resulting in bad predictions (or high error). As such, a warm-up period is necessary to discard the first seen instances. While the model is within the warm-up period, no score will be calculated and the score_one method will return 0.0.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#attributes","title":"Attributes","text":"
  • dynamic_mae (stats.Mean)

    The running mean of the (squared) errors from the predictions of the model to update the dynamic threshold.

  • dynamic_se_variance (stats.Var)

    The running variance of the (squared) errors from the predictions of the model to update the dynamic threshold.

  • iter (int)

    The number of iterations (data points) passed.

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#examples","title":"Examples","text":"

from river import datasets\nfrom river import time_series\nfrom river import anomaly\nfrom river import preprocessing\nfrom river import linear_model\nfrom river import optim\n\nperiod = 12\npredictive_model = time_series.SNARIMAX(\n    p=period,\n    d=1,\n    q=period,\n    m=period,\n    sd=1,\n    regressor=(\n        preprocessing.StandardScaler()\n        | linear_model.LinearRegression(\n            optimizer=optim.SGD(0.005),\n        )\n    ),\n)\n\nPAD = anomaly.PredictiveAnomalyDetection(\n    predictive_model,\n    horizon=1,\n    n_std=3.5,\n    warmup_period=15\n)\n\nscores = []\n\nfor t, (x, y) in enumerate(datasets.AirlinePassengers()):\n    score = PAD.score_one(None, y)\n    PAD = PAD.learn_one(None, y)\n    scores.append(score)\n\nprint(scores[-1])\n
0.05329236123455621\n

"},{"location":"api/anomaly/PredictiveAnomalyDetection/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict | None'
  • y \u2014 'base.typing.Target | float'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Laptev N, Amizadeh S, Flint I. Generic and scalable framework for Automated Time-series Anomaly Detection. Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 2015. doi:10.1145/2783258.2788611.\u00a0\u21a9

"},{"location":"api/anomaly/QuantileFilter/","title":"QuantileFilter","text":"

Threshold anomaly filter.

"},{"location":"api/anomaly/QuantileFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    An anomaly detector.

  • q

    Type \u2192 float

    The quantile level above which to classify an anomaly score as anomalous.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/QuantileFilter/#attributes","title":"Attributes","text":"
  • q
"},{"location":"api/anomaly/QuantileFilter/#examples","title":"Examples","text":"

from river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.QuantileFilter(\n        anomaly.HalfSpaceTrees(seed=42),\n        q=0.95\n    )\n)\n\nreport = metrics.ClassificationReport()\n\nfor x, y in datasets.CreditCard().take(2000):\n    score = model.score_one(x)\n    is_anomaly = model['QuantileFilter'].classify(score)\n    model.learn_one(x)\n    report.update(y, is_anomaly)\n\nreport\n
               Precision   Recall   F1       Support\n<BLANKLINE>\n       0      99.95%   94.49%   97.14%      1998\n       1       0.90%   50.00%    1.77%         2\n<BLANKLINE>\n   Macro      50.42%   72.25%   49.46%\n   Micro      94.45%   94.45%   94.45%\nWeighted      99.85%   94.45%   97.05%\n<BLANKLINE>\n                 94.45% accuracy\n

"},{"location":"api/anomaly/QuantileFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/StandardAbsoluteDeviation/","title":"StandardAbsoluteDeviation","text":"

Standard Absolute Deviation (SAD).

SAD is the model that calculates the anomaly score by using the deviation from the mean/median, divided by the standard deviation of all the points seen within the data stream. The idea of this model is based on the \\(3 \\times \\sigma\\) rule described in 1.

This implementation is adapted from the implementation within PySAD (Python Streaming Anomaly Detection) 2.

As a univariate anomaly detection algorithm, this implementation is adapted to River in a similar way as that of the GaussianScorer algorithm, with the variable taken into the account at the learning phase and scoring phase under variable y, ignoring x.

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#parameters","title":"Parameters","text":"
  • sub_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    The statistic to be subtracted, then divided by the standard deviation for scoring. Defaults to stats.Mean()`.

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#examples","title":"Examples","text":"

import random\nfrom river import anomaly\nfrom river import stats\nfrom river import stream\n\nrng = random.Random(42)\n\nmodel = anomaly.StandardAbsoluteDeviation(sub_stat=stats.Mean())\n\nfor _ in range(150):\n    y = rng.gauss(0, 1)\n    model.learn_one(None, y)\n\nmodel.score_one(None, 2)\n
2.057...\n

model.score_one(None, 0)\n
0.084...\n

model.score_one(None, 1)\n
0.986...\n

"},{"location":"api/anomaly/StandardAbsoluteDeviation/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

  1. Hochenbaum, J., Vallis, O.S., Kejariwal, A., 2017. Automatic Anomaly Detection in the Cloud Via Statistical Learning. https://doi.org/10.48550/ARXIV.1704.07706.\u00a0\u21a9

  2. Yilmaz, S.F., Kozat, S.S., 2020. PySAD: A Streaming Anomaly Detection Framework in Python. https://doi.org/10.48550/ARXIV.2009.02572.\u00a0\u21a9

"},{"location":"api/anomaly/ThresholdFilter/","title":"ThresholdFilter","text":"

Threshold anomaly filter.

"},{"location":"api/anomaly/ThresholdFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    An anomaly detector.

  • threshold

    Type \u2192 float

    A threshold above which to classify an anomaly score as anomalous.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/ThresholdFilter/#examples","title":"Examples","text":"

Anomaly filters can be used as part of a pipeline. For instance, we might want to filter out anomalous observations so as not to corrupt a supervised model. As an example, let's take the datasets.WaterFlow dataset. Some of the samples have anomalous target variables because of human interventions. We don't want our model to learn these values.

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\ndataset = datasets.WaterFlow()\nmetric = metrics.SMAPE()\n\nperiod = 24  # 24 samples per day\n\nmodel = (\n    anomaly.ThresholdFilter(\n        anomaly.GaussianScorer(\n            window_size=period * 7,  # 7 days\n            grace_period=30\n        ),\n        threshold=0.995\n    ) |\n    time_series.HoltWinters(\n        alpha=0.3,\n        beta=0.1,\n        multiplicative=False\n    )\n)\n\ntime_series.evaluate(\n    dataset,\n    model,\n    metric,\n    horizon=period\n)\n
+1  SMAPE: 4.220171\n+2  SMAPE: 4.322648\n+3  SMAPE: 4.418546\n+4  SMAPE: 4.504986\n+5  SMAPE: 4.57924\n+6  SMAPE: 4.64123\n+7  SMAPE: 4.694042\n+8  SMAPE: 4.740753\n+9  SMAPE: 4.777291\n+10 SMAPE: 4.804558\n+11 SMAPE: 4.828114\n+12 SMAPE: 4.849823\n+13 SMAPE: 4.865871\n+14 SMAPE: 4.871972\n+15 SMAPE: 4.866274\n+16 SMAPE: 4.842614\n+17 SMAPE: 4.806214\n+18 SMAPE: 4.763355\n+19 SMAPE: 4.713455\n+20 SMAPE: 4.672062\n+21 SMAPE: 4.659102\n+22 SMAPE: 4.693496\n+23 SMAPE: 4.773707\n+24 SMAPE: 4.880654\n

"},{"location":"api/anomaly/ThresholdFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/AnomalyDetector/","title":"AnomalyDetector","text":"

An anomaly detector.

"},{"location":"api/anomaly/base/AnomalyDetector/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • x \u2014 'dict'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/AnomalyFilter/","title":"AnomalyFilter","text":"

Anomaly filter base class.

An anomaly filter has the ability to classify an anomaly score as anomalous or not. It can then be used to filter anomalies, in particular as part of a pipeline.

"},{"location":"api/anomaly/base/AnomalyFilter/#parameters","title":"Parameters","text":"
  • anomaly_detector

    Type \u2192 AnomalyDetector

    An anomaly detector wrapped by the anomaly filter.

  • protect_anomaly_detector

    Default \u2192 True

    Indicates whether or not the anomaly detector should be updated when the anomaly score is anomalous. If the data contains sporadic anomalies, then the anomaly detector should likely not be updated. Indeed, if it learns the anomaly score, then it will slowly start to consider anomalous anomaly scores as normal. This might be desirable, for instance in the case of drift.

"},{"location":"api/anomaly/base/AnomalyFilter/#methods","title":"Methods","text":"classify

Classify an anomaly score as anomalous or not.

Parameters

  • score \u2014 'float'

Returns

bool: A boolean value indicating whether the anomaly score is anomalous or not.

learn_one

Update the anomaly filter and the underlying anomaly detector.

Parameters

  • args
  • learn_kwargs

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds to a normal observation.

Parameters

  • args
  • kwargs

Returns

An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/anomaly/base/SupervisedAnomalyDetector/","title":"SupervisedAnomalyDetector","text":"

A supervised anomaly detector.

"},{"location":"api/anomaly/base/SupervisedAnomalyDetector/#methods","title":"Methods","text":"learn_one

Update the model.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

score_one

Return an outlier score.

A high score is indicative of an anomaly. A low score corresponds a normal observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

Returns

float: An anomaly score. A high score is indicative of an anomaly. A low score corresponds a

"},{"location":"api/bandit/BayesUCB/","title":"BayesUCB","text":"

Bayes-UCB bandit policy.

Bayes-UCB is a Bayesian algorithm for the multi-armed bandit problem. It uses the posterior distribution of the reward of each arm to compute an upper confidence bound (UCB) on the expected reward of each arm. The arm with the highest UCB is then pulled. The posterior distribution is updated after each pull. The algorithm is described in [^1].

"},{"location":"api/bandit/BayesUCB/#parameters","title":"Parameters","text":"
  • reward_obj

    Default \u2192 None

    The reward object that is used to update the posterior distribution.

  • burn_in

    Default \u2192 0

    Number of initial observations per arm before using the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/BayesUCB/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/BayesUCB/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.BayesUCB(seed=123)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 841.\n

"},{"location":"api/bandit/BayesUCB/#methods","title":"Methods","text":"compute_index

the p-th quantile of the beta distribution for the arm

Parameters

  • arm_id

pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Rewrite update function

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/EpsilonGreedy/","title":"EpsilonGreedy","text":"

\\(\\varepsilon\\)-greedy bandit policy.

Performs arm selection by using an \\(\\varepsilon\\)-greedy bandit strategy. An arm is selected at each step. The best arm is selected (1 - \\(\\varepsilon\\))% of the time.

Selection bias is a common problem when using bandits. This bias can be mitigated by using burn-in phase. Each model is given the chance to learn during the first burn_in steps.

"},{"location":"api/bandit/EpsilonGreedy/#parameters","title":"Parameters","text":"
  • epsilon

    Type \u2192 float

    The probability of exploring.

  • decay

    Default \u2192 0.0

    The decay rate of epsilon.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/EpsilonGreedy/#attributes","title":"Attributes","text":"
  • current_epsilon

    The value of epsilon after factoring in the decay rate.

  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/EpsilonGreedy/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.EpsilonGreedy(epsilon=0.9, seed=101)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 775.\n

"},{"location":"api/bandit/EpsilonGreedy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. \u03b5-Greedy Algorithm - The Multi-Armed Bandit Problem and Its Solutions - Lilian Weng \u21a9

"},{"location":"api/bandit/Exp3/","title":"Exp3","text":"

Exp3 bandit policy.

This policy works by maintaining a weight for each arm. These weights are used to randomly decide which arm to pull. The weights are increased or decreased, depending on the reward. An egalitarianism factor \\(\\gamma \\in [0, 1]\\) is included, to tune the desire to pick an arm uniformly at random. That is, if \\(\\gamma = 1\\), the arms are picked uniformly at random.

"},{"location":"api/bandit/Exp3/#parameters","title":"Parameters","text":"
  • gamma

    Type \u2192 float

    The egalitarianism factor. Setting this to 0 leads to what is called the EXP3 policy.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/Exp3/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/Exp3/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.Exp3(gamma=0.5, seed=42)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 799.\n

"},{"location":"api/bandit/Exp3/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. Auer, P., Cesa-Bianchi, N., Freund, Y. and Schapire, R.E., 2002. The nonstochastic multiarmed bandit problem. SIAM journal on computing, 32(1), pp.48-77. \u21a9

  2. Adversarial Bandits and the Exp3 Algorithm \u2014 Jeremy Kun \u21a9

"},{"location":"api/bandit/LinUCBDisjoint/","title":"LinUCBDisjoint","text":"

LinUCB, disjoint variant.

Although it works, as of yet it is too slow to realistically be used in practice.

The way this works is that each arm is assigned a linear_model.BayesianLinearRegression instance. This instance is updated every time the arm is pulled. The context is used as features for the regression. The reward is used as the target. The posterior distribution is used to compute the upper confidence bound. The arm with the highest upper confidence bound is pulled.

"},{"location":"api/bandit/LinUCBDisjoint/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 float

    Default \u2192 1.0

    Parameter used in each Bayesian linear regression.

  • beta

    Type \u2192 float

    Default \u2192 1.0

    Parameter used in each Bayesian linear regression.

  • smoothing

    Type \u2192 float | None

    Default \u2192 None

    Parameter used in each Bayesian linear regression.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm.

  • burn_in

    Default \u2192 0

    The number of time steps during which each arm is pulled once.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/LinUCBDisjoint/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/LinUCBDisjoint/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'
  • context \u2014 'dict | None' \u2014 defaults to None

Returns

ArmID: A single arm.

update

Rewrite update function

Parameters

  • arm_id
  • context
  • reward_args
  • reward_kwargs

  1. A Contextual-Bandit Approach to Personalized News Article Recommendation [^2:] Contextual Bandits Analysis of LinUCB Disjoint Algorithm with Dataset \u21a9

"},{"location":"api/bandit/RandomPolicy/","title":"RandomPolicy","text":"

Random bandit policy.

This policy simply pulls a random arm at each time step. It is useful as a baseline.

"},{"location":"api/bandit/RandomPolicy/#parameters","title":"Parameters","text":"
  • reward_obj

    Default \u2192 None

    The reward object that is used to update the posterior distribution.

  • burn_in

    Default \u2192 0

    Number of initial observations per arm before using the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/RandomPolicy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/RandomPolicy/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.RandomPolicy(seed=123)\n\nmetric = stats.Sum()\nwhile True:\n    action = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(action)\n    policy.update(action, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 755.\n

"},{"location":"api/bandit/RandomPolicy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/ThompsonSampling/","title":"ThompsonSampling","text":"

Thompson sampling.

Thompson sampling is often used with a Beta distribution. However, any probability distribution can be used, as long it makes sense with the reward shape. For instance, a Beta distribution is meant to be used with binary rewards, while a Gaussian distribution is meant to be used with continuous rewards.

The randomness of a distribution is controlled by its seed. The seed should not set within the distribution, but should rather be defined in the policy parametrization. In other words, you should do this:

policy = ThompsonSampling(dist=proba.Beta(1, 1), seed=42) \n

and not this:

policy = ThompsonSampling(dist=proba.Beta(1, 1, seed=42)) \n
"},{"location":"api/bandit/ThompsonSampling/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 proba.base.Distribution | None

    Default \u2192 None

    A distribution to sample from.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/ThompsonSampling/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/ThompsonSampling/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import proba\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.ThompsonSampling(reward_obj=proba.Beta(), seed=101)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 820.\n

"},{"location":"api/bandit/ThompsonSampling/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. An Empirical Evaluation of Thompson Sampling \u21a9

"},{"location":"api/bandit/UCB/","title":"UCB","text":"

Upper Confidence Bound (UCB) bandit policy.

Due to the nature of this algorithm, it's recommended to scale the target so that it exhibits sub-gaussian properties. This can be done by passing a preprocessing.TargetStandardScaler instance to the reward_scaler argument.

"},{"location":"api/bandit/UCB/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    The confidence level. Setting this to 1 leads to what is called the UCB1 policy.

  • reward_obj

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/bandit/UCB/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/UCB/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\nfrom river import preprocessing\nfrom river import stats\n\nenv = gym.make(\n    'river_bandits/CandyCaneContest-v0'\n)\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\npolicy = bandit.UCB(\n    delta=100,\n    reward_scaler=preprocessing.TargetStandardScaler(None),\n    seed=42\n)\n\nmetric = stats.Sum()\nwhile True:\n    arm = policy.pull(range(env.action_space.n))\n    observation, reward, terminated, truncated, info = env.step(arm)\n    policy.update(arm, reward)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 744.\n

"},{"location":"api/bandit/UCB/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

  1. Lai, T. L., & Robbins, H. (1985). Asymptotically efficient adaptive allocation rules. Advances in applied mathematics, 6(1), 4-22. \u21a9

  2. Upper Confidence Bounds - The Multi-Armed Bandit Problem and Its Solutions - Lilian Weng \u21a9

  3. The Upper Confidence Bound Algorithm - Bandit Algorithms \u21a9

"},{"location":"api/bandit/evaluate-offline/","title":"evaluate_offline","text":"

Evaluate a policy on historical logs using replay.

This is a high-level utility function for evaluating a policy using the replay methodology. This methodology is an off-policy evaluation method. It does not require an environment, and is instead data-driven.

At each step, an arm is pulled from the provided policy. If the arm is the same as the arm that was pulled in the historical data, the reward is used to update the policy. If the arm is different, the reward is ignored. This is the off-policy aspect of the evaluation.

"},{"location":"api/bandit/evaluate-offline/#parameters","title":"Parameters","text":"
  • policy

    Type \u2192 bandit.base.Policy

    The policy to evaluate.

  • history

    Type \u2192 History | bandit.datasets.BanditDataset

    The history of the bandit problem. This is a generator that yields tuples of the form (arms, context, arm, reward).

  • reward_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    The reward statistic to use. Defaults to stats.Sum.

"},{"location":"api/bandit/evaluate-offline/#examples","title":"Examples","text":"

import random\nfrom river import bandit\n\nrng = random.Random(42)\narms = ['A', 'B', 'C']\nclicks = [\n    (\n        arms,\n        # no context\n        None,\n        # random arm\n        rng.choice(arms),\n        # reward\n        rng.random() > 0.5\n    )\n    for _ in range(1000)\n]\n\ntotal_reward, n_samples_used = bandit.evaluate_offline(\n    policy=bandit.EpsilonGreedy(0.1, seed=42),\n    history=clicks,\n)\n\ntotal_reward\n
Sum: 172.\n

n_samples_used\n
321\n

This also works out of the box with datasets that inherit from river.bandit.BanditDataset.

news = bandit.datasets.NewsArticles()\ntotal_reward, n_samples_used = bandit.evaluate_offline(\n    policy=bandit.RandomPolicy(seed=42),\n    history=news,\n)\n\ntotal_reward, n_samples_used\n
(Sum: 105., 1027)\n

As expected, the policy succeeds in roughly 10% of cases. Indeed, there are 10 arms and 10000 samples, so the expected number of successes is 1000.

  1. Offline Evaluation of Multi-Armed Bandit Algorithms in Python using Replay \u21a9

  2. Unbiased Offline Evaluation of Contextual-bandit-based News Article Recommendation Algorithms \u21a9

  3. Understanding Inverse Propensity Score for Contextual Bandits \u21a9

"},{"location":"api/bandit/evaluate/","title":"evaluate","text":"

Benchmark a list of policies on a given Gym environment.

This is a high-level utility function for benchmarking a list of policies on a given Gym environment. For example, it can be used to populate a pandas.DataFrame with the contents of each step of each episode.

"},{"location":"api/bandit/evaluate/#parameters","title":"Parameters","text":"
  • policies

    Type \u2192 list[bandit.base.Policy]

    A list of policies to evaluate. The policy will be reset before each episode.

  • env

    Type \u2192 gym.Env

    The Gym environment to use. One copy will be made for each policy at the beginning of each episode.

  • reward_stat

    Type \u2192 stats.base.Univariate | None

    Default \u2192 None

    A univariate statistic to keep track of the rewards. This statistic will be reset before each episode. Note that this is not the same as the reward object used by the policies. It's just a statistic to keep track of each policy's performance. If None, stats.Sum is used.

  • n_episodes

    Type \u2192 int

    Default \u2192 20

    The number of episodes to run.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility. A random number generator will be used to seed differently the environment before each episode.

"},{"location":"api/bandit/evaluate/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import bandit\n\ntrace = bandit.evaluate(\n    policies=[\n        bandit.UCB(delta=1, seed=42),\n        bandit.EpsilonGreedy(epsilon=0.1, seed=42),\n    ],\n    env=gym.make(\n        'river_bandits/CandyCaneContest-v0',\n        max_episode_steps=100\n    ),\n    n_episodes=5,\n    seed=42\n)\n\nfor step in trace:\n    print(step)\n    break\n
{'episode': 0, 'step': 0, 'policy_idx': 0, 'arm': 81, 'reward': 0.0, 'reward_stat': 0.0}\n

The return type of this function is a generator. Each step of the generator is a dictionary. You can pass the generator to a pandas.DataFrame to get a nice representation of the results.

import pandas as pd\n\ntrace = bandit.evaluate(\n    policies=[\n        bandit.UCB(delta=1, seed=42),\n        bandit.EpsilonGreedy(epsilon=0.1, seed=42),\n    ],\n    env=gym.make(\n        'river_bandits/CandyCaneContest-v0',\n        max_episode_steps=100\n    ),\n    n_episodes=5,\n    seed=42\n)\n\ntrace_df = pd.DataFrame(trace)\ntrace_df.sample(5, random_state=42)\n
     episode  step  policy_idx  arm  reward  reward_stat\n521        2    60           1   25     0.0         36.0\n737        3    68           1   40     1.0         20.0\n740        3    70           0   58     0.0         36.0\n660        3    30           0   31     1.0         16.0\n411        2     5           1   35     1.0          5.0\n

The length of the dataframe is the number of policies times the number of episodes times the maximum number of steps per episode.

len(trace_df)\n
1000\n

(\n    trace_df.policy_idx.nunique() *\n    trace_df.episode.nunique() *\n    trace_df.step.nunique()\n)\n
1000\n

"},{"location":"api/bandit/base/ContextualPolicy/","title":"ContextualPolicy","text":"

Contextual bandit policy base class.

"},{"location":"api/bandit/base/ContextualPolicy/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 RewardObj | None

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Type \u2192 compose.TargetTransformRegressor | None

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

"},{"location":"api/bandit/base/ContextualPolicy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/base/ContextualPolicy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'
  • context \u2014 'dict | None' \u2014 defaults to None

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • context
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/base/Policy/","title":"Policy","text":"

Bandit policy base class.

"},{"location":"api/bandit/base/Policy/#parameters","title":"Parameters","text":"
  • reward_obj

    Type \u2192 RewardObj | None

    Default \u2192 None

    The reward object used to measure the performance of each arm. This can be a metric, a statistic, or a distribution.

  • reward_scaler

    Type \u2192 compose.TargetTransformRegressor | None

    Default \u2192 None

    A reward scaler used to scale the rewards before they are fed to the reward object. This can be useful to scale the rewards to a (0, 1) range for instance.

  • burn_in

    Default \u2192 0

    The number of steps to use for the burn-in phase. Each arm is given the chance to be pulled during the burn-in phase. This is useful to mitigate selection bias.

"},{"location":"api/bandit/base/Policy/#attributes","title":"Attributes","text":"
  • ranking

    Return the list of arms in descending order of performance.

"},{"location":"api/bandit/base/Policy/#methods","title":"Methods","text":"pull

Pull arm(s).

This method is a generator that yields the arm(s) that should be pulled. During the burn-in phase, all the arms that have not been pulled enough times are yielded. Once the burn-in phase is over, the policy is allowed to choose the arm(s) that should be pulled. If you only want to pull one arm at a time during the burn-in phase, simply call next(policy.pull(arms)).

Parameters

  • arm_ids \u2014 'list[ArmID]'

Returns

ArmID: A single arm.

update

Update an arm's state.

Parameters

  • arm_id
  • reward_args
  • reward_kwargs

"},{"location":"api/bandit/datasets/BanditDataset/","title":"BanditDataset","text":"

Base class for bandit datasets.

"},{"location":"api/bandit/datasets/BanditDataset/#parameters","title":"Parameters","text":"
  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/bandit/datasets/BanditDataset/#attributes","title":"Attributes","text":"
  • arms

    The list of arms that can be pulled.

  • desc

    Return the description from the docstring.

"},{"location":"api/bandit/datasets/BanditDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/bandit/datasets/NewsArticles/","title":"NewsArticles","text":"

News articles bandit dataset.

This is a personalization dataset. It contains 10000 observations. There are 10 arms, and the reward is binary. There are 100 features, which turns this into a contextual bandit problem.

"},{"location":"api/bandit/datasets/NewsArticles/#attributes","title":"Attributes","text":"
  • arms

    The list of arms that can be pulled.

  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/bandit/datasets/NewsArticles/#examples","title":"Examples","text":"

from river import bandit\n\ndataset = bandit.datasets.NewsArticles()\ncontext, arm, reward = next(iter(dataset))\n\nlen(context)\n
100\n

arm, reward\n
(2, False)\n

"},{"location":"api/bandit/datasets/NewsArticles/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Machine Learning for Personalization homework \u21a9

  2. Contextual Bandits Analysis of LinUCB Disjoint Algorithm with Dataset \u21a9

"},{"location":"api/bandit/envs/CandyCaneContest/","title":"CandyCaneContest","text":"

Candy cane contest Kaggle competition.

"},{"location":"api/bandit/envs/CandyCaneContest/#parameters","title":"Parameters","text":"
  • n_machines

    Default \u2192 100

    Number of vending machines.

  • reward_decay

    Default \u2192 0.03

    The multiplicate rate at which the expected reward of each vending machine decays.

"},{"location":"api/bandit/envs/CandyCaneContest/#attributes","title":"Attributes","text":"
  • np_random

    Returns the environment's internal :attr:_np_random that if not set will initialise with a random seed. Returns: Instances of np.random.Generator

  • render_mode

  • spec

  • unwrapped

    Returns the base non-wrapped environment. Returns: Env: The base non-wrapped :class:gymnasium.Env instance

"},{"location":"api/bandit/envs/CandyCaneContest/#examples","title":"Examples","text":"

import gymnasium as gym\nfrom river import stats\n\nenv = gym.make('river_bandits/CandyCaneContest-v0')\n_ = env.reset(seed=42)\n_ = env.action_space.seed(123)\n\nmetric = stats.Sum()\nwhile True:\n    arm = env.action_space.sample()\n    observation, reward, terminated, truncated, info = env.step(arm)\n    metric.update(reward)\n    if terminated or truncated:\n        break\n\nmetric\n
Sum: 734.\n

"},{"location":"api/bandit/envs/CandyCaneContest/#methods","title":"Methods","text":"close

After the user has finished using the environment, close contains the code necessary to \"clean up\" the environment.

This is critical for closing rendering windows, database or HTTP connections. Calling close on an already closed environment has no effect and won't raise an error.

get_wrapper_attr

Gets the attribute name from the environment.

Parameters

  • name \u2014 'str'

render

Compute the render frames as specified by :attr:render_mode during the initialization of the environment.

The environment's :attr:metadata render modes (env.metadata[\"render_modes\"]) should contain the possible ways to implement the render modes. In addition, list versions for most render modes is achieved through gymnasium.make which automatically applies a wrapper to collect rendered frames. Note: As the :attr:render_mode is known during __init__, the objects used to render the environment state should be initialised in __init__. By convention, if the :attr:render_mode is: - None (default): no render is computed. - \"human\": The environment is continuously rendered in the current display or terminal, usually for human consumption. This rendering should occur during :meth:step and :meth:render doesn't need to be called. Returns None. - \"rgb_array\": Return a single frame representing the current state of the environment. A frame is a np.ndarray with shape (x, y, 3) representing RGB values for an x-by-y pixel image. - \"ansi\": Return a strings (str) or StringIO.StringIO containing a terminal-style text representation for each time step. The text can include newlines and ANSI escape sequences (e.g. for colors). - \"rgb_array_list\" and \"ansi_list\": List based version of render modes are possible (except Human) through the wrapper, :py:class:gymnasium.wrappers.RenderCollection that is automatically applied during gymnasium.make(..., render_mode=\"rgb_array_list\"). The frames collected are popped after :meth:render is called or :meth:reset. Note: Make sure that your class's :attr:metadata \"render_modes\" key includes the list of supported modes. .. versionchanged:: 0.25.0 The render function was changed to no longer accept parameters, rather these parameters should be specified in the environment initialised, i.e., gymnasium.make(\"CartPole-v1\", render_mode=\"human\")

reset

Resets the environment to an initial internal state, returning an initial observation and info.

This method generates a new starting state often with some randomness to ensure that the agent explores the state space and learns a generalised policy about the environment. This randomness can be controlled with the seed parameter otherwise if the environment already has a random number generator and :meth:reset is called with seed=None, the RNG is not reset. Therefore, :meth:reset should (in the typical use case) be called with a seed right after initialization and then never again. For Custom environments, the first line of :meth:reset should be super().reset(seed=seed) which implements the seeding correctly. .. versionchanged:: v0.25 The return_info parameter was removed and now info is expected to be returned. Args: seed (optional int): The seed that is used to initialize the environment's PRNG (np_random). If the environment does not already have a PRNG and seed=None (the default option) is passed, a seed will be chosen from some source of entropy (e.g. timestamp or /dev/urandom). However, if the environment already has a PRNG and seed=None is passed, the PRNG will not be reset. If you pass an integer, the PRNG will be reset even if it already exists. Usually, you want to pass an integer right after the environment has been initialized and then never again. Please refer to the minimal example above to see this paradigm in action. options (optional dict): Additional information to specify how the environment is reset (optional, depending on the specific environment) Returns: observation (ObsType): Observation of the initial state. This will be an element of :attr:observation_space (typically a numpy array) and is analogous to the observation returned by :meth:step. info (dictionary): This dictionary contains auxiliary information complementing observation. It should be analogous to the info returned by :meth:step.

Parameters

  • seed \u2014 'int | None' \u2014 defaults to None
  • options \u2014 'dict[str, Any] | None' \u2014 defaults to None

step

Run one timestep of the environment's dynamics using the agent actions.

When the end of an episode is reached (terminated or truncated), it is necessary to call :meth:reset to reset this environment's state for the next episode. .. versionchanged:: 0.26 The Step API was changed removing done in favor of terminated and truncated to make it clearer to users when the environment had terminated or truncated which is critical for reinforcement learning bootstrapping algorithms. Args: action (ActType): an action provided by the agent to update the environment state. Returns: observation (ObsType): An element of the environment's :attr:observation_space as the next observation due to the agent actions. An example is a numpy array containing the positions and velocities of the pole in CartPole. reward (SupportsFloat): The reward as a result of taking the action. terminated (bool): Whether the agent reaches the terminal state (as defined under the MDP of the task) which can be positive or negative. An example is reaching the goal state or moving into the lava from the Sutton and Barton, Gridworld. If true, the user needs to call :meth:reset. truncated (bool): Whether the truncation condition outside the scope of the MDP is satisfied. Typically, this is a timelimit, but could also be used to indicate an agent physically going out of bounds. Can be used to end the episode prematurely before a terminal state is reached. If true, the user needs to call :meth:reset. info (dict): Contains auxiliary diagnostic information (helpful for debugging, learning, and logging). This might, for instance, contain: metrics that describe the agent's performance state, variables that are hidden from observations, or individual reward terms that are combined to produce the total reward. In OpenAI Gym <v26, it contains \"TimeLimit.truncated\" to distinguish truncation and termination, however this is deprecated in favour of returning terminated and truncated variables. done (bool): (Deprecated) A boolean value for if the episode has ended, in which case further :meth:step calls will return undefined results. This was removed in OpenAI Gym v26 in favor of terminated and truncated attributes. A done signal may be emitted for different reasons: Maybe the task underlying the environment was solved successfully, a certain timelimit was exceeded, or the physics simulation has entered an invalid state.

Parameters

  • machine_index

  1. Santa 2020 - The Candy Cane Contest \u21a9

"},{"location":"api/bandit/envs/KArmedTestbed/","title":"KArmedTestbed","text":"

k-armed testbed.

This is a simple environment that can be used to test bandit algorithms. It is based on the 10 armed testbed described in the book \"Reinforcement Learning: An Introduction\" by Sutton and Barto.

"},{"location":"api/bandit/envs/KArmedTestbed/#parameters","title":"Parameters","text":"
  • k

    Type \u2192 int

    Default \u2192 10

    Number of arms.

"},{"location":"api/bandit/envs/KArmedTestbed/#attributes","title":"Attributes","text":"
  • np_random

    Returns the environment's internal :attr:_np_random that if not set will initialise with a random seed. Returns: Instances of np.random.Generator

  • render_mode

  • spec

  • unwrapped

    Returns the base non-wrapped environment. Returns: Env: The base non-wrapped :class:gymnasium.Env instance

"},{"location":"api/bandit/envs/KArmedTestbed/#methods","title":"Methods","text":"close

After the user has finished using the environment, close contains the code necessary to \"clean up\" the environment.

This is critical for closing rendering windows, database or HTTP connections. Calling close on an already closed environment has no effect and won't raise an error.

get_wrapper_attr

Gets the attribute name from the environment.

Parameters

  • name \u2014 'str'

render

Compute the render frames as specified by :attr:render_mode during the initialization of the environment.

The environment's :attr:metadata render modes (env.metadata[\"render_modes\"]) should contain the possible ways to implement the render modes. In addition, list versions for most render modes is achieved through gymnasium.make which automatically applies a wrapper to collect rendered frames. Note: As the :attr:render_mode is known during __init__, the objects used to render the environment state should be initialised in __init__. By convention, if the :attr:render_mode is: - None (default): no render is computed. - \"human\": The environment is continuously rendered in the current display or terminal, usually for human consumption. This rendering should occur during :meth:step and :meth:render doesn't need to be called. Returns None. - \"rgb_array\": Return a single frame representing the current state of the environment. A frame is a np.ndarray with shape (x, y, 3) representing RGB values for an x-by-y pixel image. - \"ansi\": Return a strings (str) or StringIO.StringIO containing a terminal-style text representation for each time step. The text can include newlines and ANSI escape sequences (e.g. for colors). - \"rgb_array_list\" and \"ansi_list\": List based version of render modes are possible (except Human) through the wrapper, :py:class:gymnasium.wrappers.RenderCollection that is automatically applied during gymnasium.make(..., render_mode=\"rgb_array_list\"). The frames collected are popped after :meth:render is called or :meth:reset. Note: Make sure that your class's :attr:metadata \"render_modes\" key includes the list of supported modes. .. versionchanged:: 0.25.0 The render function was changed to no longer accept parameters, rather these parameters should be specified in the environment initialised, i.e., gymnasium.make(\"CartPole-v1\", render_mode=\"human\")

reset

Resets the environment to an initial internal state, returning an initial observation and info.

This method generates a new starting state often with some randomness to ensure that the agent explores the state space and learns a generalised policy about the environment. This randomness can be controlled with the seed parameter otherwise if the environment already has a random number generator and :meth:reset is called with seed=None, the RNG is not reset. Therefore, :meth:reset should (in the typical use case) be called with a seed right after initialization and then never again. For Custom environments, the first line of :meth:reset should be super().reset(seed=seed) which implements the seeding correctly. .. versionchanged:: v0.25 The return_info parameter was removed and now info is expected to be returned. Args: seed (optional int): The seed that is used to initialize the environment's PRNG (np_random). If the environment does not already have a PRNG and seed=None (the default option) is passed, a seed will be chosen from some source of entropy (e.g. timestamp or /dev/urandom). However, if the environment already has a PRNG and seed=None is passed, the PRNG will not be reset. If you pass an integer, the PRNG will be reset even if it already exists. Usually, you want to pass an integer right after the environment has been initialized and then never again. Please refer to the minimal example above to see this paradigm in action. options (optional dict): Additional information to specify how the environment is reset (optional, depending on the specific environment) Returns: observation (ObsType): Observation of the initial state. This will be an element of :attr:observation_space (typically a numpy array) and is analogous to the observation returned by :meth:step. info (dictionary): This dictionary contains auxiliary information complementing observation. It should be analogous to the info returned by :meth:step.

Parameters

  • seed \u2014 'int | None' \u2014 defaults to None
  • options \u2014 'dict[str, Any] | None' \u2014 defaults to None

step

Run one timestep of the environment's dynamics using the agent actions.

When the end of an episode is reached (terminated or truncated), it is necessary to call :meth:reset to reset this environment's state for the next episode. .. versionchanged:: 0.26 The Step API was changed removing done in favor of terminated and truncated to make it clearer to users when the environment had terminated or truncated which is critical for reinforcement learning bootstrapping algorithms. Args: action (ActType): an action provided by the agent to update the environment state. Returns: observation (ObsType): An element of the environment's :attr:observation_space as the next observation due to the agent actions. An example is a numpy array containing the positions and velocities of the pole in CartPole. reward (SupportsFloat): The reward as a result of taking the action. terminated (bool): Whether the agent reaches the terminal state (as defined under the MDP of the task) which can be positive or negative. An example is reaching the goal state or moving into the lava from the Sutton and Barton, Gridworld. If true, the user needs to call :meth:reset. truncated (bool): Whether the truncation condition outside the scope of the MDP is satisfied. Typically, this is a timelimit, but could also be used to indicate an agent physically going out of bounds. Can be used to end the episode prematurely before a terminal state is reached. If true, the user needs to call :meth:reset. info (dict): Contains auxiliary diagnostic information (helpful for debugging, learning, and logging). This might, for instance, contain: metrics that describe the agent's performance state, variables that are hidden from observations, or individual reward terms that are combined to produce the total reward. In OpenAI Gym <v26, it contains \"TimeLimit.truncated\" to distinguish truncation and termination, however this is deprecated in favour of returning terminated and truncated variables. done (bool): (Deprecated) A boolean value for if the episode has ended, in which case further :meth:step calls will return undefined results. This was removed in OpenAI Gym v26 in favor of terminated and truncated attributes. A done signal may be emitted for different reasons: Maybe the task underlying the environment was solved successfully, a certain timelimit was exceeded, or the physics simulation has entered an invalid state.

Parameters

  • arm

"},{"location":"api/base/Base/","title":"Base","text":"

Base class that is inherited by the majority of classes in River.

This base class allows us to handle the following tasks in a uniform manner:

  • Getting and setting parameters

  • Displaying information

  • Mutating/cloning

"},{"location":"api/base/Base/#methods","title":"Methods","text":"clone

Return a fresh estimator with the same parameters.

The clone has the same parameters but has not been updated with any data. This works by looking at the parameters from the class signature. Each parameter is either - recursively cloned if its a class. - deep-copied via copy.deepcopy if not. If the calling object is stochastic (i.e. it accepts a seed parameter) and has not been seeded, then the clone will not be idempotent. Indeed, this method's purpose if simply to return a new instance with the same input parameters.

Parameters

  • new_params \u2014 'dict | None' \u2014 defaults to None
  • include_attributes \u2014 defaults to False

mutate

Modify attributes.

This changes parameters inplace. Although you can change attributes yourself, this is the recommended way to proceed. By default, all attributes are immutable, meaning they shouldn't be mutated. Calling mutate on an immutable attribute raises a ValueError. Mutable attributes are specified via the _mutable_attributes property, and are thus specified on a per-estimator basis.

Parameters

  • new_attrs \u2014 'dict'

"},{"location":"api/base/BinaryDriftAndWarningDetector/","title":"BinaryDriftAndWarningDetector","text":"

A binary drift detector that is also capable of issuing warnings.

"},{"location":"api/base/BinaryDriftAndWarningDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/BinaryDriftAndWarningDetector/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

"},{"location":"api/base/BinaryDriftDetector/","title":"BinaryDriftDetector","text":"

A drift detector for binary data.

"},{"location":"api/base/BinaryDriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/BinaryDriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

"},{"location":"api/base/Classifier/","title":"Classifier","text":"

A classifier.

"},{"location":"api/base/Classifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/base/Clusterer/","title":"Clusterer","text":"

A clustering model.

"},{"location":"api/base/Clusterer/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

"},{"location":"api/base/DriftAndWarningDetector/","title":"DriftAndWarningDetector","text":"

A drift detector that is also capable of issuing warnings.

"},{"location":"api/base/DriftAndWarningDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/DriftAndWarningDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/base/DriftDetector/","title":"DriftDetector","text":"

A drift detector.

"},{"location":"api/base/DriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/base/DriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/base/Ensemble/","title":"Ensemble","text":"

An ensemble is a model which is composed of a list of models.

"},{"location":"api/base/Ensemble/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[Estimator]

"},{"location":"api/base/Ensemble/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/base/Ensemble/#methods","title":"Methods","text":"append

S.append(value) -- append value to the end of the sequence

Parameters

  • item

clear

S.clear() -> None -- remove all items from S

copy count

S.count(value) -> integer -- return number of occurrences of value

Parameters

  • item

extend

S.extend(iterable) -- extend sequence by appending elements from the iterable

Parameters

  • other

index

S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

Parameters

  • item
  • args

insert

S.insert(index, value) -- insert value before index

Parameters

  • i
  • item

pop

S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range.

Parameters

  • i \u2014 defaults to -1

remove

S.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present.

Parameters

  • item

reverse

S.reverse() -- reverse IN PLACE

sort"},{"location":"api/base/Estimator/","title":"Estimator","text":"

An estimator.

"},{"location":"api/base/Estimator/#methods","title":"Methods","text":""},{"location":"api/base/MiniBatchClassifier/","title":"MiniBatchClassifier","text":"

A classifier that can operate on mini-batches.

"},{"location":"api/base/MiniBatchClassifier/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/base/MiniBatchRegressor/","title":"MiniBatchRegressor","text":"

A regressor that can operate on mini-batches.

"},{"location":"api/base/MiniBatchRegressor/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and real-valued targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted outcomes.

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/base/MiniBatchSupervisedTransformer/","title":"MiniBatchSupervisedTransformer","text":"

A supervised transformer that can operate on mini-batches.

"},{"location":"api/base/MiniBatchSupervisedTransformer/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/MiniBatchTransformer/","title":"MiniBatchTransformer","text":"

A transform that can operate on mini-batches.

"},{"location":"api/base/MiniBatchTransformer/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/MultiLabelClassifier/","title":"MultiLabelClassifier","text":"

Multi-label classifier.

"},{"location":"api/base/MultiLabelClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, bool]'

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, dict[bool, float]]: A dictionary that associates a probability which each label.

"},{"location":"api/base/MultiTargetRegressor/","title":"MultiTargetRegressor","text":"

Multi-target regressor.

"},{"location":"api/base/MultiTargetRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, RegTarget]'
  • kwargs

predict_one

Predict the outputs of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[FeatureName, RegTarget]: The predictions.

"},{"location":"api/base/Regressor/","title":"Regressor","text":"

A regressor.

"},{"location":"api/base/Regressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/base/SupervisedTransformer/","title":"SupervisedTransformer","text":"

A supervised transformer.

"},{"location":"api/base/SupervisedTransformer/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/Transformer/","title":"Transformer","text":"

A transformer.

"},{"location":"api/base/Transformer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/base/Wrapper/","title":"Wrapper","text":"

A wrapper model.

"},{"location":"api/base/WrapperEnsemble/","title":"WrapperEnsemble","text":"

A wrapper ensemble is an ensemble composed of multiple copies of the same model.

"},{"location":"api/base/WrapperEnsemble/#parameters","title":"Parameters","text":"
  • model

    The model to copy.

  • n_models

    The number of copies to make.

  • seed

    Random number generator seed for reproducibility.

"},{"location":"api/base/WrapperEnsemble/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/base/WrapperEnsemble/#methods","title":"Methods","text":""},{"location":"api/cluster/CluStream/","title":"CluStream","text":"

CluStream

The CluStream algorithm 1 maintains statistical information about the data using micro-clusters. These micro-clusters are temporal extensions of cluster feature vectors. The micro-clusters are stored at snapshots in time following a pyramidal pattern. This pattern allows to recall summary statistics from different time horizons.

Training with a new point p is performed in two main tasks:

  • Determinate the closest micro-cluster to p.

  • Check whether p fits (memory) into the closest micro-cluster:

    • if p fits, put into micro-cluster

    • if p does not fit, free some space to insert a new micro-cluster.

    This is done in two ways, delete an old micro-cluster or merge the two micro-clusters closest to each other.

This implementation is an improved version from the original algorithm. Instead of calculating the traditional cluster feature vector of the number of observations, linear sum and sum of squares of data points and time stamps, this implementation adopts the use of Welford's algorithm 2 to calculate the incremental variance, facilitated through stats.Var available within River.

Since River does not support an actual \"off-line\" phase of the clustering algorithm (as data points are assumed to arrive continuously, one at a time), a time_gap parameter is introduced. After each time_gap, an incremental K-Means clustering algorithm will be initialized and applied on currently available micro-clusters to form the final solution, i.e. macro-clusters.

"},{"location":"api/cluster/CluStream/#parameters","title":"Parameters","text":"
  • n_macro_clusters

    Type \u2192 int

    Default \u2192 5

    The number of clusters (k) for the k-means algorithm.

  • max_micro_clusters

    Type \u2192 int

    Default \u2192 100

    The maximum number of micro-clusters to use.

  • micro_cluster_r_factor

    Type \u2192 int

    Default \u2192 2

    Multiplier for the micro-cluster radius. When deciding to add a new data point to a micro-cluster, the maximum boundary is defined as a factor of the micro_cluster_r_factor of the RMS deviation of the data points in the micro-cluster from the centroid.

  • time_window

    Type \u2192 int

    Default \u2192 1000

    If the current time is T and the time window is h, we only consider the data that arrived within the period (T-h,T).

  • time_gap

    Type \u2192 int

    Default \u2192 100

    An incremental k-means is applied on the current set of micro-clusters after each time_gap to form the final macro-cluster solution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for generating initial centroid positions.

  • kwargs

    Other parameters passed to the incremental kmeans at cluster.KMeans.

"},{"location":"api/cluster/CluStream/#attributes","title":"Attributes","text":"
  • centers (dict)

    Central positions of each cluster.

"},{"location":"api/cluster/CluStream/#examples","title":"Examples","text":"

In the following example, max_micro_clusters is set relatively low due to the limited number of training points. Moreover, all points are learnt before any predictions are made. The halflife is set at 0.4, to show that you can pass cluster.KMeans parameters via keyword arguments.

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [-4, 2],\n    [-4, 4],\n    [-4, 0],\n    [5, 0],\n    [5, 2],\n    [5, 4]\n]\n\nclustream = cluster.CluStream(\n    n_macro_clusters=3,\n    max_micro_clusters=5,\n    time_gap=3,\n    seed=0,\n    halflife=0.4\n)\n\nfor x, _ in stream.iter_array(X):\n    clustream.learn_one(x)\n\nclustream.predict_one({0: 1, 1: 1})\n
1\n

clustream.predict_one({0: -4, 1: 3})\n
2\n

clustream.predict_one({0: 4, 1: 3.5})\n
0\n

"},{"location":"api/cluster/CluStream/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to 1.0

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

  1. Aggarwal, C.C., Philip, S.Y., Han, J. and Wang, J., 2003, A framework for clustering evolving data streams. In Proceedings 2003 VLDB conference (pp. 81-92). Morgan Kaufmann.\u00a0\u21a9

  2. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1982. Updating formulae and a pairwise algorithm for computing sample variances. In COMPSTAT 1982 5th Symposium held at Toulouse 1982 (pp. 30-41). Physica, Heidelberg. https://doi.org/10.1007/978-3-642-51461-6_3.\u00a0\u21a9

"},{"location":"api/cluster/DBSTREAM/","title":"DBSTREAM","text":"

DBSTREAM

DBSTREAM 1 is a clustering algorithm for evolving data streams. It is the first micro-cluster-based online clustering component that explicitely captures the density between micro-clusters via a shared density graph. The density information in the graph is then exploited for reclustering based on actual density between adjacent micro clusters.

The algorithm is divided into two parts:

Online micro-cluster maintenance (learning)

For a new point p:

  • Find all micro clusters for which p falls within the fixed radius (clustering threshold). If no neighbor is found, a new micro cluster with a weight of 1 is created for p.

  • If no neighbor is found, a new micro cluster with a weight of 1 is created for p. If one or more neighbors of p are found, we update the micro clusters by applying the appropriate fading, increasing their weight and then we try to move them closer to p using the Gaussian neighborhood function.

  • Next, the shared density graph is updated. To prevent collapsing micro clusters, we will restrict the movement for micro clusters in case they come closer than \\(r\\) (clustering threshold) to each other. Finishing this process, the time stamp is also increased by 1.

  • Finally, the cleanup will be processed. It is executed every t_gap time steps, removing weak micro clusters and weak entries in the shared density graph to recover memory and improve the clustering algorithm's processing speed.

Offline generation of macro clusters (clustering)

The offline generation of macro clusters is generated through the two following steps:

  • The connectivity graph C is constructed using shared density entries between strong micro clusters. The edges in this connectivity graph with a connectivity value greater than the intersection threshold (\\(\\alpha\\)) are used to find connected components representing the final cluster.

  • After the connectivity graph is generated, a variant of the DBSCAN algorithm proposed by Ester et al. is applied to form all macro clusters from \\(\\alpha\\)-connected micro clusters.

"},{"location":"api/cluster/DBSTREAM/#parameters","title":"Parameters","text":"
  • clustering_threshold

    Type \u2192 float

    Default \u2192 1.0

    DBStream represents each micro cluster by a leader (a data point defining the micro cluster's center) and the density in an area of a user-specified radius \\(r\\) (clustering_threshold) around the center.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.01

    Parameter that controls the importance of historical data to current cluster. Note that fading_factor has to be different from 0.

  • cleanup_interval

    Type \u2192 float

    Default \u2192 2

    The time interval between two consecutive time points when the cleanup process is conducted.

  • intersection_factor

    Type \u2192 float

    Default \u2192 0.3

    The intersection factor related to the area of the overlap of the micro clusters relative to the area cover by micro clusters. This parameter is used to determine whether a micro cluster or a shared density is weak.

  • minimum_weight

    Type \u2192 float

    Default \u2192 1.0

    The minimum weight for a cluster to be not \"noisy\".

"},{"location":"api/cluster/DBSTREAM/#attributes","title":"Attributes","text":"
  • n_clusters

    Number of clusters generated by the algorithm.

  • clusters

    A set of final clusters of type DBStreamMicroCluster. However, these are either micro clusters, or macro clusters that are generated by merging all \\(\\alpha\\)-connected micro clusters. This set is generated through the offline phase of the algorithm.

  • centers

    Final clusters' centers.

  • micro_clusters

    Micro clusters generated by the algorithm. Instead of updating directly the new instance points into a nearest micro cluster, through each iteration, the weight and center will be modified so that the clusters are closer to the new points, using the Gaussian neighborhood function.

"},{"location":"api/cluster/DBSTREAM/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 0.5], [1, 0.625], [1, 0.75], [1, 1.125], [1, 1.5], [1, 1.75],\n    [4, 1.5], [4, 2.25], [4, 2.5], [4, 3], [4, 3.25], [4, 3.5]\n]\n\ndbstream = cluster.DBSTREAM(\n    clustering_threshold=1.5,\n    fading_factor=0.05,\n    cleanup_interval=4,\n    intersection_factor=0.5,\n    minimum_weight=1\n)\n\nfor x, _ in stream.iter_array(X):\n    dbstream.learn_one(x)\n\ndbstream.predict_one({0: 1, 1: 2})\n
0\n

dbstream.predict_one({0: 5, 1: 2})\n
1\n

dbstream._n_clusters\n
2\n

"},{"location":"api/cluster/DBSTREAM/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. Michael Hahsler and Matthew Bolanos (2016, pp 1449-1461). Clustering Data Streams Based on Shared Density between Micro-Clusters, IEEE Transactions on Knowledge and Data Engineering 28(6) . In Proceedings of the Sixth SIAM International Conference on Data Mining, April 20\u201322, 2006, Bethesda, MD, USA.\u00a0\u21a9

  2. Ester et al (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In KDD-96 Proceedings, AAAI.\u00a0\u21a9

"},{"location":"api/cluster/DenStream/","title":"DenStream","text":"

DenStream

DenStream 1 is a clustering algorithm for evolving data streams. DenStream can discover clusters with arbitrary shape and is robust against noise (outliers).

\"Dense\" micro-clusters (named core-micro-clusters) summarise the clusters of arbitrary shape. A pruning strategy based on the concepts of potential and outlier micro-clusters guarantees the precision of the weights of the micro-clusters with limited memory.

The algorithm is divided into two parts:

Online micro-cluster maintenance (learning)

For a new point p:

  • Try to merge p into either the nearest p-micro-cluster (potential), o-micro-cluster (outlier), or create a new o-micro-cluster and insert it into the outlier buffer.

  • For each T_p iterations, consider the weights of all potential and outlier micro-clusters. If their weights are smaller than a certain threshold (different for each type of micro-clusters), the micro-cluster is deleted.

Offline generation of clusters on-demand (clustering)

A variant of the DBSCAN algorithm 2 is used, such that all density-connected p-micro-clusters determine the final clusters. Moreover, in order for the algorithm to always be able to generate clusters, a certain number of points must be passed through the algorithm with a suitable streaming speed (number of points passed through within a unit time), indicated by n_samples_init and stream_speed.

"},{"location":"api/cluster/DenStream/#parameters","title":"Parameters","text":"
  • decaying_factor

    Type \u2192 float

    Default \u2192 0.25

    Parameter that controls the importance of historical data to current cluster. Note that decaying_factor has to be different from 0.

  • beta

    Type \u2192 float

    Default \u2192 0.75

    Parameter to determine the threshold of outlier relative to core micro-clusters. The value of beta must be within the range (0,1].

  • mu

    Type \u2192 float

    Default \u2192 2

    Parameter to determine the threshold of outliers relative to core micro-cluster. As beta * mu must be greater than 1, mu must be within the range (1/beta, inf).

  • epsilon

    Type \u2192 float

    Default \u2192 0.02

    Defines the epsilon neighborhood

  • n_samples_init

    Type \u2192 int

    Default \u2192 1000

    Number of points to to initiqalize the online process

  • stream_speed

    Type \u2192 int

    Default \u2192 100

    Number of points arrived in unit time

"},{"location":"api/cluster/DenStream/#attributes","title":"Attributes","text":"
  • n_clusters

    Number of clusters generated by the algorithm.

  • clusters

    A set of final clusters of type MicroCluster, which means that these cluster include all the required information, including number of points, creation time, weight, (weighted) linear sum, (weighted) square sum, center and radius.

  • p_micro_clusters

    The potential core-icro-clusters that are generated by the algorithm. When a generate cluster request arrives, these p-micro-clusters will go through a variant of the DBSCAN algorithm to determine the final clusters.

  • o_micro_clusters

    The outlier micro-clusters.

"},{"location":"api/cluster/DenStream/#examples","title":"Examples","text":"

The following example uses the default parameters of the algorithm to test its functionality. The set of evolving points X are designed so that clusters are easily identifiable.

from river import cluster\nfrom river import stream\n\nX = [\n    [-1, -0.5], [-1, -0.625], [-1, -0.75], [-1, -1], [-1, -1.125],\n    [-1, -1.25], [-1.5, -0.5], [-1.5, -0.625], [-1.5, -0.75], [-1.5, -1],\n    [-1.5, -1.125], [-1.5, -1.25], [1, 1.5], [1, 1.75], [1, 2],\n    [4, 1.25], [4, 1.5], [4, 2.25], [4, 2.5], [4, 3],\n    [4, 3.25], [4, 3.5], [4, 3.75], [4, 4],\n]\n\ndenstream = cluster.DenStream(decaying_factor=0.01,\n                              beta=0.5,\n                              mu=2.5,\n                              epsilon=0.5,\n                              n_samples_init=10)\n\nfor x, _ in stream.iter_array(X):\n    denstream.learn_one(x)\n\ndenstream.predict_one({0: -1, 1: -2})\n
1\n

denstream.predict_one({0: 5, 1: 4})\n
2\n

denstream.predict_one({0: 1, 1: 1})\n
0\n

denstream.n_clusters\n
3\n

"},{"location":"api/cluster/DenStream/#methods","title":"Methods","text":"BufferItem learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. Feng et al (2006, pp 328-339). Density-Based Clustering over an Evolving Data Stream with Noise. In Proceedings of the Sixth SIAM International Conference on Data Mining, April 20\u201322, 2006, Bethesda, MD, USA.\u00a0\u21a9

  2. Ester et al (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In KDD-96 Proceedings, AAAI.\u00a0\u21a9

"},{"location":"api/cluster/KMeans/","title":"KMeans","text":"

Incremental k-means.

The most common way to implement batch k-means is to use Lloyd's algorithm, which consists in assigning all the data points to a set of cluster centers and then moving the centers accordingly. This requires multiple passes over the data and thus isn't applicable in a streaming setting.

In this implementation we start by finding the cluster that is closest to the current observation. We then move the cluster's central position towards the new observation. The halflife parameter determines by how much to move the cluster toward the new observation. You will get better results if you scale your data appropriately.

"},{"location":"api/cluster/KMeans/#parameters","title":"Parameters","text":"
  • n_clusters

    Default \u2192 5

    Maximum number of clusters to assign.

  • halflife

    Default \u2192 0.5

    Amount by which to move the cluster centers, a reasonable value if between 0 and 1.

  • mu

    Default \u2192 0

    Mean of the normal distribution used to instantiate cluster positions.

  • sigma

    Default \u2192 1

    Standard deviation of the normal distribution used to instantiate cluster positions.

  • p

    Default \u2192 2

    Power parameter for the Minkowski metric. When p=1, this corresponds to the Manhattan distance, while p=2 corresponds to the Euclidean distance.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for generating initial centroid positions.

"},{"location":"api/cluster/KMeans/#attributes","title":"Attributes","text":"
  • centers (dict)

    Central positions of each cluster.

"},{"location":"api/cluster/KMeans/#examples","title":"Examples","text":"

In the following example the cluster assignments are exactly the same as when using sklearn's batch implementation. However changing the halflife parameter will produce different outputs.

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [-4, 2],\n    [-4, 4],\n    [-4, 0]\n]\n\nk_means = cluster.KMeans(n_clusters=2, halflife=0.1, sigma=3, seed=42)\n\nfor i, (x, _) in enumerate(stream.iter_array(X)):\n    k_means.learn_one(x)\n    print(f'{X[i]} is assigned to cluster {k_means.predict_one(x)}')\n
[1, 2] is assigned to cluster 1\n[1, 4] is assigned to cluster 1\n[1, 0] is assigned to cluster 0\n[-4, 2] is assigned to cluster 1\n[-4, 4] is assigned to cluster 1\n[-4, 0] is assigned to cluster 0\n

k_means.predict_one({0: 0, 1: 0})\n
0\n

k_means.predict_one({0: 4, 1: 4})\n
1\n

"},{"location":"api/cluster/KMeans/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

learn_predict_one

Equivalent to k_means.learn_one(x).predict_one(x), but faster.

Parameters

  • x

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'

Returns

int: A cluster number.

  1. Sequential k-Means Clustering \u21a9

  2. Sculley, D., 2010, April. Web-scale k-means clustering. In Proceedings of the 19th international conference on World wide web (pp. 1177-1178 \u21a9

"},{"location":"api/cluster/ODAC/","title":"ODAC","text":"

The Online Divisive-Agglomerative Clustering (ODAC)1 aims at continuously maintaining a hierarchical cluster structure from evolving time series data streams.

ODAC continuosly monitors the evolution of clusters' diameters and split or merge them by gathering more data or reacting to concept drift. Such changes are supported by a confidence level that comes from the Hoeffding bound. ODAC relies on keeping the linear correlation between series to evaluate whether or not the time series hierarchy has changed.

The distance between time-series a and b is given by rnomc(a, b) = sqrt((1 - corr(a, b)) / 2), where corr(a, b) is the Pearson Correlation coefficient.

In the following topics, \u03b5 stands for the Hoeffding bound and considers clusters cj with descendants ck and cs.

The Merge Operator

The Splitting Criteria guarantees that cluster's diameters monotonically decrease.

  • If diameter (ck) - diameter (cj) > \u03b5 OR diameter (cs) - diameter (cj ) > \u03b5:

    • There is a change in the correlation structure, so merge clusters ck and cs into cj.

Splitting Criteria

Consider:

  • d0: the minimum distance;

  • d1: the farthest distance;

  • d_avg: the average distance;

  • d2: the second farthest distance.

Then:

  • if d1 - d2 > \u03b5k or t > \u03b5k then

    • if (d1 - d0)|(d1 - d_avg) - (d_avg - d0) > \u03b5k then

      • Split the cluster
"},{"location":"api/cluster/ODAC/#parameters","title":"Parameters","text":"
  • confidence_level

    Type \u2192 float

    Default \u2192 0.9

    The confidence level that user wants to work.

  • n_min

    Type \u2192 int

    Default \u2192 100

    Number of minimum observations to gather before checking whether or not clusters must be split or merged.

  • tau

    Type \u2192 float

    Default \u2192 0.1

    Threshold below which a split will be forced to break ties.

"},{"location":"api/cluster/ODAC/#attributes","title":"Attributes","text":"
  • structure_changed (bool)

    This variable is true when the structure changed, produced by splitting or aggregation.

"},{"location":"api/cluster/ODAC/#examples","title":"Examples","text":"

from river import cluster\nfrom river.datasets import synth\n\nmodel = cluster.ODAC()\n\ndataset = synth.FriedmanDrift(drift_type='gra', position=(150, 200), seed=42)\n\nfor i, (x, _) in enumerate(dataset.take(500)):\n    model.learn_one(x)\n    if model.structure_changed:\n        print(f\"Structure changed at observation {i + 1}\")\n
Structure changed at observation 1\nStructure changed at observation 100\nStructure changed at observation 200\nStructure changed at observation 300\n

print(model.draw(n_decimal_places=2))\n
ROOT d1=0.79 d2=0.76 [NOT ACTIVE]\n\u251c\u2500\u2500 CH1_LVL_1 d1=0.74 d2=0.72 [NOT ACTIVE]\n\u2502   \u251c\u2500\u2500 CH1_LVL_2 d1=<Not calculated> [3]\n\u2502   \u2514\u2500\u2500 CH2_LVL_2 d1=0.73 [2, 4]\n\u2514\u2500\u2500 CH2_LVL_1 d1=0.81 d2=0.78 [NOT ACTIVE]\n    \u251c\u2500\u2500 CH1_LVL_2 d1=0.73 d2=0.67 [NOT ACTIVE]\n    \u2502   \u251c\u2500\u2500 CH1_LVL_3 d1=0.72 [0, 9]\n    \u2502   \u2514\u2500\u2500 CH2_LVL_3 d1=<Not calculated> [1]\n    \u2514\u2500\u2500 CH2_LVL_2 d1=0.74 d2=0.73 [NOT ACTIVE]\n        \u251c\u2500\u2500 CH1_LVL_3 d1=0.71 [5, 6]\n        \u2514\u2500\u2500 CH2_LVL_3 d1=0.71 [7, 8]\n

You can acess some properties of the clustering model directly:

model.n_clusters\n
11\n

model.n_active_clusters\n
6\n

model.height\n
3\n

These properties are also available in a summarized form:

model.summary\n
{'n_clusters': 11, 'n_active_clusters': 6, 'height': 3}\n

"},{"location":"api/cluster/ODAC/#methods","title":"Methods","text":"draw

Method to draw the hierarchical cluster's structure.

Parameters

  • n_decimal_places \u2014 'int' \u2014 defaults to 2

learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'

predict_one

This algorithm does not predict anything. It builds a hierarchical cluster's structure.

Parameters

  • x \u2014 'dict'

  1. Hierarchical clustering of time-series data streams. \u21a9

"},{"location":"api/cluster/STREAMKMeans/","title":"STREAMKMeans","text":"

STREAMKMeans

STREAMKMeans is an alternative version of the original algorithm STREAMLSEARCH proposed by O'Callaghan et al. 1, by replacing the k-medians using LSEARCH by the k-means algorithm.

However, instead of using the traditional k-means, which requires a total reclustering each time the temporary chunk of data points is full, the implementation of this algorithm uses an increamental k-means.

At first, the cluster centers are initialized with a KMeans instance. For a new point p:

  • If the size of chunk is less than the maximum size allowed, add the new point to the temporary chunk.

  • When the size of chunk reaches the maximum value size allowed

    • A new incremental KMeans instance is created. The latter will process all points in the

    temporary chunk. The centers of this new instance then become the new centers.

    • All points are deleted from the temporary chunk so that new points can be added.
  • When a prediction request arrives, the centers of the algorithm will be exactly the same as the centers of the original KMeans at the time of retrieval.

"},{"location":"api/cluster/STREAMKMeans/#parameters","title":"Parameters","text":"
  • chunk_size

    Default \u2192 10

    Maximum size allowed for the temporary data chunk.

  • n_clusters

    Default \u2192 2

    Number of clusters generated by the algorithm.

  • kwargs

    Other parameters passed to the incremental kmeans at cluster.KMeans.

"},{"location":"api/cluster/STREAMKMeans/#attributes","title":"Attributes","text":"
  • centers

    Cluster centers generated from running the incremental KMeans algorithm through centers of each chunk.

"},{"location":"api/cluster/STREAMKMeans/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\n\nX = [\n    [1, 0.5], [1, 0.625], [1, 0.75], [1, 1.125], [1, 1.5], [1, 1.75],\n    [4, 1.5], [4, 2.25], [4, 2.5], [4, 3], [4, 3.25], [4, 3.5]\n]\n\nstreamkmeans = cluster.STREAMKMeans(chunk_size=3, n_clusters=2, halflife=0.5, sigma=1.5, seed=0)\n\nfor x, _ in stream.iter_array(X):\n    streamkmeans.learn_one(x)\n\nstreamkmeans.predict_one({0: 1, 1: 0})\n
0\n

streamkmeans.predict_one({0: 5, 1: 2})\n
1\n

"},{"location":"api/cluster/STREAMKMeans/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None

Returns

int: A cluster number.

  1. O'Callaghan et al. (2002). Streaming-data algorithms for high-quality clustering. In Proceedings 18th International Conference on Data Engineering, Feb 26 - March 1, San Jose, CA, USA. DOI: 10.1109/ICDE.2002.994785.\u00a0\u21a9

"},{"location":"api/cluster/TextClust/","title":"TextClust","text":"

textClust, a clustering algorithm for text data.

textClust 12 is a stream clustering algorithm for textual data that can identify and track topics over time in a stream of texts. The algorithm uses a widely popular two-phase clustering approach where the stream is first summarised in real-time.

The result is many small preliminary clusters in the stream called micro-clusters. Micro-clusters maintain enough information to update and efficiently calculate the cosine similarity between them over time, based on the TF-IDF vector of their texts. Upon request, the miro-clusters can be reclustered to generate the final result using any distance-based clustering algorithm, such as hierarchical clustering. To keep the micro-clusters up-to-date, our algorithm applies a fading strategy where micro-clusters that are not updated regularly lose relevance and are eventually removed.

"},{"location":"api/cluster/TextClust/#parameters","title":"Parameters","text":"
  • radius

    Default \u2192 0.3

    Distance threshold to merge two micro-clusters. Must be within the range (0, 1]

  • fading_factor

    Default \u2192 0.0005

    Fading factor of micro-clusters

  • tgap

    Default \u2192 100

    Time between outlier removal

  • term_fading

    Default \u2192 True

    Determines whether individual terms should also be faded

  • real_time_fading

    Default \u2192 True

    Parameter that specifies whether natural time or the number of observations should be used for fading

  • micro_distance

    Default \u2192 tfidf_cosine_distance

    Distance metric used for clustering macro-clusters

  • macro_distance

    Default \u2192 tfidf_cosine_distance

    Distance metric used for clustering macro-clusters

  • num_macro

    Default \u2192 3

    Number of macro clusters that should be identified during the reclustering phase

  • min_weight

    Default \u2192 0

    Minimum weight of micro clusters to be used for reclustering

  • auto_r

    Default \u2192 False

    Parameter that specifies if radius should be automatically updated

  • auto_merge

    Default \u2192 True

    Determines, if close observations shall be merged together

  • sigma

    Default \u2192 1

    Parameter that influences the automated trheshold adaption technique

"},{"location":"api/cluster/TextClust/#attributes","title":"Attributes","text":"
  • micro_clusters

    Micro-clusters generated by the algorithm. Micro-clusters are of type textclust.microcluster

"},{"location":"api/cluster/TextClust/#examples","title":"Examples","text":"

from river import compose\nfrom river import feature_extraction\nfrom river import metrics\nfrom river import cluster\n\ncorpus = [\n   {\"text\":'This is the first document.',\"idd\":1, \"cluster\": 1, \"cluster\":1},\n   {\"text\":'This document is the second document.',\"idd\":2,\"cluster\": 1},\n   {\"text\":'And this is super unrelated.',\"idd\":3,\"cluster\": 2},\n   {\"text\":'Is this the first document?',\"idd\":4,\"cluster\": 1},\n   {\"text\":'This is super unrelated as well',\"idd\":5,\"cluster\": 2},\n   {\"text\":'Test text',\"idd\":6,\"cluster\": 5}\n]\n\nstopwords = [ 'stop', 'the', 'to', 'and', 'a', 'in', 'it', 'is', 'I']\n\nmetric = metrics.AdjustedRand()\n\nmodel = compose.Pipeline(\n    feature_extraction.BagOfWords(lowercase=True, ngram_range=(1, 2), stop_words=stopwords),\n    cluster.TextClust(real_time_fading=False, fading_factor=0.001, tgap=100, auto_r=True,\n    radius=0.9)\n)\n\nfor x in corpus:\n    y_pred = model.predict_one(x[\"text\"])\n    y = x[\"cluster\"]\n    metric.update(y,y_pred)\n    model.learn_one(x[\"text\"])\n\nprint(metric)\n
AdjustedRand: -0.17647058823529413\n

"},{"location":"api/cluster/TextClust/#methods","title":"Methods","text":"distances get_assignment get_macroclusters learn_one

Update the model with a set of features x.

Parameters

  • x \u2014 'dict'
  • t \u2014 defaults to None
  • w \u2014 defaults to None

microcluster predict_one

Predicts the cluster number for a set of features x.

Parameters

  • x \u2014 'dict'
  • w \u2014 defaults to None
  • type \u2014 defaults to micro

Returns

int: A cluster number.

showclusters tfcontainer updateMacroClusters
  1. Assenmacher, D. und Trautmann, H. (2022). Textual One-Pass Stream Clustering with Automated Distance Threshold Adaption. In: Asian Conference on Intelligent Information and Database Systems (Accepted)\u00a0\u21a9

  2. Carnein, M., Assenmacher, D., Trautmann, H. (2017). Stream Clustering of Chat Messages with Applications to Twitch Streams. In: Advances in Conceptual Modeling. ER 2017.\u00a0\u21a9

"},{"location":"api/compat/River2SKLClassifier/","title":"River2SKLClassifier","text":"

Compatibility layer from River to scikit-learn for classification.

"},{"location":"api/compat/River2SKLClassifier/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Classifier

"},{"location":"api/compat/River2SKLClassifier/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y

Returns

self

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y
  • classes \u2014 defaults to None

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Predicted target values for each row of X.

predict_proba

Predicts the target probability of an entire dataset contained in memory.

Parameters

  • X

Returns

Predicted target values for each row of X.

score

Return the mean accuracy on the given test data and labels.

In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.

Parameters

  • X
  • y
  • sample_weight \u2014 defaults to None

Returns

float

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

set_partial_fit_request

Request metadata passed to the partial_fit method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to partial_fit if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to partial_fit. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • classes \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLClassifier: object

set_score_request

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to score. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • sample_weight \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLClassifier: object

"},{"location":"api/compat/River2SKLClusterer/","title":"River2SKLClusterer","text":"

Compatibility layer from River to scikit-learn for clustering.

"},{"location":"api/compat/River2SKLClusterer/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Clusterer

"},{"location":"api/compat/River2SKLClusterer/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

fit_predict

Perform clustering on X and returns cluster labels.

Parameters

  • X
  • y \u2014 defaults to None

Returns

ndarray of shape (n_samples,), dtype=np.int64

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Transformed output.

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

"},{"location":"api/compat/River2SKLRegressor/","title":"River2SKLRegressor","text":"

Compatibility layer from River to scikit-learn for regression.

"},{"location":"api/compat/River2SKLRegressor/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Regressor

"},{"location":"api/compat/River2SKLRegressor/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y

Returns

self

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y

Returns

self

predict

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

np.ndarray: Predicted target values for each row of X.

score

Return the coefficient of determination of the prediction.

The coefficient of determination :math:R^2 is defined as :math:(1 - \\frac{u}{v}), where :math:u is the residual sum of squares ((y_true - y_pred)** 2).sum() and :math:v is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a :math:R^2 score of 0.0.

Parameters

  • X
  • y
  • sample_weight \u2014 defaults to None

Returns

float

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

set_score_request

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see :func:sklearn.set_config). Please see :ref:User Guide <metadata_routing> on how the routing mechanism works. The options for each parameter are: - True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided. - False: metadata is not requested and the meta-estimator will not pass it to score. - None: metadata is not requested, and the meta-estimator will raise an error if the user provides it. - str: metadata should be passed to the meta-estimator with this given alias instead of the original name. The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others. .. versionadded:: 1.3 .. note:: This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a :class:~sklearn.pipeline.Pipeline. Otherwise it has no effect.

Parameters

  • sample_weight \u2014 Union[bool, NoneType, str] \u2014 defaults to $UNCHANGED$

Returns

River2SKLRegressor: object

"},{"location":"api/compat/River2SKLTransformer/","title":"River2SKLTransformer","text":"

Compatibility layer from River to scikit-learn for transformation.

"},{"location":"api/compat/River2SKLTransformer/#parameters","title":"Parameters","text":"
  • river_estimator

    Type \u2192 base.Transformer

"},{"location":"api/compat/River2SKLTransformer/#methods","title":"Methods","text":"fit

Fits to an entire dataset contained in memory.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

fit_transform

Fit to data, then transform it.

Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.

Parameters

  • X
  • y \u2014 defaults to None
  • fit_params

Returns

ndarray array of shape (n_samples, n_features_new)

get_metadata_routing

Get metadata routing of this object.

Please check :ref:User Guide <metadata_routing> on how the routing mechanism works.

Returns

MetadataRequest

get_params

Get parameters for this estimator.

Parameters

  • deep \u2014 defaults to True

Returns

dict

partial_fit

Fits incrementally on a portion of a dataset.

Parameters

  • X
  • y \u2014 defaults to None

Returns

self

set_output

Set output container.

See :ref:sphx_glr_auto_examples_miscellaneous_plot_set_output.py for an example on how to use the API.

Parameters

  • transform \u2014 defaults to None

Returns

estimator instance

set_params

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as :class:~sklearn.pipeline.Pipeline). The latter have parameters of the form <component>__<parameter> so that it's possible to update each component of a nested object.

Parameters

  • params

Returns

estimator instance

transform

Predicts the target of an entire dataset contained in memory.

Parameters

  • X

Returns

Transformed output.

"},{"location":"api/compat/SKL2RiverClassifier/","title":"SKL2RiverClassifier","text":"

Compatibility layer from scikit-learn to River for classification.

"},{"location":"api/compat/SKL2RiverClassifier/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.ClassifierMixin

    A scikit-learn regressor which has a partial_fit method.

  • classes

    Type \u2192 list

"},{"location":"api/compat/SKL2RiverClassifier/#examples","title":"Examples","text":"

from river import compat\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import linear_model\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_breast_cancer(),\n    shuffle=True,\n    seed=42\n)\n\nmodel = preprocessing.StandardScaler()\nmodel |= compat.convert_sklearn_to_river(\n    estimator=linear_model.SGDClassifier(\n        loss='log_loss',\n        eta0=0.01,\n        learning_rate='constant'\n    ),\n    classes=[False, True]\n)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.198029\n

"},{"location":"api/compat/SKL2RiverClassifier/#methods","title":"Methods","text":"learn_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_many predict_one

Predict the label of a set of features x.

Parameters

  • x

Returns

The predicted label.

predict_proba_many predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/compat/SKL2RiverRegressor/","title":"SKL2RiverRegressor","text":"

Compatibility layer from scikit-learn to River for regression.

"},{"location":"api/compat/SKL2RiverRegressor/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.BaseEstimator

    A scikit-learn transformer which has a partial_fit method.

"},{"location":"api/compat/SKL2RiverRegressor/#examples","title":"Examples","text":"

from river import compat\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import linear_model\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_diabetes(),\n    shuffle=True,\n    seed=42\n)\n\nscaler = preprocessing.StandardScaler()\nsgd_reg = compat.convert_sklearn_to_river(linear_model.SGDRegressor())\nmodel = scaler | sgd_reg\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 84.501421\n

"},{"location":"api/compat/SKL2RiverRegressor/#methods","title":"Methods","text":"learn_many learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_many predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/compat/convert-river-to-sklearn/","title":"convert_river_to_sklearn","text":"

Wraps a river estimator to make it compatible with scikit-learn.

"},{"location":"api/compat/convert-river-to-sklearn/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 base.Estimator

"},{"location":"api/compat/convert-sklearn-to-river/","title":"convert_sklearn_to_river","text":"

Wraps a scikit-learn estimator to make it compatible with river.

"},{"location":"api/compat/convert-sklearn-to-river/#parameters","title":"Parameters","text":"
  • estimator

    Type \u2192 sklearn_base.BaseEstimator

  • classes

    Type \u2192 list | None

    Default \u2192 None

    Class names necessary for classifiers.

"},{"location":"api/compose/Discard/","title":"Discard","text":"

Removes features.

This can be used in a pipeline when you want to remove certain features. The transform_one method is pure, and therefore returns a fresh new dictionary instead of removing the specified keys from the input.

"},{"location":"api/compose/Discard/#parameters","title":"Parameters","text":"
  • keys

    Type \u2192 tuple[base.typing.FeatureName]

    Key(s) to discard.

"},{"location":"api/compose/Discard/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12, 'c': 13}\ncompose.Discard('a', 'b').transform_one(x)\n
{'c': 13}\n

You can chain a discarder with any estimator in order to apply said estimator to the desired features.

from river import feature_extraction as fx\n\nx = {'sales': 10, 'shop': 'Ikea', 'country': 'Sweden'}\n\npipeline = (\n    compose.Discard('shop', 'country') |\n    fx.PolynomialExtender()\n)\npipeline.transform_one(x)\n
{'sales': 10, 'sales*sales': 100}\n

"},{"location":"api/compose/Discard/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/FuncTransformer/","title":"FuncTransformer","text":"

Wraps a function to make it usable in a pipeline.

There is often a need to apply an arbitrary transformation to a set of features. For instance, this could involve parsing a date and then extracting the hour from said date. If you're processing a stream of data, then you can do this yourself by calling the necessary code at your leisure. On the other hand, if you want to do this as part of a pipeline, then you need to follow a simple convention.

To use a function as part of a pipeline, take as input a dict of features and output a dict. Once you have initialized this class with your function, then you can use it like you would use any other (unsupervised) transformer.

It is up to you if you want your function to be pure or not. By pure we refer to a function that doesn't modify its input. However, we recommend writing pure functions because this reduces the chances of inserting bugs into your pipeline.

"},{"location":"api/compose/FuncTransformer/#parameters","title":"Parameters","text":"
  • func

    Type \u2192 typing.Callable[[dict], dict]

    A function that takes as input a dict and outputs a dict.

"},{"location":"api/compose/FuncTransformer/#examples","title":"Examples","text":"

from pprint import pprint\nimport datetime as dt\nfrom river import compose\n\nx = {'date': '2019-02-14'}\n\ndef parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    x['is_weekend'] = date.day in (5, 6)\n    x['hour'] = date.hour\n    return x\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'date': '2019-02-14', 'hour': 0, 'is_weekend': False}\n

The above example is not pure because it modifies the input. The following example is pure and produces the same output:

def parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    return {'is_weekend': date.day in (5, 6), 'hour': date.hour}\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'hour': 0, 'is_weekend': False}\n

The previous example doesn't include the date feature because it returns a new dict. However, a common usecase is to add a feature to an existing set of features. You can do this in a pure way by unpacking the input dict into the output dict:

def parse_date(x):\n    date = dt.datetime.strptime(x['date'], '%Y-%m-%d')\n    return {'is_weekend': date.day in (5, 6), 'hour': date.hour, **x}\n\nt = compose.FuncTransformer(parse_date)\npprint(t.transform_one(x))\n
{'date': '2019-02-14', 'hour': 0, 'is_weekend': False}\n

You can add FuncTransformer to a pipeline just like you would with any other transformer.

from river import naive_bayes\n\npipeline = compose.FuncTransformer(parse_date) | naive_bayes.MultinomialNB()\npipeline\n
Pipeline (\n  FuncTransformer (\n    func=\"parse_date\"\n  ),\n  MultinomialNB (\n    alpha=1.\n  )\n)\n

If you provide a function without wrapping it, then the pipeline will do it for you:

pipeline = parse_date | naive_bayes.MultinomialNB()\n
"},{"location":"api/compose/FuncTransformer/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Grouper/","title":"Grouper","text":"

Applies a transformer within different groups.

This transformer allows you to split your data into groups and apply a transformer within each group. This happens in a streaming manner, which means that the groups are discovered online. A separate copy of the provided transformer is made whenever a new group appears. The groups are defined according to one or more keys.

"},{"location":"api/compose/Grouper/#parameters","title":"Parameters","text":"
  • transformer

    Type \u2192 base.Transformer

  • by

    Type \u2192 base.typing.FeatureName | list[base.typing.FeatureName]

    The field on which to group the data. This can either by a single value, or a list of values.

"},{"location":"api/compose/Grouper/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Pipeline/","title":"Pipeline","text":"

A pipeline of estimators.

Pipelines allow you to chain different steps into a sequence. Typically, when doing supervised learning, a pipeline contains one or more transformation steps, whilst it's a regressor or a classifier. It is highly recommended to use pipelines with River. Indeed, in an online learning setting, it is very practical to have a model defined as a single object. Take a look at the user guide for further information and practical examples.

One special thing to take notice to is the way transformers are handled. It is usual to predict something for a sample and wait for the ground truth to arrive. In such a scenario, the features are seen before the ground truth arrives. Therefore, the unsupervised parts of the pipeline are updated when predict_one and predict_proba_one are called. Usually the unsupervised parts of the pipeline are all the steps that precede the final step, which is a supervised model. However, some transformers are supervised and are therefore also updated during calls to learn_one.

"},{"location":"api/compose/Pipeline/#parameters","title":"Parameters","text":"
  • steps

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/Pipeline/#examples","title":"Examples","text":"

The recommended way to declare a pipeline is to use the | operator. The latter allows you to chain estimators in a very terse manner:

from river import linear_model\nfrom river import preprocessing\n\nscaler = preprocessing.StandardScaler()\nlog_reg = linear_model.LinearRegression()\nmodel = scaler | log_reg\n

This results in a pipeline that stores each step inside a dictionary.

model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

You can access parts of a pipeline in the same manner as a dictionary:

model['LinearRegression']\n
LinearRegression (\n  optimizer=SGD (\n    lr=Constant (\n      learning_rate=0.01\n    )\n  )\n  loss=Squared ()\n  l2=0.\n  l1=0.\n  intercept_init=0.\n  intercept_lr=Constant (\n    learning_rate=0.01\n  )\n  clip_gradient=1e+12\n  initializer=Zeros ()\n)\n

Note that you can also declare a pipeline by using the compose.Pipeline constructor method, which is slightly more verbose:

from river import compose\n\nmodel = compose.Pipeline(scaler, log_reg)\n

By using a compose.TransformerUnion, you can define complex pipelines that apply different steps to different parts of the data. For instance, we can extract word counts from text data, and extract polynomial features from numeric data.

from river import feature_extraction as fx\n\ntfidf = fx.TFIDF('text')\ncounts = fx.BagOfWords('text')\ntext_part = compose.Select('text') | (tfidf + counts)\n\nnum_part = compose.Select('a', 'b') | fx.PolynomialExtender()\n\nmodel = text_part + num_part\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n

The following shows an example of using debug_one to visualize how the information flows and changes throughout the pipeline.

from river import compose\nfrom river import naive_bayes\n\ndataset = [\n    ('A positive comment', True),\n    ('A negative comment', False),\n    ('A happy comment', True),\n    ('A lovely comment', True),\n    ('A harsh comment', False)\n]\n\ntfidf = fx.TFIDF() | compose.Prefixer('tfidf_')\ncounts = fx.BagOfWords() | compose.Prefixer('count_')\nmnb = naive_bayes.MultinomialNB()\nmodel = (tfidf + counts) | mnb\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nx = dataset[0][0]\nreport = model.debug_one(dataset[0][0])\nprint(report)\n
0. Input\n--------\nA positive comment\n1. Transformer union\n--------------------\n    1.0 TFIDF | Prefixer\n    --------------------\n    tfidf_comment: 0.43017 (float)\n    tfidf_positive: 0.90275 (float)\n    1.1 BagOfWords | Prefixer\n    -------------------------\n    count_comment: 1 (int)\n    count_positive: 1 (int)\ncount_comment: 1 (int)\ncount_positive: 1 (int)\ntfidf_comment: 0.43017 (float)\ntfidf_positive: 0.90275 (float)\n2. MultinomialNB\n----------------\nFalse: 0.19221\nTrue: 0.80779\n

"},{"location":"api/compose/Pipeline/#methods","title":"Methods","text":"debug_one

Displays the state of a set of features as it goes through the pipeline.

Parameters

  • x \u2014 'dict'
  • show_types \u2014 defaults to True
  • n_decimals \u2014 defaults to 5

forecast

Return a forecast.

Only works if each estimator has a transform_one method and the final estimator has a forecast method. This is the case of time series models from the time_series module.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_many

Fit to a mini-batch.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None
  • params

learn_one

Fit to a single instance.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None
  • params

predict_many

Call transform_many, and then predict_many on the final step.

Parameters

  • X \u2014 'pd.DataFrame'

predict_one

Call transform_one on the first steps and predict_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

predict_proba_many

Call transform_many, and then predict_proba_many on the final step.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Call transform_one on the first steps and predict_proba_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

score_one

Call transform_one on the first steps and score_one on the last step.

Parameters

  • x \u2014 'dict'
  • params

transform_many

Apply each transformer in the pipeline to some features.

The final step in the pipeline will be applied if it is a transformer. If not, then it will be ignored and the output from the penultimate step will be returned. Note that the steps that precede the final step are assumed to all be transformers.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Apply each transformer in the pipeline to some features.

The final step in the pipeline will be applied if it is a transformer. If not, then it will be ignored and the output from the penultimate step will be returned. Note that the steps that precede the final step are assumed to all be transformers.

Parameters

  • x \u2014 'dict'
  • params

"},{"location":"api/compose/Prefixer/","title":"Prefixer","text":"

Prepends a prefix on features names.

"},{"location":"api/compose/Prefixer/#parameters","title":"Parameters","text":"
  • prefix

    Type \u2192 str

"},{"location":"api/compose/Prefixer/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12}\ncompose.Prefixer('prefix_').transform_one(x)\n
{'prefix_a': 42, 'prefix_b': 12}\n

"},{"location":"api/compose/Prefixer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Renamer/","title":"Renamer","text":"

Renames features following substitution rules.

"},{"location":"api/compose/Renamer/#parameters","title":"Parameters","text":"
  • mapping

    Type \u2192 dict[str, str]

    Dictionnary describing substitution rules. Keys in mapping that are not a feature's name are silently ignored.

"},{"location":"api/compose/Renamer/#examples","title":"Examples","text":"

from river import compose\n\nmapping = {'a': 'v', 'c': 'o'}\nx = {'a': 42, 'b': 12}\ncompose.Renamer(mapping).transform_one(x)\n
{'b': 12, 'v': 42}\n

"},{"location":"api/compose/Renamer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Select/","title":"Select","text":"

Selects features.

This can be used in a pipeline when you want to select certain features. The transform_one method is pure, and therefore returns a fresh new dictionary instead of filtering the specified keys from the input.

"},{"location":"api/compose/Select/#parameters","title":"Parameters","text":"
  • keys

    Type \u2192 tuple[base.typing.FeatureName]

    Key(s) to keep.

"},{"location":"api/compose/Select/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12, 'c': 13}\ncompose.Select('c').transform_one(x)\n
{'c': 13}\n

You can chain a selector with any estimator in order to apply said estimator to the desired features.

from river import feature_extraction as fx\n\nx = {'sales': 10, 'shop': 'Ikea', 'country': 'Sweden'}\n\npipeline = (\n    compose.Select('sales') |\n    fx.PolynomialExtender()\n)\npipeline.transform_one(x)\n
{'sales': 10, 'sales*sales': 100}\n

This transformer also supports mini-batch processing:

import random\nfrom river import compose\n\nrandom.seed(42)\nX = [{\"x_1\": random.uniform(8, 12), \"x_2\": random.uniform(8, 12)} for _ in range(6)]\nfor x in X:\n    print(x)\n
{'x_1': 10.557707193831535, 'x_2': 8.100043020890668}\n{'x_1': 9.100117273476478, 'x_2': 8.892842952595291}\n{'x_1': 10.94588485665605, 'x_2': 10.706797949691644}\n{'x_1': 11.568718270819382, 'x_2': 8.347755330517664}\n{'x_1': 9.687687278741082, 'x_2': 8.119188877752281}\n{'x_1': 8.874551899214413, 'x_2': 10.021421152413449}\n

import pandas as pd\nX = pd.DataFrame.from_dict(X)\n

You can then call transform_many to transform a mini-batch of features:

compose.Select('x_2').transform_many(X)\n
    x_2\n0   8.100043\n1   8.892843\n2  10.706798\n3   8.347755\n4   8.119189\n5  10.021421\n

"},{"location":"api/compose/Select/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/SelectType/","title":"SelectType","text":"

Selects features based on their type.

This is practical when you want to apply different preprocessing steps to different kinds of features. For instance, a common usecase is to apply a preprocessing.StandardScaler to numeric features and a preprocessing.OneHotEncoder to categorical features.

"},{"location":"api/compose/SelectType/#parameters","title":"Parameters","text":"
  • types

    Type \u2192 tuple[type]

    Python types which you want to select. Under the hood, the isinstance method will be used to check if a value is of a given type.

"},{"location":"api/compose/SelectType/#examples","title":"Examples","text":"
import numbers\nfrom river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\nnum = compose.SelectType(numbers.Number) | preprocessing.StandardScaler()\ncat = compose.SelectType(str) | preprocessing.OneHotEncoder()\nmodel = (num + cat) | linear_model.LogisticRegression()\n
"},{"location":"api/compose/SelectType/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/Suffixer/","title":"Suffixer","text":"

Appends a suffix on features names.

"},{"location":"api/compose/Suffixer/#parameters","title":"Parameters","text":"
  • suffix

    Type \u2192 str

"},{"location":"api/compose/Suffixer/#examples","title":"Examples","text":"

from river import compose\n\nx = {'a': 42, 'b': 12}\ncompose.Suffixer('_suffix').transform_one(x)\n
{'a_suffix': 42, 'b_suffix': 12}\n

"},{"location":"api/compose/Suffixer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/compose/TargetTransformRegressor/","title":"TargetTransformRegressor","text":"

Modifies the target before training.

The user is expected to check that func and inverse_func are coherent with each other.

"},{"location":"api/compose/TargetTransformRegressor/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

  • func

    Type \u2192 typing.Callable

    A function modifying the target before training.

  • inverse_func

    Type \u2192 typing.Callable

    A function to return to the target's original space.

"},{"location":"api/compose/TargetTransformRegressor/#examples","title":"Examples","text":"

import math\nfrom river import compose\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    compose.TargetTransformRegressor(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15),\n        func=math.log,\n        inverse_func=math.exp\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 10.999752\n

"},{"location":"api/compose/TargetTransformRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/compose/TransformerProduct/","title":"TransformerProduct","text":"

Computes interactions between the outputs of a set transformers.

This is for when you want to add interaction terms between groups of features. It may also be used an alternative to feature_extraction.PolynomialExtender when the latter is overkill.

"},{"location":"api/compose/TransformerProduct/#parameters","title":"Parameters","text":"
  • transformers

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/TransformerProduct/#examples","title":"Examples","text":"

Let's say we have a certain set of features with two groups. In practice these may be different namespaces, such one for items and the other for users.

x = dict(\n    a=0, b=1,  # group 1\n    x=2, y=3   # group 2\n)\n

We might want to add interaction terms between groups ('a', 'b') and ('x', 'y'), as so:

from pprint import pprint\nfrom river.compose import Select, TransformerProduct\n\nproduct = TransformerProduct(\n    Select('a', 'b'),\n    Select('x', 'y')\n)\npprint(product.transform_one(x))\n
{'a*x': 0, 'a*y': 0, 'b*x': 2, 'b*y': 3}\n

This can also be done with the following shorthand:

product = Select('a', 'b') * Select('x', 'y')\npprint(product.transform_one(x))\n
{'a*x': 0, 'a*y': 0, 'b*x': 2, 'b*y': 3}\n

If you want to include the original terms, you can do something like this:

group_1 = Select('a', 'b')\ngroup_2 = Select('x', 'y')\nproduct = group_1 + group_2 + group_1 * group_2\npprint(product.transform_one(x))\n
{'a': 0, 'a*x': 0, 'a*y': 0, 'b': 1, 'b*x': 2, 'b*y': 3, 'x': 2, 'y': 3}\n

"},{"location":"api/compose/TransformerProduct/#methods","title":"Methods","text":"learn_many

Update each transformer.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None

learn_one

Update each transformer.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

transform_many

Passes the data through each transformer and packs the results together.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Passes the data through each transformer and packs the results together.

Parameters

  • x \u2014 'dict'

"},{"location":"api/compose/TransformerUnion/","title":"TransformerUnion","text":"

Packs multiple transformers into a single one.

Pipelines allow you to apply steps sequentially. Therefore, the output of a step becomes the input of the next one. In many cases, you may want to pass the output of a step to multiple steps. This simple transformer allows you to do so. In other words, it enables you to apply particular steps to different parts of an input. A typical example is when you want to scale numeric features and one-hot encode categorical features.

This transformer is essentially a list of transformers. Whenever it is updated, it loops through each transformer and updates them. Meanwhile, calling transform_one collects the output of each transformer and merges them into a single dictionary.

"},{"location":"api/compose/TransformerUnion/#parameters","title":"Parameters","text":"
  • transformers

    Ideally, a list of (name, estimator) tuples. A name is automatically inferred if none is provided.

"},{"location":"api/compose/TransformerUnion/#examples","title":"Examples","text":"

Take the following dataset:

X = [\n    {'place': 'Taco Bell', 'revenue': 42},\n    {'place': 'Burger King', 'revenue': 16},\n    {'place': 'Burger King', 'revenue': 24},\n    {'place': 'Taco Bell', 'revenue': 58},\n    {'place': 'Burger King', 'revenue': 20},\n    {'place': 'Taco Bell', 'revenue': 50}\n]\n

As an example, let's assume we want to compute two aggregates of a dataset. We therefore define two feature_extraction.Aggs and initialize a TransformerUnion with them:

from river import compose\nfrom river import feature_extraction\nfrom river import stats\n\nmean = feature_extraction.Agg(\n    on='revenue', by='place',\n    how=stats.Mean()\n)\ncount = feature_extraction.Agg(\n    on='revenue', by='place',\n    how=stats.Count()\n)\nagg = compose.TransformerUnion(mean, count)\n

We can now update each transformer and obtain their output with a single function call:

from pprint import pprint\nfor x in X:\n    agg.learn_one(x)\n    pprint(agg.transform_one(x))\n
{'revenue_count_by_place': 1, 'revenue_mean_by_place': 42.0}\n{'revenue_count_by_place': 1, 'revenue_mean_by_place': 16.0}\n{'revenue_count_by_place': 2, 'revenue_mean_by_place': 20.0}\n{'revenue_count_by_place': 2, 'revenue_mean_by_place': 50.0}\n{'revenue_count_by_place': 3, 'revenue_mean_by_place': 20.0}\n{'revenue_count_by_place': 3, 'revenue_mean_by_place': 50.0}\n

Note that you can use the + operator as a shorthand notation:

agg = mean + count

This allows you to build complex pipelines in a very terse manner. For instance, we can create a pipeline that scales each feature and fits a logistic regression as so:

from river import linear_model as lm\nfrom river import preprocessing as pp\n\nmodel = (\n    (mean + count) |\n    pp.StandardScaler() |\n    lm.LogisticRegression()\n)\n

Whice is equivalent to the following code:

model = compose.Pipeline(\n    compose.TransformerUnion(mean, count),\n    pp.StandardScaler(),\n    lm.LogisticRegression()\n)\n

Note that you access any part of a TransformerUnion by name:

model['TransformerUnion']['Agg']\n
Agg (\n    on=\"revenue\"\n    by=['place']\n    how=Mean ()\n)\n

model['TransformerUnion']['Agg1']\n
Agg (\n    on=\"revenue\"\n    by=['place']\n    how=Count ()\n)\n

You can also manually provide a name for each step:

agg = compose.TransformerUnion(\n    ('Mean revenue by place', mean),\n    ('# by place', count)\n)\n

Mini-batch example:

X = pd.DataFrame([\n    {\"place\": 2, \"revenue\": 42},\n    {\"place\": 3, \"revenue\": 16},\n    {\"place\": 3, \"revenue\": 24},\n    {\"place\": 2, \"revenue\": 58},\n    {\"place\": 3, \"revenue\": 20},\n    {\"place\": 2, \"revenue\": 50},\n])\n

Since we need a transformer with mini-batch support to demonstrate, we shall use a StandardScaler.

from river import compose\nfrom river import preprocessing\n\nagg = (\n    compose.Select(\"place\") +\n    (compose.Select(\"revenue\") | preprocessing.StandardScaler())\n)\n\nagg.learn_many(X)\nagg.transform_many(X)\n
   place   revenue\n0      2  0.441250\n1      3 -1.197680\n2      3 -0.693394\n3      2  1.449823\n4      3 -0.945537\n5      2  0.945537\n

"},{"location":"api/compose/TransformerUnion/#methods","title":"Methods","text":"learn_many

Update each transformer.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series | None' \u2014 defaults to None

learn_one

Update each transformer.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

transform_many

Passes the data through each transformer and packs the results together.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Passes the data through each transformer and packs the results together.

Parameters

  • x \u2014 'dict'

"},{"location":"api/compose/learn-during-predict/","title":"learn_during_predict","text":"

A context manager for fitting unsupervised steps during prediction.

Usually, unsupervised parts of a pipeline are updated during learn_one. However, in the case of online learning, it is possible to update them before, during the prediction step. This context manager allows you to do so.

This usually brings a slight performance improvement. But it is not done by default because it is not intuitive and is more difficult to test. It also means that you have to call predict_one before learn_one in order for the whole pipeline to be updated.

"},{"location":"api/compose/learn-during-predict/#examples","title":"Examples","text":"

Let's first see what methods are called if we just call predict_one.

import io\nimport logging\nfrom river import compose\nfrom river import datasets\nfrom river import linear_model\nfrom river import preprocessing\nfrom river import utils\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nclass_condition = lambda x: x.__class__.__name__ in ('StandardScaler', 'LinearRegression')\n\nlogger = logging.getLogger()\nlogger.setLevel(logging.DEBUG)\n\nlogs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_one(x)\n\nprint(logs.getvalue())\n
StandardScaler.transform_one\nLinearRegression.predict_one\n

Now let's use the context manager and see what methods get called.

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition), compose.learn_during_predict():\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_one(x)\n\nprint(logs.getvalue())\n
StandardScaler.learn_one\nStandardScaler.transform_one\nLinearRegression.predict_one\n

We can see that the scaler did not get updated before transforming the data.

This also works when working with mini-batches.

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_many(pd.DataFrame([x]))\nprint(logs.getvalue())\n
StandardScaler.transform_many\nLinearRegression.predict_many\n

logs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition), compose.learn_during_predict():\n    for x, y in datasets.TrumpApproval().take(1):\n        _ = model.predict_many(pd.DataFrame([x]))\nprint(logs.getvalue())\n
StandardScaler.learn_many\nStandardScaler.transform_many\nLinearRegression.predict_many\n

"},{"location":"api/conf/Interval/","title":"Interval","text":"

An object to represent a (prediction) interval.

Users are not expected to use this class as-is. Instead, they should use the with_interval parameter of the predict_one method of any regressor or classifier wrapped with a conformal prediction method.

"},{"location":"api/conf/Interval/#parameters","title":"Parameters","text":"
  • lower

    Type \u2192 float

    The lower bound of the interval.

  • upper

    Type \u2192 float

    The upper bound of the interval.

"},{"location":"api/conf/Interval/#attributes","title":"Attributes","text":"
  • center

    The center of the interval.

  • width

    The width of the interval.

"},{"location":"api/conf/RegressionJackknife/","title":"RegressionJackknife","text":"

Jackknife method for regression.

This is a conformal prediction method for regression. It is based on the jackknife method. The idea is to compute the quantiles of the residuals of the regressor. The prediction interval is then computed as the prediction of the regressor plus the quantiles of the residuals.

This works naturally online, as the quantiles of the residuals are updated at each iteration. Each residual is produced before the regressor is updated, which ensures the predicted intervals are not optimistic.

Note that the produced intervals are marginal and not conditional. This means that the intervals are not adjusted for the features x. This is a limitation of the jackknife method. However, the jackknife method is very simple and efficient. It is also very robust to outliers.

"},{"location":"api/conf/RegressionJackknife/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regressor to be wrapped.

  • confidence_level

    Type \u2192 float

    Default \u2192 0.95

    The confidence level of the prediction intervals.

  • window_size

    Type \u2192 int | None

    Default \u2192 None

    The size of the window used to compute the quantiles of the residuals. If None, the quantiles are computed over the whole history. It is advised to set this if you expect the model's performance to change over time.

"},{"location":"api/conf/RegressionJackknife/#examples","title":"Examples","text":"
from river import conf\nfrom river import datasets\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\n\ndataset = datasets.TrumpApproval()\n\nmodel = conf.RegressionJackknife(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(intercept_lr=.1)\n    ),\n    confidence_level=0.9\n)\n\nvalidity = stats.Mean()\nefficiency = stats.Mean()\n\nfor x, y in dataset:\n    interval = model.predict_one(x, with_interval=True)\n    validity.update(y in interval)\n    efficiency.update(interval.width)\n    model.learn_one(x, y)\n

The interval's validity is the proportion of times the true value is within the interval. We specified a confidence level of 90%, so we expect the validity to be around 90%.

validity\n
Mean: 0.939061\n

The interval's efficiency is the average width of the intervals.

efficiency\n
Mean: 4.078361\n

Lowering the confidence lowering will mechanically improve the efficiency.

"},{"location":"api/conf/RegressionJackknife/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • with_interval \u2014 defaults to False
  • kwargs

Returns

The prediction.

  1. Barber, Rina Foygel, Emmanuel J. Candes, Aaditya Ramdas, and Ryan J. Tibshirani. \"Predictive inference with the jackknife+.\" The Annals of Statistics 49, no. 1 (2021): 486-507. \u21a9

"},{"location":"api/covariance/EmpiricalCovariance/","title":"EmpiricalCovariance","text":"

Empirical covariance matrix.

"},{"location":"api/covariance/EmpiricalCovariance/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/covariance/EmpiricalCovariance/#attributes","title":"Attributes","text":"
  • matrix
"},{"location":"api/covariance/EmpiricalCovariance/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import covariance\n\nnp.random.seed(42)\nX = pd.DataFrame(np.random.random((8, 3)), columns=[\"red\", \"green\", \"blue\"])\nX\n
        red     green      blue\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n5  0.183405  0.304242  0.524756\n6  0.431945  0.291229  0.611853\n7  0.139494  0.292145  0.366362\n

cov = covariance.EmpiricalCovariance()\nfor x in X.to_dict(orient=\"records\"):\n    cov.update(x)\ncov\n
        blue     green    red\n blue    0.076    0.020   -0.010\ngreen    0.020    0.113   -0.053\n  red   -0.010   -0.053    0.079\n

There is also an update_many method to process mini-batches. The results are identical.

cov = covariance.EmpiricalCovariance()\ncov.update_many(X)\ncov\n
        blue     green    red\n blue    0.076    0.020   -0.010\ngreen    0.020    0.113   -0.053\n  red   -0.010   -0.053    0.079\n

The covariances are stored in a dictionary, meaning any one of them can be accessed as such:

cov[\"blue\", \"green\"]\n
Cov: 0.020292\n

Diagonal entries are variances:

cov[\"blue\", \"blue\"]\n
Var: 0.076119\n

"},{"location":"api/covariance/EmpiricalCovariance/#methods","title":"Methods","text":"revert

Downdate with a single sample.

Parameters

  • x \u2014 'dict'

update

Update with a single sample.

Parameters

  • x \u2014 'dict'

update_many

Update with a dataframe of samples.

Parameters

  • X \u2014 'pd.DataFrame'

"},{"location":"api/covariance/EmpiricalPrecision/","title":"EmpiricalPrecision","text":"

Empirical precision matrix.

The precision matrix is the inverse of the covariance matrix.

This implementation leverages the Sherman-Morrison formula. The resulting inverse covariance matrix is not guaranteed to be identical to a batch computation. However, the difference shrinks with the number of observations.

"},{"location":"api/covariance/EmpiricalPrecision/#attributes","title":"Attributes","text":"
  • matrix
"},{"location":"api/covariance/EmpiricalPrecision/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import covariance\n\nnp.random.seed(42)\nX = pd.DataFrame(np.random.random((1000, 3)))\nX.head()\n
          0         1         2\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n

prec = covariance.EmpiricalPrecision()\nfor x in X.to_dict(orient=\"records\"):\n    prec.update(x)\n\nprec\n
    0        1        2\n0   12.026   -0.122   -0.214\n1   -0.122   11.276   -0.026\n2   -0.214   -0.026   11.632\n

pd.DataFrame(np.linalg.inv(np.cov(X.T, ddof=1)))\n
           0          1          2\n0  12.159791  -0.124966  -0.218671\n1  -0.124966  11.393394  -0.026662\n2  -0.218671  -0.026662  11.756907\n

"},{"location":"api/covariance/EmpiricalPrecision/#methods","title":"Methods","text":"update

Update with a single sample.

Parameters

  • x

update_many

Update with a dataframe of samples.

Parameters

  • X \u2014 'pd.DataFrame'

  1. Online Estimation of the Inverse Covariance Matrix - Markus Thill \u21a9

  2. Fast rank-one updates to matrix inverse? - Tim Vieira \u21a9

  3. Woodbury matrix identity \u21a9

"},{"location":"api/datasets/AirlinePassengers/","title":"AirlinePassengers","text":"

Monthly number of international airline passengers.

The stream contains 144 items and only one single feature, which is the month. The goal is to predict the number of passengers each month by capturing the trend and the seasonality of the data.

"},{"location":"api/datasets/AirlinePassengers/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/AirlinePassengers/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. International airline passengers: monthly totals in thousands. Jan 49 \u2013 Dec 60 \u21a9

"},{"location":"api/datasets/Bananas/","title":"Bananas","text":"

Bananas dataset.

An artificial dataset where instances belongs to several clusters with a banana shape. There are two attributes that correspond to the x and y axis, respectively.

"},{"location":"api/datasets/Bananas/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/Bananas/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. OpenML page \u21a9

"},{"location":"api/datasets/Bikes/","title":"Bikes","text":"

Bike sharing station information from the city of Toulouse.

The goal is to predict the number of bikes in 5 different bike stations from the city of Toulouse.

"},{"location":"api/datasets/Bikes/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Bikes/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. A short introduction and conclusion to the OpenBikes 2016 Challenge \u21a9

"},{"location":"api/datasets/ChickWeights/","title":"ChickWeights","text":"

Chick weights along time.

The stream contains 578 items and 3 features. The goal is to predict the weight of each chick along time, according to the diet the chick is on. The data is ordered by time and then by chick.

"},{"location":"api/datasets/ChickWeights/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/ChickWeights/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Chick weight dataset overview \u21a9

"},{"location":"api/datasets/CreditCard/","title":"CreditCard","text":"

Credit card frauds.

The datasets contains transactions made by credit cards in September 2013 by european cardholders. This dataset presents transactions that occurred in two days, where we have 492 frauds out of 284,807 transactions. The dataset is highly unbalanced, the positive class (frauds) account for 0.172% of all transactions.

It contains only numerical input variables which are the result of a PCA transformation. Unfortunately, due to confidentiality issues, we cannot provide the original features and more background information about the data. Features V1, V2, ... V28 are the principal components obtained with PCA, the only features which have not been transformed with PCA are 'Time' and 'Amount'. Feature 'Time' contains the seconds elapsed between each transaction and the first transaction in the dataset. The feature 'Amount' is the transaction Amount, this feature can be used for example-dependant cost-senstive learning. Feature 'Class' is the response variable and it takes value 1 in case of fraud and 0 otherwise.

"},{"location":"api/datasets/CreditCard/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/CreditCard/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Andrea Dal Pozzolo, Olivier Caelen, Reid A. Johnson and Gianluca Bontempi. Calibrating Probability with Undersampling for Unbalanced Classification. In Symposium on Computational Intelligence and Data Mining (CIDM), IEEE, 2015\u00a0\u21a9

  2. Dal Pozzolo, Andrea; Caelen, Olivier; Le Borgne, Yann-Ael; Waterschoot, Serge; Bontempi, Gianluca. Learned lessons in credit card fraud detection from a practitioner perspective, Expert systems with applications,41,10,4915-4928,2014, Pergamon\u00a0\u21a9

  3. Dal Pozzolo, Andrea; Boracchi, Giacomo; Caelen, Olivier; Alippi, Cesare; Bontempi, Gianluca. Credit card fraud detection: a realistic modeling and a novel learning strategy, IEEE transactions on neural networks and learning systems,29,8,3784-3797,2018,IEEE\u00a0\u21a9

  4. Dal Pozzolo, Andrea Adaptive Machine learning for credit card fraud detection ULB MLG PhD thesis (supervised by G. Bontempi)\u00a0\u21a9

  5. Carcillo, Fabrizio; Dal Pozzolo, Andrea; Le Borgne, Yann-Ael; Caelen, Olivier; Mazzer, Yannis; Bontempi, Gianluca. Scarff: a scalable framework for streaming credit card fraud detection with Spark, Information fusion,41, 182-194,2018,Elsevier\u00a0\u21a9

  6. Carcillo, Fabrizio; Le Borgne, Yann-Ael; Caelen, Olivier; Bontempi, Gianluca. Streaming active learning strategies for real-life credit card fraud detection: assessment and visualization, International Journal of Data Science and Analytics, 5,4,285-300,2018,Springer International Publishing\u00a0\u21a9

  7. Bertrand Lebichot, Yann-Ael Le Borgne, Liyun He, Frederic Oble, Gianluca Bontempi Deep-Learning Domain Adaptation Techniques for Credit Cards Fraud Detection, INNSBDDL 2019: Recent Advances in Big Data and Deep Learning, pp 78-88, 2019\u00a0\u21a9

  8. Fabrizio Carcillo, Yann-Ael Le Borgne, Olivier Caelen, Frederic Oble, Gianluca Bontempi Combining Unsupervised and Supervised Learning in Credit Card Fraud Detection Information Sciences, 2019\u00a0\u21a9

"},{"location":"api/datasets/Elec2/","title":"Elec2","text":"

Electricity prices in New South Wales.

This is a binary classification task, where the goal is to predict if the price of electricity will go up or down.

This data was collected from the Australian New South Wales Electricity Market. In this market, prices are not fixed and are affected by demand and supply of the market. They are set every five minutes. Electricity transfers to/from the neighboring state of Victoria were done to alleviate fluctuations.

"},{"location":"api/datasets/Elec2/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Elec2/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. SPLICE-2 Comparative Evaluation: Electricity Pricing \u21a9

  2. DataHub description \u21a9

"},{"location":"api/datasets/HTTP/","title":"HTTP","text":"

HTTP dataset of the KDD 1999 cup.

The goal is to predict whether or not an HTTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

"},{"location":"api/datasets/HTTP/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/HTTP/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. HTTP (KDDCUP99) dataset \u21a9

"},{"location":"api/datasets/Higgs/","title":"Higgs","text":"

Higgs dataset.

The data has been produced using Monte Carlo simulations. The first 21 features (columns 2-22) are kinematic properties measured by the particle detectors in the accelerator. The last seven features are functions of the first 21 features; these are high-level features derived by physicists to help discriminate between the two classes.

"},{"location":"api/datasets/Higgs/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Higgs/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/ImageSegments/","title":"ImageSegments","text":"

Image segments classification.

This dataset contains features that describe image segments into 7 classes: brickface, sky, foliage, cement, window, path, and grass.

"},{"location":"api/datasets/ImageSegments/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/ImageSegments/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/Insects/","title":"Insects","text":"

Insects dataset.

This dataset has different variants, which are:

  • abrupt_balanced

  • abrupt_imbalanced

  • gradual_balanced

  • gradual_imbalanced

  • incremental-abrupt_balanced

  • incremental-abrupt_imbalanced

  • incremental-reoccurring_balanced

  • incremental-reoccurring_imbalanced

  • incremental_balanced

  • incremental_imbalanced

  • out-of-control

The number of samples and the difficulty change from one variant to another. The number of classes is always the same (6), except for the last variant (24).

"},{"location":"api/datasets/Insects/#parameters","title":"Parameters","text":"
  • variant

    Default \u2192 abrupt_balanced

    Indicates which variant of the dataset to load.

"},{"location":"api/datasets/Insects/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Insects/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. USP DS repository \u21a9

  2. Souza, V., Reis, D.M.D., Maletzke, A.G. and Batista, G.E., 2020. Challenges in Benchmarking Stream Learning Algorithms with Real-world Data. arXiv preprint arXiv:2005.00113. \u21a9

"},{"location":"api/datasets/Keystroke/","title":"Keystroke","text":"

CMU keystroke dataset.

Users are tasked to type in a password. The task is to determine which user is typing in the password.

The only difference with the original dataset is that the \"sessionIndex\" and \"rep\" attributes have been dropped.

"},{"location":"api/datasets/Keystroke/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Keystroke/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Keystroke Dynamics - Benchmark Data Set \u21a9

"},{"location":"api/datasets/MaliciousURL/","title":"MaliciousURL","text":"

Malicious URLs dataset.

This dataset contains features about URLs that are classified as malicious or not.

"},{"location":"api/datasets/MaliciousURL/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/MaliciousURL/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Detecting Malicious URLs \u21a9

  2. Identifying Suspicious URLs: An Application of Large-Scale Online Learning \u21a9

"},{"location":"api/datasets/MovieLens100K/","title":"MovieLens100K","text":"

MovieLens 100K dataset.

MovieLens datasets were collected by the GroupLens Research Project at the University of Minnesota. This dataset consists of 100,000 ratings (1-5) from 943 users on 1682 movies. Each user has rated at least 20 movies. User and movie information are provided. The data was collected through the MovieLens web site (movielens.umn.edu) during the seven-month period from September 19th, 1997 through April 22nd, 1998.

"},{"location":"api/datasets/MovieLens100K/#parameters","title":"Parameters","text":"
  • unpack_user_and_item

    Default \u2192 False

    Whether or not the user and item should be extracted from the context and included as extra keyword arguments.

"},{"location":"api/datasets/MovieLens100K/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/MovieLens100K/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. The MovieLens Datasets: History and Context \u21a9

"},{"location":"api/datasets/Music/","title":"Music","text":"

Multi-label music mood prediction.

The goal is to predict to which kinds of moods a song pertains to.

"},{"location":"api/datasets/Music/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Music/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Read, J., Reutemann, P., Pfahringer, B. and Holmes, G., 2016. MEKA: a multi-label/multi-target extension to WEKA. The Journal of Machine Learning Research, 17(1), pp.667-671. \u21a9

"},{"location":"api/datasets/Phishing/","title":"Phishing","text":"

Phishing websites.

This dataset contains features from web pages that are classified as phishing or not.

"},{"location":"api/datasets/Phishing/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/Phishing/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/Restaurants/","title":"Restaurants","text":"

Data from the Kaggle Recruit Restaurants challenge.

The goal is to predict the number of visitors in each of 829 Japanese restaurants over a priod of roughly 16 weeks. The data is ordered by date and then by restaurant ID.

"},{"location":"api/datasets/Restaurants/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Restaurants/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Recruit Restaurant Visitor Forecasting \u21a9

"},{"location":"api/datasets/SMSSpam/","title":"SMSSpam","text":"

SMS Spam Collection dataset.

The data contains 5,574 items and 1 feature (i.e. SMS body). Spam messages represent 13.4% of the dataset. The goal is to predict whether an SMS is a spam or not.

"},{"location":"api/datasets/SMSSpam/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/SMSSpam/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Almeida, T.A., Hidalgo, J.M.G. and Yamakami, A., 2011, September. Contributions to the study of SMS spam filtering: new collection and results. In Proceedings of the 11th ACM symposium on Document engineering (pp. 259-262). \u21a9

"},{"location":"api/datasets/SMTP/","title":"SMTP","text":"

SMTP dataset from the KDD 1999 cup.

The goal is to predict whether or not an SMTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

"},{"location":"api/datasets/SMTP/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/SMTP/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. SMTP (KDDCUP99) dataset \u21a9

"},{"location":"api/datasets/SolarFlare/","title":"SolarFlare","text":"

Solar flare multi-output regression.

"},{"location":"api/datasets/SolarFlare/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/SolarFlare/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. UCI page \u21a9

"},{"location":"api/datasets/TREC07/","title":"TREC07","text":"

TREC's 2007 Spam Track dataset.

The data contains 75,419 chronologically ordered items, i.e. 3 months of emails delivered to a particular server in 2007. Spam messages represent 66.6% of the dataset. The goal is to predict whether an email is a spam or not.

The available raw features are: sender, recipients, date, subject, body.

"},{"location":"api/datasets/TREC07/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/TREC07/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. TREC 2007 Spam Track Overview \u21a9

  2. Code ran to parse the dataset \u21a9

"},{"location":"api/datasets/Taxis/","title":"Taxis","text":"

Taxi ride durations in New York City.

The goal is to predict the duration of taxi rides in New York City.

"},{"location":"api/datasets/Taxis/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/Taxis/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. New York City Taxi Trip Duration competition on Kaggle \u21a9

"},{"location":"api/datasets/TrumpApproval/","title":"TrumpApproval","text":"

Donald Trump approval ratings.

This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald Trump's approval ratings. It contains 5 features, which are approval ratings collected by 5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of this task is to see if we can reproduce FiveThirtyEight's model.

"},{"location":"api/datasets/TrumpApproval/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/TrumpApproval/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Trump Approval Ratings \u21a9

"},{"location":"api/datasets/WaterFlow/","title":"WaterFlow","text":"

Water flow through a pipeline branch.

The series includes hourly values for about 2 months, March 2022 to May 2022. The values are expressed in liters per second. There are four anomalous segments in the series:

  • 3 \"low value moments\": this is due to water losses or human intervention for maintenance * A small peak in the water inflow after the first 2 segments: this is due to a pumping operation into the main pipeline, when more water pressure is needed

This dataset is well suited for time series forecasting models, as well as anomaly detection methods. Ideally, the goal is to build a time series forecasting model that is robust to the anomalous segments.

This data has been kindly donated by the Tecnojest s.r.l. company (www.invidea.it) from Italy.

"},{"location":"api/datasets/WaterFlow/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/WaterFlow/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/WebTraffic/","title":"WebTraffic","text":"

Web sessions information from an events company based in South Africa.

The goal is to predict the number of web sessions in 4 different regions in South Africa.

The data consists of 15 minute interval traffic values between '2023-06-16 00:00:00' and '2023-09-15 23:45:00' for each region. Two types of sessions are captured sessionsA and sessionsB. The isMissing flag is equal to 1 if any of the servers failed to capture sessions, otherwise if all servers functioned properly this flag is equal to 0.

Things to consider:

  • region R5 captures sessions in backup mode. Strictly speaking, R5 is not necessary to predict. * Can sessionsA and sessionsB events be predicted accurately for each region over the next day (next 96 intervals)? * What is the best way to deal with the missing values? * How can model selection be used (a multi-model approach)? * Can dependence (correlation) between regions be utilised for more accurate predictions? * Can both sessionA and sessionB be predicted simultaneously with one model?

This dataset is well suited for time series forecasting models, as well as anomaly detection methods. Ideally, the goal is to build a time series forecasting model that is robust to the anomalous events and generalise well on normal operating conditions.

"},{"location":"api/datasets/WebTraffic/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/WebTraffic/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/Dataset/","title":"Dataset","text":"

Base class for all datasets.

All datasets inherit from this class, be they stored in a file or generated on the fly.

"},{"location":"api/datasets/base/Dataset/#parameters","title":"Parameters","text":"
  • task

    Type of task the dataset is meant for. Should be one of the following: - \"Regression\" - \"Binary classification\" - \"Multi-class classification\" - \"Multi-output binary classification\" - \"Multi-output regression\"

  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/datasets/base/Dataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/base/Dataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/FileDataset/","title":"FileDataset","text":"

Base class for datasets that are stored in a local file.

Small datasets that are part of the river package inherit from this class.

"},{"location":"api/datasets/base/FileDataset/#parameters","title":"Parameters","text":"
  • filename

    The file's name.

  • directory

    Default \u2192 None

    The directory where the file is contained. Defaults to the location of the datasets module.

  • desc

    Extra dataset parameters to pass as keyword arguments.

"},{"location":"api/datasets/base/FileDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/datasets/base/FileDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/RemoteDataset/","title":"RemoteDataset","text":"

Base class for datasets that are stored in a remote file.

Medium and large datasets that are not part of the river package inherit from this class.

The filename doesn't have to be provided if unpack is False. Indeed in the latter case the filename will be inferred from the URL.

"},{"location":"api/datasets/base/RemoteDataset/#parameters","title":"Parameters","text":"
  • url

    The URL the dataset is located at.

  • size

    The expected download size.

  • unpack

    Default \u2192 True

    Whether to unpack the download or not.

  • filename

    Default \u2192 None

    An optional name to given to the file if the file is unpacked.

  • desc

    Extra dataset parameters to pass as keyword arguments.

"},{"location":"api/datasets/base/RemoteDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • is_downloaded

    Indicate whether or the data has been correctly downloaded.

  • path

"},{"location":"api/datasets/base/RemoteDataset/#methods","title":"Methods","text":"download take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/base/SyntheticDataset/","title":"SyntheticDataset","text":"

A synthetic dataset.

"},{"location":"api/datasets/base/SyntheticDataset/#parameters","title":"Parameters","text":"
  • task

    Type of task the dataset is meant for. Should be one of: - \"Regression\" - \"Binary classification\" - \"Multi-class classification\" - \"Multi-output binary classification\" - \"Multi-output regression\"

  • n_features

    Number of features in the dataset.

  • n_samples

    Default \u2192 None

    Number of samples in the dataset.

  • n_classes

    Default \u2192 None

    Number of classes in the dataset, only applies to classification datasets.

  • n_outputs

    Default \u2192 None

    Number of outputs the target is made of, only applies to multi-output datasets.

  • sparse

    Default \u2192 False

    Whether the dataset is sparse or not.

"},{"location":"api/datasets/base/SyntheticDataset/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/base/SyntheticDataset/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Agrawal/","title":"Agrawal","text":"

Agrawal stream generator.

The generator was introduced by Agrawal et al. 1, and was a common source of data for early work on scaling up decision tree learners. The generator produces a stream containing nine features, six numeric and three categorical. There are 10 functions defined for generating binary class labels from the features. Presumably these determine whether the loan should be approved. Classification functions are listed in the original paper 1.

Feature | Description | Values

  • salary | salary | uniformly distributed from 20k to 150k

  • commission | commission | 0 if salary < 75k else uniformly distributed from 10k to 75k

  • age | age | uniformly distributed from 20 to 80

  • elevel | education level | uniformly chosen from 0 to 4

  • car | car maker | uniformly chosen from 1 to 20

  • zipcode | zip code of the town | uniformly chosen from 0 to 8

  • hvalue | house value | uniformly distributed from 50k x zipcode to 100k x zipcode

  • hyears | years house owned | uniformly distributed from 1 to 30

  • loan | total loan amount | uniformly distributed from 0 to 500k

"},{"location":"api/datasets/synth/Agrawal/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    The classification function to use for the generation. Valid values are from 0 to 9.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    If True, the class distribution will converge to a uniform distribution.

  • perturbation

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. Each new sample will be perturbed by the magnitude of perturbation. Valid values are in the range [0.0 to 1.0].

"},{"location":"api/datasets/synth/Agrawal/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Agrawal/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Agrawal(\n    classification_function=0,\n    seed=42\n)\n\ndataset\n
Synthetic data generator\n<BLANKLINE>\n    Name  Agrawal\n    Task  Binary classification\n Samples  \u221e\nFeatures  9\n Outputs  1\n Classes  2\n  Sparse  False\n<BLANKLINE>\nConfiguration\n-------------\nclassification_function  0\n                   seed  42\n        balance_classes  False\n           perturbation  0.0\n

for x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[103125.4837, 0, 21, 2, 8, 3, 319768.9642, 4, 338349.7437] 1\n[135983.3438, 0, 25, 4, 14, 0, 423837.7755, 7, 116330.4466] 1\n[98262.4347, 0, 55, 1, 18, 6, 144088.1244, 19, 139095.3541] 0\n[133009.0417, 0, 68, 1, 14, 5, 233361.4025, 7, 478606.5361] 1\n[63757.2908, 16955.9382, 26, 2, 12, 4, 522851.3093, 24, 229712.4398] 1\n

"},{"location":"api/datasets/synth/Agrawal/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function randomly.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Agrawal/#notes","title":"Notes","text":"

The sample generation works as follows: The 9 features are generated with the random generator, initialized with the seed passed by the user. Then, the classification function decides, as a function of all the attributes, whether to classify the instance as class 0 or class 1. The next step is to verify if the classes should be balanced, and if so, balance the classes. Finally, add noise if perturbation > 0.0.

  1. Rakesh Agrawal, Tomasz Imielinksi, and Arun Swami. \"Database Mining: A Performance Perspective\", IEEE Transactions on Knowledge and Data Engineering, 5(6), December 1993.\u00a0\u21a9\u21a9

"},{"location":"api/datasets/synth/AnomalySine/","title":"AnomalySine","text":"

Simulate a stream with anomalies in sine waves.

The amount of data generated by this generator is finite.

The data generated corresponds to sine and cosine functions. Anomalies are induced by replacing the cosine values with values from a different a sine function. The contextual flag can be used to introduce contextual anomalies which are values in the normal global range, but abnormal compared to the seasonal pattern. Contextual attributes are introduced by replacing cosine entries with sine values.

The target indicates whether or not the instances are anomalous.

"},{"location":"api/datasets/synth/AnomalySine/#parameters","title":"Parameters","text":"
  • n_samples

    Type \u2192 int

    Default \u2192 10000

    The number of samples to generate. This generator creates a batch of data affected by contextual anomalies and noise.

  • n_anomalies

    Type \u2192 int

    Default \u2192 2500

    Number of anomalies. Can't be larger than n_samples.

  • contextual

    Type \u2192 bool

    Default \u2192 False

    If True, will add contextual anomalies.

  • n_contextual

    Type \u2192 int

    Default \u2192 2500

    Number of contextual anomalies. Can't be larger than n_samples.

  • shift

    Type \u2192 int

    Default \u2192 4

    Shift in number of samples applied when retrieving contextual anomalies.

  • noise

    Type \u2192 float

    Default \u2192 0.5

    Amount of noise.

  • replace

    Type \u2192 bool

    Default \u2192 True

    If True, anomalies are randomly sampled with replacement.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/datasets/synth/AnomalySine/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/AnomalySine/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.AnomalySine(\n    seed=12345,\n    n_samples=100,\n    n_anomalies=25,\n    contextual=True,\n    n_contextual=10\n)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'sine': -0.7119, 'cosine': 0.8777} False\n{'sine': 0.8792, 'cosine': -0.0290} False\n{'sine': 0.0440, 'cosine': 3.0852} True\n{'sine': 0.5520, 'cosine': 3.4515} True\n{'sine': 0.8037, 'cosine': 0.4027} False\n

"},{"location":"api/datasets/synth/AnomalySine/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/ConceptDriftStream/","title":"ConceptDriftStream","text":"

Generates a stream with concept drift.

A stream generator that adds concept drift or change by joining two streams. This is done by building a weighted combination of two pure distributions that characterizes the target concepts before and after the change.

The sigmoid function is an elegant and practical solution to define the probability that each new instance of the stream belongs to the new concept after the drift. The sigmoid function introduces a gradual, smooth transition whose duration is controlled with two parameters:

  • \\(p\\), the position of the change.

  • \\(w\\), the width of the transition.

The sigmoid function at sample \\(t\\) is

\\[f(t) = 1/(1+e^{-4(t-p)/w})\\]"},{"location":"api/datasets/synth/ConceptDriftStream/#parameters","title":"Parameters","text":"
  • stream

    Type \u2192 datasets.base.SyntheticDataset | None

    Default \u2192 None

    Original stream

  • drift_stream

    Type \u2192 datasets.base.SyntheticDataset | None

    Default \u2192 None

    Drift stream

  • position

    Type \u2192 int

    Default \u2192 5000

    Central position of the concept drift change.

  • width

    Type \u2192 int

    Default \u2192 1000

    Width of concept drift change.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • alpha

    Type \u2192 float | None

    Default \u2192 None

    Angle of change used to estimate the width of concept drift change. If set, it will override the width parameter. Valid values are in the range (0.0, 90.0].

"},{"location":"api/datasets/synth/ConceptDriftStream/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/ConceptDriftStream/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.ConceptDriftStream(\n    stream=synth.SEA(seed=42, variant=0),\n    drift_stream=synth.SEA(seed=42, variant=1),\n    seed=1, position=5, width=2\n)\n\nfor x, y in dataset.take(10):\n    print(x, y)\n
{0: 6.3942, 1: 0.2501, 2: 2.7502} False\n{0: 2.2321, 1: 7.3647, 2: 6.7669} True\n{0: 8.9217, 1: 0.8693, 2: 4.2192} True\n{0: 0.2979, 1: 2.1863, 2: 5.0535} False\n{0: 6.3942, 1: 0.2501, 2: 2.7502} False\n{0: 2.2321, 1: 7.3647, 2: 6.7669} True\n{0: 8.9217, 1: 0.8693, 2: 4.2192} True\n{0: 0.2979, 1: 2.1863, 2: 5.0535} False\n{0: 0.2653, 1: 1.9883, 2: 6.4988} False\n{0: 5.4494, 1: 2.2044, 2: 5.8926} False\n

"},{"location":"api/datasets/synth/ConceptDriftStream/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/ConceptDriftStream/#notes","title":"Notes","text":"

An optional way to estimate the width of the transition \\(w\\) is based on the angle \\(\\alpha\\), \\(w = 1/ tan(\\alpha)\\). Since width corresponds to the number of samples for the transition, the width is rounded to the nearest smaller integer. Notice that larger values of \\(\\alpha\\) result in smaller widths. For \\(\\alpha > 45.0\\), the width is smaller than 1 so values are rounded to 1 to avoid division by zero errors.

"},{"location":"api/datasets/synth/Friedman/","title":"Friedman","text":"

Friedman synthetic dataset.

Each observation is composed of 10 features. Each feature value is sampled uniformly in [0, 1]. The target is defined by the following function:

\\[y = 10 sin(\\pi x_0 x_1) + 20 (x_2 - 0.5)^2 + 10 x_3 + 5 x_4 + \\epsilon\\]

In the last expression, \\(\\epsilon \\sim \\mathcal{N}(0, 1)\\), is the noise. Therefore, only the first 5 features are relevant.

"},{"location":"api/datasets/synth/Friedman/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Friedman/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Friedman/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Friedman(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 7.04\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 8.90\n

"},{"location":"api/datasets/synth/Friedman/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Friedman, J.H., 1991. Multivariate adaptive regression splines. The annals of statistics, pp.1-67. \u21a9

"},{"location":"api/datasets/synth/FriedmanDrift/","title":"FriedmanDrift","text":"

Friedman synthetic dataset with concept drifts.

Each observation is composed of 10 features. Each feature value is sampled uniformly in [0, 1]. Only the first 5 features are relevant. The target is defined by different functions depending on the type of the drift.

The three available modes of operation of the data generator are described in 1.

"},{"location":"api/datasets/synth/FriedmanDrift/#parameters","title":"Parameters","text":"
  • drift_type

    Type \u2192 str

    Default \u2192 lea

    The variant of concept drift. - 'lea': Local Expanding Abrupt drift. The concept drift appears in two distinct regions of the instance space, while the remaining regions are left unaltered. There are three points of abrupt change in the training dataset. At every consecutive change the regions of drift are expanded. - 'gra': Global Recurring Abrupt drift. The concept drift appears over the whole instance space. There are two points of concept drift. At the second point of drift the old concept reoccurs. - 'gsg': Global and Slow Gradual drift. The concept drift affects all the instance space. However, the change is gradual and not abrupt. After each one of the two change points covered by this variant, and during a window of length transition_window, examples from both old and the new concepts are generated with equal probability. After the transition period, only the examples from the new concept are generated.

  • position

    Type \u2192 tuple[int, ...]

    Default \u2192 (50000, 100000, 150000)

    The amount of monitored instances after which each concept drift occurs. A tuple with at least two element must be passed, where each number is greater than the preceding one. If drift_type='lea', then the tuple must have three elements.

  • transition_window

    Type \u2192 int

    Default \u2192 10000

    The length of the transition window between two concepts. Only applicable when drift_type='gsg'. If set to zero, the drifts will be abrupt. Anytime transition_window > 0, it defines a window in which instances of the new concept are gradually introduced among the examples from the old concept. During this transition phase, both old and new concepts appear with equal probability.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/FriedmanDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/FriedmanDrift/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.FriedmanDrift(\n    drift_type='lea',\n    position=(1, 2, 3),\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 7.04\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] -2.65\n

dataset = synth.FriedmanDrift(\n    drift_type='gra',\n    position=(2, 3),\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 8.96\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 18.16\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 8.90\n

dataset = synth.FriedmanDrift(\n    drift_type='gsg',\n    position=(1, 4),\n    transition_window=2,\n    seed=42\n)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[0.63, 0.02, 0.27, 0.22, 0.73, 0.67, 0.89, 0.08, 0.42, 0.02] 7.66\n[0.02, 0.19, 0.64, 0.54, 0.22, 0.58, 0.80, 0.00, 0.80, 0.69] 8.33\n[0.34, 0.15, 0.95, 0.33, 0.09, 0.09, 0.84, 0.60, 0.80, 0.72] 8.92\n[0.37, 0.55, 0.82, 0.61, 0.86, 0.57, 0.70, 0.04, 0.22, 0.28] 17.32\n[0.07, 0.23, 0.10, 0.27, 0.63, 0.36, 0.37, 0.20, 0.26, 0.93] 6.05\n

"},{"location":"api/datasets/synth/FriedmanDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Ikonomovska, E., Gama, J. and D\u017eeroski, S., 2011. Learning model trees from evolving data streams. Data mining and knowledge discovery, 23(1), pp.128-168.\u00a0\u21a9

"},{"location":"api/datasets/synth/Hyperplane/","title":"Hyperplane","text":"

Hyperplane stream generator.

Generates a problem of prediction class of a rotation hyperplane. It was used as testbed for CVFDT and VFDT in 1.

A hyperplane in d-dimensional space is the set of points \\(x\\) that satisfy

\\[\\sum^{d}_{i=1} w_i x_i = w_0 = \\sum^{d}_{i=1} w_i\\]

where \\(x_i\\) is the i-th coordinate of \\(x\\).

  • Examples for which \\(\\sum^{d}_{i=1} w_i x_i > w_0\\), are labeled positive.

  • Examples for which \\(\\sum^{d}_{i=1} w_i x_i \\leq w_0\\), are labeled negative.

Hyperplanes are useful for simulating time-changing concepts because we can change the orientation and position of the hyperplane in a smooth manner by changing the relative size of the weights. We introduce change to this dataset by adding drift to each weighted feature \\(w_i = w_i + d \\sigma\\), where \\(\\sigma\\) is the probability that the direction of change is reversed and \\(d\\) is the change applied to each example.

"},{"location":"api/datasets/synth/Hyperplane/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of attributes to generate. Higher than 2.

  • n_drift_features

    Type \u2192 int

    Default \u2192 2

    The number of attributes with drift. Higher than 2.

  • mag_change

    Type \u2192 float

    Default \u2192 0.0

    Magnitude of the change for every example. From 0.0 to 1.0.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.05

    Percentage of noise to add to the data. From 0.0 to 1.0.

  • sigma

    Type \u2192 float

    Default \u2192 0.1

    Probability that the direction of change is reversed. From 0.0 to 1.0.

"},{"location":"api/datasets/synth/Hyperplane/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Hyperplane/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Hyperplane(seed=42, n_features=2)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 0.2750, 1: 0.2232} 0\n{0: 0.0869, 1: 0.4219} 1\n{0: 0.0265, 1: 0.1988} 0\n{0: 0.5892, 1: 0.8094} 0\n{0: 0.3402, 1: 0.1554} 0\n

"},{"location":"api/datasets/synth/Hyperplane/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Hyperplane/#notes","title":"Notes","text":"

The sample generation works as follows: The features are generated with the random number generator, initialized with the seed passed by the user. Then the classification function decides, as a function of the sum of the weighted features and the sum of the weights, whether the instance belongs to class 0 or class 1. The last step is to add noise and generate drift.

  1. G. Hulten, L. Spencer, and P. Domingos. Mining time-changing data streams. In KDD'01, pages 97-106, San Francisco, CA, 2001. ACM Press.\u00a0\u21a9

"},{"location":"api/datasets/synth/LED/","title":"LED","text":"

LED stream generator.

This data source originates from the CART book 1. An implementation in C was donated to the UCI 2 machine learning repository by David Aha. The goal is to predict the digit displayed on a seven-segment LED display, where each attribute has a 10% chance of being inverted. It has an optimal Bayes classification rate of 74%. The particular configuration of the generator used for experiments (LED) produces 24 binary attributes, 17 of which are irrelevant.

"},{"location":"api/datasets/synth/LED/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. At each new sample generated, a random number is generated, and if it is equal or less than the noise_percentage, the led value will be switched

  • irrelevant_features

    Type \u2192 bool

    Default \u2192 False

    Adds 17 non-relevant attributes to the stream.

"},{"location":"api/datasets/synth/LED/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/LED/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.LED(seed = 112, noise_percentage = 0.28, irrelevant_features= False)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1, 1: 0, 2: 1, 3: 0, 4: 0, 5: 1, 6: 0} 7\n{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 0} 8\n{0: 1, 1: 1, 2: 1, 3: 1, 4: 0, 5: 1, 6: 0} 9\n{0: 0, 1: 0, 2: 1, 3: 0, 4: 0, 5: 1, 6: 0} 1\n{0: 0, 1: 1, 2: 1, 3: 0, 4: 0, 5: 0, 6: 0} 1\n

"},{"location":"api/datasets/synth/LED/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/LED/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. If has_noise is set then the total number of attributes will be 24, otherwise there will be 7 attributes.

  1. Leo Breiman, Jerome Friedman, R. Olshen, and Charles J. Stone. Classification and Regression Trees. Wadsworth and Brooks, Monterey, CA,1984.\u00a0\u21a9

  2. A. Asuncion and D. J. Newman. UCI Machine Learning Repository [http://www.ics.uci.edu/~mlearn/mlrepository.html]. University of California, Irvine, School of Information and Computer Sciences,2007.\u00a0\u21a9

"},{"location":"api/datasets/synth/LEDDrift/","title":"LEDDrift","text":"

LED stream generator with concept drift.

This class is an extension of the LED generator whose purpose is to add concept drift to the stream.

"},{"location":"api/datasets/synth/LEDDrift/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • noise_percentage

    Type \u2192 float

    Default \u2192 0.0

    The probability that noise will happen in the generation. At each new sample generated, a random number is generated, and if it is equal or less than the noise_percentage, the led value will be switched

  • irrelevant_features

    Type \u2192 bool

    Default \u2192 False

    Adds 17 non-relevant attributes to the stream.

  • n_drift_features

    Type \u2192 int

    Default \u2192 0

    The number of attributes that have drift.

"},{"location":"api/datasets/synth/LEDDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/LEDDrift/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.LEDDrift(seed = 112, noise_percentage = 0.28,\n                         irrelevant_features= True, n_drift_features=4)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1] 7\n[1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0] 6\n[0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1] 1\n[1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1] 6\n[1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0] 7\n

"},{"location":"api/datasets/synth/LEDDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/LEDDrift/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. If has_noise is set then the total number of attributes will be 24, otherwise there will be 7 attributes.

"},{"location":"api/datasets/synth/Logical/","title":"Logical","text":"

Logical functions stream generator.

Make a toy dataset with three labels that represent the logical functions: OR, XOR, AND (functions of the 2D input).

Data is generated in 'tiles' which contain the complete set of logical operations results. The tiles are repeated n_tiles times. Optionally, the generated data can be shuffled.

"},{"location":"api/datasets/synth/Logical/#parameters","title":"Parameters","text":"
  • n_tiles

    Type \u2192 int

    Default \u2192 1

    Number of tiles to generate.

  • shuffle

    Type \u2192 bool

    Default \u2192 True

    If set, generated data will be shuffled.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/datasets/synth/Logical/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Logical/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Logical(n_tiles=2, shuffle=True, seed=42)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'A': 1, 'B': 1} {'OR': 1, 'XOR': 0, 'AND': 1}\n{'A': 0, 'B': 0} {'OR': 0, 'XOR': 0, 'AND': 0}\n{'A': 1, 'B': 0} {'OR': 1, 'XOR': 1, 'AND': 0}\n{'A': 1, 'B': 1} {'OR': 1, 'XOR': 0, 'AND': 1}\n{'A': 1, 'B': 0} {'OR': 1, 'XOR': 1, 'AND': 0}\n

"},{"location":"api/datasets/synth/Logical/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Mixed/","title":"Mixed","text":"

Mixed data stream generator.

This generator is an implementation of a data stream with abrupt concept drift and boolean noise-free examples as described in 1.

It has four relevant attributes, two boolean attributes \\(v, w\\) and two numeric attributes \\(x, y\\) uniformly distributed from 0 to 1. The examples are labeled depending on the classification function chosen from below.

  • function 0: if \\(v\\) and \\(w\\) are true or \\(v\\) and \\(z\\) are true or \\(w\\) and \\(z\\) are true then 0 else 1, where \\(z\\) is \\(y < 0.5 + 0.3 sin(3 \\pi x)\\)

  • function 1: The opposite of function 0.

Concept drift can be introduced by changing the classification function. This can be done manually or using ConceptDriftStream.

"},{"location":"api/datasets/synth/Mixed/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Which of the two classification functions to use for the generation. Valid options are 0 or 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to a uniform distribution.

"},{"location":"api/datasets/synth/Mixed/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Mixed/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.Mixed(seed = 42, classification_function=1, balance_classes = True)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: True, 1: False, 2: 0.2750, 3: 0.2232} 1\n{0: False, 1: False, 2: 0.2186, 3: 0.5053} 0\n{0: False, 1: True, 2: 0.8094, 3: 0.0064} 1\n{0: False, 1: False, 2: 0.1010, 3: 0.2779} 0\n{0: True, 1: False, 2: 0.37018, 3: 0.2095} 1\n

"},{"location":"api/datasets/synth/Mixed/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Mixed/#notes","title":"Notes","text":"

The sample generation works as follows: The two numeric attributes are generated with the random generator initialized with the seed passed by the user (optional). The boolean attributes are either 0 or 1 based on the comparison of the random number generator and 0.5, the classification function decides whether to classify the instance as class 0 or class 1. The next step is to verify if the classes should be balanced, and if so, balance the classes.

The generated sample will have 4 relevant features and 1 label (it is a binary-classification task).

  1. Gama, Joao, et al. \"Learning with drift detection.\" Advances in artificial intelligence-SBIA 2004. Springer Berlin Heidelberg, 2004. 286-295\"\u00a0\u21a9

"},{"location":"api/datasets/synth/Mv/","title":"Mv","text":"

Mv artificial dataset.

Artificial dataset composed of both nominal and numeric features, whose features present co-dependencies. Originally described in 1.

The features are generated using the following expressions:

  • \\(x_1\\): uniformly distributed over [-5, 5].

  • \\(x_2\\): uniformly distributed over [-15, -10].

  • \\(x_3\\):

    • if \\(x_1 > 0\\), \\(x_3 \\leftarrow\\) 'green'

    • else \\(x_3 \\leftarrow\\) 'red' with probability \\(0.4\\) and \\(x_3 \\leftarrow\\) 'brown' with probability \\(0.6\\).

  • \\(x_4\\):

    • if \\(x_3 =\\) 'green', \\(x_4 \\leftarrow x_1 + 2 x_2\\)

    • else \\(x_4 = \\frac{x_1}{2}\\) with probability \\(0.3\\) and \\(x_4 = \\frac{x_2}{2}\\) with probability \\(0.7\\).

  • \\(x_5\\): uniformly distributed over [-1, 1].

  • \\(x_6 \\leftarrow x_4 \\times \\epsilon\\), where \\(\\epsilon\\) is uniformly distributed

over [0, 5].

  • \\(x_7\\): 'yes' with probability \\(0.3\\), and 'no' with probability \\(0.7\\).

  • \\(x_8\\): 'normal' if \\(x_5 < 0.5\\) else 'large'.

  • \\(x_9\\): uniformly distributed over [100, 500].

  • \\(x_{10}\\): uniformly distributed integer over the interval [1000, 1200].

The target value is generated using the following rules:

  • if \\(x_2 > 2\\), \\(y \\leftarrow 35 - 0.5 x_4\\)

  • else if \\(-2 \\le x_4 \\le 2\\), \\(y \\leftarrow 10 - 2 x_1\\)

  • else if \\(x_7 =\\) 'yes', \\(y \\leftarrow 3 - \\frac{x_1}{x_4}\\)

  • else if \\(x_8 =\\) 'normal', \\(y \\leftarrow x_6 + x_1\\)

  • else \\(y \\leftarrow \\frac{x_1}{2}\\).

"},{"location":"api/datasets/synth/Mv/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Mv/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Mv/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Mv(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[1.39, -14.87, 'green', -28.35, -0.44, -31.64, 'no', 'normal', 370.67, 1178.43] -30.25\n[-4.13, -12.89, 'red', -2.06, 0.01, -0.27, 'yes', 'normal', 359.95, 1108.98] 1.00\n[-2.79, -12.05, 'brown', -1.39, 0.61, -4.87, 'no', 'large', 162.19, 1191.44] 15.59\n[-1.63, -14.53, 'red', -7.26, 0.20, -29.33, 'no', 'normal', 314.49, 1194.62] -30.96\n[-1.21, -12.23, 'brown', -6.11, 0.72, -17.66, 'no', 'large', 118.32, 1045.57] -0.60\n

"},{"location":"api/datasets/synth/Mv/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Mv in Lu\u00eds Torgo regression datasets \u21a9

"},{"location":"api/datasets/synth/Planes2D/","title":"Planes2D","text":"

2D Planes synthetic dataset.

This dataset is described in 1 and was adapted from 2. The features are generated using the following probabilities:

\\[P(x_1 = -1) = P(x_1 = 1) = \\frac{1}{2}\\] \\[P(x_m = -1) = P(x_m = 0) = P(x_m = 1) = \\frac{1}{3}, m=2,\\ldots, 10\\]

The target value is defined by the following rule:

\\[\\text{if}~x_1 = 1, y \\leftarrow 3 + 3x_2 + 2x_3 + x_4 + \\epsilon\\] \\[\\text{if}~x_1 = -1, y \\leftarrow -3 + 3x_5 + 2x_6 + x_7 + \\epsilon\\]

In the expressions, \\(\\epsilon \\sim \\mathcal{N}(0, 1)\\), is the noise.

"},{"location":"api/datasets/synth/Planes2D/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/Planes2D/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Planes2D/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Planes2D(seed=42)\n\nfor x, y in dataset.take(5):\n    print(list(x.values()), y)\n
[-1, -1, 1, 0, -1, -1, -1, 1, -1, 1] -9.07\n[1, -1, -1, -1, -1, -1, 1, 1, -1, 1] -4.25\n[-1, 1, 1, 1, 1, 0, -1, 0, 1, 0] -0.95\n[-1, 1, 0, 0, 0, -1, -1, 0, -1, -1] -6.10\n[1, -1, 0, 0, 1, 0, -1, 1, 0, 1] 1.60\n

"},{"location":"api/datasets/synth/Planes2D/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. 2DPlanes in Lu\u00eds Torgo regression datasets \u21a9

  2. Breiman, L., Friedman, J., Stone, C.J. and Olshen, R.A., 1984. Classification and regression trees. CRC press.\u00a0\u21a9

"},{"location":"api/datasets/synth/RandomRBF/","title":"RandomRBF","text":"

Random Radial Basis Function generator.

Produces a radial basis function stream. A number of centroids, having a random central position, a standard deviation, a class label and weight are generated. A new sample is created by choosing one of the centroids at random, taking into account their weights, and offsetting the attributes in a random direction from the centroid's center. The offset length is drawn from a Gaussian distribution.

This process will create a normally distributed hypersphere of samples on the surrounds of each centroid.

"},{"location":"api/datasets/synth/RandomRBF/#parameters","title":"Parameters","text":"
  • seed_model

    Type \u2192 int | None

    Default \u2192 None

    Model's random seed to generate centroids.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Sample's random seed.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of class labels to generate.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of numerical features to generate.

  • n_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids to generate.

"},{"location":"api/datasets/synth/RandomRBF/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomRBF/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.RandomRBF(seed_model=42, seed_sample=42,\n                          n_classes=4, n_features=4, n_centroids=20)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1.0989, 1: 0.3840, 2: 0.7759, 3: 0.6592} 2\n{0: 0.2366, 1: 1.3233, 2: 0.5691, 3: 0.2083} 0\n{0: 1.3540, 1: -0.3306, 2: 0.1683, 3: 0.8865} 0\n{0: 0.2585, 1: -0.2217, 2: 0.4739, 3: 0.6522} 0\n{0: 0.1295, 1: 0.5953, 2: 0.1774, 3: 0.6673} 1\n

"},{"location":"api/datasets/synth/RandomRBF/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/RandomRBFDrift/","title":"RandomRBFDrift","text":"

Random Radial Basis Function generator with concept drift.

This class is an extension from the RandomRBF generator. Concept drift can be introduced in instances of this class.

The drift is created by adding a \"speed\" to certain centroids. As the samples are generated each of the moving centroids' centers is changed by an amount determined by its speed.

"},{"location":"api/datasets/synth/RandomRBFDrift/#parameters","title":"Parameters","text":"
  • seed_model

    Type \u2192 int | None

    Default \u2192 None

    Model's random seed to generate centroids.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Sample's random seed.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of class labels to generate.

  • n_features

    Type \u2192 int

    Default \u2192 10

    The number of numerical features to generate.

  • n_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids to generate.

  • change_speed

    Type \u2192 float

    Default \u2192 0.0

    The concept drift speed.

  • n_drift_centroids

    Type \u2192 int

    Default \u2192 50

    The number of centroids that will drift.

"},{"location":"api/datasets/synth/RandomRBFDrift/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomRBFDrift/#examples","title":"Examples","text":"

from river.datasets import synth\ndataset = synth.RandomRBFDrift(seed_model=42, seed_sample=42,\n                               n_classes=4, n_features=4, n_centroids=20,\n                               change_speed=0.87, n_drift_centroids=10)\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 1.0989, 1: 0.3840, 2: 0.7759, 3: 0.6592} 2\n{0: 1.1496, 1: 1.9014, 2: 1.5393, 3: 0.3210} 0\n{0: 0.7146, 1: -0.2414, 2: 0.8933, 3: 1.6633} 0\n{0: 0.3797, 1: -0.1027, 2: 0.8717, 3: 1.1635} 0\n{0: 0.1295, 1: 0.5953, 2: 0.1774, 3: 0.6673} 1\n

"},{"location":"api/datasets/synth/RandomRBFDrift/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/RandomTree/","title":"RandomTree","text":"

Random Tree generator.

This generator is based on 1. The generator creates a random tree by splitting features at random and setting labels at its leaves.

The tree structure is composed of node objects, which can be either inner nodes or leaf nodes. The choice comes as a function of the parameters passed to its initializer.

Since the concepts are generated and classified according to a tree structure, in theory, it should favor decision tree learners.

"},{"location":"api/datasets/synth/RandomTree/#parameters","title":"Parameters","text":"
  • seed_tree

    Type \u2192 int | None

    Default \u2192 None

    Seed for random generation of tree.

  • seed_sample

    Type \u2192 int | None

    Default \u2192 None

    Seed for random generation of instances.

  • n_classes

    Type \u2192 int

    Default \u2192 2

    The number of classes to generate.

  • n_num_features

    Type \u2192 int

    Default \u2192 5

    The number of numerical features to generate.

  • n_cat_features

    Type \u2192 int

    Default \u2192 5

    The number of categorical features to generate.

  • n_categories_per_feature

    Type \u2192 int

    Default \u2192 5

    The number of values to generate per categorical feature.

  • max_tree_depth

    Type \u2192 int

    Default \u2192 5

    The maximum depth of the tree concept.

  • first_leaf_level

    Type \u2192 int

    Default \u2192 3

    The first level of the tree above max_tree_depth that can have leaves.

  • fraction_leaves_per_level

    Type \u2192 float

    Default \u2192 0.15

    The fraction of leaves per level from first_leaf_level onwards.

"},{"location":"api/datasets/synth/RandomTree/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/RandomTree/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.RandomTree(seed_tree=42, seed_sample=42, n_classes=2,\n                           n_num_features=2, n_cat_features=2,\n                           n_categories_per_feature=2, max_tree_depth=6,\n                           first_leaf_level=3, fraction_leaves_per_level=0.15)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'x_num_0': 0.6394, 'x_num_1': 0.0250, 'x_cat_0': 1, 'x_cat_1': 0} 0\n{'x_num_0': 0.2232, 'x_num_1': 0.7364, 'x_cat_0': 0, 'x_cat_1': 1} 1\n{'x_num_0': 0.0317, 'x_num_1': 0.0936, 'x_cat_0': 0, 'x_cat_1': 0} 0\n{'x_num_0': 0.5612, 'x_num_1': 0.7160, 'x_cat_0': 1, 'x_cat_1': 0} 0\n{'x_num_0': 0.4492, 'x_num_1': 0.2781, 'x_cat_0': 0, 'x_cat_1': 0} 0\n

"},{"location":"api/datasets/synth/RandomTree/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. Domingos, Pedro, and Geoff Hulten. \"Mining high-speed data streams.\" In Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 71-80. 2000.\u00a0\u21a9

"},{"location":"api/datasets/synth/SEA/","title":"SEA","text":"

SEA synthetic dataset.

Implementation of the data stream with abrupt drift described in 1. Each observation is composed of 3 features. Only the first two features are relevant. The target is binary, and is positive if the sum of the features exceeds a certain threshold. There are 4 thresholds to choose from. Concept drift can be introduced by switching the threshold anytime during the stream.

  • Variant 0: True if \\(att1 + att2 > 8\\)

  • Variant 1: True if \\(att1 + att2 > 9\\)

  • Variant 2: True if \\(att1 + att2 > 7\\)

  • Variant 3: True if \\(att1 + att2 > 9.5\\)

"},{"location":"api/datasets/synth/SEA/#parameters","title":"Parameters","text":"
  • variant

    Default \u2192 0

    Determines the classification function to use. Possible choices are 0, 1, 2, 3.

  • noise

    Default \u2192 0.0

    Determines the amount of observations for which the target sign will be flipped.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed number used for reproducibility.

"},{"location":"api/datasets/synth/SEA/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/SEA/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.SEA(variant=0, seed=42)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 6.39426, 1: 0.25010, 2: 2.75029} False\n{0: 2.23210, 1: 7.36471, 2: 6.76699} True\n{0: 8.92179, 1: 0.86938, 2: 4.21921} True\n{0: 0.29797, 1: 2.18637, 2: 5.05355} False\n{0: 0.26535, 1: 1.98837, 2: 6.49884} False\n

"},{"location":"api/datasets/synth/SEA/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. A Streaming Ensemble Algorithm (SEA) for Large-Scale Classification \u21a9

"},{"location":"api/datasets/synth/STAGGER/","title":"STAGGER","text":"

STAGGER concepts stream generator.

This generator is an implementation of the dara stream with abrupt concept drift, as described in 1.

The STAGGER concepts are boolean functions f with three features describing objects: size (small, medium and large), shape (circle, square and triangle) and colour (red, blue and green).

f options:

  1. True if the size is small and the color is red.

  2. True if the color is green or the shape is a circle.

  3. True if the size is medium or large

Concept drift can be introduced by changing the classification function. This can be done manually or using datasets.synth.ConceptDriftStream.

One important feature is the possibility to balance classes, which means the class distribution will tend to a uniform one.

"},{"location":"api/datasets/synth/STAGGER/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Classification functions to use. From 0 to 2.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to an uniform distribution.

"},{"location":"api/datasets/synth/STAGGER/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/STAGGER/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.STAGGER(classification_function = 2, seed = 112,\n                     balance_classes = False)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{'size': 1, 'color': 2, 'shape': 2} 1\n{'size': 2, 'color': 1, 'shape': 2} 1\n{'size': 1, 'color': 1, 'shape': 2} 1\n{'size': 0, 'color': 1, 'shape': 0} 0\n{'size': 2, 'color': 1, 'shape': 0} 1\n

"},{"location":"api/datasets/synth/STAGGER/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function at random.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/STAGGER/#notes","title":"Notes","text":"

The sample generation works as follows: The 3 attributes are generated with the random number generator. The classification function defines whether to classify the instance as class 0 or class 1. Finally, data is balanced, if this option is set by the user.

  1. Schlimmer, J. C., & Granger, R. H. (1986). Incremental learning from noisy data. Machine learning, 1(3), 317-354.\u00a0\u21a9

"},{"location":"api/datasets/synth/Sine/","title":"Sine","text":"

Sine generator.

This generator is an implementation of the dara stream with abrupt concept drift, as described in Gama, Joao, et al. 1.

It generates up to 4 relevant numerical features, that vary from 0 to 1, where only 2 of them are relevant to the classification task and the other 2 are optionally added by as noise. A classification function is chosen among four options:

  1. SINE1. Abrupt concept drift, noise-free examples. It has two relevant attributes. Each attributes has values uniformly distributed in [0, 1]. In the first context all points below the curve \\(y = sin(x)\\) are classified as positive.

  2. Reversed SINE1. The reversed classification of SINE1.

  3. SINE2. The same two relevant attributes. The classification function is \\(y < 0.5 + 0.3 sin(3 \\pi x)\\).

  4. Reversed SINE2. The reversed classification of SINE2.

Concept drift can be introduced by changing the classification function. This can be done manually or using ConceptDriftStream.

Two important features are the possibility to balance classes, which means the class distribution will tend to a uniform one, and the possibility to add noise, which will, add two non relevant attributes.

"},{"location":"api/datasets/synth/Sine/#parameters","title":"Parameters","text":"
  • classification_function

    Type \u2192 int

    Default \u2192 0

    Classification functions to use. From 0 to 3.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • balance_classes

    Type \u2192 bool

    Default \u2192 False

    Whether to balance classes or not. If balanced, the class distribution will converge to an uniform distribution.

  • has_noise

    Type \u2192 bool

    Default \u2192 False

    Adds 2 non relevant features to the stream.

"},{"location":"api/datasets/synth/Sine/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Sine/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Sine(classification_function = 2, seed = 112,\n                     balance_classes = False, has_noise = True)\n\nfor x, y in dataset.take(5):\n    print(x, y)\n
{0: 0.4812, 1: 0.6660, 2: 0.6198, 3: 0.6994} 1\n{0: 0.9022, 1: 0.7518, 2: 0.1625, 3: 0.2209} 0\n{0: 0.4547, 1: 0.3901, 2: 0.9629, 3: 0.7287} 0\n{0: 0.4683, 1: 0.3515, 2: 0.2273, 3: 0.6027} 0\n{0: 0.9238, 1: 0.1673, 2: 0.4522, 3: 0.3447} 0\n

"},{"location":"api/datasets/synth/Sine/#methods","title":"Methods","text":"generate_drift

Generate drift by switching the classification function at random.

take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Sine/#notes","title":"Notes","text":"

The sample generation works as follows: The two attributes are generated with the random number generator. The classification function defines whether to classify the instance as class 0 or class 1. Finally, data is balanced and noise is added, if these options are set by the user.

The generated sample will have 2 relevant features, and an additional two noise features if has_noise is set.

  1. Gama, Joao, et al.'s 'Learning with drift detection.' Advances in artificial intelligence-SBIA 2004. Springer Berlin Heidelberg, 2004. 286-295.\"\u00a0\u21a9

"},{"location":"api/datasets/synth/Waveform/","title":"Waveform","text":"

Waveform stream generator.

Generates samples with 21 numeric features and 3 classes, based on a random differentiation of some base waveforms. Supports noise addition, in this case the samples will have 40 features.

"},{"location":"api/datasets/synth/Waveform/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • has_noise

    Type \u2192 bool

    Default \u2192 False

    Adds 19 unrelated features to the stream.

"},{"location":"api/datasets/synth/Waveform/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

"},{"location":"api/datasets/synth/Waveform/#examples","title":"Examples","text":"

from river.datasets import synth\n\ndataset = synth.Waveform(seed=42, has_noise=True)\n\nfor x, y in dataset:\n    break\n\nx\n
{0: -0.0397, 1: -0.7484, 2: 0.2974, 3: 0.3574, 4: -0.0735, 5: -0.3647, 6: 1.5631,     7: 2.5291, 8: 4.1599, 9: 4.9587, 10: 4.52587, 11: 4.0097, 12: 3.6705, 13: 1.7033,     14: 1.4898, 15: 1.9743, 16: 0.0898, 17: 2.319, 18: 0.2552, 19: -0.4775, 20: -0.71339,     21: 0.3770, 22: 0.3671, 23: 1.6579, 24: 0.7828, 25: 0.5855, 26: -0.5807, 27: 0.7112,     28: -0.0271, 29: 0.2968, 30: -0.4997, 31: 0.1302, 32: 0.3578, 33: -0.1900, 34: -0.3771,     35: 1.3560, 36: 0.7124, 37: -0.6245, 38: 0.1346, 39: 0.3550}\n

y\n
2\n

"},{"location":"api/datasets/synth/Waveform/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/datasets/synth/Waveform/#notes","title":"Notes","text":"

An instance is generated based on the parameters passed. The generator will randomly choose one of the hard coded waveforms, as well as random multipliers. For each feature, the actual value generated will be a a combination of the hard coded functions, with the multipliers and a random value.

If noise is added then the features 21 to 40 will be replaced with a random normal value.

"},{"location":"api/drift/ADWIN/","title":"ADWIN","text":"

Adaptive Windowing method for concept drift detection1.

ADWIN (ADaptive WINdowing) is a popular drift detection method with mathematical guarantees. ADWIN efficiently keeps a variable-length window of recent items; such that it holds that there has no been change in the data distribution. This window is further divided into two sub-windows \\((W_0, W_1)\\) used to determine if a change has happened. ADWIN compares the average of \\(W_0\\) and \\(W_1\\) to confirm that they correspond to the same distribution. Concept drift is detected if the distribution equality no longer holds. Upon detecting a drift, \\(W_0\\) is replaced by \\(W_1\\) and a new \\(W_1\\) is initialized. ADWIN uses a significance value \\(\\delta=\\in(0,1)\\) to determine if the two sub-windows correspond to the same distribution.

"},{"location":"api/drift/ADWIN/#parameters","title":"Parameters","text":"
  • delta

    Default \u2192 0.002

    Significance value.

  • clock

    Default \u2192 32

    How often ADWIN should check for changes. 1 means every new data point, default is 32. Higher values speed up processing, but may also lead to increased delay in change detection.

  • max_buckets

    Default \u2192 5

    The maximum number of buckets of each size that ADWIN should keep before merging buckets. The idea of data buckets comes from the compression algorithm introduced in the ADWIN2, the second iteration of the ADWIN algorithm presented in the original research paper. This is the ADWIN version available in River.

  • min_window_length

    Default \u2192 5

    The minimum length allowed for a subwindow when checking for concept drift. Subwindows whose size is smaller than this value will be ignored during concept drift evaluation. Lower values may decrease delay in change detection but may also lead to more false positives.

  • grace_period

    Default \u2192 10

    ADWIN does not perform any change detection until at least this many data points have arrived.

"},{"location":"api/drift/ADWIN/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • estimation

    Estimate of mean value in the window.

  • n_detections

    The total number of detected changes.

  • total

    The sum of the stored elements.

  • variance

    The sample variance within the stored (adaptive) window.

  • width

    Window size

"},{"location":"api/drift/ADWIN/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nadwin = drift.ADWIN()\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    adwin.update(val)\n    if adwin.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1023, input value: 4\n

"},{"location":"api/drift/ADWIN/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Apart from adding the element value to the window, by inserting it in the correct bucket, it will also update the relevant statistics, in this case the total sum of all values, the window width and the total variance.

Parameters

  • x \u2014 'int | float'

Returns

None: self

  1. Albert Bifet and Ricard Gavalda. \"Learning from time-changing data with adaptive windowing.\" In Proceedings of the 2007 SIAM international conference on data mining, pp. 443-448. Society for Industrial and Applied Mathematics, 2007.\u00a0\u21a9

"},{"location":"api/drift/DriftRetrainingClassifier/","title":"DriftRetrainingClassifier","text":"

Drift retraining classifier.

This classifier is a wrapper for any classifier. It monitors the incoming data for concept drifts and warnings in the model's accurary. In case a warning is detected, a background model starts to train. If a drift is detected, the model will be replaced by the background model, and the background model will be reset.

"},{"location":"api/drift/DriftRetrainingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier and background classifier class.

  • drift_detector

    Type \u2192 base.DriftAndWarningDetector | base.BinaryDriftAndWarningDetector | None

    Default \u2192 None

    Algorithm to track warnings and concept drifts. Attention! If the parameter train_in_background is True, the drift_detector must have a warning tracker.

  • train_in_background

    Type \u2192 bool

    Default \u2192 True

    Parameter to determine if a background model will be used.

"},{"location":"api/drift/DriftRetrainingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import drift\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Elec2().take(3000)\n\nmodel = drift.DriftRetrainingClassifier(\n    model=tree.HoeffdingTreeClassifier(),\n    drift_detector=drift.binary.DDM()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 86.46%\n

"},{"location":"api/drift/DriftRetrainingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/drift/DummyDriftDetector/","title":"DummyDriftDetector","text":"

Baseline drift detector that generates pseudo drift detection signals.

There are two approaches1:

  • fixed where the drift signal is generated every t_0 samples.

  • random corresponds to a pseudo-random drift detection strategy.

"},{"location":"api/drift/DummyDriftDetector/#parameters","title":"Parameters","text":"
  • trigger_method

    Type \u2192 str

    Default \u2192 fixed

    The trigger method to use. * fixed * random

  • t_0

    Type \u2192 int

    Default \u2192 300

    Reference point to define triggers.

  • w

    Type \u2192 int

    Default \u2192 0

    Auxiliary parameter whose purpose is twofold: - if trigger_method=\"fixed\", the periodic drift signals will only start after an initial warm-up period randomly defined between [0, w]. Useful to avoid that all ensemble members are reset at the same time when periodic triggers are used as the adaptation strategy. - if trigger_method=\"random\", w defines the probability bounds of triggering a drift. The chance of triggering a drift is \\(0.5\\) after observing t_0 instances and becomes \\(1\\) after monitoring t_0 + w / 2 instances. A sigmoid function is used to produce values between [0, 1] that are used as the reset probabilities.

  • dynamic_cloning

    Type \u2192 bool

    Default \u2192 False

    Whether to change the seed and w values each time clone() is called.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/drift/DummyDriftDetector/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/DummyDriftDetector/#examples","title":"Examples","text":"
import random\nfrom river import drift\n\nrng = random.Random(42)\n

The observed values will not affect the periodic triggers.

data = [rng.gauss(0, 1) for _ in range(1000)]\n

Let's start with the fixed drift signals:

ptrigger = DummyDriftDetector(t_0=500, seed=42)\nfor i, v in enumerate(data):\n    ptrigger.update(v)\n    if ptrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 499.\nDrift detected at instance 999.\n

Now, the random drift signals:

rtrigger = DummyDriftDetector(\n    trigger_method=\"random\",\n    t_0=500,\n    w=100,\n    dynamic_cloning=True,\n    seed=42\n)\nfor i, v in enumerate(data):\n    rtrigger.update(v)\n    if rtrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 368.\nDrift detected at instance 817.\n

Remember to set a w > 0 value if random triggers are used:

try:\n    DummyDriftDetector(trigger_method=\"random\")\nexcept ValueError as ve:\n    print(ve)\n
The 'w' value must be greater than zero when 'trigger_method' is 'random'.\n

Since we set dynamic_cloning to True, a clone of the periodic trigger will have its internal paramenters changed:

rtrigger = rtrigger.clone()\nfor i, v in enumerate(data):\n    rtrigger.update(v)\n    if rtrigger.drift_detected:\n        print(f\"Drift detected at instance {i}.\")\n
Drift detected at instance 429.\nDrift detected at instance 728.\n

"},{"location":"api/drift/DummyDriftDetector/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/drift/DummyDriftDetector/#notes","title":"Notes","text":"

When used in ensembles, a naive implementation of periodic drift signals would make all ensemble members reset at the same time. To avoid that, the dynamic_cloning parameter can be set to True. In this case, every time the clone method of this detector is called in an ensemble a new seed is defined. If dynamic_cloning=True and trigger_method=\"fixed\", a new w between [0, t_0] will also be created for the new cloned instance.

  1. Heitor Gomes, Jacob Montiel, Saulo Martiello Mastelini, Bernhard Pfahringer, and Albert Bifet. On Ensemble Techniques for Data Stream Regression. IJCNN'20. International Joint Conference on Neural Networks. 2020.\u00a0\u21a9

"},{"location":"api/drift/KSWIN/","title":"KSWIN","text":"

Kolmogorov-Smirnov Windowing method for concept drift detection.

"},{"location":"api/drift/KSWIN/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 float

    Default \u2192 0.005

    Probability for the test statistic of the Kolmogorov-Smirnov-Test. The alpha parameter is very sensitive, therefore should be set below 0.01.

  • window_size

    Type \u2192 int

    Default \u2192 100

    Size of the sliding window.

  • stat_size

    Type \u2192 int

    Default \u2192 30

    Size of the statistic window.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

  • window

    Type \u2192 typing.Iterable | None

    Default \u2192 None

    Already collected data to avoid cold start.

"},{"location":"api/drift/KSWIN/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/KSWIN/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nkswin = drift.KSWIN(alpha=0.0001, seed=42)\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    kswin.update(val)\n    if kswin.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1016, input value: 6\n

"},{"location":"api/drift/KSWIN/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Adds an element on top of the sliding window and removes the oldest one from the window. Afterwards, the KS-test is performed.

Parameters

  • x \u2014 'int | float'

Returns

None: self

"},{"location":"api/drift/KSWIN/#notes","title":"Notes","text":"

KSWIN (Kolmogorov-Smirnov Windowing) is a concept change detection method based on the Kolmogorov-Smirnov (KS) statistical test. KS-test is a statistical test with no assumption of underlying data distribution. KSWIN can monitor data or performance distributions. Note that the detector accepts one dimensional input as array.

KSWIN maintains a sliding window \\(\\Psi\\) of fixed size \\(n\\) (window_size). The last \\(r\\) (stat_size) samples of \\(\\Psi\\) are assumed to represent the last concept considered as \\(R\\). From the first \\(n-r\\) samples of \\(\\Psi\\), \\(r\\) samples are uniformly drawn, representing an approximated last concept \\(W\\).

The KS-test is performed on the windows \\(R\\) and \\(W\\) of the same size. KS -test compares the distance of the empirical cumulative data distribution \\(dist(R,W)\\).

A concept drift is detected by KSWIN if:

\\[ dist(R,W) > \\sqrt{-\\frac{ln\\alpha}{r}} \\]

The difference in empirical data distributions between the windows \\(R\\) and \\(W\\) is too large since \\(R\\) and \\(W\\) come from the same distribution.

  1. Christoph Raab, Moritz Heusinger, Frank-Michael Schleif, Reactive Soft Prototype Computing for Concept Drift Streams, Neurocomputing, 2020,\u00a0\u21a9

"},{"location":"api/drift/NoDrift/","title":"NoDrift","text":"

Dummy class used to turn off concept drift detection capabilities of adaptive models. It always signals that no concept drift was detected. Examples --------

from river import drift >>> from river import evaluate >>> from river import forest >>> from river import metrics >>> from river.datasets import synth

dataset = datasets.synth.ConceptDriftStream( ... seed=8, ... position=500, ... width=40, ... ).take(700)

We can turn off the warning detection capabilities of Adaptive Random Forest (ARF) or other similar models. Thus, the base models will reset immediately after identifying a drift, bypassing the background model building phase:

adaptive_model = forest.ARFClassifier( ... leaf_prediction=\"mc\", ... warning_detector=drift.NoDrift(), ... seed=8 ... )

We can also turn off the concept drift handling capabilities completely:

stationary_model = forest.ARFClassifier( ... leaf_prediction=\"mc\", ... warning_detector=drift.NoDrift(), ... drift_detector=drift.NoDrift(), ... seed=8 ... )

Let's put that to test:

for x, y in dataset: ... adaptive_model.learn_one(x, y) ... stationary_model.learn_one(x, y)

The adaptive model:

adaptive_model.n_drifts_detected() 2

adaptive_model.n_warnings_detected() 0

The stationary one:

stationary_model.n_drifts_detected() 0

stationary_model.n_warnings_detected() 0

"},{"location":"api/drift/NoDrift/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/NoDrift/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

"},{"location":"api/drift/PageHinkley/","title":"PageHinkley","text":"

Page-Hinkley method for concept drift detection.

This change detection method works by computing the observed values and their mean up to the current moment. Page-Hinkley does not signal warning zones, only change detections.

This detector implements the CUSUM control chart for detecting changes. This implementation also supports the two-sided Page-Hinkley test to detect increasing and decreasing changes in the mean of the input values.

"},{"location":"api/drift/PageHinkley/#parameters","title":"Parameters","text":"
  • min_instances

    Type \u2192 int

    Default \u2192 30

    The minimum number of instances before detecting change.

  • delta

    Type \u2192 float

    Default \u2192 0.005

    The delta factor for the Page-Hinkley test.

  • threshold

    Type \u2192 float

    Default \u2192 50.0

    The change detection threshold (lambda).

  • alpha

    Type \u2192 float

    Default \u2192 0.9999

    The forgetting factor, used to weight the observed value and the mean.

  • mode

    Type \u2192 str

    Default \u2192 both

    Whether to consider increases (\"up\"), decreases (\"down\") or both (\"both\") when monitoring the fading mean.

"},{"location":"api/drift/PageHinkley/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/PageHinkley/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(12345)\nph = drift.PageHinkley()\n\ndata_stream = rng.choices([0, 1], k=1000) + rng.choices(range(4, 8), k=1000)\n\nfor i, val in enumerate(data_stream):\n    ph.update(val)\n    if ph.drift_detected:\n        print(f\"Change detected at index {i}, input value: {val}\")\n
Change detected at index 1006, input value: 5\n

"},{"location":"api/drift/PageHinkley/#methods","title":"Methods","text":"update

Update the detector with a single data point.

Parameters

  • x \u2014 'int | float'

  1. E. S. Page. 1954. Continuous Inspection Schemes. Biometrika 41, 1/2 (1954), 100-115.\u00a0\u21a9

  2. Sebasti\u00e3o, R., & Fernandes, J. M. (2017, June). Supporting the Page-Hinkley test with empirical mode decomposition for change detection. In International Symposium on Methodologies for Intelligent Systems (pp. 492-498). Springer, Cham.\u00a0\u21a9

"},{"location":"api/drift/binary/DDM/","title":"DDM","text":"

Drift Detection Method.

DDM (Drift Detection Method) is a concept change detection method based on the PAC learning model premise, that the learner's error rate will decrease as the number of analysed samples increase, as long as the data distribution is stationary.

If the algorithm detects an increase in the error rate, that surpasses a calculated threshold, either change is detected or the algorithm will warn the user that change may occur in the near future, which is called the warning zone.

The detection threshold is calculated in function of two statistics, obtained when \\((p_i + s_i)\\) is minimum:

  • \\(p_{min}\\): The minimum recorded error rate.

  • \\(s_{min}\\): The minimum recorded standard deviation.

At instant \\(i\\), the detection algorithm uses:

  • \\(p_i\\): The error rate at instant \\(i\\).

  • \\(s_i\\): The standard deviation at instant \\(i\\).

The conditions for entering the warning zone and detecting change are as follows [see implementation note below]:

  • if \\(p_i + s_i \\geq p_{min} + w_l * s_{min}\\) -> Warning zone

  • if \\(p_i + s_i \\geq p_{min} + d_l * s_{min}\\) -> Change detected

In the above expressions, \\(w_l\\) and \\(d_l\\) represent, respectively, the warning and drift thresholds.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

"},{"location":"api/drift/binary/DDM/#parameters","title":"Parameters","text":"
  • warm_start

    Type \u2192 int

    Default \u2192 30

    The minimum required number of analyzed samples so change can be detected. Warm start parameter for the drift detector.

  • warning_threshold

    Type \u2192 float

    Default \u2192 2.0

    Threshold to decide if the detector is in a warning zone. The default value gives 95\\% of confidence level to the warning assessment.

  • drift_threshold

    Type \u2192 float

    Default \u2192 3.0

    Threshold to decide if a drift was detected. The default value gives a 99\\% of confidence level to the drift assessment.

"},{"location":"api/drift/binary/DDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/DDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nddm = drift.binary.DDM()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    ddm.update(x)\n    if ddm.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if ddm.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 1084\nChange detected at index 1334\nWarning detected at index 1492\n

"},{"location":"api/drift/binary/DDM/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

  1. Jo\u00e3o Gama, Pedro Medas, Gladys Castillo, Pedro Pereira Rodrigues: Learning with Drift Detection. SBIA 2004: 286-295\u00a0\u21a9

"},{"location":"api/drift/binary/EDDM/","title":"EDDM","text":"

Early Drift Detection Method.

EDDM (Early Drift Detection Method) aims to improve the detection rate of gradual concept drift in DDM, while keeping a good performance against abrupt concept drift.

This method works by keeping track of the average distance between two errors instead of only the error rate. For this, it is necessary to keep track of the running average distance and the running standard deviation, as well as the maximum distance and the maximum standard deviation.

The algorithm works similarly to the DDM algorithm, by keeping track of statistics only. It works with the running average distance (\\(p_i'\\)) and the running standard deviation (\\(s_i'\\)), as well as \\(p'_{max}\\) and \\(s'_{max}\\), which are the values of \\(p_i'\\) and \\(s_i'\\) when \\((p_i' + 2 * s_i')\\) reaches its maximum.

Like DDM, there are two threshold values that define the borderline between no change, warning zone, and drift detected. These are as follows:

  • if \\((p_i' + 2 * s_i') / (p'_{max} + 2 * s'_{max}) < \\alpha\\) -> Warning zone

  • if \\((p_i' + 2 * s_i') / (p'_{max} + 2 * s'_{max}) < \\beta\\) -> Change detected

\\(\\alpha\\) and \\(\\beta\\) are set to 0.95 and 0.9, respectively.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\\\neq y'\\)

"},{"location":"api/drift/binary/EDDM/#parameters","title":"Parameters","text":"
  • warm_start

    Type \u2192 int

    Default \u2192 30

    The minimum required number of monitored errors/failures so change can be detected. Warm start parameter for the drift detector.

  • alpha

    Type \u2192 float

    Default \u2192 0.95

    Threshold for triggering a warning. Must be between 0 and 1. The smaller the value, the more conservative the detector becomes.

  • beta

    Type \u2192 float

    Default \u2192 0.9

    Threshold for triggering a drift. Must be between 0 and 1. The smaller the value, the more conservative the detector becomes.

"},{"location":"api/drift/binary/EDDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/EDDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\neddm = drift.binary.EDDM(alpha=0.8, beta=0.75)\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    eddm.update(x)\n    if eddm.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if eddm.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 1059\nChange detected at index 1278\n

"},{"location":"api/drift/binary/EDDM/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Early Drift Detection Method. Manuel Baena-Garcia, Jose Del Campo-Avila, Ra\u00fal Fidalgo, Albert Bifet, Ricard Gavalda, Rafael Morales-Bueno. In Fourth International Workshop on Knowledge Discovery from Data Streams, 2006.\u00a0\u21a9

"},{"location":"api/drift/binary/FHDDM/","title":"FHDDM","text":"

Fast Hoeffding Drift Detection Method.

FHDDM is a drift detection method based on the Hoeffding's inequality which uses the input average as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/FHDDM/#parameters","title":"Parameters","text":"
  • sliding_window_size

    Type \u2192 int

    Default \u2192 100

    The minimum required number of analyzed samples so change can be detected.

  • confidence_level

    Type \u2192 float

    Default \u2192 1e-06

    Confidence level used to determine the epsilon coefficient in Hoeffding\u2019s inequality. The default value gives a 99\\% of confidence level to the drift assessment.

  • short_window_size

    Type \u2192 int | None

    Default \u2192 None

    The size of the short window size that it is used in a Stacking version of FHDDM 2.

"},{"location":"api/drift/binary/FHDDM/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/FHDDM/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nfhddm = drift.binary.FHDDM()\nfhddm_s = drift.binary.FHDDM(short_window_size = 20)\ndata_stream = rng.choices([0, 1], k=250)\ndata_stream = data_stream + rng.choices([0, 1], k=250, weights=[0.9, 0.1])\nfor i, x in enumerate(data_stream):\n    fhddm.update(x)\n    fhddm_s.update(x)\n    if fhddm.drift_detected or fhddm_s.drift_detected:\n        print(f\"Change detected at index {i}\")\n
Change detected at index 279\nChange detected at index 315\n

"},{"location":"api/drift/binary/FHDDM/#methods","title":"Methods","text":"update

Update the detector with a single boolean input.

Parameters

  • x \u2014 'bool'

  1. A. Pesaranghader, H.L. Viktor, Fast Hoeffding Drift Detection Method for Evolving Data Streams. In the Proceedings of ECML-PKDD 2016.\u00a0\u21a9

  2. Reservoir of Diverse Adaptive Learners and Stacking Fast Hoeffding Drift Detection Methods for Evolving Data Streams.\u00a0\u21a9

"},{"location":"api/drift/binary/HDDM-A/","title":"HDDM_A","text":"

Drift Detection Method based on Hoeffding's bounds with moving average-test.

HDDM_A is a drift detection method based on the Hoeffding's inequality which uses the input average as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/HDDM-A/#parameters","title":"Parameters","text":"
  • drift_confidence

    Default \u2192 0.001

    Confidence to the drift

  • warning_confidence

    Default \u2192 0.005

    Confidence to the warning

  • two_sided_test

    Default \u2192 False

    If True, will monitor error increments and decrements (two-sided). By default will only monitor increments (one-sided).

"},{"location":"api/drift/binary/HDDM-A/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/HDDM-A/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nhddm_a = drift.binary.HDDM_A()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    hddm_a.update(x)\n    if hddm_a.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if hddm_a.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 451\nChange detected at index 1206\n

"},{"location":"api/drift/binary/HDDM-A/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Fr\u00edas-Blanco I, del Campo-\u00c1vila J, Ramos-Jimenez G, et al. Online and non-parametric drift detection methods based on Hoeffding's bounds. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(3): 810-823.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/drift/binary/HDDM-W/","title":"HDDM_W","text":"

Drift Detection Method based on Hoeffding's bounds with moving weighted average-test.

HDDM_W is an online drift detection method based on McDiarmid's bounds. HDDM_W uses the Exponentially Weighted Moving Average (EWMA) statistic as estimator.

Input: x is an entry in a stream of bits, where 1 indicates error/failure and 0 represents correct/normal values.

For example, if a classifier's prediction \\(y'\\) is right or wrong w.r.t. the true target label \\(y\\):

  • 0: Correct, \\(y=y'\\)

  • 1: Error, \\(y \\neq y'\\)

Implementation based on MOA.

"},{"location":"api/drift/binary/HDDM-W/#parameters","title":"Parameters","text":"
  • drift_confidence

    Default \u2192 0.001

    Confidence to the drift

  • warning_confidence

    Default \u2192 0.005

    Confidence to the warning

  • lambda_val

    Default \u2192 0.05

    The weight given to recent data. Smaller values mean less weight given to recent data.

  • two_sided_test

    Default \u2192 False

    If True, will monitor error increments and decrements (two-sided). By default will only monitor increments (one-sided).

"},{"location":"api/drift/binary/HDDM-W/#attributes","title":"Attributes","text":"
  • drift_detected

    Whether or not a drift is detected following the last update.

  • warning_detected

    Whether or not a drift is detected following the last update.

"},{"location":"api/drift/binary/HDDM-W/#examples","title":"Examples","text":"

import random\nfrom river import drift\n\nrng = random.Random(42)\nhddm_w = drift.binary.HDDM_W()\n\ndata_stream = rng.choices([0, 1], k=1000)\ndata_stream = data_stream + rng.choices([0, 1], k=1000, weights=[0.3, 0.7])\n\nprint_warning = True\nfor i, x in enumerate(data_stream):\n    hddm_w.update(x)\n    if hddm_w.warning_detected and print_warning:\n        print(f\"Warning detected at index {i}\")\n        print_warning = False\n    if hddm_w.drift_detected:\n        print(f\"Change detected at index {i}\")\n        print_warning = True\n
Warning detected at index 451\nChange detected at index 1077\n

"},{"location":"api/drift/binary/HDDM-W/#methods","title":"Methods","text":"update

Update the change detector with a single data point.

Parameters

  • x \u2014 'bool'

Returns

BinaryDriftDetector: self

  1. Fr\u00edas-Blanco I, del Campo-\u00c1vila J, Ramos-Jimenez G, et al. Online and non-parametric drift detection methods based on Hoeffding\u2019s bounds. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(3): 810-823.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/drift/datasets/AirlinePassengers/","title":"AirlinePassengers","text":"

JFK Airline Passengers

This dataset gives the number of passengers arriving and departing at JFK. The data is obtained from New York State's official Kaggle page for this dataset.

"},{"location":"api/drift/datasets/AirlinePassengers/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/AirlinePassengers/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.kaggle.com/new-york-state/nys-air-passenger-traffic,-port-authority-of-ny-nj#air-passenger-traffic-per-month-port-authority-of-ny-nj-beginning-1977.csv\u00a0\u21a9

"},{"location":"api/drift/datasets/Apple/","title":"Apple","text":"

Apple Stock

This dataset concerns the daily close price and volume of Apple stock around the year 2000. The dataset is sampled every 3 observations to reduce the length of the time series. This dataset is retrieved from Yahoo Finance.

"},{"location":"api/drift/datasets/Apple/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Apple/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://finance.yahoo.com/quote/AAPL/history?period1=850348800&period2=1084579200&interval=1d&filter=history&frequency=1d\u00a0\u21a9

"},{"location":"api/drift/datasets/Bitcoin/","title":"Bitcoin","text":"

Bitcoin Market Price

This is a regression task, where the goal is to predict the average USD market price across major bitcoin exchanges. This data was collected from the official Blockchain website. There is only one feature given, the day of exchange, which is in increments of three. The first 500 lines have been removed because they are not interesting.

"},{"location":"api/drift/datasets/Bitcoin/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Bitcoin/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.blockchain.com/fr/explorer/charts/market-price?timespan=all\u00a0\u21a9

"},{"location":"api/drift/datasets/BrentSpotPrice/","title":"BrentSpotPrice","text":"

Brent Spot Price

This is the USD price for Brent Crude oil, measured daily. We include the time series from 2000 onwards. The data is sampled at every 10 original observations to reduce the length of the series.

The data is obtained from the U.S. Energy Information Administration. Since the data is in the public domain, we distribute it as part of this repository.

Since the original data has observations only on trading days, there are arguably gaps in this time series (on non-trading days). However we consider these to be consecutive, and thus also consider the sampled time series to have consecutive observations.

"},{"location":"api/drift/datasets/BrentSpotPrice/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/BrentSpotPrice/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. U.S. Energy Information Administration (Sep. 2019)\u00a0\u21a9

  2. https://www.eia.gov/opendata/v1/qb.php?sdid=PET.RBRTE.D\u00a0\u21a9

"},{"location":"api/drift/datasets/Occupancy/","title":"Occupancy","text":"

Room occupancy data.

Dataset on detecting room occupancy based on several variables. The dataset contains temperature, humidity, light, and CO2 variables.

The data is sampled at every 16 observations to reduce the length of the series.

"},{"location":"api/drift/datasets/Occupancy/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/Occupancy/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

Candanedo, Luis M., and V\u00e9ronique Feldheim. \"Accurate occupancy detection of an office room from light, temperature, humidity and CO2 measurements using statistical learning models.\" Energy and Buildings 112 (2016): 28-39.

"},{"location":"api/drift/datasets/RunLog/","title":"RunLog","text":"

Interval Training Running Pace.

This dataset shows the pace of a runner during an interval training session, where a mobile application provides instructions on when to run and when to walk.

"},{"location":"api/drift/datasets/RunLog/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/RunLog/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

"},{"location":"api/drift/datasets/UKCoalEmploy/","title":"UKCoalEmploy","text":"

Historic Employment in UK Coal Mines

This is historic data obtained from the UK government. We use the employment column for the number of workers employed in the British coal mines Missing values in the data are replaced with the value of the preceding year.

"},{"location":"api/drift/datasets/UKCoalEmploy/#attributes","title":"Attributes","text":"
  • desc

    Return the description from the docstring.

  • path

"},{"location":"api/drift/datasets/UKCoalEmploy/#methods","title":"Methods","text":"take

Iterate over the k samples.

Parameters

  • k \u2014 'int'

  1. https://www.gov.uk/government/statistical-data-sets/historical-coal-data-coal-production-availability-and-consumption\u00a0\u21a9

"},{"location":"api/dummy/NoChangeClassifier/","title":"NoChangeClassifier","text":"

Dummy classifier which returns the last class seen.

The predict_one method will output the last class seen whilst predict_proba_one will return 1 for the last class seen and 0 for the others.

"},{"location":"api/dummy/NoChangeClassifier/#attributes","title":"Attributes","text":"
  • last_class

    The last class seen.

  • classes

    The set of classes seen.

"},{"location":"api/dummy/NoChangeClassifier/#examples","title":"Examples","text":"

Taken from example 2.1 from this page.

import pprint\nfrom river import dummy\n\nsentences = [\n    ('glad happy glad', '+'),\n    ('glad glad joyful', '+'),\n    ('glad pleasant', '+'),\n    ('miserable sad glad', '\u2212')\n]\n\nmodel = dummy.NoChangeClassifier()\n\nfor sentence, label in sentences:\n    model.learn_one(sentence, label)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
'\u2212'\n

pprint.pprint(model.predict_proba_one(new_sentence))\n
{'+': 0, '\u2212': 1}\n

"},{"location":"api/dummy/NoChangeClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/dummy/PriorClassifier/","title":"PriorClassifier","text":"

Dummy classifier which uses the prior distribution.

The predict_one method will output the most common class whilst predict_proba_one will return the normalized class counts.

"},{"location":"api/dummy/PriorClassifier/#attributes","title":"Attributes","text":"
  • counts (collections.Counter)

    Class counts.

  • n (int)

    Total number of seen instances.

"},{"location":"api/dummy/PriorClassifier/#examples","title":"Examples","text":"

Taken from example 2.1 from this page

from river import dummy\n\nsentences = [\n    ('glad happy glad', '+'),\n    ('glad glad joyful', '+'),\n    ('glad pleasant', '+'),\n    ('miserable sad glad', '\u2212')\n]\n\nmodel = dummy.PriorClassifier()\n\nfor sentence, label in sentences:\n    model.learn_one(sentence, label)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
'+'\n
model.predict_proba_one(new_sentence)\n
{'+': 0.75, '\u2212': 0.25}\n

"},{"location":"api/dummy/PriorClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Krichevsky\u2013Trofimov estimator \u21a9

"},{"location":"api/dummy/StatisticRegressor/","title":"StatisticRegressor","text":"

Dummy regressor that uses a univariate statistic to make predictions.

"},{"location":"api/dummy/StatisticRegressor/#parameters","title":"Parameters","text":"
  • statistic

    Type \u2192 stats.base.Univariate

"},{"location":"api/dummy/StatisticRegressor/#examples","title":"Examples","text":"

from pprint import pprint\nfrom river import dummy\nfrom river import stats\n\nsentences = [\n    ('glad happy glad', 3),\n    ('glad glad joyful', 3),\n    ('glad pleasant', 2),\n    ('miserable sad glad', -3)\n]\n\nmodel = dummy.StatisticRegressor(stats.Mean())\n\nfor sentence, score in sentences:\n    model.learn_one(sentence, score)\n\nnew_sentence = 'glad sad miserable pleasant glad'\nmodel.predict_one(new_sentence)\n
1.25\n

"},{"location":"api/dummy/StatisticRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/ensemble/ADWINBaggingClassifier/","title":"ADWINBaggingClassifier","text":"

ADWIN Bagging classifier.

ADWIN Bagging 1 is the online bagging method of Oza and Russell 2 with the addition of the ADWIN algorithm as a change detector. If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/ADWINBaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/ADWINBaggingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/ADWINBaggingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.ADWINBaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.65%\n

"},{"location":"api/ensemble/ADWINBaggingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

  1. Albert Bifet, Geoff Holmes, Bernhard Pfahringer, Richard Kirkby, and Ricard Gavald\u00e0. \"New ensemble methods for evolving data streams.\" In 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2009.\u00a0\u21a9

  2. Oza, N., Russell, S. \"Online bagging and boosting.\" In: Artificial Intelligence and Statistics 2001, pp. 105\u2013112. Morgan Kaufmann, 2001.\u00a0\u21a9

"},{"location":"api/ensemble/ADWINBoostingClassifier/","title":"ADWINBoostingClassifier","text":"

ADWIN Boosting classifier.

ADWIN Boosting 1 is the online boosting method of Oza and Russell 2 with the addition of the ADWIN algorithm as a change detector. If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/ADWINBoostingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/ADWINBoostingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/ADWINBoostingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\nmodel = ensemble.ADWINBoostingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.61%\n

"},{"location":"api/ensemble/ADWINBoostingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Albert Bifet, Geoff Holmes, Bernhard Pfahringer, Richard Kirkby, and Ricard Gavald\u00e0. \"New ensemble methods for evolving data streams.\" In 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2009.\u00a0\u21a9

  2. Oza, N., Russell, S. \"Online bagging and boosting.\" In: Artificial Intelligence and Statistics 2001, pp. 105\u2013112. Morgan Kaufmann, 2001.\u00a0\u21a9

"},{"location":"api/ensemble/AdaBoostClassifier/","title":"AdaBoostClassifier","text":"

Boosting for classification.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter lambda. The lambda parameter is updated when the weaks learners fit successively the same observation.

"},{"location":"api/ensemble/AdaBoostClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/AdaBoostClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/AdaBoostClassifier/#examples","title":"Examples","text":"

In the following example three tree classifiers are boosted together. The performance is slightly better than when using a single tree.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Phishing()\n\nmetric = metrics.LogLoss()\n\nmodel = ensemble.AdaBoostClassifier(\n    model=(\n        tree.HoeffdingTreeClassifier(\n            split_criterion='gini',\n            delta=1e-5,\n            grace_period=2000\n        )\n    ),\n    n_models=5,\n    seed=42\n)\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.370805\n

print(model)\n
AdaBoostClassifier(HoeffdingTreeClassifier)\n

"},{"location":"api/ensemble/AdaBoostClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/BOLEClassifier/","title":"BOLEClassifier","text":"

Boosting Online Learning Ensemble (BOLE).

A modified version of Oza Online Boosting Algorithm 1. For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter lambda. The first model to be trained will be the one with worst correct_weight / (correct_weight + wrong_weight). The worst model not yet trained will receive lambda values for training from the models that incorrectly classified an instance, and the best model's not yet trained will receive lambda values for training from the models that correctly classified an instance. For more details, see 2.

"},{"location":"api/ensemble/BOLEClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to boost.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

  • error_bound

    Default \u2192 0.5

    Error bound percentage for allowing models to vote.

"},{"location":"api/ensemble/BOLEClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BOLEClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import drift\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Elec2().take(3000)\n\nmodel = ensemble.BOLEClassifier(\n    model=drift.DriftRetrainingClassifier(\n        model=tree.HoeffdingTreeClassifier(),\n        drift_detector=drift.binary.DDM()\n    ),\n    n_models=10,\n    seed=42\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 93.63%\n

"},{"location":"api/ensemble/BOLEClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

  2. R. S. M. d. Barros, S. Garrido T. de Carvalho Santos and P. M. Gon\u00e7alves J\u00fanior, \"A Boosting-like Online Learning Ensemble,\" 2016 International Joint Conference on Neural Networks (IJCNN), 2016, pp. 1871-1878, doi: 10.1109/IJCNN.2016.7727427.\u00a0\u21a9

"},{"location":"api/ensemble/BaggingClassifier/","title":"BaggingClassifier","text":"

Online bootstrap aggregation for classification.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter 1. k thus has a 36% chance of being equal to 0, a 36% chance of being equal to 1, an 18% chance of being equal to 2, a 6% chance of being equal to 3, a 1% chance of being equal to 4, etc. You can do scipy.stats.utils.random.poisson(1).pmf(k) to obtain more detailed values.

"},{"location":"api/ensemble/BaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/BaggingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BaggingClassifier/#examples","title":"Examples","text":"

In the following example three logistic regressions are bagged together. The performance is slightly better than when using a single logistic regression.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.BaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.65%\n

print(model)\n
BaggingClassifier(StandardScaler | LogisticRegression)\n

"},{"location":"api/ensemble/BaggingClassifier/#methods","title":"Methods","text":"learn_one predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/BaggingRegressor/","title":"BaggingRegressor","text":"

Online bootstrap aggregation for regression.

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter 1. k thus has a 36% chance of being equal to 0, a 36% chance of being equal to 1, an 18% chance of being equal to 2, a 6% chance of being equal to 3, a 1% chance of being equal to 4, etc. You can do scipy.stats.utils.random.poisson(1).pmf(k) for more detailed values.

"},{"location":"api/ensemble/BaggingRegressor/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor

    The regressor to bag.

  • n_models

    Default \u2192 10

    The number of models in the ensemble.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/BaggingRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/BaggingRegressor/#examples","title":"Examples","text":"

In the following example three logistic regressions are bagged together. The performance is slightly better than when using a single logistic regression.

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = preprocessing.StandardScaler()\nmodel |= ensemble.BaggingRegressor(\n    model=linear_model.LinearRegression(intercept_lr=0.1),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.677586\n

"},{"location":"api/ensemble/BaggingRegressor/#methods","title":"Methods","text":"learn_one predict_one

Averages the predictions of each regressor.

Parameters

  • x
  • kwargs

  1. Oza, N.C., 2005, October. Online bagging and boosting. In 2005 IEEE international conference on systems, man and cybernetics (Vol. 3, pp. 2340-2345). Ieee. \u21a9

"},{"location":"api/ensemble/EWARegressor/","title":"EWARegressor","text":"

Exponentially Weighted Average regressor.

"},{"location":"api/ensemble/EWARegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Regressor]

    The regressors to hedge.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function that has to be minimized. Defaults to optim.losses.Squared.

  • learning_rate

    Default \u2192 0.5

    The learning rate by which the model weights are multiplied at each iteration.

"},{"location":"api/ensemble/EWARegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/EWARegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\nfrom river import stream\n\noptimizers = [\n    optim.SGD(0.01),\n    optim.RMSProp(),\n    optim.AdaGrad()\n]\n\nfor optimizer in optimizers:\n\n    dataset = datasets.TrumpApproval()\n    metric = metrics.MAE()\n    model = (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(\n            optimizer=optimizer,\n            intercept_lr=.1\n        )\n    )\n\n    print(optimizer, evaluate.progressive_val_score(dataset, model, metric))\n
SGD MAE: 0.558735\nRMSProp MAE: 0.522449\nAdaGrad MAE: 0.477289\n

dataset = datasets.TrumpApproval()\nmetric = metrics.MAE()\nhedge = (\n    preprocessing.StandardScaler() |\n    ensemble.EWARegressor(\n        [\n            linear_model.LinearRegression(optimizer=o, intercept_lr=.1)\n            for o in optimizers\n        ],\n        learning_rate=0.005\n    )\n)\n\nevaluate.progressive_val_score(dataset, hedge, metric)\n
MAE: 0.496298\n

"},{"location":"api/ensemble/EWARegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

learn_predict_one predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Online Learning from Experts: Weighed Majority and Hedge \u21a9

  2. Wikipedia page on the multiplicative weight update method \u21a9

  3. Kivinen, J. and Warmuth, M.K., 1997. Exponentiated gradient versus gradient descent for linear predictors. information and computation, 132(1), pp.1-63. \u21a9

"},{"location":"api/ensemble/LeveragingBaggingClassifier/","title":"LeveragingBaggingClassifier","text":"

Leveraging Bagging ensemble classifier.

Leveraging Bagging [^1] is an improvement over the Oza Bagging algorithm. The bagging performance is leveraged by increasing the re-sampling. It uses a poisson distribution to simulate the re-sampling process. To increase re-sampling it uses a higher w value of the Poisson distribution (agerage number of events), 6 by default, increasing the input space diversity, by attributing a different range of weights to the data samples.

To deal with concept drift, Leveraging Bagging uses the ADWIN algorithm to monitor the performance of each member of the enemble If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier to bag.

  • n_models

    Type \u2192 int

    Default \u2192 10

    The number of models in the ensemble.

  • w

    Type \u2192 float

    Default \u2192 6

    Indicates the average number of events. This is the lambda parameter of the Poisson distribution used to compute the re-sampling weight.

  • adwin_delta

    Type \u2192 float

    Default \u2192 0.002

    The delta parameter for the ADWIN change detector.

  • bagging_method

    Type \u2192 str

    Default \u2192 bag

    The bagging method to use. Can be one of the following: * 'bag' - Leveraging Bagging using ADWIN. * 'me' - Assigns \\(weight=1\\) if sample is misclassified, otherwise \\(weight=error/(1-error)\\). * 'half' - Use resampling without replacement for half of the instances. * 'wt' - Resample without taking out all instances. * 'subag' - Resampling without replacement.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#attributes","title":"Attributes","text":"
  • bagging_methods

    Valid bagging_method options.

  • models

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = ensemble.LeveragingBaggingClassifier(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.55%\n

"},{"location":"api/ensemble/LeveragingBaggingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Averages the predictions of each classifier.

Parameters

  • x
  • kwargs

"},{"location":"api/ensemble/SRPClassifier/","title":"SRPClassifier","text":"

Streaming Random Patches ensemble classifier.

The Streaming Random Patches (SRP) 1 is an ensemble method that simulates bagging or random subspaces. The default algorithm uses both bagging and random subspaces, namely Random Patches. The default base estimator is a Hoeffding Tree, but other base estimators can be used (differently from random forest variations).

"},{"location":"api/ensemble/SRPClassifier/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Estimator | None

    Default \u2192 None

    The base estimator.

  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of members in the ensemble.

  • subspace_size

    Type \u2192 int | float | str

    Default \u2192 0.6

    Number of features per subset for each classifier where M is the total number of features. A negative value means M - subspace_size. Only applies when using random subspaces or random patches. * If int indicates the number of features to use. Valid range [2, M]. * If float indicates the percentage of features to use, Valid range (0., 1.]. * 'sqrt' - sqrt(M)+1 * 'rmsqrt' - Residual from M-(sqrt(M)+1)

  • training_method

    Type \u2192 str

    Default \u2192 patches

    The training method to use. * 'subspaces' - Random subspaces. * 'resampling' - Resampling. * 'patches' - Random patches.

  • lam

    Type \u2192 int

    Default \u2192 6

    Lambda value for resampling.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift detector.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning detector.

  • disable_detector

    Type \u2192 str

    Default \u2192 off

    Option to disable drift detectors: * If 'off', detectors are enabled. * If 'drift', disables concept drift detection and the background learner. * If 'warning', disables the background learner and ensemble members are reset if drift is detected.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 False

    If True, disables weighted voting.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

  • metric

    Type \u2192 ClassificationMetric | None

    Default \u2192 None

    The metric to track members performance within the ensemble. This implementation assumes that larger values are better when using weighted votes.

"},{"location":"api/ensemble/SRPClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/SRPClassifier/#examples","title":"Examples","text":"

from river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river.datasets import synth\nfrom river import tree\n\ndataset = synth.ConceptDriftStream(\n    seed=42,\n    position=500,\n    width=50\n).take(1000)\n\nbase_model = tree.HoeffdingTreeClassifier(\n    grace_period=50, delta=0.01,\n    nominal_attributes=['age', 'car', 'zipcode']\n)\nmodel = ensemble.SRPClassifier(\n    model=base_model, n_models=3, seed=42,\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 71.97%\n

"},{"location":"api/ensemble/SRPClassifier/#methods","title":"Methods","text":"learn_one predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

reset"},{"location":"api/ensemble/SRPClassifier/#notes","title":"Notes","text":"

This implementation uses n_models=10 as default given the impact on processing time. The optimal number of models depends on the data and resources available.

  1. Heitor Murilo Gomes, Jesse Read, Albert Bifet. Streaming Random Patches for Evolving Data Stream Classification. IEEE International Conference on Data Mining (ICDM), 2019.\u00a0\u21a9

"},{"location":"api/ensemble/SRPRegressor/","title":"SRPRegressor","text":"

Streaming Random Patches ensemble regressor.

The Streaming Random Patches 1 ensemble method for regression trains each base learner on a subset of features and instances from the original data, namely a random patch. This strategy to enforce diverse base models is similar to the one in the random forest, yet it is not restricted to using decision trees as base learner.

This method is an adaptation of 2 for regression.

"},{"location":"api/ensemble/SRPRegressor/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The base estimator.

  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of members in the ensemble.

  • subspace_size

    Type \u2192 int | float | str

    Default \u2192 0.6

    Number of features per subset for each classifier where M is the total number of features. A negative value means M - subspace_size. Only applies when using random subspaces or random patches. * If int indicates the number of features to use. Valid range [2, M]. * If float indicates the percentage of features to use, Valid range (0., 1.]. * 'sqrt' - sqrt(M)+1 * 'rmsqrt' - Residual from M-(sqrt(M)+1)

  • training_method

    Type \u2192 str

    Default \u2192 patches

    The training method to use. * 'subspaces' - Random subspaces. * 'resampling' - Resampling. * 'patches' - Random patches.

  • lam

    Type \u2192 int

    Default \u2192 6

    Lambda value for bagging.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift detector.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning detector.

  • disable_detector

    Type \u2192 str

    Default \u2192 off

    Option to disable drift detectors: * If 'off', detectors are enabled. * If 'drift', disables concept drift detection and the background learner. * If 'warning', disables the background learner and ensemble members are reset if drift is detected.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 True

    If True, disables weighted voting.

  • drift_detection_criteria

    Type \u2192 str

    Default \u2192 error

    The criteria used to track drifts. * 'error' - absolute error. * 'prediction' - predicted target values.

  • aggregation_method

    Type \u2192 str

    Default \u2192 mean

    The method to use to aggregate predictions in the ensemble. * 'mean' * 'median'

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

  • metric

    Type \u2192 RegressionMetric | None

    Default \u2192 None

    The metric to track members performance within the ensemble.

"},{"location":"api/ensemble/SRPRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/SRPRegressor/#examples","title":"Examples","text":"

from river import ensemble\nfrom river import evaluate\nfrom river import metrics\nfrom river.datasets import synth\nfrom river import tree\n\ndataset = synth.FriedmanDrift(\n    drift_type='gsg',\n    position=(350, 750),\n    transition_window=200,\n    seed=42\n).take(1000)\n\nbase_model = tree.HoeffdingTreeRegressor(grace_period=50)\nmodel = ensemble.SRPRegressor(\n    model=base_model,\n    training_method=\"patches\",\n    n_models=3,\n    seed=42\n)\n\nmetric = metrics.R2()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
R2: 0.571117\n

"},{"location":"api/ensemble/SRPRegressor/#methods","title":"Methods","text":"learn_one predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

reset"},{"location":"api/ensemble/SRPRegressor/#notes","title":"Notes","text":"

This implementation uses n_models=10 as default given the impact on processing time. The optimal number of models depends on the data and resources available.

  1. Heitor Gomes, Jacob Montiel, Saulo Martiello Mastelini, Bernhard Pfahringer, and Albert Bifet. On Ensemble Techniques for Data Stream Regression. IJCNN'20. International Joint Conference on Neural Networks. 2020.\u00a0\u21a9

  2. Heitor Murilo Gomes, Jesse Read, Albert Bifet. Streaming Random Patches for Evolving Data Stream Classification. IEEE International Conference on Data Mining (ICDM), 2019.\u00a0\u21a9

"},{"location":"api/ensemble/StackingClassifier/","title":"StackingClassifier","text":"

Stacking for binary classification.

"},{"location":"api/ensemble/StackingClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Classifier]

  • meta_classifier

    Type \u2192 base.Classifier

  • include_features

    Default \u2192 True

    Indicates whether or not the original features should be provided to the meta-model along with the predictions from each model.

"},{"location":"api/ensemble/StackingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/StackingClassifier/#examples","title":"Examples","text":"

from river import compose\nfrom river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = compose.Pipeline(\n    ('scale', pp.StandardScaler()),\n    ('stack', ensemble.StackingClassifier(\n        [\n            lm.LogisticRegression(),\n            lm.PAClassifier(mode=1, C=0.01),\n            lm.PAClassifier(mode=2, C=0.01),\n        ],\n        meta_classifier=lm.LogisticRegression()\n    ))\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.14%\n

"},{"location":"api/ensemble/StackingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. A Kaggler's Guide to Model Stacking in Practice \u21a9

"},{"location":"api/ensemble/VotingClassifier/","title":"VotingClassifier","text":"

Voting classifier.

A classification is made by aggregating the predictions of each model in the ensemble. The probabilities for each class are summed up if use_probabilities is set to True. If not, the probabilities are ignored and each prediction is weighted the same. In this case, it's important that you use an odd number of classifiers. A random class will be picked if the number of classifiers is even.

"},{"location":"api/ensemble/VotingClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Classifier]

    The classifiers.

  • use_probabilities

    Default \u2192 True

    Whether or to weight each prediction with its associated probability.

"},{"location":"api/ensemble/VotingClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/ensemble/VotingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import ensemble\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import naive_bayes\nfrom river import preprocessing\nfrom river import tree\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    ensemble.VotingClassifier([\n        linear_model.LogisticRegression(),\n        tree.HoeffdingTreeClassifier(),\n        naive_bayes.GaussianNB()\n    ])\n)\n\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.94%\n

"},{"location":"api/ensemble/VotingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/evaluate/BinaryClassificationTrack/","title":"BinaryClassificationTrack","text":"

This track evaluates a model's performance on binary classification tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/BinaryClassificationTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/MultiClassClassificationTrack/","title":"MultiClassClassificationTrack","text":"

This track evaluates a model's performance on multi-class classification tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/MultiClassClassificationTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/RegressionTrack/","title":"RegressionTrack","text":"

This track evaluates a model's performance on regression tasks. These do not include synthetic datasets.

"},{"location":"api/evaluate/RegressionTrack/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/Track/","title":"Track","text":"

A track evaluate a model's performance.

The following metrics are recorded:

  • Time, which should be interpreted with wisdom. Indeed time can depend on the architecture

    and local resource situations. Comparison via FLOPS should be preferred. - The model's memory footprint.

  • The model's predictive performance on the track's dataset.

"},{"location":"api/evaluate/Track/#parameters","title":"Parameters","text":"
  • name

    Type \u2192 str

    The name of the track.

  • datasets

    The datasets that compose the track.

  • metric

    The metric(s) used to track performance.

"},{"location":"api/evaluate/Track/#methods","title":"Methods","text":"run"},{"location":"api/evaluate/iter-progressive-val-score/","title":"iter_progressive_val_score","text":"

Evaluates the performance of a model on a streaming dataset and yields results.

This does exactly the same as evaluate.progressive_val_score. The only difference is that this function returns an iterator, yielding results at every step. This can be useful if you want to have control over what you do with the results. For instance, you might want to plot the results.

"},{"location":"api/evaluate/iter-progressive-val-score/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    The stream of observations against which the model will be evaluated.

  • model

    The model to evaluate.

  • metric

    Type \u2192 metrics.base.Metric

    The metric used to evaluate the model's predictions.

  • moment

    Type \u2192 str | typing.Callable | None

    Default \u2192 None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    Default \u2192 None

    The amount to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation.

  • step

    Default \u2192 1

    Iteration number at which to yield results. This only takes into account the predictions, and not the training steps.

  • measure_time

    Default \u2192 False

    Whether or not to measure the elapsed time.

  • measure_memory

    Default \u2192 False

    Whether or not to measure the memory usage of the model.

  • yield_predictions

    Default \u2192 False

    Whether or not to include predictions. If step is 1, then this is equivalent to yielding the predictions at every iterations. Otherwise, not all predictions will be yielded.

"},{"location":"api/evaluate/iter-progressive-val-score/#examples","title":"Examples","text":"

Take the following model:

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

We can evaluate it on the Phishing dataset as so:

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nsteps = evaluate.iter_progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    step=200\n)\n\nfor step in steps:\n    print(step)\n
{'ROCAUC': ROCAUC: 90.20%, 'Step': 200}\n{'ROCAUC': ROCAUC: 92.25%, 'Step': 400}\n{'ROCAUC': ROCAUC: 93.23%, 'Step': 600}\n{'ROCAUC': ROCAUC: 94.05%, 'Step': 800}\n{'ROCAUC': ROCAUC: 94.79%, 'Step': 1000}\n{'ROCAUC': ROCAUC: 95.07%, 'Step': 1200}\n{'ROCAUC': ROCAUC: 95.07%, 'Step': 1250}\n

The yield_predictions parameter can be used to include the predictions in the results:

import itertools\n\nsteps = evaluate.iter_progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    step=1,\n    yield_predictions=True\n)\n\nfor step in itertools.islice(steps, 100, 105):\n   print(step)\n
{'ROCAUC': ROCAUC: 94.68%, 'Step': 101, 'Prediction': {False: 0.966..., True: 0.033...}}\n{'ROCAUC': ROCAUC: 94.75%, 'Step': 102, 'Prediction': {False: 0.035..., True: 0.964...}}\n{'ROCAUC': ROCAUC: 94.82%, 'Step': 103, 'Prediction': {False: 0.043..., True: 0.956...}}\n{'ROCAUC': ROCAUC: 94.89%, 'Step': 104, 'Prediction': {False: 0.816..., True: 0.183...}}\n{'ROCAUC': ROCAUC: 94.96%, 'Step': 105, 'Prediction': {False: 0.041..., True: 0.958...}}\n

  1. Beating the Hold-Out: Bounds for K-fold and Progressive Cross-Validation \u21a9

  2. Grzenda, M., Gomes, H.M. and Bifet, A., 2019. Delayed labelling evaluation for data streams. Data Mining and Knowledge Discovery, pp.1-30 \u21a9

"},{"location":"api/evaluate/progressive-val-score/","title":"progressive_val_score","text":"

Evaluates the performance of a model on a streaming dataset.

This method is the canonical way to evaluate a model's performance. When used correctly, it allows you to exactly assess how a model would have performed in a production scenario.

dataset is converted into a stream of questions and answers. At each step the model is either asked to predict an observation, or is either updated. The target is only revealed to the model after a certain amount of time, which is determined by the delay parameter. Note that under the hood this uses the stream.simulate_qa function to go through the data in arrival order.

By default, there is no delay, which means that the samples are processed one after the other. When there is no delay, this function essentially performs progressive validation. When there is a delay, then we refer to it as delayed progressive validation.

It is recommended to use this method when you want to determine a model's performance on a dataset. In particular, it is advised to use the delay parameter in order to get a reliable assessment. Indeed, in a production scenario, it is often the case that ground truths are made available after a certain amount of time. By using this method, you can reproduce this scenario and therefore truthfully assess what would have been the performance of a model on a given dataset.

"},{"location":"api/evaluate/progressive-val-score/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    The stream of observations against which the model will be evaluated.

  • model

    The model to evaluate.

  • metric

    Type \u2192 metrics.base.Metric

    The metric used to evaluate the model's predictions.

  • moment

    Type \u2192 str | typing.Callable | None

    Default \u2192 None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    Default \u2192 None

    The amount to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation.

  • print_every

    Default \u2192 0

    Iteration number at which to print the current metric. This only takes into account the predictions, and not the training steps.

  • show_time

    Default \u2192 False

    Whether or not to display the elapsed time.

  • show_memory

    Default \u2192 False

    Whether or not to display the memory usage of the model.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/evaluate/progressive-val-score/#examples","title":"Examples","text":"

Take the following model:

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

We can evaluate it on the Phishing dataset as so:

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    model=model,\n    dataset=datasets.Phishing(),\n    metric=metrics.ROCAUC(),\n    print_every=200\n)\n
[200] ROCAUC: 90.20%\n[400] ROCAUC: 92.25%\n[600] ROCAUC: 93.23%\n[800] ROCAUC: 94.05%\n[1,000] ROCAUC: 94.79%\n[1,200] ROCAUC: 95.07%\n[1,250] ROCAUC: 95.07%\nROCAUC: 95.07%\n

We haven't specified a delay, therefore this is strictly equivalent to the following piece of code:

model = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n\nmetric = metrics.ROCAUC()\n\nfor x, y in datasets.Phishing():\n    y_pred = model.predict_proba_one(x)\n    metric.update(y, y_pred)\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 95.07%\n

When print_every is specified, the current state is printed at regular intervals. Under the hood, Python's print method is being used. You can pass extra keyword arguments to modify its behavior. For instance, you may use the file argument if you want to log the progress to a file of your choice.

with open('progress.log', 'w') as f:\n    metric = evaluate.progressive_val_score(\n        model=model,\n        dataset=datasets.Phishing(),\n        metric=metrics.ROCAUC(),\n        print_every=200,\n        file=f\n    )\n\nwith open('progress.log') as f:\n    for line in f.read().splitlines():\n        print(line)\n
[200] ROCAUC: 94.00%\n[400] ROCAUC: 94.70%\n[600] ROCAUC: 95.17%\n[800] ROCAUC: 95.42%\n[1,000] ROCAUC: 95.82%\n[1,200] ROCAUC: 96.00%\n[1,250] ROCAUC: 96.04%\n

Note that the performance is slightly better than above because we haven't used a fresh copy of the model. Instead, we've reused the existing model which has already done a full pass on the data.

import os; os.remove('progress.log')\n
  1. Beating the Hold-Out: Bounds for K-fold and Progressive Cross-Validation \u21a9

  2. Grzenda, M., Gomes, H.M. and Bifet, A., 2019. Delayed labelling evaluation for data streams. Data Mining and Knowledge Discovery, pp.1-30 \u21a9

"},{"location":"api/facto/FFMClassifier/","title":"FFMClassifier","text":"

Field-aware Factorization Machine for binary classification.

The model equation is defined by:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_j} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_{j, f_{j'}}\\) is the latent vector corresponding to \\(j\\) feature for \\(f_{j'}\\) field, and \\(\\mathbf{v}_{j', f_j}\\) is the latent vector corresponding to \\(j'\\) feature for \\(f_j\\) field.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FFMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, True),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, True),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, True),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, True),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, False)\n)\n\nmodel = facto.FFMClassifier(\n    n_factors=10,\n    intercept=.5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
True\n

"},{"location":"api/facto/FFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Juan, Y., Zhuang, Y., Chin, W.S. and Lin, C.J., 2016, September. Field-aware factorization machines for CTR prediction. In Proceedings of the 10th ACM Conference on Recommender Systems (pp. 43-50). \u21a9

"},{"location":"api/facto/FFMRegressor/","title":"FFMRegressor","text":"

Field-aware Factorization Machine for regression.

The model equation is defined by:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_j} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_{j, f_{j'}}\\) is the latent vector corresponding to \\(j\\) feature for \\(f_{j'}\\) field, and \\(\\mathbf{v}_{j', f_j}\\) is the latent vector corresponding to \\(j'\\) feature for \\(f_j\\) field.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FFMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, 8),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, 5),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, 8),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, 2)\n)\n\nmodel = facto.FFMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
5.319945\n

report = model.debug_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n\nprint(report)\n
Name                                       Value      Weight     Contribution\n                               Intercept    1.00000    5.23501        5.23501\n                                user_Bob    1.00000    0.11438        0.11438\n                                    time    0.14000    0.03186        0.00446\n    item_Harry Potter(time) - time(item)    0.14000    0.03153        0.00441\n             user_Bob(time) - time(user)    0.14000    0.02864        0.00401\n                       item_Harry Potter    1.00000    0.00000        0.00000\nuser_Bob(item) - item_Harry Potter(user)    1.00000   -0.04232       -0.04232\n

"},{"location":"api/facto/FFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Juan, Y., Zhuang, Y., Chin, W.S. and Lin, C.J., 2016, September. Field-aware factorization machines for CTR prediction. In Proceedings of the 10th ACM Conference on Recommender Systems (pp. 43-50). \u21a9

"},{"location":"api/facto/FMClassifier/","title":"FMClassifier","text":"

Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/FMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, True),\n    ({'user': 'Alice', 'item': 'Terminator'}, True),\n    ({'user': 'Alice', 'item': 'Star Wars'}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, True),\n    ({'user': 'Bob', 'item': 'Superman'}, True),\n    ({'user': 'Bob', 'item': 'Terminator'}, True),\n    ({'user': 'Bob', 'item': 'Star Wars'}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, False)\n)\n\nmodel = facto.FMClassifier(\n    n_factors=10,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
True\n

"},{"location":"api/facto/FMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

  2. Rendle, S., 2012, May. Factorization Machines with libFM. In ACM Transactions on Intelligent Systems and Technology 3, 3, Article 57, 22 pages. \u21a9

"},{"location":"api/facto/FMRegressor/","title":"FMRegressor","text":"

Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/FMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/FMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = facto.FMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
5.236504\n

report = model.debug_one({'Bob': 1, 'Harry Potter': 1})\n\nprint(report)\n
Name                 Value      Weight     Contribution\n         Intercept    1.00000    5.23426        5.23426\nBob - Harry Potter    1.00000    0.00224        0.00224\n      Harry Potter    1.00000    0.00000        0.00000\n               Bob    1.00000    0.00000        0.00000\n

"},{"location":"api/facto/FMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

  2. Rendle, S., 2012, May. Factorization Machines with libFM. In ACM Transactions on Intelligent Systems and Technology 3, 3, Article 57, 22 pages. \u21a9

"},{"location":"api/facto/FwFMClassifier/","title":"FwFMClassifier","text":"

Field-weighted Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(f_j\\) and \\(f_{j'}\\) are \\(j\\) and \\(j'\\) fields, respectively, and \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FwFMClassifier/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • int_weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the field pairs interaction weights.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FwFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

  • interaction_weights

    The current interaction strengths of field pairs.

"},{"location":"api/facto/FwFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, True),\n    ({'user': 'Alice', 'item': 'Terminator'}, True),\n    ({'user': 'Alice', 'item': 'Star Wars'}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, True),\n    ({'user': 'Bob', 'item': 'Superman'}, True),\n    ({'user': 'Bob', 'item': 'Terminator'}, True),\n    ({'user': 'Bob', 'item': 'Star Wars'}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, False)\n)\n\nmodel = facto.FwFMClassifier(\n    n_factors=10,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
True\n

"},{"location":"api/facto/FwFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Junwei Pan, Jian Xu, Alfonso Lobos Ruiz, Wenliang Zhao, Shengjun Pan, Yu Sun, and Quan Lu, 2018, April. Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, (pp. 1349\u20131357). \u21a9

"},{"location":"api/facto/FwFMRegressor/","title":"FwFMRegressor","text":"

Field-weighted Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'}\\]

Where \\(f_j\\) and \\(f_{j'}\\) are \\(j\\) and \\(j'\\) fields, respectively, and \\(\\mathbf{v}_j\\) and \\(\\mathbf{v}_{j'}\\) are \\(j\\) and \\(j'\\) latent vectors, respectively.

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables. Field names are inferred from feature names by taking everything before the first underscore: feature_name.split('_')[0].

"},{"location":"api/facto/FwFMRegressor/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • int_weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the field pairs interaction weights.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/FwFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

  • interaction_weights

    The current interaction strengths of field pairs.

"},{"location":"api/facto/FwFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter '}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = facto.FwFMRegressor(\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'Bob': 1, 'Harry Potter': 1})\n
5.236501\n

report = model.debug_one({'Bob': 1, 'Harry Potter': 1})\n\nprint(report)\n
Name                                    Value      Weight     Contribution\n                            Intercept    1.00000    5.23426        5.23426\nBob(Harry Potter) - Harry Potter(Bob)    1.00000    0.00224        0.00224\n                         Harry Potter    1.00000    0.00000        0.00000\n                                  Bob    1.00000    0.00000        0.00000\n

"},{"location":"api/facto/FwFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Junwei Pan, Jian Xu, Alfonso Lobos Ruiz, Wenliang Zhao, Shengjun Pan, Yu Sun, and Quan Lu, 2018, April. Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, (pp. 1349\u20131357). \u21a9

"},{"location":"api/facto/HOFMClassifier/","title":"HOFMClassifier","text":"

Higher-Order Factorization Machine for binary classification.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right)\\]

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/HOFMClassifier/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 3

    Polynomial degree or model order.

  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note that the intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/HOFMClassifier/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/HOFMClassifier/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, True),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, True),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, True),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, False),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, True),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, True),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, True),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, False)\n)\n\nmodel = facto.HOFMClassifier(\n    degree=3,\n    n_factors=10,\n    intercept=.5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
True\n

"},{"location":"api/facto/HOFMClassifier/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

"},{"location":"api/facto/HOFMRegressor/","title":"HOFMRegressor","text":"

Higher-Order Factorization Machine for regression.

The model equation is defined as:

\\[\\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right)\\]

For more efficiency, this model automatically one-hot encodes strings features considering them as categorical variables.

"},{"location":"api/facto/HOFMRegressor/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 3

    Polynomial degree or model order.

  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • weight_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the feature weights. Note thatthe intercept is handled separately.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • sample_normalization

    Default \u2192 False

    Whether to divide each element of x by x's L2-norm.

  • l1_weight

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0.

  • l2_weight

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • l1_latent

    Default \u2192 0.0

    Amount of L1 regularization used to push latent weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • intercept

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. An instance of optim.schedulers.Constant is used if a float is passed. No intercept will be used if this is set to 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme. Defaults to optim.initializers.Zeros()`.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme. Defaults to optim.initializers.Normal(mu=.0, sigma=.1, random_state=self.random_state)`.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Randomization seed used for reproducibility.

"},{"location":"api/facto/HOFMRegressor/#attributes","title":"Attributes","text":"
  • weights

    The current weights assigned to the features.

  • latents

    The current latent weights assigned to the features.

"},{"location":"api/facto/HOFMRegressor/#examples","title":"Examples","text":"

from river import facto\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman', 'time': .12}, 8),\n    ({'user': 'Alice', 'item': 'Terminator', 'time': .13}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars', 'time': .14}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill', 'time': .15}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter ', 'time': .16}, 5),\n    ({'user': 'Bob', 'item': 'Superman', 'time': .13}, 8),\n    ({'user': 'Bob', 'item': 'Terminator', 'time': .12}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars', 'time': .16}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill', 'time': .10}, 2)\n)\n\nmodel = facto.HOFMRegressor(\n    degree=3,\n    n_factors=10,\n    intercept=5,\n    seed=42,\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n
5.311745\n

report = model.debug_one({'user': 'Bob', 'item': 'Harry Potter', 'time': .14})\n\nprint(report)\n
Name                                  Value      Weight     Contribution\n                          Intercept    1.00000    5.23495        5.23495\n                           user_Bob    1.00000    0.11436        0.11436\n                               time    0.14000    0.03185        0.00446\n                    user_Bob - time    0.14000    0.00884        0.00124\nuser_Bob - item_Harry Potter - time    0.14000    0.00117        0.00016\n                  item_Harry Potter    1.00000    0.00000        0.00000\n           item_Harry Potter - time    0.14000   -0.00695       -0.00097\n       user_Bob - item_Harry Potter    1.00000   -0.04246       -0.04246\n

"},{"location":"api/facto/HOFMRegressor/#methods","title":"Methods","text":"debug_one

Debugs the output of the FM regressor.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Rendle, S., 2010, December. Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000). IEEE. \u21a9

"},{"location":"api/feature-extraction/Agg/","title":"Agg","text":"

Computes a streaming aggregate.

This transformer allows to compute an aggregate statistic, very much like the groupby method from pandas, but on a streaming dataset. This makes use of the streaming statistics from the stats module.

When learn_one is called, the running statistic how of group by is updated with the value of on. Meanwhile, the output of transform_one is a single-element dictionary, where the key is the name of the aggregate and the value is the current value of the statistic for the relevant group. The key is automatically inferred from the parameters.

Note that you can use a compose.TransformerUnion to extract many aggregate statistics in a concise manner.

"},{"location":"api/feature-extraction/Agg/#parameters","title":"Parameters","text":"
  • on

    Type \u2192 str

    The feature on which to compute the aggregate statistic.

  • by

    Type \u2192 str | list[str] | None

    The feature by which to group the data. All the data is included in the aggregate if this is None.

  • how

    Type \u2192 stats.base.Univariate | utils.Rolling | utils.TimeRolling

    The statistic to compute.

"},{"location":"api/feature-extraction/Agg/#attributes","title":"Attributes","text":"
  • state

    Return the current values for each group as a series.

"},{"location":"api/feature-extraction/Agg/#examples","title":"Examples","text":"

Consider the following dataset:

X = [\n    {'country': 'France', 'place': 'Taco Bell', 'revenue': 42},\n    {'country': 'Sweden', 'place': 'Burger King', 'revenue': 16},\n    {'country': 'France', 'place': 'Burger King', 'revenue': 24},\n    {'country': 'Sweden', 'place': 'Taco Bell', 'revenue': 58},\n    {'country': 'Sweden', 'place': 'Burger King', 'revenue': 20},\n    {'country': 'France', 'place': 'Taco Bell', 'revenue': 50},\n    {'country': 'France', 'place': 'Burger King', 'revenue': 10},\n    {'country': 'Sweden', 'place': 'Taco Bell', 'revenue': 80}\n]\n

As an example, we can calculate the average (how) revenue (on) for each place (by):

from river import feature_extraction as fx\nfrom river import stats\n\nagg = fx.Agg(\n    on='revenue',\n    by='place',\n    how=stats.Mean()\n)\n\nfor x in X:\n    agg.learn_one(x)\n    print(agg.transform_one(x))\n
{'revenue_mean_by_place': 42.0}\n{'revenue_mean_by_place': 16.0}\n{'revenue_mean_by_place': 20.0}\n{'revenue_mean_by_place': 50.0}\n{'revenue_mean_by_place': 20.0}\n{'revenue_mean_by_place': 50.0}\n{'revenue_mean_by_place': 17.5}\n{'revenue_mean_by_place': 57.5}\n

You can compute an aggregate over multiple keys by passing a tuple to the by argument. For instance, we can compute the maximum (how) revenue (on) per place as well as per day (by):

agg = fx.Agg(\n    on='revenue',\n    by=['place', 'country'],\n    how=stats.Max()\n)\n\nfor x in X:\n    agg.learn_one(x)\n    print(agg.transform_one(x))\n
{'revenue_max_by_place_and_country': 42}\n{'revenue_max_by_place_and_country': 16}\n{'revenue_max_by_place_and_country': 24}\n{'revenue_max_by_place_and_country': 58}\n{'revenue_max_by_place_and_country': 20}\n{'revenue_max_by_place_and_country': 50}\n{'revenue_max_by_place_and_country': 24}\n{'revenue_max_by_place_and_country': 80}\n

You can use a compose.TransformerUnion in order to calculate multiple aggregates in one go. The latter can be constructed by using the + operator:

agg = (\n    fx.Agg(on='revenue', by='place', how=stats.Mean()) +\n    fx.Agg(on='revenue', by=['place', 'country'], how=stats.Max())\n)\n\nimport pprint\nfor x in X:\n    agg.learn_one(x)\n    pprint.pprint(agg.transform_one(x))\n
{'revenue_max_by_place_and_country': 42, 'revenue_mean_by_place': 42.0}\n{'revenue_max_by_place_and_country': 16, 'revenue_mean_by_place': 16.0}\n{'revenue_max_by_place_and_country': 24, 'revenue_mean_by_place': 20.0}\n{'revenue_max_by_place_and_country': 58, 'revenue_mean_by_place': 50.0}\n{'revenue_max_by_place_and_country': 20, 'revenue_mean_by_place': 20.0}\n{'revenue_max_by_place_and_country': 50, 'revenue_mean_by_place': 50.0}\n{'revenue_max_by_place_and_country': 24, 'revenue_mean_by_place': 17.5}\n{'revenue_max_by_place_and_country': 80, 'revenue_mean_by_place': 57.5}\n

The state property returns a pandas.Series, which can be useful for visualizing the current state.

agg[0].state\n
Taco Bell      57.5\nBurger King    17.5\nName: revenue_mean_by_place, dtype: float64\n

agg[1].state\n
place        country\nTaco Bell    France     50\nBurger King  Sweden     20\n             France     24\nTaco Bell    Sweden     80\nName: revenue_max_by_place_and_country, dtype: int64\n

This transformer can also be used in conjunction with utils.TimeRolling. The latter requires a t argument, which is a timestamp that indicates when the current row was observed. For instance, we can calculate the average (how) revenue (on) for each place (by) over the last 7 days (t):

import datetime as dt\nimport random\nimport string\nfrom river import utils\n\nagg = fx.Agg(\n    on=\"value\",\n    by=\"group\",\n    how=utils.TimeRolling(stats.Mean(), dt.timedelta(days=7))\n)\n\nfor day in range(366):\n    g = random.choice(string.ascii_lowercase)\n    x = {\n        \"group\": g,\n        \"value\": string.ascii_lowercase.index(g) + random.random(),\n    }\n    t = dt.datetime(2023, 1, 1) + dt.timedelta(days=day)\n    agg.learn_one(x, t=t)\n\nlen(agg.state)\n
26\n

"},{"location":"api/feature-extraction/Agg/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'
  • t \u2014 defaults to None

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Streaming groupbys in pandas for big datasets \u21a9

"},{"location":"api/feature-extraction/BagOfWords/","title":"BagOfWords","text":"

Counts tokens in sentences.

This transformer can be used to counts tokens in a given piece of text. It takes care of normalizing the text before tokenizing it. In mini-batch settings, this transformers allows to convert a series of pandas of text into sparse dataframe.

Note that the parameters are identical to those of feature_extraction.TFIDF.

"},{"location":"api/feature-extraction/BagOfWords/#parameters","title":"Parameters","text":"
  • on

    Type \u2192 str | None

    Default \u2192 None

    The name of the feature that contains the text to vectorize. If None, then each learn_one and transform_one will assume that each x that is provided is a str, andnot a dict.

  • strip_accents

    Default \u2192 True

    Whether or not to strip accent characters.

  • lowercase

    Default \u2192 True

    Whether or not to convert all characters to lowercase.

  • preprocessor

    Type \u2192 typing.Callable | None

    Default \u2192 None

    An optional preprocessing function which overrides the strip_accents and lowercase steps, while preserving the tokenizing and n-grams generation steps.

  • stop_words

    Type \u2192 set[str] | None

    Default \u2192 None

    An optional set of tokens to remove.

  • tokenizer_pattern

    Default \u2192 (?u)\\b\\w[\\w\\-]+\\b

    The tokenization pattern which is used when no tokenizer function is passed. A single capture group may optionally be specified.

  • tokenizer

    Type \u2192 typing.Callable | None

    Default \u2192 None

    A function used to convert preprocessed text into a dict of tokens. By default, a regex formula that works well in most cases is used.

  • ngram_range

    Default \u2192 (1, 1)

    The lower and upper boundary of the range n-grams to be extracted. All values of n such that min_n <= n <= max_n will be used. For example an ngram_range of (1, 1) means only unigrams, (1, 2) means unigrams and bigrams, and (2, 2) means only bigrams.

"},{"location":"api/feature-extraction/BagOfWords/#examples","title":"Examples","text":"

By default, BagOfWords will take as input a sentence, preprocess it, tokenize the preprocessed text, and then return a collections.Counter containing the number of occurrences of each token.

from river import feature_extraction as fx\n\ncorpus = [\n    'This is the first document.',\n    'This document is the second document.',\n    'And this is the third one.',\n    'Is this the first document?',\n]\n\nbow = fx.BagOfWords()\n\nfor sentence in corpus:\n    print(bow.transform_one(sentence))\n
{'this': 1, 'is': 1, 'the': 1, 'first': 1, 'document': 1}\n{'this': 1, 'document': 2, 'is': 1, 'the': 1, 'second': 1}\n{'and': 1, 'this': 1, 'is': 1, 'the': 1, 'third': 1, 'one': 1}\n{'is': 1, 'this': 1, 'the': 1, 'first': 1, 'document': 1}\n

Note that learn_one does not have to be called because BagOfWords is stateless. You can call it but it won't do anything.

In the above example, a string is passed to transform_one. You can also indicate which field to access if the string is stored in a dictionary:

bow = fx.BagOfWords(on='sentence')\n\nfor sentence in corpus:\n    x = {'sentence': sentence}\n    print(bow.transform_one(x))\n
{'this': 1, 'is': 1, 'the': 1, 'first': 1, 'document': 1}\n{'this': 1, 'document': 2, 'is': 1, 'the': 1, 'second': 1}\n{'and': 1, 'this': 1, 'is': 1, 'the': 1, 'third': 1, 'one': 1}\n{'is': 1, 'this': 1, 'the': 1, 'first': 1, 'document': 1}\n

The ngram_range parameter can be used to extract n-grams (including unigrams):

ngrammer = fx.BagOfWords(ngram_range=(1, 2))\n\nngrams = ngrammer.transform_one('I love the smell of napalm in the morning')\nfor ngram, count in ngrams.items():\n    print(ngram, count)\n
love 1\nthe 2\nsmell 1\nof 1\nnapalm 1\nin 1\nmorning 1\n('love', 'the') 1\n('the', 'smell') 1\n('smell', 'of') 1\n('of', 'napalm') 1\n('napalm', 'in') 1\n('in', 'the') 1\n('the', 'morning') 1\n

BagOfWord allows to build a term-frequency pandas sparse dataframe with the transform_many method.

import pandas as pd\nX = pd.Series(['Hello world', 'Hello River'], index = ['river', 'rocks'])\nbow = fx.BagOfWords()\nbow.transform_many(X=X)\n
       hello  world  river\nriver      1      1      0\nrocks      1      0      1\n

"},{"location":"api/feature-extraction/BagOfWords/#methods","title":"Methods","text":"learn_many learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

process_text transform_many

Transform pandas series of string into term-frequency pandas sparse dataframe.

Parameters

  • X \u2014 'pd.Series'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/PolynomialExtender/","title":"PolynomialExtender","text":"

Polynomial feature extender.

Generate features consisting of all polynomial combinations of the features with degree less than or equal to the specified degree.

Be aware that the number of outputted features scales polynomially in the number of input features and exponentially in the degree. High degrees can cause overfitting.

"},{"location":"api/feature-extraction/PolynomialExtender/#parameters","title":"Parameters","text":"
  • degree

    Default \u2192 2

    The maximum degree of the polynomial features.

  • interaction_only

    Default \u2192 False

    If True then only combinations that include an element at most once will be computed.

  • include_bias

    Default \u2192 False

    Whether or not to include a dummy feature which is always equal to 1.

  • bias_name

    Default \u2192 bias

    Name to give to the bias feature.

"},{"location":"api/feature-extraction/PolynomialExtender/#examples","title":"Examples","text":"

from river import feature_extraction as fx\n\nX = [\n    {'x': 0, 'y': 1},\n    {'x': 2, 'y': 3},\n    {'x': 4, 'y': 5}\n]\n\npoly = fx.PolynomialExtender(degree=2, include_bias=True)\nfor x in X:\n    print(poly.transform_one(x))\n
{'x': 0, 'y': 1, 'x*x': 0, 'x*y': 0, 'y*y': 1, 'bias': 1}\n{'x': 2, 'y': 3, 'x*x': 4, 'x*y': 6, 'y*y': 9, 'bias': 1}\n{'x': 4, 'y': 5, 'x*x': 16, 'x*y': 20, 'y*y': 25, 'bias': 1}\n

X = [\n    {'x': 0, 'y': 1, 'z': 2},\n    {'x': 2, 'y': 3, 'z': 2},\n    {'x': 4, 'y': 5, 'z': 2}\n]\n\npoly = fx.PolynomialExtender(degree=3, interaction_only=True)\nfor x in X:\n    print(poly.transform_one(x))\n
{'x': 0, 'y': 1, 'z': 2, 'x*y': 0, 'x*z': 0, 'y*z': 2, 'x*y*z': 0}\n{'x': 2, 'y': 3, 'z': 2, 'x*y': 6, 'x*z': 4, 'y*z': 6, 'x*y*z': 12}\n{'x': 4, 'y': 5, 'z': 2, 'x*y': 20, 'x*z': 8, 'y*z': 10, 'x*y*z': 40}\n

Polynomial features are typically used for a linear model to capture interactions between features. This may done by setting up a pipeline, as so:

from river import datasets\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = (\n    fx.PolynomialExtender() |\n    pp.StandardScaler() |\n    lm.LogisticRegression()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.88%\n

"},{"location":"api/feature-extraction/PolynomialExtender/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/RBFSampler/","title":"RBFSampler","text":"

Extracts random features which approximate an RBF kernel.

This is a powerful way to give non-linear capacity to linear classifiers. This method is also called \"random Fourier features\" in the literature.

"},{"location":"api/feature-extraction/RBFSampler/#parameters","title":"Parameters","text":"
  • gamma

    Default \u2192 1.0

    RBF kernel parameter in (-gamma * x^2).

  • n_components

    Default \u2192 100

    Number of samples per original feature. Equals the dimensionality of the computed feature space.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed.

"},{"location":"api/feature-extraction/RBFSampler/#examples","title":"Examples","text":"

from river import feature_extraction as fx\nfrom river import linear_model as lm\nfrom river import optim\nfrom river import stream\n\nX = [[0, 0], [1, 1], [1, 0], [0, 1]]\nY = [0, 0, 1, 1]\n\nmodel = lm.LogisticRegression(optimizer=optim.SGD(.1))\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n    y_pred = model.predict_one(x)\n    print(y, int(y_pred))\n
0 0\n0 0\n1 0\n1 1\n

model = (\n    fx.RBFSampler(seed=3) |\n    lm.LogisticRegression(optimizer=optim.SGD(.1))\n)\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n    y_pred = model.predict_one(x)\n    print(y, int(y_pred))\n
0 0\n0 0\n1 1\n1 1\n

"},{"location":"api/feature-extraction/RBFSampler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

Returns

dict: The transformed values.

  1. Rahimi, A. and Recht, B., 2008. Random features for large-scale kernel machines. In Advances in neural information processing systems (pp. 1177-1184 \u21a9

"},{"location":"api/feature-extraction/TFIDF/","title":"TFIDF","text":"

Computes TF-IDF values from sentences.

The TF-IDF formula is the same one as scikit-learn. The only difference is the fact that the document frequencies are determined online, whereas in a batch setting they can be determined by performing an initial pass through the data.

Note that the parameters are identical to those of feature_extraction.BagOfWords.

"},{"location":"api/feature-extraction/TFIDF/#parameters","title":"Parameters","text":"
  • normalize

    Default \u2192 True

    Whether or not the TF-IDF values by their L2 norm.

  • on

    Type \u2192 str | None

    Default \u2192 None

    The name of the feature that contains the text to vectorize. If None, then the input is treated as a document instead of a set of features.

  • strip_accents

    Default \u2192 True

    Whether or not to strip accent characters.

  • lowercase

    Default \u2192 True

    Whether or not to convert all characters to lowercase.

  • preprocessor

    Type \u2192 typing.Callable | None

    Default \u2192 None

    An optional preprocessing function which overrides the strip_accents and lowercase steps, while preserving the tokenizing and n-grams generation steps.

  • tokenizer

    Type \u2192 typing.Callable | None

    Default \u2192 None

    A function used to convert preprocessed text into a dict of tokens. By default, a regex formula that works well in most cases is used.

  • ngram_range

    Default \u2192 (1, 1)

    The lower and upper boundary of the range n-grams to be extracted. All values of n such that min_n <= n <= max_n will be used. For example an ngram_range of (1, 1) means only unigrams, (1, 2) means unigrams and bigrams, and (2, 2) means only bigrams. Only works if tokenizer is not set to False.

"},{"location":"api/feature-extraction/TFIDF/#attributes","title":"Attributes","text":"
  • dfs (collections.defaultdict))

    Document counts.

  • n (int)

    Number of scanned documents.

"},{"location":"api/feature-extraction/TFIDF/#examples","title":"Examples","text":"

from river import feature_extraction\n\ntfidf = feature_extraction.TFIDF()\n\ncorpus = [\n    'This is the first document.',\n    'This document is the second document.',\n    'And this is the third one.',\n    'Is this the first document?',\n]\n\nfor sentence in corpus:\n    tfidf.learn_one(sentence)\n    print(tfidf.transform_one(sentence))\n
{'this': 0.447, 'is': 0.447, 'the': 0.447, 'first': 0.447, 'document': 0.447}\n{'this': 0.333, 'document': 0.667, 'is': 0.333, 'the': 0.333, 'second': 0.469}\n{'and': 0.497, 'this': 0.293, 'is': 0.293, 'the': 0.293, 'third': 0.497, 'one': 0.497}\n{'is': 0.384, 'this': 0.384, 'the': 0.384, 'first': 0.580, 'document': 0.469}\n

In the above example, a string is passed to transform_one. You can also indicate which field to access if the string is stored in a dictionary:

tfidf = feature_extraction.TFIDF(on='sentence')\n\nfor sentence in corpus:\n    x = {'sentence': sentence}\n    tfidf.learn_one(x)\n    print(tfidf.transform_one(x))\n
{'this': 0.447, 'is': 0.447, 'the': 0.447, 'first': 0.447, 'document': 0.447}\n{'this': 0.333, 'document': 0.667, 'is': 0.333, 'the': 0.333, 'second': 0.469}\n{'and': 0.497, 'this': 0.293, 'is': 0.293, 'the': 0.293, 'third': 0.497, 'one': 0.497}\n{'is': 0.384, 'this': 0.384, 'the': 0.384, 'first': 0.580, 'document': 0.469}\n

"},{"location":"api/feature-extraction/TFIDF/#methods","title":"Methods","text":"learn_many learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

process_text transform_many

Transform pandas series of string into term-frequency pandas sparse dataframe.

Parameters

  • X \u2014 'pd.Series'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-extraction/TargetAgg/","title":"TargetAgg","text":"

Computes a streaming aggregate of the target values.

This transformer is identical to feature_extraction.Agg, the only difference is that it operates on the target rather than on a feature. At each step, the running statistic how of target values in group by is updated with the target. It is therefore a supervised transformer.

"},{"location":"api/feature-extraction/TargetAgg/#parameters","title":"Parameters","text":"
  • by

    Type \u2192 str | list[str] | None

    The feature by which to group the target values. All the data is included in the aggregate if this is None.

  • how

    Type \u2192 stats.base.Univariate | utils.Rolling | utils.TimeRolling

    The statistic to compute.

  • target_name

    Default \u2192 y

    The target name which is used in the result.

"},{"location":"api/feature-extraction/TargetAgg/#attributes","title":"Attributes","text":"
  • state

    Return the current values for each group as a series.

  • target_name

"},{"location":"api/feature-extraction/TargetAgg/#examples","title":"Examples","text":"

Consider the following dataset, where the second value of each value is the target:

dataset = [\n    ({'country': 'France', 'place': 'Taco Bell'}, 42),\n    ({'country': 'Sweden', 'place': 'Burger King'}, 16),\n    ({'country': 'France', 'place': 'Burger King'}, 24),\n    ({'country': 'Sweden', 'place': 'Taco Bell'}, 58),\n    ({'country': 'Sweden', 'place': 'Burger King'}, 20),\n    ({'country': 'France', 'place': 'Taco Bell'}, 50),\n    ({'country': 'France', 'place': 'Burger King'}, 10),\n    ({'country': 'Sweden', 'place': 'Taco Bell'}, 80)\n]\n

As an example, let's perform a target encoding of the place feature. Instead of simply updating a running average, we use a stats.BayesianMean which allows us to incorporate some prior knowledge. This makes subsequent models less prone to overfitting. Indeed, it dampens the fact that too few samples might have been seen within a group.

from river import feature_extraction\nfrom river import stats\n\nagg = feature_extraction.TargetAgg(\n    by='place',\n    how=stats.BayesianMean(\n        prior=3,\n        prior_weight=1\n    )\n)\n\nfor x, y in dataset:\n    print(agg.transform_one(x))\n    agg.learn_one(x, y)\n
{'y_bayes_mean_by_place': 3.0}\n{'y_bayes_mean_by_place': 3.0}\n{'y_bayes_mean_by_place': 9.5}\n{'y_bayes_mean_by_place': 22.5}\n{'y_bayes_mean_by_place': 14.333}\n{'y_bayes_mean_by_place': 34.333}\n{'y_bayes_mean_by_place': 15.75}\n{'y_bayes_mean_by_place': 38.25}\n

Just like with feature_extraction.Agg, we can specify multiple features on which to group the data:

agg = feature_extraction.TargetAgg(\n    by=['place', 'country'],\n    how=stats.BayesianMean(\n        prior=3,\n        prior_weight=1\n    )\n)\n\nfor x, y in dataset:\n    print(agg.transform_one(x))\n    agg.learn_one(x, y)\n
{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 3.0}\n{'y_bayes_mean_by_place_and_country': 9.5}\n{'y_bayes_mean_by_place_and_country': 22.5}\n{'y_bayes_mean_by_place_and_country': 13.5}\n{'y_bayes_mean_by_place_and_country': 30.5}\n

agg.state\n
place        country\nTaco Bell    France     31.666667\nBurger King  Sweden     13.000000\n             France     12.333333\nTaco Bell    Sweden     47.000000\nName: y_bayes_mean_by_place_and_country, dtype: float64\n

This transformer can also be used in conjunction with utils.TimeRolling. The latter requires a t argument, which is a timestamp that indicates when the current row was observed. For instance, we can calculate the average (how) revenue (on) for each place (by) over the last 7 days (t):

import datetime as dt\nimport random\nimport string\nfrom river import utils\n\nagg = feature_extraction.TargetAgg(\n    by=\"group\",\n    how=utils.TimeRolling(stats.Mean(), dt.timedelta(days=7))\n)\n\nfor day in range(366):\n    g = random.choice(string.ascii_lowercase)\n    x = {\"group\": g}\n    y = string.ascii_lowercase.index(g) + random.random()\n    t = dt.datetime(2023, 1, 1) + dt.timedelta(days=day)\n    agg.learn_one(x, y, t=t)\n
"},{"location":"api/feature-extraction/TargetAgg/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'
  • t \u2014 defaults to None

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

1. Streaming groupbys in pandas for big datasets

"},{"location":"api/feature-selection/PoissonInclusion/","title":"PoissonInclusion","text":"

Randomly selects features with an inclusion trial.

When a new feature is encountered, it is selected with probability p. The number of times a feature needs to beseen before it is added to the model follows a geometric distribution with expected value 1 / p. This feature selection method is meant to be used when you have a very large amount of sparse features.

"},{"location":"api/feature-selection/PoissonInclusion/#parameters","title":"Parameters","text":"
  • p

    Type \u2192 float

    Probability of including a feature the first time it is encountered.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed value used for reproducibility.

"},{"location":"api/feature-selection/PoissonInclusion/#examples","title":"Examples","text":"

from river import datasets\nfrom river import feature_selection\nfrom river import stream\n\nselector = feature_selection.PoissonInclusion(p=0.1, seed=42)\n\ndataset = iter(datasets.TrumpApproval())\n\nfeature_names = next(dataset)[0].keys()\nn = 0\n\nwhile True:\n    x, y = next(dataset)\n    xt = selector.transform_one(x)\n    if xt.keys() == feature_names:\n        break\n    n += 1\n\nn\n
12\n

"},{"location":"api/feature-selection/PoissonInclusion/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. McMahan, H.B., Holt, G., Sculley, D., Young, M., Ebner, D., Grady, J., Nie, L., Phillips, T., Davydov, E., Golovin, D. and Chikkerur, S., 2013, August. Ad click prediction: a view from the trenches. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 1222-1230) \u21a9

"},{"location":"api/feature-selection/SelectKBest/","title":"SelectKBest","text":"

Removes all but the \\(k\\) highest scoring features.

"},{"location":"api/feature-selection/SelectKBest/#parameters","title":"Parameters","text":"
  • similarity

    Type \u2192 stats.base.Bivariate

  • k

    Default \u2192 10

    The number of features to keep.

"},{"location":"api/feature-selection/SelectKBest/#attributes","title":"Attributes","text":"
  • similarities (dict)

    The similarity instances used for each feature.

  • leaderboard (dict)

    The actual similarity measures.

"},{"location":"api/feature-selection/SelectKBest/#examples","title":"Examples","text":"

from pprint import pprint\nfrom river import feature_selection\nfrom river import stats\nfrom river import stream\nfrom sklearn import datasets\n\nX, y = datasets.make_regression(\n    n_samples=100,\n    n_features=10,\n    n_informative=2,\n    random_state=42\n)\n\nselector = feature_selection.SelectKBest(\n    similarity=stats.PearsonCorr(),\n    k=2\n)\n\nfor xi, yi, in stream.iter_array(X, y):\n    selector.learn_one(xi, yi)\n\npprint(selector.leaderboard)\n
Counter({9: 0.7898,\n        7: 0.5444,\n        8: 0.1062,\n        2: 0.0638,\n        4: 0.0538,\n        5: 0.0271,\n        1: -0.0312,\n        6: -0.0657,\n        3: -0.1501,\n        0: -0.1895})\n

selector.transform_one(xi)\n
{7: -1.2795, 9: -1.8408}\n

"},{"location":"api/feature-selection/SelectKBest/#methods","title":"Methods","text":"learn_one

Update with a set of features x and a target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.Target'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/feature-selection/VarianceThreshold/","title":"VarianceThreshold","text":"

Removes low-variance features.

"},{"location":"api/feature-selection/VarianceThreshold/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 0

    Only features with a variance above the threshold will be kept.

  • min_samples

    Default \u2192 2

    The minimum number of samples required to perform selection.

"},{"location":"api/feature-selection/VarianceThreshold/#attributes","title":"Attributes","text":"
  • variances (dict)

    The variance of each feature.

"},{"location":"api/feature-selection/VarianceThreshold/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import stream\n\nX = [\n    [0, 2, 0, 3],\n    [0, 1, 4, 3],\n    [0, 1, 1, 3]\n]\n\nselector = feature_selection.VarianceThreshold()\n\nfor x, _ in stream.iter_array(X):\n    selector.learn_one(x)\n    print(selector.transform_one(x))\n
{0: 0, 1: 2, 2: 0, 3: 3}\n{1: 1, 2: 4}\n{1: 1, 2: 1}\n

"},{"location":"api/feature-selection/VarianceThreshold/#methods","title":"Methods","text":"check_feature learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/forest/AMFClassifier/","title":"AMFClassifier","text":"

Aggregated Mondrian Forest classifier for online learning.

This implementation is truly online1, in the sense that a single pass is performed, and that predictions can be produced anytime.

Each node in a tree predicts according to the distribution of the labels it contains. This distribution is regularized using a \"Jeffreys\" prior with parameter dirichlet. For each class with count labels in the node and n_samples samples in it, the prediction of a node is given by

\\(\\frac{count + dirichlet}{n_{samples} + dirichlet \\times n_{classes}}\\).

The prediction for a sample is computed as the aggregated predictions of all the subtrees along the path leading to the leaf node containing the sample. The aggregation weights are exponential weights with learning rate step and log-loss when use_aggregation is True.

This computation is performed exactly thanks to a context tree weighting algorithm. More details can be found in the paper cited in the references below.

The final predictions are the average class probabilities predicted by each of the n_estimators trees in the forest.

"},{"location":"api/forest/AMFClassifier/#parameters","title":"Parameters","text":"
  • n_estimators

    Type \u2192 int

    Default \u2192 10

    The number of trees in the forest.

  • step

    Type \u2192 float

    Default \u2192 1.0

    Step-size for the aggregation weights. Default is 1 for classification with the log-loss, which is usually the best choice.

  • use_aggregation

    Type \u2192 bool

    Default \u2192 True

    Controls if aggregation is used in the trees. It is highly recommended to leave it as True.

  • dirichlet

    Type \u2192 float

    Default \u2192 0.5

    Regularization level of the class frequencies used for predictions in each node. A rule of thumb is to set this to 1 / n_classes, where n_classes is the expected number of classes which might appear. Default is dirichlet = 0.5, which works well for binary classification problems.

  • split_pure

    Type \u2192 bool

    Default \u2192 False

    Controls if nodes that contains only sample of the same class should be split (\"pure\" nodes). Default is False, namely pure nodes are not split, but True can be sometimes better.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/AMFClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/AMFClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\n\ndataset = datasets.Bananas().take(500)\n\nmodel = forest.AMFClassifier(\n    n_estimators=10,\n    use_aggregation=True,\n    dirichlet=0.5,\n    seed=1\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 85.37%\n

"},{"location":"api/forest/AMFClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/forest/AMFClassifier/#notes","title":"Notes","text":"

Only log_loss used for the computation of the aggregation weights is supported for now, namely the log-loss for multi-class classification.

  1. Mourtada, J., Ga\u00efffas, S., & Scornet, E. (2021). AMF: Aggregated Mondrian forests for online learning. Journal of the Royal Statistical Society Series B: Statistical Methodology, 83(3), 505-533.\u00a0\u21a9

"},{"location":"api/forest/AMFRegressor/","title":"AMFRegressor","text":"

Aggregated Mondrian Forest regressor for online learning.

This algorithm is truly online, in the sense that a single pass is performed, and that predictions can be produced anytime.

Each node in a tree predicts according to the average of the labels it contains. The prediction for a sample is computed as the aggregated predictions of all the subtrees along the path leading to the leaf node containing the sample. The aggregation weights are exponential weights with learning rate step using a squared loss when use_aggregation is True.

This computation is performed exactly thanks to a context tree weighting algorithm. More details can be found in the original paper1.

The final predictions are the average of the predictions of each of the n_estimators trees in the forest.

"},{"location":"api/forest/AMFRegressor/#parameters","title":"Parameters","text":"
  • n_estimators

    Type \u2192 int

    Default \u2192 10

    The number of trees in the forest.

  • step

    Type \u2192 float

    Default \u2192 1.0

    Step-size for the aggregation weights.

  • use_aggregation

    Type \u2192 bool

    Default \u2192 True

    Controls if aggregation is used in the trees. It is highly recommended to leave it as True.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/AMFRegressor/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/AMFRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\n\ndataset = datasets.TrumpApproval()\nmodel = forest.AMFRegressor(seed=42)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.268533\n

"},{"location":"api/forest/AMFRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Mourtada, J., Ga\u00efffas, S., & Scornet, E. (2021). AMF: Aggregated Mondrian forests for online learning. Journal of the Royal Statistical Society Series B: Statistical Methodology, 83(3), 505-533.\u00a0\u21a9

"},{"location":"api/forest/ARFClassifier/","title":"ARFClassifier","text":"

Adaptive Random Forest classifier.

The 3 most important aspects of Adaptive Random Forest 1 are:

  1. inducing diversity through re-sampling

  2. inducing diversity through randomly selecting subsets of features for node splits

  3. drift detectors per base tree, which cause selective resets in response to drifts

It also allows training background trees, which start training if a warning is detected and replace the active tree if the warning escalates to a drift.

"},{"location":"api/forest/ARFClassifier/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of trees in the ensemble.

  • max_features

    Type \u2192 bool | str | int

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If None, then max_features=n_features.

  • lambda_value

    Type \u2192 int

    Default \u2192 6

    The lambda value for bagging (lambda=6 corresponds to Leveraging Bagging).

  • metric

    Type \u2192 metrics.base.MultiClassMetric | None

    Default \u2192 None

    Metric used to track trees performance within the ensemble. Defaults to metrics.Accuracy()`.

  • disable_weighted_vote

    Default \u2192 False

    If True, disables the weighted vote prediction.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift Detection method. Set to None to disable Drift detection. Defaults to drift.ADWIN(delta=0.001)`.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning Detection method. Set to None to disable warning detection. Defaults to drift.ADWIN(delta=0.01)`.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    [Tree parameter] The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    [Tree parameter] Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Hellinger Distance

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    [Tree parameter] Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    [Tree parameter] Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    [Tree parameter] The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    [Tree parameter] Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/ARFClassifier/#attributes","title":"Attributes","text":"
  • models
"},{"location":"api/forest/ARFClassifier/#examples","title":"Examples","text":"

from river import evaluate\nfrom river import forest\nfrom river import metrics\nfrom river.datasets import synth\n\ndataset = synth.ConceptDriftStream(\n    seed=42,\n    position=500,\n    width=40\n).take(1000)\n\nmodel = forest.ARFClassifier(seed=8, leaf_prediction=\"mc\")\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 71.17%\n

The total number of warnings and drifts detected, respectively

model.n_warnings_detected(), model.n_drifts_detected()\n
(2, 1)\n

The number of warnings detected by tree number 2

model.n_warnings_detected(2)\n
1\n

And the corresponding number of actual concept drift detected

model.n_drifts_detected(2)\n
1\n

"},{"location":"api/forest/ARFClassifier/#methods","title":"Methods","text":"learn_one n_drifts_detected

Get the total number of concept drifts detected, or such number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drifts detected.

n_warnings_detected

Get the total number of concept drift warnings detected, or the number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drift warnings detected.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Heitor Murilo Gomes, Albert Bifet, Jesse Read, Jean Paul Barddal, Fabricio Enembreck, Bernhard Pfharinger, Geoff Holmes, Talel Abdessalem. Adaptive random forests for evolving data stream classification. In Machine Learning, DOI: 10.1007/s10994-017-5642-8, Springer, 2017.\u00a0\u21a9

"},{"location":"api/forest/ARFRegressor/","title":"ARFRegressor","text":"

Adaptive Random Forest regressor.

The 3 most important aspects of Adaptive Random Forest 1 are:

  1. inducing diversity through re-sampling

  2. inducing diversity through randomly selecting subsets of features for node splits

  3. drift detectors per base tree, which cause selective resets in response to drifts

Notice that this implementation is slightly different from the original algorithm proposed in 2. The HoeffdingTreeRegressor is used as base learner, instead of FIMT-DD. It also adds a new strategy to monitor the predictions and check for concept drifts. The deviations of the predictions to the target are monitored and normalized in the [0, 1] range to fulfill ADWIN's requirements. We assume that the data subjected to the normalization follows a normal distribution, and thus, lies within the interval of the mean \\(\\pm3\\sigma\\).

"},{"location":"api/forest/ARFRegressor/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    Number of trees in the ensemble.

  • max_features

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If None, then max_features=n_features.

  • aggregation_method

    Type \u2192 str

    Default \u2192 median

    The method to use to aggregate predictions in the ensemble. - 'mean' - 'median' - If selected will disable the weighted vote.

  • lambda_value

    Type \u2192 int

    Default \u2192 6

    The lambda value for bagging (lambda=6 corresponds to Leveraging Bagging).

  • metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    Metric used to track trees performance within the ensemble. Depending, on the configuration, this metric is also used to weight predictions from the members of the ensemble. Defaults to metrics.MSE()`.

  • disable_weighted_vote

    Default \u2192 True

    If True, disables the weighted vote prediction, i.e. does not assign weights to individual tree's predictions and uses the arithmetic mean instead. Otherwise will use the metric value to weight predictions.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Drift Detection method. Set to None to disable Drift detection. Defaults to drift.ADWIN(0.001)`.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    Warning Detection method. Set to None to disable warning detection. Defaults to drift.ADWIN(0.01)`.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    [Tree parameter] The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    [Tree parameter] Prediction mechanism used at leaves. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    [Tree parameter] The regression model used to provide responses if leaf_prediction='model'. If not provided, an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    [Tree parameter] The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    [Tree parameter] The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters.By default, tree.splitter.EBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    [Tree parameter] The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/forest/ARFRegressor/#attributes","title":"Attributes","text":"
  • models

  • valid_aggregation_method

    Valid aggregation_method values.

"},{"location":"api/forest/ARFRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import forest\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    forest.ARFRegressor(seed=42)\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.788619\n

"},{"location":"api/forest/ARFRegressor/#methods","title":"Methods","text":"learn_one n_drifts_detected

Get the total number of concept drifts detected, or such number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drifts detected.

n_warnings_detected

Get the total number of concept drift warnings detected, or the number on an individual tree basis (optionally).

Parameters

  • tree_id \u2014 'int | None' \u2014 defaults to None

Returns

int: The number of concept drift warnings detected.

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

  1. Gomes, H.M., Bifet, A., Read, J., Barddal, J.P., Enembreck, F., Pfharinger, B., Holmes, G. and Abdessalem, T., 2017. Adaptive random forests for evolving data stream classification. Machine Learning, 106(9-10), pp.1469-1495.\u00a0\u21a9

  2. Gomes, H.M., Barddal, J.P., Boiko, L.E., Bifet, A., 2018. Adaptive random forests for data stream regression. ESANN 2018.\u00a0\u21a9

"},{"location":"api/forest/OXTRegressor/","title":"OXTRegressor","text":"

Online Extra Trees regressor.

The online Extra Trees1 ensemble takes some steps further into randomization when compared to Adaptive Random Forests (ARF). A subspace of the feature space is considered at each split attempt, as ARF does, and online bagging or subbagging can also be (optionally) used. Nonetheless, Extra Trees randomizes the split candidates evaluated by each leaf node (just a single split is tested by numerical feature, which brings significant speedups to the ensemble), and might also randomize the maximum depth of the forest members, as well as the size of the feature subspace processed by each of its trees' leaves.

On the other hand, OXT suffers from a cold-start problem. As the splits are random, the predictive performance in small samples is usually worse than using a deterministic split approach, such as the one used by ARF.

"},{"location":"api/forest/OXTRegressor/#parameters","title":"Parameters","text":"
  • n_models

    Type \u2192 int

    Default \u2192 10

    The number of trees in the ensemble.

  • max_features

    Type \u2192 bool | str | int

    Default \u2192 sqrt

    Max number of attributes for each node split. - If int, then consider max_features at each split. - If float, then max_features is a percentage and int(max_features * n_features) features are considered per split. - If \"sqrt\", then max_features=sqrt(n_features). - If \"log2\", then max_features=log2(n_features). - If \"random\", then max_features will assume a different random number in the interval [2, n_features] for each tree leaf. - If None, then max_features=n_features.

  • resampling_strategy

    Type \u2192 str | None

    Default \u2192 subbagging

    The chosen instance resampling strategy: - If None, no resampling will be done and the trees will process all instances. - If 'baggging', online bagging will be performed (sampling with replacement). - If 'subbagging', online subbagging will be performed (sampling without replacement).

  • resampling_rate

    Type \u2192 int | float

    Default \u2192 0.5

    Only valid if resampling_strategy is not None. Controls the parameters of the resampling strategy.. - If resampling_strategy='bagging', must be an integer greater than or equal to 1 that parameterizes the poisson distribution used to simulate bagging in online learning settings. It acts as the lambda parameter of Oza Bagging and Leveraging Bagging. - If resampling_strategy='subbagging', must be a float in the interval \\((0, 1]\\) that controls the chance of each instance being used by a tree for learning.

  • detection_mode

    Type \u2192 str

    Default \u2192 all

    The concept drift detection mode in which the forest operates. Valid values are: - \"all\": creates both warning and concept drift detectors. If a warning is detected, an alternate tree starts being trained in the background. If the warning trigger escalates to a concept drift, the affected tree is replaced by the alternate tree. - \"drop\": only the concept drift detectors are created. If a drift is detected, the affected tree is dropped and replaced by a new tree. - \"off\": disables the concept drift adaptation capabilities. The forest will act as if the processed stream is stationary.

  • warning_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The detector that will be used to trigger concept drift warnings. Defaults to drift.ADWIN(0.01)`.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The detector used to detect concept drifts. Defaults to drift.ADWIN(0.001)`.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the ensemble members might reach. If None, the trees will grow indefinitely.

  • randomize_tree_depth

    Type \u2192 bool

    Default \u2192 False

    Whether or not randomize the maximum depth of each tree in the ensemble. If max_depth is provided, it is going to act as an upper bound to generate the maximum depth for each tree.

  • track_metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    The performance metric used to weight predictions. Defaults to metrics.MAE()`.

  • disable_weighted_vote

    Type \u2192 bool

    Default \u2192 True

    Defines whether or not to use predictions weighted by each trees' prediction performance.

  • split_buffer_size

    Type \u2192 int

    Default \u2192 5

    Defines the size of the buffer used by the tree splitters when determining the feature range and a random split point in this interval.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed to support reproducibility.

  • grace_period

    Type \u2192 int

    Default \u2192 50

    [Tree parameter] Number of instances a leaf should observe between split attempts.

  • delta

    Type \u2192 float

    Default \u2192 0.01

    [Tree parameter] Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    [Tree parameter] Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    [Tree parameter] Prediction mechanism used at leaves. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    [Tree parameter] The regression model used to provide responses if leaf_prediction='model'. If not provided, an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    [Tree parameter] The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    [Tree parameter] List of Nominal attributes. If empty, then assume that all attributes are numerical.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    [Tree parameter] The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, only allow binary splits.

  • max_size

    Type \u2192 int

    Default \u2192 500

    [Tree parameter] Maximum memory (MiB) consumed by the tree.

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 2000000

    [Tree parameter] Number of instances between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    [Tree parameter] If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    [Tree parameter] If True, enable merit-based tree pre-pruning.

"},{"location":"api/forest/OXTRegressor/#attributes","title":"Attributes","text":"
  • instances_per_tree

    The number of instances processed by each one of the current forest members. Each time a concept drift is detected, the count corresponding to the affected tree is reset.

  • models

  • n_drifts

    The number of concept drifts detected per ensemble member.

  • n_tree_swaps

    The number of performed alternate tree swaps. Not applicable if the warning detectors are disabled.

  • n_warnings

    The number of warnings detected per ensemble member.

  • total_instances

    The total number of instances processed by the ensemble.

"},{"location":"api/forest/OXTRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import forest\n\ndataset = datasets.synth.Friedman(seed=42).take(5000)\n\nmodel = forest.OXTRegressor(n_models=3, seed=42)\n\nmetric = metrics.RMSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
RMSE: 3.127311\n

"},{"location":"api/forest/OXTRegressor/#methods","title":"Methods","text":"learn_one predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/forest/OXTRegressor/#notes","title":"Notes","text":"

As the Online Extra Trees change the way in which Hoeffding Trees perform split attempts and monitor numerical input features, some of the parameters of the vanilla Hoeffding Tree algorithms are not available.

  1. Mastelini, S. M., Nakano, F. K., Vens, C., & de Leon Ferreira, A. C. P. (2022). Online Extra Trees Regressor. IEEE Transactions on Neural Networks and Learning Systems.\u00a0\u21a9

"},{"location":"api/imblearn/ChebyshevOverSampler/","title":"ChebyshevOverSampler","text":"

Over-sampling for imbalanced regression using Chebyshev's inequality.

Chebyshev's inequality can be used to define the probability of target observations being frequent values (w.r.t. the distribution mean).

Let \\(Y\\) be a random variable with finite expected value \\(\\overline{y}\\) and non-zero variance \\(\\sigma^2\\). For any real number \\(t > 0\\), the Chebyshev's inequality states that, for a wide class of unimodal probability distributions: \\(Pr(|y-\\overline{y}| \\ge t\\sigma) \\le \\dfrac{1}{t^2}\\).

Taking \\(t=\\dfrac{|y-\\overline{y}|}{\\sigma}\\), and assuming \\(t > 1\\), the Chebyshev\u2019s inequality for an observation \\(y\\) becomes: \\(P(|y - \\overline{y}|=t) = \\dfrac{\\sigma^2}{|y-\\overline{y}|}\\).

Alternatively, one can use \\(t\\) directly to estimate a frequency weight \\(\\kappa = \\lceil t\\rceil\\) and define an over-sampling strategy for extreme and rare target values1. Each incoming instance is used \\(\\kappa\\) times to update the underlying regressor. Frequent target values contribute only once to the underlying regressor, whereas rares cases are used multiple times for training.

"},{"location":"api/imblearn/ChebyshevOverSampler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regression model that will receive the biased sample.

"},{"location":"api/imblearn/ChebyshevOverSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.ChebyshevOverSampler(\n        regressor=rules.AMRules(\n            n_min=50, delta=0.01\n        )\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 1.673902\n[1,000] MAE: 1.743046\n[1,001] MAE: 1.741335\nMAE: 1.741335\n

"},{"location":"api/imblearn/ChebyshevOverSampler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

  1. Aminian, Ehsan, Rita P. Ribeiro, and Jo\u00e3o Gama. \"Chebyshev approaches for imbalanced data streams regression models.\" Data Mining and Knowledge Discovery 35.6 (2021): 2389-2466.\u00a0\u21a9

"},{"location":"api/imblearn/ChebyshevUnderSampler/","title":"ChebyshevUnderSampler","text":"

Under-sampling for imbalanced regression using Chebyshev's inequality.

Chebyshev's inequality can be used to define the probability of target observations being frequent values (w.r.t. the distribution mean).

Let \\(Y\\) be a random variable with finite expected value \\(\\overline{y}\\) and non-zero variance \\(\\sigma^2\\). For any real number \\(t > 0\\), the Chebyshev's inequality states that, for a wide class of unimodal probability distributions: \\(Pr(|y-\\overline{y}| \\ge t\\sigma) \\le \\dfrac{1}{t^2}\\).

Taking \\(t=\\dfrac{|y-\\overline{y}|}{\\sigma}\\), and assuming \\(t > 1\\), the Chebyshev\u2019s inequality for an observation \\(y\\) becomes: \\(P(|y - \\overline{y}|=t) = \\dfrac{\\sigma^2}{|y-\\overline{y}|}\\). The reciprocal of this probability is used for under-sampling1 the most frequent cases. Extreme valued or rare cases have higher probabilities of selection, whereas the most frequent cases are likely to be discarded. Still, frequent cases have a small chance of being selected (controlled via the sp parameter) in case few rare instances were observed.

"},{"location":"api/imblearn/ChebyshevUnderSampler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    The regression model that will receive the biased sample.

  • sp

    Type \u2192 float

    Default \u2192 0.15

    Second chance probability. Even if an example is not initially selected for training, it still has a small chance of being selected in case the number of rare case observed so far is small.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed to support reproducibility.

"},{"location":"api/imblearn/ChebyshevUnderSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.ChebyshevUnderSampler(\n        regressor=rules.AMRules(\n            n_min=50, delta=0.01,\n        ),\n        seed=42\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 1.787162\n[1,000] MAE: 1.515711\n[1,001] MAE: 1.515236\nMAE: 1.515236\n

"},{"location":"api/imblearn/ChebyshevUnderSampler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

  1. Aminian, Ehsan, Rita P. Ribeiro, and Jo\u00e3o Gama. \"Chebyshev approaches for imbalanced data streams regression models.\" Data Mining and Knowledge Discovery 35.6 (2021): 2389-2466.\u00a0\u21a9

"},{"location":"api/imblearn/HardSamplingClassifier/","title":"HardSamplingClassifier","text":"

Hard sampling classifier.

This wrapper enables a model to retrain on past samples who's output was hard to predict. This works by storing the hardest samples in a buffer of a fixed size. When a new sample arrives, the wrapped model is either trained on one of the buffered samples with a probability p or on the new sample with a probability (1 - p).

The hardness of an observation is evaluated with a loss function that compares the sample's ground truth with the wrapped model's prediction. If the buffer is not full, then the sample is added to the buffer. If the buffer is full and the new sample has a bigger loss than the lowest loss in the buffer, then the sample takes its place.

"},{"location":"api/imblearn/HardSamplingClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • size

    Type \u2192 int

    Size of the buffer.

  • p

    Type \u2192 float

    Probability of updating the model with a sample from the buffer instead of a new incoming sample.

  • loss

    Type \u2192 optim.losses.BinaryLoss | optim.losses.MultiClassLoss | None

    Default \u2192 None

    Criterion used to evaluate the hardness of a sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed.

"},{"location":"api/imblearn/HardSamplingClassifier/#attributes","title":"Attributes","text":"
  • classifier
"},{"location":"api/imblearn/HardSamplingClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.HardSamplingClassifier(\n        classifier=linear_model.LogisticRegression(),\n        p=0.1,\n        size=40,\n        seed=42,\n    )\n)\n\nevaluate.progressive_val_score(\n    dataset=datasets.Phishing(),\n    model=model,\n    metric=metrics.ROCAUC(),\n    print_every=500,\n)\n
[500] ROCAUC: 92.78%\n[1,000] ROCAUC: 94.76%\n[1,250] ROCAUC: 95.06%\nROCAUC: 95.06%\n

"},{"location":"api/imblearn/HardSamplingClassifier/#methods","title":"Methods","text":"learn_one predict_one predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/HardSamplingRegressor/","title":"HardSamplingRegressor","text":"

Hard sampling regressor.

This wrapper enables a model to retrain on past samples who's output was hard to predict. This works by storing the hardest samples in a buffer of a fixed size. When a new sample arrives, the wrapped model is either trained on one of the buffered samples with a probability p or on the new sample with a probability (1 - p).

The hardness of an observation is evaluated with a loss function that compares the sample's ground truth with the wrapped model's prediction. If the buffer is not full, then the sample is added to the buffer. If the buffer is full and the new sample has a bigger loss than the lowest loss in the buffer, then the sample takes its place.

"},{"location":"api/imblearn/HardSamplingRegressor/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

  • size

    Type \u2192 int

    Size of the buffer.

  • p

    Type \u2192 float

    Probability of updating the model with a sample from the buffer instead of a new incoming sample.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    Criterion used to evaluate the hardness of a sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed.

"},{"location":"api/imblearn/HardSamplingRegressor/#attributes","title":"Attributes","text":"
  • regressor
"},{"location":"api/imblearn/HardSamplingRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.HardSamplingRegressor(\n        regressor=linear_model.LinearRegression(),\n        p=.2,\n        size=30,\n        seed=42,\n    )\n)\n\nevaluate.progressive_val_score(\n    datasets.TrumpApproval(),\n    model,\n    metrics.MAE(),\n    print_every=500\n)\n
[500] MAE: 2.274021\n[1,000] MAE: 1.392399\n[1,001] MAE: 1.391246\nMAE: 1.391246\n

"},{"location":"api/imblearn/HardSamplingRegressor/#methods","title":"Methods","text":"learn_one predict_one"},{"location":"api/imblearn/RandomOverSampler/","title":"RandomOverSampler","text":"

Random over-sampling.

This is a wrapper for classifiers. It will train the provided classifier by over-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution. The implementation is a discrete version of reverse rejection sampling.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomOverSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomOverSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomOverSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.0457...\n

"},{"location":"api/imblearn/RandomOverSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/RandomSampler/","title":"RandomSampler","text":"

Random sampling by mixing under-sampling and over-sampling.

This is a wrapper for classifiers. It will train the provided classifier by both under-sampling and over-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1. If set to None, then the observations will be sampled uniformly at random, which is stricly equivalent to using ensemble.BaggingClassifier.

  • sampling_rate

    Default \u2192 1.0

    The desired ratio of data to sample.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    sampling_rate=0.8,\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.09...\n

"},{"location":"api/imblearn/RandomSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/imblearn/RandomUnderSampler/","title":"RandomUnderSampler","text":"

Random under-sampling.

This is a wrapper for classifiers. It will train the provided classifier by under-sampling the stream of given observations so that the class distribution seen by the classifier follows a given desired distribution. The implementation is a discrete version of rejection sampling.

See Working with imbalanced data for example usage.

"},{"location":"api/imblearn/RandomUnderSampler/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

  • desired_dist

    Type \u2192 dict

    The desired class distribution. The keys are the classes whilst the values are the desired class percentages. The values must sum up to 1.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/imblearn/RandomUnderSampler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import imblearn\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\nmodel = imblearn.RandomUnderSampler(\n    (\n        preprocessing.StandardScaler() |\n        linear_model.LogisticRegression()\n    ),\n    desired_dist={False: 0.4, True: 0.6},\n    seed=42\n)\n\ndataset = datasets.CreditCard().take(3000)\n\nmetric = metrics.LogLoss()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
LogLoss: 0.0336...\n

"},{"location":"api/imblearn/RandomUnderSampler/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Under-sampling a dataset with desired ratios \u21a9

  2. Wikipedia article on rejection sampling \u21a9

"},{"location":"api/linear-model/ALMAClassifier/","title":"ALMAClassifier","text":"

Approximate Large Margin Algorithm (ALMA).

"},{"location":"api/linear-model/ALMAClassifier/#parameters","title":"Parameters","text":"
  • p

    Default \u2192 2

  • alpha

    Default \u2192 0.9

  • B

    Default \u2192 1.1111111111111112

  • C

    Default \u2192 1.4142135623730951

"},{"location":"api/linear-model/ALMAClassifier/#attributes","title":"Attributes","text":"
  • w (collections.defaultdict)

    The current weights.

  • k (int)

    The number of instances seen during training.

"},{"location":"api/linear-model/ALMAClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.ALMAClassifier()\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 82.56%\n

"},{"location":"api/linear-model/ALMAClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Gentile, Claudio. \"A new approximate maximal margin classification algorithm.\" Journal of Machine Learning Research 2.Dec (2001): 213-242 \u21a9

"},{"location":"api/linear-model/BayesianLinearRegression/","title":"BayesianLinearRegression","text":"

Bayesian linear regression.

An advantage of Bayesian linear regression over standard linear regression is that features do not have to scaled beforehand. Another attractive property is that this flavor of linear regression is somewhat insensitive to its hyperparameters. Finally, this model can output instead a predictive distribution rather than just a point estimate.

The downside is that the learning step runs in O(n^2) time, whereas the learning step of standard linear regression takes O(n) time.

"},{"location":"api/linear-model/BayesianLinearRegression/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1

    Prior parameter.

  • beta

    Default \u2192 1

    Noise parameter.

  • smoothing

    Type \u2192 float | None

    Default \u2192 None

    Smoothing allows the model to gradually \"forget\" the past, and focus on the more recent data. It thus enables the model to deal with concept drift. Due to the current implementation, activating smoothing may slow down the model.

"},{"location":"api/linear-model/BayesianLinearRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.TrumpApproval()\nmodel = linear_model.BayesianLinearRegression()\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.586...\n

x, _ = next(iter(dataset))\nmodel.predict_one(x)\n
43.852...\n

model.predict_one(x, with_dist=True)\n
\ud835\udca9(\u03bc=43.85..., \u03c3=1.00...)\n

The smoothing parameter can be set to make the model robust to drift. The parameter is expected to be between 0 and 1. To exemplify, let's generate some simulation data with an abrupt concept drift right in the middle.

import itertools\nimport random\n\ndef random_data(coefs, n, seed=42):\n    rng = random.Random(seed)\n    for _ in range(n):\n        x = {i: rng.random() for i, c in enumerate(coefs)}\n        y = sum(c * xi for c, xi in zip(coefs, x.values()))\n        yield x, y\n

Here's how the model performs without any smoothing:

model = linear_model.BayesianLinearRegression()\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.284...\n

And here's how it performs with some smoothing:

model = linear_model.BayesianLinearRegression(smoothing=0.8)\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.159...\n

Smoothing allows the model to gradually \"forget\" the past, and focus on the more recent data.

Note how this works better than standard linear regression, even when using an aggressive learning rate.

from river import optim\nmodel = linear_model.LinearRegression(optimizer=optim.SGD(0.5))\ndataset = itertools.chain(\n    random_data([0.1, 3], 100),\n    random_data([10, -2], 100)\n)\nmetric = metrics.MAE()\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.242...\n

"},{"location":"api/linear-model/BayesianLinearRegression/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'
  • with_dist \u2014 defaults to False

Returns

base.typing.RegTarget: The prediction.

  1. Pattern Recognition and Machine Learning, page 52 \u2014 Christopher M. Bishop \u21a9

  2. Bayesian/Streaming Algorithms \u2014 Vincent Warmerdam \u21a9

  3. Bayesian linear regression for practitioners \u2014 Max Halford \u21a9

"},{"location":"api/linear-model/LinearRegression/","title":"LinearRegression","text":"

Linear regression.

This estimator supports learning with mini-batches. On top of the single instance methods, it provides the following methods: learn_many, predict_many, predict_proba_many. Each method takes as input a pandas.DataFrame where each column represents a feature.

It is generally a good idea to scale the data beforehand in order for the optimizer to converge. You can do this online with a preprocessing.StandardScaler.

"},{"location":"api/linear-model/LinearRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights. Note that the intercept updates are handled separately.

  • loss

    Type \u2192 optim.losses.RegressionLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 optim.base.Scheduler | float

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/LinearRegression/#attributes","title":"Attributes","text":"
  • weights (dict)

    The current weights.

"},{"location":"api/linear-model/LinearRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(intercept_lr=.1)\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.558735\n

model['LinearRegression'].intercept\n
35.617670\n

You can call the debug_one method to break down a prediction. This works even if the linear regression is part of a pipeline.

x, y = next(iter(dataset))\nreport = model.debug_one(x)\nprint(report)\n
0. Input\n--------\ngallup: 43.84321 (float)\nipsos: 46.19925 (float)\nmorning_consult: 48.31875 (float)\nordinal_date: 736389 (int)\nrasmussen: 44.10469 (float)\nyou_gov: 43.63691 (float)\n<BLANKLINE>\n1. StandardScaler\n-----------------\ngallup: 1.18810 (float)\nipsos: 2.10348 (float)\nmorning_consult: 2.73545 (float)\nordinal_date: -1.73032 (float)\nrasmussen: 1.26872 (float)\nyou_gov: 1.48391 (float)\n<BLANKLINE>\n2. LinearRegression\n-------------------\nName              Value      Weight      Contribution\n      Intercept    1.00000    35.61767       35.61767\n          ipsos    2.10348     0.62689        1.31866\nmorning_consult    2.73545     0.24180        0.66144\n         gallup    1.18810     0.43568        0.51764\n      rasmussen    1.26872     0.28118        0.35674\n        you_gov    1.48391     0.03123        0.04634\n   ordinal_date   -1.73032     3.45162       -5.97242\n<BLANKLINE>\nPrediction: 32.54607\n

"},{"location":"api/linear-model/LinearRegression/#methods","title":"Methods","text":"debug_one

Debugs the output of the linear regression.

Parameters

  • x \u2014 'dict'
  • decimals \u2014 'int' \u2014 defaults to 5

Returns

str: A table which explains the output.

learn_many

Update the model with a mini-batch of features X and real-valued targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X

Returns

The predicted outcomes.

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/linear-model/LogisticRegression/","title":"LogisticRegression","text":"

Logistic regression.

This estimator supports learning with mini-batches. On top of the single instance methods, it provides the following methods: learn_many, predict_many, predict_proba_many. Each method takes as input a pandas.DataFrame where each column represents a feature.

It is generally a good idea to scale the data beforehand in order for the optimizer to converge. You can do this online with a preprocessing.StandardScaler.

"},{"location":"api/linear-model/LogisticRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights. Note that the intercept is handled separately.

  • loss

    Type \u2192 optim.losses.BinaryLoss | None

    Default \u2192 None

    The loss function to optimize for. Defaults to optim.losses.Log.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Default \u2192 0.0

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Default \u2192 0.0

    Initial intercept value.

  • intercept_lr

    Type \u2192 float | optim.base.Scheduler

    Default \u2192 0.01

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.base.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/LogisticRegression/#attributes","title":"Attributes","text":"
  • weights

    The current weights.

"},{"location":"api/linear-model/LogisticRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer=optim.SGD(.1))\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.96%\n

"},{"location":"api/linear-model/LogisticRegression/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/linear-model/PAClassifier/","title":"PAClassifier","text":"

Passive-aggressive learning for classification.

"},{"location":"api/linear-model/PAClassifier/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 1.0

  • mode

    Default \u2192 1

  • learn_intercept

    Default \u2192 True

"},{"location":"api/linear-model/PAClassifier/#examples","title":"Examples","text":"

The following example is taken from this blog post.

from river import linear_model\nfrom river import metrics\nfrom river import stream\nimport numpy as np\nfrom sklearn import datasets\nfrom sklearn import model_selection\n\nnp.random.seed(1000)\nX, y = datasets.make_classification(\n    n_samples=5000,\n    n_features=4,\n    n_informative=2,\n    n_redundant=0,\n    n_repeated=0,\n    n_classes=2,\n    n_clusters_per_class=2\n)\n\nX_train, X_test, y_train, y_test = model_selection.train_test_split(\n    X,\n    y,\n    test_size=0.35,\n    random_state=1000\n)\n\nmodel = linear_model.PAClassifier(\n    C=0.01,\n    mode=1\n)\n\nfor xi, yi in stream.iter_array(X_train, y_train):\n    model.learn_one(xi, yi)\n\nmetric = metrics.Accuracy() + metrics.LogLoss()\n\nfor xi, yi in stream.iter_array(X_test, y_test):\n    metric.update(yi, model.predict_proba_one(xi))\n\nprint(metric)\n
Accuracy: 88.46%\nLogLoss: 0.325727...\n

"},{"location":"api/linear-model/PAClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S. and Singer, Y., 2006. Online passive-aggressive algorithms. Journal of Machine Learning Research, 7(Mar), pp.551-585 \u21a9

"},{"location":"api/linear-model/PARegressor/","title":"PARegressor","text":"

Passive-aggressive learning for regression.

"},{"location":"api/linear-model/PARegressor/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 1.0

  • mode

    Default \u2192 1

  • eps

    Default \u2192 0.1

  • learn_intercept

    Default \u2192 True

"},{"location":"api/linear-model/PARegressor/#examples","title":"Examples","text":"

The following example is taken from this blog post.

from river import linear_model\nfrom river import metrics\nfrom river import stream\nimport numpy as np\nfrom sklearn import datasets\n\nnp.random.seed(1000)\nX, y = datasets.make_regression(n_samples=500, n_features=4)\n\nmodel = linear_model.PARegressor(\n    C=0.01,\n    mode=2,\n    eps=0.1,\n    learn_intercept=False\n)\nmetric = metrics.MAE() + metrics.MSE()\n\nfor xi, yi in stream.iter_array(X, y):\n    y_pred = model.predict_one(xi)\n    model.learn_one(xi, yi)\n    metric.update(yi, y_pred)\n\nprint(metric)\n
MAE: 9.809402\nMSE: 472.393532\n

"},{"location":"api/linear-model/PARegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S. and Singer, Y., 2006. Online passive-aggressive algorithms. Journal of Machine Learning Research, 7(Mar), pp.551-585. \u21a9

"},{"location":"api/linear-model/Perceptron/","title":"Perceptron","text":"

Perceptron classifier.

In this implementation, the Perceptron is viewed as a special case of the logistic regression. The loss function that is used is the Hinge loss with a threshold set to 0, whilst the learning rate of the stochastic gradient descent procedure is set to 1 for both the weights and the intercept.

"},{"location":"api/linear-model/Perceptron/#parameters","title":"Parameters","text":"
  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

"},{"location":"api/linear-model/Perceptron/#attributes","title":"Attributes","text":"
  • weights

    The current weights.

"},{"location":"api/linear-model/Perceptron/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model as lm\nfrom river import metrics\nfrom river import preprocessing as pp\n\ndataset = datasets.Phishing()\n\nmodel = pp.StandardScaler() | lm.Perceptron()\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 85.84%\n

"},{"location":"api/linear-model/Perceptron/#methods","title":"Methods","text":"learn_many

Update the model with a mini-batch of features X and boolean targets y.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'
  • w \u2014 'float | pd.Series' \u2014 defaults to 1

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Predict the outcome probabilities for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A dataframe with probabilities of True and False for each sample.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/linear-model/SoftmaxRegression/","title":"SoftmaxRegression","text":"

Softmax regression is a generalization of logistic regression to multiple classes.

Softmax regression is also known as \"multinomial logistic regression\". There are a set weights for each class, hence the weights attribute is a nested collections.defaultdict. The main advantage of using this instead of a one-vs-all logistic regression is that the probabilities will be calibrated. Moreover softmax regression is more robust to outliers.

"},{"location":"api/linear-model/SoftmaxRegression/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used to tune the weights.

  • loss

    Type \u2192 optim.losses.MultiClassLoss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0

    Amount of L2 regularization used to push weights towards 0.

"},{"location":"api/linear-model/SoftmaxRegression/#attributes","title":"Attributes","text":"
  • weights (collections.defaultdict)
"},{"location":"api/linear-model/SoftmaxRegression/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nmodel = preprocessing.StandardScaler()\nmodel |= linear_model.SoftmaxRegression()\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 81.88%\n

"},{"location":"api/linear-model/SoftmaxRegression/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Course on classification stochastic gradient descent \u21a9

  2. Binary vs. Multi-Class Logistic Regression \u21a9

"},{"location":"api/linear-model/base/GLM/","title":"GLM","text":"

Generalized Linear Model.

This serves as a base class for linear and logistic regression.

"},{"location":"api/linear-model/base/GLM/#parameters","title":"Parameters","text":"
  • optimizer

    The sequential optimizer used for updating the weights. Note that the intercept updates are handled separately.

  • loss

    The loss function to optimize for.

  • l2

    Amount of L2 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • l1

    Amount of L1 regularization used to push weights towards 0. For now, only one type of penalty can be used. The joint use of L1 and L2 is not explicitly supported.

  • intercept_init

    Initial intercept value.

  • intercept_lr

    Learning rate scheduler used for updating the intercept. A optim.schedulers.Constant is used if a float is provided. The intercept is not updated when this is set to 0.

  • clip_gradient

    Clips the absolute value of each gradient value.

  • initializer

    Weights initialization scheme.

"},{"location":"api/linear-model/base/GLM/#attributes","title":"Attributes","text":"
  • weights
"},{"location":"api/linear-model/base/GLM/#methods","title":"Methods","text":"learn_many learn_one"},{"location":"api/metrics/Accuracy/","title":"Accuracy","text":"

Accuracy score, which is the percentage of exact matches.

"},{"location":"api/metrics/Accuracy/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Accuracy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Accuracy/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Accuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
Accuracy: 60.00%\n

"},{"location":"api/metrics/Accuracy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/AdjustedMutualInfo/","title":"AdjustedMutualInfo","text":"

Adjusted Mutual Information between two clusterings.

Adjusted Mutual Information (AMI) is an adjustment of the Mutual Information score that accounts for chance. It corrects the effect of agreement solely due to chance between clusterings, similar to the way the Adjusted Rand Index corrects the Rand Index. It is closely related to variation of information. The adjusted measure, however, is no longer metrical.

For two clusterings \\(U\\) and \\(V\\), the Adjusted Mutual Information is calculated as:

\\[ AMI(U, V) = \\frac{MI(U, V) - E(MI(U, V))}{avg(H(U), H(V)) - E(MI(U, V))} \\]

This metric is independent of the permutation of the class or cluster label values; furthermore, it is also symmetric. This can be useful to measure the agreement of two label assignments strategies on the same dataset, regardless of the ground truth.

However, due to the complexity of the Expected Mutual Info Score, the computation of this metric is an order of magnitude slower than most other metrics, in general.

"},{"location":"api/metrics/AdjustedMutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • average_method

    Default \u2192 arithmetic

    This parameter defines how to compute the normalizer in the denominator. Possible options include min, max, arithmetic and geometric.

"},{"location":"api/metrics/AdjustedMutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/AdjustedMutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.AdjustedMutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.0\n0.105891\n0.298792\n

metric\n
AdjustedMutualInfo: 0.298792\n

"},{"location":"api/metrics/AdjustedMutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/AdjustedRand/","title":"AdjustedRand","text":"

Adjusted Rand Index.

The Adjusted Rand Index is the corrected-for-chance version of the Rand Index 1 2. Such a correction for chance establishes a baseline by using the expected similarity of all pair-wise comparisions between clusterings specified by a random model.

Traditionally, the Rand Index was corrected using the Permutation Model for Clustering. However, the premises of the permutation model are frequently violated; in many clustering scenarios, either the number of clusters or the size distribution of those clusters vary drastically. Variations of the adjusted Rand Index account for different models of random clusterings.

Though the Rand Index may only yield a value between 0 and 1, the Adjusted Rand index can yield negative values if the index is less than the expected index.

"},{"location":"api/metrics/AdjustedRand/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/AdjustedRand/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/AdjustedRand/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.AdjustedRand()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.0\n0.09090909090909091\n0.24242424242424243\n

metric\n
AdjustedRand: 0.242424\n

"},{"location":"api/metrics/AdjustedRand/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, January 13). Rand index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Rand_index&oldid=1000098911\u00a0\u21a9

  2. W. M. Rand (1971). \"Objective criteria for the evaluation of clustering methods\". Journal of the American Statistical Association. American Statistical Association. 66 (336): 846\u2013850. arXiv:1704.01036. doi:10.2307/2284239. JSTOR 2284239.\u00a0\u21a9

"},{"location":"api/metrics/BalancedAccuracy/","title":"BalancedAccuracy","text":"

Balanced accuracy.

Balanced accuracy is the average of recall obtained on each class. It is used to deal with imbalanced datasets in binary and multi-class classification problems.

"},{"location":"api/metrics/BalancedAccuracy/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/BalancedAccuracy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/BalancedAccuracy/#examples","title":"Examples","text":"

from river import metrics\ny_true = [True, False, True, True, False, True]\ny_pred = [True, False, True, True, True, False]\n\nmetric = metrics.BalancedAccuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
BalancedAccuracy: 62.50%\n

y_true = [0, 1, 0, 0, 1, 0]\ny_pred = [0, 1, 0, 0, 0, 1]\nmetric = metrics.BalancedAccuracy()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
BalancedAccuracy: 62.50%\n

"},{"location":"api/metrics/BalancedAccuracy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/ClassificationReport/","title":"ClassificationReport","text":"

A report for monitoring a classifier.

This class maintains a set of metrics and updates each of them every time update is called. You can print this class at any time during a model's lifetime to get a tabular visualization of various metrics.

You can wrap a metrics.ClassificationReport with utils.Rolling in order to obtain a classification report over a window of observations. You can also wrap it with utils.TimeRolling to obtain a report over a period of time.

"},{"location":"api/metrics/ClassificationReport/#parameters","title":"Parameters","text":"
  • decimals

    Default \u2192 2

    The number of decimals to display in each cell.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/ClassificationReport/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ClassificationReport/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['pear', 'apple', 'banana', 'banana', 'banana']\ny_pred = ['apple', 'pear', 'banana', 'banana', 'apple']\n\nreport = metrics.ClassificationReport()\n\nfor yt, yp in zip(y_true, y_pred):\n    report.update(yt, yp)\n\nprint(report)\n
               Precision   Recall   F1       Support\n<BLANKLINE>\n   apple       0.00%    0.00%    0.00%         1\n  banana     100.00%   66.67%   80.00%         3\n    pear       0.00%    0.00%    0.00%         1\n<BLANKLINE>\n   Macro      33.33%   22.22%   26.67%\n   Micro      40.00%   40.00%   40.00%\nWeighted      60.00%   40.00%   48.00%\n<BLANKLINE>\n                 40.00% accuracy\n

"},{"location":"api/metrics/ClassificationReport/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/CohenKappa/","title":"CohenKappa","text":"

Cohen's Kappa score.

Cohen's Kappa expresses the level of agreement between two annotators on a classification problem. It is defined as

\\[ \\kappa = (p_o - p_e) / (1 - p_e) \\]

where \\(p_o\\) is the empirical probability of agreement on the label assigned to any sample (prequential accuracy), and \\(p_e\\) is the expected agreement when both annotators assign labels randomly.

"},{"location":"api/metrics/CohenKappa/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/CohenKappa/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/CohenKappa/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat']\n\nmetric = metrics.CohenKappa()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
CohenKappa: 42.86%\n

"},{"location":"api/metrics/CohenKappa/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. J. Cohen (1960). \"A coefficient of agreement for nominal scales\". Educational and Psychological Measurement 20(1):37-46. doi:10.1177/001316446002000104.\u00a0\u21a9

"},{"location":"api/metrics/Completeness/","title":"Completeness","text":"

Completeness Score.

Completeness 1 is symmetrical to homogeneity. In order to satisfy the completeness criteria, a clustering must assign all of those datapoints that are members of a single class to a single cluster. To evaluate completeness, we examine the distribution cluster assignments within each class. In a perfectly complete clustering solution, each of these distributions will be completely skewed to a single cluster.

We can evaluate this degree of skew by calculating the conditional entropy of the proposed cluster distribution given the class of the component data points. However, in the worst case scenario, each class is represented by every cluster with a distribution equal to the distribution of cluster sizes. Therefore, symmetric to the claculation above, we define completeness as:

\\[ c = \\begin{cases} 1 if H(K) = 0, \\\\ 1 - \\frac{H(K|C)}{H(K)} otherwise. \\end{cases}. \\]"},{"location":"api/metrics/Completeness/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Completeness/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Completeness/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.Completeness()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n1.0\n0.3836885465963443\n0.5880325916843805\n0.6666666666666667\n

metric\n
Completeness: 66.67%\n

"},{"location":"api/metrics/Completeness/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/ConfusionMatrix/","title":"ConfusionMatrix","text":"

Confusion Matrix for binary and multi-class classification.

"},{"location":"api/metrics/ConfusionMatrix/#parameters","title":"Parameters","text":"
  • classes

    Default \u2192 None

    The initial set of classes. This is optional and serves only for displaying purposes.

"},{"location":"api/metrics/ConfusionMatrix/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • classes

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • total_false_negatives

  • total_false_positives

  • total_true_negatives

  • total_true_positives

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ConfusionMatrix/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat']\n\ncm = metrics.ConfusionMatrix()\n\nfor yt, yp in zip(y_true, y_pred):\n    cm.update(yt, yp)\n\ncm\n
       ant  bird   cat\n ant     2     0     0\nbird     0     0     1\n cat     1     0     2\n

cm['bird']['cat']\n
1.0\n

"},{"location":"api/metrics/ConfusionMatrix/#methods","title":"Methods","text":"false_negatives false_positives get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

support true_negatives true_positives update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/ConfusionMatrix/#notes","title":"Notes","text":"

This confusion matrix is a 2D matrix of shape (n_classes, n_classes), corresponding to a single-target (binary and multi-class) classification task.

Each row represents true (actual) class-labels, while each column corresponds to the predicted class-labels. For example, an entry in position [1, 2] means that the true class-label is 1, and the predicted class-label is 2 (incorrect prediction).

This structure is used to keep updated statistics about a single-output classifier's performance and to compute multiple evaluation metrics.

"},{"location":"api/metrics/CrossEntropy/","title":"CrossEntropy","text":"

Multiclass generalization of the logarithmic loss.

"},{"location":"api/metrics/CrossEntropy/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/CrossEntropy/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2]\ny_pred = [\n    {0: 0.29450637, 1: 0.34216758, 2: 0.36332605},\n    {0: 0.21290077, 1: 0.32728332, 2: 0.45981591},\n    {0: 0.42860913, 1: 0.33380113, 2: 0.23758974},\n    {0: 0.44941979, 1: 0.32962558, 2: 0.22095463}\n]\n\nmetric = metrics.CrossEntropy()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.222454\n1.169691\n1.258864\n1.321597\n

metric\n
CrossEntropy: 1.321598\n

"},{"location":"api/metrics/CrossEntropy/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/F1/","title":"F1","text":"

Binary F1 score.

"},{"location":"api/metrics/F1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/F1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/F1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, False, False, True, True, True]\ny_pred = [False, False, True, True, False, False]\n\nmetric = metrics.F1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
F1: 40.00%\n

"},{"location":"api/metrics/F1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/FBeta/","title":"FBeta","text":"

Binary F-Beta score.

The FBeta score is a weighted harmonic mean between precision and recall. The higher the beta value, the higher the recall will be taken into account. When beta equals 1, precision and recall and equivalently weighted, which results in the F1 score (see metrics.F1).

"},{"location":"api/metrics/FBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/FBeta/#attributes","title":"Attributes","text":"
  • precision (metrics.Precision)

  • recall (metrics.Recall)

"},{"location":"api/metrics/FBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, False, False, True, True, True]\ny_pred = [False, False, True, True, False, False]\n\nmetric = metrics.FBeta(beta=2)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
FBeta: 35.71%\n

"},{"location":"api/metrics/FBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/FowlkesMallows/","title":"FowlkesMallows","text":"

Fowlkes-Mallows Index.

The Fowlkes-Mallows Index 1 2 is an external evaluation method that is used to determine the similarity between two clusterings, and also a metric to measure confusion matrices. The measure of similarity could be either between two hierarchical clusterings or a clustering and a benchmark classification. A higher value for the Fowlkes-Mallows index indicates a greater similarity between the clusters and the benchmark classifications.

The Fowlkes-Mallows Index, for two cluster algorithms, is defined as:

\\[ FM = \\sqrt{PPV \\times TPR} = \\sqrt{\\frac{TP}{TP+FP} \\times \\frac{TP}{TP+FN}} \\]

where

  • TP, FP, FN are respectively the number of true positives, false positives and false negatives;

  • TPR is the True Positive Rate (or Sensitivity/Recall), PPV is the Positive Predictive Rate (or Precision).

"},{"location":"api/metrics/FowlkesMallows/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/FowlkesMallows/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/FowlkesMallows/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.FowlkesMallows()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
FowlkesMallows: 0.00%\nFowlkesMallows: 100.00%\nFowlkesMallows: 57.74%\nFowlkesMallows: 40.82%\nFowlkesMallows: 35.36%\nFowlkesMallows: 47.14%\n

"},{"location":"api/metrics/FowlkesMallows/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2020, December 22). Fowlkes\u2013Mallows index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Fowlkes%E2%80%93Mallows_index&oldid=995714222\u00a0\u21a9

  2. E. B. Fowkles and C. L. Mallows (1983). \u201cA method for comparing two hierarchical clusterings\u201d. Journal of the American Statistical Association\u00a0\u21a9

"},{"location":"api/metrics/GeometricMean/","title":"GeometricMean","text":"

Geometric mean score.

The geometric mean is a good indicator of a classifier's performance in the presence of class imbalance because it is independent of the distribution of examples between classes. This implementation computes the geometric mean of class-wise sensitivity (recall).

\\[ gm = \\sqrt[n]{s_1\\cdot s_2\\cdot s_3\\cdot \\ldots\\cdot s_n} \\]

where \\(s_i\\) is the sensitivity (recall) of class \\(i\\) and \\(n\\) is the number of classes.

"},{"location":"api/metrics/GeometricMean/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/GeometricMean/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/GeometricMean/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird', 'bird']\ny_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat', 'bird']\n\nmetric = metrics.GeometricMean()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
GeometricMean: 69.34%\n

"},{"location":"api/metrics/GeometricMean/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Barandela, R. et al. \u201cStrategies for learning in class imbalance problems\u201d, Pattern Recognition, 36(3), (2003), pp 849-851.\u00a0\u21a9

"},{"location":"api/metrics/Homogeneity/","title":"Homogeneity","text":"

Homogeneity Score.

Homogeneity metric 1 of a cluster labeling given a ground truth.

In order to satisfy the homogeneity criteria, a clustering must assign only those data points that are members of a single class to a single cluster. That is, the class distribution within each cluster should be skewed to a single class, that is, zero entropy. We determine how close a given clustering is to this ideal by examining the conditional entropy of the class distribution given the proposed clustering.

However, in an imperfect situation, the size of this value is dependent on the size of the dataset and the distribution of class sizes. Therefore, instead of taking the raw conditional entropy, we normalize by the maximum reduction in entropy the clustering information could provide.

As such, we define homogeneity as:

\\[ h = \\begin{cases} 1 if H(C) = 0, \\\\ 1 - \\frac{H(C|K)}{H(C)} otherwise. \\end{cases}. \\]"},{"location":"api/metrics/Homogeneity/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Homogeneity/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Homogeneity/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.Homogeneity()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.311278\n0.37515\n0.42062\n

metric\n
Homogeneity: 42.06%\n

"},{"location":"api/metrics/Homogeneity/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/Jaccard/","title":"Jaccard","text":"

Jaccard score.

"},{"location":"api/metrics/Jaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Jaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Jaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [False, True, True]\ny_pred = [True, True, True]\n\nmetric = metrics.Jaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Jaccard: 0.00%\nJaccard: 50.00%\nJaccard: 66.67%\n

"},{"location":"api/metrics/Jaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Jaccard index \u21a9

"},{"location":"api/metrics/LogLoss/","title":"LogLoss","text":"

Binary logarithmic loss.

"},{"location":"api/metrics/LogLoss/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/LogLoss/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, False, True]\ny_pred = [0.9,  0.1,   0.2,   0.65]\n\nmetric = metrics.LogLoss()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.105360\n0.105360\n0.144621\n0.216161\n

metric\n
LogLoss: 0.216162\n

"},{"location":"api/metrics/LogLoss/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MAE/","title":"MAE","text":"

Mean absolute error.

"},{"location":"api/metrics/MAE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MAE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MAE()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.5\n0.5\n0.333\n0.5\n

metric\n
MAE: 0.5\n

"},{"location":"api/metrics/MAE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MAPE/","title":"MAPE","text":"

Mean absolute percentage error.

"},{"location":"api/metrics/MAPE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MAPE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MAPE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MAPE: 32.738095\n

"},{"location":"api/metrics/MAPE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MCC/","title":"MCC","text":"

Matthews correlation coefficient.

"},{"location":"api/metrics/MCC/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/MCC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MCC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, True, True, False]\ny_pred = [True, False, True, True]\n\nmcc = metrics.MCC()\n\nfor yt, yp in zip(y_true, y_pred):\n    mcc.update(yt, yp)\n\nmcc\n
MCC: -0.333333\n

"},{"location":"api/metrics/MCC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia article \u21a9

"},{"location":"api/metrics/MSE/","title":"MSE","text":"

Mean squared error.

"},{"location":"api/metrics/MSE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MSE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.MSE()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.25\n0.25\n0.1666\n0.375\n

"},{"location":"api/metrics/MSE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/MacroF1/","title":"MacroF1","text":"

Macro-average F1 score.

This works by computing the F1 score per class, and then performs a global average.

"},{"location":"api/metrics/MacroF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroF1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroF1: 100.00%\nMacroF1: 33.33%\nMacroF1: 55.56%\nMacroF1: 55.56%\nMacroF1: 48.89%\n

"},{"location":"api/metrics/MacroF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroFBeta/","title":"MacroFBeta","text":"

Macro-average F-Beta score.

This works by computing the F-Beta score per class, and then performs a global average.

"},{"location":"api/metrics/MacroFBeta/#parameters","title":"Parameters","text":"
  • beta

    Weight of precision in harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroFBeta(beta=.8)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroFBeta: 100.00%\nMacroFBeta: 31.06%\nMacroFBeta: 54.04%\nMacroFBeta: 54.04%\nMacroFBeta: 48.60%\n

"},{"location":"api/metrics/MacroFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroJaccard/","title":"MacroJaccard","text":"

Macro-average Jaccard score.

"},{"location":"api/metrics/MacroJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroJaccard: 100.00%\nMacroJaccard: 25.00%\nMacroJaccard: 50.00%\nMacroJaccard: 50.00%\nMacroJaccard: 38.89%\n

"},{"location":"api/metrics/MacroJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroPrecision/","title":"MacroPrecision","text":"

Macro-average precision score.

"},{"location":"api/metrics/MacroPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroPrecision: 100.00%\nMacroPrecision: 25.00%\nMacroPrecision: 50.00%\nMacroPrecision: 50.00%\nMacroPrecision: 50.00%\n

"},{"location":"api/metrics/MacroPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MacroRecall/","title":"MacroRecall","text":"

Macro-average recall score.

"},{"location":"api/metrics/MacroRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MacroRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MacroRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MacroRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MacroRecall: 100.00%\nMacroRecall: 50.00%\nMacroRecall: 66.67%\nMacroRecall: 66.67%\nMacroRecall: 55.56%\n

"},{"location":"api/metrics/MacroRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MicroF1/","title":"MicroF1","text":"

Micro-average F1 score.

This computes the F1 score by merging all the predictions and true labels, and then computes a global F1 score.

"},{"location":"api/metrics/MicroF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 0]\ny_pred = [0, 1, 1, 2, 1]\n\nmetric = metrics.MicroF1()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MicroF1: 60.00%\n

"},{"location":"api/metrics/MicroF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MicroFBeta/","title":"MicroFBeta","text":"

Micro-average F-Beta score.

This computes the F-Beta score by merging all the predictions and true labels, and then computes a global F-Beta score.

"},{"location":"api/metrics/MicroFBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 0]\ny_pred = [0, 1, 1, 2, 1]\n\nmetric = metrics.MicroFBeta(beta=2)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
MicroFBeta: 60.00%\n

"},{"location":"api/metrics/MicroFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem?

"},{"location":"api/metrics/MicroJaccard/","title":"MicroJaccard","text":"

Micro-average Jaccard score.

"},{"location":"api/metrics/MicroJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroJaccard: 100.00%\nMicroJaccard: 33.33%\nMicroJaccard: 50.00%\nMicroJaccard: 60.00%\nMicroJaccard: 42.86%\n

"},{"location":"api/metrics/MicroJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MicroPrecision/","title":"MicroPrecision","text":"

Micro-average precision score.

The micro-average precision score is exactly equivalent to the micro-average recall as well as the micro-average F1 score.

"},{"location":"api/metrics/MicroPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroPrecision: 100.00%\nMicroPrecision: 50.00%\nMicroPrecision: 66.67%\nMicroPrecision: 75.00%\nMicroPrecision: 60.00%\n

"},{"location":"api/metrics/MicroPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MicroRecall/","title":"MicroRecall","text":"

Micro-average recall score.

The micro-average recall is exactly equivalent to the micro-average precision as well as the micro-average F1 score.

"},{"location":"api/metrics/MicroRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MicroRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MicroRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MicroRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MicroRecall: 100.00%\nMicroRecall: 50.00%\nMicroRecall: 66.67%\nMicroRecall: 75.00%\nMicroRecall: 60.00%\n

"},{"location":"api/metrics/MicroRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Why are precision, recall and F1 score equal when using micro averaging in a multi-class problem? \u21a9

"},{"location":"api/metrics/MultiFBeta/","title":"MultiFBeta","text":"

Multi-class F-Beta score with different betas per class.

The multiclass F-Beta score is the arithmetic average of the binary F-Beta scores of each class. The mean can be weighted by providing class weights.

"},{"location":"api/metrics/MultiFBeta/#parameters","title":"Parameters","text":"
  • betas

    Weight of precision in the harmonic mean of each class.

  • weights

    Class weights. If not provided then uniform weights will be used.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MultiFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MultiFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.MultiFBeta(\n    betas={0: 0.25, 1: 1, 2: 4},\n    weights={0: 1, 1: 1, 2: 2}\n)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
MultiFBeta: 100.00%\nMultiFBeta: 25.76%\nMultiFBeta: 62.88%\nMultiFBeta: 62.88%\nMultiFBeta: 46.88%\n

"},{"location":"api/metrics/MultiFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/MutualInfo/","title":"MutualInfo","text":"

Mutual Information between two clusterings.

The Mutual Information 1 is a measure of the similarity between two labels of the same data. Where \\(|U_i|\\) is the number of samples in cluster \\(U_i\\) and \\(|V_j|\\) is the number of the samples in cluster \\(V_j\\), the Mutual Information between clusterings \\(U\\) and \\(V\\) can be calculated as:

\\[ MI(U,V) = \\sum_{i=1}^{|U|} \\sum_{v=1}^{|V|} \\frac{|U_i \\cup V_j|}{N} \\log \\frac{N |U_i \\cup V_j|}{|U_i| |V_j|} \\]

This metric is independent of the absolute values of the labels: a permutation of the class or cluster label values won't change the score.

This metric is furthermore symmetric: switching y_true and y_pred will return the same score value. This can be useful to measure the agreement of two independent label assignments strategies on the same dataset when the real ground truth is not known.

The Mutual Information can be equivalently expressed as:

\\[ MI(U,V) = H(U) - H(U | V) = H(V) - H(V | U) \\]

where \\(H(U)\\) and \\(H(V)\\) are the marginal entropies, \\(H(U | V)\\) and \\(H(V | U)\\) are the conditional entropies.

"},{"location":"api/metrics/MutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/MutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/MutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.MutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.0\n0.0\n0.0\n0.215761\n0.395752\n0.462098\n

metric\n
MutualInfo: 0.462098\n

"},{"location":"api/metrics/MutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/NormalizedMutualInfo/","title":"NormalizedMutualInfo","text":"

Normalized Mutual Information between two clusterings.

Normalized Mutual Information (NMI) is a normalized version of the Mutual Information (MI) score to scale the results between the range of 0 (no mutual information) and 1 (perfectly mutual information). In the formula, the mutual information will be normalized by a generalized mean of the entropy of true and predicted labels, defined by the average_method.

We note that this measure is not adjusted for chance (i.e corrected the effect of result agreement solely due to chance); as a result, the Adjusted Mutual Info Score will mostly be preferred. However, this metric is still symmetric, which means that switching true and predicted labels will not alter the score value. This fact can be useful when the metric is used to measure the agreement between two indepedent label solutions on the same dataset, when the ground truth remains unknown.

Another advantage of the metric is that as it is based on the calculation of entropy-related measures, it is independent of the permutation of class/cluster labels.

"},{"location":"api/metrics/NormalizedMutualInfo/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • average_method

    Default \u2192 arithmetic

    This parameter defines how to compute the normalizer in the denominator. Possible options include min, max, arithmetic and geometric.

"},{"location":"api/metrics/NormalizedMutualInfo/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/NormalizedMutualInfo/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.NormalizedMutualInfo()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.343711\n0.458065\n0.515803\n

metric\n
NormalizedMutualInfo: 0.515804\n

"},{"location":"api/metrics/NormalizedMutualInfo/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, March 17). Mutual information. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Mutual_information&oldid=1012714929\u00a0\u21a9

"},{"location":"api/metrics/Precision/","title":"Precision","text":"

Binary precision score.

"},{"location":"api/metrics/Precision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Precision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Precision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Precision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Precision: 100.00%\nPrecision: 50.00%\nPrecision: 50.00%\nPrecision: 66.67%\nPrecision: 75.00%\n

"},{"location":"api/metrics/Precision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/R2/","title":"R2","text":"

Coefficient of determination (\\(R^2\\)) score

The coefficient of determination, denoted \\(R^2\\) or \\(r^2\\), is the proportion of the variance in the dependent variable that is predictable from the independent variable(s). 1

Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of \\(y\\), disregarding the input features, would get a \\(R^2\\) score of 0.0.

\\(R^2\\) is not defined when less than 2 samples have been observed. This implementation returns 0.0 in this case.

"},{"location":"api/metrics/R2/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/R2/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.R2()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.0\n0.9183\n0.9230\n0.9486\n

"},{"location":"api/metrics/R2/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Coefficient of determination (Wikipedia) \u21a9

"},{"location":"api/metrics/RMSE/","title":"RMSE","text":"

Root mean squared error.

"},{"location":"api/metrics/RMSE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RMSE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.RMSE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
0.5\n0.5\n0.408248\n0.612372\n

metric\n
RMSE: 0.612372\n

"},{"location":"api/metrics/RMSE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/RMSLE/","title":"RMSLE","text":"

Root mean squared logarithmic error.

"},{"location":"api/metrics/RMSLE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RMSLE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [3, -0.5, 2, 7]\ny_pred = [2.5, 0.0, 2, 8]\n\nmetric = metrics.RMSLE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
RMSLE: 0.357826\n

"},{"location":"api/metrics/RMSLE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/ROCAUC/","title":"ROCAUC","text":"

Receiving Operating Characteristic Area Under the Curve.

This metric is an approximation of the true ROC AUC. Computing the true ROC AUC would require storing all the predictions and ground truths, which isn't desirable. The approximation error is not significant as long as the predicted probabilities are well calibrated. In any case, this metric can still be used to reliably compare models between each other.

"},{"location":"api/metrics/ROCAUC/#parameters","title":"Parameters","text":"
  • n_thresholds

    Default \u2192 10

    The number of thresholds used for discretizing the ROC curve. A higher value will lead to more accurate results, but will also cost more time and memory.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/ROCAUC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/ROCAUC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [ 0,  0,   1,  1]\ny_pred = [.1, .4, .35, .8]\n\nmetric = metrics.ROCAUC()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ROCAUC: 87.50%\n

The true ROC AUC is in fact 0.75. We can improve the accuracy by increasing the amount of thresholds. This comes at the cost more computation time and more memory usage.

metric = metrics.ROCAUC(n_thresholds=20)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ROCAUC: 75.00%\n

"},{"location":"api/metrics/ROCAUC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/Rand/","title":"Rand","text":"

Rand Index.

The Rand Index 1 2 is a measure of the similarity between two data clusterings. Given a set of elements S and two partitions of S to compare, X and Y, define the following:

  • a, the number of pairs of elements in S that are in the same subset in X and in the same subset in Y

  • b, the number of pairs of elements in S that are in the different subset in X and in different subsets in Y

  • c, the number of pairs of elements in S that are in the same subset in X and in different subsets in Y

  • d, the number of pairs of elements in S that are in the different subset in X and in the same subset in Y

The Rand index, R, is

\\[ R = \frac{a+b}{a+b+c+d} = \frac{a+b}{\frac{n(n-1)}{2}}. \\]"},{"location":"api/metrics/Rand/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/Rand/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Rand/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0, 0, 1, 1, 1]\ny_pred = [0, 0, 1, 1, 2, 2]\n\nmetric = metrics.Rand()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
Rand: 0.666667\n

"},{"location":"api/metrics/Rand/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Wikipedia contributors. (2021, January 13). Rand index. In Wikipedia, The Free Encyclopedia, from https://en.wikipedia.org/w/index.php?title=Rand_index&oldid=1000098911\u00a0\u21a9

  2. W. M. Rand (1971). \"Objective criteria for the evaluation of clustering methods\". Journal of the American Statistical Association. American Statistical Association. 66 (336): 846\u2013850. arXiv:1704.01036. doi:10.2307/2284239. JSTOR 2284239.\u00a0\u21a9

"},{"location":"api/metrics/Recall/","title":"Recall","text":"

Binary recall score.

"},{"location":"api/metrics/Recall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/Recall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/Recall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [True, False, True, True, True]\ny_pred = [True, True, False, True, True]\n\nmetric = metrics.Recall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
Recall: 100.00%\nRecall: 100.00%\nRecall: 50.00%\nRecall: 66.67%\nRecall: 75.00%\n

"},{"location":"api/metrics/Recall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/RollingROCAUC/","title":"RollingROCAUC","text":"

Rolling version of the Receiving Operating Characteristic Area Under the Curve.

The RollingROCAUC calculates the metric using the instances in its window of size S. It keeps a queue of the instances, when an instance is added and the queue length is equal to S, the last instance is removed. The metric has a tree with ordered instances, in order to calculate the AUC efficiently. It was implemented based on the algorithm presented in Brzezinski and Stefanowski, 2017.

The difference between this metric and the standard ROCAUC is that the latter calculates an approximation of the real metric considering all data from the beginning of the stream, while the RollingROCAUC calculates the exact value considering only the last S instances. This approach may be beneficial if it's necessary to evaluate the model's performance over time, since calculating the metric using the entire stream may hide the current performance of the classifier.

"},{"location":"api/metrics/RollingROCAUC/#parameters","title":"Parameters","text":"
  • window_size

    Default \u2192 1000

    The max length of the window.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/RollingROCAUC/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/RollingROCAUC/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [ 0,  1,  0,  1,  0,  1,  0,  0,   1,  1]\ny_pred = [.3, .5, .5, .7, .1, .3, .1, .4, .35, .8]\n\nmetric = metrics.RollingROCAUC(window_size=4)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
RollingROCAUC: 75.00%\n

"},{"location":"api/metrics/RollingROCAUC/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/SMAPE/","title":"SMAPE","text":"

Symmetric mean absolute percentage error.

"},{"location":"api/metrics/SMAPE/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/SMAPE/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 0.07533, 0.07533, 0.07533, 0.07533, 0.07533, 0.07533, 0.0672, 0.0672]\ny_pred = [0, 0.102, 0.107, 0.047, 0.1, 0.032, 0.047, 0.108, 0.089]\n\nmetric = metrics.SMAPE()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
SMAPE: 37.869392\n

"},{"location":"api/metrics/SMAPE/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/Silhouette/","title":"Silhouette","text":"

Silhouette coefficient 1, roughly speaking, is the ratio between cohesion and the average distances from the points to their second-closest centroid. It rewards the clustering algorithm where points are very close to their assigned centroids and far from any other centroids, that is, clustering results with good cohesion and good separation.

It rewards clusterings where points are very close to their assigned centroids and far from any other centroids, that is clusterings with good cohesion and good separation. 2

The definition of Silhouette coefficient for online clustering evaluation is different from that of batch learning. It does not store information and calculate pairwise distances between all points at the same time, since the practice is too expensive for an incremental metric.

"},{"location":"api/metrics/Silhouette/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicates if a high value is better than a low one or not.

"},{"location":"api/metrics/Silhouette/#examples","title":"Examples","text":"

from river import cluster\nfrom river import stream\nfrom river import metrics\n\nX = [\n    [1, 2],\n    [1, 4],\n    [1, 0],\n    [4, 2],\n    [4, 4],\n    [4, 0],\n    [-2, 2],\n    [-2, 4],\n    [-2, 0]\n]\n\nk_means = cluster.KMeans(n_clusters=3, halflife=0.4, sigma=3, seed=0)\nmetric = metrics.Silhouette()\n\nfor x, _ in stream.iter_array(X):\n    k_means.learn_one(x)\n    y_pred = k_means.predict_one(x)\n    metric.update(x, y_pred, k_means.centers)\n\nmetric\n
Silhouette: 0.32145\n

"},{"location":"api/metrics/Silhouette/#methods","title":"Methods","text":"get

Return the current value of the metric.

revert

Revert the metric.

Parameters

  • x
  • y_pred
  • centers
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • x
  • y_pred
  • centers
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Rousseeuw, P. (1987). Silhouettes: a graphical aid to the intepretation and validation of cluster analysis 20, 53 - 65. DOI: 10.1016/0377-0427(87)90125-7\u00a0\u21a9

  2. Bifet, A. et al. (2018). \"Machine Learning for Data Streams\". DOI: 10.7551/mitpress/10654.001.0001.\u00a0\u21a9

"},{"location":"api/metrics/VBeta/","title":"VBeta","text":"

VBeta.

VBeta (or V-Measure) 1 is an external entropy-based cluster evaluation measure. It provides an elegant solution to many problems that affect previously defined cluster evaluation measures including

  • Dependance of clustering algorithm or dataset,

  • The \"problem of matching\", where the clustering of only a portion of data points are evaluated, and

  • Accurate evaluation and combination of two desirable aspects of clustering, homogeneity and completeness.

Based upon the calculations of homogeneity and completeness, a clustering solution's V-measure is calculated by computing the weighted harmonic mean of homogeneity and completeness,

\\[ V_{\\beta} = \\frac{(1 + \\beta) \\times h \\times c}{\\beta \\times h + c}. \\]"},{"location":"api/metrics/VBeta/#parameters","title":"Parameters","text":"
  • beta

    Type \u2192 float

    Default \u2192 1.0

    Weight of Homogeneity in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/VBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/VBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [1, 1, 2, 2, 3, 3]\ny_pred = [1, 1, 1, 2, 2, 2]\n\nmetric = metrics.VBeta(beta=1.0)\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric.get())\n
1.0\n1.0\n0.0\n0.3437110184854507\n0.4580652856440158\n0.5158037429793888\n

metric\n
VBeta: 51.58%\n

"},{"location":"api/metrics/VBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

  1. Andrew Rosenberg and Julia Hirschberg (2007). V-Measure: A conditional entropy-based external cluster evaluation measure. Proceedings of the 2007 Joing Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 410 - 420, Prague, June 2007.\u00a0\u21a9

"},{"location":"api/metrics/WeightedF1/","title":"WeightedF1","text":"

Weighted-average F1 score.

This works by computing the F1 score per class, and then performs a global weighted average by using the support of each class.

"},{"location":"api/metrics/WeightedF1/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedF1/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedF1/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedF1()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedF1: 100.00%\nWeightedF1: 33.33%\nWeightedF1: 55.56%\nWeightedF1: 66.67%\nWeightedF1: 61.33%\n

"},{"location":"api/metrics/WeightedF1/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedFBeta/","title":"WeightedFBeta","text":"

Weighted-average F-Beta score.

This works by computing the F-Beta score per class, and then performs a global weighted average according to the support of each class.

"},{"location":"api/metrics/WeightedFBeta/#parameters","title":"Parameters","text":"
  • beta

    Weight of precision in the harmonic mean.

  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedFBeta/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedFBeta/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedFBeta(beta=0.8)\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedFBeta: 100.00%\nWeightedFBeta: 31.06%\nWeightedFBeta: 54.04%\nWeightedFBeta: 65.53%\nWeightedFBeta: 62.63%\n

"},{"location":"api/metrics/WeightedFBeta/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedJaccard/","title":"WeightedJaccard","text":"

Weighted average Jaccard score.

"},{"location":"api/metrics/WeightedJaccard/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedJaccard/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedJaccard/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedJaccard()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedJaccard: 100.00%\nWeightedJaccard: 25.00%\nWeightedJaccard: 50.00%\nWeightedJaccard: 62.50%\nWeightedJaccard: 50.00%\n

"},{"location":"api/metrics/WeightedJaccard/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedPrecision/","title":"WeightedPrecision","text":"

Weighted-average precision score.

This uses the support of each label to compute an average score, whereas metrics.MacroPrecision ignores the support.

"},{"location":"api/metrics/WeightedPrecision/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedPrecision/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedPrecision/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedPrecision()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedPrecision: 100.00%\nWeightedPrecision: 25.00%\nWeightedPrecision: 50.00%\nWeightedPrecision: 62.50%\nWeightedPrecision: 70.00%\n

"},{"location":"api/metrics/WeightedPrecision/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/WeightedRecall/","title":"WeightedRecall","text":"

Weighted-average recall score.

This uses the support of each label to compute an average score, whereas MacroRecall ignores the support.

"},{"location":"api/metrics/WeightedRecall/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/WeightedRecall/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/WeightedRecall/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [0, 1, 2, 2, 2]\ny_pred = [0, 0, 2, 2, 1]\n\nmetric = metrics.WeightedRecall()\n\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n    print(metric)\n
WeightedRecall: 100.00%\nWeightedRecall: 50.00%\nWeightedRecall: 66.67%\nWeightedRecall: 75.00%\nWeightedRecall: 60.00%\n

"},{"location":"api/metrics/WeightedRecall/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/BinaryMetric/","title":"BinaryMetric","text":"

Mother class for all binary classification metrics.

"},{"location":"api/metrics/base/BinaryMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

  • pos_val

    Default \u2192 True

    Value to treat as \"positive\".

"},{"location":"api/metrics/base/BinaryMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/BinaryMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'bool'
  • y_pred \u2014 'bool | float | dict[bool, float]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/ClassificationMetric/","title":"ClassificationMetric","text":"

Mother class for all classification metrics.

"},{"location":"api/metrics/base/ClassificationMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/base/ClassificationMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/ClassificationMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/Metric/","title":"Metric","text":"

Mother class for all metrics.

"},{"location":"api/metrics/base/Metric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/Metric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred

update

Update the metric.

Parameters

  • y_true
  • y_pred

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/Metrics/","title":"Metrics","text":"

A container class for handling multiple metrics at once.

"},{"location":"api/metrics/base/Metrics/#parameters","title":"Parameters","text":"
  • metrics

  • str_sep

    Default \u2192

"},{"location":"api/metrics/base/Metrics/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/Metrics/#methods","title":"Methods","text":"is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/MultiClassMetric/","title":"MultiClassMetric","text":"

Mother class for all multi-class classification metrics.

"},{"location":"api/metrics/base/MultiClassMetric/#parameters","title":"Parameters","text":"
  • cm

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/base/MultiClassMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/MultiClassMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/RegressionMetric/","title":"RegressionMetric","text":"

Mother class for all regression metrics.

"},{"location":"api/metrics/base/RegressionMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/RegressionMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'

update

Update the metric.

Parameters

  • y_true \u2014 'numbers.Number'
  • y_pred \u2014 'numbers.Number'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/base/WrapperMetric/","title":"WrapperMetric","text":""},{"location":"api/metrics/base/WrapperMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/base/WrapperMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred

update

Update the metric.

Parameters

  • y_true
  • y_pred

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/ExactMatch/","title":"ExactMatch","text":"

Exact match score.

This is the most strict multi-label metric, defined as the number of samples that have all their labels correctly classified, divided by the total number of samples.

"},{"location":"api/metrics/multioutput/ExactMatch/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/ExactMatch/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False},\n    {0: True, 1: True, 2: False},\n]\n\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False},\n    {0: True, 1: True, 2: False},\n]\n\nmetric = metrics.multioutput.ExactMatch()\nfor yt, yp in zip(y_true, y_pred):\n    metric.update(yt, yp)\n\nmetric\n
ExactMatch: 33.33%\n

"},{"location":"api/metrics/multioutput/ExactMatch/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model

"},{"location":"api/metrics/multioutput/MacroAverage/","title":"MacroAverage","text":"

Macro-average wrapper.

A copy of the provided metric is made for each output. The arithmetic average of all the metrics is returned.

"},{"location":"api/metrics/multioutput/MacroAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/MacroAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/MacroAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/MicroAverage/","title":"MicroAverage","text":"

Micro-average wrapper.

The provided metric is updated with the value of each output.

"},{"location":"api/metrics/multioutput/MicroAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/MicroAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/MicroAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/","title":"MultiLabelConfusionMatrix","text":"

Multi-label confusion matrix.

Under the hood, this stores one metrics.ConfusionMatrix for each output.

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/#examples","title":"Examples","text":"

from river import metrics\n\ncm = metrics.multioutput.MultiLabelConfusionMatrix()\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False}\n]\n\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False}\n]\n\nfor yt, yp in zip(y_true, y_pred):\n    cm.update(yt, yp)\n\ncm\n
0\n            False   True\n    False       0      1\n     True       0      1\n<BLANKLINE>\n1\n            False   True\n    False       0      0\n     True       1      1\n<BLANKLINE>\n2\n            False   True\n    False       1      0\n     True       0      1\n

"},{"location":"api/metrics/multioutput/MultiLabelConfusionMatrix/#methods","title":"Methods","text":"revert update"},{"location":"api/metrics/multioutput/PerOutput/","title":"PerOutput","text":"

Per-output wrapper.

A copy of the metric is maintained for each output.

"},{"location":"api/metrics/multioutput/PerOutput/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/PerOutput/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/PerOutput/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/SampleAverage/","title":"SampleAverage","text":"

Sample-average wrapper.

The provided metric is evaluate on each sample. The arithmetic average over all the samples is returned. This is equivalent to using average='samples' in scikit-learn.

"},{"location":"api/metrics/multioutput/SampleAverage/#parameters","title":"Parameters","text":"
  • metric

    A classification or a regression metric.

"},{"location":"api/metrics/multioutput/SampleAverage/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • metric

    Gives access to the wrapped metric.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/SampleAverage/#examples","title":"Examples","text":"

from river import metrics\n\ny_true = [\n    {0: False, 1: True, 2: True},\n    {0: True, 1: True, 2: False}\n]\ny_pred = [\n    {0: True, 1: True, 2: True},\n    {0: True, 1: False, 2: False}\n]\n\nsample_jaccard = metrics.multioutput.SampleAverage(metrics.Jaccard())\n\nfor yt, yp in zip(y_true, y_pred):\n    sample_jaccard.update(yt, yp)\n\nsample_jaccard\n
SampleAverage(Jaccard): 58.33%\n

"},{"location":"api/metrics/multioutput/SampleAverage/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/","title":"MultiOutputClassificationMetric","text":"

Mother class for all multi-output classification metrics.

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#parameters","title":"Parameters","text":"
  • cm

    Type \u2192 MultiLabelConfusionMatrix | None

    Default \u2192 None

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/base/MultiOutputClassificationMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, base.typing.ClfTarget]'
  • y_pred \u2014 'dict[str | int, base.typing.ClfTarget] | dict[str | int, dict[base.typing.ClfTarget, float]]'
  • w \u2014 defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/","title":"MultiOutputRegressionMetric","text":"

Mother class for all multi-output regression metrics.

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/#attributes","title":"Attributes","text":"
  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

"},{"location":"api/metrics/multioutput/base/MultiOutputRegressionMetric/#methods","title":"Methods","text":"get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true \u2014 'dict[str | int, float | int]'
  • y_pred \u2014 'dict[str | int, float | int]'

update

Update the metric.

Parameters

  • y_true \u2014 'dict[str | int, float | int]'
  • y_pred \u2014 'dict[str | int, float | int]'

works_with

Indicates whether or not a metric can work with a given model.

Parameters

  • model \u2014 'base.Estimator'

"},{"location":"api/misc/SDFT/","title":"SDFT","text":"

Sliding Discrete Fourier Transform (SDFT).

Initially, the coefficients are all equal to 0, up until enough values have been seen. A call to numpy.fft.fft is triggered once window_size values have been seen. Subsequent values will update the coefficients online. This is much faster than recomputing an FFT from scratch for every new value.

"},{"location":"api/misc/SDFT/#parameters","title":"Parameters","text":"
  • window_size

    The size of the window.

"},{"location":"api/misc/SDFT/#attributes","title":"Attributes","text":"
  • window_size
"},{"location":"api/misc/SDFT/#examples","title":"Examples","text":"
import numpy as np\nfrom river import misc\n\nX = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n\nwindow_size = 5\nsdft = misc.SDFT(window_size)\n\nfor i, x in enumerate(X):\n    sdft.update(x)\n    if i + 1 >= window_size:\n        assert np.allclose(sdft.coefficients, np.fft.fft(X[i+1 - window_size:i+1]))\n
"},{"location":"api/misc/SDFT/#methods","title":"Methods","text":"update
  1. Jacobsen, E. asample_average.pynd Lyons, R., 2003. The sliding DFT. IEEE Signal Processing Magazine, 20(2), pp.74-80. \u21a9

  2. Understanding and Implementing the Sliding DFT \u21a9

"},{"location":"api/misc/Skyline/","title":"Skyline","text":"

A skyline is set of points which is not dominated by any other point.

This implementation uses a block nested loop. Identical observations are all part of the skyline if applicable.

"},{"location":"api/misc/Skyline/#parameters","title":"Parameters","text":"
  • minimize

    Type \u2192 list | None

    Default \u2192 None

    A list of features for which the values need to be minimized. Can be omitted as long as maximize is specified.

  • maximize

    Type \u2192 list | None

    Default \u2192 None

    A list of features for which the values need to be maximized. Can be omitted as long as minimize is specified.

"},{"location":"api/misc/Skyline/#examples","title":"Examples","text":"

Here is an example taken from this blog post.

import random\nfrom river import misc\n\ncity_prices = {\n    'Bordeaux': 4045,\n    'Lyon': 4547,\n    'Toulouse': 3278\n}\n\ndef random_house():\n    city = random.choice(['Bordeaux', 'Lyon', 'Toulouse'])\n    size = round(random.gauss(200, 50))\n    price = round(random.uniform(0.8, 1.2) * city_prices[city] * size)\n    return {'city': city, 'size': size, 'price': price}\n\nskyline = misc.Skyline(minimize=['price'], maximize=['size'])\n\nrandom.seed(42)\n\nfor _ in range(100):\n    house = random_house()\n    skyline.update(house)\n\nprint(len(skyline))\n
13\n

print(skyline[0])\n
{'city': 'Toulouse', 'size': 280, 'price': 763202}\n

Here is another example using the kart data from Mario Kart: Double Dash!!.

import collections\nfrom river import misc\n\nKart = collections.namedtuple(\n     'Kart',\n     'name speed off_road acceleration weight turbo'\n)\n\nkarts = [\n    Kart('Red Fire', 5, 4, 4, 5, 2),\n    Kart('Green Fire', 7, 3, 3, 4, 2),\n    Kart('Heart Coach', 4, 6, 6, 5, 2),\n    Kart('Bloom Coach', 6, 4, 5, 3, 2),\n    Kart('Turbo Yoshi', 4, 5, 6, 6, 2),\n    Kart('Turbo Birdo', 6, 4, 4, 7, 2),\n    Kart('Goo-Goo Buggy', 1, 9, 9, 2, 3),\n    Kart('Rattle Buggy', 2, 9, 8, 2, 3),\n    Kart('Toad Kart', 3, 9, 7, 2, 3),\n    Kart('Toadette Kart', 1, 9, 9, 2, 3),\n    Kart('Koopa Dasher', 2, 8, 8, 3, 3),\n    Kart('Para-Wing', 1, 8, 9, 3, 3),\n    Kart('DK Jumbo', 8, 2, 2, 8, 1),\n    Kart('Barrel Train', 8, 7, 3, 5, 3),\n    Kart('Koopa King', 9, 1, 1, 9, 1),\n    Kart('Bullet Blaster', 8, 1, 4, 1, 3),\n    Kart('Wario Car', 7, 3, 3, 7, 1),\n    Kart('Waluigi Racer', 5, 9, 5, 6, 2),\n    Kart('Piranha Pipes', 8, 7, 2, 9, 1),\n    Kart('Boo Pipes', 2, 9, 8, 9, 1),\n    Kart('Parade Kart', 7, 3, 4, 7, 3)\n]\n\nskyline = misc.Skyline(\n    maximize=['speed', 'off_road', 'acceleration', 'turbo'],\n    minimize=['weight']\n)\n\nfor kart in karts:\n    skyline.update(kart._asdict())\n\nbest_cart_names = [kart['name'] for kart in skyline]\nfor name in best_cart_names:\n    print(f'- {name}')\n
- Green Fire\n- Heart Coach\n- Bloom Coach\n- Goo-Goo Buggy\n- Rattle Buggy\n- Toad Kart\n- Toadette Kart\n- Barrel Train\n- Koopa King\n- Bullet Blaster\n- Waluigi Racer\n- Parade Kart\n

for name in sorted(set(kart.name for kart in karts) - set(best_cart_names)):\n    print(f'- {name}')\n
- Boo Pipes\n- DK Jumbo\n- Koopa Dasher\n- Para-Wing\n- Piranha Pipes\n- Red Fire\n- Turbo Birdo\n- Turbo Yoshi\n- Wario Car\n

"},{"location":"api/misc/Skyline/#methods","title":"Methods","text":"
  1. Skyline queries in Python \u21a9

  2. Borzsony, S., Kossmann, D. and Stocker, K., 2001, April. The skyline operator. In Proceedings 17th international conference on data engineering (pp. 421-430). IEEE. \u21a9

  3. Tao, Y. and Papadias, D., 2006. Maintaining sliding window skylines on data streams. IEEE Transactions on Knowledge and Data Engineering, 18(3), pp.377-391. \u21a9

"},{"location":"api/model-selection/BanditClassifier/","title":"BanditClassifier","text":"

Bandit-based model selection for classification.

Each model is associated with an arm. At each learn_one call, the policy decides which arm/model to pull. The reward is the performance of the model on the provided sample. The predict_one and predict_proba_one methods use the current best model.

"},{"location":"api/model-selection/BanditClassifier/#parameters","title":"Parameters","text":"
  • models

    The models to select from.

  • metric

    Type \u2192 metrics.base.ClassificationMetric

    The metric that is used to measure the performance of each model.

  • policy

    Type \u2192 bandit.base.Policy

    The bandit policy to use.

"},{"location":"api/model-selection/BanditClassifier/#attributes","title":"Attributes","text":"
  • best_model

  • models

"},{"location":"api/model-selection/BanditClassifier/#examples","title":"Examples","text":"

from river import bandit\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LogisticRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\ndataset = datasets.Phishing()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.BanditClassifier(\n        models,\n        metric=metrics.Accuracy(),\n        policy=bandit.EpsilonGreedy(\n            epsilon=0.1,\n            decay=0.001,\n            burn_in=20,\n            seed=42\n        )\n    )\n)\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 88.96%\n

"},{"location":"api/model-selection/BanditClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/model-selection/BanditRegressor/","title":"BanditRegressor","text":"

Bandit-based model selection for regression.

Each model is associated with an arm. At each learn_one call, the policy decides which arm/model to pull. The reward is the performance of the model on the provided sample. The predict_one method uses the current best model.

"},{"location":"api/model-selection/BanditRegressor/#parameters","title":"Parameters","text":"
  • models

    The models to select from.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    The metric that is used to measure the performance of each model.

  • policy

    Type \u2192 bandit.base.Policy

    The bandit policy to use.

"},{"location":"api/model-selection/BanditRegressor/#attributes","title":"Attributes","text":"
  • best_model

  • models

"},{"location":"api/model-selection/BanditRegressor/#examples","title":"Examples","text":"

from river import bandit\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.BanditRegressor(\n        models,\n        metric=metrics.MAE(),\n        policy=bandit.EpsilonGreedy(\n            epsilon=0.1,\n            decay=0.001,\n            burn_in=100,\n            seed=42\n        )\n    )\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 3.134089\n

Here's another example using the UCB policy. The latter is more sensitive to the target scale, and usually works better when the target is rescaled.

models = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [0.0001, 0.001, 1e-05, 0.01]\n]\n\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetStandardScaler(\n        model_selection.BanditRegressor(\n            models,\n            metric=metrics.MAE(),\n            policy=bandit.UCB(\n                delta=1,\n                burn_in=100\n            )\n        )\n    )\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.875333\n

"},{"location":"api/model-selection/BanditRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/model-selection/GreedyRegressor/","title":"GreedyRegressor","text":"

Greedy selection regressor.

This selection method simply updates each model at each time step. The current best model is used to make predictions. It's greedy in the sense that updating each model can be costly. On the other hand, bandit-like algorithms are more temperate in that only update a subset of the models at each step.

"},{"location":"api/model-selection/GreedyRegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 list[base.Regressor]

    The models to select from.

  • metric

    Type \u2192 metrics.base.RegressionMetric | None

    Default \u2192 None

    The metric that is used to measure the performance of each model.

"},{"location":"api/model-selection/GreedyRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/GreedyRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import model_selection\nfrom river import optim\nfrom river import preprocessing\n\nmodels = [\n    linear_model.LinearRegression(optimizer=optim.SGD(lr=lr))\n    for lr in [1e-5, 1e-4, 1e-3, 1e-2]\n]\n\ndataset = datasets.TrumpApproval()\nmetric = metrics.MAE()\nmodel = (\n    preprocessing.StandardScaler() |\n    model_selection.GreedyRegressor(models, metric)\n)\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.319678\n

"},{"location":"api/model-selection/GreedyRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/","title":"SuccessiveHalvingClassifier","text":"

Successive halving algorithm for classification.

Successive halving is a method for performing model selection without having to train each model on all the dataset. At certain points in time (called \"rungs\"), the worst performing will be discarded and the best ones will keep competing between each other. The rung values are designed so that at most budget model updates will be performed in total.

If you have k combinations of hyperparameters and that your dataset contains n observations, then the maximal budget you can allocate is:

\\[\\frac{2kn}{eta}\\]

It is recommended that you check this beforehand. This bound can't be checked by the function because the size of the dataset is not known. In fact it is potentially infinite, in which case the algorithm will terminate once all the budget has been spent.

If you have a budget of B, and that your dataset contains n observations, then the number of hyperparameter combinations that will spend all the budget and go through all the data is:

\\[\\left\\lceil\\left\\lfloor\\frac{B}{2n}\\right\\rfloor \\times eta \\right\\rceil\\]"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#parameters","title":"Parameters","text":"
  • models

    The models to compare.

  • metric

    Type \u2192 metrics.base.Metric

    Metric used for comparing models with.

  • budget

    Type \u2192 int

    Total number of model updates you wish to allocate.

  • eta

    Default \u2192 2

    Rate of elimination. At every rung, math.ceil(k / eta) models are kept, where k is the number of models that have reached the rung. A higher eta value will focus on less models but will allocate more iterations to the best models.

  • verbose

    Default \u2192 False

    Whether to display progress or not.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#examples","title":"Examples","text":"

As an example, let's use successive halving to tune the optimizer of a logistic regression. We'll first define the model.

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n

Let's now define a grid of parameters which we would like to compare. We'll try different optimizers with various learning rates.

from river import utils\nfrom river import optim\n\nmodels = utils.expand_param_grid(model, {\n    'LogisticRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01, .005]}),\n            (optim.Adam, {'beta_1': [.01, .001], 'lr': [.1, .01, .001]}),\n            (optim.Adam, {'beta_1': [.1], 'lr': [.001]}),\n        ]\n    }\n})\n

We can check how many models we've created.

len(models)\n
10\n

We can now pass these models to a SuccessiveHalvingClassifier. We also need to pick a metric to compare the models, and a budget which indicates how many iterations to run before picking the best model and discarding the rest.

from river import model_selection\n\nsh = model_selection.SuccessiveHalvingClassifier(\n    models,\n    metric=metrics.Accuracy(),\n    budget=2000,\n    eta=2,\n    verbose=True\n)\n

A SuccessiveHalvingClassifier is also a classifier with a learn_one and a predict_proba_one method. We can therefore evaluate it like any other classifier with evaluate.progressive_val_score.

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    dataset=datasets.Phishing(),\n    model=sh,\n    metric=metrics.ROCAUC()\n)\n
[1] 5 removed       5 left  50 iterations   budget used: 500        budget left: 1500       best Accuracy: 80.00%\n[2] 2 removed       3 left  100 iterations  budget used: 1000       budget left: 1000       best Accuracy: 84.00%\n[3] 1 removed       2 left  166 iterations  budget used: 1498       budget left: 502        best Accuracy: 86.14%\n[4] 1 removed       1 left  250 iterations  budget used: 1998       budget left: 2  best Accuracy: 84.80%\nROCAUC: 95.22%\n

We can now view the best model.

sh.best_model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LogisticRegression (\n    optimizer=Adam (\n      lr=Constant (\n        learning_rate=0.01\n      )\n      beta_1=0.01\n      beta_2=0.999\n      eps=1e-08\n    )\n    loss=Log (\n      weight_pos=1.\n      weight_neg=1.\n    )\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

"},{"location":"api/model-selection/SuccessiveHalvingClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

  1. Jamieson, K. and Talwalkar, A., 2016, May. Non-stochastic best arm identification and hyperparameter optimization. In Artificial Intelligence and Statistics (pp. 240-248). \u21a9

  2. Li, L., Jamieson, K., Rostamizadeh, A., Gonina, E., Hardt, M., Recht, B. and Talwalkar, A., 2018. Massively parallel hyperparameter tuning. arXiv preprint arXiv:1810.05934. \u21a9

  3. Li, L., Jamieson, K., DeSalvo, G., Rostamizadeh, A. and Talwalkar, A., 2017. Hyperband: A novel bandit-based approach to hyperparameter optimization. The Journal of Machine Learning Research, 18(1), pp.6765-6816. \u21a9

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/","title":"SuccessiveHalvingRegressor","text":"

Successive halving algorithm for regression.

Successive halving is a method for performing model selection without having to train each model on all the dataset. At certain points in time (called \"rungs\"), the worst performing will be discarded and the best ones will keep competing between each other. The rung values are designed so that at most budget model updates will be performed in total.

If you have k combinations of hyperparameters and that your dataset contains n observations, then the maximal budget you can allocate is:

\\[\\frac{2kn}{eta}\\]

It is recommended that you check this beforehand. This bound can't be checked by the function because the size of the dataset is not known. In fact it is potentially infinite, in which case the algorithm will terminate once all the budget has been spent.

If you have a budget of B, and that your dataset contains n observations, then the number of hyperparameter combinations that will spend all the budget and go through all the data is:

\\[\\left\\lceil\\left\\lfloor\\frac{B}{2n}\\right\\rfloor \\times eta \\right\\rceil\\]"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#parameters","title":"Parameters","text":"
  • models

    The models to compare.

  • metric

    Type \u2192 metrics.base.Metric

    Metric used for comparing models with.

  • budget

    Type \u2192 int

    Total number of model updates you wish to allocate.

  • eta

    Default \u2192 2

    Rate of elimination. At every rung, math.ceil(k / eta) models are kept, where k is the number of models that have reached the rung. A higher eta value will focus on less models but will allocate more iterations to the best models.

  • verbose

    Default \u2192 False

    Whether to display progress or not.

  • print_kwargs

    Extra keyword arguments are passed to the print function. For instance, this allows providing a file argument, which indicates where to output progress.

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#examples","title":"Examples","text":"

As an example, let's use successive halving to tune the optimizer of a linear regression. We'll first define the model.

from river import linear_model\nfrom river import preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(intercept_lr=.1)\n)\n

Let's now define a grid of parameters which we would like to compare. We'll try different optimizers with various learning rates.

from river import optim\nfrom river import utils\n\nmodels = utils.expand_param_grid(model, {\n    'LinearRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01, .005]}),\n            (optim.Adam, {'beta_1': [.01, .001], 'lr': [.1, .01, .001]}),\n            (optim.Adam, {'beta_1': [.1], 'lr': [.001]}),\n        ]\n    }\n})\n

We can check how many models we've created.

len(models)\n
10\n

We can now pass these models to a SuccessiveHalvingRegressor. We also need to pick a metric to compare the models, and a budget which indicates how many iterations to run before picking the best model and discarding the rest.

from river import model_selection\n\nsh = model_selection.SuccessiveHalvingRegressor(\n    models,\n    metric=metrics.MAE(),\n    budget=2000,\n    eta=2,\n    verbose=True\n)\n

A SuccessiveHalvingRegressor is also a regressor with a learn_one and a predict_one method. We can therefore evaluate it like any other classifier with evaluate.progressive_val_score.

from river import datasets\nfrom river import evaluate\nfrom river import metrics\n\nevaluate.progressive_val_score(\n    dataset=datasets.TrumpApproval(),\n    model=sh,\n    metric=metrics.MAE()\n)\n
[1] 5 removed       5 left  50 iterations   budget used: 500        budget left: 1500       best MAE: 4.419643\n[2] 2 removed       3 left  100 iterations  budget used: 1000       budget left: 1000       best MAE: 2.392266\n[3] 1 removed       2 left  166 iterations  budget used: 1498       budget left: 502        best MAE: 1.541383\n[4] 1 removed       1 left  250 iterations  budget used: 1998       budget left: 2  best MAE: 1.112122\nMAE: 0.490688\n

We can now view the best model.

sh.best_model\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=Adam (\n      lr=Constant (\n        learning_rate=0.1\n      )\n      beta_1=0.01\n      beta_2=0.999\n      eps=1e-08\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.1\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

"},{"location":"api/model-selection/SuccessiveHalvingRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

  1. Jamieson, K. and Talwalkar, A., 2016, May. Non-stochastic best arm identification and hyperparameter optimization. In Artificial Intelligence and Statistics (pp. 240-248). \u21a9

  2. Li, L., Jamieson, K., Rostamizadeh, A., Gonina, E., Hardt, M., Recht, B. and Talwalkar, A., 2018. Massively parallel hyperparameter tuning. arXiv preprint arXiv:1810.05934. \u21a9

  3. Li, L., Jamieson, K., DeSalvo, G., Rostamizadeh, A. and Talwalkar, A., 2017. Hyperband: A novel bandit-based approach to hyperparameter optimization. The Journal of Machine Learning Research, 18(1), pp.6765-6816. \u21a9

"},{"location":"api/model-selection/base/ModelSelectionClassifier/","title":"ModelSelectionClassifier","text":"

A model selector for classification.

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[base.Estimator]

  • metric

    Type \u2192 metrics.base.Metric

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/base/ModelSelectionClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/model-selection/base/ModelSelectionRegressor/","title":"ModelSelectionRegressor","text":"

A model selector for regression.

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#parameters","title":"Parameters","text":"
  • models

    Type \u2192 Iterator[base.Estimator]

  • metric

    Type \u2192 metrics.base.Metric

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#attributes","title":"Attributes","text":"
  • best_model

    The current best model.

  • models

"},{"location":"api/model-selection/base/ModelSelectionRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/multiclass/OneVsOneClassifier/","title":"OneVsOneClassifier","text":"

One-vs-One (OvO) multiclass strategy.

This strategy consists in fitting one binary classifier for each pair of classes. Because we are in a streaming context, the number of classes isn't known from the start, hence new classifiers are instantiated on the fly.

The number of classifiers is k * (k - 1) / 2, where k is the number of classes. However, each call to learn_one only requires training k - 1 models. Indeed, only the models that pertain to the given label have to be trained. Meanwhile, making a prediction requires going through each and every model.

"},{"location":"api/multiclass/OneVsOneClassifier/#parameters","title":"Parameters","text":"
  • classifier

    A binary classifier, although a multi-class classifier will work too.

"},{"location":"api/multiclass/OneVsOneClassifier/#attributes","title":"Attributes","text":"
  • classifiers (dict)

    A mapping between pairs of classes and classifiers. The keys are tuples which contain a pair of classes. Each pair is sorted in lexicographical order.

"},{"location":"api/multiclass/OneVsOneClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\novo = multiclass.OneVsOneClassifier(linear_model.LogisticRegression())\nmodel = scaler | ovo\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 80.76%\n

"},{"location":"api/multiclass/OneVsOneClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/multiclass/OneVsRestClassifier/","title":"OneVsRestClassifier","text":"

One-vs-the-rest (OvR) multiclass strategy.

This strategy consists in fitting one binary classifier per class. Because we are in a streaming context, the number of classes isn't known from the start. Hence, new classifiers are instantiated on the fly. Likewise, the predicted probabilities will only include the classes seen up to a given point in time.

Note that this classifier supports mini-batches as well as single instances.

The computational complexity for both learning and predicting grows linearly with the number of classes. If you have a very large number of classes, then you might want to consider using an multiclass.OutputCodeClassifier instead.

"},{"location":"api/multiclass/OneVsRestClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    A binary classifier, although a multi-class classifier will work too.

"},{"location":"api/multiclass/OneVsRestClassifier/#attributes","title":"Attributes","text":"
  • classifiers (dict)

    A mapping between classes and classifiers.

"},{"location":"api/multiclass/OneVsRestClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\novr = multiclass.OneVsRestClassifier(linear_model.LogisticRegression())\nmodel = scaler | ovr\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 77.46%\n

This estimator also also supports mini-batching.

for X in pd.read_csv(dataset.path, chunksize=64):\n    y = X.pop('category')\n    y_pred = model.predict_many(X)\n    model.learn_many(X, y)\n
"},{"location":"api/multiclass/OneVsRestClassifier/#methods","title":"Methods","text":"learn_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_many predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

"},{"location":"api/multiclass/OutputCodeClassifier/","title":"OutputCodeClassifier","text":"

Output-code multiclass strategy.

This also referred to as \"error-correcting output codes\".

This class allows to learn a multi-class classification problem with a binary classifier. Each class is converted to a code of 0s and 1s. The length of the code is called the code size. A copy of the classifier made for code. The codes associated with the classes are stored in a code book.

When a new sample arrives, the label's code is retrieved from the code book. Then, each classifier is trained on the relevant part of code, which is either a 0 or a 1.

For predicting, each classifier outputs a probability. These are then compared to each code in the code book, and the label which is the \"closest\" is chosen as the most likely class. Closeness is determined in terms of Manhattan distance.

One specificity of online learning is that we don't how many classes there are initially. Therefore, a random procedure generates random codes on the fly whenever a previously unseed label appears.

"},{"location":"api/multiclass/OutputCodeClassifier/#parameters","title":"Parameters","text":"
  • classifier

    Type \u2192 base.Classifier

    A binary classifier, although a multi-class classifier will work too.

  • code_size

    Type \u2192 int

    The code size, which dictates how many copies of the provided classifiers to train. Must be strictly positive.

  • coding_method

    Type \u2192 str

    Default \u2192 random

    The method used to generate the codes. Can be either 'exact' or 'random'. The 'exact' method generates all possible codes of a given size in memory, and streams them in a random order. The 'random' method generates random codes of a given size on the fly. The 'exact' method necessarily generates different codes for each class, but requires more memory. The 'random' method can generate duplicate codes for different classes, but requires less memory.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    A random seed number that can be set for reproducibility.

"},{"location":"api/multiclass/OutputCodeClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multiclass\nfrom river import preprocessing\n\ndataset = datasets.ImageSegments()\n\nscaler = preprocessing.StandardScaler()\nooc = multiclass.OutputCodeClassifier(\n    classifier=linear_model.LogisticRegression(),\n    code_size=10,\n    coding_method='random',\n    seed=1\n)\nmodel = scaler | ooc\n\nmetric = metrics.MacroF1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MacroF1: 79.58%\n

"},{"location":"api/multiclass/OutputCodeClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the label of a set of features x.

Parameters

  • x
  • kwargs

Returns

The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Dietterich, T.G. and Bakiri, G., 1994. Solving multiclass learning problems via error-correcting output codes. Journal of artificial intelligence research, 2, pp.263-286. \u21a9

  2. James, G. and Hastie, T., 1998. The error coding method and PICTs. Journal of Computational and Graphical statistics, 7(3), pp.377-387. \u21a9

"},{"location":"api/multioutput/ClassifierChain/","title":"ClassifierChain","text":"

A multi-output model that arranges classifiers into a chain.

This will create one model per output. The prediction of the first output will be used as a feature in the second model. The prediction for the second output will be used as a feature for the third model, etc. This \"chain model\" is therefore capable of capturing dependencies between outputs.

"},{"location":"api/multioutput/ClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    A classifier model used for each label.

  • order

    Type \u2192 list | None

    Default \u2192 None

    A list with the targets order in which to construct the chain. If None then the order will be inferred from the order of the keys in the target.

"},{"location":"api/multioutput/ClassifierChain/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river import stream\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.fetch_openml('yeast', version=4, parser='auto', as_frame=False),\n    shuffle=True,\n    seed=42\n)\n\nmodel = feature_selection.VarianceThreshold(threshold=0.01)\nmodel |= preprocessing.StandardScaler()\nmodel |= multioutput.ClassifierChain(\n    model=linear_model.LogisticRegression(),\n    order=list(range(14))\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n    # Convert y values to booleans\n    y = {i: yi == 'TRUE' for i, yi in y.items()}\n    y_pred = model.predict_one(x)\n    metric.update(y, y_pred)\n    model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 41.81%\n

"},{"location":"api/multioutput/ClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Multi-Output Chain Models and their Application in Data Streams \u21a9

"},{"location":"api/multioutput/MonteCarloClassifierChain/","title":"MonteCarloClassifierChain","text":"

Monte Carlo Sampling Classifier Chains.

Probabilistic Classifier Chains using Monte Carlo sampling, as described in 1.

m samples are taken from the posterior distribution. Therefore we need a probabilistic interpretation of the output, and thus, this is a particular variety of ProbabilisticClassifierChain.

"},{"location":"api/multioutput/MonteCarloClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

  • m

    Type \u2192 int

    Default \u2192 10

    Number of samples to take from the posterior distribution.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/multioutput/MonteCarloClassifierChain/#examples","title":"Examples","text":"

from river import feature_selection\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.MonteCarloClassifierChain(\n    model=linear_model.LogisticRegression(),\n    m=10,\n    seed=42\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 51.79%\n

"},{"location":"api/multioutput/MonteCarloClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Read, J., Martino, L., & Luengo, D. (2014). Efficient monte carlo methods for multi-dimensional learning with classifier chains. Pattern Recognition, 47(3), 1535-1546.\u00a0\u21a9

"},{"location":"api/multioutput/MultiClassEncoder/","title":"MultiClassEncoder","text":"

Convert a multi-label task into multiclass.

Assigns a class to each unique combination of labels, and proceeds with training the supplied multi-class classifier.

The transformation is done by converting the label set, which could be seen as a binary number, into an integer representing a class. At prediction time, the predicted integer is converted back to a binary number which is the predicted label set.

"},{"location":"api/multioutput/MultiClassEncoder/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

    The classifier used for learning.

"},{"location":"api/multioutput/MultiClassEncoder/#examples","title":"Examples","text":"

from river import forest\nfrom river import metrics\nfrom river import multioutput\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.MultiClassEncoder(\n    model=forest.ARFClassifier(seed=7)\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 95.10%\n

"},{"location":"api/multioutput/MultiClassEncoder/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'dict[FeatureName, bool]'

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, dict[bool, float]]: A dictionary that associates a probability which each label.

"},{"location":"api/multioutput/ProbabilisticClassifierChain/","title":"ProbabilisticClassifierChain","text":"

Probabilistic Classifier Chains.

The Probabilistic Classifier Chains (PCC) 1 is a Bayes-optimal method based on the Classifier Chains (CC).

Consider the concept of chaining classifiers as searching a path in a binary tree whose leaf nodes are associated with a label \\(y \\in Y\\). While CC searches only a single path in the aforementioned binary tree, PCC looks at each of the \\(2^l\\) paths, where \\(l\\) is the number of labels. This limits the applicability of the method to data sets with a small to moderate number of labels. The authors recommend no more than about 15 labels for real-world applications.

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Classifier

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#examples","title":"Examples","text":"

from river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river.datasets import synth\n\ndataset = synth.Logical(seed=42, n_tiles=100)\n\nmodel = multioutput.ProbabilisticClassifierChain(\n    model=linear_model.LogisticRegression()\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.Jaccard())\n\nfor x, y in dataset:\n   y_pred = model.predict_one(x)\n   y_pred = {k: y_pred.get(k, 0) for k in y}\n   metric.update(y, y_pred)\n   model.learn_one(x, y)\n\nmetric\n
MicroAverage(Jaccard): 51.84%\n

"},{"location":"api/multioutput/ProbabilisticClassifierChain/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the labels of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[FeatureName, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

  1. Cheng, W., H\u00fcllermeier, E., & Dembczynski, K. J. (2010). Bayes optimal multilabel classification via probabilistic classifier chains. In Proceedings of the 27th international conference on machine learning (ICML-10) (pp. 279-286).\u00a0\u21a9

"},{"location":"api/multioutput/RegressorChain/","title":"RegressorChain","text":"

A multi-output model that arranges regressors into a chain.

This will create one model per output. The prediction of the first output will be used as a feature in the second output. The prediction for the second output will be used as a feature for the third, etc. This \"chain model\" is therefore capable of capturing dependencies between outputs.

"},{"location":"api/multioutput/RegressorChain/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Regressor

    The regression model used to make predictions for each target.

  • order

    Type \u2192 list | None

    Default \u2192 None

    A list with the targets order in which to construct the chain. If None then the order will be inferred from the order of the keys in the target.

"},{"location":"api/multioutput/RegressorChain/#examples","title":"Examples","text":"

from river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import multioutput\nfrom river import preprocessing\nfrom river import stream\n\nfrom sklearn import datasets\n\ndataset = stream.iter_sklearn_dataset(\n    dataset=datasets.load_linnerud(),\n    shuffle=True,\n    seed=42\n)\n\nmodel = multioutput.RegressorChain(\n    model=(\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression(intercept_lr=0.3)\n    ),\n    order=[0, 1, 2]\n)\n\nmetric = metrics.multioutput.MicroAverage(metrics.MAE())\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MicroAverage(MAE): 12.733525\n

"},{"location":"api/multioutput/RegressorChain/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the outputs of features x.

Parameters

  • x
  • kwargs

Returns

The predictions.

"},{"location":"api/naive-bayes/BernoulliNB/","title":"BernoulliNB","text":"

Bernoulli Naive Bayes.

Bernoulli Naive Bayes model learns from occurrences between features such as word counts and discrete classes. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/BernoulliNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

  • true_threshold

    Default \u2192 0.0

    Threshold for binarizing (mapping to booleans) features.

"},{"location":"api/naive-bayes/BernoulliNB/#attributes","title":"Attributes","text":"
  • class_counts (collections.Counter)

    Number of times each class has been seen.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

"},{"location":"api/naive-bayes/BernoulliNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"yes\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.BernoulliNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.75\n
model[\"nb\"].p_class(\"no\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.883..., 'no': 0.116...}\n

model.predict_one(\"test\")\n
'yes'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"yes\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.BernoulliNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
         no       yes\n0  0.116846  0.883154\n1  0.047269  0.952731\n

model.predict_many(unseen)\n
0    yes\n1    yes\ndtype: object\n

"},{"location":"api/naive-bayes/BernoulliNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many p_feature_given_class predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. The Bernoulli model \u21a9

"},{"location":"api/naive-bayes/ComplementNB/","title":"ComplementNB","text":"

Naive Bayes classifier for multinomial models.

Complement Naive Bayes model learns from occurrences between features such as word counts and discrete classes. ComplementNB is suitable for imbalance dataset. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/ComplementNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

"},{"location":"api/naive-bayes/ComplementNB/#attributes","title":"Attributes","text":"
  • class_dist (proba.Multinomial)

    Class prior probability distribution.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

  • class_totals (collections.Counter)

    Total frequencies per class.

"},{"location":"api/naive-bayes/ComplementNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"maybe\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.ComplementNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.5\n

model[\"nb\"].p_class(\"no\")\n
0.25\n

model[\"nb\"].p_class(\"maybe\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.275, 'maybe': 0.375, 'no': 0.35}\n

model.predict_one(\"test\")\n
'maybe'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"maybe\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.ComplementNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
      maybe        no       yes\n0  0.415129  0.361624  0.223247\n1  0.248619  0.216575  0.534807\n

model.predict_many(unseen)\n
0    maybe\n1      yes\ndtype: object\n

"},{"location":"api/naive-bayes/ComplementNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. Rennie, J.D., Shih, L., Teevan, J. and Karger, D.R., 2003. Tackling the poor assumptions of naive bayes text classifiers. In Proceedings of the 20th international conference on machine learning (ICML-03) (pp. 616-623) \u21a9

  2. StackExchange discussion \u21a9

"},{"location":"api/naive-bayes/GaussianNB/","title":"GaussianNB","text":"

Gaussian Naive Bayes.

A Gaussian distribution \\(G_{cf}\\) is maintained for each class \\(c\\) and each feature \\(f\\). Each Gaussian is updated using the amount associated with each feature; the details can be be found in proba.Gaussian. The joint log-likelihood is then obtained by summing the log probabilities of each feature associated with each class.

"},{"location":"api/naive-bayes/GaussianNB/#examples","title":"Examples","text":"

from river import naive_bayes\nfrom river import stream\nimport numpy as np\n\nX = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])\nY = np.array([1, 1, 1, 2, 2, 2])\n\nmodel = naive_bayes.GaussianNB()\n\nfor x, y in stream.iter_array(X, Y):\n    model.learn_one(x, y)\n\nmodel.predict_one({0: -0.8, 1: -1})\n
1\n

"},{"location":"api/naive-bayes/GaussianNB/#methods","title":"Methods","text":"joint_log_likelihood joint_log_likelihood_many learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

"},{"location":"api/naive-bayes/MultinomialNB/","title":"MultinomialNB","text":"

Naive Bayes classifier for multinomial models.

Multinomial Naive Bayes model learns from occurrences between features such as word counts and discrete classes. The input vector must contain positive values, such as counts or TF-IDF values.

"},{"location":"api/naive-bayes/MultinomialNB/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 1.0

    Additive (Laplace/Lidstone) smoothing parameter (use 0 for no smoothing).

"},{"location":"api/naive-bayes/MultinomialNB/#attributes","title":"Attributes","text":"
  • class_dist (proba.Multinomial)

    Class prior probability distribution.

  • feature_counts (collections.defaultdict)

    Total frequencies per feature and class.

  • class_totals (collections.Counter)

    Total frequencies per class.

"},{"location":"api/naive-bayes/MultinomialNB/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import compose\nfrom river import feature_extraction\nfrom river import naive_bayes\n\ndocs = [\n    (\"Chinese Beijing Chinese\", \"yes\"),\n    (\"Chinese Chinese Shanghai\", \"yes\"),\n    (\"Chinese Macao\", \"maybe\"),\n    (\"Tokyo Japan Chinese\", \"no\")\n]\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.MultinomialNB(alpha=1))\n)\n\nfor sentence, label in docs:\n    model.learn_one(sentence, label)\n\nmodel[\"nb\"].p_class(\"yes\")\n
0.5\n

model[\"nb\"].p_class(\"no\")\n
0.25\n

model[\"nb\"].p_class(\"maybe\")\n
0.25\n

model.predict_proba_one(\"test\")\n
{'yes': 0.413, 'maybe': 0.310, 'no': 0.275}\n

model.predict_one(\"test\")\n
'yes'\n

You can train the model and make predictions in mini-batch mode using the class methods learn_many and predict_many.

df_docs = pd.DataFrame(docs, columns = [\"docs\", \"y\"])\n\nX = pd.Series([\n   \"Chinese Beijing Chinese\",\n   \"Chinese Chinese Shanghai\",\n   \"Chinese Macao\",\n   \"Tokyo Japan Chinese\"\n])\n\ny = pd.Series([\"yes\", \"yes\", \"maybe\", \"no\"])\n\nmodel = compose.Pipeline(\n    (\"tokenize\", feature_extraction.BagOfWords(lowercase=False)),\n    (\"nb\", naive_bayes.MultinomialNB(alpha=1))\n)\n\nmodel.learn_many(X, y)\n\nunseen = pd.Series([\"Taiwanese Taipei\", \"Chinese Shanghai\"])\n\nmodel.predict_proba_many(unseen)\n
      maybe        no       yes\n0  0.373272  0.294931  0.331797\n1  0.160396  0.126733  0.712871\n

model.predict_many(unseen)\n
0    maybe\n1      yes\ndtype: object\n

"},{"location":"api/naive-bayes/MultinomialNB/#methods","title":"Methods","text":"joint_log_likelihood

Computes the joint log likelihood of input features.

Parameters

  • x \u2014 'dict'

Returns

float: Mapping between classes and joint log likelihood.

joint_log_likelihood_many

Computes the joint log likelihood of input features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: Input samples joint log likelihood.

learn_many

Learn from a batch of count vectors.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.Series'

learn_one

Updates the model with a single observation.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

p_class p_class_many p_feature_given_class predict_many

Predict the outcome for each given sample.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.Series: The predicted labels.

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_many

Return probabilities using the log-likelihoods in mini-batchs setting.

Parameters

  • X \u2014 'pd.DataFrame'

predict_proba_one

Return probabilities using the log-likelihoods.

Parameters

  • x \u2014 'dict'

  1. Naive Bayes text classification \u21a9

"},{"location":"api/neighbors/KNNClassifier/","title":"KNNClassifier","text":"

K-Nearest Neighbors (KNN) for classification.

Samples are stored using a first-in, first-out strategy. The strategy to perform search queries in the data buffer is defined by the engine parameter.

"},{"location":"api/neighbors/KNNClassifier/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 5

    The number of nearest neighbors to search for.

  • engine

    Type \u2192 BaseNN | None

    Default \u2192 None

    The search engine used to store the instances and perform search queries. Depending on the choose engine, search will be exact or approximate. Please, consult the documentation of each available search engine for more details on its usage. By default, use the SWINN search engine for approximate search queries.

  • weighted

    Type \u2192 bool

    Default \u2192 True

    Weight the contribution of each neighbor by its inverse distance.

  • cleanup_every

    Type \u2192 int

    Default \u2192 0

    This determines at which rate old classes are cleaned up. Classes that have been seen in the past but that are not present in the current window are dropped. Classes are never dropped when this is set to 0.

  • softmax

    Type \u2192 bool

    Default \u2192 False

    Whether or not to use softmax normalization to normalize the neighbors contributions. Votes are divided by the total number of votes if this is False.

"},{"location":"api/neighbors/KNNClassifier/#examples","title":"Examples","text":"
import functools\nfrom river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import neighbors\nfrom river import preprocessing\nfrom river import utils\n\ndataset = datasets.Phishing()\n

To select a custom distance metric which takes one or several parameter, you can wrap your chosen distance using functools.partial:

l1_dist = functools.partial(utils.math.minkowski_distance, p=1)\n\nmodel = (\n    preprocessing.StandardScaler() |\n    neighbors.KNNClassifier(\n        engine=neighbors.SWINN(\n            dist_func=l1_dist,\n            seed=42\n        )\n    )\n)\n\nevaluate.progressive_val_score(dataset, model, metrics.Accuracy())\n
Accuracy: 89.59%\n

"},{"location":"api/neighbors/KNNClassifier/#methods","title":"Methods","text":"clean_up_classes

Clean up classes added to the window.

Classes that are added (and removed) from the window may no longer be valid. This method cleans up the window and and ensures only known classes are added, and we do not consider \"None\" a class. It is called every cleanup_every step, or can be called manually.

learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

"},{"location":"api/neighbors/KNNClassifier/#notes","title":"Notes","text":"

Note that since the window is moving and we keep track of all classes that are added at some point, a class might be returned in a result (with a value of 0) if it is no longer in the window. You can call model.clean_up_classes(), or set cleanup_every to a non-zero value.

"},{"location":"api/neighbors/KNNRegressor/","title":"KNNRegressor","text":"

K-Nearest Neighbors regressor.

Samples are stored using a first-in, first-out strategy. The strategy to perform search queries in the data buffer is defined by the engine parameter. Predictions are obtained by aggregating the values of the closest n_neighbors stored samples with respect to a query sample.

"},{"location":"api/neighbors/KNNRegressor/#parameters","title":"Parameters","text":"
  • n_neighbors

    Type \u2192 int

    Default \u2192 5

    The number of nearest neighbors to search for.

  • engine

    Type \u2192 BaseNN | None

    Default \u2192 None

    The search engine used to store the instances and perform search queries. Depending on the choose engine, search will be exact or approximate. Please, consult the documentation of each available search engine for more details on its usage. By default, use the SWINN search engine for approximate search queries.

  • aggregation_method

    Type \u2192 str

    Default \u2192 mean

    The method to aggregate the target values of neighbors. | 'mean' | 'median' | 'weighted_mean'

"},{"location":"api/neighbors/KNNRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import neighbors\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = neighbors.KNNRegressor()\nevaluate.progressive_val_score(dataset, model, metrics.RMSE())\n
RMSE: 1.427743\n

"},{"location":"api/neighbors/KNNRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/neighbors/LazySearch/","title":"LazySearch","text":"

Exact nearest neighbors using a lazy search estrategy.

"},{"location":"api/neighbors/LazySearch/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Default \u2192 50

    Size of the sliding window use to search neighbors with.

  • min_distance_keep

    Type \u2192 float

    Default \u2192 0.0

    The minimum distance (similarity) to consider adding a point to the window. E.g., a value of 0.0 will add even exact duplicates.

  • dist_func

    Type \u2192 DistanceFunc | FunctionWrapper | None

    Default \u2192 None

    A distance function which accepts two input items to compare. If not set, use the Minkowski distance with p=2.

"},{"location":"api/neighbors/LazySearch/#methods","title":"Methods","text":"append

Add a point to the window, optionally with extra metadata.

Parameters

  • item \u2014 'typing.Any'
  • extra \u2014 'typing.Any | None' \u2014 defaults to None
  • kwargs

search

Find the n_neighbors closest points to item, along with their distances.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int'
  • kwargs

update

Update the window with a new point, only added if > min distance.

If min distance is 0, we do not need to do the calculation. The item (and extra metadata) will not be added to the window if it is too close to an existing point.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int' \u2014 defaults to 1
  • extra \u2014 'typing.Any | None' \u2014 defaults to None

Returns

A boolean (true/false) to indicate if the point was added.

"},{"location":"api/neighbors/LazySearch/#notes","title":"Notes","text":"

Updates are by default stored by the FIFO (first in first out) method, which means that when the size limit is reached, old samples are dumped to give room for new samples. This is circular, meaning that older points are dumped first. This also gives the implementation a temporal aspect, because older samples are replaced with newer ones.

The parameter min_dinstance_keep controls the addition of new items to the window - items that are far enough away (> min_distance_keep) are added to the window. Thus a value of 0 indicates that we add all points, and increasing from 0 makes it less likely we will keep a new item.

"},{"location":"api/neighbors/SWINN/","title":"SWINN","text":"

Sliding WIndow-based Nearest Neighbor (SWINN) search using Graphs.

Extends the NNDescent algorithm1 to handle vertex addition and removal in a FIFO data ingestion policy. SWINN builds and keeps a directed graph where edges connect the nearest neighbors. Any distance metric can be used to build the graph. By using a directed graph, the user must set the desired number of neighbors. More neighbors imply more accurate search queries at the cost of increased running time and memory usage. Note that although the number of directed neighbors is limited by the user, there is no direct control on the number of reverse neighbors, i.e., the number of vertices that have an edge to a given vertex.

The basic idea of SWINN and NNDescent is that \"the neighbor of my neighbors might as well be my neighbor\". Hence, the connections are constantly revisited to improve the graph structure. The algorithm for creating and maintaining the search graph can be described in general lines as follows:

  • Start with a random neighborhood graph;

  • For each node in the search graph: refine the current neighborhood by checking if there are better neighborhood options among the neighbors of the current neighbors;

  • If the total number of neighborhood changes is smaller than a given stopping criterion, then stop.

SWINN adds strategies to remove vertices from the search graph and pruning redundant edges. SWINN is more efficient when the selected maxlen is greater than 500. For small sized data windows, using the lazy/exhaustive search, i.e., neighbors.LazySearch might be a better idea.

"},{"location":"api/neighbors/SWINN/#parameters","title":"Parameters","text":"
  • graph_k

    Type \u2192 int

    Default \u2192 20

    The maximum number of direct nearest neighbors each node has.

  • dist_func

    Type \u2192 DistanceFunc | FunctionWrapper | None

    Default \u2192 None

    The distance function used to compare two items. If not set, use the Minkowski distance with p=2.

  • maxlen

    Type \u2192 int

    Default \u2192 1000

    The maximum size of the data buffer.

  • warm_up

    Type \u2192 int

    Default \u2192 500

    How many data instances to observe before starting the search graph.

  • max_candidates

    Type \u2192 int | None

    Default \u2192 None

    The maximum number of vertices to consider when performing local neighborhood joins. If not set SWINN will use min(50, max(50, self.graph_k)).

  • delta

    Type \u2192 float

    Default \u2192 0.0001

    Early stop parameter for the neighborhood refinement procedure. NNDescent will stop running if the maximum number of iterations is reached or the number of edge changes after an iteration is smaller than or equal to delta * graph_k * n_nodes. In the last expression, n_nodes refers to the number of graph nodes involved in the (local) neighborhood refinement.

  • prune_prob

    Type \u2192 float

    Default \u2192 0.0

    The probability of removing redundant edges. Must be between 0 and 1. If set to zero, no edge will be pruned. When set to one, every potentially redundant edge will be dropped.

  • n_iters

    Type \u2192 int

    Default \u2192 10

    The maximum number of NNDescent iterations to perform to refine the search index.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/neighbors/SWINN/#methods","title":"Methods","text":"append

Add a new item to the search index.

Data is stored using the FIFO strategy. Both the data buffer and the search graph are updated. The addition of a new item will trigger the removal of the oldest item, if the maximum size was reached. All edges of the removed node are also dropped and safety procedures are applied to ensure its neighbors keep accessible. The addition of a new item also trigger local neighborhood refinement procedures, to ensure the search index is effective and the node degree constraints are met.

Parameters

  • item \u2014 'typing.Any'
  • kwargs

connectivity

Get a list with the size of each connected component in the search graph.

This metric provides an overview of reachability in the search index by using Kruskal's algorithm to build a forest of connected components. We want our search index to have a single connected component, i.e., the case where we get a list containing a single number which is equal to maxlen. If that is not the case, not every node in the search graph can be reached from any given starting point. You may want to try increasing graph_k to improve connectivity. However, keep in mind the following aspects: 1) computing this metric is a costly operation (\\(O(E\\log V)\\)), where \\(E\\) and \\(V\\) are, respectively, the number of edges and vertices in the search graph; 2) often, connectivity comes at the price of increased computational costs. Tweaking the sample_rate might help in such situations. The best possible scenario is to decrease the value of graph_k while keeping a single connected component.

Returns

list[int]: A list of the number of elements in each connected component of the graph.

search

Search the underlying nearest neighbor graph given a query item.

In case not enough samples were observed, i.e., the number of stored samples is smaller than warm_up, then the search switches to a brute force strategy.

Parameters

  • item \u2014 'typing.Any'
  • n_neighbors \u2014 'int'
  • epsilon \u2014 'float' \u2014 defaults to 0.1
  • kwargs

Returns

tuple[list, list]: neighbors, dists

"},{"location":"api/neighbors/SWINN/#notes","title":"Notes","text":"

There is an accuracy/speed trade-off between graph_k and sample_rate. To ensure a single connected component, and thus an effective search index, one can increase graph_k. The connectivity method is a helper to determine whether the search index has a single connected component. However, search accuracy might come at the cost of increased memory usage and slow processing. To alleviate that, one can rely on decreasing the sample_rate to avoid exploring all the undirected edges of a node during search queries and local graph refinements. Moreover, the edge pruning procedures also help decreasing the computational costs. Note that, anything that limits the number of explored neighbors or prunes edges might have a negative impact on search accuracy.

  1. Dong, W., Moses, C., & Li, K. (2011, March). Efficient k-nearest neighbor graph construction for generic similarity measures. In Proceedings of the 20th international conference on World wide web (pp. 577-586).\u00a0\u21a9

"},{"location":"api/neural-net/MLPRegressor/","title":"MLPRegressor","text":"

Multi-layer Perceptron for regression.

This model is still work in progress. Here are some features that still need implementing:

  • learn_one and predict_one just cast the input dict to a single row dataframe and then

    call learn_many and predict_many respectively. This is very inefficient. - Not all of the optimizers in the optim module can be used as they are not all vectorised.

  • Emerging and disappearing features are not supported. Each instance/batch has to have the

    same features. - The gradient haven't been numerically checked.

"},{"location":"api/neural-net/MLPRegressor/#parameters","title":"Parameters","text":"
  • hidden_dims

    The dimensions of the hidden layers. For example, specifying (10, 20) means that there are two hidden layers with 10 and 20 neurons, respectively. Note that the number of layers the network contains is equal to the number of hidden layers plus two (to account for the input and output layers).

  • activations

    The activation functions to use at each layer, including the input and output layers. Therefore you need to specify three activation if you specify one hidden layer.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    Loss function. Defaults to optim.losses.Squared.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    Optimizer. Defaults to optim.SGD with the learning rate set to 0.01.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/neural-net/MLPRegressor/#attributes","title":"Attributes","text":"
  • n_layers

    Return the number of layers in the network. The number of layers is equal to the number of hidden layers plus 2. The 2 accounts for the input layer and the output layer.

"},{"location":"api/neural-net/MLPRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import neural_net as nn\nfrom river import optim\nfrom river import preprocessing as pp\nfrom river import metrics\n\nmodel = (\n    pp.StandardScaler() |\n    nn.MLPRegressor(\n        hidden_dims=(5,),\n        activations=(\n            nn.activations.ReLU,\n            nn.activations.ReLU,\n            nn.activations.Identity\n        ),\n        optimizer=optim.SGD(1e-3),\n        seed=42\n    )\n)\n\ndataset = datasets.TrumpApproval()\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.580578\n

You can also use this to process mini-batches of data.

model = (\n    pp.StandardScaler() |\n    nn.MLPRegressor(\n        hidden_dims=(10,),\n        activations=(\n            nn.activations.ReLU,\n            nn.activations.ReLU,\n            nn.activations.ReLU\n        ),\n        optimizer=optim.SGD(1e-4),\n        seed=42\n    )\n)\n\ndataset = datasets.TrumpApproval()\nbatch_size = 32\n\nfor epoch in range(10):\n    for xb in pd.read_csv(dataset.path, chunksize=batch_size):\n        yb = xb.pop('five_thirty_eight')\n        y_pred = model.predict_many(xb)\n        model.learn_many(xb, yb)\n\nmodel.predict_many(xb)\n
      five_thirty_eight\n992           39.405231\n993           46.447481\n994           42.121865\n995           40.251148\n996           40.836378\n997           40.893153\n998           40.949927\n999           48.416504\n1000          42.077830\n

"},{"location":"api/neural-net/MLPRegressor/#methods","title":"Methods","text":"call

Make predictions.

Parameters

  • X \u2014 'pd.DataFrame'

learn_many

Train the network.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 'pd.DataFrame'

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'

predict_many predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/neural-net/activations/Identity/","title":"Identity","text":"

Identity activation function.

"},{"location":"api/neural-net/activations/Identity/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/neural-net/activations/ReLU/","title":"ReLU","text":"

Rectified Linear Unit (ReLU) activation function.

"},{"location":"api/neural-net/activations/ReLU/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/neural-net/activations/Sigmoid/","title":"Sigmoid","text":"

Sigmoid activation function.

"},{"location":"api/neural-net/activations/Sigmoid/#methods","title":"Methods","text":"apply

Apply the activation function to a layer output z.

  • z

gradient

Return the gradient with respect to a layer output z.

  • z

"},{"location":"api/optim/AMSGrad/","title":"AMSGrad","text":"

AMSGrad optimizer.

"},{"location":"api/optim/AMSGrad/#parameters","title":"Parameters","text":"
  • lr

    Type \u2192 int | float | optim.base.Scheduler

    Default \u2192 0.1

    The learning rate.

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

  • correct_bias

    Default \u2192 True

"},{"location":"api/optim/AMSGrad/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

  • v_hat (collections.defaultdict)

"},{"location":"api/optim/AMSGrad/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AMSGrad()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.60%\n

"},{"location":"api/optim/AMSGrad/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Reddi, S.J., Kale, S. and Kumar, S., 2019. On the convergence of adam and beyond. arXiv preprint arXiv:1904.09237 \u21a9

"},{"location":"api/optim/AdaBound/","title":"AdaBound","text":"

AdaBound optimizer.

"},{"location":"api/optim/AdaBound/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.001

    The learning rate.

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

  • gamma

    Default \u2192 0.001

  • final_lr

    Default \u2192 0.1

"},{"location":"api/optim/AdaBound/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • s (collections.defaultdict)

"},{"location":"api/optim/AdaBound/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaBound()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.06%\n

"},{"location":"api/optim/AdaBound/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Luo, L., Xiong, Y., Liu, Y. and Sun, X., 2019. Adaptive gradient methods with dynamic bound of learning rate. arXiv preprint arXiv:1902.09843 \u21a9

"},{"location":"api/optim/AdaDelta/","title":"AdaDelta","text":"

AdaDelta optimizer.

"},{"location":"api/optim/AdaDelta/#parameters","title":"Parameters","text":"
  • rho

    Default \u2192 0.95

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaDelta/#attributes","title":"Attributes","text":"
  • g2 (collections.defaultdict)

  • s2 (collections.defaultdict)

"},{"location":"api/optim/AdaDelta/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaDelta()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 80.56%\n

"},{"location":"api/optim/AdaDelta/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Zeiler, M.D., 2012. Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701. \u21a9

"},{"location":"api/optim/AdaGrad/","title":"AdaGrad","text":"

AdaGrad optimizer.

"},{"location":"api/optim/AdaGrad/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaGrad/#attributes","title":"Attributes","text":"
  • g2 (collections.defaultdict)
"},{"location":"api/optim/AdaGrad/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaGrad()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 88.01%\n

"},{"location":"api/optim/AdaGrad/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Duchi, J., Hazan, E. and Singer, Y., 2011. Adaptive subgradient methods for online learning and stochastic optimization. Journal of machine learning research, 12(Jul), pp.2121-2159. \u21a9

"},{"location":"api/optim/AdaMax/","title":"AdaMax","text":"

AdaMax optimizer.

"},{"location":"api/optim/AdaMax/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/AdaMax/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

"},{"location":"api/optim/AdaMax/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.AdaMax()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.61%\n

"},{"location":"api/optim/AdaMax/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Kingma, D.P. and Ba, J., 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. \u21a9

  2. Ruder, S., 2016. An overview of gradient descent optimization algorithms. arXiv preprint arXiv:1609.04747. \u21a9

"},{"location":"api/optim/Adam/","title":"Adam","text":"

Adam optimizer.

"},{"location":"api/optim/Adam/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/Adam/#attributes","title":"Attributes","text":"
  • m (collections.defaultdict)

  • v (collections.defaultdict)

"},{"location":"api/optim/Adam/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Adam()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.52%\n

"},{"location":"api/optim/Adam/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Kingma, D.P. and Ba, J., 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. \u21a9

"},{"location":"api/optim/Averager/","title":"Averager","text":"

Averaged stochastic gradient descent.

This is a wrapper that can be applied to any stochastic gradient descent optimiser. Note that this implementation differs than what may be found elsewhere. Essentially, the average of the weights is usually only used at the end of the optimisation, once all the data has been seen. However, in this implementation the optimiser returns the current averaged weights.

"},{"location":"api/optim/Averager/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer

    An optimizer for which the produced weights will be averaged.

  • start

    Type \u2192 int

    Default \u2192 0

    Indicates the number of iterations to wait before starting the average. Essentially, nothing happens differently before the number of iterations reaches this value.

"},{"location":"api/optim/Averager/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Averager/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Averager(optim.SGD(0.01), 100)\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.97%\n

"},{"location":"api/optim/Averager/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Bottou, L., 2010. Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT'2010 (pp. 177-186). Physica-Verlag HD. \u21a9

  2. Stochastic Algorithms for One-Pass Learning slides by L\u00e9on Bottou \u21a9

  3. Xu, W., 2011. Towards optimal one pass large scale learning with averaged stochastic gradient descent. arXiv preprint arXiv:1107.2490. \u21a9

"},{"location":"api/optim/FTRLProximal/","title":"FTRLProximal","text":"

FTRL-Proximal optimizer.

"},{"location":"api/optim/FTRLProximal/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 0.05

  • beta

    Default \u2192 1.0

  • l1

    Default \u2192 0.0

  • l2

    Default \u2192 1.0

"},{"location":"api/optim/FTRLProximal/#attributes","title":"Attributes","text":"
  • z (collections.defaultdict)

  • n (collections.defaultdict)

"},{"location":"api/optim/FTRLProximal/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.FTRLProximal()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.56%\n

"},{"location":"api/optim/FTRLProximal/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. McMahan, H.B., Holt, G., Sculley, D., Young, M., Ebner, D., Grady, J., Nie, L., Phillips, T., Davydov, E., Golovin, D. and Chikkerur, S., 2013, August. Ad click prediction: a view from the trenches. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 1222-1230) \u21a9

  2. Tensorflow's FtrlOptimizer \u21a9

"},{"location":"api/optim/Momentum/","title":"Momentum","text":"

Momentum optimizer.

"},{"location":"api/optim/Momentum/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

"},{"location":"api/optim/Momentum/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Momentum/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Momentum()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 84.09%\n

"},{"location":"api/optim/Momentum/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/Nadam/","title":"Nadam","text":"

Nadam optimizer.

"},{"location":"api/optim/Nadam/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • beta_1

    Default \u2192 0.9

  • beta_2

    Default \u2192 0.999

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/Nadam/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/Nadam/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.Nadam()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 86.60%\n

"},{"location":"api/optim/Nadam/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Nadam: A combination of adam and nesterov \u21a9

"},{"location":"api/optim/NesterovMomentum/","title":"NesterovMomentum","text":"

Nesterov Momentum optimizer.

"},{"location":"api/optim/NesterovMomentum/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

"},{"location":"api/optim/NesterovMomentum/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/NesterovMomentum/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.NesterovMomentum()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 84.22%\n

"},{"location":"api/optim/NesterovMomentum/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/RMSProp/","title":"RMSProp","text":"

RMSProp optimizer.

"},{"location":"api/optim/RMSProp/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.1

  • rho

    Default \u2192 0.9

  • eps

    Default \u2192 1e-08

"},{"location":"api/optim/RMSProp/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/RMSProp/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.RMSProp()\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.24%\n

"},{"location":"api/optim/RMSProp/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Divide the gradient by a running average of itsrecent magnitude \u21a9

"},{"location":"api/optim/SGD/","title":"SGD","text":"

Plain stochastic gradient descent.

"},{"location":"api/optim/SGD/#parameters","title":"Parameters","text":"
  • lr

    Default \u2192 0.01

"},{"location":"api/optim/SGD/#attributes","title":"Attributes","text":"
  • learning_rate
"},{"location":"api/optim/SGD/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\n\ndataset = datasets.Phishing()\noptimizer = optim.SGD(0.1)\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(optimizer)\n)\nmetric = metrics.F1()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
F1: 87.85%\n

"},{"location":"api/optim/SGD/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

  1. Robbins, H. and Monro, S., 1951. A stochastic approximation method. The annals of mathematical statistics, pp.400-407 \u21a9

"},{"location":"api/optim/base/Initializer/","title":"Initializer","text":"

An initializer is used to set initial weights in a model.

"},{"location":"api/optim/base/Initializer/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/base/Loss/","title":"Loss","text":"

Base class for all loss functions.

"},{"location":"api/optim/base/Loss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/base/Optimizer/","title":"Optimizer","text":"

Optimizer interface.

Every optimizer inherits from this base interface.

"},{"location":"api/optim/base/Optimizer/#parameters","title":"Parameters","text":"
  • lr

    Type \u2192 int | float | Scheduler

"},{"location":"api/optim/base/Optimizer/#attributes","title":"Attributes","text":"
  • learning_rate (float)

    Returns the current learning rate value.

"},{"location":"api/optim/base/Optimizer/#methods","title":"Methods","text":"look_ahead

Updates a weight vector before a prediction is made.

Parameters: w (dict): A dictionary of weight parameters. The weights are modified in-place. Returns: The updated weights.

Parameters

  • w \u2014 'dict'

step

Updates a weight vector given a gradient.

Parameters

  • w \u2014 'dict | VectorLike'
  • g \u2014 'dict | VectorLike'

Returns

dict | VectorLike: The updated weights.

"},{"location":"api/optim/base/Scheduler/","title":"Scheduler","text":"

Can be used to program the learning rate schedule of an optim.base.Optimizer.

"},{"location":"api/optim/base/Scheduler/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/initializers/Constant/","title":"Constant","text":"

Constant initializer which always returns the same value.

"},{"location":"api/optim/initializers/Constant/#parameters","title":"Parameters","text":"
  • value

    Type \u2192 float

"},{"location":"api/optim/initializers/Constant/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Constant(value=3.14)\n\ninit(shape=1)\n
3.14\n

init(shape=2)\n
array([3.14, 3.14])\n

"},{"location":"api/optim/initializers/Constant/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/initializers/Normal/","title":"Normal","text":"

Random normal initializer which simulate a normal distribution with specified parameters.

"},{"location":"api/optim/initializers/Normal/#parameters","title":"Parameters","text":"
  • mu

    Default \u2192 0.0

    The mean of the normal distribution

  • sigma

    Default \u2192 1.0

    The standard deviation of the normal distribution

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed that can be set for reproducibility.

"},{"location":"api/optim/initializers/Normal/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Normal(mu=0, sigma=1, seed=42)\n\ninit(shape=1)\n
0.496714\n

init(shape=2)\n
array([-0.1382643 ,  0.64768854])\n

"},{"location":"api/optim/initializers/Normal/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/initializers/Zeros/","title":"Zeros","text":"

Constant initializer which always returns zeros.

"},{"location":"api/optim/initializers/Zeros/#examples","title":"Examples","text":"

from river import optim\n\ninit = optim.initializers.Zeros()\n\ninit(shape=1)\n
0.0\n

init(shape=2)\n
array([0., 0.])\n

"},{"location":"api/optim/initializers/Zeros/#methods","title":"Methods","text":"call

Returns a fresh set of weights.

Parameters

  • shape \u2014 defaults to 1

"},{"location":"api/optim/losses/Absolute/","title":"Absolute","text":"

Absolute loss, also known as the mean absolute error or L1 loss.

Mathematically, it is defined as

\\[L = |p_i - y_i|\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = sgn(p_i - y_i)\\]"},{"location":"api/optim/losses/Absolute/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Absolute()\nloss(-42, 42)\n
84\n
loss.gradient(1, 2)\n
1\n
loss.gradient(2, 1)\n
-1\n

"},{"location":"api/optim/losses/Absolute/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/BinaryFocalLoss/","title":"BinaryFocalLoss","text":"

Binary focal loss.

This implements the \"star\" algorithm from the appendix of the focal loss paper.

"},{"location":"api/optim/losses/BinaryFocalLoss/#parameters","title":"Parameters","text":"
  • gamma

    Default \u2192 2

  • beta

    Default \u2192 1

"},{"location":"api/optim/losses/BinaryFocalLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

1. Lin, T.Y., Goyal, P., Girshick, R., He, K. and Doll\u00e1r, P., 2017. Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision (pp. 2980-2988)

"},{"location":"api/optim/losses/BinaryLoss/","title":"BinaryLoss","text":"

A loss appropriate for binary classification tasks.

"},{"location":"api/optim/losses/BinaryLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Cauchy/","title":"Cauchy","text":"

Cauchy loss function.

"},{"location":"api/optim/losses/Cauchy/#parameters","title":"Parameters","text":"
  • C

    Default \u2192 80

"},{"location":"api/optim/losses/Cauchy/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. \"Effect of MAE\" Kaggle discussion \u21a9

  2. Paris Madness Kaggle kernel \u21a9

"},{"location":"api/optim/losses/CrossEntropy/","title":"CrossEntropy","text":"

Cross entropy loss.

This is a generalization of logistic loss to multiple classes.

"},{"location":"api/optim/losses/CrossEntropy/#parameters","title":"Parameters","text":"
  • class_weight

    Type \u2192 dict[base.typing.ClfTarget, float] | None

    Default \u2192 None

    A dictionary that indicates what weight to associate with each class.

"},{"location":"api/optim/losses/CrossEntropy/#examples","title":"Examples","text":"

from river import optim\n\ny_true = [0, 1, 2, 2]\ny_pred = [\n    {0: 0.29450637, 1: 0.34216758, 2: 0.36332605},\n    {0: 0.21290077, 1: 0.32728332, 2: 0.45981591},\n    {0: 0.42860913, 1: 0.33380113, 2: 0.23758974},\n    {0: 0.44941979, 1: 0.32962558, 2: 0.22095463}\n]\n\nloss = optim.losses.CrossEntropy()\n\nfor yt, yp in zip(y_true, y_pred):\n    print(loss(yt, yp))\n
1.222454\n1.116929\n1.437209\n1.509797\n

for yt, yp in zip(y_true, y_pred):\n    print(loss.gradient(yt, yp))\n
{0: -0.70549363, 1: 0.34216758, 2: 0.36332605}\n{0: 0.21290077, 1: -0.67271668, 2: 0.45981591}\n{0: 0.42860913, 1: 0.33380113, 2: -0.76241026}\n{0: 0.44941979, 1: 0.32962558, 2: -0.77904537}\n

"},{"location":"api/optim/losses/CrossEntropy/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. What is Softmax regression and how is it related to Logistic regression? \u21a9

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/","title":"EpsilonInsensitiveHinge","text":"

Epsilon-insensitive hinge loss.

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/#parameters","title":"Parameters","text":"
  • eps

    Default \u2192 0.1

"},{"location":"api/optim/losses/EpsilonInsensitiveHinge/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Hinge/","title":"Hinge","text":"

Computes the hinge loss.

Mathematically, it is defined as

\\[L = max(0, 1 - p_i * y_i)\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[ \\\\frac{\\\\partial L}{\\\\partial y_i} = \\\\left\\{ \\\\begin{array}{ll} \\\\ 0 & p_iy_i \\geqslant 1 \\\\\\\\ \\\\ - y_i & p_iy_i < 1 \\\\end{array} \\\\right. \\]"},{"location":"api/optim/losses/Hinge/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 1.0

    Margin threshold. 1 yield the loss used in SVMs, whilst 0 is equivalent to the loss used in the Perceptron algorithm.

"},{"location":"api/optim/losses/Hinge/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Hinge(threshold=1)\nloss(1, .2)\n
0.8\n

loss.gradient(1, .2)\n
-1\n

"},{"location":"api/optim/losses/Hinge/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Huber/","title":"Huber","text":"

Huber loss.

Variant of the squared loss that is robust to outliers.

"},{"location":"api/optim/losses/Huber/#parameters","title":"Parameters","text":"
  • epsilon

    Default \u2192 0.1

"},{"location":"api/optim/losses/Huber/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

1. Huber loss function - Wikipedia

"},{"location":"api/optim/losses/Log/","title":"Log","text":"

Logarithmic loss.

This loss function expects each provided y_pred to be a logit. In other words if must be the raw output of a linear model or a neural network.

"},{"location":"api/optim/losses/Log/#parameters","title":"Parameters","text":"
  • weight_pos

    Default \u2192 1.0

  • weight_neg

    Default \u2192 1.0

"},{"location":"api/optim/losses/Log/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. Logit Wikipedia page \u21a9

"},{"location":"api/optim/losses/MultiClassLoss/","title":"MultiClassLoss","text":"

A loss appropriate for multi-class classification tasks.

"},{"location":"api/optim/losses/MultiClassLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Poisson/","title":"Poisson","text":"

Poisson loss.

The Poisson loss is usually more suited for regression with count data than the squared loss.

Mathematically, it is defined as

\\[L = exp(p_i) - y_i \\times p_i\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = exp(p_i) - y_i\\]"},{"location":"api/optim/losses/Poisson/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Quantile/","title":"Quantile","text":"

Quantile loss.

"},{"location":"api/optim/losses/Quantile/#parameters","title":"Parameters","text":"
  • alpha

    Default \u2192 0.5

    Desired quantile to attain.

"},{"location":"api/optim/losses/Quantile/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Quantile(0.5)\nloss(1, 3)\n
1.0\n

loss.gradient(1, 3)\n
0.5\n

loss.gradient(3, 1)\n
-0.5\n

"},{"location":"api/optim/losses/Quantile/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

  1. Wikipedia article on quantile regression \u21a9

  2. Derivative from WolframAlpha \u21a9

"},{"location":"api/optim/losses/RegressionLoss/","title":"RegressionLoss","text":"

A loss appropriate for regression tasks.

"},{"location":"api/optim/losses/RegressionLoss/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/losses/Squared/","title":"Squared","text":"

Squared loss, also known as the L2 loss.

Mathematically, it is defined as

\\[L = (p_i - y_i) ^ 2\\]

Its gradient w.r.t. to \\(p_i\\) is

\\[\\frac{\\partial L}{\\partial p_i} = 2 (p_i - y_i)\\]

One thing to note is that this convention is consistent with Vowpal Wabbit and PyTorch, but not with scikit-learn. Indeed, scikit-learn divides the loss by 2, making the 2 disappear in the gradient.

"},{"location":"api/optim/losses/Squared/#examples","title":"Examples","text":"

from river import optim\n\nloss = optim.losses.Squared()\nloss(-4, 5)\n
81\n
loss.gradient(-4, 5)\n
18\n
loss.gradient(5, -4)\n
-18\n

"},{"location":"api/optim/losses/Squared/#methods","title":"Methods","text":"call

Returns the loss.

Parameters

  • y_true
  • y_pred

Returns

The loss(es).

gradient

Return the gradient with respect to y_pred.

Parameters

  • y_true
  • y_pred

Returns

The gradient(s).

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

  • y_pred

Returns

The adjusted prediction(s).

"},{"location":"api/optim/schedulers/Constant/","title":"Constant","text":"

Always uses the same learning rate.

"},{"location":"api/optim/schedulers/Constant/#parameters","title":"Parameters","text":"
  • learning_rate

    Type \u2192 int | float

"},{"location":"api/optim/schedulers/Constant/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/schedulers/InverseScaling/","title":"InverseScaling","text":"

Reduces the learning rate using a power schedule.

Assuming an initial learning rate \\(\\eta\\), the learning rate at step \\(t\\) is:

\\[\\\\frac{eta}{(t + 1) ^ p}\\]

where \\(p\\) is a user-defined parameter.

"},{"location":"api/optim/schedulers/InverseScaling/#parameters","title":"Parameters","text":"
  • learning_rate

    Type \u2192 float

  • power

    Default \u2192 0.5

"},{"location":"api/optim/schedulers/InverseScaling/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

"},{"location":"api/optim/schedulers/Optimal/","title":"Optimal","text":"

Optimal learning schedule as proposed by L\u00e9on Bottou.

"},{"location":"api/optim/schedulers/Optimal/#parameters","title":"Parameters","text":"
  • loss

    Type \u2192 optim.losses.Loss

  • alpha

    Default \u2192 0.0001

"},{"location":"api/optim/schedulers/Optimal/#methods","title":"Methods","text":"get

Returns the learning rate at a given iteration.

Parameters

  • t \u2014 'int'

  1. Bottou, L., 2012. Stochastic gradient descent tricks. In Neural networks: Tricks of the trade (pp. 421-436). Springer, Berlin, Heidelberg. \u21a9

"},{"location":"api/preprocessing/AdaptiveStandardScaler/","title":"AdaptiveStandardScaler","text":"

Scales data using exponentially weighted moving average and variance.

Under the hood, a exponentially weighted running mean and variance are maintained for each feature. This can potentially provide better results for drifting data in comparison to preprocessing.StandardScaler. Indeed, the latter computes a global mean and variance for each feature, whereas this scaler weights data in proportion to their recency.

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.3

    This parameter is passed to stats.EWVar. It is expected to be in [0, 1]. More weight is assigned to recent samples the closer fading_factor is to 1.

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#examples","title":"Examples","text":"

Consider the following series which contains a positive trend.

import random\n\nrandom.seed(42)\nX = [\n    {'x': random.uniform(4 + i, 6 + i)}\n    for i in range(8)\n]\nfor x in X:\n    print(x)\n
{'x': 5.278}\n{'x': 5.050}\n{'x': 6.550}\n{'x': 7.446}\n{'x': 9.472}\n{'x': 10.353}\n{'x': 11.784}\n{'x': 11.173}\n

This scaler works well with this kind of data because it uses statistics that assign higher weight to more recent data.

from river import preprocessing\n\nscaler = preprocessing.AdaptiveStandardScaler(fading_factor=.6)\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0}\n{'x': -0.816}\n{'x': 0.812}\n{'x': 0.695}\n{'x': 0.754}\n{'x': 0.598}\n{'x': 0.651}\n{'x': 0.124}\n

"},{"location":"api/preprocessing/AdaptiveStandardScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/Binarizer/","title":"Binarizer","text":"

Binarizes the data to 0 or 1 according to a threshold.

"},{"location":"api/preprocessing/Binarizer/#parameters","title":"Parameters","text":"
  • threshold

    Default \u2192 0.0

    Values above this are replaced by 1 and the others by 0.

  • dtype

    Default \u2192 <class 'bool'>

    The desired data type to apply.

"},{"location":"api/preprocessing/Binarizer/#examples","title":"Examples","text":"

import river\nimport numpy as np\n\nrng = np.random.RandomState(42)\nX = [{'x1': v, 'x2': int(v)} for v in rng.uniform(low=-4, high=4, size=6)]\n\nbinarizer = river.preprocessing.Binarizer()\nfor x in X:\n    binarizer.learn_one(x)\n    print(binarizer.transform_one(x))\n
{'x1': False, 'x2': False}\n{'x1': True, 'x2': True}\n{'x1': True, 'x2': True}\n{'x1': True, 'x2': False}\n{'x1': False, 'x2': False}\n{'x1': False, 'x2': False}\n

"},{"location":"api/preprocessing/Binarizer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/FeatureHasher/","title":"FeatureHasher","text":"

Implements the hashing trick.

Each pair of (name, value) features is hashed into a random integer. A module operator is then used to make sure the hash is in a certain range. We use the Murmurhash implementation from scikit-learn.

"},{"location":"api/preprocessing/FeatureHasher/#parameters","title":"Parameters","text":"
  • n_features

    Default \u2192 1048576

    The number by which each hash will be moduloed by.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Set the seed to produce identical results.

"},{"location":"api/preprocessing/FeatureHasher/#examples","title":"Examples","text":"

import river\n\nhasher = river.preprocessing.FeatureHasher(n_features=10, seed=42)\n\nX = [\n    {'dog': 1, 'cat': 2, 'elephant': 4},\n    {'dog': 2, 'run': 5}\n]\nfor x in X:\n    print(hasher.transform_one(x))\n
Counter({1: 4, 9: 2, 8: 1})\nCounter({4: 5, 8: 2})\n

"},{"location":"api/preprocessing/FeatureHasher/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Wikipedia article on feature vectorization using the hashing trick \u21a9

"},{"location":"api/preprocessing/GaussianRandomProjector/","title":"GaussianRandomProjector","text":"

Gaussian random projector.

This transformer reduces the dimensionality of inputs through Gaussian random projection.

The components of the random projections matrix are drawn from N(0, 1 / n_components).

"},{"location":"api/preprocessing/GaussianRandomProjector/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of components to project the data onto.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/preprocessing/GaussianRandomProjector/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = preprocessing.GaussianRandomProjector(\n    n_components=3,\n    seed=42\n)\n\nfor x, y in dataset:\n    x = model.transform_one(x)\n    print(x)\n    break\n
{0: -61289.371..., 1: 141312.510..., 2: 279165.993...}\n

model = (\n    preprocessing.GaussianRandomProjector(\n        n_components=5,\n        seed=42\n    ) |\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression()\n)\nevaluate.progressive_val_score(dataset, model, metrics.MAE())\n
MAE: 0.933...\n

"},{"location":"api/preprocessing/GaussianRandomProjector/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Gaussian random projection \u21a9

  2. scikit-learn random projections module \u21a9

"},{"location":"api/preprocessing/LDA/","title":"LDA","text":"

Online Latent Dirichlet Allocation with Infinite Vocabulary.

Latent Dirichlet allocation (LDA) is a probabilistic approach for exploring topics in document collections. The key advantage of this variant is that it assumes an infinite vocabulary, meaning that the set of tokens does not have to known in advance, as opposed to the implementation from sklearn The results produced by this implementation are identical to those from the original implementation proposed by the method's authors.

This class takes as input token counts. Therefore, it requires you to tokenize beforehand. You can do so by using a feature_extraction.BagOfWords instance, as shown in the example below.

"},{"location":"api/preprocessing/LDA/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of topics of the latent Drichlet allocation.

  • number_of_documents

    Default \u2192 1000000.0

    Estimated number of documents.

  • alpha_theta

    Default \u2192 0.5

    Hyper-parameter of the Dirichlet distribution of topics.

  • alpha_beta

    Default \u2192 100.0

    Hyper-parameter of the Dirichlet process of distribution over words.

  • tau

    Default \u2192 64.0

    Learning inertia to prevent premature convergence.

  • kappa

    Default \u2192 0.75

    The learning rate kappa controls how quickly new parameters estimates replace the old ones. kappa \u2208 (0.5, 1] is required for convergence.

  • vocab_prune_interval

    Default \u2192 10

    Interval at which to refresh the words topics distribution.

  • number_of_samples

    Default \u2192 10

    Number of iteration to computes documents topics distribution.

  • ranking_smooth_factor

    Default \u2192 1e-12

  • burn_in_sweeps

    Default \u2192 5

    Number of iteration necessaries while analyzing a document before updating document topics distribution.

  • maximum_size_vocabulary

    Default \u2192 4000

    Maximum size of the stored vocabulary.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number seed used for reproducibility.

"},{"location":"api/preprocessing/LDA/#attributes","title":"Attributes","text":"
  • counter (int)

    The current number of observed documents.

  • truncation_size_prime (int)

    Number of distincts words stored in the vocabulary. Updated before processing a document.

  • truncation_size (int)

    Number of distincts words stored in the vocabulary. Updated after processing a document.

  • word_to_index (dict)

    Words as keys and indexes as values.

  • index_to_word (dict)

    Indexes as keys and words as values.

  • nu_1 (dict)

    Weights of the words. Component of the variational inference.

  • nu_2 (dict)

    Weights of the words. Component of the variational inference.

"},{"location":"api/preprocessing/LDA/#examples","title":"Examples","text":"

from river import compose\nfrom river import feature_extraction\nfrom river import preprocessing\n\nX = [\n   'weather cold',\n   'weather hot dry',\n   'weather cold rainy',\n   'weather hot',\n   'weather cold humid',\n]\n\nlda = compose.Pipeline(\n    feature_extraction.BagOfWords(),\n    preprocessing.LDA(\n        n_components=2,\n        number_of_documents=60,\n        seed=42\n    )\n)\n\nfor x in X:\n    lda.learn_one(x)\n    topics = lda.transform_one(x)\n    print(topics)\n
{0: 0.5, 1: 2.5}\n{0: 2.499..., 1: 1.5}\n{0: 0.5, 1: 3.5}\n{0: 0.5, 1: 2.5}\n{0: 1.5, 1: 2.5}\n

"},{"location":"api/preprocessing/LDA/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

learn_transform_one

Equivalent to lda.learn_one(x).transform_one(x)s, but faster.

Parameters

  • x \u2014 'dict'

Returns

dict: Component attributions for the input document.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Zhai, K. and Boyd-Graber, J., 2013, February. Online latent Dirichlet allocation with infinite vocabulary. In International Conference on Machine Learning (pp. 561-569). \u21a9

  2. PyInfVoc on GitHub \u21a9

"},{"location":"api/preprocessing/MaxAbsScaler/","title":"MaxAbsScaler","text":"

Scales the data to a [-1, 1] range based on absolute maximum.

Under the hood a running absolute max is maintained. This scaler is meant for data that is already centered at zero or sparse data. It does not shift/center the data, and thus does not destroy any sparsity.

"},{"location":"api/preprocessing/MaxAbsScaler/#attributes","title":"Attributes","text":"
  • abs_max (dict)

    Mapping between features and instances of stats.AbsMax.

"},{"location":"api/preprocessing/MaxAbsScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\nfor x in X:\n    print(x)\n
{'x': 10.557707}\n{'x': 8.100043}\n{'x': 9.100117}\n{'x': 8.892842}\n{'x': 10.945884}\n

scaler = preprocessing.MaxAbsScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 1.0}\n{'x': 0.767216}\n{'x': 0.861940}\n{'x': 0.842308}\n{'x': 1.0}\n

"},{"location":"api/preprocessing/MaxAbsScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/MinMaxScaler/","title":"MinMaxScaler","text":"

Scales the data to a fixed range from 0 to 1.

Under the hood a running min and a running peak to peak (max - min) are maintained.

"},{"location":"api/preprocessing/MinMaxScaler/#attributes","title":"Attributes","text":"
  • min (dict)

    Mapping between features and instances of stats.Min.

  • max (dict)

    Mapping between features and instances of stats.Max.

"},{"location":"api/preprocessing/MinMaxScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\nfor x in X:\n    print(x)\n
{'x': 10.557707}\n{'x': 8.100043}\n{'x': 9.100117}\n{'x': 8.892842}\n{'x': 10.945884}\n

scaler = preprocessing.MinMaxScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0}\n{'x': 0.0}\n{'x': 0.406920}\n{'x': 0.322582}\n{'x': 1.0}\n

"},{"location":"api/preprocessing/MinMaxScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/Normalizer/","title":"Normalizer","text":"

Scales a set of features so that it has unit norm.

This is particularly useful when used after a feature_extraction.TFIDF.

"},{"location":"api/preprocessing/Normalizer/#parameters","title":"Parameters","text":"
  • order

    Default \u2192 2

    Order of the norm (e.g. 2 corresponds to the \\(L^2\\) norm).

"},{"location":"api/preprocessing/Normalizer/#examples","title":"Examples","text":"

from river import preprocessing\nfrom river import stream\n\nscaler = preprocessing.Normalizer(order=2)\n\nX = [[4, 1, 2, 2],\n     [1, 3, 9, 3],\n     [5, 7, 5, 1]]\n\nfor x, _ in stream.iter_array(X):\n    print(scaler.transform_one(x))\n
{0: 0.8, 1: 0.2, 2: 0.4, 3: 0.4}\n{0: 0.1, 1: 0.3, 2: 0.9, 3: 0.3}\n{0: 0.5, 1: 0.7, 2: 0.5, 3: 0.1}\n

"},{"location":"api/preprocessing/Normalizer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/OneHotEncoder/","title":"OneHotEncoder","text":"

One-hot encoding.

This transformer will encode every feature it is provided with. If a list or set is provided, this transformer will encode every entry in the list/set. You can apply it to a subset of features by composing it with compose.Select or compose.SelectType.

"},{"location":"api/preprocessing/OneHotEncoder/#parameters","title":"Parameters","text":"
  • drop_zeros

    Default \u2192 False

    Whether or not 0s should be made explicit or not.

  • drop_first

    Default \u2192 False

    Whether to get k - 1 dummies out of k categorical levels by removing the first key. This is useful in some statistical models where perfectly collinear features cause problems.

"},{"location":"api/preprocessing/OneHotEncoder/#examples","title":"Examples","text":"

Let us first create an example dataset.

from pprint import pprint\nimport random\nimport string\n\nrandom.seed(42)\nalphabet = list(string.ascii_lowercase)\nX = [\n    {\n        'c1': random.choice(alphabet),\n        'c2': random.choice(alphabet),\n    }\n    for _ in range(4)\n]\npprint(X)\n
[{'c1': 'u', 'c2': 'd'},\n    {'c1': 'a', 'c2': 'x'},\n    {'c1': 'i', 'c2': 'h'},\n    {'c1': 'h', 'c2': 'e'}]\n

e can now apply one-hot encoding. All the provided are one-hot encoded, there is therefore no need to specify which features to encode.

from river import preprocessing\n\noh = preprocessing.OneHotEncoder()\nfor x in X[:2]:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c1_u': 0, 'c2_d': 0, 'c2_x': 1}\n

The drop_zeros parameter can be set to True if you don't want the past features to be included in the output. Otherwise, all the past features will be included in the output.

oh = preprocessing.OneHotEncoder(drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c2_x': 1}\n{'c1_i': 1, 'c2_h': 1}\n{'c1_h': 1, 'c2_e': 1}\n

You can encode only k - 1 features out of k by setting drop_first to True.

oh = preprocessing.OneHotEncoder(drop_first=True, drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c2_d': 1}\n{'c2_x': 1}\n{'c2_h': 1}\n{'c2_e': 1}\n

A subset of the features can be one-hot encoded by piping a compose.Select into the OneHotEncoder.

from river import compose\n\npp = compose.Select('c1') | preprocessing.OneHotEncoder()\n\nfor x in X:\n    pp.learn_one(x)\n    pprint(pp.transform_one(x))\n
{'c1_u': 1}\n{'c1_a': 1, 'c1_u': 0}\n{'c1_a': 0, 'c1_i': 1, 'c1_u': 0}\n{'c1_a': 0, 'c1_h': 1, 'c1_i': 0, 'c1_u': 0}\n

You can preserve the c2 feature by using a union:

pp = compose.Select('c1') | preprocessing.OneHotEncoder()\npp += compose.Select('c2')\n\nfor x in X:\n    pp.learn_one(x)\n    pprint(pp.transform_one(x))\n
{'c1_u': 1, 'c2': 'd'}\n{'c1_a': 1, 'c1_u': 0, 'c2': 'x'}\n{'c1_a': 0, 'c1_i': 1, 'c1_u': 0, 'c2': 'h'}\n{'c1_a': 0, 'c1_h': 1, 'c1_i': 0, 'c1_u': 0, 'c2': 'e'}\n

Similar to the above examples, we can also pass values as a list. This will one-hot encode all of the entries individually.

X = [{'c1': ['u', 'a'], 'c2': ['d']},\n    {'c1': ['a', 'b'], 'c2': ['x']},\n    {'c1': ['i'], 'c2': ['h', 'z']},\n    {'c1': ['h', 'b'], 'c2': ['e']}]\n\noh = preprocessing.OneHotEncoder(drop_zeros=True)\nfor x in X:\n    oh.learn_one(x)\n    pprint(oh.transform_one(x))\n
{'c1_a': 1, 'c1_u': 1, 'c2_d': 1}\n{'c1_a': 1, 'c1_b': 1, 'c2_x': 1}\n{'c1_i': 1, 'c2_h': 1, 'c2_z': 1}\n{'c1_b': 1, 'c1_h': 1, 'c2_e': 1}\n

Processing mini-batches is also possible.

from pprint import pprint\nimport random\nimport string\n\nrandom.seed(42)\nalphabet = list(string.ascii_lowercase)\nX = pd.DataFrame(\n    {\n        'c1': random.choice(alphabet),\n        'c2': random.choice(alphabet),\n    }\n    for _ in range(3)\n)\nX\n
  c1 c2\n0  u  d\n1  a  x\n2  i  h\n

oh = preprocessing.OneHotEncoder(drop_zeros=True)\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_a  c1_i  c1_u  c2_d  c2_h  c2_x\n0     0     0     1     1     0     0\n1     1     0     0     0     0     1\n2     0     1     0     0     1     0\n

oh = preprocessing.OneHotEncoder(drop_zeros=True, drop_first=True)\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_i  c1_u  c2_d  c2_h  c2_x\n0     0     1     1     0     0\n1     0     0     0     0     1\n2     1     0     0     1     0\n

Here's an example where the zeros are kept:

oh = preprocessing.OneHotEncoder(drop_zeros=False)\nX_init = pd.DataFrame([{\"c1\": \"Oranges\", \"c2\": \"Apples\"}])\noh.learn_many(X_init)\noh.learn_many(X)\n\ndf = oh.transform_many(X)\ndf.sort_index(axis=\"columns\")\n
   c1_Oranges  c1_a  c1_i  c1_u  c2_Apples  c2_d  c2_h  c2_x\n0           0     0     0     1          0     1     0     0\n1           0     1     0     0          0     0     0     1\n2           0     0     1     0          0     0     1     0\n

df.dtypes.sort_index()\n
c1_Oranges    Sparse[uint8, 0]\nc1_a          Sparse[uint8, 0]\nc1_i          Sparse[uint8, 0]\nc1_u          Sparse[uint8, 0]\nc2_Apples     Sparse[uint8, 0]\nc2_d          Sparse[uint8, 0]\nc2_h          Sparse[uint8, 0]\nc2_x          Sparse[uint8, 0]\ndtype: object\n

"},{"location":"api/preprocessing/OneHotEncoder/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'
  • y \u2014 defaults to None

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/OrdinalEncoder/","title":"OrdinalEncoder","text":"

Ordinal encoder.

This transformer maps each feature to integers. It can useful when a feature has string values (i.e. categorical variables).

"},{"location":"api/preprocessing/OrdinalEncoder/#parameters","title":"Parameters","text":"
  • unknown_value

    Type \u2192 int | None

    Default \u2192 0

    The value to use for unknown categories seen during transform_one. Unknown categories will be mapped to an integer once they are seen during learn_one. This value can be set to None in order to categories to None if they've never been seen before.

  • none_value

    Type \u2192 int

    Default \u2192 -1

    The value to encode None with.

"},{"location":"api/preprocessing/OrdinalEncoder/#attributes","title":"Attributes","text":"
  • categories

    A dict of dicts. The outer dict maps each feature to its inner dict. The inner dict maps each category to its code.

"},{"location":"api/preprocessing/OrdinalEncoder/#examples","title":"Examples","text":"

from river import preprocessing\n\nX = [\n    {\"country\": \"France\", \"place\": \"Taco Bell\"},\n    {\"country\": None, \"place\": None},\n    {\"country\": \"Sweden\", \"place\": \"Burger King\"},\n    {\"country\": \"France\", \"place\": \"Burger King\"},\n    {\"country\": \"Russia\", \"place\": \"Starbucks\"},\n    {\"country\": \"Russia\", \"place\": \"Starbucks\"},\n    {\"country\": \"Sweden\", \"place\": \"Taco Bell\"},\n    {\"country\": None, \"place\": None},\n]\n\nencoder = preprocessing.OrdinalEncoder()\nfor x in X:\n    print(encoder.transform_one(x))\n    encoder.learn_one(x)\n
{'country': 0, 'place': 0}\n{'country': -1, 'place': -1}\n{'country': 0, 'place': 0}\n{'country': 1, 'place': 2}\n{'country': 0, 'place': 0}\n{'country': 3, 'place': 3}\n{'country': 2, 'place': 1}\n{'country': -1, 'place': -1}\n

xb1 = pd.DataFrame(X[0:4], index=[0, 1, 2, 3])\nxb2 = pd.DataFrame(X[4:8], index=[4, 5, 6, 7])\n\nencoder = preprocessing.OrdinalEncoder()\nencoder.transform_many(xb1)\n
   country  place\n0        0      0\n1       -1     -1\n2        0      0\n3        0      0\n

encoder.learn_many(xb1)\nencoder.transform_many(xb2)\n
   country  place\n4        0      0\n5        0      0\n6        2      1\n7       -1     -1\n

"},{"location":"api/preprocessing/OrdinalEncoder/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

A lot of transformers don't actually have to do anything during the learn_many step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_many can override this method.

Parameters

  • X \u2014 'pd.DataFrame'
  • y \u2014 defaults to None

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Transform a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

Returns

pd.DataFrame: A new DataFrame.

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/PredClipper/","title":"PredClipper","text":"

Clips the target after predicting.

"},{"location":"api/preprocessing/PredClipper/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regressor model for which to clip the predictions.

  • y_min

    Type \u2192 float

    minimum value.

  • y_max

    Type \u2192 float

    maximum value.

"},{"location":"api/preprocessing/PredClipper/#examples","title":"Examples","text":"

from river import linear_model\nfrom river import preprocessing\n\ndataset = (\n    ({'a': 2, 'b': 4}, 80),\n    ({'a': 3, 'b': 5}, 100),\n    ({'a': 4, 'b': 6}, 120)\n)\n\nmodel = preprocessing.PredClipper(\n    regressor=linear_model.LinearRegression(),\n    y_min=0,\n    y_max=200\n)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel.predict_one({'a': -100, 'b': -200})\n
0\n

model.predict_one({'a': 50, 'b': 60})\n
200\n

"},{"location":"api/preprocessing/PredClipper/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y
  • kwargs

predict_one

Predict the output of features x.

Parameters

  • x
  • kwargs

Returns

The prediction.

"},{"location":"api/preprocessing/PreviousImputer/","title":"PreviousImputer","text":"

Imputes missing values by using the most recent value.

"},{"location":"api/preprocessing/PreviousImputer/#examples","title":"Examples","text":"

from river import preprocessing\n\nimputer = preprocessing.PreviousImputer()\n\nimputer.learn_one({'x': 1, 'y': 2})\nimputer.transform_one({'y': None})\n
{'y': 2}\n

imputer.transform_one({'x': None})\n
{'x': 1}\n

"},{"location":"api/preprocessing/PreviousImputer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/RobustScaler/","title":"RobustScaler","text":"

Scale features using statistics that are robust to outliers.

This Scaler removes the median and scales the data according to the interquantile range.

"},{"location":"api/preprocessing/RobustScaler/#parameters","title":"Parameters","text":"
  • with_centering

    Default \u2192 True

    Whether to centre the data before scaling.

  • with_scaling

    Default \u2192 True

    Whether to scale data to IQR.

  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1.

"},{"location":"api/preprocessing/RobustScaler/#attributes","title":"Attributes","text":"
  • median (dict)

    Mapping between features and instances of stats.Quantile(0.5)`.

  • iqr (dict)

    Mapping between features and instances of stats.IQR.

"},{"location":"api/preprocessing/RobustScaler/#examples","title":"Examples","text":"

from pprint import pprint\nimport random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12)} for _ in range(5)]\npprint(X)\n
[{'x': 10.557707},\n    {'x': 8.100043},\n    {'x': 9.100117},\n    {'x': 8.892842},\n    {'x': 10.945884}]\n

scaler = preprocessing.RobustScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
    {'x': 0.0}\n    {'x': -1.0}\n    {'x': 0.0}\n    {'x': -0.12449923287875722}\n    {'x': 1.1086595155704708}\n

"},{"location":"api/preprocessing/RobustScaler/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/SparseRandomProjector/","title":"SparseRandomProjector","text":"

Sparse random projector.

This transformer reduces the dimensionality of inputs by projecting them onto a sparse random projection matrix.

Ping Li et al. recommend using a minimum density of 1 / sqrt(n_features). The transformer is not aware of how many features will be seen, so the user must specify the density manually.

"},{"location":"api/preprocessing/SparseRandomProjector/#parameters","title":"Parameters","text":"
  • n_components

    Default \u2192 10

    Number of components to project the data onto.

  • density

    Default \u2192 0.1

    Density of the random projection matrix. The density is defined as the ratio of non-zero components in the matrix. It is equal to 1 - sparsity.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/preprocessing/SparseRandomProjector/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = preprocessing.SparseRandomProjector(\n    n_components=3,\n    seed=42\n)\n\nfor x, y in dataset:\n    x = model.transform_one(x)\n    print(x)\n    break\n
{0: 92.89572746525327, 1: 1344540.5692342375, 2: 0}\n

model = (\n    preprocessing.SparseRandomProjector(\n        n_components=5,\n        seed=42\n    ) |\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression()\n)\nevaluate.progressive_val_score(dataset, model, metrics.MAE())\n
MAE: 1.292572\n

"},{"location":"api/preprocessing/SparseRandomProjector/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. D. Achlioptas. 2003. Database-friendly random projections: Johnson-Lindenstrauss with binary coins. Journal of Computer and System Sciences 66 (2003) 671-687\u00a0\u21a9

  2. Ping Li, Trevor J. Hastie, and Kenneth W. Church. 2006. Very sparse random projections. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD'06). ACM, New York, NY, USA, 287-296.\u00a0\u21a9

"},{"location":"api/preprocessing/StandardScaler/","title":"StandardScaler","text":"

Scales the data so that it has zero mean and unit variance.

Under the hood, a running mean and a running variance are maintained. The scaling is slightly different than when scaling the data in batch because the exact means and variances are not known in advance. However, this doesn't have a detrimental impact on performance in the long run.

This transformer supports mini-batches as well as single instances. In the mini-batch case, the number of columns and the ordering of the columns are allowed to change between subsequent calls. In other words, this transformer will keep working even if you add and/or remove features every time you call learn_many and transform_many.

"},{"location":"api/preprocessing/StandardScaler/#parameters","title":"Parameters","text":"
  • with_std

    Default \u2192 True

    Whether or not each feature should be divided by its standard deviation.

"},{"location":"api/preprocessing/StandardScaler/#examples","title":"Examples","text":"

import random\nfrom river import preprocessing\n\nrandom.seed(42)\nX = [{'x': random.uniform(8, 12), 'y': random.uniform(8, 12)} for _ in range(6)]\nfor x in X:\n    print(x)\n
{'x': 10.557, 'y': 8.100}\n{'x': 9.100, 'y': 8.892}\n{'x': 10.945, 'y': 10.706}\n{'x': 11.568, 'y': 8.347}\n{'x': 9.687, 'y': 8.119}\n{'x': 8.874, 'y': 10.021}\n

scaler = preprocessing.StandardScaler()\n\nfor x in X:\n    scaler.learn_one(x)\n    print(scaler.transform_one(x))\n
{'x': 0.0, 'y': 0.0}\n{'x': -0.999, 'y': 0.999}\n{'x': 0.937, 'y': 1.350}\n{'x': 1.129, 'y': -0.651}\n{'x': -0.776, 'y': -0.729}\n{'x': -1.274, 'y': 0.992}\n

This transformer also supports mini-batch updates. You can call learn_many and provide a pandas.DataFrame:

import pandas as pd\nX = pd.DataFrame.from_dict(X)\n\nscaler = preprocessing.StandardScaler()\nscaler.learn_many(X[:3])\nscaler.learn_many(X[3:])\n

You can then call transform_many to scale a mini-batch of features:

scaler.transform_many(X)\n
    x         y\n0  0.444600 -0.933384\n1 -1.044259 -0.138809\n2  0.841106  1.679208\n3  1.477301 -0.685117\n4 -0.444084 -0.914195\n5 -1.274664  0.992296\n

"},{"location":"api/preprocessing/StandardScaler/#methods","title":"Methods","text":"learn_many

Update with a mini-batch of features.

Note that the update formulas for mean and variance are slightly different than in the single instance case, but they produce exactly the same result.

Parameters

  • X \u2014 'pd.DataFrame'

learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_many

Scale a mini-batch of features.

Parameters

  • X \u2014 'pd.DataFrame'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

  1. Welford's Method (and Friends) \u21a9

  2. Batch updates for simple statistics \u21a9

"},{"location":"api/preprocessing/StatImputer/","title":"StatImputer","text":"

Replaces missing values with a statistic.

This transformer allows you to replace missing values with the value of a running statistic. During a call to learn_one, for each feature, a statistic is updated whenever a numeric feature is observed. When transform_one is called, each feature with a None value is replaced with the current value of the corresponding statistic.

"},{"location":"api/preprocessing/StatImputer/#parameters","title":"Parameters","text":"
  • imputers

    A list of tuples where each tuple has two elements. The first elements is a feature name and the second value is an instance of stats.base.Univariate. The second value can also be an arbitrary value, such as -1, in which case the missing values will be replaced with it.

"},{"location":"api/preprocessing/StatImputer/#examples","title":"Examples","text":"
from river import preprocessing\nfrom river import stats\n

For numeric data, we can use a stats.Mean()` to replace missing values by the running average of the previously seen values:

X = [\n    {'temperature': 1},\n    {'temperature': 8},\n    {'temperature': 3},\n    {'temperature': None},\n    {'temperature': 4}\n]\n\nimp = preprocessing.StatImputer(('temperature', stats.Mean()))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'temperature': 1}\n{'temperature': 8}\n{'temperature': 3}\n{'temperature': 4.0}\n{'temperature': 4}\n

For discrete/categorical data, a common practice is to stats.Mode to replace missing values by the most commonly seen value:

X = [\n    {'weather': 'sunny'},\n    {'weather': 'rainy'},\n    {'weather': 'sunny'},\n    {'weather': None},\n    {'weather': 'rainy'},\n    {'weather': 'rainy'},\n    {'weather': None}\n]\n\nimp = preprocessing.StatImputer(('weather', stats.Mode()))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'sunny'}\n{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n

You can also choose to replace missing values with a constant value, as so:

imp = preprocessing.StatImputer(('weather', 'missing'))\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny'}\n{'weather': 'rainy'}\n{'weather': 'sunny'}\n{'weather': 'missing'}\n{'weather': 'rainy'}\n{'weather': 'rainy'}\n{'weather': 'missing'}\n

Multiple imputers can be defined by providing a tuple for each feature which you want to impute:

X = [\n    {'weather': 'sunny', 'temperature': 8},\n    {'weather': 'rainy', 'temperature': 3},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': None, 'temperature': 4},\n    {'weather': 'snowy', 'temperature': -4},\n    {'weather': 'snowy', 'temperature': -3},\n    {'weather': 'snowy', 'temperature': -3},\n    {'weather': None, 'temperature': None}\n]\n\nimp = preprocessing.StatImputer(\n    ('temperature', stats.Mean()),\n    ('weather', stats.Mode())\n)\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny', 'temperature': 8}\n{'weather': 'rainy', 'temperature': 3}\n{'weather': 'sunny', 'temperature': 5.5}\n{'weather': 'sunny', 'temperature': 4}\n{'weather': 'snowy', 'temperature': -4}\n{'weather': 'snowy', 'temperature': -3}\n{'weather': 'snowy', 'temperature': -3}\n{'weather': 'snowy', 'temperature': 0.8333}\n

A sophisticated way to go about imputation is condition the statistics on a given feature. For instance, we might want to replace a missing temperature with the average temperature of a particular weather condition. As an example, consider the following dataset where the temperature is missing, but not the weather condition:

X = [\n    {'weather': 'sunny', 'temperature': 8},\n    {'weather': 'rainy', 'temperature': 3},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': 'rainy', 'temperature': 4},\n    {'weather': 'sunny', 'temperature': 10},\n    {'weather': 'sunny', 'temperature': None},\n    {'weather': 'sunny', 'temperature': 12},\n    {'weather': 'rainy', 'temperature': None}\n]\n

Each missing temperature can be replaced with the average temperature of the corresponding weather condition as so:

from river import compose\n\nimp = compose.Grouper(\n    preprocessing.StatImputer(('temperature', stats.Mean())),\n    by='weather'\n)\n\nfor x in X:\n    imp.learn_one(x)\n    print(imp.transform_one(x))\n
{'weather': 'sunny', 'temperature': 8}\n{'weather': 'rainy', 'temperature': 3}\n{'weather': 'sunny', 'temperature': 8.0}\n{'weather': 'rainy', 'temperature': 4}\n{'weather': 'sunny', 'temperature': 10}\n{'weather': 'sunny', 'temperature': 9.0}\n{'weather': 'sunny', 'temperature': 12}\n{'weather': 'rainy', 'temperature': 3.5}\n

Note that you can also create a Grouper with the * operator:

imp = preprocessing.StatImputer(('temperature', stats.Mean())) * 'weather'\n
"},{"location":"api/preprocessing/StatImputer/#methods","title":"Methods","text":"learn_one

Update with a set of features x.

A lot of transformers don't actually have to do anything during the learn_one step because they are stateless. For this reason the default behavior of this function is to do nothing. Transformers that however do something during the learn_one can override this method.

Parameters

  • x \u2014 'dict'

transform_one

Transform a set of features x.

Parameters

  • x \u2014 'dict'

Returns

dict: The transformed values.

"},{"location":"api/preprocessing/TargetMinMaxScaler/","title":"TargetMinMaxScaler","text":"

Applies min-max scaling to the target.

"},{"location":"api/preprocessing/TargetMinMaxScaler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

"},{"location":"api/preprocessing/TargetMinMaxScaler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetMinMaxScaler(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15)\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 2.018905\n

"},{"location":"api/preprocessing/TargetMinMaxScaler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/preprocessing/TargetStandardScaler/","title":"TargetStandardScaler","text":"

Applies standard scaling to the target.

"},{"location":"api/preprocessing/TargetStandardScaler/#parameters","title":"Parameters","text":"
  • regressor

    Type \u2192 base.Regressor

    Regression model to wrap.

"},{"location":"api/preprocessing/TargetStandardScaler/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\nmodel = (\n    preprocessing.StandardScaler() |\n    preprocessing.TargetStandardScaler(\n        regressor=linear_model.LinearRegression(intercept_lr=0.15)\n    )\n)\nmetric = metrics.MSE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MSE: 2.005999\n

"},{"location":"api/preprocessing/TargetStandardScaler/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x
  • y

predict_one

Predict the output of features x.

Parameters

  • x

Returns

The prediction.

"},{"location":"api/proba/Beta/","title":"Beta","text":"

Beta distribution for binary data.

A Beta distribution is very similar to a Bernoulli distribution in that it counts occurrences of boolean events. The differences lies in what is being measured. A Binomial distribution models the probability of an event occurring, whereas a Beta distribution models the probability distribution itself. In other words, it's a probability distribution over probability distributions.

"},{"location":"api/proba/Beta/#parameters","title":"Parameters","text":"
  • alpha

    Type \u2192 int

    Default \u2192 1

    Initial alpha parameter.

  • beta

    Type \u2192 int

    Default \u2192 1

    Initial beta parameter.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Beta/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/Beta/#examples","title":"Examples","text":"

from river import proba\n\nsuccesses = 81\nfailures = 219\nbeta = proba.Beta(successes, failures)\n\nbeta(.21), beta(.35)\n
(0.867..., 0.165...)\n

for success in range(100):\n    beta.update(True)\nfor failure in range(200):\n    beta.update(False)\n\nbeta(.21), beta(.35)\n
(2.525...e-05, 0.841...)\n

beta.cdf(.35)\n
0.994168...\n

"},{"location":"api/proba/Beta/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • p \u2014 'float'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'

  1. What is the intuition behind beta distribution? \u21a9

"},{"location":"api/proba/Gaussian/","title":"Gaussian","text":"

Normal distribution with parameters mu and sigma.

"},{"location":"api/proba/Gaussian/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Gaussian/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • mu

  • n_samples

    The number of observed samples.

  • sigma

"},{"location":"api/proba/Gaussian/#examples","title":"Examples","text":"

from river import proba\n\np = proba.Gaussian()\np.update(6)\np.update(7)\n\np\n
\ud835\udca9(\u03bc=6.500, \u03c3=0.707)\n

p(6.5)\n
0.564189\n

p.revert(7)\np\n
\ud835\udca9(\u03bc=6.000, \u03c3=0.000)\n

"},{"location":"api/proba/Gaussian/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'
  • w \u2014 defaults to 1.0

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'
  • w \u2014 defaults to 1.0

"},{"location":"api/proba/Multinomial/","title":"Multinomial","text":"

Multinomial distribution for categorical data.

"},{"location":"api/proba/Multinomial/#parameters","title":"Parameters","text":"
  • events

    Type \u2192 dict | list | None

    Default \u2192 None

    An optional list of events that already occurred.

  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/Multinomial/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/Multinomial/#examples","title":"Examples","text":"

from river import proba\n\np = proba.Multinomial(['green'] * 3)\np.update('red')\np('red')\n
0.25\n

p.update('red')\np.update('red')\np('green')\n
0.5\n

p.revert('red')\np.revert('red')\np('red')\n
0.25\n

You can wrap this with a utils.Rolling to measure a distribution over a window:

from river import utils\n\nX = ['red', 'green', 'green', 'blue', 'blue']\n\ndist = utils.Rolling(\n    proba.Multinomial(),\n    window_size=3\n)\n\nfor x in X:\n    dist.update(x)\n    print(dist)\n    print()\n
P(red) = 1.000\n<BLANKLINE>\nP(red) = 0.500\nP(green) = 0.500\n<BLANKLINE>\nP(green) = 0.667\nP(red) = 0.333\n<BLANKLINE>\nP(green) = 0.667\nP(blue) = 0.333\nP(red) = 0.000\n<BLANKLINE>\nP(blue) = 0.667\nP(green) = 0.333\nP(red) = 0.000\n<BLANKLINE>\n

You can wrap this with a utils.Rolling to measure a distribution over a window of time:

import datetime as dt\n\nX = ['red', 'green', 'green', 'blue']\ndays = [1, 2, 3, 4]\n\ndist = utils.TimeRolling(\n    proba.Multinomial(),\n    period=dt.timedelta(days=2)\n)\n\nfor x, day in zip(X, days):\n    dist.update(x, t=dt.datetime(2019, 1, day))\n    print(dist)\n    print()\n
P(red) = 1.000\n<BLANKLINE>\nP(red) = 0.500\nP(green) = 0.500\n<BLANKLINE>\nP(green) = 1.000\nP(red) = 0.000\n<BLANKLINE>\nP(green) = 0.500\nP(blue) = 0.500\nP(red) = 0.000\n<BLANKLINE>\n

"},{"location":"api/proba/Multinomial/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'typing.Hashable'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'typing.Hashable'

"},{"location":"api/proba/MultivariateGaussian/","title":"MultivariateGaussian","text":"

Multivariate normal distribution with parameters mu and var.

"},{"location":"api/proba/MultivariateGaussian/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/MultivariateGaussian/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • mu

    The mean value of the distribution.

  • n_samples

    The number of observed samples.

  • sigma

    The standard deviation of the distribution.

  • var

    The variance of the distribution.

"},{"location":"api/proba/MultivariateGaussian/#examples","title":"Examples","text":"

import numpy as np\nimport pandas as pd\nfrom river import proba\n\nnp.random.seed(42)\nX = pd.DataFrame(\n    np.random.random((8, 3)),\n    columns=[\"red\", \"green\", \"blue\"]\n)\nX\n
        red     green      blue\n0  0.374540  0.950714  0.731994\n1  0.598658  0.156019  0.155995\n2  0.058084  0.866176  0.601115\n3  0.708073  0.020584  0.969910\n4  0.832443  0.212339  0.181825\n5  0.183405  0.304242  0.524756\n6  0.431945  0.291229  0.611853\n7  0.139494  0.292145  0.366362\n

p = proba.MultivariateGaussian(seed=42)\np.n_samples\n
0.0\n

for x in X.to_dict(orient=\"records\"):\n    p.update(x)\np.var\n
           blue     green       red\nblue   0.076119  0.020292 -0.010128\ngreen  0.020292  0.112931 -0.053268\nred   -0.010128 -0.053268  0.078961\n

Retrieving current state in nice format is simple

p\n
\ud835\udca9(\n    \u03bc=(0.518, 0.387, 0.416),\n    \u03c3^2=(\n        [ 0.076  0.020 -0.010]\n        [ 0.020  0.113 -0.053]\n        [-0.010 -0.053  0.079]\n    )\n)\n

To retrieve number of samples and mode:

p.n_samples\n
8.0\n
p.mode\n
{'blue': 0.5179..., 'green': 0.3866..., 'red': 0.4158...}\n

To retrieve the PDF and CDF:

p(x)\n
0.97967...\n
p.cdf(x)\n
0.00787...\n

To sample data from distribution:

p.sample()\n
{'blue': -0.179..., 'green': -0.051..., 'red': 0.376...}\n

MultivariateGaussian works with utils.Rolling:

from river import utils\n\np = utils.Rolling(MultivariateGaussian(), window_size=5)\nfor x in X.to_dict(orient=\"records\"):\n    p.update(x)\np.var\n
           blue     green       red\nblue   0.087062 -0.022873  0.007765\ngreen -0.022873  0.014279 -0.025181\nred    0.007765 -0.025181  0.095066\n

MultivariateGaussian works with utils.TimeRolling:

from datetime import datetime as dt, timedelta as td\nX.index = [dt(2023, 3, 28, 0, 0, 0) + td(seconds=x) for x in range(8)]\np = utils.TimeRolling(MultivariateGaussian(), period=td(seconds=5))\nfor t, x in X.iterrows():\n    p.update(x.to_dict(), t=t)\np.var\n
           blue     green       red\nblue   0.087062 -0.022873  0.007765\ngreen -0.022873  0.014279 -0.025181\nred    0.007765 -0.025181  0.095066\n

Variance on diagonal is consistent with proba.Gaussian.

multi = proba.MultivariateGaussian()\nsingle = proba.Gaussian()\nfor x in X.to_dict(orient='records'):\n    multi.update(x)\n    single.update(x['blue'])\nmulti.mu['blue'] == single.mu\n
True\n
multi.sigma['blue']['blue'] == single.sigma\n
True\n

"},{"location":"api/proba/MultivariateGaussian/#methods","title":"Methods","text":"call

PDF(x) method.

Parameters

  • x \u2014 'dict[str, float]'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'dict[str, float]'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'dict[str, float]'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'dict[str, float]'

"},{"location":"api/proba/base/BinaryDistribution/","title":"BinaryDistribution","text":"

A probability distribution for discrete values.

"},{"location":"api/proba/base/BinaryDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/BinaryDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/BinaryDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'bool'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'bool'

"},{"location":"api/proba/base/ContinuousDistribution/","title":"ContinuousDistribution","text":"

A probability distribution for continuous values.

"},{"location":"api/proba/base/ContinuousDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/ContinuousDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/ContinuousDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

cdf

Cumulative density function, i.e. P(X <= x).

Parameters

  • x \u2014 'float'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'float'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'float'

"},{"location":"api/proba/base/DiscreteDistribution/","title":"DiscreteDistribution","text":"

A probability distribution for discrete values.

"},{"location":"api/proba/base/DiscreteDistribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/DiscreteDistribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/DiscreteDistribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

revert

Reverts the parameters of the distribution for a given observation.

Parameters

  • x \u2014 'typing.Hashable'

sample

Sample a random value from the distribution.

update

Updates the parameters of the distribution given a new observation.

Parameters

  • x \u2014 'typing.Hashable'

"},{"location":"api/proba/base/Distribution/","title":"Distribution","text":"

General distribution.

"},{"location":"api/proba/base/Distribution/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generator seed for reproducibility.

"},{"location":"api/proba/base/Distribution/#attributes","title":"Attributes","text":"
  • mode

    The most likely value in the distribution.

  • n_samples

    The number of observed samples.

"},{"location":"api/proba/base/Distribution/#methods","title":"Methods","text":"call

Probability mass/density function.

Parameters

  • x \u2014 'typing.Any'

sample

Sample a random value from the distribution.

"},{"location":"api/reco/Baseline/","title":"Baseline","text":"

Baseline for recommender systems.

A first-order approximation of the bias involved in target. The model equation is defined as:

\\[\\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i}\\]

Where \\(bu_{u}\\) and \\(bi_{i}\\) are respectively the user and item biases.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/Baseline/#parameters","title":"Parameters","text":"
  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the weights.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    regularization amount used to push weights towards 0.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/Baseline/#attributes","title":"Attributes","text":"
  • global_mean (stats.Mean)

    The target arithmetic mean.

  • u_biases (collections.defaultdict)

    The user bias weights.

  • i_biases (collections.defaultdict)

    The item bias weights.

  • u_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user bias weights.

  • i_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item bias weights.

"},{"location":"api/reco/Baseline/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.Baseline(optimizer=optim.SGD(0.005))\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.538120\n

"},{"location":"api/reco/Baseline/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/BiasedMF/","title":"BiasedMF","text":"

Biased Matrix Factorization for recommender systems.

The model equation is defined as:

\\[\\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} + \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle\\]

Where \\(bu_{u}\\) and \\(bi_{i}\\) are respectively the user and item biases. The last term being simply the dot product between the latent vectors of the given user-item pair:

\\[\\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f}\\]

where \\(k\\) is the number of latent factors.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/BiasedMF/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • bias_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the bias weights.

  • latent_optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent weights.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2_bias

    Default \u2192 0.0

    Amount of L2 regularization used to push bias weights towards 0.

  • l2_latent

    Default \u2192 0.0

    Amount of L2 regularization used to push latent weights towards 0.

  • weight_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Weights initialization scheme.

  • latent_initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/BiasedMF/#attributes","title":"Attributes","text":"
  • global_mean (stats.Mean)

    The target arithmetic mean.

  • u_biases (collections.defaultdict)

    The user bias weights.

  • i_biases (collections.defaultdict)

    The item bias weights.

  • u_latents (collections.defaultdict)

    The user latent vectors randomly initialized.

  • i_latents (collections.defaultdict)

    The item latent vectors randomly initialized.

  • u_bias_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user bias weights.

  • i_bias_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item bias weights.

  • u_latent_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user latent weights.

  • i_latent_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item latent weights.

"},{"location":"api/reco/BiasedMF/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.BiasedMF(\n    n_factors=10,\n    bias_optimizer=optim.SGD(0.025),\n    latent_optimizer=optim.SGD(0.025),\n    latent_initializer=optim.initializers.Normal(mu=0., sigma=0.1, seed=71)\n)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.489025\n

"},{"location":"api/reco/BiasedMF/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Paterek, A., 2007, August. Improving regularized singular value decomposition for collaborative filtering. In Proceedings of KDD cup and workshop (Vol. 2007, pp. 5-8) \u21a9

  2. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/FunkMF/","title":"FunkMF","text":"

Funk Matrix Factorization for recommender systems.

The model equation is defined as:

\\[\\hat{y}(x) = \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f}\\]

where \\(k\\) is the number of latent factors.

This model expects a dict input with a user and an item entries without any type constraint on their values (i.e. can be strings or numbers). Other entries are ignored.

"},{"location":"api/reco/FunkMF/#parameters","title":"Parameters","text":"
  • n_factors

    Default \u2192 10

    Dimensionality of the factorization or number of latent factors.

  • optimizer

    Type \u2192 optim.base.Optimizer | None

    Default \u2192 None

    The sequential optimizer used for updating the latent factors.

  • loss

    Type \u2192 optim.losses.Loss | None

    Default \u2192 None

    The loss function to optimize for.

  • l2

    Default \u2192 0.0

    Amount of L2 regularization used to push weights towards 0.

  • initializer

    Type \u2192 optim.initializers.Initializer | None

    Default \u2192 None

    Latent factors initialization scheme.

  • clip_gradient

    Default \u2192 1000000000000.0

    Clips the absolute value of each gradient value.

  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/FunkMF/#attributes","title":"Attributes","text":"
  • u_latents (collections.defaultdict)

    The user latent vectors randomly initialized.

  • i_latents (collections.defaultdict)

    The item latent vectors randomly initialized.

  • u_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the user latent weights.

  • i_optimizer (optim.base.Optimizer)

    The sequential optimizer used for updating the item latent weights.

"},{"location":"api/reco/FunkMF/#examples","title":"Examples","text":"

from river import optim\nfrom river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.FunkMF(\n    n_factors=10,\n    optimizer=optim.SGD(0.1),\n    initializer=optim.initializers.Normal(mu=0., sigma=0.1, seed=11),\n)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
1.866272\n

"},{"location":"api/reco/FunkMF/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Netflix update: Try this at home \u21a9

  2. Matrix factorization techniques for recommender systems \u21a9

"},{"location":"api/reco/RandomNormal/","title":"RandomNormal","text":"

Predicts random values sampled from a normal distribution.

The parameters of the normal distribution are fitted with running statistics. They parameters are independent of the user, the item, or the context, and are instead fitted globally. This recommender therefore acts as a dummy model that any serious model should easily outperform.

"},{"location":"api/reco/RandomNormal/#parameters","title":"Parameters","text":"
  • seed

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/RandomNormal/#attributes","title":"Attributes","text":"
  • mean

    stats.Mean

  • variance

    stats.Var

"},{"location":"api/reco/RandomNormal/#examples","title":"Examples","text":"

from river import reco\n\ndataset = (\n    ({'user': 'Alice', 'item': 'Superman'}, 8),\n    ({'user': 'Alice', 'item': 'Terminator'}, 9),\n    ({'user': 'Alice', 'item': 'Star Wars'}, 8),\n    ({'user': 'Alice', 'item': 'Notting Hill'}, 2),\n    ({'user': 'Alice', 'item': 'Harry Potter'}, 5),\n    ({'user': 'Bob', 'item': 'Superman'}, 8),\n    ({'user': 'Bob', 'item': 'Terminator'}, 9),\n    ({'user': 'Bob', 'item': 'Star Wars'}, 8),\n    ({'user': 'Bob', 'item': 'Notting Hill'}, 2)\n)\n\nmodel = reco.RandomNormal(seed=42)\n\nfor x, y in dataset:\n    model.learn_one(**x, y=y)\n\nmodel.predict_one(user='Bob', item='Harry Potter')\n
6.147299621751425\n

"},{"location":"api/reco/RandomNormal/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/reco/base/Ranker/","title":"Ranker","text":"

Base class for ranking models.

"},{"location":"api/reco/base/Ranker/#parameters","title":"Parameters","text":"
  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random number generation seed. Set this for reproducibility.

"},{"location":"api/reco/base/Ranker/#attributes","title":"Attributes","text":"
  • is_contextual
"},{"location":"api/reco/base/Ranker/#methods","title":"Methods","text":"learn_one

Fits a user-item pair and a real-valued target y.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • y \u2014 'Reward'
  • x \u2014 'dict | None' \u2014 defaults to None

predict_one

Predicts the target value of a set of features x.

Parameters

  • user \u2014 'ID'
  • item \u2014 'ID'
  • x \u2014 'dict | None' \u2014 defaults to None

Returns

Reward: The predicted preference from the user for the item.

rank

Rank models by decreasing order of preference for a given user.

Parameters

  • user \u2014 'ID'
  • items \u2014 'set[ID]'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/rules/AMRules/","title":"AMRules","text":"

Adaptive Model Rules.

AMRules1 is a rule-based algorithm for incremental regression tasks. AMRules relies on the Hoeffding bound to build its rule set, similarly to Hoeffding Trees. The Variance-Ratio heuristic is used to evaluate rules' splits. Moreover, this rule-based regressor has additional capacities not usually found in decision trees.

Firstly, each created decision rule has a built-in drift detection mechanism. Every time a drift is detected, the affected decision rule is removed. In addition, AMRules' rules also have anomaly detection capabilities. After a warm-up period, each rule tests whether or not the incoming instances are anomalies. Anomalous instances are not used for training.

Every time no rule is covering an incoming example, a default rule is used to learn from it. A rule covers an instance when all of the rule's literals (tests joined by the logical operation and) match the input case. The default rule is also applied for predicting examples not covered by any rules from the rule set.

"},{"location":"api/rules/AMRules/#parameters","title":"Parameters","text":"
  • n_min

    Type \u2192 int

    Default \u2192 200

    The total weight that must be observed by a rule between expansion attempts.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    The split test significance. The split confidence is given by 1 - delta.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    The tie-breaking threshold.

  • pred_type

    Type \u2192 str

    Default \u2192 adaptive

    The prediction strategy used by the decision rules. Can be either: - \"mean\": outputs the target mean within the partitions defined by the decision rules. - \"model\": always use instances of the model passed pred_model to make predictions. - \"adaptive\": dynamically selects between \"mean\" and \"model\" for each incoming example. The most accurate option at the moment will be used.

  • pred_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model that will be replicated for every rule when pred_type is either \"model\" or \"adaptive\".

  • splitter

    Type \u2192 spl.Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detection model that is used by each rule. Care must be taken to avoid the triggering of too many false alarms or delaying too much the concept drift detection. By default, drift.ADWIN is used if drift_detector is None.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.99

    The exponential decaying factor applied to the learning models' absolute errors, that are monitored if pred_type='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • anomaly_threshold

    Type \u2192 float

    Default \u2192 -0.75

    The threshold below which instances will be considered anomalies by the rules.

  • m_min

    Type \u2192 int

    Default \u2192 30

    The minimum total weight a rule must observe before it starts to skip anomalous instances during training.

  • ordered_rule_set

    Type \u2192 bool

    Default \u2192 True

    If True, only the first rule that covers an instance will be used for training or prediction. If False, all the rules covering an instance will be updated during training, and the predictions for an instance will be the average prediction of all rules covering that example.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples each partition of a binary split candidate must have to be considered valid.

"},{"location":"api/rules/AMRules/#attributes","title":"Attributes","text":"
  • n_drifts_detected

    The number of detected concept drifts.

"},{"location":"api/rules/AMRules/#examples","title":"Examples","text":"

from river import datasets\nfrom river import drift\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing\nfrom river import rules\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    rules.AMRules(\n        delta=0.01,\n        n_min=50,\n        drift_detector=drift.ADWIN()\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.119553\n

"},{"location":"api/rules/AMRules/#methods","title":"Methods","text":"anomaly_score

Aggregated anomaly score computed using all the rules that cover the input instance.

Returns the mean anomaly score, the standard deviation of the score, and the proportion of rules that cover the instance (support). If the support is zero, it means that the default rule was used (not other rule covered x).

Parameters

  • x

Returns

tuple[float, float, float]: mean_anomaly_score, std_anomaly_score, support

debug_one

Return an explanation of how x is predicted

Parameters

  • x

Returns

str: A representation of the rules that cover the input and their prediction.

learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 'int' \u2014 defaults to 1

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/rules/AMRules/#notes","title":"Notes","text":"

AMRules treats all the non-numerical inputs as nominal features. All instances of numbers.Number will be treated as continuous, even if they represent integer categories. When using nominal features, pred_type should be set to \"mean\", otherwise errors will be thrown while trying to update the underlying rules' prediction models. Prediction strategies other than \"mean\" can be used, as long as the prediction model passed to pred_model supports nominal features.

  1. Duarte, J., Gama, J. and Bifet, A., 2016. Adaptive model rules from high-speed data streams. ACM Transactions on Knowledge Discovery from Data (TKDD), 10(3), pp.1-22.\u00a0\u21a9

"},{"location":"api/sketch/Counter/","title":"Counter","text":"

Counting using the Count-Min Sketch (CMS) algorithm.

Contrary to an exhaustive approach, e.g., using a collections.Counter, CMS uses a limited and fixed amount of memory. The CMS algorithm uses a sketch structure consisting of a matrix \\(w \\times d\\).

These dimensions are obtained via:

  • \\(w = \\lceil \\frac{e}{\\epsilon} \\rceil\\), where \\(e\\) is the Euler number.

  • \\(d = \\lceil \\ln\\left(\\frac{1}{\\delta} \\right) \\rceil\\).

Decreasing the values of \\(\\epsilon\\) (epsilon) and \\(\\delta\\) (delta) increase the accuracy of the algorithm, at the cost of increased memory usage. The values of w and d control the hash tables' capability and the amount of hash collisions, respectively.

CMS works by keeping d hash tables with w slots each. Elements are mapped to a slot in each hash table. These tables store the counting estimates. This implementation assumes the turnstile case described in the paper, i.e., count values and updates can be negative.

The count values obtained by CMS are always overestimates. Suppose \\(c_i\\) and \\(\\hat{c}_i\\) are the ground truth and estimated count values, respectively, for a given element \\(i\\). CMS guarantees that \\(c_i \\le \\hat{c}_i\\) and, with probability \\(1 - \\delta\\), \\(\\hat{c}_i \\le c_i + \\epsilon||\\mathbf{c}||_1\\). In the expression, \\(||\\mathbf{c}||_1 = \\sum_i |c_i|\\).

"},{"location":"api/sketch/Counter/#parameters","title":"Parameters","text":"
  • epsilon

    Type \u2192 float

    Default \u2192 0.1

    The approximation error parameter. The error in answering a query is within a factor of epsilon with probability delta.

  • delta

    Type \u2192 float

    Default \u2192 0.05

    A query estimates have a probability of 1 - delta of having errors which are a factor of epsilon. See the CMS description above for more details.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/sketch/Counter/#attributes","title":"Attributes","text":"
  • n_slots

    The number of slots in each hash table.

  • n_tables

    The number of stored hash tables.

"},{"location":"api/sketch/Counter/#examples","title":"Examples","text":"
import collections\nfrom river import sketch\n\ncms = sketch.Counter(epsilon=0.005, seed=0)\n\nrng = random.Random(7)\n\ncounter = collections.Counter()\n

We can check the number of slots per hash table:

cms.n_slots\n
544\n

And the number of hash tables:

cms.n_tables\n
3\n

Let's compare the sketch against a brute force approach:

vals = []\nfor _ in range(10000):\n    v = rng.randint(-1000, 1000)\n    cms.update(v)\n    counter[v] += 1\n    vals.append(v)\n

Now, we can compare the estimates of CMS against the exhaustive counting strategy:

counter[7]\n
5\n
cms[7]\n
12\n
counter[532]\n
4\n
cms[532]\n
15\n

Keep in mind that CMS is an approximate sketch algorithm. Couting estimates for unseen values might not be always reliable:

cms[1001]\n
9\n

We can check the number of elements stored by each approach:

len(counter), len(cms)\n
(1982, 1632)\n

And also retrieve the total sum of counts:

cms.total()\n
10000\n

We can decrease the error by allocating more memory in the CMS:

cms_a = sketch.Counter(epsilon=0.001, delta=0.01, seed=0)\nfor v in vals:\n    cms_a.update(v)\n\ncms_a[7]\n
5\n
cms_a[532]\n
4\n

We can also obtain estimates of the dot product between two instances of river.collections.Counter. This could be useful, for instance, to estimate the cosine distance between the data monitored in two different counter sketch instances. Suppose we create another CMS instance (the number of slots and hash tables must match) that monitors another sample of the same data generating process:

cms_b = sketch.Counter(epsilon=0.001, delta=0.01, seed=7)\n\nfor _ in range(10000):\n    v = rng.randint(-1000, 1000)\n    cms_b.update(v)\n

Now, we can define a cosine distance function:

def cosine_dist(cms_a, cms_b):\n    num = cms_a @ cms_b\n    den = math.sqrt(cms_a @ cms_a) * math.sqrt(cms_b @ cms_b)\n    return num / den\n

And use it to calculate the cosine distance between the elements monitored in cms_a and cms_b:

cosine_dist(cms_a, cms_b)\n
0.175363...\n

"},{"location":"api/sketch/Counter/#methods","title":"Methods","text":"total

Return the total count.

update
  1. Cormode, G., & Muthukrishnan, S. (2005). An improved data stream summary: the count-min sketch and its applications. Journal of Algorithms, 55(1), 58-75. \u21a9

  2. Count-Min Sketch \u21a9

  3. Hash functions family generator in Python \u21a9

"},{"location":"api/sketch/HeavyHitters/","title":"HeavyHitters","text":"

Find the Heavy Hitters using the Lossy Count with Forgetting factor algorithm1.

Keep track of the most frequent item(set)s in a data stream and apply a forgetting factor to discard previous frequent items that do not often appear anymore. This is an approximation algorithm designed to work with a limited amount of memory rather than accounting for every possible solution (thus using an unbounded memory footprint). Any hashable type can be passed as input, hence tuples or frozensets can also be monitored.

Considering a data stream where n elements were observed so far, the Lossy Count algorithm has the following properties:

  • All item(set)s whose true frequency exceeds support * n are output. There are no

false negatives;

  • No item(set) whose true frequency is less than (support - epsilon) * n is outputted;

  • Estimated frequencies are less than the true frequencies by at most epsilon * n.

"},{"location":"api/sketch/HeavyHitters/#parameters","title":"Parameters","text":"
  • support

    Type \u2192 float

    Default \u2192 0.001

    The support threshold used to determine if an item is frequent. The value of support must be in \\([0, 1]\\). Elements whose frequency is higher than support times the number of observations seen so far are outputted.

  • epsilon

    Type \u2192 float

    Default \u2192 0.005

    Error parameter to control the accuracy-memory tradeoff. The value of epsilon must be in \\((0, 1]\\) and typically epsilon \\(\\ll\\) support. The smaller the epsilon, the more accurate the estimates will be, but the count sketch will have an increased memory footprint.

  • fading_factor

    Type \u2192 float

    Default \u2192 0.999

    Forgetting factor applied to the frequency estimates to reduce the impact of old items. The value of fading_factor must be in \\((0, 1]\\).

"},{"location":"api/sketch/HeavyHitters/#examples","title":"Examples","text":"
import random\nimport string\nfrom river import sketch\n\nrng = random.Random(42)\nhh = sketch.HeavyHitters()\n

We will feed the counter with printable ASCII characters:

for _ in range(10_000):\n    hh.update(rng.choice(string.printable))\n

We can retrieve estimates of the n top elements and their frequencies. Let's try n=3

hh.most_common(3)\n
[(',', 122.099142...), ('[', 116.049510...), ('W', 115.013402...)]\n

We can also access estimates of individual elements:

hh['A']\n
99.483575...\n

Unobserved elements are handled just fine:

hh[(1, 2, 3)]\n
0.0\n

"},{"location":"api/sketch/HeavyHitters/#methods","title":"Methods","text":"most_common update
  1. Veloso, B., Tabassum, S., Martins, C., Espanha, R., Azevedo, R., & Gama, J. (2020). Interconnect bypass fraud detection: a case study. Annals of Telecommunications, 75(9), 583-596.\u00a0\u21a9

"},{"location":"api/sketch/Histogram/","title":"Histogram","text":"

Streaming histogram.

"},{"location":"api/sketch/Histogram/#parameters","title":"Parameters","text":"
  • max_bins

    Default \u2192 256

    Maximal number of bins.

"},{"location":"api/sketch/Histogram/#attributes","title":"Attributes","text":"
  • n

    Total number of seen values.

"},{"location":"api/sketch/Histogram/#examples","title":"Examples","text":"

from river import sketch\nimport numpy as np\n\nnp.random.seed(42)\n\nvalues = np.hstack((\n    np.random.normal(-3, 1, 1000),\n    np.random.normal(3, 1, 1000),\n))\n\nhist = sketch.Histogram(max_bins=15)\n\nfor x in values:\n    hist.update(x)\n\nfor bin in hist:\n    print(bin)\n
[-6.24127, -6.24127]: 1\n[-5.69689, -5.19881]: 8\n[-5.12390, -4.43014]: 57\n[-4.42475, -3.72574]: 158\n[-3.71984, -3.01642]: 262\n[-3.01350, -2.50668]: 206\n[-2.50329, -0.81020]: 294\n[-0.80954, 0.29677]: 19\n[0.40896, 0.82733]: 7\n[0.84661, 1.25147]: 24\n[1.26029, 2.30758]: 178\n[2.31081, 3.05701]: 284\n[3.05963, 3.69695]: 242\n[3.69822, 5.64434]: 258\n[6.13775, 6.19311]: 2\n

"},{"location":"api/sketch/Histogram/#methods","title":"Methods","text":"cdf

Cumulative distribution function.

Parameters

  • x

iter_cdf

Yields CDF values for a sorted iterable of values.

This is faster than calling cdf with many values.

Parameters

  • X
  • verbose \u2014 defaults to False

  1. Ben-Haim, Y. and Tom-Tov, E., 2010. A streaming parallel decision tree algorithm. Journal of Machine Learning Research, 11(Feb), pp.849-872. \u21a9

  2. Go implementation \u21a9

"},{"location":"api/sketch/Set/","title":"Set","text":"

Approximate tracking of observed items using Bloom filters.

Bloom filters enable using a limited amount of memory to check whether a given item was already observed in a stream. They can be used similarly to Python's built-in sets with the difference that items are not explicitly stored. For that reason, element removal and set difference are not currently supported.

Bloom filters store a bit array and map incoming items to k index positions in the such array. The selected positions are set to True. Therefore, a binary code representation is created for each item. Membership works by projecting the query item and checking if every position of its binary code is True. If that is not the case, the item was not observed yet. A nice property of Bloom filters is that they do not yield false negatives: unobserved items might be signalized as observed, but observed items are never signalized as unobserved.

If more than one item has the same binary code, i.e., hash collisions happen, the accuracy of the Bloom filter decreases, and false positives are produced. For instance, a previously unobserved item is signalized as observed. Increasing the size of the binary array and the value of k increase the filter's accuracy as hash collisions are avoided. Nonetheless, even using an increased number of hash functions, hash collisions will frequently happen if the array capacity is too small. The length of the bit array and the number of hash functions are inferred automatically from the supplied capacity and fp_rate.

"},{"location":"api/sketch/Set/#parameters","title":"Parameters","text":"
  • capacity

    Type \u2192 int

    Default \u2192 2048

    The maximum capacity of the Bloom filter, i.e., the maximum number of distinct items to store given the selected fp_rate.

  • fp_rate

    Type \u2192 float

    Default \u2192 0.01

    The allowed rate of false positives. The probability of obtaining a true positive is 1 - fp_rate.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/sketch/Set/#attributes","title":"Attributes","text":"
  • n_bits

    Return the size of the binary array used by the Bloom filter.

  • n_hash

    Return the number of used hash functions.

"},{"location":"api/sketch/Set/#examples","title":"Examples","text":"
import random\nfrom river import sketch\n\nrng = random.Random(42)\ns_set = sketch.Set(capacity=100, seed=0)\n

We can retrieve the number of selected hash functions:

s_set.n_hash\n
7\n

And the size of the binary array used by the Bloom filter:

s_set.n_bits\n
959\n

We can add new items and check for membership using the same calls used by Python's standard sets:

for _ in range(1000):\n    s_set.add(rng.randint(0, 200))\n\n1 in s_set\n
True\n

False positives might happen if the capacity is not large enough:

-10 in s_set\n
True\n

Iterables can also be supplied to perform multiple updates with a single call to update:

s_set = s_set.update([1, 2, 3, 4, 5, 6, 7])\n

We can also combine instances of sketch.Set using the intersection and union operations, as long as they share the same hash functions and capability. In other words, all they hyperparameters match. Let's create two instances that will monitor different portions of a stream of random numbers:

s1 = sketch.Set(seed=8)\ns2 = sketch.Set(seed=8)\n\nfor _ in range(1000):\n    s1.add(rng.randint(0, 5000))\n\nfor _ in range(1000):\n    s2.add(rng.randint(0, 5000))\n\n43 in s1\n
True\n
43 in s2\n
False\n

We can get the intersection between the two instances by using:

s_intersection = s1 & s2\n43 in s_intersection\n
False\n

We can also obtain the set union:

s_union = s1 | s2\n\n43 in s_union\n
True\n

The same effect of the non-inplace dunder methods can be achieved via explicit method calls:

43 in s1.intersection(s2)\n
False\n

43 in s1.union(s2)\n
True\n

"},{"location":"api/sketch/Set/#methods","title":"Methods","text":"add intersection

Set intersection.

Return a new instance that results from the set intersection between the current Set object and other. Dunder operators can be used to replace the method call, i.e., a &= b and a & b for inplace and non-inplace intersections, respectively.

Parameters

  • other \u2014 'Set'

union

Set union.

Return a new instance that results from the set union between the current Set object and other. Dunder operators can be used to replace the method call, i.e., a |= b and a | b for inplace and non-inplace unions, respectively.

Parameters

  • other \u2014 'Set'

update"},{"location":"api/sketch/Set/#notes","title":"Notes","text":"

This implementation uses an integer to represent the binary array. Bitwise operations are performed in the integer to reflect the Bloom filter updates.

  1. Florian Hartmann's blog article on Bloom Filters.\u00a0\u21a9

  2. Wikipedia entry on Bloom filters.\u00a0\u21a9

"},{"location":"api/stats/AbsMax/","title":"AbsMax","text":"

Running absolute max.

"},{"location":"api/stats/AbsMax/#attributes","title":"Attributes","text":"
  • abs_max (float)

    The current absolute max.

"},{"location":"api/stats/AbsMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 5, -6]\nabs_max = stats.AbsMax()\nfor x in X:\n    abs_max.update(x)\n    print(abs_max.get())\n
1\n4\n4\n4\n5\n6\n

"},{"location":"api/stats/AbsMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/AutoCorr/","title":"AutoCorr","text":"

Measures the serial correlation.

This method computes the Pearson correlation between the current value and the value seen n steps before.

"},{"location":"api/stats/AutoCorr/#parameters","title":"Parameters","text":"
  • lag

    Type \u2192 int

"},{"location":"api/stats/AutoCorr/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/AutoCorr/#examples","title":"Examples","text":"

The following examples are taken from the pandas documentation.

from river import stats\n\nauto_corr = stats.AutoCorr(lag=1)\nfor x in [0.25, 0.5, 0.2, -0.05]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n-1.0\n0.103552\n

auto_corr = stats.AutoCorr(lag=2)\nfor x in [0.25, 0.5, 0.2, -0.05]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n0\n-1.0\n

auto_corr = stats.AutoCorr(lag=1)\nfor x in [1, 0, 0, 0]:\n    auto_corr.update(x)\n    print(auto_corr.get())\n
0\n0\n0\n0\n

"},{"location":"api/stats/AutoCorr/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/BayesianMean/","title":"BayesianMean","text":"

Estimates a mean using outside information.

"},{"location":"api/stats/BayesianMean/#parameters","title":"Parameters","text":"
  • prior

    Type \u2192 float

  • prior_weight

    Type \u2192 float

"},{"location":"api/stats/BayesianMean/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/BayesianMean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Additive smoothing \u21a9

  2. Bayesian average \u21a9

  3. Practical example of Bayes estimators \u21a9

"},{"location":"api/stats/Count/","title":"Count","text":"

A simple counter.

"},{"location":"api/stats/Count/#attributes","title":"Attributes","text":"
  • n (int)

    The current number of observations.

"},{"location":"api/stats/Count/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number' \u2014 defaults to None

"},{"location":"api/stats/Cov/","title":"Cov","text":"

Covariance.

"},{"location":"api/stats/Cov/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/stats/Cov/#attributes","title":"Attributes","text":"
  • n
"},{"location":"api/stats/Cov/#examples","title":"Examples","text":"

from river import stats\n\nx = [-2.1,  -1,  4.3]\ny = [   3, 1.1, 0.12]\n\ncov = stats.Cov()\n\nfor xi, yi in zip(x, y):\n    cov.update(xi, yi)\n    print(cov.get())\n
0.0\n-1.044999\n-4.286\n

This class has a revert method, and can thus be wrapped by utils.Rolling:

from river import utils\n\nx = [-2.1,  -1, 4.3, 1, -2.1,  -1, 4.3]\ny = [   3, 1.1, .12, 1,    3, 1.1, .12]\n\nrcov = utils.Rolling(stats.Cov(), window_size=3)\n\nfor xi, yi in zip(x, y):\n    rcov.update(xi, yi)\n    print(rcov.get())\n
0.0\n-1.045\n-4.286\n-1.382\n-4.589\n-1.415\n-4.286\n

"},{"location":"api/stats/Cov/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

update_many"},{"location":"api/stats/Cov/#notes","title":"Notes","text":"

The outcomes of the incremental and parallel updates are consistent with numpy's batch processing when \\(\\text{ddof} \\le 1\\).

  1. Wikipedia article on algorithms for calculating variance \u21a9

  2. Schubert, E. and Gertz, M., 2018, July. Numerically stable parallel computation of (co-) variance. In Proceedings of the 30th International Conference on Scientific and Statistical Database Management (pp. 1-12).\u00a0\u21a9

"},{"location":"api/stats/EWMean/","title":"EWMean","text":"

Exponentially weighted mean.

"},{"location":"api/stats/EWMean/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.5

    The closer fading_factor is to 1 the more the statistic will adapt to recent values.

"},{"location":"api/stats/EWMean/#attributes","title":"Attributes","text":"
  • mean (float)

    The running exponentially weighted mean.

"},{"location":"api/stats/EWMean/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, 3, 5, 4, 6, 8, 7, 9, 11]\newm = stats.EWMean(fading_factor=0.5)\nfor x in X:\n    ewm.update(x)\n    print(ewm.get())\n
1.0\n2.0\n3.5\n3.75\n4.875\n6.4375\n6.71875\n7.859375\n9.4296875\n

"},{"location":"api/stats/EWMean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  2. Exponential Moving Average on Streaming Data \u21a9

"},{"location":"api/stats/EWVar/","title":"EWVar","text":"

Exponentially weighted variance.

To calculate the variance we use the fact that Var(X) = Mean(x^2) - Mean(x)^2 and internally we use the exponentially weighted mean of x/x^2 to calculate this.

"},{"location":"api/stats/EWVar/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 0.5

    The closer fading_factor is to 1 the more the statistic will adapt to recent values.

"},{"location":"api/stats/EWVar/#attributes","title":"Attributes","text":"
  • variance (float)

    The running exponentially weighted variance.

"},{"location":"api/stats/EWVar/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, 3, 5, 4, 6, 8, 7, 9, 11]\newv = stats.EWVar(fading_factor=0.5)\nfor x in X:\n    ewv.update(x)\n    print(ewv.get())\n
0.0\n1.0\n2.75\n1.4375\n1.984375\n3.43359375\n1.7958984375\n2.198974609375\n3.56536865234375\n

"},{"location":"api/stats/EWVar/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  2. Exponential Moving Average on Streaming Data \u21a9

"},{"location":"api/stats/Entropy/","title":"Entropy","text":"

Running entropy.

"},{"location":"api/stats/Entropy/#parameters","title":"Parameters","text":"
  • fading_factor

    Default \u2192 1

    Fading factor.

  • eps

    Default \u2192 1e-08

    Small value that will be added to the denominator to avoid division by zero.

"},{"location":"api/stats/Entropy/#attributes","title":"Attributes","text":"
  • entropy (float)

    The running entropy.

  • n (int)

    The current number of observations.

  • counter (collections.Counter)

    Count the number of times the values have occurred

"},{"location":"api/stats/Entropy/#examples","title":"Examples","text":"

import math\nimport random\nimport numpy as np\nfrom scipy.stats import entropy\nfrom river import stats\n\ndef entropy_list(labels, base=None):\n    value,counts = np.unique(labels, return_counts=True)\n    return entropy(counts, base=base)\n\nSEED = 42 * 1337\nrandom.seed(SEED)\n\nentro = stats.Entropy(fading_factor=1)\n\nlist_animal = []\nfor animal, num_val in zip(['cat', 'dog', 'bird'],[301, 401, 601]):\n    list_animal += [animal for i in range(num_val)]\nrandom.shuffle(list_animal)\n\nfor animal in list_animal:\n    entro.update(animal)\n\nprint(f'{entro.get():.6f}')\n
1.058093\n
print(f'{entropy_list(list_animal):.6f}')\n
1.058093\n

"},{"location":"api/stats/Entropy/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Sovdat, B., 2014. Updating Formulas and Algorithms for Computing Entropy and Gini Index from Time-Changing Data Streams. arXiv preprint arXiv:1403.6348. \u21a9

"},{"location":"api/stats/IQR/","title":"IQR","text":"

Computes the interquartile range.

"},{"location":"api/stats/IQR/#parameters","title":"Parameters","text":"
  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1. Defaults to 0.25.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1. Defaults to 0.75.

"},{"location":"api/stats/IQR/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/IQR/#examples","title":"Examples","text":"

from river import stats\n\niqr = stats.IQR(q_inf=0.25, q_sup=0.75)\n\nfor i in range(0, 1001):\n    iqr.update(i)\n    if i % 100 == 0:\n        print(iqr.get())\n
0.0\n50.0\n100.0\n150.0\n200.0\n250.0\n300.0\n350.0\n400.0\n450.0\n500.0\n

"},{"location":"api/stats/IQR/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/KolmogorovSmirnov/","title":"KolmogorovSmirnov","text":"

Incremental Kolmogorov-Smirnov statistics.

The two-sample Kolmogorov-Smirnov test quantifies the distance between the empirical functions of two samples, with the null distribution of this statistic is calculated under the null hypothesis that the samples are drawn from the same distribution. The formula can be described as

\\[ D_{n, m} = \\sup_x \\| F_{1, n}(x) - F_{2, m}(x) \\|. \\]

This implementation is the incremental version of the previously mentioned statistics, with the change being in the ability to insert and remove an observation thorugh time. This can be done using a randomized tree called Treap (or Cartesian Tree) 2 with bulk operation and lazy propagation.

The implemented algorithm is able to perform the insertion and removal operations in O(logN) with high probability and calculate the Kolmogorov-Smirnov test in O(1), where N is the number of sample observations. This is a significant improvement compared to the O(N logN) cost of non-incremental implementation.

This implementation also supports the calculation of the Kuiper statistics. Different from the orginial Kolmogorov-Smirnov statistics, Kuiper's test 3 calculates the sum of the absolute sizes of the most positive and most negative differences between the two cumulative distribution functions taken into account. As such, Kuiper's test is very sensitive in the tails as at the median.

Last but not least, this implementation is also based on the original implementation within the supplementary material of the authors of paper 1, at the following Github repository.

"},{"location":"api/stats/KolmogorovSmirnov/#parameters","title":"Parameters","text":"
  • statistic

    Default \u2192 ks

    The method used to calculate the statistic, can be either \"ks\" or \"kuiper\". The default value is set as \"ks\".

"},{"location":"api/stats/KolmogorovSmirnov/#examples","title":"Examples","text":"

import numpy as np\nfrom river import stats\n\nstream_a = [1, 1, 2, 2, 3, 3, 4, 4]\nstream_b = [1, 1, 1, 1, 2, 2, 2, 2]\n\nincremental_ks = stats.KolmogorovSmirnov(statistic=\"ks\")\nfor a, b in zip(stream_a, stream_b):\n    incremental_ks.update(a, b)\n\nincremental_ks\n
KolmogorovSmirnov: 0.5\n

incremental_ks.n_samples\n
8\n

"},{"location":"api/stats/KolmogorovSmirnov/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y

  1. dos Reis, D.M. et al. (2016) \u2018Fast unsupervised online drift detection using incremental Kolmogorov-Smirnov test\u2019, Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. doi:10.1145/2939672.2939836.\u00a0\u21a9

  2. C. R. Aragon and R. G. Seidel. Randomized search trees. In FOCS, pages 540\u2013545. IEEE, 1989.\u00a0\u21a9

  3. Kuiper, N. H. (1960). \"Tests concerning random points on a circle\". Proceedings of the Koninklijke Nederlandse Akademie van Wetenschappen, Series A. 63: 38\u201347.\u00a0\u21a9

"},{"location":"api/stats/Kurtosis/","title":"Kurtosis","text":"

Running kurtosis using Welford's algorithm.

"},{"location":"api/stats/Kurtosis/#parameters","title":"Parameters","text":"
  • bias

    Default \u2192 False

    If False, then the calculations are corrected for statistical bias.

"},{"location":"api/stats/Kurtosis/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Kurtosis/#examples","title":"Examples","text":"

from river import stats\nimport scipy.stats\nimport numpy as np\n\nnp.random.seed(42)\nX = np.random.normal(loc=0, scale=1, size=10)\n\nkurtosis = stats.Kurtosis(bias=False)\nfor x in X:\n    kurtosis.update(x)\n    print(kurtosis.get())\n
-3.0\n-2.0\n-1.5\n1.4130027920707047\n0.15367976585756438\n0.46142633246812653\n-1.620647789230658\n-1.3540178492487054\n-1.2310268787102745\n-0.9490372374384453\n

for i in range(2, len(X)+1):\n    print(scipy.stats.kurtosis(X[:i], bias=False))\n
-2.0\n-1.4999999999999998\n1.4130027920707082\n0.15367976585756082\n0.46142633246812403\n-1.620647789230658\n-1.3540178492487063\n-1.2310268787102738\n-0.9490372374384459\n

kurtosis = stats.Kurtosis(bias=True)\nfor x in X:\n    kurtosis.update(x)\n    print(kurtosis.get())\n
-3.0\n-2.0\n-1.5\n-1.011599627723906\n-0.9615800585356089\n-0.6989395431537853\n-1.4252699121794408\n-1.311437071070812\n-1.246289111322894\n-1.082283689864171\n

for i in range(2, len(X)+1):\n    print(scipy.stats.kurtosis(X[:i], bias=True))\n
-2.0\n-1.4999999999999998\n-1.0115996277239057\n-0.9615800585356098\n-0.6989395431537861\n-1.425269912179441\n-1.3114370710708125\n-1.2462891113228936\n-1.0822836898641714\n

"},{"location":"api/stats/Kurtosis/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Link/","title":"Link","text":"

A link joins two univariate statistics as a sequence.

This can be used to pipe the output of one statistic to the input of another. This can be used, for instance, to calculate the mean of the variance of a variable. It can also be used to compute shifted statistics by piping statistics with an instance of stats.Shift.

Note that a link is not meant to be instantiated via this class definition. Instead, users can link statistics together via the | operator.

"},{"location":"api/stats/Link/#parameters","title":"Parameters","text":"
  • left

    Type \u2192 stats.base.Univariate

  • right

    Type \u2192 stats.base.Univariate

    The output from left's get method is passed to right's update method if left's get method doesn't produce None.

"},{"location":"api/stats/Link/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Link/#examples","title":"Examples","text":"
from river import stats\nstat = stats.Shift(1) | stats.Mean()\n

No values have been seen, therefore get defaults to the initial value of stats.Mean, which is 0.

stat.get()\n
0.\n

Let us now call update.

stat.update(1)\n

The output from get will still be 0. The reason is that stats.Shift has not enough values, and therefore outputs its default value, which is None. The stats.Mean instance is therefore not updated.

stat.get()\n
0.0\n

On the next call to update, the stats.Shift instance has seen enough values, and therefore the mean can be updated. The mean is therefore equal to 1, because that's the only value from the past.

stat.update(3)\nstat.get()\n
1.0\n

On the subsequent call to update, the mean will be updated with the value 3.

stat.update(4)\nstat.get()\n
2.0\n

Note that composing statistics returns a new statistic with its own name.

stat.name\n
'mean_of_shift_1'\n

"},{"location":"api/stats/Link/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/MAD/","title":"MAD","text":"

Median Absolute Deviation (MAD).

The median absolute deviation is the median of the absolute differences between each data point and the data's overall median. In an online setting, the median of the data is unknown beforehand. Therefore, both the median of the data and the median of the differences of the data with respect to the latter are updated online. To be precise, the median of the data is updated before the median of the differences. As a consequence, this online version of the MAD does not coincide exactly with its batch counterpart.

"},{"location":"api/stats/MAD/#attributes","title":"Attributes","text":"
  • median (stats.Median)

    The median of the data.

"},{"location":"api/stats/MAD/#examples","title":"Examples","text":"

from river import stats\n\nX = [4, 2, 5, 3, 0, 4]\n\nmad = stats.MAD()\nfor x in X:\n    mad.update(x)\n    print(mad.get())\n
0.0\n2.0\n1.0\n1.0\n1.0\n1.0\n

"},{"location":"api/stats/MAD/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Median absolute deviation article on Wikipedia \u21a9

"},{"location":"api/stats/Max/","title":"Max","text":"

Running max.

"},{"location":"api/stats/Max/#attributes","title":"Attributes","text":"
  • max (float)

    The current max.

"},{"location":"api/stats/Max/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 5, -6]\nmaximum = stats.Max()\nfor x in X:\n    maximum.update(x)\n    print(maximum.get())\n
1\n1\n3\n3\n5\n5\n

"},{"location":"api/stats/Max/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Mean/","title":"Mean","text":"

Running mean.

"},{"location":"api/stats/Mean/#attributes","title":"Attributes","text":"
  • n (float)

    The current sum of weights. If each passed weight was 1, then this is equal to the number of seen observations.

"},{"location":"api/stats/Mean/#examples","title":"Examples","text":"

from river import stats\n\nX = [-5, -3, -1, 1, 3, 5]\nmean = stats.Mean()\nfor x in X:\n    mean.update(x)\n    print(mean.get())\n
-5.0\n-4.0\n-3.0\n-2.0\n-1.0\n0.0\n

You can calculate a rolling average by wrapping a utils.Rolling around:

from river import utils\n\nX = [1, 2, 3, 4, 5, 6]\nrmean = utils.Rolling(stats.Mean(), window_size=2)\n\nfor x in X:\n    rmean.update(x)\n    print(rmean.get())\n
1.0\n1.5\n2.5\n3.5\n4.5\n5.5\n

"},{"location":"api/stats/Mean/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many
  1. West, D. H. D. (1979). Updating mean and variance estimates: An improved method. Communications of the ACM, 22(9), 532-535. \u21a9

  2. Finch, T., 2009. Incremental calculation of weighted mean and variance. University of Cambridge, 4(11-5), pp.41-42. \u21a9

  3. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1983. Algorithms for computing the sample variance: Analysis and recommendations. The American Statistician, 37(3), pp.242-247. \u21a9

"},{"location":"api/stats/Min/","title":"Min","text":"

Running min.

"},{"location":"api/stats/Min/#attributes","title":"Attributes","text":"
  • min (float)

    The current min.

"},{"location":"api/stats/Min/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Mode/","title":"Mode","text":"

Running mode.

The mode is simply the most common value. An approximate mode can be computed by setting the number of first unique values to count.

"},{"location":"api/stats/Mode/#parameters","title":"Parameters","text":"
  • k

    Default \u2192 25

    Only the first k unique values will be included. If k equals -1, the exact mode is computed.

"},{"location":"api/stats/Mode/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Mode/#examples","title":"Examples","text":"

from river import stats\n\nX = ['sunny', 'cloudy', 'cloudy', 'rainy', 'rainy', 'rainy']\nmode = stats.Mode(k=2)\nfor x in X:\n    mode.update(x)\n    print(mode.get())\n
sunny\nsunny\ncloudy\ncloudy\ncloudy\ncloudy\n

mode = stats.Mode(k=-1)\nfor x in X:\n    mode.update(x)\n    print(mode.get())\n
sunny\nsunny\ncloudy\ncloudy\ncloudy\nrainy\n

"},{"location":"api/stats/Mode/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/NUnique/","title":"NUnique","text":"

Approximate number of unique values counter.

This is basically an implementation of the HyperLogLog algorithm. Adapted from hypy. The code is a bit too terse but it will do for now.

"},{"location":"api/stats/NUnique/#parameters","title":"Parameters","text":"
  • error_rate

    Default \u2192 0.01

    Desired error rate. Memory usage is inversely proportional to this value.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Set the seed to produce identical results.

"},{"location":"api/stats/NUnique/#attributes","title":"Attributes","text":"
  • n_bits (int)

  • n_buckets (int)

  • buckets (list)

"},{"location":"api/stats/NUnique/#examples","title":"Examples","text":"

import string\nfrom river import stats\n\nalphabet = string.ascii_lowercase\nn_unique = stats.NUnique(error_rate=0.2, seed=42)\n\nn_unique.update('a')\nn_unique.get()\n
1\n

n_unique.update('b')\nn_unique.get()\n
2\n

for letter in alphabet:\n    n_unique.update(letter)\nn_unique.get()\n
31\n

Lowering the error_rate parameter will increase the precision.

n_unique = stats.NUnique(error_rate=0.01, seed=42)\nfor letter in alphabet:\n    n_unique.update(letter)\nn_unique.get()\n
26\n

"},{"location":"api/stats/NUnique/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. My favorite algorithm (and data structure): HyperLogLog \u21a9

  2. Flajolet, P., Fusy, \u00c9., Gandouet, O. and Meunier, F., 2007, June. Hyperloglog: the analysis of a near-optimal cardinality estimation algorithm. \u21a9

"},{"location":"api/stats/PeakToPeak/","title":"PeakToPeak","text":"

Running peak to peak (max - min).

"},{"location":"api/stats/PeakToPeak/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/PeakToPeak/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 4]\nptp = stats.PeakToPeak()\nfor x in X:\n    ptp.update(x)\n    print(ptp.get())\n
0.\n5.\n7.\n7.\n7.\n8.\n

"},{"location":"api/stats/PeakToPeak/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/PearsonCorr/","title":"PearsonCorr","text":"

Online Pearson correlation.

"},{"location":"api/stats/PearsonCorr/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom.

"},{"location":"api/stats/PearsonCorr/#attributes","title":"Attributes","text":"
  • var_x (stats.Var)

    Running variance of x.

  • var_y (stats.Var)

    Running variance of y.

  • cov_xy (stats.Cov)

    Running covariance of x and y.

"},{"location":"api/stats/PearsonCorr/#examples","title":"Examples","text":"

from river import stats\n\nx = [0, 0, 0, 1, 1, 1, 1]\ny = [0, 1, 2, 3, 4, 5, 6]\n\npearson = stats.PearsonCorr()\n\nfor xi, yi in zip(x, y):\n    pearson.update(xi, yi)\n    print(pearson.get())\n
0\n0\n0\n0.774596\n0.866025\n0.878310\n0.866025\n

You can also do this in a rolling fashion:

from river import utils\n\nx = [0, 0, 0, 1, 1, 1, 1]\ny = [0, 1, 2, 3, 4, 5, 6]\n\npearson = utils.Rolling(stats.PearsonCorr(), window_size=4)\n\nfor xi, yi in zip(x, y):\n    pearson.update(xi, yi)\n    print(pearson.get())\n
0\n0\n0\n0.7745966692414834\n0.8944271909999159\n0.7745966692414832\n-4.712160915387242e-09\n

"},{"location":"api/stats/PearsonCorr/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x
  • y

"},{"location":"api/stats/Quantile/","title":"Quantile","text":"

Running quantile.

Uses the P\u00b2 algorithm, which is also known as the \"Piecewise-Parabolic quantile estimator\". The code is inspired by LiveStat's implementation 2.

"},{"location":"api/stats/Quantile/#parameters","title":"Parameters","text":"
  • q

    Type \u2192 float

    Default \u2192 0.5

    Determines which quantile to compute, must be comprised between 0 and 1.

"},{"location":"api/stats/Quantile/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Quantile/#examples","title":"Examples","text":"

from river import stats\nimport numpy as np\n\nnp.random.seed(42 * 1337)\nmu, sigma = 0, 1\ns = np.random.normal(mu, sigma, 500)\n\nmedian = stats.Quantile(0.5)\nfor x in s:\n   _ = median.update(x)\nprint(f'The estimated value of the 50th (median) quantile is {median.get():.4f}')\n
The estimated value of the 50th (median) quantile is -0.0275\n

print(f'The real value of the 50th (median) quantile is {np.median(s):.4f}')\n
The real value of the 50th (median) quantile is -0.0135\n

percentile_17 = stats.Quantile(0.17)\nfor x in s:\n   _ = percentile_17.update(x)\nprint(f'The estimated value of the 17th quantile is {percentile_17.get():.4f}')\n
The estimated value of the 17th quantile is -0.8652\n

print(f'The real value of the 17th quantile is {np.percentile(s,17):.4f}')\n
The real value of the 17th quantile is -0.9072\n

"},{"location":"api/stats/Quantile/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. The P\u00b2 Algorithm for Dynamic Univariateal Computing Calculation of Quantiles and Editor Histograms Without Storing Observations \u21a9

  2. LiveStats \u21a9

  3. P\u00b2 quantile estimator: estimating the median without storing values \u21a9

"},{"location":"api/stats/RollingAbsMax/","title":"RollingAbsMax","text":"

Running absolute max over a window.

"},{"location":"api/stats/RollingAbsMax/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingAbsMax/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingAbsMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_absmax = stats.RollingAbsMax(window_size=2)\nfor x in X:\n    rolling_absmax.update(x)\n    print(rolling_absmax.get())\n
1\n4\n4\n3\n2\n2\n

"},{"location":"api/stats/RollingAbsMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingIQR/","title":"RollingIQR","text":"

Computes the rolling interquartile range.

"},{"location":"api/stats/RollingIQR/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the window.

  • q_inf

    Default \u2192 0.25

    Desired inferior quantile, must be between 0 and 1. Defaults to 0.25.

  • q_sup

    Default \u2192 0.75

    Desired superior quantile, must be between 0 and 1. Defaults to 0.75.

"},{"location":"api/stats/RollingIQR/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingIQR/#examples","title":"Examples","text":"

from river import stats\nrolling_iqr = stats.RollingIQR(\n    q_inf=0.25,\n    q_sup=0.75,\n    window_size=101\n)\n\nfor i in range(0, 1001):\n    rolling_iqr.update(i)\n    if i % 100 == 0:\n        print(rolling_iqr.get())\n
0.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n50.0\n

"},{"location":"api/stats/RollingIQR/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMax/","title":"RollingMax","text":"

Running max over a window.

"},{"location":"api/stats/RollingMax/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMax/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingMax/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_max = stats.RollingMax(window_size=2)\nfor x in X:\n    rolling_max.update(x)\n    print(rolling_max.get())\n
1\n1\n3\n3\n2\n2\n

"},{"location":"api/stats/RollingMax/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMin/","title":"RollingMin","text":"

Running min over a window.

"},{"location":"api/stats/RollingMin/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMin/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingMin/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_min = stats.RollingMin(2)\nfor x in X:\n    rolling_min.update(x)\n    print(rolling_min.get())\n
1\n-4\n-4\n-2\n-2\n1\n

"},{"location":"api/stats/RollingMin/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingMode/","title":"RollingMode","text":"

Running mode over a window.

The mode is the most common value.

"},{"location":"api/stats/RollingMode/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingMode/#attributes","title":"Attributes","text":"
  • counts (collections.defaultdict)

    Value counts.

"},{"location":"api/stats/RollingMode/#examples","title":"Examples","text":"

from river import stats\n\nX = ['sunny', 'sunny', 'sunny', 'rainy', 'rainy', 'rainy', 'rainy']\nrolling_mode = stats.RollingMode(window_size=2)\nfor x in X:\n    rolling_mode.update(x)\n    print(rolling_mode.get())\n
sunny\nsunny\nsunny\nsunny\nrainy\nrainy\nrainy\n

rolling_mode = stats.RollingMode(window_size=5)\nfor x in X:\n    rolling_mode.update(x)\n    print(rolling_mode.get())\n
sunny\nsunny\nsunny\nsunny\nsunny\nrainy\nrainy\n

"},{"location":"api/stats/RollingMode/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingPeakToPeak/","title":"RollingPeakToPeak","text":"

Running peak to peak (max - min) over a window.

"},{"location":"api/stats/RollingPeakToPeak/#parameters","title":"Parameters","text":"
  • window_size

    Type \u2192 int

    Size of the rolling window.

"},{"location":"api/stats/RollingPeakToPeak/#attributes","title":"Attributes","text":"
  • max (stats.RollingMax)

    The running rolling max.

  • min (stats.RollingMin)

    The running rolling min.

"},{"location":"api/stats/RollingPeakToPeak/#examples","title":"Examples","text":"

from river import stats\n\nX = [1, -4, 3, -2, 2, 1]\nptp = stats.RollingPeakToPeak(window_size=2)\nfor x in X:\n    ptp.update(x)\n    print(ptp.get())\n
0\n5\n7\n5\n4\n1\n

"},{"location":"api/stats/RollingPeakToPeak/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/RollingQuantile/","title":"RollingQuantile","text":"

Running quantile over a window.

"},{"location":"api/stats/RollingQuantile/#parameters","title":"Parameters","text":"
  • q

    Type \u2192 float

    Determines which quantile to compute, must be comprised between 0 and 1.

  • window_size

    Type \u2192 int

    Size of the window.

"},{"location":"api/stats/RollingQuantile/#attributes","title":"Attributes","text":"
  • name

  • window_size

"},{"location":"api/stats/RollingQuantile/#examples","title":"Examples","text":"

from river import stats\n\nrolling_quantile = stats.RollingQuantile(\n    q=.5,\n    window_size=101,\n)\n\nfor i in range(1001):\n    rolling_quantile.update(i)\n    if i % 100 == 0:\n        print(rolling_quantile.get())\n
0.0\n50.0\n150.0\n250.0\n350.0\n450.0\n550.0\n650.0\n750.0\n850.0\n950.0\n

"},{"location":"api/stats/RollingQuantile/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Left sorted \u21a9

"},{"location":"api/stats/SEM/","title":"SEM","text":"

Running standard error of the mean using Welford's algorithm.

"},{"location":"api/stats/SEM/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom. The divisor used in calculations is n - ddof, where n is the number of seen elements.

"},{"location":"api/stats/SEM/#attributes","title":"Attributes","text":"
  • n (int)

    Number of observations.

"},{"location":"api/stats/SEM/#examples","title":"Examples","text":"

from river import stats\n\nX = [3, 5, 4, 7, 10, 12]\n\nsem = stats.SEM()\nfor x in X:\n    sem.update(x)\n    print(sem.get())\n
0.0\n1.0\n0.577350\n0.853912\n1.240967\n1.447219\n

from river import utils\n\nX = [1, 4, 2, -4, -8, 0]\n\nrolling_sem = utils.Rolling(stats.SEM(ddof=1), window_size=3)\nfor x in X:\n    rolling_sem.update(x)\n    print(rolling_sem.get())\n
0.0\n1.5\n0.881917\n2.403700\n2.905932\n2.309401\n

"},{"location":"api/stats/SEM/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many
  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Shift/","title":"Shift","text":"

Shifts a data stream by returning past values.

This can be used to compute statistics over past data. For instance, if you're computing daily averages, then shifting by 7 will be equivalent to computing averages from a week ago.

Shifting values is useful when you're calculating an average over a target value. Indeed, in this case it's important to shift the values in order not to introduce leakage. The recommended way to do this is to feature_extraction.TargetAgg, which already takes care of shifting the target values once.

"},{"location":"api/stats/Shift/#parameters","title":"Parameters","text":"
  • amount

    Default \u2192 1

    Shift amount. The get method will return the t - amount value, where t is the current moment.

  • fill_value

    Default \u2192 None

    This value will be returned by the get method if not enough values have been observed.

"},{"location":"api/stats/Shift/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Shift/#examples","title":"Examples","text":"

It is rare to have to use Shift by itself. A more common usage is to compose it with other statistics. This can be done via the | operator.

from river import stats\n\nstat = stats.Shift(1) | stats.Mean()\n\nfor i in range(5):\n    stat.update(i)\n    print(stat.get())\n
0.0\n0.0\n0.5\n1.0\n1.5\n

A common usecase for using Shift is when computing statistics on shifted data. For instance, say you have a dataset which records the amount of sales for a set of shops. You might then have a shop field and a sales field. Let's say you want to look at the average amount of sales per shop. You can do this by using a feature_extraction.Agg. When you call transform_one, you're expecting it to return the average amount of sales, without including today's sales. You can do this by prepending an instance of stats.Mean with an instance of stats.Shift.

from river import feature_extraction\n\nagg = feature_extraction.Agg(\n    on='sales',\n    how=stats.Shift(1) | stats.Mean(),\n    by='shop'\n)\n

Let's define a little example dataset.

X = iter([\n    {'shop': 'Ikea', 'sales': 10},\n    {'shop': 'Ikea', 'sales': 15},\n    {'shop': 'Ikea', 'sales': 20}\n])\n

Now let's call the learn_one method to update our feature extractor.

x = next(X)\nagg.learn_one(x)\n

At this point, the average defaults to the initial value of stats.Mean, which is 0.

agg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 0.0}\n

We can now update our feature extractor with the next data point and check the output.

agg.learn_one(next(X))\nagg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 10.0}\n

agg.learn_one(next(X))\nagg.transform_one(x)\n
{'sales_mean_of_shift_1_by_shop': 12.5}\n

"},{"location":"api/stats/Shift/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Skew/","title":"Skew","text":"

Running skew using Welford's algorithm.

"},{"location":"api/stats/Skew/#parameters","title":"Parameters","text":"
  • bias

    Default \u2192 False

    If False, then the calculations are corrected for statistical bias.

"},{"location":"api/stats/Skew/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/Skew/#examples","title":"Examples","text":"

from river import stats\nimport numpy as np\n\nnp.random.seed(42)\nX = np.random.normal(loc=0, scale=1, size=10)\n\nskew = stats.Skew(bias=False)\nfor x in X:\n    skew.update(x)\n    print(skew.get())\n
0.0\n0.0\n-1.4802398132849872\n0.5127437186677888\n0.7803466510704751\n1.056115628922055\n0.5057840774320389\n0.3478402420400934\n0.4536710660918704\n0.4123070197493227\n

skew = stats.Skew(bias=True)\nfor x in X:\n    skew.update(x)\n    print(skew.get())\n
0.0\n0.0\n-0.6043053732501439\n0.2960327239981376\n0.5234724473423674\n0.7712778043924866\n0.39022088752624845\n0.278892645224261\n0.37425953513864063\n0.3476878073823696\n

"},{"location":"api/stats/Skew/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

  1. Wikipedia article on algorithms for calculating variance \u21a9

"},{"location":"api/stats/Sum/","title":"Sum","text":"

Running sum.

"},{"location":"api/stats/Sum/#attributes","title":"Attributes","text":"
  • sum (float)

    The running sum.

"},{"location":"api/stats/Sum/#examples","title":"Examples","text":"

from river import stats\n\nX = [-5, -3, -1, 1, 3, 5]\nmean = stats.Sum()\nfor x in X:\n    mean.update(x)\n    print(mean.get())\n
-5.0\n-8.0\n-9.0\n-8.0\n-5.0\n0.0\n

from river import utils\n\nX = [1, -4, 3, -2, 2, 1]\nrolling_sum = utils.Rolling(stats.Sum(), window_size=2)\nfor x in X:\n    rolling_sum.update(x)\n    print(rolling_sum.get())\n
1.0\n-3.0\n-1.0\n1.0\n0.0\n3.0\n

"},{"location":"api/stats/Sum/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stats/Var/","title":"Var","text":"

Running variance using Welford's algorithm.

"},{"location":"api/stats/Var/#parameters","title":"Parameters","text":"
  • ddof

    Default \u2192 1

    Delta Degrees of Freedom. The divisor used in calculations is n - ddof, where n represents the number of seen elements.

"},{"location":"api/stats/Var/#attributes","title":"Attributes","text":"
  • mean

    It is necessary to calculate the mean of the data in order to calculate its variance.

"},{"location":"api/stats/Var/#examples","title":"Examples","text":"

from river import stats\n\nX = [3, 5, 4, 7, 10, 12]\n\nvar = stats.Var()\nfor x in X:\n    var.update(x)\n    print(var.get())\n
0.0\n2.0\n1.0\n2.916666\n7.7\n12.56666\n

You can measure a rolling variance by using a utils.Rolling wrapper:

from river import utils\n\nX = [1, 4, 2, -4, -8, 0]\nrvar = utils.Rolling(stats.Var(ddof=1), window_size=3)\nfor x in X:\n    rvar.update(x)\n    print(rvar.get())\n
0.0\n4.5\n2.333333\n17.333333\n25.333333\n16.0\n

"},{"location":"api/stats/Var/#methods","title":"Methods","text":"get

Return the current value of the statistic.

revert update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'
  • w \u2014 defaults to 1.0

update_many"},{"location":"api/stats/Var/#notes","title":"Notes","text":"

The outcomes of the incremental and parallel updates are consistent with numpy's batch processing when \\(\\text{ddof} \\le 1\\).

  1. Wikipedia article on algorithms for calculating variance \u21a9

  2. Chan, T.F., Golub, G.H. and LeVeque, R.J., 1983. Algorithms for computing the sample variance: Analysis and recommendations. The American Statistician, 37(3), pp.242-247. \u21a9

  3. Schubert, E. and Gertz, M., 2018, July. Numerically stable parallel computation of (co-)variance. In Proceedings of the 30th International Conference on Scientific and Statistical Database Management (pp. 1-12).\u00a0\u21a9

"},{"location":"api/stats/base/Bivariate/","title":"Bivariate","text":"

A bivariate statistic measures a relationship between two variables.

"},{"location":"api/stats/base/Bivariate/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x
  • y

"},{"location":"api/stats/base/Univariate/","title":"Univariate","text":"

A univariate statistic measures a property of a variable.

"},{"location":"api/stats/base/Univariate/#attributes","title":"Attributes","text":"
  • name
"},{"location":"api/stats/base/Univariate/#methods","title":"Methods","text":"get

Return the current value of the statistic.

update

Update and return the called instance.

Parameters

  • x \u2014 'numbers.Number'

"},{"location":"api/stream/Cache/","title":"Cache","text":"

Utility for caching iterables.

This can be used to save a stream of data to the disk in order to iterate over it faster the following time. This can save time depending on the nature of stream. The more processing happens in a stream, the more time will be saved. Even in the case where no processing is done apart from reading the data, the cache will save some time because it is using the pickle binary protocol. It can thus improve the speed in common cases such as reading from a CSV file.

"},{"location":"api/stream/Cache/#parameters","title":"Parameters","text":"
  • directory

    Default \u2192 None

    The path where to store the pickled data streams. If not provided, then it will be automatically inferred whenever possible, if not an exception will be raised.

"},{"location":"api/stream/Cache/#attributes","title":"Attributes","text":"
  • keys (set)

    The set of keys that are being cached.

"},{"location":"api/stream/Cache/#examples","title":"Examples","text":"
import time\nfrom river import datasets\nfrom river import stream\n\ndataset = datasets.Phishing()\ncache = stream.Cache()\n

The cache can be used by wrapping it around an iterable. Because this is the first time are iterating over the data, nothing is cached.

tic = time.time()\nfor x, y in cache(dataset, key='phishing'):\n    pass\ntoc = time.time()\nprint(toc - tic)  # doctest: +SKIP\n
0.012813\n

If we do the same thing again, we can see the loop is now faster.

tic = time.time()\nfor x, y in cache(dataset, key='phishing'):\n    pass\ntoc = time.time()\nprint(toc - tic)  # doctest: +SKIP\n
0.001927\n

We can see an overview of the cache. The first line indicates the location of the cache.

cache  # doctest: +SKIP\n
/tmp\nphishing - 125.2KiB\n

Finally, we can clear the stream from the cache.

cache.clear('phishing')\ncache  # doctest: +SKIP\n
/tmp\n

There is also a clear_all method to remove all the items in the cache.

cache.clear_all()\n
"},{"location":"api/stream/Cache/#methods","title":"Methods","text":"call

Call self as a function.

Parameters

  • stream
  • key \u2014 defaults to None

clear

Delete the cached stream associated with the given key.

Parameters

  • key \u2014 'str'

clear_all

Delete all the cached streams.

"},{"location":"api/stream/TwitchChatStream/","title":"TwitchChatStream","text":"

Twitch chat stream client.

This client gives access to a live stream of chat messages in Twitch channels using IRC protocol. You need to have a Twitch account and receive an OAuth token from https://twitchapps.com/tmi/.

"},{"location":"api/stream/TwitchChatStream/#parameters","title":"Parameters","text":"
  • nickname

    Type \u2192 str

    The nickname of your account.

  • token

    Type \u2192 str

    OAuth token which has been generated.

  • channels

    Type \u2192 list[str]

    A list of channel names like [\"asmongold\", \"shroud\"] you want to collect messages from.

  • buffer_size

    Type \u2192 int

    Default \u2192 2048

    Size of buffer in bytes used for receiving responses from Twitch with IRC (default 2 KiB).

  • timeout

    Type \u2192 int

    Default \u2192 60

    A timeout value in seconds for waiting response from Twitch (default 60s). It can be useful if all requested channels are offline or chat is not active enough.

"},{"location":"api/stream/TwitchChatStream/#examples","title":"Examples","text":"

The live stream is instantiated by passing your Twitch account nickname, OAuth token and list of channels. Other parameters are optional.

from river import stream\n\ntwitch_chat = stream.TwitchChatStream(\n    nickname=\"twitch_user1\",\n    token=\"oauth:okrip6j6fjio8n5xpy2oum1lph4fbve\",\n    channels=[\"asmongold\", \"shroud\"]\n)\n

The stream can be iterated over like this:

for item in twitch_chat:\n    print(item)\n

Here's a single stream item example:

{\n    'dt': datetime.datetime(2022, 9, 14, 10, 33, 37, 989560),\n    'channel': 'asmongold',\n    'username': 'moojiejaa',\n    'msg': 'damn this chat mod are wild'\n}\n

  1. Twitch IRC doc \u21a9

"},{"location":"api/stream/TwitterLiveStream/","title":"TwitterLiveStream","text":"

Twitter API v2 live stream client.

This client gives access to a live stream of Tweets. That is, Tweets that have just been published. This is different to stream.TwitterRecentStream, which also covers Tweets that have been published over recent days, and not necessarily in real-time.

A list of filtering rules has to be provided. For instance, this allows focusing on a subset of topics and/or users.

Note

Using this requires having the requests package installed.

"},{"location":"api/stream/TwitterLiveStream/#parameters","title":"Parameters","text":"
  • rules

    See the documentation[^2] for a comprehensive overview of filtering rules.

  • bearer_token

    A bearer token that is available in each account's developer portal.

"},{"location":"api/stream/TwitterLiveStream/#examples","title":"Examples","text":"

The live stream is instantiated by passing a list of filtering rules, as well as a bearer token. For instance, we can listen to all the breaking news Tweets from the BBC and CNN.

from river import stream\n\ntweets = stream.TwitterLiveStream(\n    rules=[\"from:BBCBreaking\", \"from:cnnbrk\"],\n    bearer_token=\"<insert_bearer_token>\"\n)\n
The stream can then be iterated over, possibly in an infinite loop. This will listen to the\nlive feed of Tweets and produce a Tweet right after it's been published.\n\n```py\nimport logging\n\nwhile True:\n    try:\n        for tweet in tweets:\n            print(tweet)\n    except requests.exceptions.RequestException as e:\n        logging.warning(str(e))\n        time.sleep(10)\n```\n\nHere's a Tweet example:\n\n```py\n{\n    'data': {\n        'author_id': '428333',\n        'created_at': '2022-08-26T12:59:48.000Z',\n        'id': '1563149212774445058',\n        'text': \"Ukraine's Zaporizhzhia nuclear power plant, which is currently held by\n

Russian forces, has been reconnected to Ukraine's electricity grid, according to the country's nuclear operator https://t.co/xfylkBs4JR\" }, 'includes': { 'users': [ { 'created_at': '2007-01-02T01:48:14.000Z', 'id': '428333', 'name': 'CNN Breaking News', 'username': 'cnnbrk' } ] }, 'matching_rules': [{'id': '1563148866333151233', 'tag': 'from:cnnbrk'}] } ``` [^1]: Filtered stream introduction [^2]: Building rules for filtered stream [^3]: Stream Tweets in real-time

"},{"location":"api/stream/iter-arff/","title":"iter_arff","text":"

Iterates over rows from an ARFF file.

"},{"location":"api/stream/iter-arff/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target

    Type \u2192 str | list[str] | None

    Default \u2192 None

    Name(s) of the target field. If None, then the target field is ignored. If a list of names is passed, then a dictionary is returned instead of a single value.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

  • sparse

    Default \u2192 False

    Whether the data is sparse or not.

"},{"location":"api/stream/iter-arff/#examples","title":"Examples","text":"

cars = '''\n@relation CarData\n@attribute make {Toyota, Honda, Ford, Chevrolet}\n@attribute model string\n@attribute year numeric\n@attribute price numeric\n@attribute mpg numeric\n@data\nToyota, Corolla, 2018, 15000, 30.5\nHonda, Civic, 2019, 16000, 32.2\nFord, Mustang, 2020, 25000, 25.0\nChevrolet, Malibu, 2017, 18000, 28.9\nToyota, Camry, 2019, 22000, 29.8\n'''\nwith open('cars.arff', mode='w') as f:\n    _ = f.write(cars)\n\nfrom river import stream\n\nfor x, y in stream.iter_arff('cars.arff', target='price'):\n    print(x, y)\n
{'make': 'Toyota', 'model': ' Corolla', 'year': 2018.0, 'mpg': 30.5} 15000.0\n{'make': 'Honda', 'model': ' Civic', 'year': 2019.0, 'mpg': 32.2} 16000.0\n{'make': 'Ford', 'model': ' Mustang', 'year': 2020.0, 'mpg': 25.0} 25000.0\n{'make': 'Chevrolet', 'model': ' Malibu', 'year': 2017.0, 'mpg': 28.9} 18000.0\n{'make': 'Toyota', 'model': ' Camry', 'year': 2019.0, 'mpg': 29.8} 22000.0\n

Finally, let's delete the example file.

import os; os.remove('cars.arff')\n

ARFF files support sparse data. Let's create a sparse ARFF file.

sparse = '''\n% traindata\n@RELATION \"traindata: -C 6\"\n@ATTRIBUTE y0 {0, 1}\n@ATTRIBUTE y1 {0, 1}\n@ATTRIBUTE y2 {0, 1}\n@ATTRIBUTE y3 {0, 1}\n@ATTRIBUTE y4 {0, 1}\n@ATTRIBUTE y5 {0, 1}\n@ATTRIBUTE X0 NUMERIC\n@ATTRIBUTE X1 NUMERIC\n@ATTRIBUTE X2 NUMERIC\n@DATA\n{ 3 1,6 0.863382,8 0.820094 }\n{ 2 1,6 0.659761 }\n{ 0 1,3 1,6 0.437881,8 0.818882 }\n{ 2 1,6 0.676477,7 0.724635,8 0.755123 }\n'''\n\nwith open('sparse.arff', mode='w') as f:\n    _ = f.write(sparse)\n

In addition, we'll specify that there are several target fields.

arff_stream = stream.iter_arff(\n    'sparse.arff',\n    target=['y0', 'y1', 'y2', 'y3', 'y4', 'y5'],\n    sparse=True\n)\n\nfor x, y in arff_stream:\n    print(x)\n    print(y)\n
{'X0': '0.863382', 'X2': '0.820094'}\n{'y0': 0, 'y1': 0, 'y2': 0, 'y3': '1', 'y4': 0, 'y5': 0}\n{'X0': '0.659761'}\n{'y0': 0, 'y1': 0, 'y2': '1', 'y3': 0, 'y4': 0, 'y5': 0}\n{'X0': '0.437881', 'X2': '0.818882'}\n{'y0': '1', 'y1': 0, 'y2': 0, 'y3': '1', 'y4': 0, 'y5': 0}\n{'X0': '0.676477', 'X1': '0.724635', 'X2': '0.755123'}\n{'y0': 0, 'y1': 0, 'y2': '1', 'y3': 0, 'y4': 0, 'y5': 0}\n

This function can also deal with missing features in non-sparse data. These are indicated with a question mark.

data = '''\n@relation giveMeLoan-weka.filters.unsupervised.attribute.Remove-R1\n@attribute RevolvingUtilizationOfUnsecuredLines numeric\n@attribute age numeric\n@attribute NumberOfTime30-59DaysPastDueNotWorse numeric\n@attribute DebtRatio numeric\n@attribute MonthlyIncome numeric\n@attribute NumberOfOpenCreditLinesAndLoans numeric\n@attribute NumberOfTimes90DaysLate numeric\n@attribute NumberRealEstateLoansOrLines numeric\n@attribute NumberOfTime60-89DaysPastDueNotWorse numeric\n@attribute NumberOfDependents numeric\n@attribute isFraud {0,1}\n@data\n0.213179,74,0,0.375607,3500,3,0,1,0,1,0\n0.305682,57,0,5710,?,8,0,3,0,0,0\n0.754464,39,0,0.20994,3500,8,0,0,0,0,0\n0.116951,27,0,46,?,2,0,0,0,0,0\n0.189169,57,0,0.606291,23684,9,0,4,0,2,0\n'''\n\nwith open('data.arff', mode='w') as f:\n    _ = f.write(data)\n\nfor x, y in stream.iter_arff('data.arff', target='isFraud'):\n    print(len(x))\n
10\n9\n10\n9\n10\n

  1. ARFF format description from Weka \u21a9

"},{"location":"api/stream/iter-array/","title":"iter_array","text":"

Iterates over the rows from an array of features and an array of targets.

This method is intended to work with numpy arrays, but should also work with Python lists.

"},{"location":"api/stream/iter-array/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 np.ndarray

    A 2D array of features. This can also be a 1D array of strings, which can be the case if you're working with text.

  • y

    Type \u2192 np.ndarray | None

    Default \u2192 None

    An optional array of targets.

  • feature_names

    Type \u2192 list[base.typing.FeatureName] | None

    Default \u2192 None

    An optional list of feature names. The features will be labeled with integers if no names are provided.

  • target_names

    Type \u2192 list[base.typing.FeatureName] | None

    Default \u2192 None

    An optional list of output names. The outputs will be labeled with integers if no names are provided. Only applies if there are multiple outputs, i.e. if y is a 2D array.

  • shuffle

    Type \u2192 bool

    Default \u2192 False

    Indicates whether or not to shuffle the input arrays before iterating over them.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for shuffling the data.

"},{"location":"api/stream/iter-array/#examples","title":"Examples","text":"

from river import stream\nimport numpy as np\n\nX = np.array([[1, 2, 3], [11, 12, 13]])\nY = np.array([True, False])\n\ndataset = stream.iter_array(\n    X, Y,\n    feature_names=['x1', 'x2', 'x3']\n)\nfor x, y in dataset:\n    print(x, y)\n
{'x1': 1, 'x2': 2, 'x3': 3} True\n{'x1': 11, 'x2': 12, 'x3': 13} False\n

This also works with a array of texts:

X = [\"foo\", \"bar\"]\ndataset = stream.iter_array(\n    X, Y,\n    feature_names=['x1', 'x2', 'x3']\n)\nfor x, y in dataset:\n    print(x, y)\n
foo True\nbar False\n

"},{"location":"api/stream/iter-csv/","title":"iter_csv","text":"

Iterates over rows from a CSV file.

Reading CSV files can be quite slow. If, for whatever reason, you're going to loop through the same file multiple times, then we recommend that you to use the stream.Cache utility.

"},{"location":"api/stream/iter-csv/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target

    Type \u2192 str | list[str] | None

    Default \u2192 None

    A single target column is assumed if a string is passed. A multiple output scenario is assumed if a list of strings is passed. A None value will be assigned to each y if this parameter is omitted.

  • converters

    Type \u2192 dict | None

    Default \u2192 None

    All values in the CSV are interpreted as strings by default. You can use this parameter to cast values to the desired type. This should be a dict mapping feature names to callables used to parse their associated values. Note that a callable may be a type, such as float and int.

  • parse_dates

    Type \u2192 dict | None

    Default \u2192 None

    A dict mapping feature names to a format passed to the datetime.datetime.strptime method.

  • drop

    Type \u2192 list[str] | None

    Default \u2192 None

    Fields to ignore.

  • drop_nones

    Default \u2192 False

    Whether or not to drop fields where the value is a None.

  • fraction

    Default \u2192 1.0

    Sampling fraction.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    If specified, the sampling will be deterministic.

  • field_size_limit

    Type \u2192 int | None

    Default \u2192 None

    If not None, this will be passed to the csv.field_size_limit function.

  • kwargs

    All other keyword arguments are passed to the underlying csv.DictReader.

"},{"location":"api/stream/iter-csv/#examples","title":"Examples","text":"

Although this function is designed to handle different kinds of inputs, the most common use case is to read a file on the disk. We'll first create a little CSV file to illustrate.

tv_shows = '''name,year,rating\nPlanet Earth II,2016,9.5\nPlanet Earth,2006,9.4\nBand of Brothers,2001,9.4\nBreaking Bad,2008,9.4\nChernobyl,2019,9.4\n'''\nwith open('tv_shows.csv', mode='w') as f:\n    _ = f.write(tv_shows)\n

We can now go through the rows one by one. We can use the converters parameter to cast the rating field value as a float. We can also convert the year to a datetime via the parse_dates parameter.

from river import stream\n\nparams = {\n    'converters': {'rating': float},\n    'parse_dates': {'year': '%Y'}\n}\nfor x, y in stream.iter_csv('tv_shows.csv', **params):\n    print(x, y)\n
{'name': 'Planet Earth II', 'year': datetime.datetime(2016, 1, 1, 0, 0), 'rating': 9.5} None\n{'name': 'Planet Earth', 'year': datetime.datetime(2006, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Band of Brothers', 'year': datetime.datetime(2001, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Breaking Bad', 'year': datetime.datetime(2008, 1, 1, 0, 0), 'rating': 9.4} None\n{'name': 'Chernobyl', 'year': datetime.datetime(2019, 1, 1, 0, 0), 'rating': 9.4} None\n

The value of y is always None because we haven't provided a value for the target parameter. Here is an example where a target is provided:

dataset = stream.iter_csv('tv_shows.csv', target='rating', **params)\nfor x, y in dataset:\n    print(x, y)\n
{'name': 'Planet Earth II', 'year': datetime.datetime(2016, 1, 1, 0, 0)} 9.5\n{'name': 'Planet Earth', 'year': datetime.datetime(2006, 1, 1, 0, 0)} 9.4\n{'name': 'Band of Brothers', 'year': datetime.datetime(2001, 1, 1, 0, 0)} 9.4\n{'name': 'Breaking Bad', 'year': datetime.datetime(2008, 1, 1, 0, 0)} 9.4\n{'name': 'Chernobyl', 'year': datetime.datetime(2019, 1, 1, 0, 0)} 9.4\n

Finally, let's delete the example file.

import os; os.remove('tv_shows.csv')\n
"},{"location":"api/stream/iter-libsvm/","title":"iter_libsvm","text":"

Iterates over a dataset in LIBSVM format.

The LIBSVM format is a popular way in the machine learning community to store sparse datasets. Only numerical feature values are supported. The feature names will be considered as strings.

"},{"location":"api/stream/iter-libsvm/#parameters","title":"Parameters","text":"
  • filepath_or_buffer

    Type \u2192 str

    Either a string indicating the location of a file, or a buffer object that has a read method.

  • target_type

    Default \u2192 <class 'float'>

    The type of the target value.

  • compression

    Default \u2192 infer

    For on-the-fly decompression of on-disk data. If this is set to 'infer' and filepath_or_buffer is a path, then the decompression method is inferred for the following extensions: '.gz', '.zip'.

"},{"location":"api/stream/iter-libsvm/#examples","title":"Examples","text":"

import io\nfrom river import stream\n\ndata = io.StringIO('''+1 x:-134.26 y:0.2563\n1 x:-12 z:0.3\n-1 y:.25\n''')\n\nfor x, y in stream.iter_libsvm(data, target_type=int):\n    print(y, x)\n
1 {'x': -134.26, 'y': 0.2563}\n1 {'x': -12.0, 'z': 0.3}\n-1 {'y': 0.25}\n

  1. LIBSVM documentation \u21a9

"},{"location":"api/stream/iter-pandas/","title":"iter_pandas","text":"

Iterates over the rows of a pandas.DataFrame.

"},{"location":"api/stream/iter-pandas/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 pd.DataFrame

    A dataframe of features.

  • y

    Type \u2192 pd.Series | pd.DataFrame | None

    Default \u2192 None

    A series or a dataframe with one column per target.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-pandas/#examples","title":"Examples","text":"

import pandas as pd\nfrom river import stream\n\nX = pd.DataFrame({\n    'x1': [1, 2, 3, 4],\n    'x2': ['blue', 'yellow', 'yellow', 'blue'],\n    'y': [True, False, False, True]\n})\ny = X.pop('y')\n\nfor xi, yi in stream.iter_pandas(X, y):\n    print(xi, yi)\n
{'x1': 1, 'x2': 'blue'} True\n{'x1': 2, 'x2': 'yellow'} False\n{'x1': 3, 'x2': 'yellow'} False\n{'x1': 4, 'x2': 'blue'} True\n

"},{"location":"api/stream/iter-polars/","title":"iter_polars","text":"

Iterates over the rows of a polars.DataFrame.

"},{"location":"api/stream/iter-polars/#parameters","title":"Parameters","text":"
  • X

    Type \u2192 pl.DataFrame

    A dataframe of features.

  • y

    Type \u2192 pl.Series | pl.DataFrame | None

    Default \u2192 None

    A series or a dataframe with one column per target.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-polars/#examples","title":"Examples","text":"

import polars as pl\nfrom river import stream\n\nX = pl.DataFrame({\n    'x1': [1, 2, 3, 4],\n    'x2': ['blue', 'yellow', 'yellow', 'blue'],\n    'y': [True, False, False, True]\n})\ny = X.get_column('y')\nX=X.drop(\"y\")\n\nfor xi, yi in stream.iter_polars(X, y):\n    print(xi, yi)\n
{'x1': 1, 'x2': 'blue'} True\n{'x1': 2, 'x2': 'yellow'} False\n{'x1': 3, 'x2': 'yellow'} False\n{'x1': 4, 'x2': 'blue'} True\n

"},{"location":"api/stream/iter-sklearn-dataset/","title":"iter_sklearn_dataset","text":"

Iterates rows from one of the datasets provided by scikit-learn.

This allows you to use any dataset from scikit-learn's datasets module. For instance, you can use the fetch_openml function to get access to all of the datasets from the OpenML website.

"},{"location":"api/stream/iter-sklearn-dataset/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 sklearn.utils.Bunch

    A scikit-learn dataset.

  • kwargs

    Extra keyword arguments are passed to the underlying call to stream.iter_array.

"},{"location":"api/stream/iter-sklearn-dataset/#examples","title":"Examples","text":"

import pprint\nfrom sklearn import datasets\nfrom river import stream\n\ndataset = datasets.load_diabetes()\n\nfor xi, yi in stream.iter_sklearn_dataset(dataset):\n    pprint.pprint(xi)\n    print(yi)\n    break\n
{'age': 0.038075906433423026,\n 'bmi': 0.061696206518683294,\n 'bp': 0.0218723855140367,\n 's1': -0.04422349842444599,\n 's2': -0.03482076283769895,\n 's3': -0.04340084565202491,\n 's4': -0.002592261998183278,\n 's5': 0.019907486170462722,\n 's6': -0.01764612515980379,\n 'sex': 0.05068011873981862}\n151.0\n

"},{"location":"api/stream/iter-sql/","title":"iter_sql","text":"

Iterates over the results from an SQL query.

By default, SQLAlchemy prefetches results. Therefore, even though you can iterate over the resulting rows one by one, the results are in fact loaded in batch. You can modify this behavior by configuring the connection you pass to iter_sql. For instance, you can set the stream_results parameter to True, as explained in SQLAlchemy's documentation. Note, however, that this isn't available for all database engines.

"},{"location":"api/stream/iter-sql/#parameters","title":"Parameters","text":"
  • query

    Type \u2192 str | sqlalchemy.TextClause | sqlalchemy.Select

    SQL query to be executed.

  • conn

    Type \u2192 sqlalchemy.Connection

    An SQLAlchemy construct which has an execute method. In other words you can pass an engine, a connection, or a session.

  • target_name

    Type \u2192 str | None

    Default \u2192 None

    The name of the target field. If this is None, then y will also be None.

"},{"location":"api/stream/iter-sql/#examples","title":"Examples","text":"

As an example we'll create an in-memory database with SQLAlchemy.

import datetime as dt\nimport sqlalchemy\n\nengine = sqlalchemy.create_engine('sqlite://')\n\nmetadata = sqlalchemy.MetaData()\n\nt_sales = sqlalchemy.Table('sales', metadata,\n    sqlalchemy.Column('shop', sqlalchemy.String, primary_key=True),\n    sqlalchemy.Column('date', sqlalchemy.Date, primary_key=True),\n    sqlalchemy.Column('amount', sqlalchemy.Integer)\n)\n\nmetadata.create_all(engine)\n\nsales = [\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 2), 'amount': 20},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 2), 'amount': 18},\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 3), 'amount': 22},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 3), 'amount': 14},\n    {'shop': 'Hema', 'date': dt.date(2016, 8, 4), 'amount': 12},\n    {'shop': 'Ikea', 'date': dt.date(2016, 8, 4), 'amount': 16}\n]\n\nwith engine.connect() as conn:\n    _ = conn.execute(t_sales.insert(), sales)\n    conn.commit()\n

We can now query the database. We will set amount to be the target field.

from river import stream\n\nwith engine.connect() as conn:\n    query = sqlalchemy.sql.select(t_sales)\n    dataset = stream.iter_sql(query, conn, target_name='amount')\n    for x, y in dataset:\n        print(x, y)\n
{'shop': 'Hema', 'date': datetime.date(2016, 8, 2)} 20\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 2)} 18\n{'shop': 'Hema', 'date': datetime.date(2016, 8, 3)} 22\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 3)} 14\n{'shop': 'Hema', 'date': datetime.date(2016, 8, 4)} 12\n{'shop': 'Ikea', 'date': datetime.date(2016, 8, 4)} 16\n

This also with raw SQL queries.

with engine.connect() as conn:\n    query = \"SELECT * FROM sales WHERE shop = 'Hema'\"\n    dataset = stream.iter_sql(query, conn, target_name='amount')\n    for x, y in dataset:\n        print(x, y)\n
{'shop': 'Hema', 'date': '2016-08-02'} 20\n{'shop': 'Hema', 'date': '2016-08-03'} 22\n{'shop': 'Hema', 'date': '2016-08-04'} 12\n

"},{"location":"api/stream/shuffle/","title":"shuffle","text":"

Shuffles a stream of data.

This works by maintaining a buffer of elements. The first buffer_size elements are stored in memory. Once the buffer is full, a random element inside the buffer is yielded. Every time an element is yielded, the next element in the stream replaces it and the buffer is sampled again. Increasing buffer_size will improve the quality of the shuffling.

If you really want to stream over your dataset in a \"good\" random order, the best way is to split your dataset into smaller datasets and loop over them in a round-robin fashion. You may do this by using the roundrobin recipe from the itertools module.

"},{"location":"api/stream/shuffle/#parameters","title":"Parameters","text":"
  • stream

    Type \u2192 typing.Iterator

    The stream to shuffle.

  • buffer_size

    Type \u2192 int

    The size of the buffer which contains the elements help in memory. Increasing this will increase randomness but will incur more memory usage.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed used for sampling.

"},{"location":"api/stream/shuffle/#examples","title":"Examples","text":"

from river import stream\n\nfor i in stream.shuffle(range(15), buffer_size=5, seed=42):\n    print(i)\n
0\n5\n2\n1\n8\n9\n6\n4\n11\n12\n10\n7\n14\n13\n3\n

  1. Visualizing TensorFlow's streaming shufflers \u21a9

"},{"location":"api/stream/simulate-qa/","title":"simulate_qa","text":"

Simulate a time-ordered question and answer session.

This method allows looping through a dataset in the order in which it arrived. Indeed, it usually is the case that labels arrive after features. Being able to go through a dataset in arrival order enables assessing a model's performance in a reliable manner. For instance, the evaluate.progressive_val_score is a high-level method that can be used to score a model on a dataset. Under the hood it uses this method to determine the correct arrival order.

"},{"location":"api/stream/simulate-qa/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A stream of (features, target) tuples.

  • moment

    Type \u2192 str | typing.Callable[[dict], dt.datetime] | None

    The attribute used for measuring time. If a callable is passed, then it is expected to take as input a dict of features. If None, then the observations are implicitly timestamped in the order in which they arrive. If a str is passed, then it will be used to obtain the time from the input features.

  • delay

    Type \u2192 str | int | dt.timedelta | typing.Callable | None

    The amount of time to wait before revealing the target associated with each observation to the model. This value is expected to be able to sum with the moment value. For instance, if moment is a datetime.date, then delay is expected to be a datetime.timedelta. If a callable is passed, then it is expected to take as input a dict of features and the target. If a str is passed, then it will be used to access the relevant field from the features. If None is passed, then no delay will be used, which leads to doing standard online validation. If a scalar is passed, such an int or a datetime.timedelta, then the delay is constant.

  • copy

    Type \u2192 bool

    Default \u2192 True

    If True, then a separate copy of the features are yielded the second time around. This ensures that inadvertent modifications in downstream code don't have any effect.

"},{"location":"api/stream/simulate-qa/#examples","title":"Examples","text":"

The arrival delay isn't usually indicated in a dataset, but it might be able to be inferred from the features. As an example, we'll simulate the departure and arrival time of taxi trips. Let's first create a time table which records the departure time and the duration of seconds of several taxi trips.

import datetime as dt\ntime_table = [\n    (dt.datetime(2020, 1, 1, 20,  0, 0),  900),\n    (dt.datetime(2020, 1, 1, 20, 10, 0), 1800),\n    (dt.datetime(2020, 1, 1, 20, 20, 0),  300),\n    (dt.datetime(2020, 1, 1, 20, 45, 0),  400),\n    (dt.datetime(2020, 1, 1, 20, 50, 0),  240),\n    (dt.datetime(2020, 1, 1, 20, 55, 0),  450)\n]\n

We can now create a streaming dataset where the features are the departure dates and the targets are the durations.

dataset = (\n    ({'date': date}, duration)\n    for date, duration in time_table\n)\n

Now, we can use simulate_qa to iterate over the events in the order in which they are meant to occur.

delay = lambda _, y: dt.timedelta(seconds=y)\n\nfor i, x, y in simulate_qa(dataset, moment='date', delay=delay):\n    if y is None:\n        print(f'{x[\"date\"]} - trip #{i} departs')\n    else:\n        arrival_date = x['date'] + dt.timedelta(seconds=y)\n        print(f'{arrival_date} - trip #{i} arrives after {y} seconds')\n
2020-01-01 20:00:00 - trip #0 departs\n2020-01-01 20:10:00 - trip #1 departs\n2020-01-01 20:15:00 - trip #0 arrives after 900 seconds\n2020-01-01 20:20:00 - trip #2 departs\n2020-01-01 20:25:00 - trip #2 arrives after 300 seconds\n2020-01-01 20:40:00 - trip #1 arrives after 1800 seconds\n2020-01-01 20:45:00 - trip #3 departs\n2020-01-01 20:50:00 - trip #4 departs\n2020-01-01 20:51:40 - trip #3 arrives after 400 seconds\n2020-01-01 20:54:00 - trip #4 arrives after 240 seconds\n2020-01-01 20:55:00 - trip #5 departs\n2020-01-01 21:02:30 - trip #5 arrives after 450 seconds\n

This function is extremely practical because it provides a reliable way to evaluate the performance of a model in a real scenario. Indeed, it allows to make predictions and perform model updates in exactly the same manner that would happen live. For instance, it is used in evaluate.progressive_val_score, which is a higher level function for evaluating models in an online manner.

"},{"location":"api/time-series/ForecastingMetric/","title":"ForecastingMetric","text":""},{"location":"api/time-series/ForecastingMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/HoltWinters/","title":"HoltWinters","text":"

Holt-Winters forecaster.

This is a standard implementation of the Holt-Winters forecasting method. Certain parametrisations result in special cases, such as simple exponential smoothing.

Optimal parameters and initialisation values can be determined in a batch setting. However, in an online setting, it is necessary to wait and observe enough values. The first k = max(2, seasonality) values are indeed used to initialize the components.

Level initialization

\\[l = \\frac{1}{k} \\sum_{i=1}{k} y_i\\]

Trend initialization

\\[t = \\frac{1}{k - 1} \\sum_{i=2}{k} y_i - y_{i-1}\\]

Trend initialization

\\[s_i = \\frac{y_i}{k}\\]"},{"location":"api/time-series/HoltWinters/#parameters","title":"Parameters","text":"
  • alpha

    Smoothing parameter for the level.

  • beta

    Default \u2192 None

    Smoothing parameter for the trend.

  • gamma

    Default \u2192 None

    Smoothing parameter for the seasonality.

  • seasonality

    Default \u2192 0

    The number of periods in a season. For instance, this should be 4 for quarterly data, and 12 for yearly data.

  • multiplicative

    Default \u2192 False

    Whether or not to use a multiplicative formulation.

"},{"location":"api/time-series/HoltWinters/#examples","title":"Examples","text":"

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\ndataset = datasets.AirlinePassengers()\n\nmodel = time_series.HoltWinters(\n    alpha=0.3,\n    beta=0.1,\n    gamma=0.6,\n    seasonality=12,\n    multiplicative=True\n)\n\nmetric = metrics.MAE()\n\ntime_series.evaluate(\n    dataset,\n    model,\n    metric,\n    horizon=12\n)\n
+1  MAE: 25.899087\n+2  MAE: 26.26131\n+3  MAE: 25.735903\n+4  MAE: 25.625678\n+5  MAE: 26.093842\n+6  MAE: 26.90249\n+7  MAE: 28.634398\n+8  MAE: 29.284769\n+9  MAE: 31.018351\n+10 MAE: 32.252349\n+11 MAE: 33.518946\n+12 MAE: 33.975057\n

"},{"location":"api/time-series/HoltWinters/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. Exponential smoothing \u2014 Wikipedia \u21a9

  2. Exponential smoothing \u2014 Forecasting: Principles and Practice \u21a9

  3. What is Exponential Smoothing? \u2014 Engineering statistics handbook \u21a9

"},{"location":"api/time-series/HorizonAggMetric/","title":"HorizonAggMetric","text":"

Same as HorizonMetric, but aggregates the result based on an provided function.

This allows, for instance, to measure the average performance of a forecasting model along the horizon.

"},{"location":"api/time-series/HorizonAggMetric/#parameters","title":"Parameters","text":"
  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float]

    A function that takes as input a list of floats and outputs a single float. You may want to min, max, as well as statistics.mean and statistics.median.

"},{"location":"api/time-series/HorizonAggMetric/#examples","title":"Examples","text":"

This is used internally by the time_series.evaluate function when you pass an agg_func.

import statistics\nfrom river import datasets\nfrom river import metrics\nfrom river import time_series\n\nmetric = time_series.evaluate(\n    dataset=datasets.AirlinePassengers(),\n    model=time_series.HoltWinters(alpha=0.1),\n    metric=metrics.MAE(),\n    agg_func=statistics.mean,\n    horizon=4\n)\n\nmetric\n
mean(MAE): 42.901748\n

"},{"location":"api/time-series/HorizonAggMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/HorizonMetric/","title":"HorizonMetric","text":"

Measures performance at each time step ahead.

This allows to measure the performance of a model at each time step along the horizon. A copy of the provided regression metric is made for each time step. At each time step ahead, the metric is thus evaluated on each prediction for said time step, and not for the time steps before or after that.

"},{"location":"api/time-series/HorizonMetric/#parameters","title":"Parameters","text":"
  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

"},{"location":"api/time-series/HorizonMetric/#examples","title":"Examples","text":"

This is used internally by the time_series.evaluate function.

from river import datasets\nfrom river import metrics\nfrom river import time_series\n\nmetric = time_series.evaluate(\n    dataset=datasets.AirlinePassengers(),\n    model=time_series.HoltWinters(alpha=0.1),\n    metric=metrics.MAE(),\n    horizon=4\n)\n\nmetric\n
+1 MAE: 40.931286\n+2 MAE: 42.667998\n+3 MAE: 44.158092\n+4 MAE: 43.849617\n

"},{"location":"api/time-series/HorizonMetric/#methods","title":"Methods","text":"get

Return the current performance along the horizon.

Returns

list[float]: The current performance.

update

Update the metric at each step along the horizon.

Parameters

  • y_true \u2014 'list[Number]'
  • y_pred \u2014 'list[Number]'

"},{"location":"api/time-series/SNARIMAX/","title":"SNARIMAX","text":"

SNARIMAX model.

SNARIMAX stands for (S)easonal (N)on-linear (A)uto(R)egressive (I)ntegrated (M)oving-(A)verage with e(X)ogenous inputs model.

This model generalizes many established time series models in a single interface that can be trained online. It assumes that the provided training data is ordered in time and is uniformly spaced. It is made up of the following components:

  • S (Seasonal)

  • N (Non-linear): Any online regression model can be used, not necessarily a linear regression

    as is done in textbooks. - AR (Autoregressive): Lags of the target variable are used as features.

  • I (Integrated): The model can be fitted on a differenced version of a time series. In this

    context, integration is the reverse of differencing. - MA (Moving average): Lags of the errors are used as features.

  • X (Exogenous): Users can provide additional features. Care has to be taken to include

    features that will be available both at training and prediction time.

Each of these components can be switched on and off by specifying the appropriate parameters. Classical time series models such as AR, MA, ARMA, and ARIMA can thus be seen as special parametrizations of the SNARIMAX model.

This model is tailored for time series that are homoskedastic. In other words, it might not work well if the variance of the time series varies widely along time.

"},{"location":"api/time-series/SNARIMAX/#parameters","title":"Parameters","text":"
  • p

    Type \u2192 int

    Order of the autoregressive part. This is the number of past target values that will be included as features.

  • d

    Type \u2192 int

    Differencing order.

  • q

    Type \u2192 int

    Order of the moving average part. This is the number of past error terms that will be included as features.

  • m

    Type \u2192 int

    Default \u2192 1

    Season length used for extracting seasonal features. If you believe your data has a seasonal pattern, then set this accordingly. For instance, if the data seems to exhibit a yearly seasonality, and that your data is spaced by month, then you should set this to 12. Note that for this parameter to have any impact you should also set at least one of the p, d, and q parameters.

  • sp

    Type \u2192 int

    Default \u2192 0

    Seasonal order of the autoregressive part. This is the number of past target values that will be included as features.

  • sd

    Type \u2192 int

    Default \u2192 0

    Seasonal differencing order.

  • sq

    Type \u2192 int

    Default \u2192 0

    Seasonal order of the moving average part. This is the number of past error terms that will be included as features.

  • regressor

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The online regression model to use. By default, a preprocessing.StandardScaler piped with a linear_model.LinearRegression will be used.

"},{"location":"api/time-series/SNARIMAX/#attributes","title":"Attributes","text":"
  • differencer (Differencer)

  • y_trues (collections.deque)

    The p past target values.

  • errors (collections.deque)

    The q past error values.

"},{"location":"api/time-series/SNARIMAX/#examples","title":"Examples","text":"

import datetime as dt\nfrom river import datasets\nfrom river import time_series\nfrom river import utils\n\nperiod = 12\nmodel = time_series.SNARIMAX(\n    p=period,\n    d=1,\n    q=period,\n    m=period,\n    sd=1\n)\n\nfor t, (x, y) in enumerate(datasets.AirlinePassengers()):\n    model.learn_one(y)\n\nhorizon = 12\nfuture = [\n    {'month': dt.date(year=1961, month=m, day=1)}\n    for m in range(1, horizon + 1)\n]\nforecast = model.forecast(horizon=horizon)\nfor x, y_pred in zip(future, forecast):\n    print(x['month'], f'{y_pred:.3f}')\n
1961-01-01 494.542\n1961-02-01 450.825\n1961-03-01 484.972\n1961-04-01 576.401\n1961-05-01 559.489\n1961-06-01 612.251\n1961-07-01 722.410\n1961-08-01 674.604\n1961-09-01 575.716\n1961-10-01 562.808\n1961-11-01 477.049\n1961-12-01 515.191\n

Classic ARIMA models learn solely on the time series values. You can also include features built at each step.

import calendar\nimport math\nfrom river import compose\nfrom river import linear_model\nfrom river import optim\nfrom river import preprocessing\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}\n\nextract_features = compose.TransformerUnion(\n    get_ordinal_date,\n    get_month_distances\n)\n\nmodel = (\n    extract_features |\n    time_series.SNARIMAX(\n        p=1,\n        d=0,\n        q=0,\n        m=12,\n        sp=3,\n        sq=6,\n        regressor=(\n            preprocessing.StandardScaler() |\n            linear_model.LinearRegression(\n                intercept_init=110,\n                optimizer=optim.SGD(0.01),\n                intercept_lr=0.3\n            )\n        )\n    )\n)\n\nfor x, y in datasets.AirlinePassengers():\n    model.learn_one(x, y)\n\nforecast = model.forecast(horizon=horizon)\nfor x, y_pred in zip(future, forecast):\n    print(x['month'], f'{y_pred:.3f}')\n
1961-01-01 444.821\n1961-02-01 432.612\n1961-03-01 457.739\n1961-04-01 465.544\n1961-05-01 476.575\n1961-06-01 516.255\n1961-07-01 565.405\n1961-08-01 572.470\n1961-09-01 512.645\n1961-10-01 475.919\n1961-11-01 438.033\n1961-12-01 456.892\n

"},{"location":"api/time-series/SNARIMAX/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

  1. ARMA - Wikipedia \u21a9

  2. NARX - Wikipedia \u21a9

  3. ARIMA - Forecasting: Principles and Practice \u21a9

  4. Anava, O., Hazan, E., Mannor, S. and Shamir, O., 2013, June. Online learning for time series prediction. In Conference on learning theory (pp. 172-184) \u21a9

"},{"location":"api/time-series/evaluate/","title":"evaluate","text":"

Evaluates the performance of a forecaster on a time series dataset.

To understand why this method is useful, it's important to understand the difference between nowcasting and forecasting. Nowcasting is about predicting a value at the next time step. This can be seen as a special case of regression, where the value to predict is the value at the next time step. In this case, the evaluate.progressive_val_score function may be used to evaluate a model via progressive validation.

Forecasting models can also be evaluated via progressive validation. This is the purpose of this function. At each time step t, the forecaster is asked to predict the values at t + 1, t + 2, ..., t + horizon. The performance at each time step is measured and returned.

"},{"location":"api/time-series/evaluate/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A sequential time series.

  • model

    Type \u2192 time_series.base.Forecaster

    A forecaster.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • horizon

    Type \u2192 int

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float] | None

    Default \u2192 None

  • grace_period

    Type \u2192 int | None

    Default \u2192 None

    Initial period during which the metric is not updated. This is to fairly evaluate models which need a warming up period to start producing meaningful forecasts. The value of this parameter is equal to the horizon by default.

"},{"location":"api/time-series/iter-evaluate/","title":"iter_evaluate","text":"

Evaluates the performance of a forecaster on a time series dataset and yields results.

This does exactly the same as evaluate.progressive_val_score. The only difference is that this function returns an iterator, yielding results at every step. This can be useful if you want to have control over what you do with the results. For instance, you might want to plot the results.

"},{"location":"api/time-series/iter-evaluate/#parameters","title":"Parameters","text":"
  • dataset

    Type \u2192 base.typing.Dataset

    A sequential time series.

  • model

    Type \u2192 time_series.base.Forecaster

    A forecaster.

  • metric

    Type \u2192 metrics.base.RegressionMetric

    A regression metric.

  • horizon

    Type \u2192 int

  • agg_func

    Type \u2192 typing.Callable[[list[float]], float] | None

    Default \u2192 None

  • grace_period

    Type \u2192 int | None

    Default \u2192 None

    Initial period during which the metric is not updated. This is to fairly evaluate models which need a warming up period to start producing meaningful forecasts. The value of this parameter is equal to the horizon by default.

"},{"location":"api/time-series/base/Forecaster/","title":"Forecaster","text":""},{"location":"api/time-series/base/Forecaster/#methods","title":"Methods","text":"forecast

Makes forecast at each step of the given horizon.

Parameters

  • horizon \u2014 'int'
  • xs \u2014 'list[dict] | None' \u2014 defaults to None

learn_one

Updates the model.

Parameters

  • y \u2014 'float'
  • x \u2014 'dict | None' \u2014 defaults to None

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/","title":"ExtremelyFastDecisionTreeClassifier","text":"

Extremely Fast Decision Tree (EFDT) classifier.

Also referred to as the Hoeffding AnyTime Tree (HATT) classifier. In practice, despite the name, EFDTs are typically slower than a vanilla Hoeffding Tree to process data. The speed differences come from the mechanism of split re-evaluation present in EFDT. Nonetheless, EFDT has theoretical properties that ensure it converges faster than the vanilla Hoeffding Tree to the structure that would be created by a batch decision tree model (such as Classification and Regression Trees - CART). Keep in mind that such propositions hold when processing a stationary data stream. When dealing with non-stationary data, EFDT is somewhat robust to concept drifts as it continually revisits and updates its internal decision tree structure. Still, in such cases, the Hoeffind Adaptive Tree might be a better option, as it was specifically designed to handle non-stationarity.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • min_samples_reevaluate

    Type \u2192 int

    Default \u2192 20

    Number of instances a node should observe before reevaluating the best split.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.Agrawal(classification_function=0, seed=42)\ndataset = iter(gen.take(1000))\n\nmodel = tree.ExtremelyFastDecisionTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    nominal_attributes=['elevel', 'car', 'zipcode'],\n    min_samples_reevaluate=100\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 87.29%\n

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Incrementally train the model

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/ExtremelyFastDecisionTreeClassifier/#notes","title":"Notes","text":"

The Extremely Fast Decision Tree (EFDT) 1 constructs a tree incrementally. The EFDT seeks to select and deploy a split as soon as it is confident the split is useful, and then revisits that decision, replacing the split if it subsequently becomes evident that a better split is available. The EFDT learns rapidly from a stationary distribution and eventually it learns the asymptotic batch tree if the distribution from which the data are drawn is stationary.

  1. C. Manapragada, G. Webb, and M. Salehi. Extremely Fast Decision Tree. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18). ACM, New York, NY, USA, 1953-1962. DOI: https://doi.org/10.1145/3219819.3220005\u00a0\u21a9

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/","title":"HoeffdingAdaptiveTreeClassifier","text":"

Hoeffding Adaptive Tree classifier.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • bootstrap_sampling

    Type \u2192 bool

    Default \u2192 True

    If True, perform bootstrap sampling in the leaf nodes.

  • drift_window_threshold

    Type \u2192 int

    Default \u2192 300

    Minimum number of examples an alternate tree must observe before being considered as a potential replacement to the current one.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detector used to build the tree. If None then drift.ADWIN is used.

  • switch_significance

    Type \u2192 float

    Default \u2192 0.05

    The significance level to assess whether alternate subtrees are significantly better than their main subtree counterparts.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_alternate_trees

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • n_pruned_alternate_trees

  • n_switch_alternate_trees

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.ConceptDriftStream(stream=synth.SEA(seed=42, variant=0),\n                               drift_stream=synth.SEA(seed=42, variant=1),\n                               seed=1, position=500, width=50)\ndataset = iter(gen.take(1000))\n\nmodel = tree.HoeffdingAdaptiveTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    leaf_prediction='nb',\n    nb_threshold=10,\n    seed=0\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 91.49%\n

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the model on instance x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingAdaptiveTreeClassifier/#notes","title":"Notes","text":"

The Hoeffding Adaptive Tree 1 uses a drift detector to monitor performance of branches in the tree and to replace them with new branches when their accuracy decreases.

The bootstrap sampling strategy is an improvement over the original Hoeffding Adaptive Tree algorithm. It is enabled by default since, in general, it results in better performance.

  1. Bifet, Albert, and Ricard Gavald\u00e0. \"Adaptive learning from evolving data streams.\" In International Symposium on Intelligent Data Analysis, pp. 249-260. Springer, Berlin, Heidelberg, 2009.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/","title":"HoeffdingAdaptiveTreeRegressor","text":"

Hoeffding Adaptive Tree regressor (HATR).

This class implements a regression version of the Hoeffding Adaptive Tree Classifier. Hence, it also uses an ADWIN concept-drift detector instance at each decision node to monitor possible changes in the data distribution. If a drift is detected in a node, an alternate tree begins to be induced in the background. When enough information is gathered, HATR swaps the node where the change was detected by its alternate tree.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model used to provide responses if leaf_prediction='model'. If not provided an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • bootstrap_sampling

    Type \u2192 bool

    Default \u2192 True

    If True, perform bootstrap sampling in the leaf nodes.

  • drift_window_threshold

    Type \u2192 int

    Default \u2192 300

    Minimum number of examples an alternate tree must observe before being considered as a potential replacement to the current one.

  • drift_detector

    Type \u2192 base.DriftDetector | None

    Default \u2192 None

    The drift detector used to build the tree. If None then drift.ADWIN is used. Only detectors that support arbitrarily valued continuous data can be used for regression.

  • switch_significance

    Type \u2192 float

    Default \u2192 0.05

    The significance level to assess whether alternate subtrees are significantly better than their main subtree counterparts.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

  • seed

    Type \u2192 int | None

    Default \u2192 None

    Random seed for reproducibility.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_alternate_trees

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • n_pruned_alternate_trees

  • n_switch_alternate_trees

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    tree.HoeffdingAdaptiveTreeRegressor(\n        grace_period=50,\n        model_selector_decay=0.3,\n        seed=0\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.823026\n

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the tree model on sample x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingAdaptiveTreeRegressor/#notes","title":"Notes","text":"

The Hoeffding Adaptive Tree 1 uses drift detectors to monitor performance of branches in the tree and to replace them with new branches when their accuracy decreases.

The bootstrap sampling strategy is an improvement over the original Hoeffding Adaptive Tree algorithm. It is enabled by default since, in general, it results in better performance.

To cope with ADWIN's requirements of bounded input data, HATR uses a novel error normalization strategy based on the empiral rule of Gaussian distributions. We assume the deviations of the predictions from the expected values follow a normal distribution. Hence, we subject these errors to a min-max normalization assuming that most of the data lies in the \\(\\left[-3\\sigma, 3\\sigma\\right]\\) range. These normalized errors are passed to the ADWIN instances. This is the same strategy used by Adaptive Random Forest Regressor.

  1. Bifet, Albert, and Ricard Gavald\u00e0. \"Adaptive learning from evolving data streams.\" In International Symposium on Intelligent Data Analysis, pp. 249-260. Springer, Berlin, Heidelberg, 2009.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingTreeClassifier/","title":"HoeffdingTreeClassifier","text":"

Hoeffding Tree or Very Fast Decision Tree classifier.

"},{"location":"api/tree/HoeffdingTreeClassifier/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • split_criterion

    Type \u2192 str

    Default \u2192 info_gain

    Split criterion to use. - 'gini' - Gini - 'info_gain' - Information Gain - 'hellinger' - Helinger Distance

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 nba

    Prediction mechanism used at leafs. - 'mc' - Majority Class - 'nb' - Naive Bayes - 'nba' - Naive Bayes Adaptive

  • nb_threshold

    Type \u2192 int

    Default \u2192 0

    Number of instances a leaf should observe before allowing Naive Bayes.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.GaussianSplitter is used if splitter is None.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • min_branch_fraction

    Type \u2192 float

    Default \u2192 0.01

    The minimum percentage of observed data required for branches resulting from split candidates. To validate a split candidate, at least two resulting branches must have a percentage of samples greater than min_branch_fraction. This criterion prevents unnecessary splits when the majority of instances are concentrated in a single branch.

  • max_share_to_split

    Type \u2192 float

    Default \u2192 0.99

    Only perform a split in a leaf if the proportion of elements in the majority class is smaller than this parameter value. This parameter avoids performing splits when most of the data belongs to a single class.

  • max_size

    Type \u2192 float

    Default \u2192 100.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/HoeffdingTreeClassifier/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingTreeClassifier/#examples","title":"Examples","text":"

from river.datasets import synth\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ngen = synth.Agrawal(classification_function=0, seed=42)\ndataset = iter(gen.take(1000))\n\nmodel = tree.HoeffdingTreeClassifier(\n    grace_period=100,\n    delta=1e-5,\n    nominal_attributes=['elevel', 'car', 'zipcode']\n)\n\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 84.58%\n

"},{"location":"api/tree/HoeffdingTreeClassifier/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the model on instance x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x

Returns

A dictionary that associates a probability which each label.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingTreeClassifier/#notes","title":"Notes","text":"

A Hoeffding Tree 1 is an incremental, anytime decision tree induction algorithm that is capable of learning from massive data streams, assuming that the distribution generating examples does not change over time. Hoeffding trees exploit the fact that a small sample can often be enough to choose an optimal splitting attribute. This idea is supported mathematically by the Hoeffding bound, which quantifies the number of observations (in our case, examples) needed to estimate some statistics within a prescribed precision (in our case, the goodness of an attribute).

A theoretically appealing feature of Hoeffding Trees not shared by other incremental decision tree learners is that it has sound guarantees of performance. Using the Hoeffding bound one can show that its output is asymptotically nearly identical to that of a non-incremental learner using infinitely many examples. Implementation based on MOA 2.

  1. G. Hulten, L. Spencer, and P. Domingos. Mining time-changing data streams. In KDD\u201901, pages 97\u2013106, San Francisco, CA, 2001. ACM Press.\u00a0\u21a9

  2. Albert Bifet, Geoff Holmes, Richard Kirkby, Bernhard Pfahringer. MOA: Massive Online Analysis; Journal of Machine Learning Research 11: 1601-1604, 2010.\u00a0\u21a9

"},{"location":"api/tree/HoeffdingTreeRegressor/","title":"HoeffdingTreeRegressor","text":"

Hoeffding Tree regressor.

"},{"location":"api/tree/HoeffdingTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Significance level to calculate the Hoeffding bound. The significance level is given by 1 - delta. Values closer to zero imply longer split decision delays.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | None

    Default \u2192 None

    The regression model used to provide responses if leaf_prediction='model'. If not provided an instance of linear_model.LinearRegression with the default hyperparameters is used.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/HoeffdingTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/HoeffdingTreeRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\nfrom river import preprocessing\n\ndataset = datasets.TrumpApproval()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    tree.HoeffdingTreeRegressor(\n        grace_period=100,\n        model_selector_decay=0.9\n    )\n)\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.793345\n

"},{"location":"api/tree/HoeffdingTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Train the tree model on sample x and corresponding target y.

Parameters

  • x
  • y
  • w \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

"},{"location":"api/tree/HoeffdingTreeRegressor/#notes","title":"Notes","text":"

The Hoeffding Tree Regressor (HTR) is an adaptation of the incremental tree algorithm of the same name for classification. Similarly to its classification counterpart, HTR uses the Hoeffding bound to control its split decisions. Differently from the classification algorithm, HTR relies on calculating the reduction of variance in the target space to decide among the split candidates. The smallest the variance at its leaf nodes, the more homogeneous the partitions are. At its leaf nodes, HTR fits either linear models or uses the target average as the predictor.

"},{"location":"api/tree/SGTClassifier/","title":"SGTClassifier","text":"

Stochastic Gradient Tree1 for binary classification.

Binary decision tree classifier that minimizes the binary cross-entropy to guide its growth.

Stochastic Gradient Trees (SGT) directly minimize a loss function to guide tree growth and update their predictions. Thus, they differ from other incrementally tree learners that do not directly optimize the loss, but data impurity-related heuristics.

"},{"location":"api/tree/SGTClassifier/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Define the significance level of the F-tests performed to decide upon creating splits or updating predictions.

  • grace_period

    Type \u2192 int

    Default \u2192 200

    Interval between split attempts or prediction updates.

  • init_pred

    Type \u2192 float

    Default \u2192 0.0

    Initial value predicted by the tree.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the tree might reach. If set to None, the trees will grow indefinitely.

  • lambda_value

    Type \u2192 float

    Default \u2192 0.1

    Positive float value used to impose a penalty over the tree's predictions and force them to become smaller. The greater the lambda value, the more constrained are the predictions.

  • gamma

    Type \u2192 float

    Default \u2192 1.0

    Positive float value used to impose a penalty over the tree's splits and force them to be avoided when possible. The greater the gamma value, the smaller the chance of a split occurring.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List with identifiers of the nominal attributes. If None, all features containing numbers are assumed to be numeric.

  • feature_quantizer

    Type \u2192 tree.splitter.Quantizer | None

    Default \u2192 None

    The algorithm used to quantize numeric features. Either a static quantizer (as in the original implementation) or a dynamic quantizer can be used. The correct choice and setup of the feature quantizer is a crucial step to determine the performance of SGTs. Feature quantizers are akin to the attribute observers used in Hoeffding Trees. By default, an instance of tree.splitter.StaticQuantizer (with default parameters) is used if this parameter is not set.

"},{"location":"api/tree/SGTClassifier/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_node_updates

  • n_nodes

  • n_observations

  • n_splits

"},{"location":"api/tree/SGTClassifier/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.Phishing()\nmodel = tree.SGTClassifier(\n    feature_quantizer=tree.splitter.StaticQuantizer(\n        n_bins=32, warm_start=10\n    )\n)\nmetric = metrics.Accuracy()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
Accuracy: 82.24%\n

"},{"location":"api/tree/SGTClassifier/#methods","title":"Methods","text":"learn_one

Update the model with a set of features x and a label y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.ClfTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the label of a set of features x.

Parameters

  • x \u2014 'dict'
  • kwargs

Returns

base.typing.ClfTarget | None: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x \u2014 'dict'

Returns

dict[base.typing.ClfTarget, float]: A dictionary that associates a probability which each label.

  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/SGTRegressor/","title":"SGTRegressor","text":"

Stochastic Gradient Tree for regression.

Incremental decision tree regressor that minimizes the mean square error to guide its growth.

Stochastic Gradient Trees (SGT) directly minimize a loss function to guide tree growth and update their predictions. Thus, they differ from other incrementally tree learners that do not directly optimize the loss, but a data impurity-related heuristic.

"},{"location":"api/tree/SGTRegressor/#parameters","title":"Parameters","text":"
  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Define the significance level of the F-tests performed to decide upon creating splits or updating predictions.

  • grace_period

    Type \u2192 int

    Default \u2192 200

    Interval between split attempts or prediction updates.

  • init_pred

    Type \u2192 float

    Default \u2192 0.0

    Initial value predicted by the tree.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth the tree might reach. If set to None, the trees will grow indefinitely.

  • lambda_value

    Type \u2192 float

    Default \u2192 0.1

    Positive float value used to impose a penalty over the tree's predictions and force them to become smaller. The greater the lambda value, the more constrained are the predictions.

  • gamma

    Type \u2192 float

    Default \u2192 1.0

    Positive float value used to impose a penalty over the tree's splits and force them to be avoided when possible. The greater the gamma value, the smaller the chance of a split occurring.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List with identifiers of the nominal attributes. If None, all features containing numbers are assumed to be numeric.

  • feature_quantizer

    Type \u2192 tree.splitter.Quantizer | None

    Default \u2192 None

    The algorithm used to quantize numeric features. Either a static quantizer (as in the original implementation) or a dynamic quantizer can be used. The correct choice and setup of the feature quantizer is a crucial step to determine the performance of SGTs. Feature quantizers are akin to the attribute observers used in Hoeffding Trees. By default, an instance of tree.splitter.StaticQuantizer (with default parameters) is used if this parameter is not set.

"},{"location":"api/tree/SGTRegressor/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_node_updates

  • n_nodes

  • n_observations

  • n_splits

"},{"location":"api/tree/SGTRegressor/#examples","title":"Examples","text":"

from river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import tree\n\ndataset = datasets.TrumpApproval()\nmodel = tree.SGTRegressor(\n    delta=0.01,\n    lambda_value=0.01,\n    grace_period=20,\n    feature_quantizer=tree.splitter.DynamicQuantizer(std_prop=0.1)\n)\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 1.721818\n

"},{"location":"api/tree/SGTRegressor/#methods","title":"Methods","text":"learn_one

Fits to a set of features x and a real-valued target y.

Parameters

  • x \u2014 'dict'
  • y \u2014 'base.typing.RegTarget'
  • w \u2014 defaults to 1.0

predict_one

Predict the output of features x.

Parameters

  • x \u2014 'dict'

Returns

base.typing.RegTarget: The prediction.

"},{"location":"api/tree/SGTRegressor/#notes","title":"Notes","text":"

This implementation enhances the original proposal 1 by using an incremental strategy to discretize numerical features dynamically, rather than relying on a calibration set and parameterized number of bins. The strategy used is an adaptation of the Quantization Observer (QO) 2. Different bin size setting policies are available for selection. They directly related to number of split candidates the tree is going to explore, and thus, how accurate its split decisions are going to be. Besides, the number of stored bins per feature is directly related to the tree's memory usage and runtime.

  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

  2. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/iSOUPTreeRegressor/","title":"iSOUPTreeRegressor","text":"

Incremental Structured Output Prediction Tree (iSOUP-Tree) for multi-target regression.

This is an implementation of the iSOUP-Tree proposed by A. Osojnik, P. Panov, and S. D\u017eeroski 1.

"},{"location":"api/tree/iSOUPTreeRegressor/#parameters","title":"Parameters","text":"
  • grace_period

    Type \u2192 int

    Default \u2192 200

    Number of instances a leaf should observe between split attempts.

  • max_depth

    Type \u2192 int | None

    Default \u2192 None

    The maximum depth a tree can reach. If None, the tree will grow indefinitely.

  • delta

    Type \u2192 float

    Default \u2192 1e-07

    Allowed error in split decision, a value closer to 0 takes longer to decide.

  • tau

    Type \u2192 float

    Default \u2192 0.05

    Threshold below which a split will be forced to break ties.

  • leaf_prediction

    Type \u2192 str

    Default \u2192 adaptive

    Prediction mechanism used at leafs. - 'mean' - Target mean - 'model' - Uses the model defined in leaf_model - 'adaptive' - Chooses between 'mean' and 'model' dynamically

  • leaf_model

    Type \u2192 base.Regressor | dict | None

    Default \u2192 None

    The regression model(s) used to provide responses if leaf_prediction='model'. It can be either a regressor (in which case it is going to be replicated to all the targets) or a dictionary whose keys are target identifiers, and the values are instances of base.Regressor.If not provided, instances of [linear_model.LinearRegression`](../../linear-model/LinearRegression) with the default hyperparameters are used for all the targets. If a dictionary is passed and not all target models are specified, copies from the first model match in the dictionary will be used to the remaining targets.

  • model_selector_decay

    Type \u2192 float

    Default \u2192 0.95

    The exponential decaying factor applied to the learning models' squared errors, that are monitored if leaf_prediction='adaptive'. Must be between 0 and 1. The closer to 1, the more importance is going to be given to past observations. On the other hand, if its value approaches 0, the recent observed errors are going to have more influence on the final decision.

  • nominal_attributes

    Type \u2192 list | None

    Default \u2192 None

    List of Nominal attributes identifiers. If empty, then assume that all numeric attributes should be treated as continuous.

  • splitter

    Type \u2192 Splitter | None

    Default \u2192 None

    The Splitter or Attribute Observer (AO) used to monitor the class statistics of numeric features and perform splits. Splitters are available in the tree.splitter module. Different splitters are available for classification and regression tasks. Classification and regression splitters can be distinguished by their property is_target_class. This is an advanced option. Special care must be taken when choosing different splitters. By default, tree.splitter.TEBSTSplitter is used if splitter is None.

  • min_samples_split

    Type \u2192 int

    Default \u2192 5

    The minimum number of samples every branch resulting from a split candidate must have to be considered valid.

  • binary_split

    Type \u2192 bool

    Default \u2192 False

    If True, only allow binary splits.

  • max_size

    Type \u2192 float

    Default \u2192 500.0

    The max size of the tree, in mebibytes (MiB).

  • memory_estimate_period

    Type \u2192 int

    Default \u2192 1000000

    Interval (number of processed instances) between memory consumption checks.

  • stop_mem_management

    Type \u2192 bool

    Default \u2192 False

    If True, stop growing as soon as memory limit is hit.

  • remove_poor_attrs

    Type \u2192 bool

    Default \u2192 False

    If True, disable poor attributes to reduce memory usage.

  • merit_preprune

    Type \u2192 bool

    Default \u2192 True

    If True, enable merit-based tree pre-pruning.

"},{"location":"api/tree/iSOUPTreeRegressor/#attributes","title":"Attributes","text":"
  • height

  • leaf_prediction

    Return the prediction strategy used by the tree at its leaves.

  • max_size

    Max allowed size tree can reach (in MiB).

  • n_active_leaves

  • n_branches

  • n_inactive_leaves

  • n_leaves

  • n_nodes

  • split_criterion

    Return a string with the name of the split criterion being used by the tree.

  • summary

    Collect metrics corresponding to the current status of the tree in a string buffer.

"},{"location":"api/tree/iSOUPTreeRegressor/#examples","title":"Examples","text":"

import numbers\nfrom river import compose\nfrom river import datasets\nfrom river import evaluate\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import tree\n\ndataset = datasets.SolarFlare()\n\nnum = compose.SelectType(numbers.Number) | preprocessing.MinMaxScaler()\ncat = compose.SelectType(str) | preprocessing.OneHotEncoder()\n\nmodel = tree.iSOUPTreeRegressor(\n    grace_period=100,\n    leaf_prediction='model',\n    leaf_model={\n        'c-class-flares': linear_model.LinearRegression(l2=0.02),\n        'm-class-flares': linear_model.PARegressor(),\n        'x-class-flares': linear_model.LinearRegression(l2=0.1)\n    }\n)\n\npipeline = (num + cat) | model\nmetric = metrics.multioutput.MicroAverage(metrics.MAE())\n\nevaluate.progressive_val_score(dataset, pipeline, metric)\n
MicroAverage(MAE): 0.426177\n

"},{"location":"api/tree/iSOUPTreeRegressor/#methods","title":"Methods","text":"debug_one

Print an explanation of how x is predicted.

Parameters

  • x \u2014 'dict'

Returns

str | None: A representation of the path followed by the tree to predict x; None if

draw

Draw the tree using the graphviz library.

Since the tree is drawn without passing incoming samples, classification trees will show the majority class in their leaves, whereas regression trees will use the target mean.

Parameters

  • max_depth \u2014 'int | None' \u2014 defaults to None The maximum depth a tree can reach. If None, the tree will grow indefinitely.

learn_one

Incrementally train the model with one sample.

Training tasks: * If the tree is empty, create a leaf node as the root. * If the tree is already initialized, find the corresponding leaf for the instance and update the leaf node statistics. * If growth is allowed and the number of instances that the leaf has observed between split attempts exceed the grace period then attempt to split.

Parameters

  • x
  • y
  • w \u2014 'float' \u2014 defaults to 1.0

predict_one

Predict the target value using one of the leaf prediction strategies.

Parameters

  • x

Returns

Predicted target value.

to_dataframe

Return a representation of the current tree structure organized in a pandas.DataFrame object.

In case the tree is empty or it only contains a single node (a leaf), None is returned.

Returns

df

  1. Alja\u017e Osojnik, Pan\u010de Panov, and Sa\u0161o D\u017eeroski. \"Tree-based methods for online multi-target regression.\" Journal of Intelligent Information Systems 50.2 (2018): 315-339.\u00a0\u21a9

"},{"location":"api/tree/base/Branch/","title":"Branch","text":"

A generic tree branch.

"},{"location":"api/tree/base/Branch/#parameters","title":"Parameters","text":"
  • children

    Child branches and/or leaves.

"},{"location":"api/tree/base/Branch/#attributes","title":"Attributes","text":"
  • height

    Distance to the deepest descendant.

  • n_branches

    Number of branches, including thyself.

  • n_leaves

    Number of leaves.

  • n_nodes

    Number of descendants, including thyself.

  • repr_split

    String representation of the split.

"},{"location":"api/tree/base/Branch/#methods","title":"Methods","text":"iter_bfs

Iterate over nodes in breadth-first order.

iter_branches

Iterate over branches in depth-first order.

iter_dfs

Iterate over nodes in depth-first order.

iter_edges

Iterate over edges in depth-first order.

iter_leaves

Iterate over leaves from the left-most one to the right-most one.

most_common_path

Return a tuple with the branch index and the child node related to the most traversed path.

Used in case the split feature is missing from an instance.

next

Move to the next node down the tree.

Parameters

  • x

to_dataframe

Build a DataFrame containing one record for each node.

traverse

Return the leaf corresponding to the given input.

Parameters

  • x
  • until_leaf \u2014 defaults to True

walk

Iterate over the nodes of the path induced by x.

Parameters

  • x
  • until_leaf \u2014 defaults to True

"},{"location":"api/tree/base/Leaf/","title":"Leaf","text":"

A generic tree node.

"},{"location":"api/tree/base/Leaf/#parameters","title":"Parameters","text":"
  • kwargs

    Each provided keyword argument is stored in the leaf as an attribute.

"},{"location":"api/tree/base/Leaf/#attributes","title":"Attributes","text":"
  • height

  • n_branches

  • n_leaves

  • n_nodes

"},{"location":"api/tree/base/Leaf/#methods","title":"Methods","text":"iter_branches iter_dfs iter_edges iter_leaves walk"},{"location":"api/tree/splitter/DynamicQuantizer/","title":"DynamicQuantizer","text":"

Adapted version of the Quantizer Observer (QO)1 that is applied to Stochastic Gradient Trees (SGT).

This feature quantizer starts by partitioning the inputs using the passed radius value. As more splits are created in the SGTs, new feature quantizers will use std * std_prop as the quantization radius. In the expression, std represents the standard deviation of the input data, which is calculated incrementally.

"},{"location":"api/tree/splitter/DynamicQuantizer/#parameters","title":"Parameters","text":"
  • radius

    Type \u2192 float

    Default \u2192 0.5

    The initial quantization radius.

  • std_prop

    Type \u2192 float

    Default \u2192 0.25

    The proportion of the standard deviation that is going to be used to define the radius value for new quantizer instances following the initial one.

"},{"location":"api/tree/splitter/DynamicQuantizer/#methods","title":"Methods","text":"update
  1. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/splitter/EBSTSplitter/","title":"EBSTSplitter","text":"

iSOUP-Tree's Extended Binary Search Tree (E-BST).

This class implements the Extended Binary Search Tree1 (E-BST) structure, using the variant employed by Osojnik et al.2 in the iSOUP-Tree algorithm. This structure is employed to observe the target space distribution.

Proposed along with Fast Incremental Model Tree with Drift Detection1 (FIMT-DD), E-BST was the first attribute observer (AO) proposed for incremental Hoeffding Tree regressors. This AO works by storing all observations between splits in an extended binary search tree structure. E-BST stores the input feature realizations and statistics of the target(s) that enable calculating the split heuristic at any time. To alleviate time and memory costs, E-BST implements a memory management routine, where the worst split candidates are pruned from the binary tree.

In this variant, only the left branch statistics are stored and the complete split-enabling statistics are calculated with an in-order traversal of the binary search tree.

"},{"location":"api/tree/splitter/EBSTSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/EBSTSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Not implemented in regression splitters.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

remove_bad_splits

Remove bad splits.

Based on FIMT-DD's 1 procedure to remove bad split candidates from the E-BST. This mechanism is triggered every time a split attempt fails. The rationale is to remove points whose split merit is much worse than the best candidate overall (for which the growth decision already failed). Let \\(m_1\\) be the merit of the best split point and \\(m_2\\) be the merit of the second best split candidate. The ratio \\(r = m_2/m_1\\) along with the Hoeffding bound (\\(\\epsilon\\)) are used to decide upon creating a split. A split occurs when \\(r < 1 - \\epsilon\\). A split candidate, with merit \\(m_i\\), is considered badr if \\(m_i / m_1 < r - 2\\epsilon\\). The rationale is the following: if the merit ratio for this point is smaller than the lower bound of \\(r\\), then the true merit of that split relative to the best one is small. Hence, this candidate can be safely removed. To avoid excessive and costly manipulations of the E-BST to update the stored statistics, only the nodes whose children are all bad split points are pruned, as defined in 1.

Parameters

  • criterion
  • last_check_ratio \u2014 'float'
  • last_check_vr \u2014 'float'
  • last_check_e \u2014 'float'
  • pre_split_dist \u2014 'list | dict'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Ikonomovska, E., Gama, J., & D\u017eeroski, S. (2011). Learning model trees from evolving data streams. Data mining and knowledge discovery, 23(1), 128-168.\u00a0\u21a9\u21a9\u21a9\u21a9

  2. Osojnik, Alja\u017e. 2017. Structured output prediction on Data Streams (Doctoral Dissertation) \u21a9

"},{"location":"api/tree/splitter/ExhaustiveSplitter/","title":"ExhaustiveSplitter","text":"

Numeric attribute observer for classification tasks that is based on a Binary Search Tree.

This algorithm1 is also referred to as exhaustive attribute observer, since it ends up storing all the observations between split attempts2.

This splitter cannot perform probability density estimations, so it does not work well when coupled with tree leaves using naive bayes models.

"},{"location":"api/tree/splitter/ExhaustiveSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/ExhaustiveSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

The underlying data structure used to monitor the input does not allow probability density estimations. Hence, it always returns zero for any given input.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Domingos, P. and Hulten, G., 2000, August. Mining high-speed data streams. In Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 71-80).\u00a0\u21a9

  2. Pfahringer, B., Holmes, G. and Kirkby, R., 2008, May. Handling numeric attributes in hoeffding trees. In Pacific-Asia Conference on Knowledge Discovery and Data Mining (pp. 296-307). Springer, Berlin, Heidelberg.\u00a0\u21a9

"},{"location":"api/tree/splitter/GaussianSplitter/","title":"GaussianSplitter","text":"

Numeric attribute observer for classification tasks that is based on Gaussian estimators.

The distribution of each class is approximated using a Gaussian distribution. Hence, the probability density function can be easily calculated.

"},{"location":"api/tree/splitter/GaussianSplitter/#parameters","title":"Parameters","text":"
  • n_splits

    Type \u2192 int

    Default \u2192 10

    The number of partitions to consider when querying for split candidates.

"},{"location":"api/tree/splitter/GaussianSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/GaussianSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/HistogramSplitter/","title":"HistogramSplitter","text":"

Numeric attribute observer for classification tasks that discretizes features using histograms.

"},{"location":"api/tree/splitter/HistogramSplitter/#parameters","title":"Parameters","text":"
  • n_bins

    Type \u2192 int

    Default \u2192 256

    The maximum number of bins in the histogram.

  • n_splits

    Type \u2192 int

    Default \u2192 32

    The number of split points to evaluate when querying for the best split candidate.

"},{"location":"api/tree/splitter/HistogramSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/HistogramSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/QOSplitter/","title":"QOSplitter","text":"

Quantization observer (QO).

This splitter utilizes a hash-based quantization algorithm to keep track of the target statistics and evaluate split candidates. QO, relies on the radius parameter to define discretization intervals for each incoming feature. Split candidates are defined as the midpoints between two consecutive hash slots. Both binary splits and multi-way splits can be created by this attribute observer. This class implements the algorithm described in 1.

The smaller the quantization radius, the more hash slots will be created to accommodate the discretized data. Hence, both the running time and memory consumption increase, but the resulting splits ought to be closer to the ones obtained by a batch exhaustive approach. On the other hand, if the radius is too large, fewer slots will be created, less memory and running time will be required, but at the cost of coarse split suggestions.

QO assumes that all features have the same range. It is always advised to scale the features to apply this splitter. That can be done using the preprocessing module. A good \"rule of thumb\" is to scale data using preprocessing.StandardScaler and define the radius as a proportion of the features' standard deviation. For instance, the default radius value would correspond to one quarter of the normalized features' standard deviation (since the scaled data has zero mean and unit variance). If the features come from normal distributions, by following the empirical rule, roughly 32 hash slots will be created.

"},{"location":"api/tree/splitter/QOSplitter/#parameters","title":"Parameters","text":"
  • radius

    Type \u2192 float

    Default \u2192 0.25

    The quantization radius. QO discretizes the incoming feature in intervals of equal length that are defined by this parameter.

  • allow_multiway_splits

    Default \u2192 False

    Whether or not allow that multiway splits are evaluated. Numeric multi-way splits use the same quantization strategy of QO to create multiple tree branches. The same quantization radius is used, and each stored slot represents the split enabling statistics of one branch.

"},{"location":"api/tree/splitter/QOSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/QOSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

  1. Mastelini, S.M. and de Leon Ferreira, A.C.P., 2021. Using dynamical quantization to perform split attempts in online tree regressors. Pattern Recognition Letters.\u00a0\u21a9

"},{"location":"api/tree/splitter/Quantizer/","title":"Quantizer","text":"

Base class for the feature quantizers used in Stochastic Gradient Trees1.

"},{"location":"api/tree/splitter/Quantizer/#methods","title":"Methods","text":"update
  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/splitter/Splitter/","title":"Splitter","text":"

Base class for the tree splitters.

Each Attribute Observer (AO) or Splitter monitors one input feature and finds the best split point for this attribute. AOs can also perform other tasks related to the monitored feature, such as estimating its probability density function (classification case).

This class should not be instantiated, as none of its methods are implemented.

"},{"location":"api/tree/splitter/Splitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/Splitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool'

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Get the probability for an attribute value given a class.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

Returns

float: Probability for an attribute value given a class.

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/tree/splitter/StaticQuantizer/","title":"StaticQuantizer","text":"

Quantization strategy originally used in Stochastic Gradient Trees (SGT)1.

Firstly, a buffer of size warm_start is stored. The data stored in the buffer is then used to quantize the input feature into n_bins intervals. These intervals will be replicated to every new quantizer. Feature values lying outside of the limits defined by the initial buffer will be mapped to the head or tail of the list of intervals.

"},{"location":"api/tree/splitter/StaticQuantizer/#parameters","title":"Parameters","text":"
  • n_bins

    Type \u2192 int

    Default \u2192 64

    The number of bins (intervals) to divide the input feature.

  • warm_start

    Type \u2192 int

    Default \u2192 100

    The number of observations used to initialize the quantization intervals.

  • buckets

    Type \u2192 list | None

    Default \u2192 None

    This parameter is only used internally by the quantizer, so it must not be set. Once the intervals are defined, new instances of this quantizer will receive the quantization information via this parameter.

"},{"location":"api/tree/splitter/StaticQuantizer/#methods","title":"Methods","text":"update
  1. Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109).\u00a0\u21a9

"},{"location":"api/tree/splitter/TEBSTSplitter/","title":"TEBSTSplitter","text":"

Truncated E-BST.

Variation of E-BST that rounds the incoming feature values before passing them to the binary search tree (BST). By doing so, the attribute observer might reduce its processing time and memory usage since small variations in the input values will end up being mapped to the same BST node.

"},{"location":"api/tree/splitter/TEBSTSplitter/#parameters","title":"Parameters","text":"
  • digits

    Type \u2192 int

    Default \u2192 1

    The number of decimal places used to round the input feature values.

"},{"location":"api/tree/splitter/TEBSTSplitter/#attributes","title":"Attributes","text":"
  • is_numeric

    Determine whether or not the splitter works with numerical features.

  • is_target_class

    Check on which kind of learning task the splitter is designed to work. If True, the splitter works with classification trees, otherwise it is designed for regression trees.

"},{"location":"api/tree/splitter/TEBSTSplitter/#methods","title":"Methods","text":"best_evaluated_split_suggestion

Get the best split suggestion given a criterion and the target's statistics.

Parameters

  • criterion \u2014 'SplitCriterion'
  • pre_split_dist \u2014 'list | dict'
  • att_idx \u2014 'base.typing.FeatureName'
  • binary_only \u2014 'bool' \u2014 defaults to True

Returns

BranchFactory: Suggestion of the best attribute split.

cond_proba

Not implemented in regression splitters.

Parameters

  • att_val
  • target_val \u2014 'base.typing.ClfTarget'

remove_bad_splits

Remove bad splits.

Based on FIMT-DD's [^1] procedure to remove bad split candidates from the E-BST. This mechanism is triggered every time a split attempt fails. The rationale is to remove points whose split merit is much worse than the best candidate overall (for which the growth decision already failed). Let \\(m_1\\) be the merit of the best split point and \\(m_2\\) be the merit of the second best split candidate. The ratio \\(r = m_2/m_1\\) along with the Hoeffding bound (\\(\\epsilon\\)) are used to decide upon creating a split. A split occurs when \\(r < 1 - \\epsilon\\). A split candidate, with merit \\(m_i\\), is considered badr if \\(m_i / m_1 < r - 2\\epsilon\\). The rationale is the following: if the merit ratio for this point is smaller than the lower bound of \\(r\\), then the true merit of that split relative to the best one is small. Hence, this candidate can be safely removed. To avoid excessive and costly manipulations of the E-BST to update the stored statistics, only the nodes whose children are all bad split points are pruned, as defined in [^1].

Parameters

  • criterion
  • last_check_ratio \u2014 'float'
  • last_check_vr \u2014 'float'
  • last_check_e \u2014 'float'
  • pre_split_dist \u2014 'list | dict'

update

Update statistics of this observer given an attribute value, its target value and the weight of the instance observed.

Parameters

  • att_val
  • target_val \u2014 'base.typing.Target'
  • w \u2014 'float'

"},{"location":"api/utils/Rolling/","title":"Rolling","text":"

A generic wrapper for performing rolling computations.

This can be wrapped around any object which implements both an update and a revert method. Inputs to update are stored in a queue. Elements of the queue are popped when the window is full.

"},{"location":"api/utils/Rolling/#parameters","title":"Parameters","text":"
  • obj

    Type \u2192 Rollable

    An object that implements both an update method and a rollingmethod.

  • window_size

    Type \u2192 int

    Size of the window.

"},{"location":"api/utils/Rolling/#attributes","title":"Attributes","text":"
  • window_size
"},{"location":"api/utils/Rolling/#examples","title":"Examples","text":"

For instance, here is how you can compute a rolling average over a window of size 3:

from river import stats, utils\n\nX = [1, 3, 5, 7]\nrmean = utils.Rolling(stats.Mean(), window_size=3)\n\nfor x in X:\n    rmean.update(x)\n    print(rmean.get())\n
1.0\n2.0\n3.0\n5.0\n

"},{"location":"api/utils/Rolling/#methods","title":"Methods","text":"update"},{"location":"api/utils/SortedWindow/","title":"SortedWindow","text":"

Sorted running window data structure.

"},{"location":"api/utils/SortedWindow/#parameters","title":"Parameters","text":"
  • size

    Type \u2192 int

    Size of the window to compute the rolling quantile.

"},{"location":"api/utils/SortedWindow/#attributes","title":"Attributes","text":"
  • size
"},{"location":"api/utils/SortedWindow/#examples","title":"Examples","text":"

from river import utils\n\nwindow = utils.SortedWindow(size=3)\n\nfor i in reversed(range(9)):\n    print(window.append(i))\n
[8]\n[7, 8]\n[6, 7, 8]\n[5, 6, 7]\n[4, 5, 6]\n[3, 4, 5]\n[2, 3, 4]\n[1, 2, 3]\n[0, 1, 2]\n

"},{"location":"api/utils/SortedWindow/#methods","title":"Methods","text":"
  1. Left sorted inserts in Python \u21a9

"},{"location":"api/utils/TimeRolling/","title":"TimeRolling","text":"

A generic wrapper for performing time rolling computations.

This can be wrapped around any object which implements both an update and a revert method. Inputs to update are stored in a queue. Elements of the queue are popped when they are too old.

"},{"location":"api/utils/TimeRolling/#parameters","title":"Parameters","text":"
  • obj

    Type \u2192 Rollable

    An object that implements both an update method and a rollingmethod.

  • period

    Type \u2192 dt.timedelta

    A duration of time, expressed as a datetime.timedelta.

"},{"location":"api/utils/TimeRolling/#examples","title":"Examples","text":"

For instance, here is how you can compute a rolling average over a period of 3 days:

from river import stats, utils\n\nX = {\n    dt.datetime(2019, 1, 1): 1,\n    dt.datetime(2019, 1, 2): 5,\n    dt.datetime(2019, 1, 3): 9,\n    dt.datetime(2019, 1, 4): 13\n}\n\nrmean = utils.TimeRolling(stats.Mean(), period=dt.timedelta(days=3))\nfor t, x in X.items():\n    rmean.update(x, t=t)\n    print(rmean.get())\n
1.0\n3.0\n5.0\n9.0\n

"},{"location":"api/utils/TimeRolling/#methods","title":"Methods","text":"update"},{"location":"api/utils/VectorDict/","title":"VectorDict","text":""},{"location":"api/utils/VectorDict/#methods","title":"Methods","text":"abs clear get

Parameters

  • key
  • args
  • kwargs

items

keys

max

maximum

Parameters

  • other

min

minimum

Parameters

  • other

pop

Parameters

  • args
  • kwargs

popitem

setdefault

Parameters

  • key
  • args
  • kwargs

to_dict

to_numpy

Parameters

  • fields

update

Parameters

  • args
  • kwargs

values

with_mask

Parameters

  • mask
  • copy \u2014 defaults to False

"},{"location":"api/utils/expand-param-grid/","title":"expand_param_grid","text":"

Expands a grid of parameters.

This method can be used to generate a list of model parametrizations from a dictionary where each parameter is associated with a list of possible parameters. In other words, it expands a grid of parameters.

Typically, this method can be used to create copies of a given model with different parameter choices. The models can then be used as part of a model selection process, such as a selection.SuccessiveHalvingClassifier or a selection.EWARegressor.

The syntax for the parameter grid is quite flexible. It allows nesting parameters and can therefore be used to generate parameters for a pipeline.

"},{"location":"api/utils/expand-param-grid/#parameters","title":"Parameters","text":"
  • model

    Type \u2192 base.Estimator

  • grid

    Type \u2192 dict

    The grid of parameters to expand. The provided dictionary can be nested. The only requirement is that the values at the leaves need to be lists.

"},{"location":"api/utils/expand-param-grid/#examples","title":"Examples","text":"

As an initial example, we can expand a grid of parameters for a single model.

from river import linear_model\nfrom river import optim\nfrom river import utils\n\nmodel = linear_model.LinearRegression()\n\ngrid = {'optimizer': [optim.SGD(.1), optim.SGD(.01), optim.SGD(.001)]}\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
3\n

models[0]\n
LinearRegression (\n  optimizer=SGD (\n    lr=Constant (\n      learning_rate=0.1\n    )\n  )\n  loss=Squared ()\n  l2=0.\n  l1=0.\n  intercept_init=0.\n  intercept_lr=Constant (\n    learning_rate=0.01\n  )\n  clip_gradient=1e+12\n  initializer=Zeros ()\n)\n

You can expand parameters for multiple choices like so:

grid = {\n    'optimizer': [\n        (optim.SGD, {'lr': [.1, .01, .001]}),\n        (optim.Adam, {'lr': [.1, .01, .01]})\n    ]\n}\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
6\n

You may specify a grid of parameters for a pipeline via nesting:

from river import feature_extraction\n\nmodel = (\n    feature_extraction.BagOfWords() |\n    linear_model.LinearRegression()\n)\n\ngrid = {\n    'BagOfWords': {\n        'strip_accents': [False, True]\n    },\n    'LinearRegression': {\n        'optimizer': [\n            (optim.SGD, {'lr': [.1, .01]}),\n            (optim.Adam, {'lr': [.1, .01]})\n        ]\n    }\n}\n\nmodels = utils.expand_param_grid(model, grid)\nlen(models)\n
8\n

"},{"location":"api/utils/log-method-calls/","title":"log_method_calls","text":"

A context manager to log method calls.

All method calls will be logged by default. This behavior can be overriden by passing filtering functions.

"},{"location":"api/utils/log-method-calls/#parameters","title":"Parameters","text":"
  • class_condition

    Type \u2192 typing.Callable[[typing.Any], bool] | None

    Default \u2192 None

    A function which determines if a class should be logged or not.

  • method_condition

    Type \u2192 typing.Callable[[typing.Any], bool] | None

    Default \u2192 None

    A function which determines if a method should be logged or not.

"},{"location":"api/utils/log-method-calls/#examples","title":"Examples","text":"

import io\nimport logging\nfrom river import anomaly\nfrom river import compose\nfrom river import datasets\nfrom river import preprocessing\nfrom river import utils\n\nmodel = compose.Pipeline(\n    preprocessing.MinMaxScaler(),\n    anomaly.HalfSpaceTrees(seed=42)\n)\n\nclass_condition = lambda x: x.__class__.__name__ in ('MinMaxScaler', 'HalfSpaceTrees')\n\nlogger = logging.getLogger()\nlogger.setLevel(logging.DEBUG)\n\nlogs = io.StringIO()\nsh = logging.StreamHandler(logs)\nsh.setLevel(logging.DEBUG)\nlogger.addHandler(sh)\n\nwith utils.log_method_calls(class_condition):\n    for x, y in datasets.CreditCard().take(1):\n        score = model.score_one(x)\n        model.learn_one(x)\n\nprint(logs.getvalue())\n
MinMaxScaler.transform_one\nHalfSpaceTrees.score_one\nMinMaxScaler.learn_one\nMinMaxScaler.transform_one\nHalfSpaceTrees.learn_one\n

logs.close()\n
"},{"location":"api/utils/math/argmax/","title":"argmax","text":"

Argmax function.

"},{"location":"api/utils/math/argmax/#parameters","title":"Parameters","text":"
  • lst

    Type \u2192 list

"},{"location":"api/utils/math/chain-dot/","title":"chain_dot","text":"

Returns the dot product of multiple vectors represented as dicts.

"},{"location":"api/utils/math/chain-dot/#parameters","title":"Parameters","text":"
  • xs
"},{"location":"api/utils/math/chain-dot/#examples","title":"Examples","text":"

from river import utils\n\nx = {'x0': 1, 'x1': 2, 'x2': 1}\ny = {'x1': 21, 'x2': 3}\nz = {'x1': 2, 'x2': 1 / 3}\n\nutils.math.chain_dot(x, y, z)\n
85.0\n

"},{"location":"api/utils/math/clamp/","title":"clamp","text":"

Clamp a number.

This is a synonym of clipping.

"},{"location":"api/utils/math/clamp/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

  • minimum

    Default \u2192 0.0

  • maximum

    Default \u2192 1.0

"},{"location":"api/utils/math/dot/","title":"dot","text":"

Returns the dot product of two vectors represented as dicts.

"},{"location":"api/utils/math/dot/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 dict

  • y

    Type \u2192 dict

"},{"location":"api/utils/math/dot/#examples","title":"Examples","text":"

from river import utils\n\nx = {'x0': 1, 'x1': 2}\ny = {'x1': 21, 'x2': 3}\n\nutils.math.dot(x, y)\n
42\n

"},{"location":"api/utils/math/dotvecmat/","title":"dotvecmat","text":"

Vector times matrix from left side, i.e. transpose(x)A.

"},{"location":"api/utils/math/dotvecmat/#parameters","title":"Parameters","text":"
  • x

  • A

"},{"location":"api/utils/math/dotvecmat/#examples","title":"Examples","text":"

from river import utils\n\nx = {0: 4, 1: 5}\n\nA = {\n    (0, 0): 0, (0, 1): 1,\n    (1, 0): 2, (1, 1): 3\n}\n\nC = utils.math.dotvecmat(x, A)\nprint(C)\n
{0: 10.0, 1: 19.0}\n

"},{"location":"api/utils/math/log-sum-2-exp/","title":"log_sum_2_exp","text":"

Computation of log( (e^a + e^b) / 2) in an overflow-proof way

"},{"location":"api/utils/math/log-sum-2-exp/#parameters","title":"Parameters","text":"
  • a

    Type \u2192 float

    First number

  • b

    Type \u2192 float

    Second number

"},{"location":"api/utils/math/matmul2d/","title":"matmul2d","text":"

Multiplication for 2D matrices.

"},{"location":"api/utils/math/matmul2d/#parameters","title":"Parameters","text":"
  • A

  • B

"},{"location":"api/utils/math/matmul2d/#examples","title":"Examples","text":"

import pprint\nfrom river import utils\n\nA = {\n    (0, 0): 2, (0, 1): 0, (0, 2): 4,\n    (1, 0): 5, (1, 1): 6, (1, 2): 0\n}\n\nB = {\n    (0, 0): 1, (0, 1): 1, (0, 2): 0, (0, 3): 0,\n    (1, 0): 2, (1, 1): 0, (1, 2): 1, (1, 3): 3,\n    (2, 0): 4, (2, 1): 0, (2, 2): 0, (2, 3): 0\n}\n\nC = utils.math.matmul2d(A, B)\npprint.pprint(C)\n
{(0, 0): 18.0,\n    (0, 1): 2.0,\n    (0, 2): 0.0,\n    (0, 3): 0.0,\n    (1, 0): 17.0,\n    (1, 1): 5.0,\n    (1, 2): 6.0,\n    (1, 3): 18.0}\n

"},{"location":"api/utils/math/minkowski-distance/","title":"minkowski_distance","text":"

Minkowski distance.

"},{"location":"api/utils/math/minkowski-distance/#parameters","title":"Parameters","text":"
  • a

    Type \u2192 dict

  • b

    Type \u2192 dict

  • p

    Type \u2192 int

    Parameter for the Minkowski distance. When p=1, this is equivalent to using the Manhattan distance. When p=2, this is equivalent to using the Euclidean distance.

"},{"location":"api/utils/math/norm/","title":"norm","text":"

Compute the norm of a dictionaries values.

"},{"location":"api/utils/math/norm/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 dict

  • order

    Default \u2192 None

"},{"location":"api/utils/math/outer/","title":"outer","text":"

Outer-product between two vectors.

"},{"location":"api/utils/math/outer/#parameters","title":"Parameters","text":"
  • u

    Type \u2192 dict

  • v

    Type \u2192 dict

"},{"location":"api/utils/math/outer/#examples","title":"Examples","text":"

import pprint\nfrom river import utils\n\nu = dict(enumerate((1, 2, 3)))\nv = dict(enumerate((2, 4, 8)))\n\nuTv = utils.math.outer(u, v)\npprint.pprint(uTv)\n
{(0, 0): 2,\n    (0, 1): 4,\n    (0, 2): 8,\n    (1, 0): 4,\n    (1, 1): 8,\n    (1, 2): 16,\n    (2, 0): 6,\n    (2, 1): 12,\n    (2, 2): 24}\n

"},{"location":"api/utils/math/prod/","title":"prod","text":"

Product function.

"},{"location":"api/utils/math/prod/#parameters","title":"Parameters","text":"
  • iterable
"},{"location":"api/utils/math/sherman-morrison/","title":"sherman_morrison","text":"

Sherman-Morrison formula.

This is an inplace function.

"},{"location":"api/utils/math/sherman-morrison/#parameters","title":"Parameters","text":"
  • A

    Type \u2192 np.ndarray

  • u

    Type \u2192 np.ndarray

  • v

    Type \u2192 np.ndarray

  1. Fast rank-one updates to matrix inverse? \u2014 Tim Vieira \u21a9

"},{"location":"api/utils/math/sigmoid/","title":"sigmoid","text":"

Sigmoid function.

"},{"location":"api/utils/math/sigmoid/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

"},{"location":"api/utils/math/sign/","title":"sign","text":"

Sign function.

"},{"location":"api/utils/math/sign/#parameters","title":"Parameters","text":"
  • x

    Type \u2192 float

"},{"location":"api/utils/math/softmax/","title":"softmax","text":"

Normalizes a dictionary of predicted probabilities, in-place.

"},{"location":"api/utils/math/softmax/#parameters","title":"Parameters","text":"
  • y_pred

    Type \u2192 dict

"},{"location":"api/utils/math/woodbury-matrix/","title":"woodbury_matrix","text":"

Woodbury matrix identity.

This is an inplace function.

"},{"location":"api/utils/math/woodbury-matrix/#parameters","title":"Parameters","text":"
  • A

    Type \u2192 np.ndarray

  • U

    Type \u2192 np.ndarray

  • V

    Type \u2192 np.ndarray

  1. Matrix inverse mini-batch updates \u2014 Max Halford \u21a9

"},{"location":"api/utils/norm/normalize-values-in-dict/","title":"normalize_values_in_dict","text":"

Normalize the values in a dictionary using the given factor.

For each element in the dictionary, applies value/factor.

"},{"location":"api/utils/norm/normalize-values-in-dict/#parameters","title":"Parameters","text":"
  • dictionary

    Dictionary to normalize.

  • factor

    Default \u2192 None

    Normalization factor value. If not set, use the sum of values.

  • inplace

    Default \u2192 True

    If True, perform operation in-place

  • raise_error

    Default \u2192 False

    In case the normalization factor is either 0 or None: - True: raise an error. - False: return gracefully (if inplace=False, a copy of) dictionary.

"},{"location":"api/utils/norm/scale-values-in-dict/","title":"scale_values_in_dict","text":"

Scale the values in a dictionary.

For each element in the dictionary, applies value * multiplier.

"},{"location":"api/utils/norm/scale-values-in-dict/#parameters","title":"Parameters","text":"
  • dictionary

    Dictionary to scale.

  • multiplier

    Scaling value.

  • inplace

    Default \u2192 True

    If True, perform operation in-place

"},{"location":"api/utils/pretty/humanize-bytes/","title":"humanize_bytes","text":"

Returns a human-friendly byte size.

"},{"location":"api/utils/pretty/humanize-bytes/#parameters","title":"Parameters","text":"
  • n_bytes

    Type \u2192 int

"},{"location":"api/utils/pretty/print-table/","title":"print_table","text":"

Pretty-prints a table.

"},{"location":"api/utils/pretty/print-table/#parameters","title":"Parameters","text":"
  • headers

    Type \u2192 list[str]

    The column names.

  • columns

    Type \u2192 list[list[str]]

    The column values.

  • order

    Type \u2192 list[int] | None

    Default \u2192 None

    Order in which to print the column the values. Defaults to the order in which the values are given.

"},{"location":"api/utils/random/exponential/","title":"exponential","text":"

Sample a random value from a Poisson distribution.

"},{"location":"api/utils/random/exponential/#parameters","title":"Parameters","text":"
  • rate

    Type \u2192 float

    Default \u2192 1.0

  • rng

    Default \u2192 <module 'random' from '/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/random.py'>

  1. Wikipedia article \u21a9

"},{"location":"api/utils/random/poisson/","title":"poisson","text":"

Sample a random value from a Poisson distribution.

"},{"location":"api/utils/random/poisson/#parameters","title":"Parameters","text":"
  • rate

    Type \u2192 float

  • rng

    Default \u2192 <module 'random' from '/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/random.py'>

[^1] Wikipedia article

"},{"location":"benchmarks/Binary%20classification/","title":"Binary classification","text":"TableChart Model Dataset Accuracy F1 Memory in Mb Time in s ADWIN Bagging Bananas 0.625967 0.448218 0.400658 942.73 ADWIN Bagging Elec2 0.823773 0.776587 0.598438 8970.15 ADWIN Bagging Phishing 0.893515 0.879201 1.31008 568.218 ADWIN Bagging SMTP 0.999685 0 0.164217 8006.78 ALMA Bananas 0.506415 0.482595 0.0029211 68.9731 ALMA Elec2 0.906427 0.889767 0.00435829 836.498 ALMA Phishing 0.8256 0.810764 0.0045805 29.7613 ALMA SMTP 0.764986 0.00178548 0.00309372 1361.61 AdaBoost Bananas 0.677864 0.645041 0.453154 876.714 AdaBoost Elec2 0.880581 0.858687 13.5424 10153.7 AdaBoost Phishing 0.878303 0.863555 0.873312 552.609 AdaBoost SMTP 0.999443 0.404494 1.33633 6617.5 Adaptive Random Forest Bananas 0.88696 0.871707 15.3551 2603.02 Adaptive Random Forest Elec2 0.876608 0.852391 22.3949 12397.6 Adaptive Random Forest Phishing 0.907926 0.896116 4.10291 743.377 Adaptive Random Forest SMTP 0.999685 0 0.327095 11543.4 Aggregated Mondrian Forest Bananas 0.889413 0.874249 17.2377 2954.75 Aggregated Mondrian Forest Elec2 0.849904 0.819731 287.315 18206.6 Aggregated Mondrian Forest Phishing 0.904724 0.892112 3.39106 807.573 Aggregated Mondrian Forest SMTP 0.999863 0.734694 0.211749 5848.87 Bagging Bananas 0.634082 0.459437 0.703124 1170.85 Bagging Elec2 0.840436 0.80208 2.28896 13164.5 Bagging Phishing 0.893515 0.879201 1.38826 633.136 Bagging SMTP 0.999685 0 0.207971 8814.84 Hoeffding Adaptive Tree Bananas 0.616531 0.42825 0.0618467 163.516 Hoeffding Adaptive Tree Elec2 0.821258 0.787344 0.435328 2980.69 Hoeffding Adaptive Tree Phishing 0.874299 0.856095 0.142962 77.865 Hoeffding Adaptive Tree SMTP 0.999685 0 0.0241137 2094.95 Hoeffding Tree Bananas 0.642197 0.503405 0.0594654 93.5302 Hoeffding Tree Elec2 0.795635 0.750834 0.938466 1485.98 Hoeffding Tree Phishing 0.879904 0.860595 0.132719 54.2758 Hoeffding Tree SMTP 0.999685 0 0.0170441 1543.56 Leveraging Bagging Bananas 0.828269 0.802689 3.23571 2747.95 Leveraging Bagging Elec2 0.892653 0.871966 7.56535 18763.3 Leveraging Bagging Phishing 0.894315 0.877323 4.0114 1619.65 Leveraging Bagging SMTP 0.999674 0 0.164603 17549.6 Logistic regression Bananas 0.543208 0.197015 0.00424099 82.0689 Logistic regression Elec2 0.822144 0.777086 0.005373 953.54 Logistic regression Phishing 0.8872 0.871233 0.00556469 29.2066 Logistic regression SMTP 0.999769 0.421053 0.00438309 1531.37 Naive Bayes Bananas 0.61521 0.413912 0.0140247 97.154 Naive Bayes Elec2 0.728741 0.603785 0.0510378 1230.66 Naive Bayes Phishing 0.884708 0.871429 0.05723 38.528 Naive Bayes SMTP 0.993484 0.0490798 0.0201406 1826.47 Stacking Bananas 0.876203 0.859649 19.1946 5236.84 Stacking Elec2 0.885458 0.864157 40.7547 22944.4 Stacking Phishing 0.895116 0.882722 8.72124 2411.41 Stacking SMTP 0.999685 0 4.88868 24733.2 Streaming Random Patches Bananas 0.871674 0.854265 10.5381 3551.41 Streaming Random Patches Elec2 0.868884 0.843009 107.322 22969 Streaming Random Patches Phishing 0.913531 0.901996 6.59559 1436.69 Streaming Random Patches SMTP 0.999685 0 0.17817 18142.3 Voting Bananas 0.872617 0.849162 4.58403 2790.97 Voting Elec2 0.84368 0.797958 5.7575 13925.5 Voting Phishing 0.896717 0.884512 4.8203 1436.72 Voting SMTP 0.999779 0.487805 4.60205 18069.8 Vowpal Wabbit logistic regression Bananas 0.551321 0 0.000646591 88.7248 Vowpal Wabbit logistic regression Elec2 0.697475 0.459592 0.000646591 937.011 Vowpal Wabbit logistic regression Phishing 0.7736 0.669778 0.000646591 27.8334 Vowpal Wabbit logistic regression SMTP 0.999695 0.121212 0.000646591 1631.37 [baseline] Last Class Bananas 0.50953 0.452957 0.000510216 30.809 [baseline] Last Class Elec2 0.853303 0.827229 0.000510216 341.39 [baseline] Last Class Phishing 0.515612 0.447489 0.000510216 11.9196 [baseline] Last Class SMTP 0.999601 0.366667 0.000510216 532.359 k-Nearest Neighbors Bananas 0.885073 0.870838 4.50996 2974.33 k-Nearest Neighbors Elec2 0.853148 0.823642 4.76604 13503.4 k-Nearest Neighbors Phishing 0.881505 0.867145 4.59643 1552.65 k-Nearest Neighbors SMTP 0.999821 0.666667 4.51822 17961.1 sklearn SGDClassifier Bananas 0.546415 0.205026 0.00557804 621.426 sklearn SGDClassifier Elec2 0.819099 0.772892 0.00680161 4291.77 sklearn SGDClassifier Phishing 0.8896 0.876122 0.00701618 167.984 sklearn SGDClassifier SMTP 0.999706 0.363636 0.00574303 7118.18

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.490566037735849, \"F1\": 0.3414634146341463, \"Memory in Mb\": 0.0041875839233398, \"Time in s\": 0.00989 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5141509433962265, \"F1\": 0.3832335329341317, \"Memory in Mb\": 0.0041875839233398, \"Time in s\": 0.123413 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5220125786163522, \"F1\": 0.4242424242424242, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.315017 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165094339622641, \"F1\": 0.4023323615160349, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.5849610000000001 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5320754716981132, \"F1\": 0.3641025641025641, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 0.937213 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.3287671232876712, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 1.342505 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5525606469002695, \"F1\": 0.3054393305439331, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 1.895068 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5530660377358491, \"F1\": 0.2808349146110057, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 2.518365 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.2587412587412587, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 3.1930270000000003 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5622641509433962, \"F1\": 0.2418300653594771, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 3.938137 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5608919382504288, \"F1\": 0.2242424242424242, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 4.7351090000000005 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5613207547169812, \"F1\": 0.2206703910614525, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 5.600857 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5645863570391872, \"F1\": 0.20844327176781, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 6.476079 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5646900269541779, \"F1\": 0.1965174129353233, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 7.428853 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5647798742138365, \"F1\": 0.1858823529411764, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 8.473991 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5660377358490566, \"F1\": 0.1785714285714285, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 9.59319 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.562708102108768, \"F1\": 0.1705263157894736, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 10.745503 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5587002096436059, \"F1\": 0.1679841897233201, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 11.962335 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5516385302879842, \"F1\": 0.1662049861495844, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 13.252336 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5495283018867925, \"F1\": 0.1688424717145344, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 14.603624 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5485175202156334, \"F1\": 0.1809290953545232, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 15.981958 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5484562607204116, \"F1\": 0.1967963386727688, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 17.395643 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5471698113207547, \"F1\": 0.1999999999999999, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 18.850781 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479559748427673, \"F1\": 0.2166212534059945, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 20.422045 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5452830188679245, \"F1\": 0.2260757867694284, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 22.049363 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5395500725689405, \"F1\": 0.2285714285714285, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 23.763248 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5391334730957372, \"F1\": 0.230005837711617, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 25.51638 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5411051212938005, \"F1\": 0.2261363636363636, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 27.316788000000003 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5403383214053351, \"F1\": 0.2214876033057851, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 29.124189 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5437106918238994, \"F1\": 0.2203116603976356, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 31.016333000000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5450395617772368, \"F1\": 0.21604614577871, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 32.984057 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5439268867924528, \"F1\": 0.2127226463104325, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 35.003757 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5457404230989137, \"F1\": 0.2082710513203786, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 37.068178 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5480022197558269, \"F1\": 0.2042012701514411, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 39.232173 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.546900269541779, \"F1\": 0.1991424487851357, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 41.450117000000006 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5463836477987422, \"F1\": 0.1945090739879013, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 43.72876300000001 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474247832738399, \"F1\": 0.1906064751481988, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 46.072390000000006 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.547914597815293, \"F1\": 0.1866904868244752, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 48.42327300000001 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548137397194001, \"F1\": 0.1828521434820647, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 50.870554000000006 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474056603773585, \"F1\": 0.1788617886178861, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 53.39424700000001 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5476300046019328, \"F1\": 0.176716917922948, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 55.939767 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5498652291105122, \"F1\": 0.1820408163265306, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 58.584779000000005 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467310223782361, \"F1\": 0.1814580031695721, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 61.26661800000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5465265866209262, \"F1\": 0.1880998080614203, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 64.04445700000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467505241090147, \"F1\": 0.1908682634730538, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 66.91140200000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5469647251845775, \"F1\": 0.1911387770047601, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 69.84398600000002 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5469690887193898, \"F1\": 0.1976537504443654, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 72.84582100000002 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5448113207547169, \"F1\": 0.1958333333333333, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 75.85667200000002 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5429341547939931, \"F1\": 0.1941615750169721, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 78.94956300000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5432075471698113, \"F1\": 0.1970149253731343, \"Memory in Mb\": 0.0042409896850585, \"Time in s\": 82.06889500000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7980132450331126, \"F1\": 0.7834319526627219, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 0.687155 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8134657836644592, \"F1\": 0.7488855869242199, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 2.092465 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8024282560706402, \"F1\": 0.7300150829562596, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 4.064074 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8192604856512141, \"F1\": 0.7598093142647598, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 6.824807 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8289183222958058, \"F1\": 0.7613181398213735, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 10.234028 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8226637233259749, \"F1\": 0.7528205128205128, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 14.344314 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8229265216020183, \"F1\": 0.7589611504614724, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 19.167838 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8261589403973509, \"F1\": 0.7617246596066566, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 24.744494 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8318616629874908, \"F1\": 0.7833096254148886, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 31.081721 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8375275938189846, \"F1\": 0.7975797579757975, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 38.163875 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8377483443708609, \"F1\": 0.802008081302804, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 45.915004 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400478292862399, \"F1\": 0.8089220964729151, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 54.352834 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8432671081677704, \"F1\": 0.8127789046653143, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 63.489549 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419268369599495, \"F1\": 0.8117547648108159, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 73.399178 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8437821927888153, \"F1\": 0.8167141500474834, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 84.03825400000001 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8447157836644592, \"F1\": 0.8189204408334004, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 95.414959 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8464485131801065, \"F1\": 0.8201110519510155, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 107.55183300000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411822418444935, \"F1\": 0.812780106982796, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 120.38661500000002 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397234808876496, \"F1\": 0.8069954529555788, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 133.99787400000002 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419426048565122, \"F1\": 0.80987785448752, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 148.356557 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8451066961000736, \"F1\": 0.8115849370244869, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 163.518734 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8428155729480232, \"F1\": 0.8097637986520129, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 179.395561 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8393799788847298, \"F1\": 0.805689404934688, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 196.009478 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8402777777777778, \"F1\": 0.8036632935722765, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 213.342445 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8394701986754967, \"F1\": 0.8009198423127463, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 231.348647 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8357106469689252, \"F1\": 0.7954545454545454, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 250.064916 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8330471752105306, \"F1\": 0.791441119395363, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 269.489469 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8298249763481551, \"F1\": 0.7872875092387287, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 289.628629 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8304407398949532, \"F1\": 0.787745962170661, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 310.508458 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8308682855040471, \"F1\": 0.7889638709085066, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 332.12320800000003 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8277077547532579, \"F1\": 0.7843678980437593, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 354.49968 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8270212472406181, \"F1\": 0.7820039121930016, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 377.655941 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8260418757107498, \"F1\": 0.780872129766168, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 401.520333 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8258992338657317, \"F1\": 0.7797807251673304, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 426.09085 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.821286660359508, \"F1\": 0.7731294287201249, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 451.387139 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8188619082658818, \"F1\": 0.7700093428838368, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 477.46355 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8168963665652408, \"F1\": 0.7682024169184289, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 504.189667 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8143952596723597, \"F1\": 0.7647795037915042, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 531.635688 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8142016188373804, \"F1\": 0.7627822944896115, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 559.807066 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8154801324503311, \"F1\": 0.7629984051036682, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 588.709839 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.815161794002046, \"F1\": 0.7614481273017858, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 618.344034 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8151476926311363, \"F1\": 0.7609596955073744, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 648.6306599999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8162379998973254, \"F1\": 0.7631274195149389, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 679.6980239999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8169275536825206, \"F1\": 0.7661946562439931, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 711.4719719999999 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8186656855531028, \"F1\": 0.7707241432780277, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 743.966698 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8201602840963624, \"F1\": 0.7745390006918749, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 777.181242 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211920529801324, \"F1\": 0.7763613934089174, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 811.063029 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8216979396615158, \"F1\": 0.7772863051470587, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 845.685827 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211695274136145, \"F1\": 0.7754109027129481, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 881.122534 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8221412803532009, \"F1\": 0.7771292633675417, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 917.330239 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8221442443502824, \"F1\": 0.7770862722319033, \"Memory in Mb\": 0.0053730010986328, \"Time in s\": 953.539999 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.005087 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7499999999999999, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.014273 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.8, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.080154 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.81, \"F1\": 0.8041237113402061, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.160529 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.7933884297520661, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.244823 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8066666666666666, \"F1\": 0.8079470198675497, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.373717 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8171428571428572, \"F1\": 0.8072289156626506, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.564558 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.815, \"F1\": 0.8042328042328043, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.765703 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8133333333333334, \"F1\": 0.7980769230769231, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 0.969796 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.82, \"F1\": 0.8068669527896996, \"Memory in Mb\": 0.005324363708496, \"Time in s\": 1.176844 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8218181818181818, \"F1\": 0.8078431372549019, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.38745 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8161764705882353, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.62648 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.84, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 1.940615 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514285714285714, \"F1\": 0.8278145695364238, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.281543 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.848, \"F1\": 0.8213166144200628, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.625835 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.85, \"F1\": 0.8214285714285715, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 2.973623 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8564705882352941, \"F1\": 0.825214899713467, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 3.357502 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86, \"F1\": 0.8273972602739726, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 3.744344 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8568421052631578, \"F1\": 0.8247422680412371, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 4.182096 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.858, \"F1\": 0.8297362110311751, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 4.631479 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8251748251748252, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 5.084116 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8581818181818182, \"F1\": 0.827433628318584, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 5.539997 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8608695652173913, \"F1\": 0.8305084745762712, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 6.065522 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.865, \"F1\": 0.8329896907216495, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 6.594884 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672, \"F1\": 0.8323232323232322, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 7.192367999999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8707692307692307, \"F1\": 0.8390804597701149, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 7.814115999999999 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8711111111111111, \"F1\": 0.8426763110307414, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 8.439065999999999 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8757142857142857, \"F1\": 0.8465608465608465, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 9.067184 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8772413793103448, \"F1\": 0.8514190317195326, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 9.744984 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786666666666667, \"F1\": 0.8539325842696629, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 10.426391 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8549141965678626, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 11.153806 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8567164179104476, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 11.884597 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8579626972740315, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 12.619003 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8811764705882353, \"F1\": 0.8587412587412586, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 13.411056 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8845714285714286, \"F1\": 0.8622100954979536, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 14.234524 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844444444444445, \"F1\": 0.8617021276595744, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 15.105192999999998 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864864864864865, \"F1\": 0.8655569782330347, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 15.990264999999996 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8852631578947369, \"F1\": 0.8655980271270037, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 16.878196999999997 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861538461538462, \"F1\": 0.8664259927797834, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 17.769031 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.887, \"F1\": 0.8675263774912075, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 18.72316 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8868292682926829, \"F1\": 0.8678815489749431, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 19.680949 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8885714285714286, \"F1\": 0.8704318936877077, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 20.642059 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8874418604651163, \"F1\": 0.8703108252947481, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 21.642509 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.889090909090909, \"F1\": 0.8723849372384936, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 22.64645 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8897777777777778, \"F1\": 0.8742393509127788, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 23.715816 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895652173913043, \"F1\": 0.8738828202581926, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 24.78868 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8885106382978724, \"F1\": 0.872444011684518, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 25.864657 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8891666666666667, \"F1\": 0.8729703915950333, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 26.968066 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.889795918367347, \"F1\": 0.8737137511693172, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 28.075126 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8872, \"F1\": 0.8712328767123287, \"Memory in Mb\": 0.0055646896362304, \"Time in s\": 29.206647 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1.174944 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 3.465965 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 6.937403 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 11.610183 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 17.462392 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 24.519273 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 32.784706 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996715712033633, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 42.234241 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080632918784, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 52.882453 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 64.622668 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999761142693355, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 77.568109 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997810474689088, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 91.771967 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997978899713004, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 107.109486 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999774791682306, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 123.681834 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898055701524, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 141.369945 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999802942722018, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 160.23044 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999814534326605, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 180.239632 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999824837975127, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 201.318948 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998340570290676, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 223.519273 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998423541776142, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 246.976714 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498611215374, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 271.56812399999995 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999856685616013, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 297.295844 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998629166761864, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 324.2115329999999 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686284813452, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 352.27523699999995 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998738833420916, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 381.597104 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998787339827804, \"F1\": 0.7272727272727273, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 412.116627 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998443004223352, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 443.867429 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498611215374, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 476.838798 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999855038324243, \"F1\": 0.6666666666666666, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 510.9819989999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997022245577158, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 546.274013 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997118302171444, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 582.6678519999999 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997208355228586, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 620.2082039999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999697447411583, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 658.8625569999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997063460171248, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 698.5852799999999 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997147361309212, \"F1\": 0.4571428571428571, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 739.3620329999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934664564724, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 781.2563779999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999701751146838, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 824.198222 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997095998008684, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 868.202086 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997170459598204, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 913.268811 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999724119810825, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 959.416173 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997308485959268, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1006.608919 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1054.85163 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997433672658838, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1104.06085 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997491998280228, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1154.258062 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997547731651778, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1205.371532 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999760104183326, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1257.4462130000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997540277948592, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1310.5048250000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997591522157996, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1364.5437910000005 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997640674767015, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1419.4942320000002 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997687861271676, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1475.4318390000003 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997688007062088, \"F1\": 0.4210526315789474, \"Memory in Mb\": 0.0043830871582031, \"Time in s\": 1531.3705140000004 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7047619047619048, \"F1\": 0.6990291262135924, \"Memory in Mb\": 0.8133068084716797, \"Time in s\": 0.833499 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7867298578199052, \"F1\": 0.7668393782383419, \"Memory in Mb\": 1.3378009796142578, \"Time in s\": 2.8663 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8233438485804416, \"F1\": 0.806896551724138, \"Memory in Mb\": 1.855398178100586, \"Time in s\": 6.250927 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8392434988179669, \"F1\": 0.8229166666666667, \"Memory in Mb\": 2.3226680755615234, \"Time in s\": 11.143336 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8412098298676749, \"F1\": 0.8181818181818182, \"Memory in Mb\": 2.776212692260742, \"Time in s\": 17.797124 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8488188976377953, \"F1\": 0.8267148014440434, \"Memory in Mb\": 3.173288345336914, \"Time in s\": 26.396562 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8596491228070176, \"F1\": 0.8359621451104102, \"Memory in Mb\": 3.5500621795654297, \"Time in s\": 36.969223 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8677685950413223, \"F1\": 0.8461538461538461, \"Memory in Mb\": 3.917997360229492, \"Time in s\": 49.692848 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8730325288562435, \"F1\": 0.8515337423312884, \"Memory in Mb\": 4.238534927368164, \"Time in s\": 64.631677 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772426817752597, \"F1\": 0.8549107142857144, \"Memory in Mb\": 4.491437911987305, \"Time in s\": 81.765253 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772532188841202, \"F1\": 0.8557013118062564, \"Memory in Mb\": 4.809717178344727, \"Time in s\": 101.295253 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8772619984264359, \"F1\": 0.8566176470588236, \"Memory in Mb\": 5.171953201293945, \"Time in s\": 123.161687 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8779956427015251, \"F1\": 0.8561643835616438, \"Memory in Mb\": 5.501619338989258, \"Time in s\": 147.513883 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8813216453135536, \"F1\": 0.860759493670886, \"Memory in Mb\": 5.80189323425293, \"Time in s\": 174.53874199999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8785399622404028, \"F1\": 0.8579838116261957, \"Memory in Mb\": 6.17225456237793, \"Time in s\": 204.250002 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8790560471976401, \"F1\": 0.8585231193926847, \"Memory in Mb\": 6.45002555847168, \"Time in s\": 237.091398 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8806218767351471, \"F1\": 0.8613797549967763, \"Memory in Mb\": 6.703157424926758, \"Time in s\": 272.83416 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8783429470372313, \"F1\": 0.8602409638554217, \"Memory in Mb\": 7.075212478637695, \"Time in s\": 311.419605 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777943368107303, \"F1\": 0.8607021517553795, \"Memory in Mb\": 7.409914016723633, \"Time in s\": 352.79492 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8791882963662104, \"F1\": 0.8636847710330138, \"Memory in Mb\": 7.730207443237305, \"Time in s\": 397.065386 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8782022471910113, \"F1\": 0.8626457171819564, \"Memory in Mb\": 8.068941116333008, \"Time in s\": 444.302777 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777348777348777, \"F1\": 0.8621190130624092, \"Memory in Mb\": 8.392999649047852, \"Time in s\": 494.454577 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8781288469429627, \"F1\": 0.8624363131079205, \"Memory in Mb\": 8.738908767700195, \"Time in s\": 547.433225 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8784899724734565, \"F1\": 0.8635761589403974, \"Memory in Mb\": 9.069158554077148, \"Time in s\": 603.367304 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8799546998867497, \"F1\": 0.8654822335025381, \"Memory in Mb\": 9.38022804260254, \"Time in s\": 661.971994 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8820326678765881, \"F1\": 0.8676171079429736, \"Memory in Mb\": 9.675683975219728, \"Time in s\": 723.088894 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8836071303739951, \"F1\": 0.86905230043256, \"Memory in Mb\": 10.005556106567385, \"Time in s\": 786.780009 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8840579710144928, \"F1\": 0.8691019786910198, \"Memory in Mb\": 10.283010482788086, \"Time in s\": 853.0146269999999 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8831760494630654, \"F1\": 0.8683535020168683, \"Memory in Mb\": 10.632661819458008, \"Time in s\": 921.667133 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8858131487889274, \"F1\": 0.8707725169099323, \"Memory in Mb\": 10.90281867980957, \"Time in s\": 992.810764 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8852359208523592, \"F1\": 0.8696854476322157, \"Memory in Mb\": 11.200468063354492, \"Time in s\": 1066.389204 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8849896785608965, \"F1\": 0.87017310252996, \"Memory in Mb\": 11.512235641479492, \"Time in s\": 1142.442462 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8864741206748642, \"F1\": 0.8712293220888745, \"Memory in Mb\": 11.797895431518556, \"Time in s\": 1221.036812 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8878712184290869, \"F1\": 0.8721518987341771, \"Memory in Mb\": 12.102933883666992, \"Time in s\": 1302.125963 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8878403882448099, \"F1\": 0.8725490196078431, \"Memory in Mb\": 12.41331672668457, \"Time in s\": 1385.838182 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889646133682831, \"F1\": 0.8746650788925276, \"Memory in Mb\": 12.665735244750977, \"Time in s\": 1472.135343 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8885488395817394, \"F1\": 0.8730758059831543, \"Memory in Mb\": 13.002767562866213, \"Time in s\": 1561.047711 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872609883287808, \"F1\": 0.8714609286523215, \"Memory in Mb\": 13.407987594604492, \"Time in s\": 1652.580672 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8874909266876361, \"F1\": 0.8717241379310345, \"Memory in Mb\": 13.751871109008787, \"Time in s\": 1746.8148660000002 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8886529841943854, \"F1\": 0.8731864588930682, \"Memory in Mb\": 13.96497917175293, \"Time in s\": 1843.750561 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8895281933256617, \"F1\": 0.8742138364779874, \"Memory in Mb\": 14.240518569946287, \"Time in s\": 1943.403214 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8890137047854415, \"F1\": 0.8735926305015352, \"Memory in Mb\": 14.605810165405272, \"Time in s\": 2045.776976 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8894009216589862, \"F1\": 0.874439461883408, \"Memory in Mb\": 14.917993545532228, \"Time in s\": 2150.6554650000003 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8893416255629423, \"F1\": 0.8748180494905387, \"Memory in Mb\": 15.239774703979492, \"Time in s\": 2258.064088 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8880268400083875, \"F1\": 0.8729176582579724, \"Memory in Mb\": 15.67698097229004, \"Time in s\": 2367.913167 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8888205128205128, \"F1\": 0.8733644859813083, \"Memory in Mb\": 15.96486473083496, \"Time in s\": 2480.267593 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889580405541056, \"F1\": 0.8746010031919745, \"Memory in Mb\": 16.210702896118164, \"Time in s\": 2595.134509 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8891291527422842, \"F1\": 0.8740509155873157, \"Memory in Mb\": 16.543100357055664, \"Time in s\": 2712.434229 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8894665896398999, \"F1\": 0.8743982494529539, \"Memory in Mb\": 16.87101936340332, \"Time in s\": 2832.294496 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.889413096810719, \"F1\": 0.8742489270386266, \"Memory in Mb\": 17.23769187927246, \"Time in s\": 2954.746773 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8662983425414365, \"F1\": 0.8638920134983127, \"Memory in Mb\": 5.093213081359863, \"Time in s\": 9.961559 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895637769188294, \"F1\": 0.863013698630137, \"Memory in Mb\": 9.274415016174316, \"Time in s\": 34.997891 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737578211262422, \"F1\": 0.8433074463225217, \"Memory in Mb\": 14.81954288482666, \"Time in s\": 77.180768 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8746894838531604, \"F1\": 0.8451568894952252, \"Memory in Mb\": 20.35789203643799, \"Time in s\": 135.799753 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.869728416869066, \"F1\": 0.8295782784517621, \"Memory in Mb\": 25.320820808410645, \"Time in s\": 209.048681 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8658693652253909, \"F1\": 0.8254728273880776, \"Memory in Mb\": 30.94210529327393, \"Time in s\": 297.509476 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8613783314934553, \"F1\": 0.8220287507592631, \"Memory in Mb\": 36.922226905822754, \"Time in s\": 401.254404 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8563543535255967, \"F1\": 0.8144715736945286, \"Memory in Mb\": 42.8322229385376, \"Time in s\": 518.853069 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8547773825585674, \"F1\": 0.8211480362537765, \"Memory in Mb\": 49.13461780548096, \"Time in s\": 650.61595 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564963020200905, \"F1\": 0.8276776246023331, \"Memory in Mb\": 54.27480792999268, \"Time in s\": 797.031608 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8559959859508279, \"F1\": 0.830478440637921, \"Memory in Mb\": 59.58850955963135, \"Time in s\": 957.298151 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.858522675006899, \"F1\": 0.8360690684289065, \"Memory in Mb\": 64.43849277496338, \"Time in s\": 1132.655012 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8588774730406725, \"F1\": 0.8365138697619515, \"Memory in Mb\": 69.77676105499268, \"Time in s\": 1321.3849659999998 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8572892848695104, \"F1\": 0.8352148579752368, \"Memory in Mb\": 75.08023929595947, \"Time in s\": 1522.77491 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8577525940098609, \"F1\": 0.8380665158750105, \"Memory in Mb\": 79.94311618804932, \"Time in s\": 1737.870186 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8584339427388755, \"F1\": 0.8393863494051347, \"Memory in Mb\": 84.43613529205322, \"Time in s\": 1968.10555 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8584507499513019, \"F1\": 0.8387335404645658, \"Memory in Mb\": 89.24470615386963, \"Time in s\": 2211.432474 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8561354019746121, \"F1\": 0.8352296670880741, \"Memory in Mb\": 95.6551637649536, \"Time in s\": 2468.910492 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8563295183872655, \"F1\": 0.8333445649976414, \"Memory in Mb\": 100.85075855255128, \"Time in s\": 2740.76049 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8570009382416248, \"F1\": 0.834176, \"Memory in Mb\": 106.8406229019165, \"Time in s\": 3026.823297 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.858712220762155, \"F1\": 0.8348082595870207, \"Memory in Mb\": 111.7458429336548, \"Time in s\": 3325.548438 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8587125583262255, \"F1\": 0.8363361618040218, \"Memory in Mb\": 117.0202569961548, \"Time in s\": 3636.553219 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564572635216202, \"F1\": 0.8339348176114596, \"Memory in Mb\": 123.3725290298462, \"Time in s\": 3960.554229 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8540219840868325, \"F1\": 0.8286917098445596, \"Memory in Mb\": 130.42929553985596, \"Time in s\": 4298.210438 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531944015188309, \"F1\": 0.8264160793526494, \"Memory in Mb\": 136.64212131500244, \"Time in s\": 4650.500753 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8528550201655699, \"F1\": 0.8255134917438581, \"Memory in Mb\": 142.6701021194458, \"Time in s\": 5016.675492 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8532766444544376, \"F1\": 0.8247130647130647, \"Memory in Mb\": 148.4442949295044, \"Time in s\": 5397.142957 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8514605589939686, \"F1\": 0.8225487425826504, \"Memory in Mb\": 154.72937488555908, \"Time in s\": 5792.939295 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8521676245575306, \"F1\": 0.8231490756761678, \"Memory in Mb\": 160.280930519104, \"Time in s\": 6204.791143 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530851024688179, \"F1\": 0.8247069669432372, \"Memory in Mb\": 165.12001132965088, \"Time in s\": 6630.671498000001 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8528752002848495, \"F1\": 0.8239904583404327, \"Memory in Mb\": 171.1938066482544, \"Time in s\": 7068.974646000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8532303128557138, \"F1\": 0.8236415633937083, \"Memory in Mb\": 176.66365909576416, \"Time in s\": 7519.88705 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8538649362812323, \"F1\": 0.8241355713883187, \"Memory in Mb\": 181.78493976593015, \"Time in s\": 7981.874679 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8542349771126189, \"F1\": 0.8238110186783865, \"Memory in Mb\": 187.08849048614505, \"Time in s\": 8454.454599 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525655176763695, \"F1\": 0.8216125462662648, \"Memory in Mb\": 193.5201120376587, \"Time in s\": 8938.242097 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.852245899126169, \"F1\": 0.821432541594101, \"Memory in Mb\": 199.6366205215454, \"Time in s\": 9433.534304 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.852003221860923, \"F1\": 0.8214247147330909, \"Memory in Mb\": 205.8111581802368, \"Time in s\": 9940.639789 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.851715223516426, \"F1\": 0.8209965286300361, \"Memory in Mb\": 212.10033893585205, \"Time in s\": 10459.964952 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8513287861206238, \"F1\": 0.8197137660019906, \"Memory in Mb\": 218.64550113677976, \"Time in s\": 10993.026606 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8508788873865173, \"F1\": 0.8179735920237133, \"Memory in Mb\": 225.19258975982663, \"Time in s\": 11538.003929 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8496432898102032, \"F1\": 0.8159741671883752, \"Memory in Mb\": 232.33557987213132, \"Time in s\": 12096.169427 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8497279966360937, \"F1\": 0.8155126798735239, \"Memory in Mb\": 238.56606006622317, \"Time in s\": 12664.877691 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8494493929203994, \"F1\": 0.8154906093686098, \"Memory in Mb\": 244.89648151397705, \"Time in s\": 13243.508414 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8492336251661942, \"F1\": 0.8164773421277635, \"Memory in Mb\": 251.12543201446533, \"Time in s\": 13830.859859 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8486104638328141, \"F1\": 0.8170174918470204, \"Memory in Mb\": 257.83575916290283, \"Time in s\": 14427.278119 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8490941811637672, \"F1\": 0.8186928820595613, \"Memory in Mb\": 264.1331262588501, \"Time in s\": 15032.883602 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493929217256523, \"F1\": 0.8194385787087872, \"Memory in Mb\": 270.1314744949341, \"Time in s\": 15648.679676 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493802745648125, \"F1\": 0.8194995590828924, \"Memory in Mb\": 276.0468301773072, \"Time in s\": 16273.986894 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8493681436262474, \"F1\": 0.8189620164063134, \"Memory in Mb\": 282.1419038772583, \"Time in s\": 16909.074578 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8499083864985982, \"F1\": 0.8197651300267741, \"Memory in Mb\": 287.208477973938, \"Time in s\": 17554.066457 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8499039968219637, \"F1\": 0.8197312269727252, \"Memory in Mb\": 287.3145227432251, \"Time in s\": 18206.640571 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.6923076923076924, \"Memory in Mb\": 0.2663440704345703, \"Time in s\": 0.180038 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7755102040816326, \"F1\": 0.7555555555555555, \"Memory in Mb\": 0.4029140472412109, \"Time in s\": 0.591649 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.7945205479452055, \"Memory in Mb\": 0.5196552276611328, \"Time in s\": 1.289716 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8181818181818182, \"F1\": 0.8125, \"Memory in Mb\": 0.6383838653564453, \"Time in s\": 2.331468 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8225806451612904, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.7669887542724609, \"Time in s\": 3.724154 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8456375838926175, \"F1\": 0.847682119205298, \"Memory in Mb\": 0.9175167083740234, \"Time in s\": 5.520175 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867816091954023, \"F1\": 0.8606060606060606, \"Memory in Mb\": 1.0086803436279297, \"Time in s\": 7.749843999999999 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.864321608040201, \"F1\": 0.8571428571428572, \"Memory in Mb\": 1.1245098114013672, \"Time in s\": 10.53336 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8660714285714286, \"F1\": 0.8557692307692308, \"Memory in Mb\": 1.2114391326904297, \"Time in s\": 13.795268 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.8448275862068965, \"Memory in Mb\": 1.322244644165039, \"Time in s\": 17.57486 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8540145985401459, \"F1\": 0.84251968503937, \"Memory in Mb\": 1.3987751007080078, \"Time in s\": 21.876977 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561872909698997, \"F1\": 0.8413284132841329, \"Memory in Mb\": 1.489828109741211, \"Time in s\": 26.743447 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672839506172839, \"F1\": 0.8501742160278746, \"Memory in Mb\": 1.5769939422607422, \"Time in s\": 32.2729 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8681948424068768, \"F1\": 0.8486842105263156, \"Memory in Mb\": 1.638784408569336, \"Time in s\": 38.477964 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8689839572192514, \"F1\": 0.8482972136222912, \"Memory in Mb\": 1.7178211212158203, \"Time in s\": 45.357054 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8436578171091446, \"Memory in Mb\": 1.7941875457763672, \"Time in s\": 52.888585 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8433048433048433, \"Memory in Mb\": 1.8353633880615237, \"Time in s\": 61.095765 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8730512249443207, \"F1\": 0.8455284552845528, \"Memory in Mb\": 1.909624099731445, \"Time in s\": 70.024579 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755274261603375, \"F1\": 0.8506329113924052, \"Memory in Mb\": 1.988790512084961, \"Time in s\": 79.720297 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.875751503006012, \"F1\": 0.8530805687203792, \"Memory in Mb\": 2.063833236694336, \"Time in s\": 90.078634 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8778625954198473, \"F1\": 0.8525345622119817, \"Memory in Mb\": 2.144712448120117, \"Time in s\": 101.258101 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8779599271402551, \"F1\": 0.8533916849015317, \"Memory in Mb\": 2.199640274047852, \"Time in s\": 113.251819 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8780487804878049, \"F1\": 0.8535564853556484, \"Memory in Mb\": 2.2528209686279297, \"Time in s\": 125.935841 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8797996661101837, \"F1\": 0.8536585365853657, \"Memory in Mb\": 2.283121109008789, \"Time in s\": 139.44840100000002 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8814102564102564, \"F1\": 0.852589641434263, \"Memory in Mb\": 2.343900680541992, \"Time in s\": 153.77905700000002 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.884437596302003, \"F1\": 0.8587570621468926, \"Memory in Mb\": 2.418844223022461, \"Time in s\": 168.92061400000003 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.884272997032641, \"F1\": 0.8617021276595745, \"Memory in Mb\": 2.468423843383789, \"Time in s\": 184.940001 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8884120171673819, \"F1\": 0.8650519031141869, \"Memory in Mb\": 2.478273391723633, \"Time in s\": 201.76583 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895027624309392, \"F1\": 0.8684210526315789, \"Memory in Mb\": 2.52436637878418, \"Time in s\": 219.457713 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8918558077436582, \"F1\": 0.8716323296354993, \"Memory in Mb\": 2.5813236236572266, \"Time in s\": 238.014124 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8914728682170543, \"F1\": 0.8707692307692307, \"Memory in Mb\": 2.6200389862060547, \"Time in s\": 257.461391 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8898623279098874, \"F1\": 0.8702064896755163, \"Memory in Mb\": 2.657014846801758, \"Time in s\": 277.779634 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8907766990291263, \"F1\": 0.872159090909091, \"Memory in Mb\": 2.706361770629883, \"Time in s\": 298.980548 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8928150765606596, \"F1\": 0.8741355463347164, \"Memory in Mb\": 2.730466842651367, \"Time in s\": 321.097396 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8958810068649885, \"F1\": 0.8771929824561403, \"Memory in Mb\": 2.753351211547852, \"Time in s\": 344.186724 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8976640711902113, \"F1\": 0.8786279683377309, \"Memory in Mb\": 2.807779312133789, \"Time in s\": 368.101507 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9004329004329005, \"F1\": 0.8829516539440204, \"Memory in Mb\": 2.8523120880126958, \"Time in s\": 392.980624 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9009483667017912, \"F1\": 0.8850855745721271, \"Memory in Mb\": 2.913583755493164, \"Time in s\": 418.83123200000006 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9024640657084188, \"F1\": 0.8867699642431467, \"Memory in Mb\": 2.943540573120117, \"Time in s\": 445.632777 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9009009009009008, \"F1\": 0.8850174216027874, \"Memory in Mb\": 2.9903697967529297, \"Time in s\": 473.399028 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8994140625, \"F1\": 0.8836158192090395, \"Memory in Mb\": 3.035707473754883, \"Time in s\": 502.224676 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9008579599618683, \"F1\": 0.8857142857142858, \"Memory in Mb\": 3.069150924682617, \"Time in s\": 532.049603 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9013035381750466, \"F1\": 0.8869936034115138, \"Memory in Mb\": 3.114839553833008, \"Time in s\": 562.838704 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9035486806187444, \"F1\": 0.8898128898128899, \"Memory in Mb\": 3.132375717163086, \"Time in s\": 594.67778 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.905693950177936, \"F1\": 0.8933601609657947, \"Memory in Mb\": 3.1889095306396484, \"Time in s\": 627.518257 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9060052219321147, \"F1\": 0.893491124260355, \"Memory in Mb\": 3.220029830932617, \"Time in s\": 661.4048929999999 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9045996592844976, \"F1\": 0.8916827852998066, \"Memory in Mb\": 3.270620346069336, \"Time in s\": 696.4079739999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9040867389491244, \"F1\": 0.8909952606635072, \"Memory in Mb\": 3.311410903930664, \"Time in s\": 732.4743999999998 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9044117647058824, \"F1\": 0.8911627906976743, \"Memory in Mb\": 3.344022750854492, \"Time in s\": 769.4892029999999 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9047237790232184, \"F1\": 0.8921124206708976, \"Memory in Mb\": 3.391061782836914, \"Time in s\": 807.5726659999999 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 2.745403 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 8.183125 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 16.539666 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 27.755785000000003 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 41.777067 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 58.637769000000006 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0440750122070312, \"Time in s\": 78.268206 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686198515404, \"F1\": 0.9090909090909092, \"Memory in Mb\": 0.0923185348510742, \"Time in s\": 101.443914 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832184981898, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972318649291992, \"Time in s\": 131.805417 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998948972620736, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 169.246217 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904452512899, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 213.148727 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124151521788, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0972814559936523, \"Time in s\": 263.357684 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191527205108, \"F1\": 0.9230769230769232, \"Memory in Mb\": 0.0973081588745117, \"Time in s\": 319.49775 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998873916144289, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091413497924804, \"Time in s\": 381.401703 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999894899103139, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091642379760742, \"Time in s\": 448.60874 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999014681249384, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1091642379760742, \"Time in s\": 520.91477 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999072642967544, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1096677780151367, \"Time in s\": 598.09858 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124164306776, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1113195419311523, \"Time in s\": 680.064697 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999170262197146, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 766.82968 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999211750177356, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 858.2478070000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999924928682248, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 954.233503 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999283410963812, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1054.7914 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999931456772071, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1159.67034 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999343128024348, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1112737655639648, \"Time in s\": 1268.4432900000002 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999369403455668, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1298818588256836, \"Time in s\": 1381.268586 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999393657659116, \"F1\": 0.888888888888889, \"Memory in Mb\": 0.1299276351928711, \"Time in s\": 1498.4984390000002 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999941611521993, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1434888839721679, \"Time in s\": 1620.0599740000002 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999436968639152, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1434888839721679, \"Time in s\": 1745.8256190000002 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999456383865472, \"F1\": 0.9032258064516128, \"Memory in Mb\": 0.1440382003784179, \"Time in s\": 1875.6542580000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248349068998, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1476888656616211, \"Time in s\": 2010.272303 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999830485489558, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1510839462280273, \"Time in s\": 2149.2802330000004 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357829050004, \"F1\": 0.7619047619047621, \"Memory in Mb\": 0.1510610580444336, \"Time in s\": 2292.3763450000006 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089111118188, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1511411666870117, \"Time in s\": 2439.4913830000005 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998145314601012, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1534147262573242, \"Time in s\": 2590.5360980000005 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998198306408024, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.1576833724975586, \"Time in s\": 2745.6113380000006 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248354182784, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 2905.2725530000007 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998295696634, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 3069.514522000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99983405473428, \"F1\": 0.75, \"Memory in Mb\": 0.1762075424194336, \"Time in s\": 3238.428366000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998383097984264, \"F1\": 0.75, \"Memory in Mb\": 0.1761388778686523, \"Time in s\": 3411.935267000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99984235210657, \"F1\": 0.75, \"Memory in Mb\": 0.1760702133178711, \"Time in s\": 3590.1136440000014 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998461972264232, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 3773.084966000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498592430404, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 3960.4867140000015 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998533509312216, \"F1\": 0.75, \"Memory in Mb\": 0.1782979965209961, \"Time in s\": 4152.338698000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998566839044082, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4348.642178000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998598687437232, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4549.410423000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999862915110182, \"F1\": 0.75, \"Memory in Mb\": 0.1783208847045898, \"Time in s\": 4754.622131000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998546511627908, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.1783475875854492, \"Time in s\": 4964.315109000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998576792967168, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.1972723007202148, \"Time in s\": 5178.776489000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998605838320144, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2118177413940429, \"Time in s\": 5398.511461000001 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998633721846788, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2117490768432617, \"Time in s\": 5623.669278000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998633807997478, \"F1\": 0.7346938775510204, \"Memory in Mb\": 0.2117490768432617, \"Time in s\": 5848.865968000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.5242718446601942, \"Memory in Mb\": 0.0028944015502929, \"Time in s\": 0.039715 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5330188679245284, \"F1\": 0.5217391304347825, \"Memory in Mb\": 0.0028944015502929, \"Time in s\": 0.180531 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5188679245283019, \"F1\": 0.5173501577287066, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.3338649999999999 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5330188679245284, \"F1\": 0.5330188679245282, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.4937739999999999 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5207547169811321, \"F1\": 0.5115384615384615, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 0.7446539999999999 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.5303514376996804, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.03169 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.522911051212938, \"F1\": 0.512396694214876, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.379859 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5235849056603774, \"F1\": 0.5061124694376529, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 1.737155 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5157232704402516, \"F1\": 0.5, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 2.173505 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5160377358490567, \"F1\": 0.4975514201762978, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 2.70321 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5154373927958834, \"F1\": 0.495985727029438, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 3.270309 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165094339622641, \"F1\": 0.4979591836734694, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 3.844268 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5195936139332366, \"F1\": 0.4977238239757208, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 4.501151 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5195417789757413, \"F1\": 0.4968242766407903, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 5.229491 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5226415094339623, \"F1\": 0.4983476536682089, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 6.030342 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5194575471698113, \"F1\": 0.4947303161810291, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 6.8837410000000006 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205327413984462, \"F1\": 0.4965034965034965, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 7.813207 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5193920335429769, \"F1\": 0.4964305326743548, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 8.751116 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.519364448857994, \"F1\": 0.4989648033126293, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 9.762632 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5174528301886793, \"F1\": 0.4997555012224939, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 10.806008 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5197663971248877, \"F1\": 0.5002337540906966, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 11.968014 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5175814751286449, \"F1\": 0.4975435462259938, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 13.16512 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5176374077112387, \"F1\": 0.4957118353344769, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 14.408045 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5196540880503144, \"F1\": 0.5008169934640523, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 15.661105 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.520377358490566, \"F1\": 0.5037094884810621, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 17.014893999999998 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.521044992743106, \"F1\": 0.5041322314049587, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 18.454389 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5213137665967854, \"F1\": 0.5032632342277013, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 19.942263 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5175202156334232, \"F1\": 0.4985994397759103, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 21.473074 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5152895250487963, \"F1\": 0.4969615124915597, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 23.106855 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5132075471698113, \"F1\": 0.4931237721021611, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 24.747764 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5130858186244674, \"F1\": 0.4927076727964489, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 26.464385 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5103183962264151, \"F1\": 0.490959239963224, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 28.215584 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5091480846197828, \"F1\": 0.4891401368640284, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 30.068049 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5097114317425083, \"F1\": 0.4876775877065816, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 31.96012 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5118598382749326, \"F1\": 0.4908630868709586, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 33.864206 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510482180293501, \"F1\": 0.4893384363039912, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 35.803291 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.50790413054564, \"F1\": 0.485881726158764, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 37.844614 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.506454816285998, \"F1\": 0.4844398340248962, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 39.968017 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5050798258345428, \"F1\": 0.4828109201213346, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 42.128298 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5068396226415094, \"F1\": 0.4848484848484848, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 44.30306 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5080533824206167, \"F1\": 0.4858104858104858, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 46.485881 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5080862533692723, \"F1\": 0.4847058823529412, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 48.746465 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5063624396665204, \"F1\": 0.4837081229921982, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 51.058035 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5051457975986278, \"F1\": 0.4829749103942652, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 53.475871000000005 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5048218029350104, \"F1\": 0.482017543859649, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 55.900409 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5036915504511895, \"F1\": 0.4802405498281787, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 58.409701000000005 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5038137294259334, \"F1\": 0.4811083123425693, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 60.970617 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5029481132075472, \"F1\": 0.4799506477483035, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 63.61249900000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5040431266846361, \"F1\": 0.4810636583400483, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 66.28843800000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5064150943396226, \"F1\": 0.4825949367088608, \"Memory in Mb\": 0.0029211044311523, \"Time in s\": 68.97313600000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9072847682119204, \"F1\": 0.90561797752809, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 0.679052 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9166666666666666, \"F1\": 0.8967874231032126, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 1.978643 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9175864606328182, \"F1\": 0.898458748866727, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 3.929769 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9268763796909492, \"F1\": 0.9098945936756204, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 6.478699 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9271523178807948, \"F1\": 0.9076664801343034, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 9.702945 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9269683590875644, \"F1\": 0.907437631149452, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 13.508006 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9274676758120468, \"F1\": 0.9089108910891088, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 17.915655 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.925496688741722, \"F1\": 0.9066390041493776, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 22.910275 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9251900907530046, \"F1\": 0.9100294985250738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 28.53571 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9266004415011038, \"F1\": 0.9135128105085184, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 34.833569000000004 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9293598233995584, \"F1\": 0.9182535996284256, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 41.779447000000005 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.931383370125092, \"F1\": 0.9217208814270724, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 49.40882500000001 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9313975208014944, \"F1\": 0.9218568665377176, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 57.61408300000001 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9290444654683064, \"F1\": 0.9191665169750316, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 66.44160400000001 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9298013245033112, \"F1\": 0.9209872453205236, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 75.85703300000002 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9305325607064018, \"F1\": 0.9222213640225536, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 85.90938600000001 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9308531359563692, \"F1\": 0.922279792746114, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 96.62160000000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9293598233995584, \"F1\": 0.9203319502074688, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 107.965593 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9279656093877076, \"F1\": 0.9176298658163944, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 119.984123 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9266004415011038, \"F1\": 0.9160141449861076, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 132.63841200000002 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9265741616734994, \"F1\": 0.915143048047136, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 146.00166900000002 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9262994180212724, \"F1\": 0.915589266218468, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 159.938555 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.923217199347346, \"F1\": 0.9122710823555212, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 174.54734100000002 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9225073583517291, \"F1\": 0.9101955977189148, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 189.73533200000003 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9217218543046356, \"F1\": 0.9087540528022232, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 205.619545 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9186619120393956, \"F1\": 0.905063918343078, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 222.161849 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9173003025100156, \"F1\": 0.902885123133791, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 239.399015 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9144985808893094, \"F1\": 0.8997643144322751, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 257.26822000000004 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.91424982872802, \"F1\": 0.8992622401073105, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 275.765482 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9138337012509198, \"F1\": 0.89909521757863, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 294.848784 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9110232856227302, \"F1\": 0.8955049132343716, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 314.617946 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9101476269315674, \"F1\": 0.8940927755417328, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 335.076303 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9094922737306844, \"F1\": 0.8931701539676272, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 356.063392 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9083235943383976, \"F1\": 0.8913093680240166, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 377.566828 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062125512456638, \"F1\": 0.8888722815933038, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 399.67833300000007 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9052918812852588, \"F1\": 0.8879294706671989, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 422.4669390000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9050474315374978, \"F1\": 0.8877050626212737, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 445.7904010000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9050772626931568, \"F1\": 0.8877901387172092, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 469.7481780000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904539536989868, \"F1\": 0.8866104144955793, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 494.2109750000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9048013245033112, \"F1\": 0.8860483551327785, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 519.3392310000002 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9045119259139612, \"F1\": 0.8854217139903738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 545.0643520000001 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9042625880374224, \"F1\": 0.8846092933388237, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 571.4397520000001 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904409877303763, \"F1\": 0.88502624266749, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 598.3711440000001 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904926750953241, \"F1\": 0.8863636363636365, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 626.0397580000001 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9055187637969097, \"F1\": 0.8878667908709827, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 654.3634580000002 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9061090315769268, \"F1\": 0.8892285916489738, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 683.2521370000002 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9063923723639096, \"F1\": 0.889810361032786, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 712.7682970000002 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9067098969830758, \"F1\": 0.8902534693104661, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 742.9022130000002 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062711177186106, \"F1\": 0.8894732648019762, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 773.7300850000001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064238410596026, \"F1\": 0.8897844569823977, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 805.1132940000001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064265536723164, \"F1\": 0.8897670549084858, \"Memory in Mb\": 0.0043582916259765, \"Time in s\": 836.4982200000001 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.56, \"F1\": 0.5217391304347826, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.003459 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7, \"F1\": 0.6341463414634146, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.050212 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7066666666666667, \"F1\": 0.676470588235294, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.100001 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.72, \"F1\": 0.702127659574468, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.153128 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.72, \"F1\": 0.7058823529411765, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.228063 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7133333333333334, \"F1\": 0.7189542483660132, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.334445 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7314285714285714, \"F1\": 0.718562874251497, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.511774 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.735, \"F1\": 0.7225130890052356, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.692607 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7244444444444444, \"F1\": 0.701923076923077, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 0.876779 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.724, \"F1\": 0.7038626609442059, \"Memory in Mb\": 0.0043668746948242, \"Time in s\": 1.156005 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7345454545454545, \"F1\": 0.7137254901960783, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 1.438242 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7366666666666667, \"F1\": 0.7127272727272725, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 1.723391 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7476923076923077, \"F1\": 0.7172413793103447, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.078902 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7542857142857143, \"F1\": 0.7225806451612904, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.437997 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7573333333333333, \"F1\": 0.723404255319149, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 2.800319 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7257142857142856, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 3.165567 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.7197802197802199, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 3.585508999999999 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7622222222222222, \"F1\": 0.7206266318537858, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.009149999999999 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7663157894736842, \"F1\": 0.7272727272727272, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.435539999999999 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.768, \"F1\": 0.7327188940092165, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 4.959426999999999 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7714285714285715, \"F1\": 0.7321428571428573, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 5.485955999999999 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7709090909090909, \"F1\": 0.7341772151898734, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 6.028689999999999 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7739130434782608, \"F1\": 0.7379032258064516, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 6.595545999999999 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.78, \"F1\": 0.7401574803149605, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 7.165257999999999 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7744, \"F1\": 0.7314285714285715, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 7.741693999999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7815384615384615, \"F1\": 0.7427536231884059, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 8.363988999999998 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837037037037037, \"F1\": 0.75, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 9.010548999999996 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.79, \"F1\": 0.7545909849749582, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 9.660288999999995 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7917241379310345, \"F1\": 0.7606973058637084, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 10.349524999999996 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.792, \"F1\": 0.7621951219512195, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 11.041959999999996 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.792258064516129, \"F1\": 0.7614814814814814, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 11.737615999999996 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.795, \"F1\": 0.7670454545454546, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 12.526707999999996 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.793939393939394, \"F1\": 0.7671232876712327, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 13.319008999999996 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7976470588235294, \"F1\": 0.7706666666666667, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 14.117527999999997 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8022857142857143, \"F1\": 0.7744458930899608, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 14.959668999999996 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8011111111111111, \"F1\": 0.7737041719342603, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 15.804425999999996 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8054054054054054, \"F1\": 0.7804878048780488, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 16.651646999999997 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8073684210526316, \"F1\": 0.7849588719153936, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 17.502014999999997 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8102564102564103, \"F1\": 0.7880870561282932, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 18.418237999999995 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.811, \"F1\": 0.7892976588628764, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 19.337672999999995 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8146341463414634, \"F1\": 0.7943722943722944, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 20.260238999999995 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8161904761904762, \"F1\": 0.7970557308096741, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 21.242111999999995 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.815813953488372, \"F1\": 0.7983706720977597, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 22.243638999999995 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8190909090909091, \"F1\": 0.8023833167825224, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 23.247954999999997 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8213333333333334, \"F1\": 0.8061716489874637, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 24.273946999999996 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8226086956521739, \"F1\": 0.8071833648393195, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 25.351544999999994 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8212765957446808, \"F1\": 0.8059149722735675, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 26.431981999999994 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8233333333333334, \"F1\": 0.8076225045372051, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 27.515220999999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8244897959183674, \"F1\": 0.8088888888888888, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 28.636604999999992 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8256, \"F1\": 0.810763888888889, \"Memory in Mb\": 0.0045804977416992, \"Time in s\": 29.761263999999997 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.720966894377299, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1.027868 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7769311613242249, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 3.106358 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7509196006305833, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 6.233245 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7900683131897005, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 10.302873 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7826589595375723, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 15.393504 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7699246803293046, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 21.578682 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7722393213722694, \"F1\": 0.0, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 28.779608 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7791644771413557, \"F1\": 0.0041469194312796, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 37.113003 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.783207800548841, \"F1\": 0.004824443848834, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 46.3898 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7891224382553862, \"F1\": 0.0044653932026792, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 56.715322 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7832131084889887, \"F1\": 0.0039508340649692, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 68.217717 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7821422315641969, \"F1\": 0.0036050470658922, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 80.77427399999999 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7877440478596548, \"F1\": 0.0034162080091098, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 94.432579 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.78188574431349, \"F1\": 0.0034299434059338, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 109.06303 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7857418111753371, \"F1\": 0.0032594524119947, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 124.719605 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7871452968996322, \"F1\": 0.0030764497769573, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 141.369597 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7866835646502427, \"F1\": 0.0028897558156335, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 159.093537 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7860979739592456, \"F1\": 0.002722199537226, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 177.829964 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7771939043615345, \"F1\": 0.0024764735017335, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 197.576045 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7831581713084603, \"F1\": 0.0024175027196905, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 218.31617 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.779496033831294, \"F1\": 0.0022644927536231, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 240.067789 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7831175655663307, \"F1\": 0.0021978021978021, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 262.83473100000003 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7791130708949257, \"F1\": 0.0020644095788604, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 286.65613700000006 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7808066211245402, \"F1\": 0.0019938191606021, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 311.45044200000007 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7799684708355229, \"F1\": 0.001906941266209, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 337.28748800000005 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7778810784591131, \"F1\": 0.0018165304268846, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 364.149506 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7807944570950351, \"F1\": 0.0021263400372109, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 392.065506 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7777193904361535, \"F1\": 0.0020222446916076, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 421.04388200000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7785891604906953, \"F1\": 0.0019603038470963, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 451.0228320000001 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7758801891749869, \"F1\": 0.0026502455374542, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 482.06238400000007 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.774159646059702, \"F1\": 0.0025454817698585, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 514.138052 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7746157383079348, \"F1\": 0.0024711098190275, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 547.227498 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7704899759550311, \"F1\": 0.0023534297778085, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 581.3499069999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.771274458285679, \"F1\": 0.002292186341266, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 616.580127 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7721942797087306, \"F1\": 0.0022358124547905, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 652.800029 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7705085537455479, \"F1\": 0.0024111675126903, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 690.043858 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7685872945988553, \"F1\": 0.0023267205486162, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 728.276014 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7687999557485411, \"F1\": 0.0022677090171271, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 767.526171 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7657140547313958, \"F1\": 0.0021806496040399, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 807.759105 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7665002627430373, \"F1\": 0.0021333932180552, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 848.897716 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7657101111210797, \"F1\": 0.0020744622775412, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 890.953712 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7636313590070816, \"F1\": 0.0020073956682514, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 933.942273 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7647777682728617, \"F1\": 0.0019703411801306, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 977.888636 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7652868676252806, \"F1\": 0.0019298156518206, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1022.739679 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7642552694575816, \"F1\": 0.0018787699001285, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1068.558668 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7644680024674998, \"F1\": 0.001839659178931, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1115.337297 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7635312664214399, \"F1\": 0.0018876828692779, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1162.988807 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7650091960063058, \"F1\": 0.0018600325505696, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1211.563326 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7647859984771628, \"F1\": 0.001820415965048, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1260.984755 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7649710982658959, \"F1\": 0.0017854751595768, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1311.295723 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"ALMA\", \"dataset\": \"SMTP\", \"Accuracy\": 0.7649859178611963, \"F1\": 0.0017854751595768, \"Memory in Mb\": 0.0030937194824218, \"Time in s\": 1361.607838 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5283018867924528, \"F1\": 0.4680851063829788, \"Memory in Mb\": 0.0055513381958007, \"Time in s\": 0.50714 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5377358490566038, \"F1\": 0.4673913043478261, \"Memory in Mb\": 0.0055513381958007, \"Time in s\": 1.544995 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5345911949685535, \"F1\": 0.4861111111111111, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 3.028568 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5188679245283019, \"F1\": 0.4659685863874345, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 4.996646 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5264150943396226, \"F1\": 0.4256292906178489, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 7.439068000000001 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5235849056603774, \"F1\": 0.3878787878787879, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 10.329429 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5363881401617251, \"F1\": 0.3629629629629629, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 13.751562000000002 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5400943396226415, \"F1\": 0.3389830508474576, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 17.710995 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5440251572327044, \"F1\": 0.3149606299212598, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 22.189814 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5518867924528302, \"F1\": 0.2962962962962963, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 27.154882 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523156089193825, \"F1\": 0.2790055248618784, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 32.629664 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5542452830188679, \"F1\": 0.2758620689655172, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 38.64774 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5566037735849056, \"F1\": 0.2611850060459492, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 45.182197 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.557277628032345, \"F1\": 0.2474226804123711, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 52.237503 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5578616352201258, \"F1\": 0.2350380848748639, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 59.74126700000001 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5595518867924528, \"F1\": 0.2259067357512953, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 67.72058500000001 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5566037735849056, \"F1\": 0.2158979391560353, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 76.17010700000002 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5545073375262054, \"F1\": 0.2115027829313543, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 85.08376800000002 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5496524329692155, \"F1\": 0.2008810572687224, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 94.42289500000004 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5466981132075471, \"F1\": 0.1944677284157585, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 104.22299500000004 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550314465408805, \"F1\": 0.2036595067621321, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 114.52672400000004 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5493138936535163, \"F1\": 0.2103681442524417, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 125.29025300000004 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479901558654635, \"F1\": 0.21173104434907, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 136.49837800000003 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5483490566037735, \"F1\": 0.2262626262626262, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 148.22051100000004 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460377358490566, \"F1\": 0.2322910019144863, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 160.35879600000004 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5395500725689405, \"F1\": 0.2304426925409338, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 173.00042100000005 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5394828791055206, \"F1\": 0.2310385064177363, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 186.18470300000004 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5411051212938005, \"F1\": 0.2305084745762711, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 199.85251500000004 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5396877033181522, \"F1\": 0.227198252321136, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 214.04388100000003 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5430817610062894, \"F1\": 0.2283590015932023, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 228.72034700000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5444309190505173, \"F1\": 0.2247540134645261, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 243.83191300000004 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5445165094339622, \"F1\": 0.224786753637732, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 259.480064 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5463121783876501, \"F1\": 0.2201474201474201, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 275.54602900000003 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548834628190899, \"F1\": 0.2167630057803468, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 292.10262700000004 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.547978436657682, \"F1\": 0.2123062470643494, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 309.14156900000006 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5474318658280922, \"F1\": 0.2074346030289123, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 326.6693460000001 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5484446710861806, \"F1\": 0.2033288349077822, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 344.5959390000001 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5489076464746773, \"F1\": 0.1992066989863376, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 363.0622570000001 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5491049830672472, \"F1\": 0.1951640759930915, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 382.0101650000001 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5483490566037735, \"F1\": 0.1909590198563582, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 401.4423870000001 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.548550391164289, \"F1\": 0.1885856079404466, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 421.3360060000001 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550763701707098, \"F1\": 0.1935483870967742, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 441.6814400000001 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5482667836770513, \"F1\": 0.1934978456717587, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 462.3969810000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5490994854202401, \"F1\": 0.1976344906524227, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 483.6474930000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.550104821802935, \"F1\": 0.1998508575689783, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 505.4107300000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5504511894995898, \"F1\": 0.2, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 527.6413840000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5503813729425934, \"F1\": 0.2062367115520907, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 550.3366250000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5479559748427673, \"F1\": 0.2041522491349481, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 573.5279610000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5462071621101271, \"F1\": 0.2023688663282571, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 597.2511250000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5464150943396227, \"F1\": 0.205026455026455, \"Memory in Mb\": 0.0055780410766601, \"Time in s\": 621.4261850000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8002207505518764, \"F1\": 0.7868080094228505, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4.395754 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8140176600441501, \"F1\": 0.7501853224610822, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 13.314942 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8005886681383371, \"F1\": 0.7262626262626262, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 26.594138 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8189845474613686, \"F1\": 0.7586460632818247, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 44.068779 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8278145695364238, \"F1\": 0.7588126159554731, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 65.924464 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8211920529801324, \"F1\": 0.7498713329902212, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 92.07692 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8222958057395143, \"F1\": 0.7575822757582275, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 122.546282 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8253311258278145, \"F1\": 0.7598634294385433, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 157.279906 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8303899926416483, \"F1\": 0.780789348549691, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 196.124663 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8364238410596027, \"F1\": 0.7958677685950413, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 238.938569 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8371462974111981, \"F1\": 0.8011273128293102, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 285.711115 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8393119941133186, \"F1\": 0.8079586676926458, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 336.134661 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422482594668025, \"F1\": 0.8114088509947219, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 390.124895 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8409019236833807, \"F1\": 0.810445237647943, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 447.475874 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8427520235467255, \"F1\": 0.8154098643862832, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 507.886031 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8438189845474614, \"F1\": 0.8177720540888602, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 571.200551 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.845214907154915, \"F1\": 0.8184587267742918, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 637.3575030000001 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397105714986509, \"F1\": 0.8108264582428716, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 706.2352450000001 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8384454513767864, \"F1\": 0.8053202660133008, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 777.6642180000001 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.840728476821192, \"F1\": 0.8082646824342281, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 851.7523750000001 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.843950383685483, \"F1\": 0.8100326316462987, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 928.4036970000002 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8412101143889223, \"F1\": 0.8075636894266431, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1007.5500400000002 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8373644303675977, \"F1\": 0.8028848950154133, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1089.2694250000002 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382542310522443, \"F1\": 0.8008155405788072, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1173.5296240000002 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8376600441501104, \"F1\": 0.7982441700960219, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1260.4177460000003 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8337578536254033, \"F1\": 0.7924748277689453, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1349.7468710000005 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8313302264737144, \"F1\": 0.7887569117345894, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1441.5955620000002 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8278539892778304, \"F1\": 0.7842711060613546, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1535.8662290000002 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8282712948161681, \"F1\": 0.784486052732136, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1632.5910050000002 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8285504047093452, \"F1\": 0.785431439359057, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1731.7068200000003 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.825357829523606, \"F1\": 0.7809192013935414, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1833.2277320000003 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8246412803532008, \"F1\": 0.7785135488368041, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 1936.9708820000003 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8228644056458626, \"F1\": 0.7766343315056937, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2042.9068730000004 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227827554863005, \"F1\": 0.775599128540305, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2150.889688 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8180384736676127, \"F1\": 0.7686632988533396, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2260.9522580000003 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8156119695854795, \"F1\": 0.765426320305796, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2373.012802 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8136746017540719, \"F1\": 0.7636955205811137, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2487.1515040000004 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8108516323922389, \"F1\": 0.7597934341571375, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2603.2748090000005 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.811031867323258, \"F1\": 0.7582811425261557, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2721.3856460000006 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8123344370860928, \"F1\": 0.7585643792821898, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2841.498866000001 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8119312981209282, \"F1\": 0.7567887480852249, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 2963.634415000001 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8118364343529907, \"F1\": 0.7562636165577343, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3087.755988000001 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8128497356127111, \"F1\": 0.7583601232890332, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3213.7594090000007 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8136162954043749, \"F1\": 0.7616297722168751, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3341.6530200000007 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8154034829531518, \"F1\": 0.7662732919254659, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3471.3422760000008 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8169929935694404, \"F1\": 0.7702641645832705, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3602.9648230000007 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8180216993095675, \"F1\": 0.7720681236579698, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3737.0799900000006 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8185936350257542, \"F1\": 0.7730894238789657, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 3873.415774000001 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8179708969680587, \"F1\": 0.7710051290770494, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4011.612716000001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8190949227373069, \"F1\": 0.7729350807680585, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4151.679177000001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8190986935028248, \"F1\": 0.7728922505749037, \"Memory in Mb\": 0.0068016052246093, \"Time in s\": 4291.771713000001 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.68, \"F1\": 0.6923076923076923, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.149754 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8, \"F1\": 0.782608695652174, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.457736 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8266666666666667, \"F1\": 0.8219178082191781, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 0.892069 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.83, \"F1\": 0.8210526315789473, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 1.419094 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.816, \"F1\": 0.8067226890756303, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 2.091236 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.82, \"F1\": 0.8187919463087249, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 2.916232 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8285714285714286, \"F1\": 0.8170731707317075, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 3.840025 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.825, \"F1\": 0.8128342245989306, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 4.910046 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8222222222222222, \"F1\": 0.8058252427184465, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 6.121922 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.824, \"F1\": 0.8103448275862069, \"Memory in Mb\": 0.0068025588989257, \"Time in s\": 7.479490999999999 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8254545454545454, \"F1\": 0.8110236220472441, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 8.920382 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8366666666666667, \"F1\": 0.8191881918819188, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 10.509974 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8461538461538461, \"F1\": 0.8251748251748252, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 12.191812 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514285714285714, \"F1\": 0.8289473684210525, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 13.999137 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8506666666666667, \"F1\": 0.8271604938271606, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 15.959285 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8525, \"F1\": 0.8269794721407624, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 18.058664 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8564705882352941, \"F1\": 0.828169014084507, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 20.312993 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86, \"F1\": 0.8301886792452831, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 22.675489 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8589473684210527, \"F1\": 0.830379746835443, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 25.19503 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.858, \"F1\": 0.8329411764705883, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 27.784241 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8283752860411898, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 30.514065 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8618181818181818, \"F1\": 0.8354978354978354, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 33.400870999999995 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8626086956521739, \"F1\": 0.8364389233954452, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 36.397646 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8666666666666667, \"F1\": 0.8387096774193549, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 39.57675499999999 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672, \"F1\": 0.8362919132149901, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 42.828696 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8707692307692307, \"F1\": 0.8432835820895522, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 46.253182 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8725925925925926, \"F1\": 0.8485915492957746, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 49.816151 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8771428571428571, \"F1\": 0.8522336769759451, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 53.516545 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786206896551724, \"F1\": 0.8566775244299674, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 57.35818 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88, \"F1\": 0.8589341692789968, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 61.281034000000005 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812903225806452, \"F1\": 0.8597560975609757, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 65.347537 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88125, \"F1\": 0.8613138686131386, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 69.566336 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812121212121212, \"F1\": 0.8623595505617978, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 73.91498000000001 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8823529411764706, \"F1\": 0.8630136986301369, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 78.39968800000001 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8857142857142857, \"F1\": 0.8663101604278075, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 83.02084100000002 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844444444444445, \"F1\": 0.8645833333333334, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 87.71921500000002 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864864864864865, \"F1\": 0.8682559598494354, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 92.55798800000002 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8863157894736842, \"F1\": 0.8695652173913043, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 97.51738800000004 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871794871794871, \"F1\": 0.8702830188679245, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 102.59954100000004 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888, \"F1\": 0.871264367816092, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 107.87282600000005 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878048780487805, \"F1\": 0.8715083798882682, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 113.28564700000004 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8895238095238095, \"F1\": 0.8739130434782609, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 118.79277100000004 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8883720930232558, \"F1\": 0.8736842105263158, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 124.46348200000004 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89, \"F1\": 0.8756423432682425, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 130.26843700000003 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8915555555555555, \"F1\": 0.8784860557768924, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 136.21796400000002 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8913043478260869, \"F1\": 0.878048780487805, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 142.31432400000003 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8902127659574468, \"F1\": 0.876555023923445, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 148.52290000000002 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8908333333333334, \"F1\": 0.8769953051643193, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 154.887447 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8914285714285715, \"F1\": 0.8776448942042319, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 161.410896 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896, \"F1\": 0.8761220825852785, \"Memory in Mb\": 0.0070161819458007, \"Time in s\": 167.984219 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.996847083552286, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 9.012274 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9984235417761428, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 26.992092 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.998949027850762, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 53.749217 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992117708880714, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 89.545782 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993694167104572, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 133.365466 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 185.067425 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995495833646124, \"F1\": 0.0, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 243.739666 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774566473988, \"F1\": 0.5217391304347826, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 308.57406100000003 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993577392421324, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 378.971453 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999421965317919, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 454.798992 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 535.937031 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995183044315992, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 622.51799 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995553579368608, \"F1\": 0.5925925925925927, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 714.221122 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995495833646124, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 811.098386 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796111403048, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 912.878884 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1019.269091 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99962906865321, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1129.962426 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999649675950254, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1244.872652 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996681140581354, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1363.91764 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847083552286, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1487.072194 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997222430748, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1614.171257 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999713371232026, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1745.093316 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997258333523726, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 1880.714485 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2020.289668 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997477666841827, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2163.67936 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997574679655604, \"F1\": 0.5714285714285714, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2310.817497 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997275257390864, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2461.472155 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2615.677493 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997463170674252, \"F1\": 0.5333333333333333, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2773.449537 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999597127342792, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 2934.793173 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99961012323496, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3099.649087 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996223068838676, \"F1\": 0.4102564102564102, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3268.0999800000004 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996019044889248, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3440.0722140000003 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996136131804272, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3615.503218 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246528038436, \"F1\": 0.3902439024390244, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3794.437889 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 3977.094501000001 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996165371887916, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4163.174128000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996266283154024, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4352.606393000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996362019483408, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4545.416162000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999645296899632, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4741.562007000001 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999653948194763, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 4941.079189000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996621875234591, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5143.951781000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996700436275648, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5350.231536 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996775426360291, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5559.929647 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847083552286, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5773.003953 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996915625214192, \"F1\": 0.3720930232558139, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 5989.467769000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996869444661844, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6209.264779000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934664564724, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6432.452666000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997222430748, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6658.918178000001 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057277982132, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 6888.546542000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"sklearn SGDClassifier\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057463533566, \"F1\": 0.3636363636363636, \"Memory in Mb\": 0.0057430267333984, \"Time in s\": 7118.179378000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.16057 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5283018867924528, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.37729 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5314465408805031, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.7064710000000001 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5400943396226415, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.0774430000000002 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5547169811320755, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.492379 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5550314465408805, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.9966470000000005 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5660377358490566, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.539797 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5636792452830188, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.1757850000000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5649895178197065, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.855114 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5707547169811321, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.635951 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5686106346483705, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.458947 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5644654088050315, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.34328 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5682148040638607, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.308669 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5680592991913747, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.359952 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5679245283018868, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.451883 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5683962264150944, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.590847 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5643729189789123, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 11.83715 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.560272536687631, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 13.126962 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5551142005958292, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 14.497203999999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509433962264151, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.938437999999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5512129380053908, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 17.424999 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5506003430531733, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 19.022886 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.551681706316653, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.666828 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487421383647799, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 22.355416 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5467924528301886, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 24.051772 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5471698113207547, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 25.858309 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5489168413696716, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 27.751459 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5505390835579514, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 29.665552 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487963565387117, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 31.686176 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509433962264151, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 33.740652 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5517346317711503, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 35.89104 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5498231132075472, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 38.079414 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5514579759862779, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 40.353903 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5535516093229744, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 42.668922 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5522911051212938, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 45.086801 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5516247379454927, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 47.540759 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5525242223355431, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 50.094246 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5528798411122146, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 52.697211 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5529753265602322, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 55.369587 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523584905660377, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 58.109436 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5526921306948919, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 60.894093 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5530098831985625, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 63.717346 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5508995173321632, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 66.643891 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5497427101200686, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 69.6601 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5505241090146751, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 72.725555 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5518867924528302, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 75.798736 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5509835407466881, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 78.970205 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5511006289308176, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 82.150165 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5514054678475163, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 85.416127 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5513207547169812, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 88.72481 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6799116997792495, \"F1\": 0.5482866043613708, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.820242 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7190949227373068, \"F1\": 0.4904904904904904, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.329863 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6986754966887417, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.585071 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7047461368653422, \"F1\": 0.4478844169246646, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.424633 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7024282560706402, \"F1\": 0.4118673647469459, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.992865 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7041942604856513, \"F1\": 0.4165457184325108, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.263433 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6986754966887417, \"F1\": 0.4048582995951417, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.287068 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.695364238410596, \"F1\": 0.3953997809419496, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.004014 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6873926907039489, \"F1\": 0.4084474355999072, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 32.433812 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6864238410596026, \"F1\": 0.4240827082911007, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 39.59982599999999 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.687537627934979, \"F1\": 0.4433321415802646, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 47.447315 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6938925680647535, \"F1\": 0.4717460317460317, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 55.964905 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6932416369502462, \"F1\": 0.4715518502267076, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 65.217817 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6944970040996531, \"F1\": 0.4755717959128434, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 75.258293 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6942604856512141, \"F1\": 0.4842993670100534, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 85.993354 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6935016556291391, \"F1\": 0.4860613071139387, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 97.389046 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6929619529931178, \"F1\": 0.480957084842498, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 109.49806 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6904586705911209, \"F1\": 0.4713028906577293, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 122.273049 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6921691646334379, \"F1\": 0.4645852278468223, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 135.723897 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.694205298013245, \"F1\": 0.4685911575716888, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 150.008391 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6967307894460212, \"F1\": 0.467515688445921, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 164.94785199999998 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6958157736303432, \"F1\": 0.4737435986459509, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 180.578389 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6933966791438718, \"F1\": 0.4696604963891426, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 196.972492 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6968359087564385, \"F1\": 0.4670978172999191, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 214.037594 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6977041942604857, \"F1\": 0.4643667370726746, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 231.758696 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6952368823229751, \"F1\": 0.4573285962657797, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 250.247632 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6978170223203336, \"F1\": 0.4597281099254495, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 269.425119 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6976505834121728, \"F1\": 0.4612250632200056, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 289.286378 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6983329527289336, \"F1\": 0.4614757439869547, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 309.833587 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6959896983075791, \"F1\": 0.4576304561864129, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 331.075152 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.695649077832372, \"F1\": 0.4559572301425662, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 353.085242 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6952262693156733, \"F1\": 0.4515207945375543, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 375.713328 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6939260151180681, \"F1\": 0.4465678863017841, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 399.011341 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6941630957018569, \"F1\": 0.4433020150091591, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 423.007885 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6917376222011984, \"F1\": 0.4368266405484819, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 447.820686 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6893549178317391, \"F1\": 0.4316805025802109, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 473.259187 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.688353916830738, \"F1\": 0.4290944860374884, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 499.4094079999999 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6863599395840595, \"F1\": 0.4245363461948412, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 526.1781749999999 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6869304352748061, \"F1\": 0.4212013394725827, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 553.6489789999999 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6911147902869758, \"F1\": 0.4267718148299877, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 581.8684239999999 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6919722177354224, \"F1\": 0.4269831730769231, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 610.7708879999999 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6944181646168401, \"F1\": 0.431171118285882, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 640.2659799999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6937727809435803, \"F1\": 0.4308206106870229, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 670.4759659999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6930814770218744, \"F1\": 0.4344288818009522, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 701.3646249999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6924208977189109, \"F1\": 0.4391771019677997, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 733.0001779999998 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6933966791438718, \"F1\": 0.4472227028897733, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 765.3741459999998 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6956225635244939, \"F1\": 0.4550767290309018, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 798.4329459999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6962150478292862, \"F1\": 0.4576097220511558, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 832.1587539999998 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6963103122043519, \"F1\": 0.4557564992733731, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 866.6068249999998 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.697439293598234, \"F1\": 0.4596278189560006, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 901.80814 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Elec2\", \"Accuracy\": 0.6974752824858758, \"F1\": 0.4595915792793503, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 937.011341 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.52, \"F1\": 0.3333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.00395 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.56, \"F1\": 0.2142857142857142, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.0784219999999999 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5866666666666667, \"F1\": 0.3404255319148936, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.1562489999999999 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6, \"F1\": 0.375, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.2373179999999999 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.64, \"F1\": 0.4705882352941176, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.4181319999999999 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.62, \"F1\": 0.4466019417475728, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.6021909999999999 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6342857142857142, \"F1\": 0.4181818181818181, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 0.7890869999999999 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.63, \"F1\": 0.4126984126984127, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.012096 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6488888888888888, \"F1\": 0.4316546762589928, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.2378889999999998 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.648, \"F1\": 0.4358974358974359, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.4692909999999997 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6618181818181819, \"F1\": 0.4561403508771929, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.7531039999999996 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6733333333333333, \"F1\": 0.4615384615384615, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.040874 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.683076923076923, \"F1\": 0.4663212435233161, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.33165 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6942857142857143, \"F1\": 0.4780487804878048, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 2.715045 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7013333333333334, \"F1\": 0.4909090909090909, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.101519 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.705, \"F1\": 0.4913793103448276, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.491013 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7105882352941176, \"F1\": 0.4896265560165975, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.92315 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7222222222222222, \"F1\": 0.5098039215686275, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.358171 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7157894736842105, \"F1\": 0.5054945054945055, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 4.796033 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.718, \"F1\": 0.5252525252525252, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.248043999999999 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7257142857142858, \"F1\": 0.5294117647058824, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 5.702586999999999 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7218181818181818, \"F1\": 0.5233644859813085, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.159983 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7217391304347827, \"F1\": 0.5209580838323353, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 6.620335 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7283333333333334, \"F1\": 0.5275362318840581, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.113508 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7376, \"F1\": 0.5340909090909091, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.613357 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7369230769230769, \"F1\": 0.5415549597855228, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.116107 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7333333333333333, \"F1\": 0.5477386934673367, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 8.713363 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.74, \"F1\": 0.5560975609756097, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.313647 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.743448275862069, \"F1\": 0.5753424657534246, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 9.917033 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7453333333333333, \"F1\": 0.5820568927789934, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 10.613639 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7470967741935484, \"F1\": 0.5847457627118644, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 11.313363 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.74625, \"F1\": 0.5915492957746479, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.015877 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7490909090909091, \"F1\": 0.602687140115163, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.766805 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7541176470588236, \"F1\": 0.6122448979591837, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 13.520246 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7554285714285714, \"F1\": 0.6123188405797102, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 14.2887 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7566666666666667, \"F1\": 0.6123893805309735, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.059985 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.76, \"F1\": 0.6237288135593221, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 15.877357000000002 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7589473684210526, \"F1\": 0.6288492706645057, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 16.697524 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7610256410256411, \"F1\": 0.631911532385466, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 17.562951 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.761, \"F1\": 0.6328725038402457, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 18.43148 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7609756097560976, \"F1\": 0.635958395245171, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 19.325245 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7638095238095238, \"F1\": 0.6436781609195402, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 20.222005 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7665116279069767, \"F1\": 0.651872399445215, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 21.121639 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.77, \"F1\": 0.6594885598923284, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 22.071389 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.768, \"F1\": 0.6597131681877444, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 23.024294 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7695652173913043, \"F1\": 0.6615581098339719, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 23.980116 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7702127659574468, \"F1\": 0.6633416458852868, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 24.939110000000003 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7741666666666667, \"F1\": 0.6691086691086692, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 25.901192 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7771428571428571, \"F1\": 0.6746126340882003, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.865956 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7736, \"F1\": 0.6697782963827306, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 27.833412 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1.287853 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 3.780599 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 7.576109 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 12.534125 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 18.771881 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 26.322128 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 35.214625 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774566473988, \"F1\": 0.0, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 45.441498 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999299351900508, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 56.927386 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993694167104572, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 69.74153799999999 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999426742464052, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 83.765543 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474513925381, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 99.065492 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999514935931121, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 115.581943 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995120486449968, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 133.361343 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995445787353302, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 152.36548100000002 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999573042564372, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 172.57866 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995981577076444, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 193.969825 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996204822794418, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 216.600052 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996404568963132, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 240.511883 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996584340514976, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 265.709607 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996746990966644, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 292.142637 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996894855013616, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 319.878347 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999702986131737, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 348.79444399999994 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997153617095814, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 378.9697039999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999726747241198, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 410.4053809999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372569626904, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 443.057614 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080632918784, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 477.025323 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997184896028828, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 512.247669 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997281968579556, \"F1\": 0.1176470588235294, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 548.612896 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796111403048, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 586.233337 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995931720712626, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 625.057298 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058854440356, \"F1\": 0.1428571428571428, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 665.0820319999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999585980668482, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 706.1803269999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995981577076444, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 748.3509649999999 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996096389159972, \"F1\": 0.1333333333333333, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 791.6670189999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912886086296, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 836.0877649999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996023348624504, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 881.7116259999999 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127997344912, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 928.538605 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996227279464274, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 976.409207 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321597477666, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1025.3623619999998 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996411314612358, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1075.4142359999998 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999649675950254, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1126.58116 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996578230211784, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1178.778759 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999665599770697, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1231.992839 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996730308869036, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1286.303482 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801389111014, \"F1\": 0.125, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1341.617815 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996757639114052, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1397.839199 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996825188299177, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1455.075933 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996889980374704, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1513.261041 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999695218076721, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1572.312523 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Vowpal Wabbit logistic regression\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999695237294548, \"F1\": 0.1212121212121212, \"Memory in Mb\": 0.0006465911865234, \"Time in s\": 1631.370354 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5333333333333333, \"F1\": 0.4615384615384615, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.089081 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.5026737967914437, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.244558 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.555205047318612, \"F1\": 0.5154639175257733, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.453937 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5626477541371159, \"F1\": 0.5066666666666667, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 0.76271 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5689981096408318, \"F1\": 0.4818181818181818, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 1.109688 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5716535433070866, \"F1\": 0.4645669291338582, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 1.619873 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5870445344129555, \"F1\": 0.4555160142348755, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 2.197835 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5962219598583235, \"F1\": 0.4554140127388535, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 2.834188 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002098635886673, \"F1\": 0.4454148471615721, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 3.5547570000000004 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6090651558073654, \"F1\": 0.4405405405405405, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 4.339157 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6068669527896996, \"F1\": 0.4260651629072681, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 5.220598 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6136900078678206, \"F1\": 0.433679354094579, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 6.139897 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143790849673203, \"F1\": 0.419672131147541, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 7.157157999999999 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6142953472690492, \"F1\": 0.4127310061601643, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 8.301379999999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6135934550031467, \"F1\": 0.4061895551257253, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 9.487101 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6141592920353982, \"F1\": 0.4010989010989011, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 10.730798 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.614658523042754, \"F1\": 0.4037800687285223, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 12.063669 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6151022548505506, \"F1\": 0.4080645161290322, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 13.448557 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6100347739692003, \"F1\": 0.4048521607278241, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 14.939018 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608305804624823, \"F1\": 0.4071428571428571, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 16.439687 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089887640449438, \"F1\": 0.4089673913043478, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 18.077419 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6096096096096096, \"F1\": 0.4098573281452659, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 19.752885 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6101764464505539, \"F1\": 0.4084682440846824, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 21.52049 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6114825009830909, \"F1\": 0.4153846153846153, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 23.348549 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6100415251038127, \"F1\": 0.41273450824332, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 25.279207 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6076225045372051, \"F1\": 0.4070213933077345, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 27.31295 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085284865431667, \"F1\": 0.4092827004219409, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 29.37924 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6083586113919784, \"F1\": 0.4065372829417773, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 31.545651 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.60624796615685, \"F1\": 0.4062806673209028, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 33.733231 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6071091538219566, \"F1\": 0.4077761972498815, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 36.007059 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6063926940639269, \"F1\": 0.4049700874367234, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 38.312687 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6048363314656443, \"F1\": 0.4060283687943262, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 40.720334 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6065198741778668, \"F1\": 0.4053586862575626, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 43.213056 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6086594504579517, \"F1\": 0.4090528080469404, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 45.745916 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085198166621731, \"F1\": 0.4078303425774878, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 48.41046399999999 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6070773263433814, \"F1\": 0.4049225883287018, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 51.18183799999999 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6067329762815609, \"F1\": 0.4027885360185902, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 54.01538599999999 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6088899925502855, \"F1\": 0.405436013590034, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 56.94241999999999 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6106944108395839, \"F1\": 0.4078027235921972, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 59.88324999999999 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.611936777541873, \"F1\": 0.4118698605648909, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 62.92792699999999 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6131185270425776, \"F1\": 0.4128536500174642, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 66.00451999999999 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6137946528869916, \"F1\": 0.413510747185261, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 69.16846599999998 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6122448979591837, \"F1\": 0.4115884115884116, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 72.34300699999999 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6126956894702981, \"F1\": 0.4124918672739102, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 75.66876099999999 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143845669951772, \"F1\": 0.4130226619853175, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 79.08375899999999 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6153846153846154, \"F1\": 0.4131455399061033, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 82.54849799999998 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6163420999799237, \"F1\": 0.4168446750076289, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 86.09394899999998 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6150973068606251, \"F1\": 0.4141232794733692, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 89.70897599999998 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6146735990756788, \"F1\": 0.4133685136323659, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 93.40231399999998 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6152104170598226, \"F1\": 0.4139120436907157, \"Memory in Mb\": 0.0140247344970703, \"Time in s\": 97.15397799999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8187845303867404, \"F1\": 0.8284518828451883, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 0.90253 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8023191606847045, \"F1\": 0.7475317348377998, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 2.668728 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.784688995215311, \"F1\": 0.706177800100452, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 5.38565 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8032017664918576, \"F1\": 0.7356321839080461, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 8.965856 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7979686465003312, \"F1\": 0.7073872721458268, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 13.460125 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7937442502299908, \"F1\": 0.6972724817715366, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 18.947959 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7982967986122063, \"F1\": 0.7065840789171829, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 25.368016 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.790396025941769, \"F1\": 0.6875128574367414, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 32.74734 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7841285416411137, \"F1\": 0.6888260254596887, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 41.092102 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7897118887294403, \"F1\": 0.7086710506193606, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 50.330249 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.793176116407426, \"F1\": 0.7240594457089301, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 60.487048 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7960629196946003, \"F1\": 0.7361656551231703, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 71.57583 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.792137216608644, \"F1\": 0.7295027624309391, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 83.57396899999999 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7820704880548766, \"F1\": 0.7260111022997621, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 96.505859 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7858562072264331, \"F1\": 0.7383564107174968, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 110.378561 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7866850638151086, \"F1\": 0.7435727317963178, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 125.162828 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.785728199467567, \"F1\": 0.738593155893536, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 140.864825 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7806463481940271, \"F1\": 0.7274666666666666, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 157.49451299999998 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7788880497298554, \"F1\": 0.7181158346911569, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 175.04662 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7728903361112645, \"F1\": 0.7138983522213725, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 193.534389 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7701445466491459, \"F1\": 0.7094931242941608, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 212.921569 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7628317696051378, \"F1\": 0.702236220472441, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 233.287368 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7537553390603254, \"F1\": 0.6903626817934946, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 254.638983 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7508163546888654, \"F1\": 0.6836389115964032, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 276.932282 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7509823833281822, \"F1\": 0.6798001589644601, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 300.189673 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7457015495648482, \"F1\": 0.668217569513681, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 324.33764 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7466170638976329, \"F1\": 0.665839982747466, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 349.45202499999994 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7447865336854969, \"F1\": 0.6611180904522613, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 375.51598899999993 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7448711605069843, \"F1\": 0.6581322996888865, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 402.576751 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.741123661650539, \"F1\": 0.650402464473815, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 430.58128099999993 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7390065871461634, \"F1\": 0.6440019426906265, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 459.5402439999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7358145631402849, \"F1\": 0.6343280019097637, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 489.4018749999999 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7320466936481921, \"F1\": 0.6243023964732918, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 520.249024 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7297990455475116, \"F1\": 0.6158319870759289, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 552.052505 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7256930209088902, \"F1\": 0.6059617649723658, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 584.838155 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7215391690939752, \"F1\": 0.596427301813011, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 618.5052350000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7176695205990274, \"F1\": 0.5867248908296943, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 653.1230730000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7142359194818021, \"F1\": 0.5779493779493778, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 688.6949970000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7138369229898395, \"F1\": 0.5724554949469323, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 725.19325 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7174866856149452, \"F1\": 0.5752924583091347, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 762.649856 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7169740207295733, \"F1\": 0.5716148486206756, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 801.028112 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7183516858952459, \"F1\": 0.573859795618116, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 840.263393 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7206407064198989, \"F1\": 0.5799529121154812, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 880.2889349999999 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7217720693374808, \"F1\": 0.5866964784795975, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 921.221106 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7228776766660944, \"F1\": 0.5923065819861432, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 962.947955 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.724127174565087, \"F1\": 0.5973170817134251, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1005.542302 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7260280406754186, \"F1\": 0.6013259517462921, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1049.006993 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7277117299422816, \"F1\": 0.6045222270465248, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1093.33419 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7273894532921857, \"F1\": 0.6015933631814591, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1138.520645 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7287136581381487, \"F1\": 0.6038234630387828, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1184.586595 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7287413652314008, \"F1\": 0.6037845330582509, \"Memory in Mb\": 0.0510377883911132, \"Time in s\": 1230.65543 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.005899 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7636363636363637, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.034194 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.8048780487804877, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.070237 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.819047619047619, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.1191769999999999 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8217054263565893, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.172458 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.830188679245283, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.294112 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8323699421965318, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.432822 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.83248730964467, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.620751 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8240740740740741, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 0.8126760000000001 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.825, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.097418 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8244274809160306, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.386748 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.8285714285714285, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 1.708109 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8299319727891157, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.034368 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8322580645161292, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.472974 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8529411764705882, \"F1\": 0.8318042813455658, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 2.916035 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8546365914786967, \"F1\": 0.8313953488372093, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 3.458949 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8291316526610645, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 4.00711 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8596881959910914, \"F1\": 0.8310991957104559, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 4.560221 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.8291457286432161, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 5.117465 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8577154308617234, \"F1\": 0.8337236533957845, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 5.6788810000000005 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8587786259541985, \"F1\": 0.8310502283105022, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 6.3168120000000005 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.8311688311688311, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 6.9590250000000005 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8606271777003485, \"F1\": 0.8340248962655602, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 7.670201 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8647746243739566, \"F1\": 0.8363636363636363, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 8.386169 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669871794871795, \"F1\": 0.8356435643564357, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 9.138945 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8705701078582434, \"F1\": 0.8426966292134833, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 9.901064000000002 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.870919881305638, \"F1\": 0.8465608465608465, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 10.713223 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755364806866953, \"F1\": 0.8502581755593803, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 11.569231 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8562091503267973, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 12.458796 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798397863818425, \"F1\": 0.8584905660377359, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 13.352328 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798449612403101, \"F1\": 0.8580152671755725, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 14.337352 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798498122653317, \"F1\": 0.8596491228070174, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 15.326948 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798543689320388, \"F1\": 0.860759493670886, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 16.325159 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8602739726027396, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 17.375421 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832951945080092, \"F1\": 0.8636363636363635, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 18.429913 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8809788654060067, \"F1\": 0.8608582574772432, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 19.528877 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8820346320346321, \"F1\": 0.8635794743429286, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 20.632714 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819810326659642, \"F1\": 0.8650602409638554, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 21.817705 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8829568788501027, \"F1\": 0.8661971830985915, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 23.016963 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8808808808808809, \"F1\": 0.8643101482326111, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 24.246233 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880859375, \"F1\": 0.8647450110864746, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 25.480751 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882745471877979, \"F1\": 0.8673139158576052, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 26.819711 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8817504655493482, \"F1\": 0.8672936259143157, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 28.162914 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8835304822565969, \"F1\": 0.8693877551020409, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 29.538844 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861209964412812, \"F1\": 0.8735177865612648, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 30.932979 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8859878154917319, \"F1\": 0.8731848983543079, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 32.425237 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8850085178875639, \"F1\": 0.8717948717948718, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 33.921729 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865721434528774, \"F1\": 0.8731343283582089, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 35.452877 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.886437908496732, \"F1\": 0.8728270814272644, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 36.988201 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8847077662129704, \"F1\": 0.8714285714285714, \"Memory in Mb\": 0.057229995727539, \"Time in s\": 38.528021 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 1.286863 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 3.863138 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 7.731956 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 13.024672 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 19.659339000000003 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 27.654251 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0107755661010742, \"Time in s\": 36.976608 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372397030808, \"F1\": 0.7777777777777778, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 47.719054 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664369963798, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 59.951688 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997897945241474, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 73.68853899999999 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089050257978, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 88.86509 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248303043572, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 105.535247 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999838305441022, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 123.661746 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998498554859052, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 143.18039199999998 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999859865470852, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 164.12799199999998 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686241665844, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 186.627363 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998763523956724, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 210.517492 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832219075702, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 235.832236 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998893682929528, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 262.657063 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998949000236474, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 290.942762 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998999049096642, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 320.716469 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904454795175, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 352.027934 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999908609029428, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 384.764181 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124170699132, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 419.010574 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999159204607558, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 454.738206 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191543545486, \"F1\": 0.8333333333333333, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 491.833824 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999026858699884, \"F1\": 0.8275862068965517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 530.367488 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999061614398588, \"F1\": 0.8275862068965517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 570.267553 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998912767730946, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 611.572363 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869221741492, \"F1\": 0.4444444444444444, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 654.167087 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9988473013289938, \"F1\": 0.2916666666666666, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 698.17064 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9986369981115034, \"F1\": 0.2522522522522523, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 743.490298 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9979139463040224, \"F1\": 0.1761006289308176, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 790.115891 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9979443903494536, \"F1\": 0.1739130434782608, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 838.025404 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9977478830100296, \"F1\": 0.1573033707865168, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 887.160342 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9967302611411972, \"F1\": 0.125, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 937.511304 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9964777730436016, \"F1\": 0.1142857142857143, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 989.136144 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9964045192427364, \"F1\": 0.1095890410958904, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1041.952402 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9958230031260106, \"F1\": 0.0935672514619883, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1095.894331 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9956515456062218, \"F1\": 0.0881542699724517, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1151.054816 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9951936633257288, \"F1\": 0.0786240786240786, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1207.299045 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9946700031279324, \"F1\": 0.0698689956331877, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1264.68116 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9945862052109302, \"F1\": 0.0673684210526315, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1323.182614 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9945539883675102, \"F1\": 0.0655737704918032, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1382.690018 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9939860335847912, \"F1\": 0.0585009140767824, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1443.251394 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9938540274398254, \"F1\": 0.0561403508771929, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1504.7859910000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9938618067978532, \"F1\": 0.0550774526678141, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1567.3680330000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9939677917300724, \"F1\": 0.0548885077186964, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1630.9013820000002 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993543958990198, \"F1\": 0.0504731861198738, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1695.428307 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993483904192372, \"F1\": 0.0490797546012269, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1760.949483 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Naive Bayes\", \"dataset\": \"SMTP\", \"Accuracy\": 0.993484315064894, \"F1\": 0.0490797546012269, \"Memory in Mb\": 0.0201406478881835, \"Time in s\": 1826.472109 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4952380952380952, \"F1\": 0.208955223880597, \"Memory in Mb\": 0.0192251205444335, \"Time in s\": 0.143993 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5213270142180095, \"F1\": 0.3129251700680272, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 0.331364 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5299684542586751, \"F1\": 0.4063745019920318, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 0.6339969999999999 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5437352245862884, \"F1\": 0.4238805970149253, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 1.026482 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.553875236294896, \"F1\": 0.4099999999999999, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 1.502748 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5590551181102362, \"F1\": 0.4017094017094017, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 2.038539 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5762483130904184, \"F1\": 0.3984674329501916, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 2.585217 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5867768595041323, \"F1\": 0.4047619047619047, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 3.2443470000000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5918153200419727, \"F1\": 0.3987635239567234, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 4.029044000000001 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6015108593012276, \"F1\": 0.3971428571428571, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 4.857172 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6, \"F1\": 0.3852242744063324, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 5.757943 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6073957513768686, \"F1\": 0.3966142684401451, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 6.7312840000000005 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085693536673928, \"F1\": 0.384, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 7.793338 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089008766014835, \"F1\": 0.3790149892933619, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 8.86628 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6085588420390182, \"F1\": 0.3742454728370221, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 10.05345 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6094395280235988, \"F1\": 0.370722433460076, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 11.283728 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6102165463631316, \"F1\": 0.3754448398576512, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 12.570083 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.610907184058731, \"F1\": 0.3816666666666667, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 13.875162 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6060606060606061, \"F1\": 0.3799843627834245, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 15.24589 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6045304388862671, \"F1\": 0.3838235294117647, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 16.723857 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6053932584269663, \"F1\": 0.3868715083798882, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 18.213202 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6061776061776062, \"F1\": 0.388814913448735, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 19.838043 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.606893721789085, \"F1\": 0.388250319284802, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 21.528239 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608336610302792, \"F1\": 0.3963636363636363, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 23.295102 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6070215175537939, \"F1\": 0.3944153577661431, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 25.108421 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6047186932849364, \"F1\": 0.3892316320807628, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 26.99552 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6057322614470465, \"F1\": 0.3922413793103448, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 28.904989 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6056622851365016, \"F1\": 0.3899895724713243, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 30.87684 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6036446469248291, \"F1\": 0.3903903903903904, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 32.946938 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6045926391947153, \"F1\": 0.3924601256645723, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 35.112766 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6039573820395738, \"F1\": 0.3900609470229723, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 37.308874 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6024771453848422, \"F1\": 0.391696750902527, \"Memory in Mb\": 0.0192480087280273, \"Time in s\": 39.588614 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030883614526737, \"F1\": 0.3933566433566433, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 41.900558 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6069941715237303, \"F1\": 0.4035383319292334, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 44.30438 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6079805877595039, \"F1\": 0.4079804560260586, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 46.776579 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6107470511140236, \"F1\": 0.4146629877808436, \"Memory in Mb\": 0.0348339080810546, \"Time in s\": 49.299973 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6123437898495282, \"F1\": 0.4180704441041348, \"Memory in Mb\": 0.0440921783447265, \"Time in s\": 51.9923 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6143531164638689, \"F1\": 0.4246017043349389, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 54.748055 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.617227195741592, \"F1\": 0.4321608040201005, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 57.554127 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6218447747110167, \"F1\": 0.4439819632327437, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 60.441345 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6239355581127733, \"F1\": 0.4513096037609133, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 63.387968 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6259267580319029, \"F1\": 0.4567699836867862, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 66.368103 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6276058810621022, \"F1\": 0.4638230647709321, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 69.45485500000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6283508470941453, \"F1\": 0.4695439240893787, \"Memory in Mb\": 0.0502567291259765, \"Time in s\": 72.676145 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6288530090165653, \"F1\": 0.471641791044776, \"Memory in Mb\": 0.0594196319580078, \"Time in s\": 75.94439200000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6311794871794871, \"F1\": 0.475801749271137, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 79.31100500000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6336077092953222, \"F1\": 0.484026010743568, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 82.69585900000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6361313151169649, \"F1\": 0.4905037159372419, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 86.19871000000002 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6383593298671288, \"F1\": 0.495703544575725, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 89.82165300000003 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6421966408756369, \"F1\": 0.5034049240440022, \"Memory in Mb\": 0.0594654083251953, \"Time in s\": 93.53024900000004 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530386740331491, \"F1\": 0.8513966480446927, \"Memory in Mb\": 0.1757516860961914, \"Time in s\": 1.081486 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8663721700717836, \"F1\": 0.8393094289508632, \"Memory in Mb\": 0.2084512710571289, \"Time in s\": 3.208731 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8365844681634156, \"F1\": 0.809278350515464, \"Memory in Mb\": 0.2330217361450195, \"Time in s\": 6.394793 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8459839911675407, \"F1\": 0.8210391276459269, \"Memory in Mb\": 0.2330217361450195, \"Time in s\": 10.694791 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8511812762199161, \"F1\": 0.8157463094587206, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 16.02834 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404783808647655, \"F1\": 0.8020095912308747, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 22.571918 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8334647531935025, \"F1\": 0.7966884867154409, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 30.238204 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8330343590451221, \"F1\": 0.7912353347135956, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 38.961308 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8344167790997179, \"F1\": 0.8013537374926426, \"Memory in Mb\": 0.2329683303833007, \"Time in s\": 48.732242 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8403797328623468, \"F1\": 0.8129849974133472, \"Memory in Mb\": 0.2980508804321289, \"Time in s\": 59.636444 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398394380331159, \"F1\": 0.8171402383134739, \"Memory in Mb\": 0.2981653213500976, \"Time in s\": 71.55266999999999 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.840493054916751, \"F1\": 0.8200124558854057, \"Memory in Mb\": 0.2981653213500976, \"Time in s\": 84.613385 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404517279442982, \"F1\": 0.8184014690248381, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 98.771271 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397066939998423, \"F1\": 0.8184983483617534, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 114.088656 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422253293104717, \"F1\": 0.8228684732319893, \"Memory in Mb\": 0.3811311721801758, \"Time in s\": 130.484857 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8440841669541221, \"F1\": 0.8259128023417038, \"Memory in Mb\": 0.3823747634887695, \"Time in s\": 148.034702 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8445555483410169, \"F1\": 0.8246153846153847, \"Memory in Mb\": 0.3824014663696289, \"Time in s\": 166.630313 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382903047770895, \"F1\": 0.8146221441124781, \"Memory in Mb\": 0.4081621170043945, \"Time in s\": 186.33286 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8345436588624876, \"F1\": 0.8052516411378555, \"Memory in Mb\": 0.4081621170043945, \"Time in s\": 207.149801 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8332689442022186, \"F1\": 0.8030253635000325, \"Memory in Mb\": 0.408848762512207, \"Time in s\": 229.10312700000003 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8340604467805519, \"F1\": 0.8008327550312283, \"Memory in Mb\": 0.4101419448852539, \"Time in s\": 252.195562 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8288595655009784, \"F1\": 0.7951228302000121, \"Memory in Mb\": 0.4740419387817383, \"Time in s\": 276.349221 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8238230071507414, \"F1\": 0.787570163763671, \"Memory in Mb\": 0.4986543655395508, \"Time in s\": 301.796373 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8251391252357081, \"F1\": 0.7858028169014086, \"Memory in Mb\": 0.498814582824707, \"Time in s\": 328.42960500000004 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245838668373879, \"F1\": 0.7828843106180666, \"Memory in Mb\": 0.4754457473754883, \"Time in s\": 356.18046400000003 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.81761834005519, \"F1\": 0.7712703652433182, \"Memory in Mb\": 0.5000581741333008, \"Time in s\": 385.033694 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8151342954090184, \"F1\": 0.7656509121061359, \"Memory in Mb\": 0.5002222061157227, \"Time in s\": 415.059878 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8133401663578665, \"F1\": 0.7649540828989824, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 446.384667 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8142199215925094, \"F1\": 0.7659329592864336, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 478.875266 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8130909893667906, \"F1\": 0.7650758416574177, \"Memory in Mb\": 0.5574884414672852, \"Time in s\": 512.642228 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.810646252447926, \"F1\": 0.7611605137878379, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 547.6069200000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8084233037839329, \"F1\": 0.755846667838931, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 583.7938770000001 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8039602635715958, \"F1\": 0.7488322262695523, \"Memory in Mb\": 0.5575571060180664, \"Time in s\": 621.109455 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8052787066194851, \"F1\": 0.7498540328634582, \"Memory in Mb\": 0.6720895767211914, \"Time in s\": 659.6567610000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.802863540319783, \"F1\": 0.7460285215130216, \"Memory in Mb\": 0.6720895767211914, \"Time in s\": 699.5069490000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8010731258623333, \"F1\": 0.7451889089623752, \"Memory in Mb\": 0.6838197708129883, \"Time in s\": 740.492735 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8010500880045345, \"F1\": 0.7469934367768125, \"Memory in Mb\": 0.7644319534301758, \"Time in s\": 782.6537000000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.799663055160194, \"F1\": 0.7444893120438633, \"Memory in Mb\": 0.7656755447387695, \"Time in s\": 825.979857 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7997056576005434, \"F1\": 0.7438746335637508, \"Memory in Mb\": 0.796971321105957, \"Time in s\": 870.4262610000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.798283617097602, \"F1\": 0.7418420680887131, \"Memory in Mb\": 0.8215837478637695, \"Time in s\": 916.052417 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7980347287656482, \"F1\": 0.741577678263865, \"Memory in Mb\": 0.8528566360473633, \"Time in s\": 962.729846 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7942761031247536, \"F1\": 0.7384913476314559, \"Memory in Mb\": 0.8296480178833008, \"Time in s\": 1010.431184 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.791975768154632, \"F1\": 0.7385131646876614, \"Memory in Mb\": 0.8296480178833008, \"Time in s\": 1059.228611 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7917617841105787, \"F1\": 0.7414904549842734, \"Memory in Mb\": 0.8308916091918945, \"Time in s\": 1109.092208 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7937158134857367, \"F1\": 0.7465187775031646, \"Memory in Mb\": 0.8308916091918945, \"Time in s\": 1159.935967 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7945770845830834, \"F1\": 0.749744219357479, \"Memory in Mb\": 0.8553438186645508, \"Time in s\": 1211.819823 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7952373124163359, \"F1\": 0.7509355271802782, \"Memory in Mb\": 0.8799333572387695, \"Time in s\": 1264.739744 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7953871271874353, \"F1\": 0.7515912897822445, \"Memory in Mb\": 0.881199836730957, \"Time in s\": 1318.691004 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7949676750839096, \"F1\": 0.7499038303016982, \"Memory in Mb\": 0.881199836730957, \"Time in s\": 1373.745004 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7956246274752202, \"F1\": 0.7508745492707605, \"Memory in Mb\": 0.9384660720825196, \"Time in s\": 1429.8385990000002 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.7956346141113637, \"F1\": 0.7508341405661393, \"Memory in Mb\": 0.9384660720825196, \"Time in s\": 1485.976427 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.007366 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7346938775510203, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.021904 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7894736842105262, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.108104 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.8080808080808081, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.262464 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8130081300813008, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.426996 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.670297 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8263473053892215, \"Memory in Mb\": 0.0684270858764648, \"Time in s\": 0.944361 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.8272251308900525, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 1.225091 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8190476190476189, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 1.620606 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.8205128205128206, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 2.072395 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8203125000000001, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 2.536963 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.8248175182481753, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 3.035956 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8263888888888888, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 3.5418380000000003 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 4.130076000000001 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8529411764705882, \"F1\": 0.8286604361370716, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 4.770647 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8546365914786967, \"F1\": 0.8284023668639053, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 5.418701 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8262108262108262, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 6.103302 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8596881959910914, \"F1\": 0.8283378746594006, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 6.878701 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.826530612244898, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 7.659851000000001 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8577154308617234, \"F1\": 0.8313539192399049, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 8.471725000000001 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8587786259541985, \"F1\": 0.8287037037037036, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 9.290161 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 10.200081 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8606271777003485, \"F1\": 0.8319327731092437, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 11.144835 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8647746243739566, \"F1\": 0.834355828220859, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 12.149797 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669871794871795, \"F1\": 0.8336673346693387, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 13.191129 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8705701078582434, \"F1\": 0.8409090909090909, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 14.297317 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.870919881305638, \"F1\": 0.8449197860962566, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 15.408972 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8755364806866953, \"F1\": 0.8486956521739131, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 16.598807 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8547854785478548, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 17.82593 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798397863818425, \"F1\": 0.8571428571428571, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 19.123649 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798449612403101, \"F1\": 0.8567026194144837, \"Memory in Mb\": 0.0684499740600586, \"Time in s\": 20.439518 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798498122653317, \"F1\": 0.8584070796460177, \"Memory in Mb\": 0.0060701370239257, \"Time in s\": 21.870793 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8786407766990292, \"F1\": 0.8575498575498576, \"Memory in Mb\": 0.1326732635498047, \"Time in s\": 23.308925 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8579387186629527, \"Memory in Mb\": 0.1326961517333984, \"Time in s\": 24.793982 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8810068649885584, \"F1\": 0.8583106267029972, \"Memory in Mb\": 0.1326961517333984, \"Time in s\": 26.327422 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882091212458287, \"F1\": 0.8590425531914893, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 27.867454 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8831168831168831, \"F1\": 0.8611825192802056, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 29.49699 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880927291886196, \"F1\": 0.8599752168525404, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 31.132602 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819301848049281, \"F1\": 0.8609431680773881, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 32.858381 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828828828828829, \"F1\": 0.8621908127208481, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 34.600804000000004 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8818359375, \"F1\": 0.8613974799541809, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 36.37479200000001 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836987607244995, \"F1\": 0.8641425389755011, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 38.236126000000006 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8845437616387337, \"F1\": 0.8658008658008659, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 40.114172 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844404003639672, \"F1\": 0.8656084656084656, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 41.998405000000005 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816725978647687, \"F1\": 0.8630278063851698, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 43.96255500000001 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807658833768495, \"F1\": 0.8614762386248735, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 45.93298000000001 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879045996592845, \"F1\": 0.8594059405940594, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 47.92952100000001 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807339449541285, \"F1\": 0.8610301263362489, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 50.02063300000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880718954248366, \"F1\": 0.8609523809523809, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 52.11693600000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8799039231385108, \"F1\": 0.8605947955390334, \"Memory in Mb\": 0.1327190399169922, \"Time in s\": 54.27575100000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 1.086226 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 3.167363 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 6.335451 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 10.587829 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 15.968691 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 22.515101 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0170211791992187, \"Time in s\": 30.177580000000003 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.0262222290039062, \"Time in s\": 38.907943 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 48.927066 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 60.172540000000005 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 72.66801500000001 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 86.48422800000002 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 101.518721 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 117.73184500000002 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 135.114956 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 153.67141 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 173.49434000000002 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 194.59387200000003 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 216.90021000000004 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 240.42103000000003 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 265.208452 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 291.209442 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 318.43843100000004 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 346.89099000000004 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 376.5294080000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 407.49804200000005 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 439.6062170000001 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 472.95335100000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 507.474024 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 543.2100710000001 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 580.098547 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 618.1800870000001 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 657.2504170000001 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 697.447209 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 738.7766780000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 781.207926 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 824.7260210000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 869.3947840000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 915.176721 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 961.985028 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1009.890756 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1058.848202 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1108.7919539999998 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1159.7893379999998 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1211.840415 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1264.8087919999998 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1318.8158339999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1373.8298589999995 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1429.7685149999998 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1486.6476859999998 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.0170440673828125, \"Time in s\": 1543.5553739999998 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5714285714285714, \"F1\": 0.628099173553719, \"Memory in Mb\": 0.0256843566894531, \"Time in s\": 0.216494 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.5903083700440529, \"Memory in Mb\": 0.0257682800292968, \"Time in s\": 0.463954 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5615141955835962, \"F1\": 0.5947521865889213, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 0.862573 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.5822222222222222, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 1.389833 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.555765595463138, \"F1\": 0.5506692160611854, \"Memory in Mb\": 0.0258293151855468, \"Time in s\": 1.964112 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.5291181364392679, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 2.693957 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5708502024291497, \"F1\": 0.5167173252279634, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 3.480128 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5761511216056671, \"F1\": 0.510231923601637, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 4.453125999999999 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.505, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 5.580188 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4953271028037382, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 6.755147 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.478688524590164, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 8.08575 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4807302231237322, \"Memory in Mb\": 0.0258903503417968, \"Time in s\": 9.558451000000002 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.4661508704061895, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 11.087295 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.458029197080292, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 12.740385000000002 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.4517241379310345, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 14.490633000000004 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.4459016393442623, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 16.383274000000004 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6018878400888396, \"F1\": 0.445475638051044, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 18.381747000000004 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.4470416362308254, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 20.420329 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.443526170798898, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 22.615668000000003 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5960358659745163, \"F1\": 0.4427083333333333, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 24.891681 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5968539325842697, \"F1\": 0.4425108763206961, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 27.295309000000003 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5975975975975976, \"F1\": 0.4423305588585017, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 29.792211 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5982765695527288, \"F1\": 0.4396107613050944, \"Memory in Mb\": 0.0259513854980468, \"Time in s\": 32.414577 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5973259929217459, \"F1\": 0.4398249452954048, \"Memory in Mb\": 0.0302915573120117, \"Time in s\": 35.17394 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5956964892412231, \"F1\": 0.4436363636363636, \"Memory in Mb\": 0.0567083358764648, \"Time in s\": 38.067898 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4497512437810945, \"Memory in Mb\": 0.0569524765014648, \"Time in s\": 41.158639 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.600139811254806, \"F1\": 0.4536771728748806, \"Memory in Mb\": 0.0571966171264648, \"Time in s\": 44.452629 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5979103471520054, \"F1\": 0.4525011473152822, \"Memory in Mb\": 0.0573034286499023, \"Time in s\": 47.888765 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971363488447771, \"F1\": 0.4497777777777778, \"Memory in Mb\": 0.0574254989624023, \"Time in s\": 51.476908 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008178672538534, \"F1\": 0.4499349804941482, \"Memory in Mb\": 0.0574865341186523, \"Time in s\": 55.178717 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6024353120243531, \"F1\": 0.4470787468247248, \"Memory in Mb\": 0.0576086044311523, \"Time in s\": 59.035765 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012975523444412, \"F1\": 0.444991789819376, \"Memory in Mb\": 0.0576696395874023, \"Time in s\": 63.084021 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.603946239633972, \"F1\": 0.4431041415359871, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 67.283017 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.607826810990841, \"F1\": 0.4452296819787986, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 71.628079 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6071717444055001, \"F1\": 0.441976254308694, \"Memory in Mb\": 0.0577306747436523, \"Time in s\": 76.17092 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6062909567496724, \"F1\": 0.4378742514970059, \"Memory in Mb\": 0.0577917098999023, \"Time in s\": 80.84267399999999 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.606988013261923, \"F1\": 0.4353242946134115, \"Memory in Mb\": 0.0578527450561523, \"Time in s\": 85.696272 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6088899925502855, \"F1\": 0.4360902255639098, \"Memory in Mb\": 0.0578527450561523, \"Time in s\": 90.658573 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6082748608758771, \"F1\": 0.4341139461726669, \"Memory in Mb\": 0.0579137802124023, \"Time in s\": 95.895015 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6105213493748526, \"F1\": 0.4370951244459598, \"Memory in Mb\": 0.0579137802124023, \"Time in s\": 101.21739399999998 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6119677790563867, \"F1\": 0.4372496662216288, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 106.75825799999998 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.614243990114581, \"F1\": 0.4387054593004249, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 112.41943399999998 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6126837831906956, \"F1\": 0.4355612408058842, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 118.261679 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.613339052112374, \"F1\": 0.4360337816703159, \"Memory in Mb\": 0.0579748153686523, \"Time in s\": 124.266912 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6148039421262319, \"F1\": 0.4352905010759299, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 130.389994 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157948717948718, \"F1\": 0.4332829046898639, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 136.677955 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6167436257779563, \"F1\": 0.434705359786793, \"Memory in Mb\": 0.0641164779663086, \"Time in s\": 143.134937 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6158836249262827, \"F1\": 0.4313154831199068, \"Memory in Mb\": 0.0641775131225586, \"Time in s\": 149.736273 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6160215674947044, \"F1\": 0.4296338672768878, \"Memory in Mb\": 0.0642385482788086, \"Time in s\": 156.525598 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6165314210228345, \"F1\": 0.4282498593134496, \"Memory in Mb\": 0.0618467330932617, \"Time in s\": 163.516222 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8386740331491712, \"F1\": 0.8370535714285713, \"Memory in Mb\": 0.1553249359130859, \"Time in s\": 2.212895 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8823854224185533, \"F1\": 0.857334226389819, \"Memory in Mb\": 0.2904033660888672, \"Time in s\": 6.521798 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8715495031284505, \"F1\": 0.8438478747203579, \"Memory in Mb\": 0.1283740997314453, \"Time in s\": 13.845606 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.875241512558653, \"F1\": 0.8472972972972973, \"Memory in Mb\": 0.2500133514404297, \"Time in s\": 22.913433 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737028041510267, \"F1\": 0.8396860986547084, \"Memory in Mb\": 0.3712940216064453, \"Time in s\": 34.075607999999995 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8656853725850966, \"F1\": 0.8300744878957169, \"Memory in Mb\": 0.4407672882080078, \"Time in s\": 47.709684 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8646901119697209, \"F1\": 0.8296943231441047, \"Memory in Mb\": 0.2620487213134765, \"Time in s\": 63.50523799999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.864771629639851, \"F1\": 0.8289703315881326, \"Memory in Mb\": 0.2866535186767578, \"Time in s\": 81.25362299999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8572304673126456, \"F1\": 0.8312064965197217, \"Memory in Mb\": 0.2866878509521484, \"Time in s\": 101.144105 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8580417264598742, \"F1\": 0.8370501773948302, \"Memory in Mb\": 0.2865924835205078, \"Time in s\": 123.033084 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8544907175112895, \"F1\": 0.8369320737741789, \"Memory in Mb\": 0.3109416961669922, \"Time in s\": 147.021637 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8583386992916935, \"F1\": 0.8434322895485971, \"Memory in Mb\": 0.371591567993164, \"Time in s\": 172.950216 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8529336842999066, \"F1\": 0.8357982555934774, \"Memory in Mb\": 0.4628047943115234, \"Time in s\": 201.490822 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533469999211543, \"F1\": 0.8362099330750264, \"Memory in Mb\": 0.1895275115966797, \"Time in s\": 232.642586 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8551769813820002, \"F1\": 0.8395303326810176, \"Memory in Mb\": 0.1939334869384765, \"Time in s\": 265.763258 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.855122456019317, \"F1\": 0.8397435897435896, \"Memory in Mb\": 0.1697406768798828, \"Time in s\": 300.834382 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537757288487761, \"F1\": 0.8365984617617181, \"Memory in Mb\": 0.1694965362548828, \"Time in s\": 338.213883 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8506776231066413, \"F1\": 0.8316626339440029, \"Memory in Mb\": 0.1640834808349609, \"Time in s\": 377.804328 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8495904258409341, \"F1\": 0.8278704873346187, \"Memory in Mb\": 0.1691112518310547, \"Time in s\": 419.462025 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8498261493459904, \"F1\": 0.827752104830031, \"Memory in Mb\": 0.198678970336914, \"Time in s\": 463.148728 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8522996057818659, \"F1\": 0.8287211995611362, \"Memory in Mb\": 0.2572231292724609, \"Time in s\": 508.959572 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8470222266820531, \"F1\": 0.8238895627563102, \"Memory in Mb\": 0.315378189086914, \"Time in s\": 557.675148 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8434035609732687, \"F1\": 0.8200121352529097, \"Memory in Mb\": 0.3239650726318359, \"Time in s\": 609.8923100000001 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450535804626776, \"F1\": 0.8196563353139554, \"Memory in Mb\": 0.3222179412841797, \"Time in s\": 664.4541280000001 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8452911828336792, \"F1\": 0.8184455958549223, \"Memory in Mb\": 0.4409503936767578, \"Time in s\": 721.910691 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8424962852897474, \"F1\": 0.8143700590413289, \"Memory in Mb\": 0.4440975189208984, \"Time in s\": 782.4177400000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8403990024937655, \"F1\": 0.8111089607122121, \"Memory in Mb\": 0.5018138885498047, \"Time in s\": 845.9758730000001 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8367169945204399, \"F1\": 0.8072053621299572, \"Memory in Mb\": 0.5608501434326172, \"Time in s\": 913.002536 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8375137974346287, \"F1\": 0.8080226649278229, \"Memory in Mb\": 0.3154354095458984, \"Time in s\": 983.555265 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8378527539644579, \"F1\": 0.8096081565645656, \"Memory in Mb\": 0.315774917602539, \"Time in s\": 1056.640488 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8349652839594089, \"F1\": 0.8051456678017405, \"Memory in Mb\": 0.187021255493164, \"Time in s\": 1131.521461 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8328791693973991, \"F1\": 0.8007566722868775, \"Memory in Mb\": 0.2230243682861328, \"Time in s\": 1208.700577 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8303843194969395, \"F1\": 0.7968267959453503, \"Memory in Mb\": 0.104043960571289, \"Time in s\": 1288.239999 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8300490211992338, \"F1\": 0.7958984755740965, \"Memory in Mb\": 0.2261257171630859, \"Time in s\": 1369.046902 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8277460657857391, \"F1\": 0.7934815486993346, \"Memory in Mb\": 0.378305435180664, \"Time in s\": 1451.951614 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227502682814656, \"F1\": 0.7867025790502896, \"Memory in Mb\": 0.1292285919189453, \"Time in s\": 1536.962592 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8198442767220548, \"F1\": 0.7850354180756772, \"Memory in Mb\": 0.1289234161376953, \"Time in s\": 1623.2849270000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8166264850262875, \"F1\": 0.7809127190699289, \"Memory in Mb\": 0.1940555572509765, \"Time in s\": 1710.9311020000002 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8170265757224124, \"F1\": 0.7804530172852923, \"Memory in Mb\": 0.3470821380615234, \"Time in s\": 1800.2335220000002 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8175446342338365, \"F1\": 0.7795559111822364, \"Memory in Mb\": 0.4078502655029297, \"Time in s\": 1890.9592170000003 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.816610580158837, \"F1\": 0.7771817349208426, \"Memory in Mb\": 0.4166545867919922, \"Time in s\": 1983.256251 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8155107618722242, \"F1\": 0.7753456221198157, \"Memory in Mb\": 0.1291065216064453, \"Time in s\": 2077.01254 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8146674538593834, \"F1\": 0.7751479289940829, \"Memory in Mb\": 0.2005825042724609, \"Time in s\": 2172.116472 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8157188370167825, \"F1\": 0.7778516995282448, \"Memory in Mb\": 0.169626235961914, \"Time in s\": 2268.811937 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8171650028207706, \"F1\": 0.7812151452891106, \"Memory in Mb\": 0.2508678436279297, \"Time in s\": 2366.696648 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8187402519496101, \"F1\": 0.7846022241231821, \"Memory in Mb\": 0.2554492950439453, \"Time in s\": 2465.8461540000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8196848359597003, \"F1\": 0.7859015113490603, \"Memory in Mb\": 0.3113727569580078, \"Time in s\": 2566.2285070000003 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8203141168625107, \"F1\": 0.7864093592827466, \"Memory in Mb\": 0.2909717559814453, \"Time in s\": 2667.8448940000003 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8199265649989863, \"F1\": 0.7853959731543624, \"Memory in Mb\": 0.4365749359130859, \"Time in s\": 2771.03508 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8212543323252169, \"F1\": 0.7873854475750336, \"Memory in Mb\": 0.4353275299072265, \"Time in s\": 2875.842657 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8212575312837942, \"F1\": 0.7873440987265327, \"Memory in Mb\": 0.4353275299072265, \"Time in s\": 2980.68937 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.6428571428571429, \"Memory in Mb\": 0.0747642517089843, \"Time in s\": 0.008848 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7346938775510203, \"Memory in Mb\": 0.0748252868652343, \"Time in s\": 0.123836 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7894736842105262, \"Memory in Mb\": 0.0748252868652343, \"Time in s\": 0.332733 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.8080808080808081, \"Memory in Mb\": 0.0748863220214843, \"Time in s\": 0.575353 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8225806451612904, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.0748863220214843, \"Time in s\": 0.909775 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.825503355704698, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.0749092102050781, \"Time in s\": 1.284417 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8242424242424242, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 1.765942 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8291457286432161, \"F1\": 0.8191489361702128, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 2.25515 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8155339805825242, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 2.805996 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.817391304347826, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 3.45663 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8174603174603176, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 4.129749 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8361204013377926, \"F1\": 0.8178438661710038, \"Memory in Mb\": 0.0749702453613281, \"Time in s\": 4.871246 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8425925925925926, \"F1\": 0.8197879858657244, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 5.6743250000000005 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8481375358166189, \"F1\": 0.822742474916388, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 6.528728000000001 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8502673796791443, \"F1\": 0.8227848101265823, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 7.451788 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8521303258145363, \"F1\": 0.8228228228228228, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 8.382915 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8537735849056604, \"F1\": 0.8208092485549133, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 9.397859 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8574610244988864, \"F1\": 0.8232044198895027, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 10.451359 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8565400843881856, \"F1\": 0.8238341968911918, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 11.619284 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8557114228456913, \"F1\": 0.8260869565217391, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 12.854081 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8568702290076335, \"F1\": 0.823529411764706, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 14.155744 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561020036429873, \"F1\": 0.8240534521158129, \"Memory in Mb\": 0.0750312805175781, \"Time in s\": 15.508673 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554006968641115, \"F1\": 0.8230277185501066, \"Memory in Mb\": 0.1140928268432617, \"Time in s\": 16.956902 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8547579298831386, \"F1\": 0.8176100628930818, \"Memory in Mb\": 0.1419858932495117, \"Time in s\": 18.498415 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8573717948717948, \"F1\": 0.8172484599589321, \"Memory in Mb\": 0.1422224044799804, \"Time in s\": 20.046891 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8597842835130971, \"F1\": 0.8233009708737864, \"Memory in Mb\": 0.1423902511596679, \"Time in s\": 21.659211 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8590504451038575, \"F1\": 0.8263254113345521, \"Memory in Mb\": 0.1424512863159179, \"Time in s\": 23.289464 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8640915593705293, \"F1\": 0.8306595365418894, \"Memory in Mb\": 0.1425123214721679, \"Time in s\": 25.025232 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8646408839779005, \"F1\": 0.8344594594594595, \"Memory in Mb\": 0.1425733566284179, \"Time in s\": 26.77059 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8664886515353805, \"F1\": 0.8371335504885993, \"Memory in Mb\": 0.1426343917846679, \"Time in s\": 28.602532 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8643410852713178, \"F1\": 0.8330683624801273, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 30.506622 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8635794743429287, \"F1\": 0.8340943683409437, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 32.425334 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8628640776699029, \"F1\": 0.8345534407027819, \"Memory in Mb\": 0.1426572799682617, \"Time in s\": 34.352118 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8645465253239105, \"F1\": 0.8364153627311521, \"Memory in Mb\": 0.1427183151245117, \"Time in s\": 36.371837 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672768878718535, \"F1\": 0.838888888888889, \"Memory in Mb\": 0.1427183151245117, \"Time in s\": 38.48177 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8665183537263627, \"F1\": 0.8378378378378378, \"Memory in Mb\": 0.1427793502807617, \"Time in s\": 40.637242 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8668831168831169, \"F1\": 0.8400520156046815, \"Memory in Mb\": 0.1427793502807617, \"Time in s\": 42.878637 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8661749209694415, \"F1\": 0.8410513141426783, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 45.126806 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.86652977412731, \"F1\": 0.8414634146341464, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 47.480371 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8638638638638638, \"F1\": 0.8392434988179669, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 49.860964 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8623046875, \"F1\": 0.8377445339470656, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 52.359728 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8636796949475691, \"F1\": 0.8402234636871508, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 54.917309 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649906890130353, \"F1\": 0.8429035752979415, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 57.530035 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671519563239308, \"F1\": 0.8456659619450316, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 60.237019 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8701067615658363, \"F1\": 0.8507157464212679, \"Memory in Mb\": 0.1428403854370117, \"Time in s\": 62.977514 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8720626631853786, \"F1\": 0.852852852852853, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 65.816825 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8713798977853492, \"F1\": 0.8521057786483839, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 68.70086099999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.872393661384487, \"F1\": 0.8530259365994236, \"Memory in Mb\": 0.1429014205932617, \"Time in s\": 71.69850399999999 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8733660130718954, \"F1\": 0.8541862652869238, \"Memory in Mb\": 0.1429624557495117, \"Time in s\": 74.74610599999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8742994395516414, \"F1\": 0.8560953253895509, \"Memory in Mb\": 0.1429624557495117, \"Time in s\": 77.86495099999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0237245559692382, \"Time in s\": 1.538486 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0237855911254882, \"Time in s\": 4.672632 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 9.280899 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 15.518128 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0238466262817382, \"Time in s\": 23.359252 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0239076614379882, \"Time in s\": 32.724381 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0239076614379882, \"Time in s\": 43.566998 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.0331544876098632, \"Time in s\": 56.059492 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.023930549621582, \"Time in s\": 70.315874 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.023930549621582, \"Time in s\": 86.215201 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 103.810178 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 123.100461 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 144.232391 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 167.059054 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 191.625058 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 217.971038 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 246.1385 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 276.028821 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 307.727155 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 341.140461 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.023991584777832, \"Time in s\": 376.24707 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 412.982235 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 451.376836 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 491.342412 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 532.9409959999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 576.05932 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 620.875381 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 667.2134759999999 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 715.0678459999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 764.41064 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 815.214443 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 867.5634849999999 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 921.307598 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 976.50125 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1033.066349 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1090.838953 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1149.858677 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1210.07507 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1271.441242 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1333.994434 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1397.762471 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1462.67416 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.024052619934082, \"Time in s\": 1528.680001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1595.853878 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1664.0432529999998 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1733.3243249999998 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1803.716354 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1875.203937 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 1947.740223 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 2021.343945 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.024113655090332, \"Time in s\": 2094.94949 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.638095238095238, \"F1\": 0.5777777777777778, \"Memory in Mb\": 0.6023197174072266, \"Time in s\": 1.25138 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7535545023696683, \"F1\": 0.711111111111111, \"Memory in Mb\": 1.087297439575195, \"Time in s\": 3.920593 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7760252365930599, \"F1\": 0.7380073800738007, \"Memory in Mb\": 1.471883773803711, \"Time in s\": 8.005582 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8085106382978723, \"F1\": 0.7768595041322315, \"Memory in Mb\": 1.8271961212158203, \"Time in s\": 13.704046000000002 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8204158790170132, \"F1\": 0.7845804988662132, \"Memory in Mb\": 2.2761096954345703, \"Time in s\": 21.017212 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8362204724409449, \"F1\": 0.8052434456928838, \"Memory in Mb\": 2.6539440155029297, \"Time in s\": 30.07026 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8434547908232118, \"F1\": 0.8110749185667754, \"Memory in Mb\": 3.06672477722168, \"Time in s\": 40.88011 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8512396694214877, \"F1\": 0.8220338983050847, \"Memory in Mb\": 3.4897289276123047, \"Time in s\": 53.580909000000005 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8583420776495279, \"F1\": 0.8301886792452831, \"Memory in Mb\": 3.93476676940918, \"Time in s\": 68.252368 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8659112370160529, \"F1\": 0.8378995433789953, \"Memory in Mb\": 4.283300399780273, \"Time in s\": 84.83204500000001 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8695278969957082, \"F1\": 0.8429752066115702, \"Memory in Mb\": 4.800313949584961, \"Time in s\": 103.574646 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8693941778127459, \"F1\": 0.8442776735459662, \"Memory in Mb\": 5.391313552856445, \"Time in s\": 124.497156 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714596949891068, \"F1\": 0.8454148471615721, \"Memory in Mb\": 5.846994400024414, \"Time in s\": 147.830368 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759271746459879, \"F1\": 0.8518518518518519, \"Memory in Mb\": 6.193078994750977, \"Time in s\": 173.44391299999998 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8753933291378225, \"F1\": 0.8520179372197308, \"Memory in Mb\": 6.296388626098633, \"Time in s\": 201.557429 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755162241887906, \"F1\": 0.8523442967109867, \"Memory in Mb\": 6.211141586303711, \"Time in s\": 232.060182 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8767351471404775, \"F1\": 0.8550913838120104, \"Memory in Mb\": 6.65928840637207, \"Time in s\": 264.912691 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8730991085474568, \"F1\": 0.8522588522588523, \"Memory in Mb\": 6.686662673950195, \"Time in s\": 300.275827 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8708395429706905, \"F1\": 0.8507462686567164, \"Memory in Mb\": 7.210599899291992, \"Time in s\": 338.470819 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725814063237376, \"F1\": 0.8540540540540541, \"Memory in Mb\": 7.48176383972168, \"Time in s\": 378.991608 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8723595505617977, \"F1\": 0.8539094650205761, \"Memory in Mb\": 7.915548324584961, \"Time in s\": 421.86917 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8751608751608752, \"F1\": 0.8574228319451249, \"Memory in Mb\": 8.423246383666992, \"Time in s\": 467.302026 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8740254411161263, \"F1\": 0.8560712611345522, \"Memory in Mb\": 8.870996475219727, \"Time in s\": 515.200386 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.874557609123083, \"F1\": 0.857779759251003, \"Memory in Mb\": 9.376256942749023, \"Time in s\": 565.505493 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8761796904492262, \"F1\": 0.8600682593856656, \"Memory in Mb\": 9.769472122192385, \"Time in s\": 618.233402 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8780399274047187, \"F1\": 0.8621821164889254, \"Memory in Mb\": 10.359186172485352, \"Time in s\": 673.368122 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8797623208668298, \"F1\": 0.8638163103721298, \"Memory in Mb\": 10.741575241088867, \"Time in s\": 730.824809 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8800134816312774, \"F1\": 0.8637059724349159, \"Memory in Mb\": 11.09235954284668, \"Time in s\": 790.5343869999999 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8805727302310445, \"F1\": 0.8648250460405157, \"Memory in Mb\": 11.562868118286133, \"Time in s\": 852.458144 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8826675055048757, \"F1\": 0.8667381207574134, \"Memory in Mb\": 10.152639389038086, \"Time in s\": 916.443171 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.882496194824962, \"F1\": 0.8663434903047091, \"Memory in Mb\": 10.670488357543944, \"Time in s\": 982.391476 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8826304924800944, \"F1\": 0.867244829886591, \"Memory in Mb\": 11.057397842407228, \"Time in s\": 1050.1851049999998 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8839004861309694, \"F1\": 0.8680961663417803, \"Memory in Mb\": 10.33408546447754, \"Time in s\": 1119.7824649999998 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850957535387177, \"F1\": 0.8689043698543382, \"Memory in Mb\": 10.692270278930664, \"Time in s\": 1191.1920959999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8846050148287948, \"F1\": 0.8687116564417178, \"Memory in Mb\": 11.112970352172852, \"Time in s\": 1264.4750769999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8859764089121888, \"F1\": 0.870420017873101, \"Memory in Mb\": 11.59941291809082, \"Time in s\": 1339.6069449999998 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.884723284876307, \"F1\": 0.8687572590011614, \"Memory in Mb\": 12.03856086730957, \"Time in s\": 1416.6409169999995 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8840327787434815, \"F1\": 0.867892503536068, \"Memory in Mb\": 12.43459129333496, \"Time in s\": 1495.7064749999995 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.884587466731188, \"F1\": 0.868558831634059, \"Memory in Mb\": 12.796384811401367, \"Time in s\": 1576.7285749999996 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8858221278603444, \"F1\": 0.8701019860440149, \"Memory in Mb\": 13.12009620666504, \"Time in s\": 1659.7498909999997 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872266973532796, \"F1\": 0.8716605552645365, \"Memory in Mb\": 13.362188339233398, \"Time in s\": 1744.8641249999996 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869916872612896, \"F1\": 0.8713225888974162, \"Memory in Mb\": 13.906320571899414, \"Time in s\": 1831.981592 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8872064955014264, \"F1\": 0.8719481813652217, \"Memory in Mb\": 14.321008682250977, \"Time in s\": 1921.07186 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8876259918507399, \"F1\": 0.8728155339805825, \"Memory in Mb\": 14.677774429321287, \"Time in s\": 2012.226564 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8867687146152233, \"F1\": 0.8716119828815977, \"Memory in Mb\": 15.041936874389648, \"Time in s\": 2105.5104569999994 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886974358974359, \"F1\": 0.8715318256003731, \"Memory in Mb\": 15.36302375793457, \"Time in s\": 2200.9404059999997 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8877735394499097, \"F1\": 0.8726941471191073, \"Memory in Mb\": 14.241693496704102, \"Time in s\": 2298.464636999999 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886966778061726, \"F1\": 0.8716804284757868, \"Memory in Mb\": 14.559698104858398, \"Time in s\": 2397.961828999999 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869632197188523, \"F1\": 0.8716939890710382, \"Memory in Mb\": 15.019205093383787, \"Time in s\": 2499.520506999999 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886959803736554, \"F1\": 0.8717070036410367, \"Memory in Mb\": 15.355104446411133, \"Time in s\": 2603.016254999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8674033149171271, \"F1\": 0.8669623059866962, \"Memory in Mb\": 3.022599220275879, \"Time in s\": 14.706798 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8956377691882937, \"F1\": 0.8737474949899798, \"Memory in Mb\": 3.453568458557129, \"Time in s\": 43.63985 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.889216047110784, \"F1\": 0.8638625056535504, \"Memory in Mb\": 5.134407997131348, \"Time in s\": 89.85880599999999 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8901462876069556, \"F1\": 0.8665325285043594, \"Memory in Mb\": 5.045891761779785, \"Time in s\": 149.36791399999998 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8924707440936189, \"F1\": 0.8628555336524922, \"Memory in Mb\": 6.377499580383301, \"Time in s\": 220.195834 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8870285188592456, \"F1\": 0.8556652562294312, \"Memory in Mb\": 8.556572914123535, \"Time in s\": 302.539101 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.884245387162908, \"F1\": 0.8540175019888624, \"Memory in Mb\": 10.355942726135254, \"Time in s\": 396.160169 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835380157306472, \"F1\": 0.8516174402250353, \"Memory in Mb\": 10.061070442199709, \"Time in s\": 501.0892999999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847050165583221, \"F1\": 0.8605341246290802, \"Memory in Mb\": 12.516213417053224, \"Time in s\": 615.7123809999999 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8869632409758251, \"F1\": 0.8668400520156047, \"Memory in Mb\": 14.3945894241333, \"Time in s\": 740.068354 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8839939789262419, \"F1\": 0.8666974169741698, \"Memory in Mb\": 15.028592109680176, \"Time in s\": 874.678214 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.886119032287738, \"F1\": 0.8712830110210023, \"Memory in Mb\": 18.58602237701416, \"Time in s\": 1018.727325 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851150547677676, \"F1\": 0.869464544138929, \"Memory in Mb\": 18.284192085266117, \"Time in s\": 1172.329585 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8825987542379563, \"F1\": 0.8672550592850139, \"Memory in Mb\": 18.56262683868408, \"Time in s\": 1335.5183499999998 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835087202884686, \"F1\": 0.8699794661190965, \"Memory in Mb\": 22.36763858795166, \"Time in s\": 1507.9316749999998 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883270093135564, \"F1\": 0.870085995085995, \"Memory in Mb\": 23.97218418121338, \"Time in s\": 1690.157865 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8826050256476852, \"F1\": 0.8679713743245216, \"Memory in Mb\": 24.89116382598877, \"Time in s\": 1881.87418 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8806034218433801, \"F1\": 0.8649885583524027, \"Memory in Mb\": 9.630642890930176, \"Time in s\": 2082.713846 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880787776680416, \"F1\": 0.862742474916388, \"Memory in Mb\": 9.825531959533691, \"Time in s\": 2290.8714669999995 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881505601854407, \"F1\": 0.8635178946030132, \"Memory in Mb\": 13.432568550109863, \"Time in s\": 2506.1422499999994 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835742444152431, \"F1\": 0.864335150364427, \"Memory in Mb\": 11.236374855041504, \"Time in s\": 2728.16983 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847022226682053, \"F1\": 0.8666744024135531, \"Memory in Mb\": 10.915810585021973, \"Time in s\": 2956.9763619999994 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8845803138647598, \"F1\": 0.866618601297765, \"Memory in Mb\": 6.771607398986816, \"Time in s\": 3192.2184919999995 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8842845973416732, \"F1\": 0.8643665768194071, \"Memory in Mb\": 9.905537605285645, \"Time in s\": 3433.744552 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8832178021104684, \"F1\": 0.8619303648796786, \"Memory in Mb\": 11.60939121246338, \"Time in s\": 3682.104731 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819783485459562, \"F1\": 0.8599637316139432, \"Memory in Mb\": 7.878331184387207, \"Time in s\": 3937.9632889999993 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805854216916724, \"F1\": 0.8573800107416631, \"Memory in Mb\": 10.65384006500244, \"Time in s\": 4201.066475999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8791343083533725, \"F1\": 0.8556497175141242, \"Memory in Mb\": 11.591797828674316, \"Time in s\": 4470.752341999999 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8801431127012522, \"F1\": 0.8566616596112704, \"Memory in Mb\": 13.86082935333252, \"Time in s\": 4746.937765999999 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881195040288458, \"F1\": 0.8584082438061829, \"Memory in Mb\": 14.463074684143066, \"Time in s\": 5029.888654999999 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8798646964571836, \"F1\": 0.8561807331628303, \"Memory in Mb\": 15.367924690246582, \"Time in s\": 5319.910836999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8796523058880342, \"F1\": 0.8551019560612982, \"Memory in Mb\": 16.377129554748535, \"Time in s\": 5616.458601999999 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.879285547044854, \"F1\": 0.8544934080554772, \"Memory in Mb\": 16.05477237701416, \"Time in s\": 5919.470834999999 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8791351491737818, \"F1\": 0.8535347574648885, \"Memory in Mb\": 17.57622241973877, \"Time in s\": 6228.255318999999 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8775111167176511, \"F1\": 0.851267519338286, \"Memory in Mb\": 17.546963691711426, \"Time in s\": 6543.393541999999 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8771117583933773, \"F1\": 0.8510701545778836, \"Memory in Mb\": 17.15481662750244, \"Time in s\": 6864.899302999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8770621401509502, \"F1\": 0.8512864927285193, \"Memory in Mb\": 13.577618598937988, \"Time in s\": 7192.851994 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8757080198681267, \"F1\": 0.849643346568748, \"Memory in Mb\": 12.363858222961426, \"Time in s\": 7526.949055999999 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8754139189992358, \"F1\": 0.848624484181568, \"Memory in Mb\": 12.55275058746338, \"Time in s\": 7866.609101999999 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.875134523579569, \"F1\": 0.8474427699672971, \"Memory in Mb\": 12.88097858428955, \"Time in s\": 8211.574848999999 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8743034055727554, \"F1\": 0.8459838363846282, \"Memory in Mb\": 15.634392738342283, \"Time in s\": 8562.247513999999 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8741163175737826, \"F1\": 0.8451642099818981, \"Memory in Mb\": 17.75814151763916, \"Time in s\": 8918.936239999999 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8743743101368175, \"F1\": 0.8458873913591133, \"Memory in Mb\": 18.55082416534424, \"Time in s\": 9281.578229 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8744951458746206, \"F1\": 0.847381104908331, \"Memory in Mb\": 20.39273166656494, \"Time in s\": 9650.394165999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8750521229365449, \"F1\": 0.8493434283686265, \"Memory in Mb\": 20.04684543609619, \"Time in s\": 10025.208226999996 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8757768446310737, \"F1\": 0.8512911843276937, \"Memory in Mb\": 22.40410327911377, \"Time in s\": 10405.883388999997 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8760010333247223, \"F1\": 0.8517603458925264, \"Memory in Mb\": 17.905674934387207, \"Time in s\": 10792.424187999995 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758249591832041, \"F1\": 0.8516320474777449, \"Memory in Mb\": 17.979458808898926, \"Time in s\": 11185.171687999997 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758362804946725, \"F1\": 0.8511557571829769, \"Memory in Mb\": 19.483532905578613, \"Time in s\": 11584.749531999996 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765977173889048, \"F1\": 0.8524053440354862, \"Memory in Mb\": 22.38176822662353, \"Time in s\": 11990.855977999996 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8766083291033082, \"F1\": 0.8523906328378699, \"Memory in Mb\": 22.39494037628174, \"Time in s\": 12397.578789999996 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.625, \"F1\": 0.7096774193548387, \"Memory in Mb\": 0.4178829193115234, \"Time in s\": 0.504078 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7450980392156864, \"Memory in Mb\": 0.6195468902587891, \"Time in s\": 1.506996 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.8261966705322266, \"Time in s\": 2.945496 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.797979797979798, \"F1\": 0.8039215686274509, \"Memory in Mb\": 0.9074077606201172, \"Time in s\": 4.810448 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7903225806451613, \"F1\": 0.7968749999999999, \"Memory in Mb\": 1.0524044036865234, \"Time in s\": 7.208508 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8120805369127517, \"F1\": 0.8227848101265823, \"Memory in Mb\": 1.155344009399414, \"Time in s\": 10.051324 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8372093023255814, \"Memory in Mb\": 1.2272701263427734, \"Time in s\": 13.451327 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8442211055276382, \"F1\": 0.8426395939086295, \"Memory in Mb\": 1.3437442779541016, \"Time in s\": 17.363237 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8465116279069769, \"Memory in Mb\": 1.4417095184326172, \"Time in s\": 21.777532 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.85, \"Memory in Mb\": 1.652822494506836, \"Time in s\": 26.610844 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8540145985401459, \"F1\": 0.8473282442748092, \"Memory in Mb\": 1.7137775421142578, \"Time in s\": 32.103705 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8595317725752508, \"F1\": 0.85, \"Memory in Mb\": 1.6836071014404297, \"Time in s\": 38.177642 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8672839506172839, \"F1\": 0.8542372881355932, \"Memory in Mb\": 1.8154468536376955, \"Time in s\": 44.724647 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8681948424068768, \"F1\": 0.8525641025641026, \"Memory in Mb\": 1.9355945587158203, \"Time in s\": 51.783982 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8484848484848485, \"Memory in Mb\": 2.1126270294189453, \"Time in s\": 59.453597 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8696741854636592, \"F1\": 0.8505747126436781, \"Memory in Mb\": 2.2513599395751958, \"Time in s\": 67.701448 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8467966573816157, \"Memory in Mb\": 2.4080867767333984, \"Time in s\": 76.525873 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8775055679287305, \"F1\": 0.8533333333333333, \"Memory in Mb\": 2.413846969604492, \"Time in s\": 85.91210000000001 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879746835443038, \"F1\": 0.85785536159601, \"Memory in Mb\": 2.540945053100586, \"Time in s\": 95.911251 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8817635270541082, \"F1\": 0.8624708624708626, \"Memory in Mb\": 2.727457046508789, \"Time in s\": 106.551347 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8835877862595419, \"F1\": 0.8623024830699774, \"Memory in Mb\": 2.780088424682617, \"Time in s\": 117.8137 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816029143897997, \"F1\": 0.8602150537634409, \"Memory in Mb\": 2.84419059753418, \"Time in s\": 129.668358 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832752613240418, \"F1\": 0.8618556701030927, \"Memory in Mb\": 2.9667911529541016, \"Time in s\": 142.149346 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8864774624373957, \"F1\": 0.8634538152610441, \"Memory in Mb\": 2.9313793182373047, \"Time in s\": 155.146824 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878205128205128, \"F1\": 0.8622047244094488, \"Memory in Mb\": 3.1180286407470703, \"Time in s\": 168.863765 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8906009244992296, \"F1\": 0.8672897196261682, \"Memory in Mb\": 3.1772937774658203, \"Time in s\": 183.176428 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8931750741839762, \"F1\": 0.8732394366197184, \"Memory in Mb\": 3.270914077758789, \"Time in s\": 198.116157 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8969957081545065, \"F1\": 0.8762886597938143, \"Memory in Mb\": 3.2819652557373047, \"Time in s\": 213.702702 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8950276243093923, \"F1\": 0.8762214983713356, \"Memory in Mb\": 3.465627670288086, \"Time in s\": 229.894704 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.897196261682243, \"F1\": 0.8791208791208791, \"Memory in Mb\": 3.637697219848633, \"Time in s\": 246.719197 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8979328165374677, \"F1\": 0.8793893129770992, \"Memory in Mb\": 3.6838626861572266, \"Time in s\": 264.274398 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8961201501877347, \"F1\": 0.8784773060029282, \"Memory in Mb\": 3.7807750701904297, \"Time in s\": 282.500107 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8968446601941747, \"F1\": 0.8801128349788435, \"Memory in Mb\": 3.913633346557617, \"Time in s\": 301.464554 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8987043580683156, \"F1\": 0.8818681318681318, \"Memory in Mb\": 4.011789321899414, \"Time in s\": 321.06457099999994 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9016018306636157, \"F1\": 0.8847184986595175, \"Memory in Mb\": 4.15968132019043, \"Time in s\": 341.449663 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9010011123470524, \"F1\": 0.8836601307189543, \"Memory in Mb\": 3.946676254272461, \"Time in s\": 362.64137199999993 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9036796536796536, \"F1\": 0.8877679697351829, \"Memory in Mb\": 4.049928665161133, \"Time in s\": 384.6765929999999 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9030558482613276, \"F1\": 0.8883495145631068, \"Memory in Mb\": 3.684160232543945, \"Time in s\": 407.5276099999999 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.904517453798768, \"F1\": 0.8899408284023669, \"Memory in Mb\": 3.787748336791992, \"Time in s\": 431.1052179999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9049049049049048, \"F1\": 0.8904267589388698, \"Memory in Mb\": 4.052656173706055, \"Time in s\": 455.43358799999993 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9033203125, \"F1\": 0.888888888888889, \"Memory in Mb\": 4.062379837036133, \"Time in s\": 480.5827999999999 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9046711153479504, \"F1\": 0.8908296943231442, \"Memory in Mb\": 4.190084457397461, \"Time in s\": 506.4991779999999 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9059590316573556, \"F1\": 0.8928950159066809, \"Memory in Mb\": 4.285711288452148, \"Time in s\": 533.2628339999999 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9062784349408554, \"F1\": 0.8934850051706308, \"Memory in Mb\": 4.370790481567383, \"Time in s\": 560.8485399999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9065836298932384, \"F1\": 0.8948948948948948, \"Memory in Mb\": 3.93486213684082, \"Time in s\": 589.2233909999999 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9077458659704092, \"F1\": 0.896078431372549, \"Memory in Mb\": 4.19316291809082, \"Time in s\": 618.4066789999998 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9063032367972744, \"F1\": 0.8942307692307692, \"Memory in Mb\": 4.349401473999023, \"Time in s\": 648.4320089999999 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9065888240200168, \"F1\": 0.8943396226415095, \"Memory in Mb\": 4.34752082824707, \"Time in s\": 679.2709969999999 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9068627450980392, \"F1\": 0.8944444444444444, \"Memory in Mb\": 4.031515121459961, \"Time in s\": 710.9105619999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9079263410728584, \"F1\": 0.896115627822945, \"Memory in Mb\": 4.102910995483398, \"Time in s\": 743.3769359999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1703529357910156, \"Time in s\": 12.381202 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1715736389160156, \"Time in s\": 37.073822 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 74.106824 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 122.30955 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1727943420410156, \"Time in s\": 180.539768 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1740150451660156, \"Time in s\": 247.174942 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1740150451660156, \"Time in s\": 321.611977 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.23138427734375, \"Time in s\": 404.612477 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.1771812438964843, \"Time in s\": 498.19936 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.1691703796386718, \"Time in s\": 601.949625 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1704368591308593, \"Time in s\": 714.510104 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1782646179199218, \"Time in s\": 835.601872 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1626014709472656, \"Time in s\": 964.845183 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.170440673828125, \"Time in s\": 1103.12758 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1782646179199218, \"Time in s\": 1249.157139 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1781692504882812, \"Time in s\": 1402.52966 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.1626205444335937, \"Time in s\": 1563.348194 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.1704368591308593, \"Time in s\": 1731.617157 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.1704330444335937, \"Time in s\": 1907.150595 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1781158447265625, \"Time in s\": 2090.214351 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1704559326171875, \"Time in s\": 2280.326256 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.163818359375, \"Time in s\": 2477.410916 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1715812683105468, \"Time in s\": 2681.481315 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.171630859375, \"Time in s\": 2892.603814 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1794776916503906, \"Time in s\": 3110.724932 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.3225936889648437, \"Time in s\": 3336.815763 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.3238716125488281, \"Time in s\": 3571.848368 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.2926750183105469, \"Time in s\": 3815.616702 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.3244895935058594, \"Time in s\": 4068.203899 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.2933502197265625, \"Time in s\": 4329.847041999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.2782058715820312, \"Time in s\": 4599.769264 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.3094024658203125, \"Time in s\": 4878.106527 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.3095321655273437, \"Time in s\": 5164.770925 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.2940139770507812, \"Time in s\": 5459.39874 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.293975830078125, \"Time in s\": 5761.313045999999 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.3251571655273437, \"Time in s\": 6070.487373999999 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.3101234436035156, \"Time in s\": 6386.879354 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.3101387023925781, \"Time in s\": 6710.520715 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.3101615905761719, \"Time in s\": 7041.446151 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.3101768493652344, \"Time in s\": 7379.414547 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.3100128173828125, \"Time in s\": 7724.224697000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.3101425170898437, \"Time in s\": 8075.760258 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.3100852966308594, \"Time in s\": 8434.038373 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.3107223510742187, \"Time in s\": 8799.103777999999 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.310821533203125, \"Time in s\": 9170.869249 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.2950706481933594, \"Time in s\": 9549.506616 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.2951812744140625, \"Time in s\": 9935.081315999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.2957954406738281, \"Time in s\": 10327.647623999996 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.3115119934082031, \"Time in s\": 10728.119291999998 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.3115577697753906, \"Time in s\": 11135.737891999996 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.3270950317382812, \"Time in s\": 11543.384409999995 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5428571428571428, \"F1\": 0.4, \"Memory in Mb\": 0.2255392074584961, \"Time in s\": 2.569769 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5592417061611374, \"F1\": 0.4685714285714286, \"Memory in Mb\": 0.6304416656494141, \"Time in s\": 8.011061999999999 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.637223974763407, \"F1\": 0.5724907063197027, \"Memory in Mb\": 0.9710559844970704, \"Time in s\": 16.523663 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6926713947990544, \"F1\": 0.6448087431693988, \"Memory in Mb\": 1.262800216674805, \"Time in s\": 28.175313 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7145557655954632, \"F1\": 0.6621923937360179, \"Memory in Mb\": 1.5703105926513672, \"Time in s\": 43.218913 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7448818897637796, \"F1\": 0.7000000000000001, \"Memory in Mb\": 1.467294692993164, \"Time in s\": 61.573557 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7624831309041835, \"F1\": 0.7170418006430868, \"Memory in Mb\": 1.877767562866211, \"Time in s\": 83.22394800000001 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7827626918536009, \"F1\": 0.7430167597765364, \"Memory in Mb\": 2.3253536224365234, \"Time in s\": 108.413447 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7964323189926548, \"F1\": 0.7599009900990098, \"Memory in Mb\": 1.7426891326904297, \"Time in s\": 137.183902 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8054768649669499, \"F1\": 0.7674943566591422, \"Memory in Mb\": 1.7942829132080078, \"Time in s\": 169.50541299999998 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8103004291845494, \"F1\": 0.7747196738022425, \"Memory in Mb\": 1.8575687408447263, \"Time in s\": 205.462561 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8151062155782848, \"F1\": 0.7822057460611677, \"Memory in Mb\": 1.917165756225586, \"Time in s\": 244.587795 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8191721132897604, \"F1\": 0.7851596203623814, \"Memory in Mb\": 2.1873340606689453, \"Time in s\": 286.663235 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8240053944706676, \"F1\": 0.7916999201915402, \"Memory in Mb\": 2.2810306549072266, \"Time in s\": 331.700902 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8231592196349906, \"F1\": 0.7916975537435137, \"Memory in Mb\": 2.585817337036133, \"Time in s\": 379.560946 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8271386430678466, \"F1\": 0.7961029923451634, \"Memory in Mb\": 2.885595321655273, \"Time in s\": 430.279509 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8334258745141588, \"F1\": 0.8046875, \"Memory in Mb\": 2.8240184783935547, \"Time in s\": 483.724395 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8332459360251704, \"F1\": 0.8060975609756097, \"Memory in Mb\": 3.138376235961914, \"Time in s\": 539.732848 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8340784898161947, \"F1\": 0.8084862385321101, \"Memory in Mb\": 3.5751514434814453, \"Time in s\": 598.378334 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8367154318074563, \"F1\": 0.813778256189451, \"Memory in Mb\": 3.890401840209961, \"Time in s\": 659.469374 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8382022471910112, \"F1\": 0.8157625383828044, \"Memory in Mb\": 4.414094924926758, \"Time in s\": 723.240852 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8404118404118404, \"F1\": 0.8185365853658537, \"Memory in Mb\": 4.828973770141602, \"Time in s\": 789.4489060000001 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8432498974148543, \"F1\": 0.8216619981325864, \"Memory in Mb\": 4.724649429321289, \"Time in s\": 858.0992190000001 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8450648839952811, \"F1\": 0.8247330960854093, \"Memory in Mb\": 4.20762825012207, \"Time in s\": 929.163006 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.846734616836542, \"F1\": 0.8270868824531515, \"Memory in Mb\": 4.517709732055664, \"Time in s\": 1002.552295 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8500907441016334, \"F1\": 0.8306683066830667, \"Memory in Mb\": 4.757001876831055, \"Time in s\": 1078.240465 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8521495980426425, \"F1\": 0.8324752475247525, \"Memory in Mb\": 4.690572738647461, \"Time in s\": 1156.1945970000002 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.854061341422312, \"F1\": 0.8339087073264287, \"Memory in Mb\": 4.873067855834961, \"Time in s\": 1236.185934 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8538887081028311, \"F1\": 0.8340110905730129, \"Memory in Mb\": 5.244169235229492, \"Time in s\": 1318.3478 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8565586662472475, \"F1\": 0.836441893830703, \"Memory in Mb\": 5.473237991333008, \"Time in s\": 1402.707418 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8575342465753425, \"F1\": 0.8371607515657619, \"Memory in Mb\": 5.716192245483398, \"Time in s\": 1489.296647 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8593335299321734, \"F1\": 0.8400938652363393, \"Memory in Mb\": 6.05610466003418, \"Time in s\": 1578.3688909999998 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8615956534172148, \"F1\": 0.8419333768778575, \"Memory in Mb\": 6.433168411254883, \"Time in s\": 1669.799251 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8631695809048016, \"F1\": 0.8430436166825852, \"Memory in Mb\": 6.670698165893555, \"Time in s\": 1763.5519829999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8638447020760313, \"F1\": 0.8444718201416692, \"Memory in Mb\": 7.050989151000977, \"Time in s\": 1859.626818 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8657929226736566, \"F1\": 0.84688995215311, \"Memory in Mb\": 7.316404342651367, \"Time in s\": 1958.012503 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8653404743687835, \"F1\": 0.846064139941691, \"Memory in Mb\": 7.61528205871582, \"Time in s\": 2058.675528 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8644151974174323, \"F1\": 0.8449744463373083, \"Memory in Mb\": 7.967977523803711, \"Time in s\": 2161.579262 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8654730220179047, \"F1\": 0.8462389380530975, \"Memory in Mb\": 7.394952774047852, \"Time in s\": 2266.595873 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8674215616890776, \"F1\": 0.8486806677436726, \"Memory in Mb\": 7.571531295776367, \"Time in s\": 2373.458397 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8688147295742232, \"F1\": 0.8503937007874016, \"Memory in Mb\": 7.877435684204102, \"Time in s\": 2482.305033 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8683441923163334, \"F1\": 0.8496664956387892, \"Memory in Mb\": 8.180627822875977, \"Time in s\": 2593.165336 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8689927583936801, \"F1\": 0.8508618536097925, \"Memory in Mb\": 8.39448356628418, \"Time in s\": 2705.945127 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8691829294445635, \"F1\": 0.8516536964980544, \"Memory in Mb\": 8.710580825805664, \"Time in s\": 2820.674173 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8689452715453974, \"F1\": 0.8510131108462455, \"Memory in Mb\": 9.014997482299805, \"Time in s\": 2937.453009 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8703589743589744, \"F1\": 0.8523364485981308, \"Memory in Mb\": 9.167715072631836, \"Time in s\": 3056.177406 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8713109817305762, \"F1\": 0.8538864827900615, \"Memory in Mb\": 9.482858657836914, \"Time in s\": 3176.936292 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714369962649892, \"F1\": 0.8539526574363555, \"Memory in Mb\": 9.87147331237793, \"Time in s\": 3299.754349 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8717504332755632, \"F1\": 0.8543944031482291, \"Memory in Mb\": 10.20412254333496, \"Time in s\": 3424.594329 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8716739007359879, \"F1\": 0.8542648949849978, \"Memory in Mb\": 10.538087844848633, \"Time in s\": 3551.414099 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8828729281767956, \"F1\": 0.8811659192825113, \"Memory in Mb\": 5.258722305297852, \"Time in s\": 37.408806 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9039204859193816, \"F1\": 0.8804945054945055, \"Memory in Mb\": 8.443174362182617, \"Time in s\": 104.985856 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8873757821126242, \"F1\": 0.8602739726027397, \"Memory in Mb\": 12.445928573608398, \"Time in s\": 198.514402 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.884902014904775, \"F1\": 0.8576305906452714, \"Memory in Mb\": 16.533422470092773, \"Time in s\": 314.268209 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8812099801280636, \"F1\": 0.8452243958573072, \"Memory in Mb\": 19.26629447937012, \"Time in s\": 451.77035 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8756209751609936, \"F1\": 0.8372652864708715, \"Memory in Mb\": 24.12981605529785, \"Time in s\": 609.66041 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8719444882510645, \"F1\": 0.8340825500612996, \"Memory in Mb\": 28.348302841186523, \"Time in s\": 788.9253299999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8691872498965089, \"F1\": 0.8308351177730193, \"Memory in Mb\": 31.66439247131348, \"Time in s\": 988.709629 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8690052741322213, \"F1\": 0.8387681159420289, \"Memory in Mb\": 35.27585411071777, \"Time in s\": 1209.125777 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.869742797218236, \"F1\": 0.844162704701532, \"Memory in Mb\": 38.39363670349121, \"Time in s\": 1448.169528 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8681384846964375, \"F1\": 0.8455934195064629, \"Memory in Mb\": 42.49019813537598, \"Time in s\": 1706.33653 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687333272008095, \"F1\": 0.849265870920038, \"Memory in Mb\": 46.91076469421387, \"Time in s\": 1983.228319 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8694064702386006, \"F1\": 0.8495402073958129, \"Memory in Mb\": 41.51856422424317, \"Time in s\": 2278.772125 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8672238429393676, \"F1\": 0.8479320931912588, \"Memory in Mb\": 46.98099327087402, \"Time in s\": 2591.81768 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8682758113179778, \"F1\": 0.8513289036544851, \"Memory in Mb\": 50.757638931274414, \"Time in s\": 2922.748705 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687823387374957, \"F1\": 0.8527863777089782, \"Memory in Mb\": 43.74130058288574, \"Time in s\": 3269.777293 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8686448931887539, \"F1\": 0.8518708354689903, \"Memory in Mb\": 49.06788444519043, \"Time in s\": 3632.343799 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8649659655362728, \"F1\": 0.8467427616926504, \"Memory in Mb\": 54.357858657836914, \"Time in s\": 4011.129855 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.865392435949573, \"F1\": 0.8447987139125192, \"Memory in Mb\": 52.38222694396973, \"Time in s\": 4407.893822 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8652795408135107, \"F1\": 0.8448286822198208, \"Memory in Mb\": 59.36540412902832, \"Time in s\": 4822.718697 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.867700394218134, \"F1\": 0.8459136822773186, \"Memory in Mb\": 57.10729789733887, \"Time in s\": 5251.994155 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8692489087351363, \"F1\": 0.84882236918436, \"Memory in Mb\": 51.34463310241699, \"Time in s\": 5694.600867 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8691750251955656, \"F1\": 0.8490085299656586, \"Memory in Mb\": 53.35045051574707, \"Time in s\": 6149.875029 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8700271351699398, \"F1\": 0.8478682170542635, \"Memory in Mb\": 59.89077186584473, \"Time in s\": 6616.750619 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8694865115457636, \"F1\": 0.8459614382490881, \"Memory in Mb\": 65.61615180969238, \"Time in s\": 7094.935599 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.868860114625345, \"F1\": 0.8444690599667689, \"Memory in Mb\": 72.22853660583496, \"Time in s\": 7585.744803 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8682392379706472, \"F1\": 0.8428648042513772, \"Memory in Mb\": 80.47726249694824, \"Time in s\": 8090.441156999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8672290771474751, \"F1\": 0.8417888012025554, \"Memory in Mb\": 73.03231239318848, \"Time in s\": 8608.413273 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8684581128915617, \"F1\": 0.8430802760624773, \"Memory in Mb\": 79.16955757141113, \"Time in s\": 9138.877569 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8698259685786821, \"F1\": 0.8451234459814394, \"Memory in Mb\": 84.2670955657959, \"Time in s\": 9681.232951 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689335944454335, \"F1\": 0.8434616202423985, \"Memory in Mb\": 93.53372383117676, \"Time in s\": 10236.036265 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688558518160808, \"F1\": 0.8423322551215061, \"Memory in Mb\": 92.7535800933838, \"Time in s\": 10801.143387 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689166137070609, \"F1\": 0.8421603769785332, \"Memory in Mb\": 90.79977607727052, \"Time in s\": 11375.205452 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8684868356978216, \"F1\": 0.8408063818917749, \"Memory in Mb\": 97.95510292053224, \"Time in s\": 11957.401901 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8668832192752847, \"F1\": 0.8384553561177235, \"Memory in Mb\": 105.25788688659668, \"Time in s\": 12547.475367 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8664724819868159, \"F1\": 0.8381943154374885, \"Memory in Mb\": 94.53887367248537, \"Time in s\": 13145.300695000002 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8661436114674383, \"F1\": 0.8380553650701988, \"Memory in Mb\": 102.01883506774902, \"Time in s\": 13750.733881000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8648444534812793, \"F1\": 0.8364441632394811, \"Memory in Mb\": 100.427827835083, \"Time in s\": 14363.910035000004 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8647723091727281, \"F1\": 0.8357849876271651, \"Memory in Mb\": 107.87262153625488, \"Time in s\": 14984.863075000005 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8642346643119292, \"F1\": 0.83420946219167, \"Memory in Mb\": 112.83228874206544, \"Time in s\": 15613.594311000004 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8632655808318751, \"F1\": 0.8326689289361843, \"Memory in Mb\": 120.66686058044434, \"Time in s\": 16250.422859000002 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8627631336889964, \"F1\": 0.8316135689410551, \"Memory in Mb\": 126.15458106994627, \"Time in s\": 16895.166705000003 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8634391765279668, \"F1\": 0.8328620797989319, \"Memory in Mb\": 107.22049903869627, \"Time in s\": 17548.303432000004 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8644356922459423, \"F1\": 0.8353041570157259, \"Memory in Mb\": 103.5422191619873, \"Time in s\": 18208.490072000004 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.865436974171552, \"F1\": 0.8378745788758201, \"Memory in Mb\": 97.78764533996582, \"Time in s\": 18874.504490000003 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8666586682663467, \"F1\": 0.8403940603728063, \"Memory in Mb\": 102.76390266418456, \"Time in s\": 19545.753018000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8673821657546793, \"F1\": 0.8415055151702265, \"Memory in Mb\": 107.51249122619627, \"Time in s\": 20221.607860000004 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8677075907742544, \"F1\": 0.841885392332005, \"Memory in Mb\": 102.9560489654541, \"Time in s\": 20902.251232 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8679071024711104, \"F1\": 0.8415905775568644, \"Memory in Mb\": 103.86480903625488, \"Time in s\": 21587.715975000003 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688933530541513, \"F1\": 0.843053830501308, \"Memory in Mb\": 107.29028511047365, \"Time in s\": 22278.011723000003 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8688839354682086, \"F1\": 0.8430092751631743, \"Memory in Mb\": 107.32242012023926, \"Time in s\": 22968.976341 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8333333333333334, \"F1\": 0.8333333333333334, \"Memory in Mb\": 0.7029104232788086, \"Time in s\": 1.141902 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8372093023255814, \"Memory in Mb\": 0.9397382736206056, \"Time in s\": 3.355867 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783783783783784, \"F1\": 0.8695652173913043, \"Memory in Mb\": 0.9708013534545898, \"Time in s\": 6.532426 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8817204301075269, \"Memory in Mb\": 1.056624412536621, \"Time in s\": 10.815831 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8790322580645161, \"F1\": 0.8739495798319329, \"Memory in Mb\": 1.3782567977905271, \"Time in s\": 16.293882 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8791946308724832, \"F1\": 0.8783783783783784, \"Memory in Mb\": 1.379134178161621, \"Time in s\": 22.890072 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896551724137931, \"F1\": 0.888888888888889, \"Memory in Mb\": 1.4786596298217771, \"Time in s\": 30.52314 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8944723618090452, \"F1\": 0.8864864864864866, \"Memory in Mb\": 1.6607275009155271, \"Time in s\": 39.247513 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8973214285714286, \"F1\": 0.8866995073891626, \"Memory in Mb\": 1.686568260192871, \"Time in s\": 49.014513 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.891566265060241, \"F1\": 0.88, \"Memory in Mb\": 1.9668035507202148, \"Time in s\": 59.910523 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8905109489051095, \"F1\": 0.8780487804878049, \"Memory in Mb\": 2.071291923522949, \"Time in s\": 71.88595 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896321070234113, \"F1\": 0.8754716981132077, \"Memory in Mb\": 2.2423620223999023, \"Time in s\": 85.00905599999999 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8723404255319148, \"Memory in Mb\": 2.4750547409057617, \"Time in s\": 99.146325 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8853868194842407, \"F1\": 0.8666666666666667, \"Memory in Mb\": 2.532855033874512, \"Time in s\": 114.354375 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8850267379679144, \"F1\": 0.8652037617554859, \"Memory in Mb\": 2.8150205612182617, \"Time in s\": 130.79065599999998 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8822055137844611, \"F1\": 0.8613569321533923, \"Memory in Mb\": 2.795191764831543, \"Time in s\": 148.41625799999997 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844339622641509, \"F1\": 0.8611898016997167, \"Memory in Mb\": 2.962000846862793, \"Time in s\": 167.06847699999997 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888641425389755, \"F1\": 0.8648648648648649, \"Memory in Mb\": 3.03415584564209, \"Time in s\": 186.853211 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.890295358649789, \"F1\": 0.8686868686868687, \"Memory in Mb\": 3.071761131286621, \"Time in s\": 207.829 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8917835671342685, \"F1\": 0.8726415094339622, \"Memory in Mb\": 3.1551198959350586, \"Time in s\": 229.951047 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8950381679389313, \"F1\": 0.8741418764302059, \"Memory in Mb\": 3.1928510665893555, \"Time in s\": 253.214946 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8943533697632058, \"F1\": 0.8739130434782608, \"Memory in Mb\": 3.2878904342651367, \"Time in s\": 277.566695 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8937282229965157, \"F1\": 0.8726513569937369, \"Memory in Mb\": 3.441771507263184, \"Time in s\": 303.140017 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8964941569282137, \"F1\": 0.8739837398373984, \"Memory in Mb\": 3.515273094177246, \"Time in s\": 329.715755 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8958333333333334, \"F1\": 0.8707753479125249, \"Memory in Mb\": 3.5807180404663086, \"Time in s\": 357.461609 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8983050847457628, \"F1\": 0.8754716981132076, \"Memory in Mb\": 3.695376396179199, \"Time in s\": 386.398038 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8961424332344213, \"F1\": 0.8754448398576512, \"Memory in Mb\": 3.755015373229981, \"Time in s\": 416.468493 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899856938483548, \"F1\": 0.8784722222222222, \"Memory in Mb\": 3.790995597839356, \"Time in s\": 447.643877 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899171270718232, \"F1\": 0.8797364085667215, \"Memory in Mb\": 3.939352989196777, \"Time in s\": 479.929216 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9012016021361816, \"F1\": 0.8825396825396825, \"Memory in Mb\": 3.942519187927246, \"Time in s\": 513.493128 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9018087855297158, \"F1\": 0.8827160493827161, \"Memory in Mb\": 4.2751874923706055, \"Time in s\": 548.2965389999999 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.899874843554443, \"F1\": 0.8816568047337278, \"Memory in Mb\": 4.513812065124512, \"Time in s\": 584.3583229999999 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8992718446601942, \"F1\": 0.8819345661450925, \"Memory in Mb\": 4.773520469665527, \"Time in s\": 621.611368 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.901060070671378, \"F1\": 0.8836565096952909, \"Memory in Mb\": 4.815379142761231, \"Time in s\": 660.1796979999999 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.902745995423341, \"F1\": 0.884979702300406, \"Memory in Mb\": 4.980830192565918, \"Time in s\": 699.8371419999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9043381535038932, \"F1\": 0.8862433862433862, \"Memory in Mb\": 5.134486198425293, \"Time in s\": 740.7850809999999 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9069264069264068, \"F1\": 0.8903061224489796, \"Memory in Mb\": 5.209948539733887, \"Time in s\": 782.8443949999998 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9083245521601686, \"F1\": 0.8932515337423312, \"Memory in Mb\": 5.338950157165527, \"Time in s\": 826.1813729999999 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9106776180698152, \"F1\": 0.895808383233533, \"Memory in Mb\": 5.382990837097168, \"Time in s\": 870.7373769999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9109109109109108, \"F1\": 0.896149358226371, \"Memory in Mb\": 5.44773006439209, \"Time in s\": 916.477949 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9111328125, \"F1\": 0.896942242355606, \"Memory in Mb\": 5.591532707214356, \"Time in s\": 963.445117 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.911344137273594, \"F1\": 0.8976897689768977, \"Memory in Mb\": 5.678961753845215, \"Time in s\": 1011.481541 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9115456238361266, \"F1\": 0.8986125933831376, \"Memory in Mb\": 5.788058280944824, \"Time in s\": 1060.652982 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9117379435850772, \"F1\": 0.8990634755463061, \"Memory in Mb\": 5.880267143249512, \"Time in s\": 1110.965738 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9119217081850534, \"F1\": 0.9003021148036253, \"Memory in Mb\": 6.120665550231934, \"Time in s\": 1162.442095 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9129677980852916, \"F1\": 0.90138067061144, \"Memory in Mb\": 6.185591697692871, \"Time in s\": 1215.005575 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9114139693356048, \"F1\": 0.8996138996138997, \"Memory in Mb\": 6.431841850280762, \"Time in s\": 1268.8167280000002 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9124270225187656, \"F1\": 0.9004739336492891, \"Memory in Mb\": 6.484606742858887, \"Time in s\": 1323.7082160000002 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9133986928104576, \"F1\": 0.9014869888475836, \"Memory in Mb\": 6.481654167175293, \"Time in s\": 1379.6419000000003 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Phishing\", \"Accuracy\": 0.9135308246597278, \"F1\": 0.9019963702359348, \"Memory in Mb\": 6.595587730407715, \"Time in s\": 1436.6903440000003 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1670236587524414, \"Time in s\": 31.246172 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1682443618774414, \"Time in s\": 90.057064 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 168.92668600000002 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 266.339332 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1694650650024414, \"Time in s\": 379.700681 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1706857681274414, \"Time in s\": 507.500932 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1706857681274414, \"Time in s\": 650.046105 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2171335220336914, \"Time in s\": 806.74928 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.1745767593383789, \"Time in s\": 979.905317 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.1744394302368164, \"Time in s\": 1169.37771 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 1374.513378 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 1595.365052 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1757516860961914, \"Time in s\": 1830.528112 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 2079.072293 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1757287979125976, \"Time in s\": 2341.33087 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1756372451782226, \"Time in s\": 2616.3107910000003 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 2903.8369350000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.1756601333618164, \"Time in s\": 3203.0985050000004 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.1756830215454101, \"Time in s\": 3513.3936680000006 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1757059097290039, \"Time in s\": 3834.7595300000007 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1757745742797851, \"Time in s\": 4167.168481000001 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 4510.027218000001 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 4863.234695000001 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 5226.731618000001 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1770639419555664, \"Time in s\": 5600.511358000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1769037246704101, \"Time in s\": 5984.651066 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.1691675186157226, \"Time in s\": 6379.477192 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.1770639419555664, \"Time in s\": 6785.903036000001 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.1770410537719726, \"Time in s\": 7201.6518080000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 7626.427031 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 8059.133738 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 8499.283325 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.1769266128540039, \"Time in s\": 8946.957028 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.1769952774047851, \"Time in s\": 9401.959764 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 9864.111715 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.1691446304321289, \"Time in s\": 10332.853073 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.1769037246704101, \"Time in s\": 10808.168746 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.1691217422485351, \"Time in s\": 11290.14581 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 11778.656001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 12273.787996 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.1769952774047851, \"Time in s\": 12775.472063 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.1769723892211914, \"Time in s\": 13283.764208 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.1770181655883789, \"Time in s\": 13798.661938 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.1782617568969726, \"Time in s\": 14320.191281 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.1703653335571289, \"Time in s\": 14848.294436 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.1702966690063476, \"Time in s\": 15383.005183 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.1781930923461914, \"Time in s\": 15923.647685 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.1781473159790039, \"Time in s\": 16470.415157 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1782159805297851, \"Time in s\": 17023.687732 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.1782159805297851, \"Time in s\": 17582.958979 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.1781702041625976, \"Time in s\": 18142.251025 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7238095238095238, \"F1\": 0.6881720430107527, \"Memory in Mb\": 0.1032800674438476, \"Time in s\": 0.213787 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8056872037914692, \"F1\": 0.7807486631016043, \"Memory in Mb\": 0.1952676773071289, \"Time in s\": 0.888466 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.807570977917981, \"F1\": 0.7859649122807018, \"Memory in Mb\": 0.286778450012207, \"Time in s\": 2.29757 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8297872340425532, \"F1\": 0.8115183246073298, \"Memory in Mb\": 0.3787660598754883, \"Time in s\": 4.640547 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.831758034026465, \"F1\": 0.8061002178649236, \"Memory in Mb\": 2.6361207962036133, \"Time in s\": 29.527472000000003 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8472440944881889, \"F1\": 0.8245931283905967, \"Memory in Mb\": 3.060887336730957, \"Time in s\": 56.29478 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8529014844804319, \"F1\": 0.8278041074249604, \"Memory in Mb\": 3.5180253982543945, \"Time in s\": 85.033958 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8559622195985832, \"F1\": 0.8328767123287671, \"Memory in Mb\": 3.9749040603637695, \"Time in s\": 116.009539 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8604407135362014, \"F1\": 0.8372093023255813, \"Memory in Mb\": 4.4283952713012695, \"Time in s\": 149.38786199999998 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8706326723323891, \"F1\": 0.8476084538375974, \"Memory in Mb\": 4.592366218566895, \"Time in s\": 185.280189 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.871244635193133, \"F1\": 0.8484848484848485, \"Memory in Mb\": 4.394963264465332, \"Time in s\": 223.461408 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8693941778127459, \"F1\": 0.8477064220183486, \"Memory in Mb\": 4.242337226867676, \"Time in s\": 263.595386 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8714596949891068, \"F1\": 0.8488471391972673, \"Memory in Mb\": 4.1376237869262695, \"Time in s\": 305.593042 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759271746459879, \"F1\": 0.8548895899053628, \"Memory in Mb\": 4.233838081359863, \"Time in s\": 349.622856 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8735053492762744, \"F1\": 0.8527472527472527, \"Memory in Mb\": 4.485638618469238, \"Time in s\": 396.123591 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755162241887906, \"F1\": 0.854982817869416, \"Memory in Mb\": 4.566784858703613, \"Time in s\": 444.689218 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8778456413103831, \"F1\": 0.858611825192802, \"Memory in Mb\": 4.580937385559082, \"Time in s\": 495.109217 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8778185631882538, \"F1\": 0.8598917618761276, \"Memory in Mb\": 4.553791999816895, \"Time in s\": 547.400313 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.877297565822156, \"F1\": 0.8605307735742519, \"Memory in Mb\": 4.4779558181762695, \"Time in s\": 601.303554 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8787163756488909, \"F1\": 0.8635156664896441, \"Memory in Mb\": 4.453892707824707, \"Time in s\": 656.840699 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8782022471910113, \"F1\": 0.8630621526023244, \"Memory in Mb\": 4.4562273025512695, \"Time in s\": 714.0315049999999 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8777348777348777, \"F1\": 0.862782859894078, \"Memory in Mb\": 4.439526557922363, \"Time in s\": 772.745195 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8785391875256463, \"F1\": 0.8635944700460828, \"Memory in Mb\": 4.450131416320801, \"Time in s\": 833.024947 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8788832088084939, \"F1\": 0.864793678665496, \"Memory in Mb\": 4.448788642883301, \"Time in s\": 894.808032 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8784446961117403, \"F1\": 0.8647058823529411, \"Memory in Mb\": 4.491581916809082, \"Time in s\": 958.170481 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.879491833030853, \"F1\": 0.8659127625201939, \"Memory in Mb\": 4.482541084289551, \"Time in s\": 1022.970177 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8808109052778749, \"F1\": 0.867056530214425, \"Memory in Mb\": 4.4542436599731445, \"Time in s\": 1089.131713 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8813616447590158, \"F1\": 0.8673700075357951, \"Memory in Mb\": 4.489590644836426, \"Time in s\": 1156.687087 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8805727302310445, \"F1\": 0.8665939658306071, \"Memory in Mb\": 4.4426774978637695, \"Time in s\": 1225.526022 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8820383768480654, \"F1\": 0.8677248677248678, \"Memory in Mb\": 4.4409685134887695, \"Time in s\": 1295.666774 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.882496194824962, \"F1\": 0.8678082191780822, \"Memory in Mb\": 4.441540718078613, \"Time in s\": 1367.284144 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8832202890002949, \"F1\": 0.8693931398416888, \"Memory in Mb\": 4.4570817947387695, \"Time in s\": 1440.244405 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850443237060337, \"F1\": 0.8709055876685934, \"Memory in Mb\": 4.465977668762207, \"Time in s\": 1514.504066 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8856508465167916, \"F1\": 0.8710888610763454, \"Memory in Mb\": 4.4596757888793945, \"Time in s\": 1590.040367 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8864923159881369, \"F1\": 0.8724628900333233, \"Memory in Mb\": 4.477154731750488, \"Time in s\": 1666.899992 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8875491480996068, \"F1\": 0.8737120989108037, \"Memory in Mb\": 4.4705095291137695, \"Time in s\": 1745.0344980000002 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8867635807192042, \"F1\": 0.8724870763928776, \"Memory in Mb\": 4.45665454864502, \"Time in s\": 1824.4605280000003 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8852743978147505, \"F1\": 0.8706606942889138, \"Memory in Mb\": 4.454602241516113, \"Time in s\": 1905.1708120000003 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8857972417130414, \"F1\": 0.8712493180578287, \"Memory in Mb\": 4.461682319641113, \"Time in s\": 1987.1975480000003 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886765746638358, \"F1\": 0.8724760892667376, \"Memory in Mb\": 4.4584245681762695, \"Time in s\": 2070.530861 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8876869965477561, \"F1\": 0.8735751295336789, \"Memory in Mb\": 4.494175910949707, \"Time in s\": 2155.1880220000003 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869916872612896, \"F1\": 0.8725614390676463, \"Memory in Mb\": 4.517621040344238, \"Time in s\": 2241.198533 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869870528856704, \"F1\": 0.8729336294103133, \"Memory in Mb\": 4.495129585266113, \"Time in s\": 2328.452784 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.886982629208664, \"F1\": 0.873286847799952, \"Memory in Mb\": 4.453595161437988, \"Time in s\": 2416.918556 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8857202767875865, \"F1\": 0.8715531463587085, \"Memory in Mb\": 4.469174385070801, \"Time in s\": 2506.628209 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8861538461538462, \"F1\": 0.871616932685635, \"Memory in Mb\": 4.478787422180176, \"Time in s\": 2597.661861 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8869704878538446, \"F1\": 0.8728832693610296, \"Memory in Mb\": 4.4154863357543945, \"Time in s\": 2689.897866 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.885983880479654, \"F1\": 0.8716814159292035, \"Memory in Mb\": 4.439602851867676, \"Time in s\": 2783.355406 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.885422684382823, \"F1\": 0.8711842390127733, \"Memory in Mb\": 4.50291919708252, \"Time in s\": 2878.218251 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8850726552179656, \"F1\": 0.8708377518557794, \"Memory in Mb\": 4.509961128234863, \"Time in s\": 2974.330637 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8784530386740331, \"F1\": 0.8711943793911008, \"Memory in Mb\": 4.434150695800781, \"Time in s\": 37.114054 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8801766979569299, \"F1\": 0.8453314326443336, \"Memory in Mb\": 4.643096923828125, \"Time in s\": 93.709907 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8568273831431726, \"F1\": 0.8160756501182034, \"Memory in Mb\": 4.667282104492188, \"Time in s\": 164.56349699999998 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8746894838531604, \"F1\": 0.8411476557032889, \"Memory in Mb\": 4.594398498535156, \"Time in s\": 248.378172 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8783395893133142, \"F1\": 0.8399651466744118, \"Memory in Mb\": 4.710762023925781, \"Time in s\": 344.82085099999995 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8745170193192272, \"F1\": 0.8360576923076923, \"Memory in Mb\": 4.698677062988281, \"Time in s\": 452.381486 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8747831572307208, \"F1\": 0.8384865744507731, \"Memory in Mb\": 4.6694183349609375, \"Time in s\": 569.8523869999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8723609769559818, \"F1\": 0.8348509194786646, \"Memory in Mb\": 4.666007995605469, \"Time in s\": 697.1091419999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8718263215994113, \"F1\": 0.8430695299594534, \"Memory in Mb\": 4.7265625, \"Time in s\": 834.9178869999998 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8738271332376643, \"F1\": 0.8493475682087781, \"Memory in Mb\": 4.708610534667969, \"Time in s\": 981.8103579999998 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8720521826392373, \"F1\": 0.8501234277653698, \"Memory in Mb\": 4.625167846679688, \"Time in s\": 1137.002296 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8740686229417717, \"F1\": 0.8545628386274301, \"Memory in Mb\": 4.637184143066406, \"Time in s\": 1300.798705 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8742464124989386, \"F1\": 0.8546756942400157, \"Memory in Mb\": 4.6933135986328125, \"Time in s\": 1473.412993 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872664196168099, \"F1\": 0.8527937289217027, \"Memory in Mb\": 4.810676574707031, \"Time in s\": 1655.581963 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8748252262859666, \"F1\": 0.8573824096587573, \"Memory in Mb\": 4.703468322753906, \"Time in s\": 1846.50108 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8750603656433252, \"F1\": 0.85826093762229, \"Memory in Mb\": 4.719985961914063, \"Time in s\": 2046.373626 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8755924939938965, \"F1\": 0.8581371242410781, \"Memory in Mb\": 4.7149505615234375, \"Time in s\": 2254.774116 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872079475072055, \"F1\": 0.8535112359550563, \"Memory in Mb\": 4.6830902099609375, \"Time in s\": 2471.471716 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8723058153721025, \"F1\": 0.8517669274345832, \"Memory in Mb\": 4.657257080078125, \"Time in s\": 2696.3467009999995 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.87234394834152, \"F1\": 0.8515118443859535, \"Memory in Mb\": 4.7351837158203125, \"Time in s\": 2929.434657 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8734822601839685, \"F1\": 0.8509505232522138, \"Memory in Mb\": 4.845870971679688, \"Time in s\": 3171.2751989999992 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8722091214690683, \"F1\": 0.8505193966782089, \"Memory in Mb\": 4.855270385742188, \"Time in s\": 3421.524358999999 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8678312616979411, \"F1\": 0.8451765234989881, \"Memory in Mb\": 4.8942718505859375, \"Time in s\": 3679.924087999999 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8677735363105368, \"F1\": 0.8427672955974842, \"Memory in Mb\": 4.7196807861328125, \"Time in s\": 3945.793201999999 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8669256920835356, \"F1\": 0.840444679724722, \"Memory in Mb\": 4.809005737304688, \"Time in s\": 4218.904371999999 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8647845468053492, \"F1\": 0.8373257061136934, \"Memory in Mb\": 4.794342041015625, \"Time in s\": 4499.001777999999 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8644372674870201, \"F1\": 0.8359715077166601, \"Memory in Mb\": 4.758956909179688, \"Time in s\": 4786.067247999999 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8619860448614342, \"F1\": 0.8330710914032329, \"Memory in Mb\": 4.846771240234375, \"Time in s\": 5079.937268999999 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8623301488219846, \"F1\": 0.8333410127632125, \"Memory in Mb\": 4.699310302734375, \"Time in s\": 5380.101847999999 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8632767945840538, \"F1\": 0.8350350705851016, \"Memory in Mb\": 4.794769287109375, \"Time in s\": 5686.612909 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.862061598718177, \"F1\": 0.8333620096352374, \"Memory in Mb\": 4.6817474365234375, \"Time in s\": 5999.306036 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8618191852643924, \"F1\": 0.8323989624299222, \"Memory in Mb\": 4.8116455078125, \"Time in s\": 6318.119808 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8607218115529987, \"F1\": 0.8308417289567761, \"Memory in Mb\": 4.769432067871094, \"Time in s\": 6643.155825 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8599162419244879, \"F1\": 0.8291562735083342, \"Memory in Mb\": 4.83782958984375, \"Time in s\": 6975.21929 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8578006244283958, \"F1\": 0.8263832736513803, \"Memory in Mb\": 4.765548706054688, \"Time in s\": 7313.109579 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8558332055802544, \"F1\": 0.8246307623452186, \"Memory in Mb\": 4.726959228515625, \"Time in s\": 7656.831982 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8543897855075923, \"F1\": 0.8232354325861008, \"Memory in Mb\": 4.798057556152344, \"Time in s\": 8006.181245 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533128068086095, \"F1\": 0.8218066337332393, \"Memory in Mb\": 4.773887634277344, \"Time in s\": 8361.39601 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518099227351201, \"F1\": 0.8192737815822173, \"Memory in Mb\": 4.808341979980469, \"Time in s\": 8722.632877 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8522310218273131, \"F1\": 0.8186651315566692, \"Memory in Mb\": 4.722572326660156, \"Time in s\": 9089.688296 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8505586216179836, \"F1\": 0.8161859664227292, \"Memory in Mb\": 4.720252990722656, \"Time in s\": 9462.293988 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8507792173661665, \"F1\": 0.81590039556449, \"Memory in Mb\": 4.766929626464844, \"Time in s\": 9840.72504 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8507841979618553, \"F1\": 0.8163523204751524, \"Memory in Mb\": 4.769111633300781, \"Time in s\": 10225.058019 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.850889295838246, \"F1\": 0.8178809976101478, \"Memory in Mb\": 4.736076354980469, \"Time in s\": 10615.291715 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8509161372611543, \"F1\": 0.8193329766363474, \"Memory in Mb\": 4.725471496582031, \"Time in s\": 11011.540552 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518536292741452, \"F1\": 0.8217770336585647, \"Memory in Mb\": 4.700096130371094, \"Time in s\": 11414.574328 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8529156196425636, \"F1\": 0.8235028885444553, \"Memory in Mb\": 4.746559143066406, \"Time in s\": 11823.240959 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525536367190195, \"F1\": 0.8231074817920989, \"Memory in Mb\": 4.826316833496094, \"Time in s\": 12236.954316 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8525217939765278, \"F1\": 0.8226754421602882, \"Memory in Mb\": 4.775764465332031, \"Time in s\": 12655.735001 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.853131415704541, \"F1\": 0.8236541468974475, \"Memory in Mb\": 4.767349243164063, \"Time in s\": 13079.48614 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531482421487057, \"F1\": 0.8236416644579911, \"Memory in Mb\": 4.766036987304688, \"Time in s\": 13503.439196 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.0411081314086914, \"Time in s\": 0.04635 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7551020408163265, \"F1\": 0.7777777777777778, \"Memory in Mb\": 0.0695962905883789, \"Time in s\": 0.16308 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.0986146926879882, \"Time in s\": 0.336872 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.797979797979798, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.1271295547485351, \"Time in s\": 0.6777850000000001 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8064516129032258, \"F1\": 0.8208955223880596, \"Memory in Mb\": 0.155644416809082, \"Time in s\": 1.226658 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.834355828220859, \"Memory in Mb\": 0.1846628189086914, \"Time in s\": 1.947513 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8426966292134832, \"Memory in Mb\": 0.2131776809692382, \"Time in s\": 2.9471350000000003 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8391959798994975, \"F1\": 0.8415841584158417, \"Memory in Mb\": 0.2421960830688476, \"Time in s\": 4.26255 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8392857142857143, \"F1\": 0.8363636363636364, \"Memory in Mb\": 0.2707109451293945, \"Time in s\": 5.830504 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8232931726907631, \"F1\": 0.8225806451612903, \"Memory in Mb\": 0.2992258071899414, \"Time in s\": 7.819846 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8248175182481752, \"F1\": 0.8208955223880596, \"Memory in Mb\": 0.3284578323364258, \"Time in s\": 10.199689 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8260869565217391, \"F1\": 0.8181818181818181, \"Memory in Mb\": 0.3569726943969726, \"Time in s\": 12.972732 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8364197530864198, \"F1\": 0.8250825082508251, \"Memory in Mb\": 0.385991096496582, \"Time in s\": 16.225203999999998 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8452722063037249, \"F1\": 0.83125, \"Memory in Mb\": 0.4145059585571289, \"Time in s\": 19.962148 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.839572192513369, \"F1\": 0.8235294117647058, \"Memory in Mb\": 0.4430208206176758, \"Time in s\": 24.257676 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8421052631578947, \"F1\": 0.8225352112676055, \"Memory in Mb\": 0.4720392227172851, \"Time in s\": 29.175886 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8443396226415094, \"F1\": 0.819672131147541, \"Memory in Mb\": 0.500554084777832, \"Time in s\": 34.714831 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8463251670378619, \"F1\": 0.8198433420365536, \"Memory in Mb\": 0.5295724868774414, \"Time in s\": 40.875928 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8438818565400844, \"F1\": 0.8177339901477833, \"Memory in Mb\": 0.5580873489379883, \"Time in s\": 47.66810099999999 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845691382765531, \"F1\": 0.8229885057471266, \"Memory in Mb\": 2.675789833068848, \"Time in s\": 79.03492 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8454198473282443, \"F1\": 0.8187919463087249, \"Memory in Mb\": 2.7769289016723637, \"Time in s\": 111.488727 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.848816029143898, \"F1\": 0.8237791932059448, \"Memory in Mb\": 2.8829355239868164, \"Time in s\": 145.039549 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8519163763066202, \"F1\": 0.8268839103869654, \"Memory in Mb\": 2.989964485168457, \"Time in s\": 179.782132 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8514190317195326, \"F1\": 0.8230616302186878, \"Memory in Mb\": 3.098984718322754, \"Time in s\": 215.642079 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8525641025641025, \"F1\": 0.8210116731517509, \"Memory in Mb\": 3.2059221267700195, \"Time in s\": 252.521109 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8582434514637904, \"F1\": 0.8302583025830258, \"Memory in Mb\": 3.3169260025024414, \"Time in s\": 290.529559 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620178041543026, \"F1\": 0.8382608695652174, \"Memory in Mb\": 3.429127693176269, \"Time in s\": 329.62297 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669527896995708, \"F1\": 0.8421052631578948, \"Memory in Mb\": 3.5458459854125977, \"Time in s\": 369.665809 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8674033149171271, \"F1\": 0.8456591639871384, \"Memory in Mb\": 3.659161567687988, \"Time in s\": 410.977113 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8678237650200267, \"F1\": 0.8465116279069768, \"Memory in Mb\": 3.769242286682129, \"Time in s\": 453.550102 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8669250645994832, \"F1\": 0.8446455505279035, \"Memory in Mb\": 3.881718635559082, \"Time in s\": 497.265773 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8648310387984981, \"F1\": 0.8434782608695652, \"Memory in Mb\": 3.994263648986816, \"Time in s\": 542.189116 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8628640776699029, \"F1\": 0.8423988842398884, \"Memory in Mb\": 4.110844612121582, \"Time in s\": 588.325742 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8657243816254417, \"F1\": 0.8451086956521738, \"Memory in Mb\": 4.225159645080566, \"Time in s\": 635.696811 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.868421052631579, \"F1\": 0.847277556440903, \"Memory in Mb\": 4.342709541320801, \"Time in s\": 684.216091 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8698553948832035, \"F1\": 0.8482490272373541, \"Memory in Mb\": 4.455658912658691, \"Time in s\": 733.952375 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8712121212121212, \"F1\": 0.8514357053682896, \"Memory in Mb\": 4.573666572570801, \"Time in s\": 785.013527 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8735511064278187, \"F1\": 0.8561151079136691, \"Memory in Mb\": 4.697152137756348, \"Time in s\": 837.27657 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8757700205338809, \"F1\": 0.8581477139507622, \"Memory in Mb\": 4.820996284484863, \"Time in s\": 890.836474 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8758758758758759, \"F1\": 0.858447488584475, \"Memory in Mb\": 4.93715763092041, \"Time in s\": 945.663339 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8759765625, \"F1\": 0.8590455049944505, \"Memory in Mb\": 4.905686378479004, \"Time in s\": 1001.665911 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8779790276453765, \"F1\": 0.8617710583153347, \"Memory in Mb\": 4.881028175354004, \"Time in s\": 1058.849613 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8780260707635009, \"F1\": 0.86282722513089, \"Memory in Mb\": 4.857575416564941, \"Time in s\": 1117.1299479999998 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8789808917197452, \"F1\": 0.8641470888661901, \"Memory in Mb\": 4.821175575256348, \"Time in s\": 1176.4409139999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798932384341637, \"F1\": 0.8662041625371655, \"Memory in Mb\": 4.749619483947754, \"Time in s\": 1236.7626339999997 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807658833768495, \"F1\": 0.8668610301263362, \"Memory in Mb\": 4.722535133361816, \"Time in s\": 1298.0588499999997 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.879045996592845, \"F1\": 0.8645038167938931, \"Memory in Mb\": 4.706612586975098, \"Time in s\": 1360.3228199999996 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8807339449541285, \"F1\": 0.865979381443299, \"Memory in Mb\": 4.686341285705566, \"Time in s\": 1423.5043029999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8815359477124183, \"F1\": 0.8666053357865686, \"Memory in Mb\": 4.653275489807129, \"Time in s\": 1487.6393369999996 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8815052041633307, \"F1\": 0.867145421903052, \"Memory in Mb\": 4.596428871154785, \"Time in s\": 1552.6498929999996 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.559709548950195, \"Time in s\": 49.463009 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.594751358032227, \"Time in s\": 126.299444 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.435243606567383, \"Time in s\": 223.803561 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.493677139282227, \"Time in s\": 340.763146 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.534708023071289, \"Time in s\": 475.19475 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.455095291137695, \"Time in s\": 625.35715 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.479013442993164, \"Time in s\": 790.6914730000001 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686198515404, \"F1\": 0.9, \"Memory in Mb\": 4.445444107055664, \"Time in s\": 971.128522 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998832184981898, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.544534683227539, \"Time in s\": 1166.447296 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998948972620736, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.52708625793457, \"Time in s\": 1376.022994 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999904452512899, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.493997573852539, \"Time in s\": 1599.513782 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124151521788, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.490983963012695, \"Time in s\": 1835.532511 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999191527205108, \"F1\": 0.9166666666666666, \"Memory in Mb\": 4.531465530395508, \"Time in s\": 2083.498651 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998873916144289, \"F1\": 0.88, \"Memory in Mb\": 4.54191780090332, \"Time in s\": 2343.113276 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999894899103139, \"F1\": 0.88, \"Memory in Mb\": 4.488824844360352, \"Time in s\": 2613.833594 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999014681249384, \"F1\": 0.88, \"Memory in Mb\": 4.459695816040039, \"Time in s\": 2894.8346570000003 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999072642967544, \"F1\": 0.88, \"Memory in Mb\": 4.475152969360352, \"Time in s\": 3186.5040240000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999124164306776, \"F1\": 0.88, \"Memory in Mb\": 4.543954849243164, \"Time in s\": 3487.9588300000005 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999170262197146, \"F1\": 0.88, \"Memory in Mb\": 4.482622146606445, \"Time in s\": 3798.7831540000006 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999211750177356, \"F1\": 0.88, \"Memory in Mb\": 4.496248245239258, \"Time in s\": 4119.269013000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999924928682248, \"F1\": 0.88, \"Memory in Mb\": 4.471353530883789, \"Time in s\": 4448.958874000001 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999283410963812, \"F1\": 0.88, \"Memory in Mb\": 4.53770637512207, \"Time in s\": 4788.142489000001 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999931456772071, \"F1\": 0.88, \"Memory in Mb\": 4.51286506652832, \"Time in s\": 5135.940338 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999343128024348, \"F1\": 0.88, \"Memory in Mb\": 4.49894905090332, \"Time in s\": 5492.9415070000005 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999369403455668, \"F1\": 0.88, \"Memory in Mb\": 4.555765151977539, \"Time in s\": 5859.118968000001 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999393657659116, \"F1\": 0.88, \"Memory in Mb\": 4.430139541625977, \"Time in s\": 6234.600581000001 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999221486959906, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.466188430786133, \"Time in s\": 6619.789592000001 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999249291518872, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.526651382446289, \"Time in s\": 7013.956607000001 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9999275178487298, \"F1\": 0.8571428571428571, \"Memory in Mb\": 4.485139846801758, \"Time in s\": 7418.775951000001 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898018882796, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.452577590942383, \"Time in s\": 7831.9045620000015 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997965825874696, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.485406875610352, \"Time in s\": 8252.946705000002 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998029394860004, \"F1\": 0.7391304347826089, \"Memory in Mb\": 4.502649307250977, \"Time in s\": 8681.511861000003 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997770629637888, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.495584487915039, \"Time in s\": 9116.499033000002 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997836200367846, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.500345230102539, \"Time in s\": 9557.922914000002 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997898024142694, \"F1\": 0.7083333333333334, \"Memory in Mb\": 4.572656631469727, \"Time in s\": 10005.892137000004 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664472243712, \"F1\": 0.68, \"Memory in Mb\": 4.537866592407227, \"Time in s\": 10460.064213000003 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997727595512002, \"F1\": 0.68, \"Memory in Mb\": 4.469621658325195, \"Time in s\": 10920.643886000003 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997787396457068, \"F1\": 0.68, \"Memory in Mb\": 4.537904739379883, \"Time in s\": 11387.046035000005 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997844130645684, \"F1\": 0.68, \"Memory in Mb\": 4.493074417114258, \"Time in s\": 11859.048710000005 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99978980280876, \"F1\": 0.68, \"Memory in Mb\": 4.520692825317383, \"Time in s\": 12336.641580000003 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997949296352312, \"F1\": 0.68, \"Memory in Mb\": 4.566102981567383, \"Time in s\": 12820.170836000005 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997998123240538, \"F1\": 0.68, \"Memory in Mb\": 4.500688552856445, \"Time in s\": 13309.287446000002 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998044679082956, \"F1\": 0.68, \"Memory in Mb\": 4.506959915161133, \"Time in s\": 13804.219559000005 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089118725442, \"F1\": 0.68, \"Memory in Mb\": 4.503435134887695, \"Time in s\": 14304.793113000003 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998131583249644, \"F1\": 0.68, \"Memory in Mb\": 4.498682022094727, \"Time in s\": 14810.923265000005 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998172201469092, \"F1\": 0.68, \"Memory in Mb\": 4.491861343383789, \"Time in s\": 15322.783751000004 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998099284436494, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.496858596801758, \"Time in s\": 15840.351229000004 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998138883110912, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.480546951293945, \"Time in s\": 16363.581709000004 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999817686549557, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.533571243286133, \"Time in s\": 16892.331870000005 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998213328568876, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.517786026000977, \"Time in s\": 17426.665113000006 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998213441227471, \"F1\": 0.6666666666666666, \"Memory in Mb\": 4.518220901489258, \"Time in s\": 17961.110841000005 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4857142857142857, \"F1\": 0.4599999999999999, \"Memory in Mb\": 0.1797952651977539, \"Time in s\": 0.693272 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165876777251185, \"F1\": 0.4574468085106383, \"Memory in Mb\": 0.1805887222290039, \"Time in s\": 2.027128 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205047318611987, \"F1\": 0.4722222222222222, \"Memory in Mb\": 0.1812677383422851, \"Time in s\": 4.089008 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.4838709677419355, \"Memory in Mb\": 0.1813135147094726, \"Time in s\": 6.917919 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.55765595463138, \"F1\": 0.455813953488372, \"Memory in Mb\": 0.1813364028930664, \"Time in s\": 10.429995 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.4259634888438134, \"Memory in Mb\": 0.1819925308227539, \"Time in s\": 14.687229 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748987854251012, \"F1\": 0.4220183486238532, \"Memory in Mb\": 0.1820383071899414, \"Time in s\": 19.647457 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5785123966942148, \"F1\": 0.4232633279483037, \"Memory in Mb\": 0.1819696426391601, \"Time in s\": 25.366911 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.4193548387096774, \"Memory in Mb\": 0.1819467544555664, \"Time in s\": 31.800242 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4146341463414634, \"Memory in Mb\": 0.1819467544555664, \"Time in s\": 39.029576 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.4015056461731493, \"Memory in Mb\": 0.1819238662719726, \"Time in s\": 46.984262 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4101382488479262, \"Memory in Mb\": 0.1819238662719726, \"Time in s\": 55.672123 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.3973799126637554, \"Memory in Mb\": 0.1825342178344726, \"Time in s\": 65.02100899999999 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.3926380368098159, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 75.177128 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.3896353166986563, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 86.053176 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.3876811594202898, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 97.727606 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6013325930038868, \"F1\": 0.3904923599320882, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 110.067211 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.396812749003984, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 123.213825 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.3961136023916292, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 137.051202 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5969797074091553, \"F1\": 0.3994374120956399, \"Memory in Mb\": 0.1824884414672851, \"Time in s\": 151.568436 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597752808988764, \"F1\": 0.4013377926421405, \"Memory in Mb\": 0.1824426651000976, \"Time in s\": 166.814875 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5988845988845989, \"F1\": 0.4033184428844926, \"Memory in Mb\": 0.1824426651000976, \"Time in s\": 182.823981 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5995075913007797, \"F1\": 0.4019607843137255, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 199.616425 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008651199370821, \"F1\": 0.4088526499708794, \"Memory in Mb\": 0.1824655532836914, \"Time in s\": 217.084375 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002265005662514, \"F1\": 0.4073866815892558, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 235.279245 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4028077753779697, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 254.250965 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599790283117791, \"F1\": 0.4051948051948052, \"Memory in Mb\": 0.1830987930297851, \"Time in s\": 273.857236 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599932591843613, \"F1\": 0.4026170105686965, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 294.204326 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5977871786527823, \"F1\": 0.4023210831721469, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 315.311898 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986159169550173, \"F1\": 0.4042950513538749, \"Memory in Mb\": 0.1831216812133789, \"Time in s\": 337.189575 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5981735159817352, \"F1\": 0.4021739130434782, \"Memory in Mb\": 0.1785964965820312, \"Time in s\": 359.75124 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5959893836626364, \"F1\": 0.4022687609075043, \"Memory in Mb\": 0.2364349365234375, \"Time in s\": 383.144231 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597369173577352, \"F1\": 0.4023769100169779, \"Memory in Mb\": 0.2806434631347656, \"Time in s\": 407.324287 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008881487649181, \"F1\": 0.4087171052631579, \"Memory in Mb\": 0.3000526428222656, \"Time in s\": 432.314941 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012402264761392, \"F1\": 0.4086365453818472, \"Memory in Mb\": 0.3464546203613281, \"Time in s\": 458.107983 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6023591087811271, \"F1\": 0.4104158569762923, \"Memory in Mb\": 0.3760719299316406, \"Time in s\": 484.645149 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6052027543993879, \"F1\": 0.4145234493192133, \"Memory in Mb\": 0.4113121032714844, \"Time in s\": 512.014837 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608393344921778, \"F1\": 0.4195804195804196, \"Memory in Mb\": 0.4392280578613281, \"Time in s\": 540.239956 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6121461408178079, \"F1\": 0.4260651629072682, \"Memory in Mb\": 0.4532661437988281, \"Time in s\": 569.3761920000001 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157112526539278, \"F1\": 0.4329968673860076, \"Memory in Mb\": 0.4546051025390625, \"Time in s\": 599.333749 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6186421173762946, \"F1\": 0.4384954252795662, \"Memory in Mb\": 0.4373931884765625, \"Time in s\": 630.119 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6212087171422153, \"F1\": 0.4420913302448709, \"Memory in Mb\": 0.4377059936523437, \"Time in s\": 661.732786 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6214614878209348, \"F1\": 0.4437278297323443, \"Memory in Mb\": 0.4275894165039062, \"Time in s\": 694.0925080000001 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6219172206733863, \"F1\": 0.4454230890217049, \"Memory in Mb\": 0.3975372314453125, \"Time in s\": 727.2725200000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6227720696162717, \"F1\": 0.4449244060475162, \"Memory in Mb\": 0.42584228515625, \"Time in s\": 761.2761580000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6235897435897436, \"F1\": 0.4444444444444444, \"Memory in Mb\": 0.393829345703125, \"Time in s\": 796.1318860000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6251756675366392, \"F1\": 0.4491000295072292, \"Memory in Mb\": 0.39398193359375, \"Time in s\": 831.6856570000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.624139964615687, \"F1\": 0.4467592592592592, \"Memory in Mb\": 0.39410400390625, \"Time in s\": 867.9313910000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6248796456768727, \"F1\": 0.4469051675184554, \"Memory in Mb\": 0.394500732421875, \"Time in s\": 904.957506 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6259671636157765, \"F1\": 0.4482182628062361, \"Memory in Mb\": 0.4006576538085937, \"Time in s\": 942.730038 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8651933701657458, \"F1\": 0.8685344827586208, \"Memory in Mb\": 1.5650663375854492, \"Time in s\": 11.845084 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895637769188294, \"F1\": 0.8684210526315789, \"Memory in Mb\": 1.8734617233276367, \"Time in s\": 34.886970000000005 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8778064041221936, \"F1\": 0.8547681539807523, \"Memory in Mb\": 1.7035398483276367, \"Time in s\": 70.08374500000001 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835219431410434, \"F1\": 0.8607260726072606, \"Memory in Mb\": 1.6641263961791992, \"Time in s\": 115.953507 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8878339589313314, \"F1\": 0.8599007170435742, \"Memory in Mb\": 2.069842338562012, \"Time in s\": 171.720075 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.886292548298068, \"F1\": 0.8580615525953147, \"Memory in Mb\": 2.326838493347168, \"Time in s\": 235.88433300000003 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8845607948273143, \"F1\": 0.8556782334384859, \"Memory in Mb\": 1.8882322311401367, \"Time in s\": 307.801578 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8835380157306472, \"F1\": 0.8526021655606008, \"Memory in Mb\": 1.7675046920776367, \"Time in s\": 386.842642 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854409419845456, \"F1\": 0.8617115783239561, \"Memory in Mb\": 1.8750486373901367, \"Time in s\": 473.251889 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8863009162159179, \"F1\": 0.8664765361680064, \"Memory in Mb\": 1.8668012619018557, \"Time in s\": 566.6143930000001 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883492222779729, \"F1\": 0.8657337805019083, \"Memory in Mb\": 1.624751091003418, \"Time in s\": 666.8526760000001 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851071658541072, \"F1\": 0.8689539397754694, \"Memory in Mb\": 1.836443901062012, \"Time in s\": 773.0944300000001 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819733378619343, \"F1\": 0.8645224171539961, \"Memory in Mb\": 1.461909294128418, \"Time in s\": 884.893217 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8788930063865016, \"F1\": 0.8610709117221419, \"Memory in Mb\": 1.412806510925293, \"Time in s\": 1002.145707 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880197218338362, \"F1\": 0.863970588235294, \"Memory in Mb\": 1.521845817565918, \"Time in s\": 1125.032122 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8799586064160055, \"F1\": 0.8644437519476471, \"Memory in Mb\": 1.922499656677246, \"Time in s\": 1253.0070850000002 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805272384910071, \"F1\": 0.8643667993513195, \"Memory in Mb\": 1.924330711364746, \"Time in s\": 1386.9590420000002 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8794382780401054, \"F1\": 0.8622670589883704, \"Memory in Mb\": 1.6739492416381836, \"Time in s\": 1526.6043270000002 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8781153779120432, \"F1\": 0.8583389601620527, \"Memory in Mb\": 2.050276756286621, \"Time in s\": 1671.5850450000005 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8772559192008389, \"F1\": 0.8570510348373829, \"Memory in Mb\": 2.0607213973999023, \"Time in s\": 1821.619573 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8782128777923784, \"F1\": 0.8564702967230379, \"Memory in Mb\": 1.4914274215698242, \"Time in s\": 1976.682617 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8703025437760273, \"F1\": 0.8482357776081723, \"Memory in Mb\": 0.7451009750366211, \"Time in s\": 2137.4066430000003 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8626001823679033, \"F1\": 0.8387314820030418, \"Memory in Mb\": 0.7786626815795898, \"Time in s\": 2303.79277 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8638642321666743, \"F1\": 0.8378259916721456, \"Memory in Mb\": 0.8927946090698242, \"Time in s\": 2475.479733 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8337590464027246, \"Memory in Mb\": 1.0149259567260742, \"Time in s\": 2652.48421 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8552748885586924, \"F1\": 0.8239789332369494, \"Memory in Mb\": 0.7698392868041992, \"Time in s\": 2835.224884 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8513143371080496, \"F1\": 0.8171902488062327, \"Memory in Mb\": 0.8274068832397461, \"Time in s\": 3023.118045 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8471242165017543, \"F1\": 0.8121670057153928, \"Memory in Mb\": 0.9264287948608398, \"Time in s\": 3216.225907 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8469912077037263, \"F1\": 0.8116213683223992, \"Memory in Mb\": 1.0318632125854492, \"Time in s\": 3414.151818 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8476397218440708, \"F1\": 0.8134600657687283, \"Memory in Mb\": 0.828364372253418, \"Time in s\": 3617.194246 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8442585009791703, \"F1\": 0.8083260297984224, \"Memory in Mb\": 0.9404935836791992, \"Time in s\": 3825.52125 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8416405091235211, \"F1\": 0.8035935828877006, \"Memory in Mb\": 0.932948112487793, \"Time in s\": 4039.267659 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8389804997156906, \"F1\": 0.7997670742866649, \"Memory in Mb\": 0.8770322799682617, \"Time in s\": 4258.308337 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8374508976398403, \"F1\": 0.7964054812344976, \"Memory in Mb\": 1.024897575378418, \"Time in s\": 4482.681616999999 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8326973414488, \"F1\": 0.7888725275599952, \"Memory in Mb\": 0.9494352340698242, \"Time in s\": 4711.951208999999 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.827318718381113, \"F1\": 0.7808219178082191, \"Memory in Mb\": 0.861109733581543, \"Time in s\": 4945.765051999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8271531278899794, \"F1\": 0.7806964420893262, \"Memory in Mb\": 1.093031883239746, \"Time in s\": 5184.141968999998 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8255439044935661, \"F1\": 0.7779174678302028, \"Memory in Mb\": 1.133570671081543, \"Time in s\": 5427.007607999998 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8253191067840263, \"F1\": 0.7766196163590301, \"Memory in Mb\": 1.1872129440307615, \"Time in s\": 5674.462564999998 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8264576837109192, \"F1\": 0.7764070110569915, \"Memory in Mb\": 1.431788444519043, \"Time in s\": 5926.318084999998 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245255081437609, \"F1\": 0.7721616331096196, \"Memory in Mb\": 1.357222557067871, \"Time in s\": 6182.753490999998 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8241833328953247, \"F1\": 0.7704974271012006, \"Memory in Mb\": 1.1449995040893557, \"Time in s\": 6443.434381999998 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8233950252842878, \"F1\": 0.7698534823041413, \"Memory in Mb\": 1.147334098815918, \"Time in s\": 6708.424011999998 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8222160901086221, \"F1\": 0.7699250073044834, \"Memory in Mb\": 0.7468709945678711, \"Time in s\": 6977.570913999998 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8227329588658049, \"F1\": 0.7725140860587366, \"Memory in Mb\": 0.9336042404174804, \"Time in s\": 7251.011506999998 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8235872825434913, \"F1\": 0.7755388654820785, \"Memory in Mb\": 1.097620964050293, \"Time in s\": 7528.4976689999985 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8245696437378174, \"F1\": 0.7776785714285713, \"Memory in Mb\": 1.5453977584838867, \"Time in s\": 7809.843107999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8251431462276082, \"F1\": 0.7787605469886529, \"Memory in Mb\": 0.8941831588745117, \"Time in s\": 8094.859004999998 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8243867276372401, \"F1\": 0.7766701042740918, \"Memory in Mb\": 0.744959831237793, \"Time in s\": 8383.886548999999 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.823770944170953, \"F1\": 0.7766305716444221, \"Memory in Mb\": 0.5983161926269531, \"Time in s\": 8676.996437 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8237734766392267, \"F1\": 0.7765871128395959, \"Memory in Mb\": 0.5984382629394531, \"Time in s\": 8970.151376 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7083333333333334, \"F1\": 0.7407407407407408, \"Memory in Mb\": 0.6633157730102539, \"Time in s\": 0.427424 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8085106382978724, \"Memory in Mb\": 0.6639947891235352, \"Time in s\": 1.324595 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8513513513513513, \"F1\": 0.8493150684931507, \"Memory in Mb\": 0.6639490127563477, \"Time in s\": 2.554164 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8585858585858586, \"F1\": 0.8541666666666666, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 4.28613 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8548387096774194, \"F1\": 0.85, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 6.454494 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523489932885906, \"F1\": 0.8533333333333335, \"Memory in Mb\": 0.6645593643188477, \"Time in s\": 8.992416 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8536585365853658, \"Memory in Mb\": 0.6651926040649414, \"Time in s\": 11.94422 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8592964824120602, \"F1\": 0.8510638297872339, \"Memory in Mb\": 0.6653299331665039, \"Time in s\": 15.477702 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8405797101449276, \"Memory in Mb\": 0.7024993896484375, \"Time in s\": 19.458772 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8473895582329317, \"F1\": 0.8347826086956521, \"Memory in Mb\": 0.730194091796875, \"Time in s\": 23.970287 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8333333333333335, \"Memory in Mb\": 0.7302398681640625, \"Time in s\": 28.914006 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8528428093645485, \"F1\": 0.837037037037037, \"Memory in Mb\": 0.7302398681640625, \"Time in s\": 34.304573 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8611111111111112, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.7308502197265625, \"Time in s\": 40.225779 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8653295128939829, \"F1\": 0.8438538205980067, \"Memory in Mb\": 0.7308731079101562, \"Time in s\": 46.580822 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8427672955974843, \"Memory in Mb\": 0.7674179077148438, \"Time in s\": 53.398646 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8417910447761194, \"Memory in Mb\": 0.804534912109375, \"Time in s\": 60.683253 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679245283018868, \"F1\": 0.839080459770115, \"Memory in Mb\": 0.8596954345703125, \"Time in s\": 68.459501 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8708240534521158, \"F1\": 0.8406593406593408, \"Memory in Mb\": 0.8597640991210938, \"Time in s\": 76.689807 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.869198312236287, \"F1\": 0.8402061855670103, \"Memory in Mb\": 0.859832763671875, \"Time in s\": 85.340536 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8677354709418837, \"F1\": 0.8413461538461539, \"Memory in Mb\": 0.8598556518554688, \"Time in s\": 94.431883 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8384074941451991, \"Memory in Mb\": 0.8598556518554688, \"Time in s\": 103.968058 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8670309653916212, \"F1\": 0.8381374722838136, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 113.947374 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867595818815331, \"F1\": 0.8382978723404255, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 124.337957 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8381742738589212, \"Memory in Mb\": 0.8599014282226562, \"Time in s\": 135.24069899999998 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8373983739837398, \"Memory in Mb\": 0.8966064453125, \"Time in s\": 146.56138699999997 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.846153846153846, \"Memory in Mb\": 0.897308349609375, \"Time in s\": 158.32837399999997 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8478260869565216, \"Memory in Mb\": 0.92486572265625, \"Time in s\": 170.52005599999995 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8515901060070671, \"Memory in Mb\": 0.8633918762207031, \"Time in s\": 183.100014 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825966850828729, \"F1\": 0.8576214405360134, \"Memory in Mb\": 0.9612770080566406, \"Time in s\": 196.144193 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865153538050734, \"F1\": 0.8631239935587761, \"Memory in Mb\": 0.9975471496582032, \"Time in s\": 209.598306 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8875968992248062, \"F1\": 0.863849765258216, \"Memory in Mb\": 1.052570343017578, \"Time in s\": 223.56015 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8873591989987485, \"F1\": 0.8652694610778443, \"Memory in Mb\": 1.1531257629394531, \"Time in s\": 237.949979 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871359223300971, \"F1\": 0.8661870503597122, \"Memory in Mb\": 1.1537437438964844, \"Time in s\": 252.78040299999995 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8881036513545347, \"F1\": 0.8671328671328671, \"Memory in Mb\": 1.1632118225097656, \"Time in s\": 267.983484 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901601830663616, \"F1\": 0.8688524590163934, \"Memory in Mb\": 1.1906776428222656, \"Time in s\": 283.604953 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8887652947719689, \"F1\": 0.8670212765957446, \"Memory in Mb\": 1.2457008361816406, \"Time in s\": 299.652639 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8695652173913043, \"Memory in Mb\": 1.2457923889160156, \"Time in s\": 316.05876399999994 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8893572181243414, \"F1\": 0.8708487084870848, \"Memory in Mb\": 1.2458381652832031, \"Time in s\": 332.972637 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901437371663244, \"F1\": 0.8718562874251498, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 350.27117 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8697674418604652, \"Memory in Mb\": 1.2458610534667969, \"Time in s\": 368.008026 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8700564971751412, \"Memory in Mb\": 1.2459068298339844, \"Time in s\": 386.172169 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8725274725274725, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 404.74234 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.8742004264392325, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 423.719952 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.8761706555671176, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 443.13918 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8790322580645162, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 462.955181 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8938207136640557, \"F1\": 0.8794466403162056, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 483.090208 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926746166950597, \"F1\": 0.877906976744186, \"Memory in Mb\": 1.2458839416503906, \"Time in s\": 503.748339 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8783269961977186, \"Memory in Mb\": 1.2550315856933594, \"Time in s\": 524.8299360000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929738562091504, \"F1\": 0.8779123951537745, \"Memory in Mb\": 1.3099861145019531, \"Time in s\": 546.3067460000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8935148118494796, \"F1\": 0.8792007266121706, \"Memory in Mb\": 1.310077667236328, \"Time in s\": 568.2182720000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1599369049072265, \"Time in s\": 9.565839 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1605472564697265, \"Time in s\": 28.660555 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1610889434814453, \"Time in s\": 57.169533 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161111831665039, \"Time in s\": 95.025921 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161111831665039, \"Time in s\": 141.315828 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.161722183227539, \"Time in s\": 195.517174 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1617450714111328, \"Time in s\": 256.578558 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2173633575439453, \"Time in s\": 324.084886 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.162454605102539, \"Time in s\": 398.342181 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.162271499633789, \"Time in s\": 479.30544 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.1629047393798828, \"Time in s\": 566.848605 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.1629962921142578, \"Time in s\": 660.867353 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.1631336212158203, \"Time in s\": 761.190417 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.1628131866455078, \"Time in s\": 867.1613560000001 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.1630420684814453, \"Time in s\": 978.380996 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.1629276275634765, \"Time in s\": 1094.7710920000002 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.163064956665039, \"Time in s\": 1216.3368180000002 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.162973403930664, \"Time in s\": 1342.8439390000003 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.162973403930664, \"Time in s\": 1474.4175280000004 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.1629962921142578, \"Time in s\": 1611.5765880000004 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.1628589630126953, \"Time in s\": 1753.4950250000004 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 1900.0594340000005 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 2051.0940990000004 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.1636295318603515, \"Time in s\": 2206.5822620000004 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 2366.582792 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1516590118408203, \"Time in s\": 2531.0740060000003 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.163583755493164, \"Time in s\": 2700.0024150000004 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.163583755493164, \"Time in s\": 2873.4051700000005 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.1635379791259765, \"Time in s\": 3051.2280980000005 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 3233.6982610000005 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.1634693145751953, \"Time in s\": 3420.4241430000006 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.163400650024414, \"Time in s\": 3611.3532100000007 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 3806.5756970000007 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 4005.990633000001 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 4209.692892000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 4417.671552000001 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.1634464263916015, \"Time in s\": 4629.924287000001 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 4846.389066000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.1636066436767578, \"Time in s\": 5067.145737000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 5292.119512000001 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.1636524200439453, \"Time in s\": 5520.9977020000015 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.1633319854736328, \"Time in s\": 5753.467598000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.1635608673095703, \"Time in s\": 5989.673013000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.1642627716064453, \"Time in s\": 6229.466851000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.164285659790039, \"Time in s\": 6472.919364000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.164102554321289, \"Time in s\": 6719.889077000002 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.1641483306884765, \"Time in s\": 6970.567347000002 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.1640567779541015, \"Time in s\": 7224.925889000002 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1523609161376953, \"Time in s\": 7483.091298000002 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.164194107055664, \"Time in s\": 7744.930013000002 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.1642169952392578, \"Time in s\": 8006.777295000002 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5523809523809524, \"F1\": 0.5252525252525252, \"Memory in Mb\": 0.1663923263549804, \"Time in s\": 0.661448 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5829383886255924, \"F1\": 0.5555555555555555, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 2.064295 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6025236593059937, \"F1\": 0.5827814569536425, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 4.087538 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6099290780141844, \"F1\": 0.5758354755784061, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 6.767182 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5841209829867675, \"F1\": 0.5089285714285714, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 10.090322 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748031496062992, \"F1\": 0.4981412639405205, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 14.036758 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.582995951417004, \"F1\": 0.4892561983471074, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 18.750104 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5749704840613932, \"F1\": 0.4812680115273775, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 24.116907 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5760755508919203, \"F1\": 0.482051282051282, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 30.255333 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5873465533522191, \"F1\": 0.4828402366863905, \"Memory in Mb\": 0.1665296554565429, \"Time in s\": 37.077733 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5931330472103005, \"F1\": 0.4925053533190577, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 44.554975 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5979543666404405, \"F1\": 0.5034013605442177, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 52.671883 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6005809731299927, \"F1\": 0.4990892531876139, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 61.596702 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6089008766014835, \"F1\": 0.5117845117845117, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 71.17423 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6091881686595343, \"F1\": 0.5121759622937941, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 81.390284 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6135693215339233, \"F1\": 0.5194424064563462, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 92.365155 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6185452526374237, \"F1\": 0.5354969574036511, \"Memory in Mb\": 0.1665754318237304, \"Time in s\": 104.03539999999998 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6208704771893025, \"F1\": 0.5467084639498432, \"Memory in Mb\": 0.1665983200073242, \"Time in s\": 116.33010199999998 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.620963735717834, \"F1\": 0.5561372891215823, \"Memory in Mb\": 0.1666212081909179, \"Time in s\": 129.40978099999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6252949504483247, \"F1\": 0.56941431670282, \"Memory in Mb\": 0.1666212081909179, \"Time in s\": 143.16628799999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6242696629213483, \"F1\": 0.5721596724667348, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 157.57341499999998 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6229086229086229, \"F1\": 0.5763855421686748, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 172.619666 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.62330734509643, \"F1\": 0.5796703296703297, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 188.342899 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6244593000393236, \"F1\": 0.5860424794104898, \"Memory in Mb\": 0.1666440963745117, \"Time in s\": 204.771397 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6266515666289165, \"F1\": 0.591828312009905, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 221.901573 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6250453720508167, \"F1\": 0.5921831819976313, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 239.674138 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6249563089828731, \"F1\": 0.5927893738140417, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 258.142834 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6248736097067745, \"F1\": 0.5924569754668619, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 277.299077 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6260982753010088, \"F1\": 0.5958494548012664, \"Memory in Mb\": 0.1666898727416992, \"Time in s\": 297.096451 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.62378106322743, \"F1\": 0.5934738273283481, \"Memory in Mb\": 0.1541042327880859, \"Time in s\": 317.58276 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6246575342465753, \"F1\": 0.5937397034596376, \"Memory in Mb\": 0.1971263885498047, \"Time in s\": 338.83455200000003 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6234149218519611, \"F1\": 0.5931825422108953, \"Memory in Mb\": 0.2317180633544922, \"Time in s\": 360.725819 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6211038032599371, \"F1\": 0.5894019212891229, \"Memory in Mb\": 0.2662029266357422, \"Time in s\": 383.343908 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6194837635303914, \"F1\": 0.5866747060596926, \"Memory in Mb\": 0.3123226165771484, \"Time in s\": 406.679113 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6238878403882449, \"F1\": 0.5915080527086384, \"Memory in Mb\": 0.3201503753662109, \"Time in s\": 430.743987 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6277850589777195, \"F1\": 0.5970488081725313, \"Memory in Mb\": 0.3261775970458984, \"Time in s\": 455.494794 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6322366743177761, \"F1\": 0.6009961261759823, \"Memory in Mb\": 0.3539028167724609, \"Time in s\": 480.941019 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6354606406754407, \"F1\": 0.6034575904916262, \"Memory in Mb\": 0.3679637908935547, \"Time in s\": 507.154231 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6399709654004355, \"F1\": 0.6073878627968339, \"Memory in Mb\": 0.3758831024169922, \"Time in s\": 534.089651 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.644963434772352, \"F1\": 0.6130110568269478, \"Memory in Mb\": 0.3759059906005859, \"Time in s\": 561.67777 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6508630609896433, \"F1\": 0.6185567010309279, \"Memory in Mb\": 0.3759288787841797, \"Time in s\": 589.949243 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6535609975286453, \"F1\": 0.620384047267356, \"Memory in Mb\": 0.3758831024169922, \"Time in s\": 618.987429 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6570111915734036, \"F1\": 0.6243691420331651, \"Memory in Mb\": 0.3760662078857422, \"Time in s\": 648.691271 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6607334334119666, \"F1\": 0.6288127639605818, \"Memory in Mb\": 0.3761119842529297, \"Time in s\": 679.16585 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6630320821975257, \"F1\": 0.6303197607545433, \"Memory in Mb\": 0.4315700531005859, \"Time in s\": 710.3587739999999 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6670769230769231, \"F1\": 0.6330544879041374, \"Memory in Mb\": 0.4394893646240234, \"Time in s\": 742.192598 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6707488456133307, \"F1\": 0.6378091872791519, \"Memory in Mb\": 0.4457454681396484, \"Time in s\": 774.746403 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6734814232356988, \"F1\": 0.6407094959982694, \"Memory in Mb\": 0.4518642425537109, \"Time in s\": 807.9427459999999 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.674369343346813, \"F1\": 0.6412051771695311, \"Memory in Mb\": 0.4518413543701172, \"Time in s\": 841.965614 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6778637478769579, \"F1\": 0.64504054897068, \"Memory in Mb\": 0.4531536102294922, \"Time in s\": 876.7139659999999 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9337016574585636, \"F1\": 0.933184855233853, \"Memory in Mb\": 1.423478126525879, \"Time in s\": 13.145088 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9491993373826616, \"F1\": 0.937837837837838, \"Memory in Mb\": 2.051041603088379, \"Time in s\": 36.742593 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9385351490614648, \"F1\": 0.9243316719528772, \"Memory in Mb\": 2.3655481338500977, \"Time in s\": 75.07794200000001 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9359646701628483, \"F1\": 0.920980926430518, \"Memory in Mb\": 2.6522607803344727, \"Time in s\": 124.641449 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9361890041951866, \"F1\": 0.9185226952354102, \"Memory in Mb\": 3.339066505432129, \"Time in s\": 184.399421 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9332106715731372, \"F1\": 0.914487632508834, \"Memory in Mb\": 3.582810401916504, \"Time in s\": 253.628197 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9309257214950324, \"F1\": 0.9124350259896042, \"Memory in Mb\": 3.74349308013916, \"Time in s\": 332.298993 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9232785980405686, \"F1\": 0.9024903542616626, \"Memory in Mb\": 3.99596118927002, \"Time in s\": 420.603134 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9207653624432725, \"F1\": 0.9042962962962964, \"Memory in Mb\": 4.062603950500488, \"Time in s\": 517.241068 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9214041284910034, \"F1\": 0.9072191816523326, \"Memory in Mb\": 4.2443437576293945, \"Time in s\": 621.271616 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9173105870546914, \"F1\": 0.9037158214536104, \"Memory in Mb\": 4.387467384338379, \"Time in s\": 732.039898 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.916842976727072, \"F1\": 0.9044195390145908, \"Memory in Mb\": 4.416756629943848, \"Time in s\": 849.200167 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9150887322747728, \"F1\": 0.9024580569644948, \"Memory in Mb\": 4.712822914123535, \"Time in s\": 973.870605 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9128755026413308, \"F1\": 0.9002077124537162, \"Memory in Mb\": 5.243111610412598, \"Time in s\": 1105.403187 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9123555817205092, \"F1\": 0.900890405259216, \"Memory in Mb\": 5.419106483459473, \"Time in s\": 1243.898383 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9112107623318386, \"F1\": 0.9002402914502752, \"Memory in Mb\": 5.619416236877441, \"Time in s\": 1388.762519 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9125381468735796, \"F1\": 0.9014414282578476, \"Memory in Mb\": 5.888123512268066, \"Time in s\": 1539.2398159999998 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9096093702091128, \"F1\": 0.8977808599167822, \"Memory in Mb\": 6.072480201721191, \"Time in s\": 1695.9498239999998 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9093708243769244, \"F1\": 0.8958611481975968, \"Memory in Mb\": 6.119706153869629, \"Time in s\": 1858.647702 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9071140791434406, \"F1\": 0.892972972972973, \"Memory in Mb\": 6.420571327209473, \"Time in s\": 2027.885605 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.907910643889619, \"F1\": 0.8927784577723377, \"Memory in Mb\": 6.732544898986816, \"Time in s\": 2202.439499 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9079323666649942, \"F1\": 0.8936540133294696, \"Memory in Mb\": 6.836274147033691, \"Time in s\": 2383.16175 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9073283102174018, \"F1\": 0.8931673582295988, \"Memory in Mb\": 7.145352363586426, \"Time in s\": 2570.030805 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9069585613760752, \"F1\": 0.8912424063222407, \"Memory in Mb\": 7.368103981018066, \"Time in s\": 2762.468029 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9053379840169544, \"F1\": 0.8884611382790553, \"Memory in Mb\": 7.513260841369629, \"Time in s\": 2961.014701 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9031203566121844, \"F1\": 0.885441767068273, \"Memory in Mb\": 7.7879228591918945, \"Time in s\": 3165.900418 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9015984628592452, \"F1\": 0.8830361047669955, \"Memory in Mb\": 7.954785346984863, \"Time in s\": 3377.578704 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8990026412267907, \"F1\": 0.8799775133514476, \"Memory in Mb\": 8.00295352935791, \"Time in s\": 3596.265534 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8993263045712329, \"F1\": 0.8800942925789926, \"Memory in Mb\": 8.124005317687988, \"Time in s\": 3821.215918 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8986717686449097, \"F1\": 0.8798324461122262, \"Memory in Mb\": 8.133870124816895, \"Time in s\": 4052.049016 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8958874844222895, \"F1\": 0.8761436801084379, \"Memory in Mb\": 8.60555362701416, \"Time in s\": 4289.013778 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8951398709944466, \"F1\": 0.8747011787981206, \"Memory in Mb\": 8.944867134094238, \"Time in s\": 4531.544758 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927986085560424, \"F1\": 0.8719485396939551, \"Memory in Mb\": 9.235833168029783, \"Time in s\": 4780.469894 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8921533616855502, \"F1\": 0.8705882352941176, \"Memory in Mb\": 9.317421913146973, \"Time in s\": 5034.96976 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8903465892964143, \"F1\": 0.8684499262229957, \"Memory in Mb\": 9.565300941467283, \"Time in s\": 5295.565511 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8890387858347386, \"F1\": 0.867226767435888, \"Memory in Mb\": 9.898663520812988, \"Time in s\": 5561.886477999999 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8882789892902956, \"F1\": 0.8666547979348406, \"Memory in Mb\": 10.141366004943848, \"Time in s\": 5833.648399 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8878496528887211, \"F1\": 0.8660444783679699, \"Memory in Mb\": 10.462204933166504, \"Time in s\": 6110.893153 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8864800611326522, \"F1\": 0.8639185750636134, \"Memory in Mb\": 10.841256141662598, \"Time in s\": 6393.894783 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8857584370429648, \"F1\": 0.8622387861040862, \"Memory in Mb\": 11.13858127593994, \"Time in s\": 6682.129445 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8846412706959214, \"F1\": 0.8604643589827087, \"Memory in Mb\": 11.587563514709473, \"Time in s\": 6975.521303 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883682426217445, \"F1\": 0.8588377878420617, \"Memory in Mb\": 12.028901100158691, \"Time in s\": 7273.546291 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8819210924865878, \"F1\": 0.8569117830036083, \"Memory in Mb\": 12.1774263381958, \"Time in s\": 7576.403824 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880741539773725, \"F1\": 0.8567122792211707, \"Memory in Mb\": 12.330445289611816, \"Time in s\": 7883.760394 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880423851455763, \"F1\": 0.8574603081781235, \"Memory in Mb\": 12.583298683166504, \"Time in s\": 8195.49812 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8811517696460708, \"F1\": 0.8591977712710009, \"Memory in Mb\": 12.884881019592283, \"Time in s\": 8511.394385 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8815199267278834, \"F1\": 0.8597403319525146, \"Memory in Mb\": 13.200516700744627, \"Time in s\": 8831.520838 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8809069377055212, \"F1\": 0.8591399896646449, \"Memory in Mb\": 13.322876930236816, \"Time in s\": 9156.403803 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880476651724371, \"F1\": 0.8583404527979496, \"Memory in Mb\": 13.499638557434082, \"Time in s\": 9485.877502 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805713150400671, \"F1\": 0.8587024655244463, \"Memory in Mb\": 13.542492866516112, \"Time in s\": 9819.626928 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8805808744013595, \"F1\": 0.8586874200203704, \"Memory in Mb\": 13.542401313781738, \"Time in s\": 10153.705154 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.7142857142857143, \"Memory in Mb\": 0.6517477035522461, \"Time in s\": 0.344782 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7551020408163265, \"F1\": 0.7391304347826088, \"Memory in Mb\": 0.6519079208374023, \"Time in s\": 1.052047 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7972972972972973, \"F1\": 0.7945205479452055, \"Memory in Mb\": 0.6519308090209961, \"Time in s\": 2.04852 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.7999999999999999, \"Memory in Mb\": 0.6519536972045898, \"Time in s\": 3.481699 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8064516129032258, \"F1\": 0.8000000000000002, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 5.345952 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.8211920529801323, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 7.607799 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8313253012048192, \"Memory in Mb\": 0.6519804000854492, \"Time in s\": 10.226605 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8341708542713567, \"F1\": 0.8253968253968254, \"Memory in Mb\": 0.6889629364013672, \"Time in s\": 13.384675 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8303571428571429, \"F1\": 0.8173076923076923, \"Memory in Mb\": 0.6891918182373047, \"Time in s\": 16.995274 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8273092369477911, \"F1\": 0.8154506437768241, \"Memory in Mb\": 0.6892147064208984, \"Time in s\": 21.029962 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8321167883211679, \"F1\": 0.8188976377952757, \"Memory in Mb\": 0.6892833709716797, \"Time in s\": 25.500591 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8394648829431438, \"F1\": 0.823529411764706, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 30.459705 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.845679012345679, \"F1\": 0.8263888888888888, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 35.865097 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8510028653295129, \"F1\": 0.8289473684210527, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 41.618205 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8502673796791443, \"F1\": 0.8260869565217391, \"Memory in Mb\": 0.6892795562744141, \"Time in s\": 47.877466 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.849624060150376, \"F1\": 0.8235294117647061, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 54.483198 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8561320754716981, \"F1\": 0.8271954674220963, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 61.544972 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8530066815144766, \"F1\": 0.8225806451612903, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 69.002264 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523206751054853, \"F1\": 0.8241206030150755, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 77.051638 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8557114228456913, \"F1\": 0.8317757009345793, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 85.50066 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8530534351145038, \"F1\": 0.8253968253968255, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 94.362743 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8579234972677595, \"F1\": 0.832618025751073, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 103.688841 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8588850174216028, \"F1\": 0.8336755646817249, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 113.608321 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8631051752921536, \"F1\": 0.8360000000000001, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 123.905415 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8621794871794872, \"F1\": 0.83203125, \"Memory in Mb\": 0.6893062591552734, \"Time in s\": 134.725616 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8659476117103235, \"F1\": 0.8391866913123845, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 146.008333 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679525222551929, \"F1\": 0.8446771378708552, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 157.728693 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8726752503576538, \"F1\": 0.848381601362862, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 169.816185 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8756906077348067, \"F1\": 0.8543689320388349, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 182.229315 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.87716955941255, \"F1\": 0.8566978193146417, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 195.113196 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8785529715762274, \"F1\": 0.8575757575757577, \"Memory in Mb\": 0.6893291473388672, \"Time in s\": 208.501766 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8785982478097623, \"F1\": 0.8592162554426704, \"Memory in Mb\": 0.7275295257568359, \"Time in s\": 222.496546 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798543689320388, \"F1\": 0.8619246861924686, \"Memory in Mb\": 0.7627391815185547, \"Time in s\": 236.948041 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798586572438163, \"F1\": 0.8614130434782608, \"Memory in Mb\": 0.7627849578857422, \"Time in s\": 251.813013 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8787185354691075, \"F1\": 0.8594164456233422, \"Memory in Mb\": 0.7628536224365234, \"Time in s\": 267.105354 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8787541713014461, \"F1\": 0.8589909443725743, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 282.965748 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8809523809523809, \"F1\": 0.8628428927680798, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 299.167544 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798735511064278, \"F1\": 0.8629807692307693, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 315.934336 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8819301848049281, \"F1\": 0.8651817116060961, \"Memory in Mb\": 0.7628765106201172, \"Time in s\": 333.021735 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828828828828829, \"F1\": 0.8662857142857143, \"Memory in Mb\": 0.7645549774169922, \"Time in s\": 350.749086 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8828125, \"F1\": 0.8666666666666666, \"Memory in Mb\": 0.8362636566162109, \"Time in s\": 368.847305 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8846520495710201, \"F1\": 0.8691891891891892, \"Memory in Mb\": 0.8363094329833984, \"Time in s\": 387.397742 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836126629422719, \"F1\": 0.8691099476439791, \"Memory in Mb\": 0.8378963470458984, \"Time in s\": 406.476047 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844404003639672, \"F1\": 0.8702757916241062, \"Memory in Mb\": 0.8380107879638672, \"Time in s\": 425.926155 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8861209964412812, \"F1\": 0.8732673267326733, \"Memory in Mb\": 0.8731288909912109, \"Time in s\": 445.763528 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8842471714534378, \"F1\": 0.8707482993197277, \"Memory in Mb\": 0.8731517791748047, \"Time in s\": 466.112685 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8816013628620102, \"F1\": 0.8677450047573739, \"Memory in Mb\": 0.8732662200927734, \"Time in s\": 487.01292 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798999165971643, \"F1\": 0.8654205607476635, \"Memory in Mb\": 0.8732662200927734, \"Time in s\": 508.389566 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.880718954248366, \"F1\": 0.8660550458715598, \"Memory in Mb\": 0.8732891082763672, \"Time in s\": 530.180451 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783026421136909, \"F1\": 0.8635547576301617, \"Memory in Mb\": 0.8733119964599609, \"Time in s\": 552.608585 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.14459228515625, \"Time in s\": 4.671696 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446609497070312, \"Time in s\": 14.150102 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446151733398437, \"Time in s\": 28.360088 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446380615234375, \"Time in s\": 47.155736000000005 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446380615234375, \"Time in s\": 70.60316700000001 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1446151733398437, \"Time in s\": 98.660415 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.144683837890625, \"Time in s\": 131.464682 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996715496288512, \"F1\": 0.761904761904762, \"Memory in Mb\": 0.3174581527709961, \"Time in s\": 185.699411 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997080462454748, \"F1\": 0.8, \"Memory in Mb\": 0.3083944320678711, \"Time in s\": 248.358611 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372431551842, \"F1\": 0.8, \"Memory in Mb\": 0.3005514144897461, \"Time in s\": 315.58373 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997611312822472, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 387.343573 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997810378804468, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 463.526447 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997978818012774, \"F1\": 0.8, \"Memory in Mb\": 0.2926855087280273, \"Time in s\": 544.0157879999999 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998123193573816, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 629.1407149999999 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248318385652, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 718.5008859999999 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357802082308, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579168319702148, \"Time in s\": 812.0251739999999 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998454404945905, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579626083374023, \"Time in s\": 909.687376 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998540273844628, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3579854965209961, \"Time in s\": 1011.417335 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999861710366191, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1116.7962549999995 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686250295594, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1225.6397989999998 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998748811370802, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1337.9609139999998 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998805684939688, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1453.6581889999998 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998857612867847, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1572.7472669999995 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998905213373912, \"F1\": 0.8148148148148148, \"Memory in Mb\": 0.3580083847045898, \"Time in s\": 1695.2891979999995 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998738806911338, \"F1\": 0.7857142857142857, \"Memory in Mb\": 0.3903570175170898, \"Time in s\": 1822.117106 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998787315318228, \"F1\": 0.7857142857142857, \"Memory in Mb\": 0.3928442001342773, \"Time in s\": 1952.439332 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998637602179836, \"F1\": 0.787878787878788, \"Memory in Mb\": 0.4802007675170898, \"Time in s\": 2088.556257 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686260158024, \"F1\": 0.787878787878788, \"Memory in Mb\": 0.4802465438842773, \"Time in s\": 2228.050331 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998550356974596, \"F1\": 0.7647058823529411, \"Memory in Mb\": 0.5258626937866211, \"Time in s\": 2371.062704 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999281823118289, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8453359603881836, \"Time in s\": 2524.551865 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993049905071876, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8887395858764648, \"Time in s\": 2681.973264 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993267099105017, \"F1\": 0.4383561643835616, \"Memory in Mb\": 0.8967199325561523, \"Time in s\": 2843.114587 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993152648173508, \"F1\": 0.4266666666666667, \"Memory in Mb\": 1.0689306259155271, \"Time in s\": 3009.18915 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993354043986956, \"F1\": 0.4266666666666667, \"Memory in Mb\": 1.0783147811889648, \"Time in s\": 3178.956821 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993393790162752, \"F1\": 0.4210526315789473, \"Memory in Mb\": 1.0915288925170898, \"Time in s\": 3352.423608 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993577298670208, \"F1\": 0.45, \"Memory in Mb\": 1.0735387802124023, \"Time in s\": 3530.715962 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993750887658004, \"F1\": 0.45, \"Memory in Mb\": 1.0788640975952148, \"Time in s\": 3712.739099 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993915340256938, \"F1\": 0.45, \"Memory in Mb\": 1.0906057357788086, \"Time in s\": 3898.148799 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994071359275628, \"F1\": 0.45, \"Memory in Mb\": 1.0906057357788086, \"Time in s\": 4086.957815 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99942195772409, \"F1\": 0.45, \"Memory in Mb\": 1.090651512145996, \"Time in s\": 4279.139143 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994232395990874, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1481237411499023, \"Time in s\": 4474.636732 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369721614011, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1493444442749023, \"Time in s\": 4673.509203 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999450065992081, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1612462997436523, \"Time in s\": 4875.758715 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994625646415306, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.161269187927246, \"Time in s\": 5081.435613 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745077889624, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1612234115600586, \"Time in s\": 5290.523743 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994859316631824, \"F1\": 0.4444444444444444, \"Memory in Mb\": 1.1584348678588867, \"Time in s\": 5502.994331999999 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999463327370304, \"F1\": 0.4285714285714285, \"Memory in Mb\": 1.2966947555541992, \"Time in s\": 5719.643149 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745081724928, \"F1\": 0.4285714285714285, \"Memory in Mb\": 1.3124494552612305, \"Time in s\": 5939.715090999999 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994316110074428, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3362340927124023, \"Time in s\": 6163.415711999999 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994429789067673, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3363256454467771, \"Time in s\": 6390.433574999999 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"AdaBoost\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994430140297408, \"F1\": 0.4044943820224719, \"Memory in Mb\": 1.3363256454467771, \"Time in s\": 6617.502892999999 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.4857142857142857, \"F1\": 0.4599999999999999, \"Memory in Mb\": 0.2237319946289062, \"Time in s\": 0.813651 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5165876777251185, \"F1\": 0.4574468085106383, \"Memory in Mb\": 0.2245254516601562, \"Time in s\": 2.392298 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5205047318611987, \"F1\": 0.4722222222222222, \"Memory in Mb\": 0.2251434326171875, \"Time in s\": 4.879886 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.4838709677419355, \"Memory in Mb\": 0.225250244140625, \"Time in s\": 8.257922 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.55765595463138, \"F1\": 0.455813953488372, \"Memory in Mb\": 0.2252731323242187, \"Time in s\": 12.416081000000002 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5543307086614173, \"F1\": 0.4259634888438134, \"Memory in Mb\": 0.2257461547851562, \"Time in s\": 17.551695000000002 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5748987854251012, \"F1\": 0.4220183486238532, \"Memory in Mb\": 0.2259750366210937, \"Time in s\": 23.418389 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5785123966942148, \"F1\": 0.4232633279483037, \"Memory in Mb\": 0.2259063720703125, \"Time in s\": 30.181971 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5844700944386149, \"F1\": 0.4193548387096774, \"Memory in Mb\": 0.2258834838867187, \"Time in s\": 37.806045 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5920679886685553, \"F1\": 0.4146341463414634, \"Memory in Mb\": 0.2256393432617187, \"Time in s\": 46.336236 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.590557939914163, \"F1\": 0.4015056461731493, \"Memory in Mb\": 0.225738525390625, \"Time in s\": 55.794626 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5971675845790716, \"F1\": 0.4101382488479262, \"Memory in Mb\": 0.226043701171875, \"Time in s\": 66.093431 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599128540305011, \"F1\": 0.3973799126637554, \"Memory in Mb\": 0.226348876953125, \"Time in s\": 77.304266 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5994605529332434, \"F1\": 0.3926380368098159, \"Memory in Mb\": 0.2263031005859375, \"Time in s\": 89.41731899999999 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5997482693517936, \"F1\": 0.3896353166986563, \"Memory in Mb\": 0.2262802124023437, \"Time in s\": 102.388462 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6011799410029498, \"F1\": 0.3876811594202898, \"Memory in Mb\": 0.2263412475585937, \"Time in s\": 116.266249 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6013325930038868, \"F1\": 0.3904923599320882, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 130.90050499999998 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6030414263240692, \"F1\": 0.396812749003984, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 146.406164 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986090412319921, \"F1\": 0.3961136023916292, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 162.81699799999998 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5969797074091553, \"F1\": 0.3994374120956399, \"Memory in Mb\": 0.2263641357421875, \"Time in s\": 180.02605599999998 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597752808988764, \"F1\": 0.4013377926421405, \"Memory in Mb\": 0.226318359375, \"Time in s\": 198.114263 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5988845988845989, \"F1\": 0.4033184428844926, \"Memory in Mb\": 0.22637939453125, \"Time in s\": 217.043548 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5995075913007797, \"F1\": 0.4019607843137255, \"Memory in Mb\": 0.2264022827148437, \"Time in s\": 236.778245 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008651199370821, \"F1\": 0.4088526499708794, \"Memory in Mb\": 0.2267684936523437, \"Time in s\": 257.426783 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6002265005662514, \"F1\": 0.4073866815892558, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 278.871455 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5985480943738657, \"F1\": 0.4028077753779697, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 301.18545300000005 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599790283117791, \"F1\": 0.4051948051948052, \"Memory in Mb\": 0.2269744873046875, \"Time in s\": 324.33878000000004 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.599932591843613, \"F1\": 0.4026170105686965, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 348.42370100000005 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5977871786527823, \"F1\": 0.4023210831721469, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 373.346007 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5986159169550173, \"F1\": 0.4042950513538749, \"Memory in Mb\": 0.2269973754882812, \"Time in s\": 399.176002 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5981735159817352, \"F1\": 0.4021739130434782, \"Memory in Mb\": 0.2248907089233398, \"Time in s\": 425.805579 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5959893836626364, \"F1\": 0.4022687609075043, \"Memory in Mb\": 0.2988729476928711, \"Time in s\": 453.430877 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.597369173577352, \"F1\": 0.4023769100169779, \"Memory in Mb\": 0.3531064987182617, \"Time in s\": 482.040674 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6008881487649181, \"F1\": 0.4087171052631579, \"Memory in Mb\": 0.3826017379760742, \"Time in s\": 511.8008850000001 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6012402264761392, \"F1\": 0.4086365453818472, \"Memory in Mb\": 0.4367246627807617, \"Time in s\": 542.835536 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6023591087811271, \"F1\": 0.4104158569762923, \"Memory in Mb\": 0.4704160690307617, \"Time in s\": 575.071901 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6052027543993879, \"F1\": 0.4145234493192133, \"Memory in Mb\": 0.5176496505737305, \"Time in s\": 608.725741 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.608393344921778, \"F1\": 0.4195804195804196, \"Memory in Mb\": 0.5480222702026367, \"Time in s\": 643.745138 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6121461408178079, \"F1\": 0.4260651629072682, \"Memory in Mb\": 0.5632429122924805, \"Time in s\": 680.30634 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6157112526539278, \"F1\": 0.4329968673860076, \"Memory in Mb\": 0.5676107406616211, \"Time in s\": 718.216367 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6193325661680092, \"F1\": 0.438560760353021, \"Memory in Mb\": 0.5822668075561523, \"Time in s\": 757.397991 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6218827229835991, \"F1\": 0.4421610871726881, \"Memory in Mb\": 0.5884695053100586, \"Time in s\": 797.943115 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6219003730524468, \"F1\": 0.4429356611703847, \"Memory in Mb\": 0.6275625228881836, \"Time in s\": 839.803567 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.623203945957538, \"F1\": 0.4455664247396655, \"Memory in Mb\": 0.6328649520874023, \"Time in s\": 883.024854 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6250786328370728, \"F1\": 0.446096654275093, \"Memory in Mb\": 0.6821584701538086, \"Time in s\": 927.682473 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6266666666666667, \"F1\": 0.4468085106382978, \"Memory in Mb\": 0.6950826644897461, \"Time in s\": 973.720669 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.629592451314997, \"F1\": 0.4530091906314853, \"Memory in Mb\": 0.7119512557983398, \"Time in s\": 1021.080455 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6298407705917043, \"F1\": 0.4527753560011624, \"Memory in Mb\": 0.6960439682006836, \"Time in s\": 1069.7402539999998 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6321971885230118, \"F1\": 0.456459874786568, \"Memory in Mb\": 0.6964941024780273, \"Time in s\": 1119.6924109999998 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6340819022457067, \"F1\": 0.4594368553108447, \"Memory in Mb\": 0.7031240463256836, \"Time in s\": 1170.8531239999998 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8629834254143647, \"F1\": 0.8663793103448276, \"Memory in Mb\": 1.7490100860595703, \"Time in s\": 16.056337 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8890115958034235, \"F1\": 0.8680236375574525, \"Memory in Mb\": 2.496591567993164, \"Time in s\": 50.652304 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.87523003312477, \"F1\": 0.8521587440034889, \"Memory in Mb\": 1.8562908172607424, \"Time in s\": 106.697102 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8868341153739995, \"F1\": 0.8653972422849641, \"Memory in Mb\": 2.5584278106689453, \"Time in s\": 176.150463 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8880547582247736, \"F1\": 0.8593619972260749, \"Memory in Mb\": 3.1707210540771484, \"Time in s\": 258.677392 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8829806807727691, \"F1\": 0.8518863530507685, \"Memory in Mb\": 2.113290786743164, \"Time in s\": 353.604927 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8814067181832519, \"F1\": 0.8497802636835796, \"Memory in Mb\": 2.472631454467773, \"Time in s\": 459.993548 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.883262039464606, \"F1\": 0.8516310066643283, \"Memory in Mb\": 2.354246139526367, \"Time in s\": 576.649537 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8828652029927634, \"F1\": 0.8585394756332394, \"Memory in Mb\": 2.1453304290771484, \"Time in s\": 702.348431 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8839827795562424, \"F1\": 0.8639129871811472, \"Memory in Mb\": 2.1982364654541016, \"Time in s\": 836.637311 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.880983442047165, \"F1\": 0.8635840809753854, \"Memory in Mb\": 2.4484920501708984, \"Time in s\": 979.832141 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.881151687977187, \"F1\": 0.8654446990210373, \"Memory in Mb\": 2.578580856323242, \"Time in s\": 1131.438926 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8799354674365288, \"F1\": 0.8634344214796214, \"Memory in Mb\": 2.730459213256836, \"Time in s\": 1291.261447 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8768430182133564, \"F1\": 0.8601361031518624, \"Memory in Mb\": 2.090116500854492, \"Time in s\": 1459.3451100000002 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8789462064905438, \"F1\": 0.8639483913654784, \"Memory in Mb\": 1.877275466918945, \"Time in s\": 1635.065473 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.878854777509486, \"F1\": 0.86444341516134, \"Memory in Mb\": 2.105062484741211, \"Time in s\": 1818.351758 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8775404194532822, \"F1\": 0.86187197890728, \"Memory in Mb\": 2.440736770629883, \"Time in s\": 2009.388651 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765560802109523, \"F1\": 0.8599262403451395, \"Memory in Mb\": 2.627225875854492, \"Time in s\": 2209.910977 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8758496485214663, \"F1\": 0.8567214213878646, \"Memory in Mb\": 2.5119991302490234, \"Time in s\": 2419.733571 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8760969148407749, \"F1\": 0.8567600331780769, \"Memory in Mb\": 2.716485977172852, \"Time in s\": 2638.279319 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8772141918528252, \"F1\": 0.8562284588872477, \"Memory in Mb\": 3.019651412963867, \"Time in s\": 2865.7383750000004 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8739651798705534, \"F1\": 0.8535106134826219, \"Memory in Mb\": 2.721925735473633, \"Time in s\": 3103.6766270000003 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8716225944233815, \"F1\": 0.8503663925714606, \"Memory in Mb\": 2.4018421173095703, \"Time in s\": 3351.3122810000004 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.872556684910086, \"F1\": 0.8492300995701616, \"Memory in Mb\": 2.248655319213867, \"Time in s\": 3607.2754260000006 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.870722769217184, \"F1\": 0.845275840202917, \"Memory in Mb\": 2.611169815063477, \"Time in s\": 3871.072358000001 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8645722776480578, \"F1\": 0.8365611230658879, \"Memory in Mb\": 1.8957767486572263, \"Time in s\": 4144.250301000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8614120436613385, \"F1\": 0.8315276811450154, \"Memory in Mb\": 1.5607776641845703, \"Time in s\": 4424.237452000001 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8560334292584855, \"F1\": 0.8249113050148624, \"Memory in Mb\": 1.3715801239013672, \"Time in s\": 4711.1951020000015 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8558596277547292, \"F1\": 0.824277295717136, \"Memory in Mb\": 1.611249923706055, \"Time in s\": 5004.571280000002 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8564332756907906, \"F1\": 0.8258035714285713, \"Memory in Mb\": 2.025979995727539, \"Time in s\": 5304.465246000002 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8535517179989318, \"F1\": 0.8215385950449082, \"Memory in Mb\": 1.848848342895508, \"Time in s\": 5611.580754000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8515746266082578, \"F1\": 0.8178624338624338, \"Memory in Mb\": 2.0671520233154297, \"Time in s\": 5927.3319900000015 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.849048399504967, \"F1\": 0.8140885684860969, \"Memory in Mb\": 1.3224430084228516, \"Time in s\": 6250.652578000001 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8473849949680226, \"F1\": 0.8106344410876132, \"Memory in Mb\": 1.549489974975586, \"Time in s\": 6580.126329000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8429783342268756, \"F1\": 0.8039377830281552, \"Memory in Mb\": 1.5209712982177734, \"Time in s\": 6916.182134000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411773723746743, \"F1\": 0.8020785572367416, \"Memory in Mb\": 1.995222091674805, \"Time in s\": 7258.669481000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8415023418155783, \"F1\": 0.8033751526590429, \"Memory in Mb\": 1.8286800384521484, \"Time in s\": 7608.320925000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.839689778371627, \"F1\": 0.8006357692446627, \"Memory in Mb\": 2.242650985717773, \"Time in s\": 7966.087012000001 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8395550901423598, \"F1\": 0.7993487417265422, \"Memory in Mb\": 2.1107349395751958, \"Time in s\": 8331.986249000001 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400618118601507, \"F1\": 0.7984280447937677, \"Memory in Mb\": 1.8943347930908203, \"Time in s\": 8703.460619000001 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.839278503163279, \"F1\": 0.796356938190749, \"Memory in Mb\": 1.3389415740966797, \"Time in s\": 9080.992051 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8389267036345956, \"F1\": 0.7946940006029546, \"Memory in Mb\": 1.607133865356445, \"Time in s\": 9463.837927 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8382832353620658, \"F1\": 0.7942655607079877, \"Memory in Mb\": 1.8687000274658203, \"Time in s\": 9853.704286 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8387477109098663, \"F1\": 0.7967495098969203, \"Memory in Mb\": 1.466756820678711, \"Time in s\": 10249.501094 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400009811376291, \"F1\": 0.8001225677953119, \"Memory in Mb\": 2.0175647735595703, \"Time in s\": 10651.197686 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8407918416316736, \"F1\": 0.8026413635146792, \"Memory in Mb\": 2.1117191314697266, \"Time in s\": 11058.632461 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8411732932528593, \"F1\": 0.8035781708344224, \"Memory in Mb\": 2.033967971801758, \"Time in s\": 11470.822587 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8416538275806563, \"F1\": 0.804308286915994, \"Memory in Mb\": 1.7070560455322266, \"Time in s\": 11887.700533 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8406280269411844, \"F1\": 0.8019483246087955, \"Memory in Mb\": 2.28169059753418, \"Time in s\": 12309.209906 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404379787633282, \"F1\": 0.802124397722295, \"Memory in Mb\": 2.2888126373291016, \"Time in s\": 12736.77001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8404360971949416, \"F1\": 0.8020804817957842, \"Memory in Mb\": 2.2889575958251958, \"Time in s\": 13164.474026 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7083333333333334, \"F1\": 0.7407407407407408, \"Memory in Mb\": 0.7072525024414062, \"Time in s\": 0.45657 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8085106382978724, \"Memory in Mb\": 0.7079315185546875, \"Time in s\": 1.426682 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8513513513513513, \"F1\": 0.8493150684931507, \"Memory in Mb\": 0.708251953125, \"Time in s\": 2.873238 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8585858585858586, \"F1\": 0.8541666666666666, \"Memory in Mb\": 0.70849609375, \"Time in s\": 4.790442 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8548387096774194, \"F1\": 0.85, \"Memory in Mb\": 0.70849609375, \"Time in s\": 7.239611999999999 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8523489932885906, \"F1\": 0.8533333333333335, \"Memory in Mb\": 0.708740234375, \"Time in s\": 10.202642999999998 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8620689655172413, \"F1\": 0.8536585365853658, \"Memory in Mb\": 0.7091293334960938, \"Time in s\": 13.59528 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8592964824120602, \"F1\": 0.8510638297872339, \"Memory in Mb\": 0.7092666625976562, \"Time in s\": 17.527801 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8405797101449276, \"Memory in Mb\": 0.7491827011108398, \"Time in s\": 22.029145 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8473895582329317, \"F1\": 0.8347826086956521, \"Memory in Mb\": 0.7771825790405273, \"Time in s\": 27.026807 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8333333333333335, \"Memory in Mb\": 0.7774114608764648, \"Time in s\": 32.501577 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8528428093645485, \"F1\": 0.837037037037037, \"Memory in Mb\": 0.7775945663452148, \"Time in s\": 38.42215899999999 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8611111111111112, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.7779607772827148, \"Time in s\": 44.92146699999999 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8653295128939829, \"F1\": 0.8438538205980067, \"Memory in Mb\": 0.7781057357788086, \"Time in s\": 51.897795 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663101604278075, \"F1\": 0.8427672955974843, \"Memory in Mb\": 0.8172750473022461, \"Time in s\": 59.36314 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8671679197994987, \"F1\": 0.8417910447761194, \"Memory in Mb\": 0.8571996688842773, \"Time in s\": 67.416022 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8679245283018868, \"F1\": 0.839080459770115, \"Memory in Mb\": 0.9128484725952148, \"Time in s\": 76.017673 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8708240534521158, \"F1\": 0.8406593406593408, \"Memory in Mb\": 0.913100242614746, \"Time in s\": 85.092057 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.869198312236287, \"F1\": 0.8402061855670103, \"Memory in Mb\": 0.9133520126342772, \"Time in s\": 94.603797 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8677354709418837, \"F1\": 0.8413461538461539, \"Memory in Mb\": 0.9135580062866212, \"Time in s\": 104.609638 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8384074941451991, \"Memory in Mb\": 0.9136190414428712, \"Time in s\": 115.080656 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8670309653916212, \"F1\": 0.8381374722838136, \"Memory in Mb\": 0.9137258529663086, \"Time in s\": 126.050962 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867595818815331, \"F1\": 0.8382978723404255, \"Memory in Mb\": 0.9137868881225586, \"Time in s\": 137.397676 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8381742738589212, \"Memory in Mb\": 0.9139089584350586, \"Time in s\": 149.31562 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8373983739837398, \"Memory in Mb\": 0.9536046981811525, \"Time in s\": 161.695664 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.846153846153846, \"Memory in Mb\": 0.9540624618530272, \"Time in s\": 174.565593 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8478260869565216, \"Memory in Mb\": 0.9818639755249025, \"Time in s\": 187.898512 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8515901060070671, \"Memory in Mb\": 0.9230222702026368, \"Time in s\": 201.735875 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825966850828729, \"F1\": 0.8576214405360134, \"Memory in Mb\": 1.021204948425293, \"Time in s\": 216.085388 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8865153538050734, \"F1\": 0.8631239935587761, \"Memory in Mb\": 1.0604047775268557, \"Time in s\": 230.90612 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8875968992248062, \"F1\": 0.863849765258216, \"Memory in Mb\": 1.1157331466674805, \"Time in s\": 246.307883 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8873591989987485, \"F1\": 0.8652694610778443, \"Memory in Mb\": 1.2215375900268557, \"Time in s\": 262.241262 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8871359223300971, \"F1\": 0.8661870503597122, \"Memory in Mb\": 1.2229490280151367, \"Time in s\": 278.553882 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8881036513545347, \"F1\": 0.8671328671328671, \"Memory in Mb\": 1.235407829284668, \"Time in s\": 295.406724 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901601830663616, \"F1\": 0.8688524590163934, \"Memory in Mb\": 1.263422966003418, \"Time in s\": 312.749904 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8887652947719689, \"F1\": 0.8670212765957446, \"Memory in Mb\": 1.318751335144043, \"Time in s\": 330.632511 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8695652173913043, \"Memory in Mb\": 1.318964958190918, \"Time in s\": 348.945693 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8893572181243414, \"F1\": 0.8708487084870848, \"Memory in Mb\": 1.3194990158081057, \"Time in s\": 367.701988 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901437371663244, \"F1\": 0.8718562874251498, \"Memory in Mb\": 1.319605827331543, \"Time in s\": 386.96933700000005 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8697674418604652, \"Memory in Mb\": 1.3197660446166992, \"Time in s\": 406.7503420000001 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8700564971751412, \"Memory in Mb\": 1.3200559616088867, \"Time in s\": 426.99481600000007 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8725274725274725, \"Memory in Mb\": 1.320155143737793, \"Time in s\": 447.8295280000001 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.8742004264392325, \"Memory in Mb\": 1.320277214050293, \"Time in s\": 469.1965740000001 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.8761706555671176, \"Memory in Mb\": 1.320643424987793, \"Time in s\": 491.1150510000001 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8790322580645162, \"Memory in Mb\": 1.320704460144043, \"Time in s\": 513.5552500000001 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8938207136640557, \"F1\": 0.8794466403162056, \"Memory in Mb\": 1.320704460144043, \"Time in s\": 536.4428780000001 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926746166950597, \"F1\": 0.877906976744186, \"Memory in Mb\": 1.320765495300293, \"Time in s\": 559.8515450000001 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8783269961977186, \"Memory in Mb\": 1.3328428268432615, \"Time in s\": 583.8125340000001 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929738562091504, \"F1\": 0.8779123951537745, \"Memory in Mb\": 1.3880414962768557, \"Time in s\": 608.2234330000001 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8935148118494796, \"F1\": 0.8792007266121706, \"Memory in Mb\": 1.3882551193237305, \"Time in s\": 633.1359570000001 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2038736343383789, \"Time in s\": 10.878823 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2044839859008789, \"Time in s\": 32.501535000000004 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050256729125976, \"Time in s\": 64.818606 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050485610961914, \"Time in s\": 107.076722 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2050485610961914, \"Time in s\": 158.807432 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2056589126586914, \"Time in s\": 218.4459 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.2056818008422851, \"Time in s\": 285.193275 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 0.2613000869750976, \"Time in s\": 359.039643 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 0.2063913345336914, \"Time in s\": 440.617697 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 0.2062082290649414, \"Time in s\": 529.79805 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 0.2068414688110351, \"Time in s\": 626.4074929999999 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 0.2069330215454101, \"Time in s\": 729.8228539999999 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 0.2070703506469726, \"Time in s\": 839.3276679999999 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 0.2067499160766601, \"Time in s\": 954.865641 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 0.2069787979125976, \"Time in s\": 1076.4115539999998 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 0.2068643569946289, \"Time in s\": 1203.4939569999997 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 0.2070016860961914, \"Time in s\": 1337.1471509999997 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 0.2069101333618164, \"Time in s\": 1476.3596139999995 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 0.2069101333618164, \"Time in s\": 1621.0863639999998 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 0.2069330215454101, \"Time in s\": 1771.0710339999998 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 0.2067956924438476, \"Time in s\": 1926.306088 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 0.2074975967407226, \"Time in s\": 2086.761849 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 0.2069787979125976, \"Time in s\": 2252.424258 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 0.2072610855102539, \"Time in s\": 2423.176177 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 0.2072534561157226, \"Time in s\": 2599.130792 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 0.1954126358032226, \"Time in s\": 2780.435567 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 0.2073373794555664, \"Time in s\": 2966.651736 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 0.2073373794555664, \"Time in s\": 3157.874809 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 0.2073526382446289, \"Time in s\": 3353.943675 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 0.2070703506469726, \"Time in s\": 3555.07983 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 0.2070398330688476, \"Time in s\": 3761.219357 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 0.2070322036743164, \"Time in s\": 3972.252634 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 0.2071924209594726, \"Time in s\": 4188.261246 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 0.2073450088500976, \"Time in s\": 4409.191759 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 0.2073144912719726, \"Time in s\": 4634.878548000001 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 4864.934707 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 0.2072000503540039, \"Time in s\": 5099.2875650000005 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 5337.886074000001 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 0.2073602676391601, \"Time in s\": 5580.709613000001 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 0.2074670791625976, \"Time in s\": 5827.7179830000005 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 0.2074670791625976, \"Time in s\": 6079.015463000001 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 0.2071466445922851, \"Time in s\": 6334.716663000001 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 0.2075586318969726, \"Time in s\": 6594.692589000001 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 0.2079553604125976, \"Time in s\": 6858.666542000001 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 0.2080392837524414, \"Time in s\": 7126.604303000001 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 0.2078561782836914, \"Time in s\": 7398.595214000001 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 0.2079019546508789, \"Time in s\": 7674.616155000001 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 0.2078104019165039, \"Time in s\": 7954.656032000001 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 0.1961145401000976, \"Time in s\": 8238.690655 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 0.2079477310180664, \"Time in s\": 8526.751857000001 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 0.2079706192016601, \"Time in s\": 8814.843001000001 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5142857142857142, \"F1\": 0.4516129032258064, \"Memory in Mb\": 0.1802501678466797, \"Time in s\": 1.958268 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5402843601895735, \"F1\": 0.4756756756756757, \"Memory in Mb\": 0.1808605194091797, \"Time in s\": 6.1304110000000005 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5394321766561514, \"F1\": 0.4930555555555555, \"Memory in Mb\": 0.1814937591552734, \"Time in s\": 12.559627 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5531914893617021, \"F1\": 0.4932975871313673, \"Memory in Mb\": 0.1814708709716797, \"Time in s\": 21.158430000000003 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5614366729678639, \"F1\": 0.4703196347031963, \"Memory in Mb\": 0.1814708709716797, \"Time in s\": 31.954501 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5763779527559055, \"F1\": 0.4836852207293666, \"Memory in Mb\": 0.4110956192016601, \"Time in s\": 45.100937 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5991902834008097, \"F1\": 0.4940374787052811, \"Memory in Mb\": 0.5197267532348633, \"Time in s\": 60.647662 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6210153482880756, \"F1\": 0.5201793721973094, \"Memory in Mb\": 0.6145830154418945, \"Time in s\": 78.646382 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6411332633788038, \"F1\": 0.5464190981432361, \"Memory in Mb\": 0.681065559387207, \"Time in s\": 99.167462 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6515580736543909, \"F1\": 0.555956678700361, \"Memory in Mb\": 0.7228097915649414, \"Time in s\": 122.156435 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6626609442060086, \"F1\": 0.5732899022801302, \"Memory in Mb\": 0.8111352920532227, \"Time in s\": 147.677601 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6766325727773407, \"F1\": 0.5958702064896755, \"Memory in Mb\": 0.8519144058227539, \"Time in s\": 175.66982000000002 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6877269426289034, \"F1\": 0.6062271062271062, \"Memory in Mb\": 0.9361848831176758, \"Time in s\": 206.112203 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6999325691166555, \"F1\": 0.6238377007607777, \"Memory in Mb\": 0.978398323059082, \"Time in s\": 239.08437400000005 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7073631214600378, \"F1\": 0.6375681995323461, \"Memory in Mb\": 1.0816278457641602, \"Time in s\": 274.51056400000004 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7162241887905605, \"F1\": 0.6496722505462491, \"Memory in Mb\": 1.146012306213379, \"Time in s\": 312.20930000000004 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7262631871182677, \"F1\": 0.6662153012863914, \"Memory in Mb\": 1.231095314025879, \"Time in s\": 352.32891700000005 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7320398531725223, \"F1\": 0.677602523659306, \"Memory in Mb\": 1.3021745681762695, \"Time in s\": 394.808348 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7391952309985097, \"F1\": 0.6902654867256638, \"Memory in Mb\": 1.3571443557739258, \"Time in s\": 439.684188 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7456347333647947, \"F1\": 0.7020453289110005, \"Memory in Mb\": 1.439896583557129, \"Time in s\": 486.825513 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.750561797752809, \"F1\": 0.7080483955812729, \"Memory in Mb\": 1.4615755081176758, \"Time in s\": 536.150148 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7554697554697555, \"F1\": 0.715, \"Memory in Mb\": 1.4801912307739258, \"Time in s\": 587.578093 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7599507591300779, \"F1\": 0.7202295552367289, \"Memory in Mb\": 1.5264062881469729, \"Time in s\": 641.095023 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7624852536374361, \"F1\": 0.7257039055404179, \"Memory in Mb\": 1.5866899490356443, \"Time in s\": 696.665992 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7678369195922989, \"F1\": 0.7331887201735358, \"Memory in Mb\": 1.6338167190551758, \"Time in s\": 754.18395 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7731397459165155, \"F1\": 0.7396917950853811, \"Memory in Mb\": 1.718327522277832, \"Time in s\": 813.521765 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.777350576721426, \"F1\": 0.7440739252711932, \"Memory in Mb\": 1.7761125564575195, \"Time in s\": 874.768076 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7812605325244355, \"F1\": 0.7479611650485437, \"Memory in Mb\": 1.876938819885254, \"Time in s\": 937.838653 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7845753335502766, \"F1\": 0.7526158445440957, \"Memory in Mb\": 1.974156379699707, \"Time in s\": 1002.618853 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7892418999685435, \"F1\": 0.7572463768115942, \"Memory in Mb\": 2.007943153381348, \"Time in s\": 1069.033932 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7923896499238965, \"F1\": 0.7605337078651686, \"Memory in Mb\": 2.0704050064086914, \"Time in s\": 1137.092928 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7938661161899144, \"F1\": 0.7636117686844774, \"Memory in Mb\": 2.141594886779785, \"Time in s\": 1206.880705 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7966828710323134, \"F1\": 0.7657331136738056, \"Memory in Mb\": 2.2472352981567383, \"Time in s\": 1278.374701 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7998889814043852, \"F1\": 0.7685393258426965, \"Memory in Mb\": 2.2915468215942383, \"Time in s\": 1351.505796 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8021029927204099, \"F1\": 0.7717661691542288, \"Memory in Mb\": 2.3504953384399414, \"Time in s\": 1426.3168569999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8055045871559633, \"F1\": 0.7761013880506941, \"Memory in Mb\": 2.397225379943848, \"Time in s\": 1502.8248519999995 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8071920428462127, \"F1\": 0.7776470588235294, \"Memory in Mb\": 2.4447336196899414, \"Time in s\": 1580.9903339999996 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8085423392103303, \"F1\": 0.7788930312589618, \"Memory in Mb\": 2.513848304748535, \"Time in s\": 1660.8236829999996 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8107911928381321, \"F1\": 0.7816862088218872, \"Memory in Mb\": 2.6076173782348637, \"Time in s\": 1742.3313809999995 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8136352913422977, \"F1\": 0.7852093529091897, \"Memory in Mb\": 2.653599739074707, \"Time in s\": 1825.5059619999995 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8161104718066743, \"F1\": 0.7881198621055423, \"Memory in Mb\": 2.711110115051269, \"Time in s\": 1910.383718 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8173444169849472, \"F1\": 0.7894327894327894, \"Memory in Mb\": 2.7411813735961914, \"Time in s\": 1996.892937 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8183015141540487, \"F1\": 0.7910146390711761, \"Memory in Mb\": 2.7629594802856445, \"Time in s\": 2085.0686209999994 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8205018228608192, \"F1\": 0.7941971969510695, \"Memory in Mb\": 2.818455696105957, \"Time in s\": 2174.887267 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8209268190396309, \"F1\": 0.7942168674698795, \"Memory in Mb\": 2.852097511291504, \"Time in s\": 2266.3018959999995 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.822974358974359, \"F1\": 0.795932844644124, \"Memory in Mb\": 2.940415382385254, \"Time in s\": 2359.381272 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.825135514956836, \"F1\": 0.7990772779700116, \"Memory in Mb\": 2.986912727355957, \"Time in s\": 2454.120045 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.825437389424022, \"F1\": 0.7995485327313769, \"Memory in Mb\": 3.072648048400879, \"Time in s\": 2550.44047 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8266897746967071, \"F1\": 0.8008849557522125, \"Memory in Mb\": 3.1882104873657227, \"Time in s\": 2648.361542 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8282694848084544, \"F1\": 0.8026886383347789, \"Memory in Mb\": 3.2357072830200195, \"Time in s\": 2747.950666 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895027624309392, \"F1\": 0.8873873873873873, \"Memory in Mb\": 2.537948608398437, \"Time in s\": 35.61841 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9127553837658752, \"F1\": 0.8941018766756033, \"Memory in Mb\": 3.267250061035156, \"Time in s\": 98.669065 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9013617960986382, \"F1\": 0.8815207780725023, \"Memory in Mb\": 2.908538818359375, \"Time in s\": 185.051304 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.905051062655258, \"F1\": 0.8859416445623343, \"Memory in Mb\": 4.239933013916016, \"Time in s\": 291.140366 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9059395009935968, \"F1\": 0.8829026937877955, \"Memory in Mb\": 4.5028228759765625, \"Time in s\": 414.050546 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904691812327507, \"F1\": 0.8806451612903227, \"Memory in Mb\": 5.411556243896484, \"Time in s\": 555.0527619999999 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.904746885349314, \"F1\": 0.8810086682427108, \"Memory in Mb\": 3.64324951171875, \"Time in s\": 712.2276919999999 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9038222712846696, \"F1\": 0.8793908980792524, \"Memory in Mb\": 4.176555633544922, \"Time in s\": 885.4512659999999 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9062921623942108, \"F1\": 0.8879107981220656, \"Memory in Mb\": 4.873016357421875, \"Time in s\": 1073.942042 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.907384921072966, \"F1\": 0.8915600361897376, \"Memory in Mb\": 6.068294525146484, \"Time in s\": 1277.3056459999998 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9066733567486202, \"F1\": 0.8924855491329481, \"Memory in Mb\": 5.883171081542969, \"Time in s\": 1496.0059789999998 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9090240088308345, \"F1\": 0.8966238110170377, \"Memory in Mb\": 7.123630523681641, \"Time in s\": 1728.5474849999998 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.908805298463106, \"F1\": 0.8963720571208027, \"Memory in Mb\": 4.904956817626953, \"Time in s\": 1974.076492 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9071197666167312, \"F1\": 0.8948214285714287, \"Memory in Mb\": 4.745685577392578, \"Time in s\": 2233.08693 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.908234601515932, \"F1\": 0.8972732515034187, \"Memory in Mb\": 5.919612884521484, \"Time in s\": 2504.250556 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9082442221455674, \"F1\": 0.8976293103448276, \"Memory in Mb\": 4.272552490234375, \"Time in s\": 2787.365554 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9089669501980392, \"F1\": 0.8979027090008739, \"Memory in Mb\": 4.651363372802734, \"Time in s\": 3081.637323 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9085668731219722, \"F1\": 0.8971653217463273, \"Memory in Mb\": 5.967304229736328, \"Time in s\": 3386.795808 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9075698599895428, \"F1\": 0.8943488943488943, \"Memory in Mb\": 5.553913116455078, \"Time in s\": 3703.059282 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9077211766653788, \"F1\": 0.8943911066195048, \"Memory in Mb\": 7.001399993896484, \"Time in s\": 4030.541025 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9078580814717476, \"F1\": 0.8932854446947099, \"Memory in Mb\": 7.953182220458984, \"Time in s\": 4368.505934999999 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9081832321509208, \"F1\": 0.8944636678200691, \"Memory in Mb\": 8.54180908203125, \"Time in s\": 4717.761576999999 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064644622546432, \"F1\": 0.8926111631494847, \"Memory in Mb\": 7.284095764160156, \"Time in s\": 5078.966551999999 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064066596145886, \"F1\": 0.8909840895698291, \"Memory in Mb\": 8.78485107421875, \"Time in s\": 5451.144687999999 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9054704401960352, \"F1\": 0.8890386110391294, \"Memory in Mb\": 9.895774841308594, \"Time in s\": 5834.807108999999 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9032052642751008, \"F1\": 0.8860113988601139, \"Memory in Mb\": 9.921958923339844, \"Time in s\": 6231.782156999999 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9009443604104492, \"F1\": 0.8825098191339766, \"Memory in Mb\": 6.414276123046875, \"Time in s\": 6640.471452999998 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8975046320022076, \"F1\": 0.87847059923343, \"Memory in Mb\": 7.025360107421875, \"Time in s\": 7059.615553999998 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8978418909146272, \"F1\": 0.878705712219812, \"Memory in Mb\": 8.249675750732422, \"Time in s\": 7487.941528999998 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8983038375216159, \"F1\": 0.879888753693725, \"Memory in Mb\": 7.590415954589844, \"Time in s\": 7924.652190999998 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8965640021363718, \"F1\": 0.8772448763997466, \"Memory in Mb\": 7.862815856933594, \"Time in s\": 8369.790676999999 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8963126487530613, \"F1\": 0.8762962962962964, \"Memory in Mb\": 9.08489990234375, \"Time in s\": 8823.391086 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8952403251162324, \"F1\": 0.8748901493968203, \"Memory in Mb\": 2.6490402221679688, \"Time in s\": 9284.744377 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8947505113138331, \"F1\": 0.8736357966947302, \"Memory in Mb\": 3.22769546508789, \"Time in s\": 9752.904185 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8935948784256835, \"F1\": 0.8721291594027135, \"Memory in Mb\": 3.8703384399414062, \"Time in s\": 10228.075712 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8929940211559099, \"F1\": 0.8717194736455194, \"Memory in Mb\": 4.073085784912109, \"Time in s\": 10710.354293 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8932311088571343, \"F1\": 0.872338148742643, \"Memory in Mb\": 4.776435852050781, \"Time in s\": 11199.826533 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8924390739826299, \"F1\": 0.8711865585974188, \"Memory in Mb\": 4.868198394775391, \"Time in s\": 11696.46579 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8922537005066086, \"F1\": 0.8703735231025913, \"Memory in Mb\": 5.445720672607422, \"Time in s\": 12200.310087 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8919948122188802, \"F1\": 0.8690619563762879, \"Memory in Mb\": 4.9837493896484375, \"Time in s\": 12711.187581 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920985327769552, \"F1\": 0.8688996467355751, \"Memory in Mb\": 5.313899993896484, \"Time in s\": 13229.1012 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8916979842842501, \"F1\": 0.8676919125437441, \"Memory in Mb\": 5.129566192626953, \"Time in s\": 13754.199791 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8912647277767796, \"F1\": 0.8674924924924926, \"Memory in Mb\": 5.3661651611328125, \"Time in s\": 14286.524658 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8915535709806086, \"F1\": 0.8687813021702837, \"Memory in Mb\": 5.776020050048828, \"Time in s\": 14825.184636 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920012754789178, \"F1\": 0.8703512852978417, \"Memory in Mb\": 6.964508056640625, \"Time in s\": 15370.438083 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.89250149970006, \"F1\": 0.8717728547713092, \"Memory in Mb\": 8.029548645019531, \"Time in s\": 15922.831901 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927925600619995, \"F1\": 0.8723184068469779, \"Memory in Mb\": 8.723072052001953, \"Time in s\": 16481.133162000002 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8927495573389749, \"F1\": 0.8722821622213702, \"Memory in Mb\": 8.793426513671875, \"Time in s\": 17045.039295000002 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8920775797986169, \"F1\": 0.8710467526175545, \"Memory in Mb\": 6.634971618652344, \"Time in s\": 17614.470389000002 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8926687123336056, \"F1\": 0.8720122143834896, \"Memory in Mb\": 7.5638427734375, \"Time in s\": 18188.843118 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8926529981682152, \"F1\": 0.8719663069228745, \"Memory in Mb\": 7.565349578857422, \"Time in s\": 18763.342135 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.75, \"F1\": 0.75, \"Memory in Mb\": 0.6626491546630859, \"Time in s\": 1.23946 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8163265306122449, \"F1\": 0.8, \"Memory in Mb\": 0.6635112762451172, \"Time in s\": 3.937992 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8378378378378378, \"F1\": 0.8333333333333334, \"Memory in Mb\": 0.6635112762451172, \"Time in s\": 8.007437 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8484848484848485, \"F1\": 0.8421052631578947, \"Memory in Mb\": 0.6476030349731445, \"Time in s\": 13.398751 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467741935483871, \"F1\": 0.8403361344537815, \"Memory in Mb\": 0.9203081130981444, \"Time in s\": 19.997869 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8456375838926175, \"F1\": 0.8456375838926175, \"Memory in Mb\": 0.9203310012817384, \"Time in s\": 27.874049 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.867816091954023, \"F1\": 0.8588957055214724, \"Memory in Mb\": 1.0861825942993164, \"Time in s\": 37.283539 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8693467336683417, \"F1\": 0.8617021276595744, \"Memory in Mb\": 1.2813997268676758, \"Time in s\": 47.998757 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8660714285714286, \"F1\": 0.8557692307692308, \"Memory in Mb\": 1.3089113235473633, \"Time in s\": 59.952353 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8554216867469879, \"F1\": 0.8434782608695653, \"Memory in Mb\": 1.3089799880981443, \"Time in s\": 73.11976999999999 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8576642335766423, \"F1\": 0.844621513944223, \"Memory in Mb\": 1.2476167678833008, \"Time in s\": 87.72028699999998 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.862876254180602, \"F1\": 0.8464419475655431, \"Memory in Mb\": 1.4594087600708008, \"Time in s\": 103.60422699999998 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8703703703703703, \"F1\": 0.851063829787234, \"Memory in Mb\": 1.4950456619262695, \"Time in s\": 120.70292199999996 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8710601719197708, \"F1\": 0.8494983277591974, \"Memory in Mb\": 1.5330171585083008, \"Time in s\": 138.98074599999998 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8716577540106952, \"F1\": 0.8481012658227849, \"Memory in Mb\": 1.809849739074707, \"Time in s\": 158.64485 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8696741854636592, \"F1\": 0.8433734939759037, \"Memory in Mb\": 2.068051338195801, \"Time in s\": 179.646811 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8702830188679245, \"F1\": 0.8405797101449276, \"Memory in Mb\": 2.104710578918457, \"Time in s\": 201.850953 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8752783964365256, \"F1\": 0.845303867403315, \"Memory in Mb\": 2.104527473449707, \"Time in s\": 225.239967 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8776371308016878, \"F1\": 0.8505154639175259, \"Memory in Mb\": 2.132199287414551, \"Time in s\": 249.917589 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.875751503006012, \"F1\": 0.8502415458937198, \"Memory in Mb\": 2.1503801345825195, \"Time in s\": 275.75512899999995 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8778625954198473, \"F1\": 0.8497652582159624, \"Memory in Mb\": 2.187130928039551, \"Time in s\": 302.922289 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8743169398907104, \"F1\": 0.8463251670378619, \"Memory in Mb\": 2.2971315383911133, \"Time in s\": 331.41425 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8763066202090593, \"F1\": 0.8479657387580299, \"Memory in Mb\": 2.406788825988769, \"Time in s\": 361.219435 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8764607679465777, \"F1\": 0.8451882845188285, \"Memory in Mb\": 2.406834602355957, \"Time in s\": 392.26267 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8782051282051282, \"F1\": 0.8442622950819672, \"Memory in Mb\": 2.352017402648926, \"Time in s\": 424.555734 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8813559322033898, \"F1\": 0.850485436893204, \"Memory in Mb\": 2.279099464416504, \"Time in s\": 458.242359 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798219584569733, \"F1\": 0.8513761467889909, \"Memory in Mb\": 2.54854679107666, \"Time in s\": 493.209676 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8841201716738197, \"F1\": 0.8550983899821109, \"Memory in Mb\": 2.565995216369629, \"Time in s\": 529.352808 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8812154696132597, \"F1\": 0.8537414965986394, \"Memory in Mb\": 2.870518684387207, \"Time in s\": 566.738792 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8825100133511349, \"F1\": 0.8557377049180328, \"Memory in Mb\": 2.941006660461426, \"Time in s\": 605.3090109999999 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8837209302325582, \"F1\": 0.856687898089172, \"Memory in Mb\": 3.0508241653442383, \"Time in s\": 645.053635 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8836045056320401, \"F1\": 0.8584474885844748, \"Memory in Mb\": 3.1606874465942383, \"Time in s\": 686.031259 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8810679611650486, \"F1\": 0.8567251461988304, \"Memory in Mb\": 3.270321846008301, \"Time in s\": 728.1933819999999 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8833922261484098, \"F1\": 0.8591749644381224, \"Memory in Mb\": 3.2882280349731445, \"Time in s\": 771.57935 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8844393592677345, \"F1\": 0.8595271210013908, \"Memory in Mb\": 3.2632036209106445, \"Time in s\": 816.1995999999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8832035595105673, \"F1\": 0.8575305291723202, \"Memory in Mb\": 3.380833625793457, \"Time in s\": 861.997768 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8841991341991342, \"F1\": 0.8597640891218873, \"Memory in Mb\": 3.4813432693481445, \"Time in s\": 908.973065 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8851422550052687, \"F1\": 0.8628930817610063, \"Memory in Mb\": 3.5117311477661133, \"Time in s\": 957.120781 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8870636550308009, \"F1\": 0.8651960784313726, \"Memory in Mb\": 3.5666399002075195, \"Time in s\": 1006.3541349999998 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8878878878878879, \"F1\": 0.8663484486873507, \"Memory in Mb\": 3.645543098449707, \"Time in s\": 1056.728559 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876953125, \"F1\": 0.8667439165701043, \"Memory in Mb\": 3.735753059387207, \"Time in s\": 1108.282035 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8894184938036225, \"F1\": 0.8693693693693694, \"Memory in Mb\": 3.808384895324707, \"Time in s\": 1160.949301 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8901303538175046, \"F1\": 0.87117903930131, \"Memory in Mb\": 3.94530200958252, \"Time in s\": 1214.7027389999998 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.89171974522293, \"F1\": 0.873269435569755, \"Memory in Mb\": 3.945347785949707, \"Time in s\": 1269.5439849999998 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8905693950177936, \"F1\": 0.8730650154798762, \"Memory in Mb\": 3.972836494445801, \"Time in s\": 1325.4243339999998 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8920800696257616, \"F1\": 0.8747474747474747, \"Memory in Mb\": 3.945645332336426, \"Time in s\": 1382.2374609999997 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8909710391822828, \"F1\": 0.8732673267326733, \"Memory in Mb\": 3.973248481750488, \"Time in s\": 1440.0925429999998 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8924103419516264, \"F1\": 0.8746355685131195, \"Memory in Mb\": 3.947278022766113, \"Time in s\": 1498.9929549999997 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8937908496732027, \"F1\": 0.8761904761904762, \"Memory in Mb\": 3.982327461242676, \"Time in s\": 1558.8210809999996 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8943154523618895, \"F1\": 0.8773234200743495, \"Memory in Mb\": 4.0114030838012695, \"Time in s\": 1619.6535709999996 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1602087020874023, \"Time in s\": 31.58816 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1608190536499023, \"Time in s\": 89.620857 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 167.42750999999998 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 263.688726 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1614294052124023, \"Time in s\": 375.655092 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1620397567749023, \"Time in s\": 502.190419 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.1620397567749023, \"Time in s\": 643.105063 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992117191092426, \"F1\": 0.0, \"Memory in Mb\": 0.2446889877319336, \"Time in s\": 797.8947989999999 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9991825294873292, \"F1\": 0.0, \"Memory in Mb\": 0.1627492904663086, \"Time in s\": 968.143197 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992642808345158, \"F1\": 0.0, \"Memory in Mb\": 0.1625890731811523, \"Time in s\": 1153.4864309999998 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993311675902924, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 1353.5382149999998 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869060652508, \"F1\": 0.0, \"Memory in Mb\": 0.1632680892944336, \"Time in s\": 1568.364428 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994340690435768, \"F1\": 0.0, \"Memory in Mb\": 0.1632909774780273, \"Time in s\": 1796.946914 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369580721444, \"F1\": 0.0, \"Memory in Mb\": 0.1630849838256836, \"Time in s\": 2038.09448 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744955156952, \"F1\": 0.0, \"Memory in Mb\": 0.1630849838256836, \"Time in s\": 2291.954796 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999507340624692, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 2557.874515 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995363214837713, \"F1\": 0.0, \"Memory in Mb\": 0.1631765365600586, \"Time in s\": 2835.65121 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999562082153388, \"F1\": 0.0, \"Memory in Mb\": 0.1631536483764648, \"Time in s\": 3124.961925 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995851310985728, \"F1\": 0.0, \"Memory in Mb\": 0.1631078720092773, \"Time in s\": 3424.787068 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058750886782, \"F1\": 0.0, \"Memory in Mb\": 0.1631307601928711, \"Time in s\": 3734.997034 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246434112408, \"F1\": 0.0, \"Memory in Mb\": 0.1631994247436523, \"Time in s\": 4055.587677 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999641705481906, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 4386.458848 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996572838603546, \"F1\": 0.0, \"Memory in Mb\": 0.1636495590209961, \"Time in s\": 4726.906731 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671564012174, \"F1\": 0.0, \"Memory in Mb\": 0.1638555526733398, \"Time in s\": 5077.03597 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847017278344, \"F1\": 0.0, \"Memory in Mb\": 0.1639471054077148, \"Time in s\": 5436.872312 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996968288295572, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 5806.300992 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996691319579604, \"F1\": 0.0, \"Memory in Mb\": 0.1639471054077148, \"Time in s\": 6185.544045999999 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996809488955202, \"F1\": 0.0, \"Memory in Mb\": 0.1641073226928711, \"Time in s\": 6574.848143999999 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996919508571014, \"F1\": 0.0, \"Memory in Mb\": 0.1637639999389648, \"Time in s\": 6975.121680999999 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995445707579392, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 7384.584095999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995592622728504, \"F1\": 0.0, \"Memory in Mb\": 0.1639013290405273, \"Time in s\": 7802.5953629999985 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999573035553001, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 8228.594131999998 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995541259275772, \"F1\": 0.0, \"Memory in Mb\": 0.1639013290405273, \"Time in s\": 8661.618187999999 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672400735692, \"F1\": 0.0, \"Memory in Mb\": 0.1639928817749023, \"Time in s\": 9101.660233 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796048285388, \"F1\": 0.0, \"Memory in Mb\": 0.1638326644897461, \"Time in s\": 9548.69733 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999562088545696, \"F1\": 0.0, \"Memory in Mb\": 0.1638097763061523, \"Time in s\": 10002.655236 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995739241585002, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 10463.105481 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995851368357004, \"F1\": 0.0, \"Memory in Mb\": 0.1637639999389648, \"Time in s\": 10929.695224 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995957744960656, \"F1\": 0.0, \"Memory in Mb\": 0.1638097763061523, \"Time in s\": 11402.447204 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996058802664248, \"F1\": 0.0, \"Memory in Mb\": 0.1638784408569336, \"Time in s\": 11881.476782 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996154930660582, \"F1\": 0.0, \"Memory in Mb\": 0.1637411117553711, \"Time in s\": 12366.666901 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996246481076008, \"F1\": 0.0, \"Memory in Mb\": 0.1637182235717773, \"Time in s\": 12858.057531 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999633377328054, \"F1\": 0.0, \"Memory in Mb\": 0.1521596908569336, \"Time in s\": 13355.582794 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996417097610204, \"F1\": 0.0, \"Memory in Mb\": 0.1528844833374023, \"Time in s\": 13859.323941 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496718593082, \"F1\": 0.0, \"Memory in Mb\": 0.1643285751342773, \"Time in s\": 14369.189455 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996572877754548, \"F1\": 0.0, \"Memory in Mb\": 0.1646032333374023, \"Time in s\": 14885.224126 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996533989266548, \"F1\": 0.0, \"Memory in Mb\": 0.1645116806030273, \"Time in s\": 15407.418989999998 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996606198614016, \"F1\": 0.0, \"Memory in Mb\": 0.1643285751342773, \"Time in s\": 15935.791256 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996675460609572, \"F1\": 0.0, \"Memory in Mb\": 0.1645116806030273, \"Time in s\": 16470.041814999997 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996741952096186, \"F1\": 0.0, \"Memory in Mb\": 0.1645345687866211, \"Time in s\": 17009.813748999997 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996742157532448, \"F1\": 0.0, \"Memory in Mb\": 0.1646032333374023, \"Time in s\": 17549.605714999998 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6095238095238096, \"F1\": 0.577319587628866, \"Memory in Mb\": 0.7777948379516602, \"Time in s\": 2.119535 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7109004739336493, \"F1\": 0.6702702702702703, \"Memory in Mb\": 1.3802881240844729, \"Time in s\": 6.931057 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7602523659305994, \"F1\": 0.7361111111111112, \"Memory in Mb\": 1.8119163513183596, \"Time in s\": 15.160032 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7943262411347518, \"F1\": 0.772845953002611, \"Memory in Mb\": 2.401026725769043, \"Time in s\": 27.407145 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8052930056710775, \"F1\": 0.7775377969762419, \"Memory in Mb\": 5.0262651443481445, \"Time in s\": 65.121823 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8236220472440945, \"F1\": 0.7992831541218638, \"Memory in Mb\": 5.88111686706543, \"Time in s\": 107.288216 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8299595141700404, \"F1\": 0.8025078369905957, \"Memory in Mb\": 6.734616279602051, \"Time in s\": 153.798119 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8347107438016529, \"F1\": 0.8087431693989071, \"Memory in Mb\": 7.555168151855469, \"Time in s\": 204.76644700000003 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8426023084994754, \"F1\": 0.8166259168704157, \"Memory in Mb\": 8.384669303894043, \"Time in s\": 260.019764 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8536355051935789, \"F1\": 0.8275862068965517, \"Memory in Mb\": 8.926264762878418, \"Time in s\": 319.31365700000003 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8532188841201717, \"F1\": 0.8274470232088799, \"Memory in Mb\": 9.188977241516112, \"Time in s\": 382.58132300000005 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8536585365853658, \"F1\": 0.8290441176470588, \"Memory in Mb\": 9.45701789855957, \"Time in s\": 449.3987790000001 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8576615831517792, \"F1\": 0.8321917808219177, \"Memory in Mb\": 9.84501838684082, \"Time in s\": 519.6596460000001 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8590694538098449, \"F1\": 0.8345209817893903, \"Memory in Mb\": 10.364198684692385, \"Time in s\": 593.3590610000001 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8565135305223411, \"F1\": 0.8321060382916053, \"Memory in Mb\": 10.46892547607422, \"Time in s\": 670.9077340000001 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8595870206489675, \"F1\": 0.8354080221300139, \"Memory in Mb\": 10.96640968322754, \"Time in s\": 752.0270200000001 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8634092171016102, \"F1\": 0.8410852713178295, \"Memory in Mb\": 10.118447303771973, \"Time in s\": 836.636461 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8626114315679078, \"F1\": 0.8417874396135265, \"Memory in Mb\": 10.3862943649292, \"Time in s\": 924.5557 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8614008941877794, \"F1\": 0.8415672913117546, \"Memory in Mb\": 10.646858215332031, \"Time in s\": 1015.887245 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8640868334119868, \"F1\": 0.8459893048128343, \"Memory in Mb\": 10.9229736328125, \"Time in s\": 1110.420791 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8642696629213483, \"F1\": 0.8462321792260691, \"Memory in Mb\": 11.325839042663574, \"Time in s\": 1208.24484 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.864006864006864, \"F1\": 0.8461911693352742, \"Memory in Mb\": 11.659860610961914, \"Time in s\": 1308.9666100000002 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8641772671317193, \"F1\": 0.8465461288827074, \"Memory in Mb\": 11.19693660736084, \"Time in s\": 1412.476276 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8651199370821864, \"F1\": 0.8484312859036677, \"Memory in Mb\": 11.452000617980955, \"Time in s\": 1518.7765900000002 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.864477161192903, \"F1\": 0.8480744815911976, \"Memory in Mb\": 11.787381172180176, \"Time in s\": 1627.8671150000002 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8653357531760436, \"F1\": 0.849125660837739, \"Memory in Mb\": 12.11353874206543, \"Time in s\": 1739.675061 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678783642083188, \"F1\": 0.8515318146111548, \"Memory in Mb\": 12.35980987548828, \"Time in s\": 1854.131846 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8695652173913043, \"F1\": 0.8529076396807297, \"Memory in Mb\": 12.722334861755373, \"Time in s\": 1971.385777 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8682069638789457, \"F1\": 0.8515939904727006, \"Memory in Mb\": 13.0479736328125, \"Time in s\": 2091.3191060000004 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8700849323686694, \"F1\": 0.8530771967271433, \"Memory in Mb\": 13.308364868164062, \"Time in s\": 2213.9114950000003 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8700152207001522, \"F1\": 0.8523002421307506, \"Memory in Mb\": 13.608009338378906, \"Time in s\": 2339.1031470000003 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.871129460336184, \"F1\": 0.8544788544788545, \"Memory in Mb\": 13.70766258239746, \"Time in s\": 2466.937686 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.872748069774092, \"F1\": 0.8557536466774717, \"Memory in Mb\": 14.051713943481444, \"Time in s\": 2598.213051 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8742714404662781, \"F1\": 0.856872037914692, \"Memory in Mb\": 14.26829433441162, \"Time in s\": 2732.2090540000004 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8751685090320841, \"F1\": 0.8583664729275007, \"Memory in Mb\": 14.518733978271484, \"Time in s\": 2868.9613940000004 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8762778505897771, \"F1\": 0.8596908442330559, \"Memory in Mb\": 14.742842674255373, \"Time in s\": 3008.2640120000005 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8747768426421831, \"F1\": 0.8578048074138431, \"Memory in Mb\": 15.053866386413574, \"Time in s\": 3150.2484420000005 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8733548547305686, \"F1\": 0.8560135516657256, \"Memory in Mb\": 15.453622817993164, \"Time in s\": 3294.8873180000005 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.874183401887249, \"F1\": 0.8569069895432032, \"Memory in Mb\": 15.755488395690918, \"Time in s\": 3442.0965550000005 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8749705119131871, \"F1\": 0.8579849946409432, \"Memory in Mb\": 15.976973533630373, \"Time in s\": 3591.8798750000005 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8759493670886076, \"F1\": 0.8590849673202615, \"Memory in Mb\": 16.313834190368652, \"Time in s\": 3744.3343260000006 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8755335879577623, \"F1\": 0.8585291113381002, \"Memory in Mb\": 16.729196548461914, \"Time in s\": 3899.4355060000007 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8757954794821154, \"F1\": 0.8592039800995025, \"Memory in Mb\": 17.032727241516113, \"Time in s\": 4057.1530940000007 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8756165558653227, \"F1\": 0.8594961240310078, \"Memory in Mb\": 17.45319175720215, \"Time in s\": 4217.5274930000005 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8754455860767456, \"F1\": 0.8590412909349787, \"Memory in Mb\": 17.6948184967041, \"Time in s\": 4380.594611 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8756923076923077, \"F1\": 0.8588070829450141, \"Memory in Mb\": 17.917430877685547, \"Time in s\": 4546.383704000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8761292913069665, \"F1\": 0.8596770525358198, \"Memory in Mb\": 18.09793186187744, \"Time in s\": 4714.847995000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8757617456261058, \"F1\": 0.8591800356506238, \"Memory in Mb\": 18.51348114013672, \"Time in s\": 4886.014522000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.876372039283651, \"F1\": 0.8598865124399825, \"Memory in Mb\": 18.89274883270264, \"Time in s\": 5059.990176000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8762030571806001, \"F1\": 0.8596491228070176, \"Memory in Mb\": 19.194592475891117, \"Time in s\": 5236.837813000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9116022099447514, \"F1\": 0.908256880733945, \"Memory in Mb\": 7.041282653808594, \"Time in s\": 59.400144 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.906129210381005, \"F1\": 0.8855989232839839, \"Memory in Mb\": 9.07800579071045, \"Time in s\": 148.928403 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9002576370997424, \"F1\": 0.8772088808337108, \"Memory in Mb\": 9.477606773376465, \"Time in s\": 264.671315 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9064311344189898, \"F1\": 0.8849677638276212, \"Memory in Mb\": 10.383838653564451, \"Time in s\": 404.188666 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.90527710311327, \"F1\": 0.8788477831121152, \"Memory in Mb\": 11.437847137451172, \"Time in s\": 565.129871 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9000919963201472, \"F1\": 0.8723854289071681, \"Memory in Mb\": 14.209432601928713, \"Time in s\": 747.817107 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.897019397571361, \"F1\": 0.8704622098789923, \"Memory in Mb\": 15.688876152038574, \"Time in s\": 951.56122 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8965089002345799, \"F1\": 0.8694744169857292, \"Memory in Mb\": 19.837779998779297, \"Time in s\": 1176.633371 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8980743284680486, \"F1\": 0.8778839088905216, \"Memory in Mb\": 22.41482448577881, \"Time in s\": 1420.714573 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9000993487139861, \"F1\": 0.8828478964401294, \"Memory in Mb\": 25.97023296356201, \"Time in s\": 1683.800751 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8982438534872053, \"F1\": 0.8827203331020125, \"Memory in Mb\": 28.783666610717773, \"Time in s\": 1965.440637 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9006531137889798, \"F1\": 0.8870765370138016, \"Memory in Mb\": 30.882869720458984, \"Time in s\": 2263.780185 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9021822195805383, \"F1\": 0.8888030888030888, \"Memory in Mb\": 33.277831077575684, \"Time in s\": 2578.868179 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.901285184893164, \"F1\": 0.8879541793449078, \"Memory in Mb\": 35.50911808013916, \"Time in s\": 2911.085292 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.901905953344617, \"F1\": 0.8899529431189631, \"Memory in Mb\": 38.6168327331543, \"Time in s\": 3259.512573 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9030010348395998, \"F1\": 0.8917128773875539, \"Memory in Mb\": 41.26064682006836, \"Time in s\": 3624.142031 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.903902344003636, \"F1\": 0.8922382408620941, \"Memory in Mb\": 43.65532207489014, \"Time in s\": 4004.812957 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9002882197829153, \"F1\": 0.8879239040529363, \"Memory in Mb\": 45.1539192199707, \"Time in s\": 4403.507418 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8997850461860222, \"F1\": 0.8856176646111001, \"Memory in Mb\": 37.54582214355469, \"Time in s\": 4816.829749 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9001048622992439, \"F1\": 0.8858908082209053, \"Memory in Mb\": 41.9152717590332, \"Time in s\": 5243.603799 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9014454664914586, \"F1\": 0.886177381169186, \"Memory in Mb\": 44.45838737487793, \"Time in s\": 5683.033974000001 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.9011088254477948, \"F1\": 0.8867826986041704, \"Memory in Mb\": 48.213175773620605, \"Time in s\": 6135.158415000001 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8992657292316553, \"F1\": 0.8848411696933121, \"Memory in Mb\": 47.78572177886963, \"Time in s\": 6598.876461000001 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8986800349537782, \"F1\": 0.8824376967821121, \"Memory in Mb\": 49.35674381256104, \"Time in s\": 7073.276106000001 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.898361958585368, \"F1\": 0.8812912541254125, \"Memory in Mb\": 47.91073036193848, \"Time in s\": 7558.681153000001 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8961579282530249, \"F1\": 0.8784656663022956, \"Memory in Mb\": 53.37149906158447, \"Time in s\": 8055.088432000001 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8945259801316381, \"F1\": 0.8760211436809228, \"Memory in Mb\": 52.06687641143799, \"Time in s\": 8562.621137000002 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8922221784207829, \"F1\": 0.8734610756271406, \"Memory in Mb\": 20.63737678527832, \"Time in s\": 9080.309208000002 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8928177216153466, \"F1\": 0.873801201039706, \"Memory in Mb\": 17.83812713623047, \"Time in s\": 9607.290172000005 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8932263880201626, \"F1\": 0.874632797649905, \"Memory in Mb\": 19.30546188354492, \"Time in s\": 10142.799192000002 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8915435285739719, \"F1\": 0.8721564677243349, \"Memory in Mb\": 18.23539447784424, \"Time in s\": 10686.882271000002 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.891345590010693, \"F1\": 0.8712498978173793, \"Memory in Mb\": 21.229859352111816, \"Time in s\": 11240.330868000005 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8905575810281968, \"F1\": 0.8700246285850481, \"Memory in Mb\": 25.24380111694336, \"Time in s\": 11801.274420000003 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.890335356945752, \"F1\": 0.8690697674418605, \"Memory in Mb\": 28.836254119873047, \"Time in s\": 12369.623812000003 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8895266328171813, \"F1\": 0.8679458664756663, \"Memory in Mb\": 27.00519371032715, \"Time in s\": 12944.308752000004 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8879963207113292, \"F1\": 0.86634224872855, \"Memory in Mb\": 30.17805576324463, \"Time in s\": 13524.938061000004 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8870260433757943, \"F1\": 0.8654563541407612, \"Memory in Mb\": 32.107930183410645, \"Time in s\": 14111.446119000002 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8857582711244082, \"F1\": 0.8638770636486346, \"Memory in Mb\": 32.29031944274902, \"Time in s\": 14703.865141000002 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8850083491353692, \"F1\": 0.8622665175090681, \"Memory in Mb\": 36.271653175354, \"Time in s\": 15302.291934000004 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8850133833715058, \"F1\": 0.8612988050461006, \"Memory in Mb\": 35.55355262756348, \"Time in s\": 15906.592759000005 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8836182527931081, \"F1\": 0.859061715515274, \"Memory in Mb\": 38.75662517547608, \"Time in s\": 16517.021041000004 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8830516937794013, \"F1\": 0.8577547628180539, \"Memory in Mb\": 41.063425064086914, \"Time in s\": 17133.624997000003 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8831788895448828, \"F1\": 0.8582198822393221, \"Memory in Mb\": 42.255154609680176, \"Time in s\": 17756.348401000003 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8836765923287259, \"F1\": 0.8598797328740216, \"Memory in Mb\": 43.78993701934815, \"Time in s\": 18385.013164000004 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8840295322426354, \"F1\": 0.8614708467623791, \"Memory in Mb\": 40.85312080383301, \"Time in s\": 19019.639174000004 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8847030593881223, \"F1\": 0.8632106356933413, \"Memory in Mb\": 39.29591369628906, \"Time in s\": 19660.085711000003 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8851130786031328, \"F1\": 0.8639675212724542, \"Memory in Mb\": 42.33915042877197, \"Time in s\": 20306.976876000004 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8848391473313864, \"F1\": 0.8636091290375292, \"Memory in Mb\": 42.20731544494629, \"Time in s\": 20960.03932700001 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8848467100669024, \"F1\": 0.8632350580555408, \"Memory in Mb\": 44.13865566253662, \"Time in s\": 21618.107174000004 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854720854765006, \"F1\": 0.8642027012878233, \"Memory in Mb\": 40.63082981109619, \"Time in s\": 22281.08467600001 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8854582772395224, \"F1\": 0.8641574621787154, \"Memory in Mb\": 40.75471591949463, \"Time in s\": 22944.429270000004 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6666666666666666, \"F1\": 0.7142857142857143, \"Memory in Mb\": 0.6122617721557617, \"Time in s\": 0.640752 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7755102040816326, \"F1\": 0.7659574468085107, \"Memory in Mb\": 0.7524843215942383, \"Time in s\": 1.992597 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8243243243243243, \"F1\": 0.8266666666666667, \"Memory in Mb\": 0.9228668212890624, \"Time in s\": 4.151733 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8282828282828283, \"F1\": 0.8282828282828283, \"Memory in Mb\": 1.193608283996582, \"Time in s\": 7.194986 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8306451612903226, \"F1\": 0.8292682926829269, \"Memory in Mb\": 1.3295679092407229, \"Time in s\": 11.208747 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8389261744966443, \"F1\": 0.8441558441558442, \"Memory in Mb\": 1.3798675537109375, \"Time in s\": 16.195196 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8563218390804598, \"F1\": 0.8520710059171597, \"Memory in Mb\": 1.4546594619750977, \"Time in s\": 22.422243 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8542713567839196, \"F1\": 0.8497409326424871, \"Memory in Mb\": 1.6083984375, \"Time in s\": 29.888728 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8526785714285714, \"F1\": 0.8436018957345972, \"Memory in Mb\": 1.7997064590454102, \"Time in s\": 38.482186 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8433734939759037, \"F1\": 0.8354430379746836, \"Memory in Mb\": 1.9343080520629885, \"Time in s\": 48.311454 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8467153284671532, \"F1\": 0.8372093023255813, \"Memory in Mb\": 2.053934097290039, \"Time in s\": 59.483297 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8461538461538461, \"F1\": 0.8333333333333334, \"Memory in Mb\": 2.12460994720459, \"Time in s\": 72.133375 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8518518518518519, \"F1\": 0.8356164383561644, \"Memory in Mb\": 2.201033592224121, \"Time in s\": 86.30699200000001 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8595988538681948, \"F1\": 0.8414239482200646, \"Memory in Mb\": 2.2356014251708984, \"Time in s\": 102.050203 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8556149732620321, \"F1\": 0.8353658536585366, \"Memory in Mb\": 2.328523635864258, \"Time in s\": 119.413833 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8571428571428571, \"F1\": 0.8347826086956521, \"Memory in Mb\": 2.316814422607422, \"Time in s\": 138.615081 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8608490566037735, \"F1\": 0.8356545961002786, \"Memory in Mb\": 2.353947639465332, \"Time in s\": 159.65345200000002 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8619153674832962, \"F1\": 0.8351063829787234, \"Memory in Mb\": 2.429127693176269, \"Time in s\": 182.47163200000003 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649789029535865, \"F1\": 0.8407960199004976, \"Memory in Mb\": 2.579917907714844, \"Time in s\": 207.23725 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8637274549098196, \"F1\": 0.841860465116279, \"Memory in Mb\": 4.818408012390137, \"Time in s\": 255.437855 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8645038167938931, \"F1\": 0.8397291196388261, \"Memory in Mb\": 5.000759124755859, \"Time in s\": 305.327991 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8652094717668488, \"F1\": 0.8418803418803419, \"Memory in Mb\": 5.177936553955078, \"Time in s\": 356.788916 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8658536585365854, \"F1\": 0.8425357873210634, \"Memory in Mb\": 5.324765205383301, \"Time in s\": 409.723896 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8697829716193656, \"F1\": 0.8446215139442231, \"Memory in Mb\": 5.557343482971191, \"Time in s\": 464.11455 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8685897435897436, \"F1\": 0.8404669260700389, \"Memory in Mb\": 5.701066970825195, \"Time in s\": 520.0238599999999 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8721109399075501, \"F1\": 0.847145488029466, \"Memory in Mb\": 5.875107765197754, \"Time in s\": 577.5076929999999 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8753709198813057, \"F1\": 0.8541666666666667, \"Memory in Mb\": 5.993474006652832, \"Time in s\": 636.4901669999999 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798283261802575, \"F1\": 0.8576271186440678, \"Memory in Mb\": 6.097118377685547, \"Time in s\": 696.8595059999999 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8798342541436464, \"F1\": 0.8603531300160514, \"Memory in Mb\": 6.2616376876831055, \"Time in s\": 758.6517739999999 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8811748998664887, \"F1\": 0.8624420401854715, \"Memory in Mb\": 6.510566711425781, \"Time in s\": 822.0041369999999 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8824289405684754, \"F1\": 0.8631578947368422, \"Memory in Mb\": 6.659415245056152, \"Time in s\": 886.863173 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8823529411764706, \"F1\": 0.8645533141210374, \"Memory in Mb\": 6.793304443359375, \"Time in s\": 953.229371 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8822815533980582, \"F1\": 0.8654646324549237, \"Memory in Mb\": 7.087222099304199, \"Time in s\": 1021.107018 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8833922261484098, \"F1\": 0.8660351826792964, \"Memory in Mb\": 7.324291229248047, \"Time in s\": 1090.559446 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.88558352402746, \"F1\": 0.8677248677248677, \"Memory in Mb\": 7.470724105834961, \"Time in s\": 1161.497406 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8854282536151279, \"F1\": 0.8670967741935484, \"Memory in Mb\": 7.810632705688477, \"Time in s\": 1233.983859 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8874458874458875, \"F1\": 0.8706467661691542, \"Memory in Mb\": 7.971014976501465, \"Time in s\": 1307.96073 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8872497365648051, \"F1\": 0.8718562874251498, \"Memory in Mb\": 8.080266952514648, \"Time in s\": 1383.548543 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8891170431211499, \"F1\": 0.8738317757009346, \"Memory in Mb\": 8.205357551574707, \"Time in s\": 1460.7186840000002 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8888888888888888, \"F1\": 0.8737201365187712, \"Memory in Mb\": 8.39128303527832, \"Time in s\": 1539.50166 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.888671875, \"F1\": 0.8738938053097345, \"Memory in Mb\": 8.406519889831543, \"Time in s\": 1619.9124450000002 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8903717826501429, \"F1\": 0.8762109795479011, \"Memory in Mb\": 8.400672912597656, \"Time in s\": 1701.87919 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8910614525139665, \"F1\": 0.877742946708464, \"Memory in Mb\": 8.453279495239258, \"Time in s\": 1785.406003 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8926296633303002, \"F1\": 0.8795918367346939, \"Memory in Mb\": 8.421560287475586, \"Time in s\": 1870.444315 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932384341637011, \"F1\": 0.8811881188118813, \"Memory in Mb\": 8.383057594299316, \"Time in s\": 1956.980231 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929503916449086, \"F1\": 0.8806983511154219, \"Memory in Mb\": 8.433841705322266, \"Time in s\": 2045.031177 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8909710391822828, \"F1\": 0.8783269961977185, \"Memory in Mb\": 8.58321475982666, \"Time in s\": 2134.506504 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8932443703085905, \"F1\": 0.8803738317757008, \"Memory in Mb\": 8.605175971984863, \"Time in s\": 2225.421876 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8946078431372549, \"F1\": 0.8817598533455545, \"Memory in Mb\": 8.70528507232666, \"Time in s\": 2317.752916 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8951160928742994, \"F1\": 0.88272157564906, \"Memory in Mb\": 8.721240997314453, \"Time in s\": 2411.411116 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.776657104492188, \"Time in s\": 62.937451 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.703582763671875, \"Time in s\": 162.906939 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.683967590332031, \"Time in s\": 291.999561 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.6548919677734375, \"Time in s\": 449.905783 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.674896240234375, \"Time in s\": 634.264648 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.68939208984375, \"Time in s\": 844.6132379999999 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.6727142333984375, \"Time in s\": 1077.972428 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992774091834724, \"F1\": 0.0, \"Memory in Mb\": 4.755153656005859, \"Time in s\": 1334.293209 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992409202382344, \"F1\": 0.0, \"Memory in Mb\": 4.668712615966797, \"Time in s\": 1613.416001 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993168322034788, \"F1\": 0.0, \"Memory in Mb\": 4.707424163818359, \"Time in s\": 1913.210948 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999378941333843, \"F1\": 0.0, \"Memory in Mb\": 4.680248260498047, \"Time in s\": 2233.020054 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994306984891612, \"F1\": 0.0, \"Memory in Mb\": 4.695384979248047, \"Time in s\": 2572.124593 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994744926833212, \"F1\": 0.0, \"Memory in Mb\": 4.721019744873047, \"Time in s\": 2930.571035 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999474494200668, \"F1\": 0.0, \"Memory in Mb\": 4.747562408447266, \"Time in s\": 3309.032834 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999509529147982, \"F1\": 0.0, \"Memory in Mb\": 4.741054534912109, \"Time in s\": 3705.221814 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999540184583046, \"F1\": 0.0, \"Memory in Mb\": 4.678241729736328, \"Time in s\": 4115.910057 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995672333848532, \"F1\": 0.0, \"Memory in Mb\": 4.619670867919922, \"Time in s\": 4539.977119 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995912766764956, \"F1\": 0.0, \"Memory in Mb\": 4.749675750732422, \"Time in s\": 4977.188868 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996127890253348, \"F1\": 0.0, \"Memory in Mb\": 4.678524017333984, \"Time in s\": 5426.058059 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996321500827662, \"F1\": 0.0, \"Memory in Mb\": 4.705173492431641, \"Time in s\": 5886.859448 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996496671838246, \"F1\": 0.0, \"Memory in Mb\": 4.729236602783203, \"Time in s\": 6359.258672 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996655917831124, \"F1\": 0.0, \"Memory in Mb\": 4.729305267333984, \"Time in s\": 6843.735511 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996801316029976, \"F1\": 0.0, \"Memory in Mb\": 4.741458892822266, \"Time in s\": 7339.76837 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996934597446958, \"F1\": 0.0, \"Memory in Mb\": 4.677211761474609, \"Time in s\": 7847.750223999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997057216126456, \"F1\": 0.0, \"Memory in Mb\": 4.833148956298828, \"Time in s\": 8367.044639 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99971704024092, \"F1\": 0.0, \"Memory in Mb\": 4.807292938232422, \"Time in s\": 8898.416265 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996885947839628, \"F1\": 0.0, \"Memory in Mb\": 4.893611907958984, \"Time in s\": 9441.1614 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996997166075484, \"F1\": 0.0, \"Memory in Mb\": 4.877178192138672, \"Time in s\": 9993.506038 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999710071394919, \"F1\": 0.0, \"Memory in Mb\": 4.888896942138672, \"Time in s\": 10554.524537 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995620872672494, \"F1\": 0.0, \"Memory in Mb\": 4.783634185791016, \"Time in s\": 11123.611551 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995762137238948, \"F1\": 0.0, \"Memory in Mb\": 4.831531524658203, \"Time in s\": 11701.029088 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999589457262501, \"F1\": 0.0, \"Memory in Mb\": 4.854015350341797, \"Time in s\": 12286.755546 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700500015924, \"F1\": 0.0, \"Memory in Mb\": 4.858226776123047, \"Time in s\": 12880.441843 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995826957852274, \"F1\": 0.0, \"Memory in Mb\": 4.846561431884766, \"Time in s\": 13482.274686 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995946189418052, \"F1\": 0.0, \"Memory in Mb\": 4.872089385986328, \"Time in s\": 14092.292627 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995766855941728, \"F1\": 0.0, \"Memory in Mb\": 4.843868255615234, \"Time in s\": 14710.448755 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995881266865502, \"F1\": 0.0, \"Memory in Mb\": 4.835132598876953, \"Time in s\": 15336.827122 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995989656078436, \"F1\": 0.0, \"Memory in Mb\": 4.892154693603516, \"Time in s\": 15971.964918999998 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99960924867953, \"F1\": 0.0, \"Memory in Mb\": 4.812671661376953, \"Time in s\": 16613.982513 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996190175908776, \"F1\": 0.0, \"Memory in Mb\": 4.880641937255859, \"Time in s\": 17262.391145999998 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996283099638564, \"F1\": 0.0, \"Memory in Mb\": 4.831180572509766, \"Time in s\": 17916.095854 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996371598373476, \"F1\": 0.0, \"Memory in Mb\": 4.851375579833984, \"Time in s\": 18574.918078 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996455980837856, \"F1\": 0.0, \"Memory in Mb\": 4.851016998291016, \"Time in s\": 19239.025055 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996536527689864, \"F1\": 0.0, \"Memory in Mb\": 4.869503021240234, \"Time in s\": 19908.351772 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999661349463998, \"F1\": 0.0, \"Memory in Mb\": 4.886287689208984, \"Time in s\": 20582.843626 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996687115162732, \"F1\": 0.0, \"Memory in Mb\": 4.888690948486328, \"Time in s\": 21262.535161 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99966457960644, \"F1\": 0.0, \"Memory in Mb\": 4.888484954833984, \"Time in s\": 21947.343422 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999671567607808, \"F1\": 0.0, \"Memory in Mb\": 4.876293182373047, \"Time in s\": 22637.362347 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996782703815712, \"F1\": 0.0, \"Memory in Mb\": 4.905620574951172, \"Time in s\": 23332.514825 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847050415664, \"F1\": 0.0, \"Memory in Mb\": 4.880191802978516, \"Time in s\": 24032.848442 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Stacking\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996847249224948, \"F1\": 0.0, \"Memory in Mb\": 4.888683319091797, \"Time in s\": 24733.238041 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.6761904761904762, \"F1\": 0.6136363636363638, \"Memory in Mb\": 0.1434221267700195, \"Time in s\": 0.374142 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7772511848341233, \"F1\": 0.7374301675977653, \"Memory in Mb\": 0.2354059219360351, \"Time in s\": 1.3677169999999998 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7886435331230284, \"F1\": 0.7527675276752769, \"Memory in Mb\": 0.3270235061645508, \"Time in s\": 3.238746 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.7990543735224587, \"F1\": 0.7658402203856748, \"Memory in Mb\": 0.419011116027832, \"Time in s\": 6.2520690000000005 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8015122873345936, \"F1\": 0.7575057736720554, \"Memory in Mb\": 2.719620704650879, \"Time in s\": 30.609494 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8173228346456692, \"F1\": 0.7777777777777779, \"Memory in Mb\": 3.159085273742676, \"Time in s\": 56.745796 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8259109311740891, \"F1\": 0.7839195979899498, \"Memory in Mb\": 3.6036806106567374, \"Time in s\": 84.9251 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8299881936245572, \"F1\": 0.7913043478260869, \"Memory in Mb\": 4.0666093826293945, \"Time in s\": 115.117686 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8352570828961176, \"F1\": 0.7963683527885861, \"Memory in Mb\": 4.521588325500488, \"Time in s\": 147.5017 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8470254957507082, \"F1\": 0.8094117647058824, \"Memory in Mb\": 4.660099983215332, \"Time in s\": 182.008963 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8497854077253219, \"F1\": 0.8132337246531482, \"Memory in Mb\": 4.474972724914551, \"Time in s\": 218.357961 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8489378442171518, \"F1\": 0.8135922330097087, \"Memory in Mb\": 4.3258256912231445, \"Time in s\": 256.411001 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8482207697893972, \"F1\": 0.8112014453477868, \"Memory in Mb\": 4.1847429275512695, \"Time in s\": 296.011707 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8530006743088334, \"F1\": 0.8180300500834724, \"Memory in Mb\": 4.276310920715332, \"Time in s\": 337.212047 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8539962240402769, \"F1\": 0.8198757763975156, \"Memory in Mb\": 4.522702217102051, \"Time in s\": 380.364724 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8584070796460177, \"F1\": 0.8250728862973761, \"Memory in Mb\": 4.59923267364502, \"Time in s\": 425.089112 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8622987229317046, \"F1\": 0.8315217391304348, \"Memory in Mb\": 4.609700202941895, \"Time in s\": 471.420384 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8610382800209754, \"F1\": 0.8319594166138238, \"Memory in Mb\": 4.583279609680176, \"Time in s\": 519.2335119999999 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8584202682563339, \"F1\": 0.8302561048243002, \"Memory in Mb\": 4.509037971496582, \"Time in s\": 568.4848139999999 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8612553091080698, \"F1\": 0.8355704697986577, \"Memory in Mb\": 4.487088203430176, \"Time in s\": 619.150273 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8624719101123596, \"F1\": 0.8370607028753994, \"Memory in Mb\": 4.479489326477051, \"Time in s\": 671.27983 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8614328614328615, \"F1\": 0.8357905439755974, \"Memory in Mb\": 4.476758003234863, \"Time in s\": 724.8282939999999 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8621255642183012, \"F1\": 0.8364167478091528, \"Memory in Mb\": 4.495999336242676, \"Time in s\": 779.843051 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8623672827369249, \"F1\": 0.8375116063138347, \"Memory in Mb\": 4.492741584777832, \"Time in s\": 836.3752579999999 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8618346545866364, \"F1\": 0.8374777975133214, \"Memory in Mb\": 4.535428047180176, \"Time in s\": 894.373804 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8627949183303085, \"F1\": 0.8384615384615384, \"Memory in Mb\": 4.529454231262207, \"Time in s\": 953.727688 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8661307235232436, \"F1\": 0.842061855670103, \"Memory in Mb\": 4.489285469055176, \"Time in s\": 1014.523259 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678800134816312, \"F1\": 0.8437001594896333, \"Memory in Mb\": 4.522076606750488, \"Time in s\": 1076.832167 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8662544744549301, \"F1\": 0.8419838523644751, \"Memory in Mb\": 4.4861345291137695, \"Time in s\": 1140.498025 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8678829820698333, \"F1\": 0.8432835820895522, \"Memory in Mb\": 4.490513801574707, \"Time in s\": 1205.597432 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8684931506849315, \"F1\": 0.8433647570703406, \"Memory in Mb\": 4.50365161895752, \"Time in s\": 1272.097546 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8690651725154822, \"F1\": 0.8449720670391062, \"Memory in Mb\": 4.519848823547363, \"Time in s\": 1340.030829 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8687446382613668, \"F1\": 0.8439306358381503, \"Memory in Mb\": 4.534294128417969, \"Time in s\": 1409.423343 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8701082431307244, \"F1\": 0.8451356717405691, \"Memory in Mb\": 4.515525817871094, \"Time in s\": 1480.1764939999998 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8705850633593961, \"F1\": 0.8462524023062139, \"Memory in Mb\": 4.521697998046875, \"Time in s\": 1552.3097799999998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8718217562254259, \"F1\": 0.847900466562986, \"Memory in Mb\": 4.52362060546875, \"Time in s\": 1625.8426229999998 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8704412139760265, \"F1\": 0.845873786407767, \"Memory in Mb\": 4.511474609375, \"Time in s\": 1700.7302089999998 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8698783213310156, \"F1\": 0.8450620934358367, \"Memory in Mb\": 4.530387878417969, \"Time in s\": 1777.041184 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8707960319380595, \"F1\": 0.8461981566820277, \"Memory in Mb\": 4.540306091308594, \"Time in s\": 1854.755673 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8723755602736495, \"F1\": 0.8485018202184262, \"Memory in Mb\": 4.5452880859375, \"Time in s\": 1933.828162 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8734177215189873, \"F1\": 0.8498088476242489, \"Memory in Mb\": 4.5819854736328125, \"Time in s\": 2014.179242 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8732869018198157, \"F1\": 0.8494394020288306, \"Memory in Mb\": 4.578292846679688, \"Time in s\": 2095.838517 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8720649550142637, \"F1\": 0.8482166102577455, \"Memory in Mb\": 4.539161682128906, \"Time in s\": 2178.6750019999995 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8719708342268926, \"F1\": 0.8485156051763512, \"Memory in Mb\": 4.509727478027344, \"Time in s\": 2262.6244259999994 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8712518347661984, \"F1\": 0.8472636815920398, \"Memory in Mb\": 4.5496673583984375, \"Time in s\": 2347.803564 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8717948717948718, \"F1\": 0.8474493531852575, \"Memory in Mb\": 4.560760498046875, \"Time in s\": 2434.119985 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725155591246737, \"F1\": 0.8487735175041676, \"Memory in Mb\": 4.513671875, \"Time in s\": 2521.5491019999995 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8718301552978179, \"F1\": 0.8480186480186479, \"Memory in Mb\": 4.541267395019531, \"Time in s\": 2610.1395069999994 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8725207009435779, \"F1\": 0.848927430397079, \"Memory in Mb\": 4.582290649414063, \"Time in s\": 2699.957936 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Bananas\", \"Accuracy\": 0.8726174749952821, \"F1\": 0.8491620111731844, \"Memory in Mb\": 4.584030151367188, \"Time in s\": 2790.9651129999997 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8795580110497238, \"F1\": 0.880351262349067, \"Memory in Mb\": 4.715929985046387, \"Time in s\": 35.551681 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8807288790723358, \"F1\": 0.8536585365853658, \"Memory in Mb\": 4.9170331954956055, \"Time in s\": 87.613259 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689731321310269, \"F1\": 0.8344186046511628, \"Memory in Mb\": 4.988085746765137, \"Time in s\": 154.923184 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8793817278498481, \"F1\": 0.8493622888659084, \"Memory in Mb\": 4.879870414733887, \"Time in s\": 235.92708 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8792227864870833, \"F1\": 0.8405712620227338, \"Memory in Mb\": 5.017077445983887, \"Time in s\": 328.79801 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689972401103956, \"F1\": 0.8260869565217391, \"Memory in Mb\": 4.985064506530762, \"Time in s\": 432.967134 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8680018924459865, \"F1\": 0.8269588587967748, \"Memory in Mb\": 4.949084281921387, \"Time in s\": 548.642546 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8643576652407893, \"F1\": 0.8194010655888295, \"Memory in Mb\": 4.962946891784668, \"Time in s\": 674.769885 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8671654605666625, \"F1\": 0.8317016317016317, \"Memory in Mb\": 5.020190238952637, \"Time in s\": 811.067026 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8711778341980351, \"F1\": 0.8417627118644068, \"Memory in Mb\": 5.0752363204956055, \"Time in s\": 957.595858 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8706472654290015, \"F1\": 0.845165165165165, \"Memory in Mb\": 4.979113578796387, \"Time in s\": 1113.746382 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8737006715113605, \"F1\": 0.8516156922079325, \"Memory in Mb\": 4.9885969161987305, \"Time in s\": 1279.290866 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8733972998216863, \"F1\": 0.8507059176930009, \"Memory in Mb\": 5.106616020202637, \"Time in s\": 1454.661274 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.873294961759836, \"F1\": 0.8513551012857274, \"Memory in Mb\": 5.2120466232299805, \"Time in s\": 1640.606202 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8755611156082125, \"F1\": 0.8560973534167304, \"Memory in Mb\": 5.144991874694824, \"Time in s\": 1836.835898 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8765781303897896, \"F1\": 0.8583643416989946, \"Memory in Mb\": 5.178118705749512, \"Time in s\": 2042.985996 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8766963184208818, \"F1\": 0.8575500712624708, \"Memory in Mb\": 5.108157157897949, \"Time in s\": 2257.366998 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8711596247010487, \"F1\": 0.8493366798135532, \"Memory in Mb\": 5.1558027267456055, \"Time in s\": 2480.044725 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8687038865973392, \"F1\": 0.8429683157309616, \"Memory in Mb\": 5.140070915222168, \"Time in s\": 2710.925816 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8689773166289531, \"F1\": 0.8433623647400369, \"Memory in Mb\": 5.172907829284668, \"Time in s\": 2950.660411 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8696977660972405, \"F1\": 0.8421320766732471, \"Memory in Mb\": 5.328249931335449, \"Time in s\": 3199.829749 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8659876574180925, \"F1\": 0.8380132209351688, \"Memory in Mb\": 5.355593681335449, \"Time in s\": 3457.907085 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8617843259586313, \"F1\": 0.8322851153039832, \"Memory in Mb\": 5.442904472351074, \"Time in s\": 3724.572015 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.862668445016787, \"F1\": 0.8307064293003741, \"Memory in Mb\": 5.347712516784668, \"Time in s\": 3998.841393 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8610093160845953, \"F1\": 0.8268045774647886, \"Memory in Mb\": 5.363558769226074, \"Time in s\": 4280.436632 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.85434090426661, \"F1\": 0.8163571160948456, \"Memory in Mb\": 5.3763532638549805, \"Time in s\": 4569.013267 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8534401700666366, \"F1\": 0.8138145936120489, \"Memory in Mb\": 5.330439567565918, \"Time in s\": 4864.708005 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8518941932431899, \"F1\": 0.8121030257564391, \"Memory in Mb\": 5.456484794616699, \"Time in s\": 5167.517117 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530811098846725, \"F1\": 0.8130931628897928, \"Memory in Mb\": 5.321070671081543, \"Time in s\": 5477.642376000001 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8524964126715479, \"F1\": 0.8125672074430782, \"Memory in Mb\": 5.426630973815918, \"Time in s\": 5794.594214000001 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8496350364963504, \"F1\": 0.8078795323233702, \"Memory in Mb\": 5.366648674011231, \"Time in s\": 6118.251751000001 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8475043979165948, \"F1\": 0.8032575319300432, \"Memory in Mb\": 5.4148359298706055, \"Time in s\": 6448.591708000001 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8460046158477439, \"F1\": 0.8002429711905589, \"Memory in Mb\": 5.3892927169799805, \"Time in s\": 6785.693940000001 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462162776352953, \"F1\": 0.7992881657556884, \"Memory in Mb\": 5.532000541687012, \"Time in s\": 7130.317230000001 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8429783342268756, \"F1\": 0.7938387644403958, \"Memory in Mb\": 5.507189750671387, \"Time in s\": 7481.445887000001 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8419745515866932, \"F1\": 0.7926122646064703, \"Memory in Mb\": 5.485476493835449, \"Time in s\": 7839.281994000001 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8421884788639957, \"F1\": 0.7931492922499414, \"Memory in Mb\": 5.629275321960449, \"Time in s\": 8203.623919000001 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8400092950300636, \"F1\": 0.7894656371837016, \"Memory in Mb\": 5.587969779968262, \"Time in s\": 8574.868737 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398947159878867, \"F1\": 0.7879287722586691, \"Memory in Mb\": 5.669405937194824, \"Time in s\": 8954.118864 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8408896492728828, \"F1\": 0.7879523389232127, \"Memory in Mb\": 5.650286674499512, \"Time in s\": 9340.118817 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8397092475434109, \"F1\": 0.7854569040069184, \"Memory in Mb\": 5.652537345886231, \"Time in s\": 9731.872155 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8398202412551575, \"F1\": 0.7854402083993381, \"Memory in Mb\": 5.638819694519043, \"Time in s\": 10129.488521 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8406704828400544, \"F1\": 0.787685992816829, \"Memory in Mb\": 5.6699628829956055, \"Time in s\": 10532.813227 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.841381732433585, \"F1\": 0.7910235647949235, \"Memory in Mb\": 5.623560905456543, \"Time in s\": 10941.028498 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8422085408030612, \"F1\": 0.7943480067772769, \"Memory in Mb\": 5.627467155456543, \"Time in s\": 11353.937417 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8431673665266947, \"F1\": 0.7973835947671896, \"Memory in Mb\": 5.641619682312012, \"Time in s\": 11771.547134 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8438505436697118, \"F1\": 0.7987529888919157, \"Memory in Mb\": 5.640711784362793, \"Time in s\": 12193.871152999998 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.843999356129418, \"F1\": 0.7991592160577892, \"Memory in Mb\": 5.725451469421387, \"Time in s\": 12620.815871999996 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8432635775910616, \"F1\": 0.7972256221950225, \"Memory in Mb\": 5.7456769943237305, \"Time in s\": 13052.460535999997 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8436830835117773, \"F1\": 0.7980031379261162, \"Memory in Mb\": 5.754740715026856, \"Time in s\": 13488.904282999996 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8436803425216834, \"F1\": 0.7979576118892089, \"Memory in Mb\": 5.757502555847168, \"Time in s\": 13925.545040999996 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5833333333333334, \"F1\": 0.7058823529411764, \"Memory in Mb\": 0.1740083694458007, \"Time in s\": 0.162813 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7346938775510204, \"F1\": 0.7636363636363637, \"Memory in Mb\": 0.2024965286254882, \"Time in s\": 0.520257 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.7837837837837838, \"F1\": 0.8048780487804877, \"Memory in Mb\": 0.2315149307250976, \"Time in s\": 1.0500919999999998 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8080808080808081, \"F1\": 0.819047619047619, \"Memory in Mb\": 0.2600297927856445, \"Time in s\": 1.7634529999999995 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8145161290322581, \"F1\": 0.8217054263565893, \"Memory in Mb\": 0.2885446548461914, \"Time in s\": 2.765045 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8187919463087249, \"F1\": 0.830188679245283, \"Memory in Mb\": 0.3175630569458008, \"Time in s\": 4.083864999999999 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8390804597701149, \"F1\": 0.8390804597701148, \"Memory in Mb\": 0.3460779190063476, \"Time in s\": 5.803779 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8391959798994975, \"F1\": 0.8383838383838383, \"Memory in Mb\": 0.3750925064086914, \"Time in s\": 7.866028 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8348214285714286, \"F1\": 0.8294930875576038, \"Memory in Mb\": 0.4036073684692383, \"Time in s\": 10.317012 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8313253012048193, \"F1\": 0.8264462809917356, \"Memory in Mb\": 0.4321222305297851, \"Time in s\": 13.231482 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8357664233576643, \"F1\": 0.8288973384030419, \"Memory in Mb\": 0.4616479873657226, \"Time in s\": 16.680039999999998 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.842809364548495, \"F1\": 0.8327402135231317, \"Memory in Mb\": 0.4901628494262695, \"Time in s\": 20.639261 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8549382716049383, \"F1\": 0.8417508417508418, \"Memory in Mb\": 0.5191812515258789, \"Time in s\": 25.174847 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8624641833810889, \"F1\": 0.8471337579617835, \"Memory in Mb\": 0.5476961135864258, \"Time in s\": 30.349829 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8609625668449198, \"F1\": 0.8433734939759037, \"Memory in Mb\": 0.5762109756469727, \"Time in s\": 36.11991 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8621553884711779, \"F1\": 0.8424068767908309, \"Memory in Mb\": 0.605229377746582, \"Time in s\": 42.598398 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8632075471698113, \"F1\": 0.839779005524862, \"Memory in Mb\": 0.6337442398071289, \"Time in s\": 49.849208 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8663697104677061, \"F1\": 0.8412698412698413, \"Memory in Mb\": 0.6627893447875977, \"Time in s\": 57.823258 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8649789029535865, \"F1\": 0.8407960199004976, \"Memory in Mb\": 0.6913042068481445, \"Time in s\": 66.560459 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8657314629258517, \"F1\": 0.8445475638051043, \"Memory in Mb\": 2.87209415435791, \"Time in s\": 96.818717 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8683206106870229, \"F1\": 0.8442437923250564, \"Memory in Mb\": 2.980504035949707, \"Time in s\": 127.963431 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8688524590163934, \"F1\": 0.8461538461538463, \"Memory in Mb\": 3.08364200592041, \"Time in s\": 159.977649 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8710801393728222, \"F1\": 0.848360655737705, \"Memory in Mb\": 3.1883134841918945, \"Time in s\": 192.908804 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8747913188647746, \"F1\": 0.8502994011976048, \"Memory in Mb\": 3.300492286682129, \"Time in s\": 226.71997 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8733974358974359, \"F1\": 0.8460038986354775, \"Memory in Mb\": 3.412938117980957, \"Time in s\": 261.370264 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8767334360554699, \"F1\": 0.8523985239852399, \"Memory in Mb\": 3.522160530090332, \"Time in s\": 296.927054 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8783382789317508, \"F1\": 0.8571428571428572, \"Memory in Mb\": 3.6335840225219727, \"Time in s\": 333.391974 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.882689556509299, \"F1\": 0.8605442176870748, \"Memory in Mb\": 3.7482118606567374, \"Time in s\": 370.807982 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8839779005524862, \"F1\": 0.864516129032258, \"Memory in Mb\": 3.861550331115722, \"Time in s\": 409.129822 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8851802403204272, \"F1\": 0.8664596273291927, \"Memory in Mb\": 3.975522041320801, \"Time in s\": 448.343177 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8863049095607235, \"F1\": 0.8670694864048338, \"Memory in Mb\": 4.095002174377441, \"Time in s\": 488.481904 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.886107634543179, \"F1\": 0.8683068017366136, \"Memory in Mb\": 4.146827697753906, \"Time in s\": 529.573688 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8859223300970874, \"F1\": 0.8690807799442897, \"Memory in Mb\": 4.390903472900391, \"Time in s\": 571.6173799999999 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8869257950530035, \"F1\": 0.8695652173913044, \"Memory in Mb\": 4.504707336425781, \"Time in s\": 614.6492939999999 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8890160183066361, \"F1\": 0.8711819389110226, \"Memory in Mb\": 4.624469757080078, \"Time in s\": 658.6172529999999 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8876529477196885, \"F1\": 0.869340232858991, \"Memory in Mb\": 4.741554260253906, \"Time in s\": 703.5317429999999 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8896103896103896, \"F1\": 0.8728179551122195, \"Memory in Mb\": 4.862430572509766, \"Time in s\": 749.5245539999999 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8904109589041096, \"F1\": 0.8752997601918464, \"Memory in Mb\": 4.984291076660156, \"Time in s\": 796.5006999999998 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8921971252566735, \"F1\": 0.8771929824561404, \"Memory in Mb\": 5.102375030517578, \"Time in s\": 844.5149469999998 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8928928928928929, \"F1\": 0.8779931584948689, \"Memory in Mb\": 5.219093322753906, \"Time in s\": 893.5084249999998 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.892578125, \"F1\": 0.8780487804878048, \"Memory in Mb\": 5.178688049316406, \"Time in s\": 943.5715689999996 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.894184938036225, \"F1\": 0.8802588996763754, \"Memory in Mb\": 5.151969909667969, \"Time in s\": 994.6247309999998 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8929236499068901, \"F1\": 0.8798328108672936, \"Memory in Mb\": 5.117225646972656, \"Time in s\": 1046.6512989999997 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8944494995450409, \"F1\": 0.8816326530612245, \"Memory in Mb\": 5.075950622558594, \"Time in s\": 1099.6701919999996 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8959074733096085, \"F1\": 0.884272997032641, \"Memory in Mb\": 5.007194519042969, \"Time in s\": 1153.6019869999996 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896431679721497, \"F1\": 0.8845780795344327, \"Memory in Mb\": 4.982025146484375, \"Time in s\": 1208.4750359999996 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8952299829642248, \"F1\": 0.8829686013320648, \"Memory in Mb\": 4.96966552734375, \"Time in s\": 1264.1689839999997 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.896580483736447, \"F1\": 0.8841121495327102, \"Memory in Mb\": 4.9371490478515625, \"Time in s\": 1320.7795169999995 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8970588235294118, \"F1\": 0.8844036697247706, \"Memory in Mb\": 4.8813018798828125, \"Time in s\": 1378.3046599999998 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"Phishing\", \"Accuracy\": 0.8967173738991193, \"F1\": 0.8845120859444942, \"Memory in Mb\": 4.820304870605469, \"Time in s\": 1436.7224909999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.661611557006836, \"Time in s\": 43.527964 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.557134628295898, \"Time in s\": 113.03315 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.496244430541992, \"Time in s\": 201.747221 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.508665084838867, \"Time in s\": 310.754596 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.565656661987305, \"Time in s\": 436.825284 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.554738998413086, \"Time in s\": 579.964386 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 4.492513656616211, \"Time in s\": 739.485002 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372397030808, \"F1\": 0.7777777777777778, \"Memory in Mb\": 4.532373428344727, \"Time in s\": 915.25293 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997664369963798, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.528841018676758, \"Time in s\": 1107.42481 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997897945241474, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.520586013793945, \"Time in s\": 1314.036215 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998089050257978, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.519166946411133, \"Time in s\": 1534.186276 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248303043572, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.512857437133789, \"Time in s\": 1768.1243410000002 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999838305441022, \"F1\": 0.8181818181818181, \"Memory in Mb\": 4.568696975708008, \"Time in s\": 2014.7470960000005 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998123193573816, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.55253791809082, \"Time in s\": 2273.6909760000003 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998248318385652, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.554193496704102, \"Time in s\": 2543.9053730000005 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998357802082308, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.487833023071289, \"Time in s\": 2824.6447140000005 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998454404945905, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.52525520324707, \"Time in s\": 3116.2234200000003 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998540273844628, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.608850479125977, \"Time in s\": 3418.6303260000004 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999861710366191, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.462549209594727, \"Time in s\": 3731.216163000001 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686250295594, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.517663955688477, \"Time in s\": 4053.885436000001 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998748811370802, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.596040725708008, \"Time in s\": 4386.480402 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998805684939688, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.581964492797852, \"Time in s\": 4729.507439 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998857612867847, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.56077766418457, \"Time in s\": 5082.623411 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998905213373912, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.554697036743164, \"Time in s\": 5446.283888999999 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998949005759448, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.589784622192383, \"Time in s\": 5821.612630999999 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998989429431856, \"F1\": 0.782608695652174, \"Memory in Mb\": 4.514947891235352, \"Time in s\": 6206.523862999999 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998637602179836, \"F1\": 0.72, \"Memory in Mb\": 4.571069717407227, \"Time in s\": 6600.877267999999 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998686260158024, \"F1\": 0.72, \"Memory in Mb\": 4.544900894165039, \"Time in s\": 7002.824473 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9998731562352772, \"F1\": 0.72, \"Memory in Mb\": 4.490015029907227, \"Time in s\": 7412.266105 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997197358510396, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.520219802856445, \"Time in s\": 7829.032212999999 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997287767832926, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.567926406860352, \"Time in s\": 8253.169596 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372526480006, \"F1\": 0.5294117647058824, \"Memory in Mb\": 4.602060317993164, \"Time in s\": 8684.574786 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997133666677284, \"F1\": 0.5, \"Memory in Mb\": 4.518564224243164, \"Time in s\": 9122.220249 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997217971901516, \"F1\": 0.5, \"Memory in Mb\": 4.562410354614258, \"Time in s\": 9566.245368 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997297459612036, \"F1\": 0.5, \"Memory in Mb\": 4.587350845336914, \"Time in s\": 10016.770375 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997226560789408, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.58268928527832, \"Time in s\": 10473.685786 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997301519670502, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.552003860473633, \"Time in s\": 10937.213874 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997372533292768, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.568490982055664, \"Time in s\": 11407.187031 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997439905141748, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.501398086547852, \"Time in s\": 11883.434676 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997503908354024, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.530572891235352, \"Time in s\": 12366.124718 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999756478941837, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.565195083618164, \"Time in s\": 12855.350972 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999762277134814, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.555276870727539, \"Time in s\": 13350.750206 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997678056411008, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.523683547973633, \"Time in s\": 13852.638924 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997730828486464, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.51640510559082, \"Time in s\": 14360.452684 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997781255108952, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.554742813110352, \"Time in s\": 14874.156807 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997829489244549, \"F1\": 0.5128205128205129, \"Memory in Mb\": 4.55351448059082, \"Time in s\": 15393.589182 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997763864042932, \"F1\": 0.5, \"Memory in Mb\": 4.576028823852539, \"Time in s\": 15919.905447 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997700973254656, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.509759902954102, \"Time in s\": 16451.368555 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997747892671, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.633722305297852, \"Time in s\": 16987.639193000003 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997792935290964, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.606340408325195, \"Time in s\": 17528.67073 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"Voting\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9997793074457464, \"F1\": 0.4878048780487804, \"Memory in Mb\": 4.602045059204102, \"Time in s\": 18069.786262 }, { \"step\": 106, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5333333333333333, \"F1\": 0.5242718446601942, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.004468 }, { \"step\": 212, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5876777251184834, \"F1\": 0.5538461538461539, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.067972 }, { \"step\": 318, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5457413249211357, \"F1\": 0.5102040816326531, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.134988 }, { \"step\": 424, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5460992907801419, \"F1\": 0.5025906735751295, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.20522 }, { \"step\": 530, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5671077504725898, \"F1\": 0.5096359743040686, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.337716 }, { \"step\": 636, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5464566929133858, \"F1\": 0.4875444839857651, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.474055 }, { \"step\": 742, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5573549257759784, \"F1\": 0.4875, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.646583 }, { \"step\": 848, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5501770956316411, \"F1\": 0.4816326530612245, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.822555 }, { \"step\": 954, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5487932843651626, \"F1\": 0.4794188861985472, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.00209 }, { \"step\": 1060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5448536355051936, \"F1\": 0.4679911699779249, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.292978 }, { \"step\": 1166, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.534763948497854, \"F1\": 0.4590818363273453, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.5875979999999998 }, { \"step\": 1272, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5287175452399685, \"F1\": 0.456935630099728, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.885535 }, { \"step\": 1378, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5286855482933914, \"F1\": 0.4523206751054852, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.211477 }, { \"step\": 1484, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5252865812542145, \"F1\": 0.4491392801251955, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.547239 }, { \"step\": 1590, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5204531151667715, \"F1\": 0.4437956204379563, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.88734 }, { \"step\": 1696, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5227138643067847, \"F1\": 0.4455106237148732, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.258534 }, { \"step\": 1802, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.524153248195447, \"F1\": 0.4523961661341854, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.633124 }, { \"step\": 1908, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5233350812794966, \"F1\": 0.456664674237896, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.01125 }, { \"step\": 2014, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5171385991058122, \"F1\": 0.4563758389261745, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.505139000000001 }, { \"step\": 2120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5143935818782445, \"F1\": 0.4581358609794628, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.002779 }, { \"step\": 2226, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5114606741573033, \"F1\": 0.4545910687405921, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.503925000000001 }, { \"step\": 2332, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510939510939511, \"F1\": 0.4550669216061185, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.074663000000001 }, { \"step\": 2438, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5104636848584325, \"F1\": 0.4530032095369097, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.648598000000001 }, { \"step\": 2544, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5084545812033032, \"F1\": 0.4546247818499127, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.226634000000001 }, { \"step\": 2650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5096262740656852, \"F1\": 0.458072590738423, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.863299 }, { \"step\": 2756, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5092558983666061, \"F1\": 0.4574638844301765, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.503527 }, { \"step\": 2862, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5103110800419434, \"F1\": 0.4563445867287544, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.147193 }, { \"step\": 2968, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5133131108864173, \"F1\": 0.457957957957958, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.82546 }, { \"step\": 3074, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099251545720794, \"F1\": 0.4563176895306859, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.507099 }, { \"step\": 3180, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102233406731677, \"F1\": 0.4538758330410382, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.191893 }, { \"step\": 3286, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5095890410958904, \"F1\": 0.4522271336280176, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.975438 }, { \"step\": 3392, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5107637864936597, \"F1\": 0.4558871761233191, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 12.764918 }, { \"step\": 3498, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5124392336288247, \"F1\": 0.4557931694861155, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 13.557573 }, { \"step\": 3604, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5134610047182903, \"F1\": 0.4544039838157485, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 14.3795 }, { \"step\": 3710, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5122674575357239, \"F1\": 0.4546276756104914, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.204998 }, { \"step\": 3816, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.510615989515072, \"F1\": 0.4536142815335089, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 16.116361 }, { \"step\": 3922, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5090538128028564, \"F1\": 0.4507845934379457, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 17.035489000000002 }, { \"step\": 4028, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5108020859200397, \"F1\": 0.452473596442468, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 17.958008000000003 }, { \"step\": 4134, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102830873457537, \"F1\": 0.4517876489707476, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.927027 }, { \"step\": 4240, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5102618542108988, \"F1\": 0.4525316455696203, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 19.900154000000004 }, { \"step\": 4346, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5074798619102416, \"F1\": 0.4490216271884655, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 20.87662300000001 }, { \"step\": 4452, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099977533138621, \"F1\": 0.4513207547169811, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 21.913356000000007 }, { \"step\": 4558, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099846390168971, \"F1\": 0.4539007092198581, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 22.953869000000008 }, { \"step\": 4664, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099721209521767, \"F1\": 0.4553039332538737, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 23.99911400000001 }, { \"step\": 4770, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5110085971901867, \"F1\": 0.4556489262371615, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 25.08372100000001 }, { \"step\": 4876, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5109743589743589, \"F1\": 0.4539624370132845, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 26.17171900000001 }, { \"step\": 4982, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099377635013049, \"F1\": 0.453792794808682, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 27.26320500000001 }, { \"step\": 5088, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5099272655789266, \"F1\": 0.4536489151873767, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 28.44143600000001 }, { \"step\": 5194, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5097246293086848, \"F1\": 0.4531786941580756, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 29.62357400000001 }, { \"step\": 5300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Bananas\", \"Accuracy\": 0.5095301000188714, \"F1\": 0.4529572721532309, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 30.80903600000001 }, { \"step\": 906, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530386740331491, \"F1\": 0.8500563697857948, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.224121 }, { \"step\": 1812, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8619547211485368, \"F1\": 0.8287671232876712, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.785464 }, { \"step\": 2718, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450496871549503, \"F1\": 0.80958842152872, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.64751 }, { \"step\": 3624, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8418437758763456, \"F1\": 0.8056968463886063, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.805953 }, { \"step\": 4530, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8388165157871494, \"F1\": 0.7960893854748604, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.158177 }, { \"step\": 5436, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8413983440662374, \"F1\": 0.7995348837209302, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.857693 }, { \"step\": 6342, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8370919413341744, \"F1\": 0.7958094485076103, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.811494 }, { \"step\": 7248, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8359321098385539, \"F1\": 0.7948231233822259, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.005109 }, { \"step\": 8154, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8352753587636453, \"F1\": 0.8021799970540581, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 12.510532 }, { \"step\": 9060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8358538470029805, \"F1\": 0.8069081937410726, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.278308 }, { \"step\": 9966, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8372303060712494, \"F1\": 0.8118765947575969, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.289259 }, { \"step\": 10872, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8368135406126391, \"F1\": 0.8140461215932915, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 21.565546 }, { \"step\": 11778, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8374798335739153, \"F1\": 0.8150724637681159, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 25.041396 }, { \"step\": 12684, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8384451628163684, \"F1\": 0.8161177420802298, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 28.814916 }, { \"step\": 13590, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.842004562513798, \"F1\": 0.8223417459660736, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 32.85712 }, { \"step\": 14496, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8448430493273542, \"F1\": 0.8264794383149447, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 37.134508 }, { \"step\": 15402, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8460489578598792, \"F1\": 0.8270983738058776, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 41.682175 }, { \"step\": 16308, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.844851904090268, \"F1\": 0.8251313243019076, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 46.494991 }, { \"step\": 17214, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8443618195549875, \"F1\": 0.8222177981286084, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 51.515798 }, { \"step\": 18120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8450797505381091, \"F1\": 0.8227792158595871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 56.800748 }, { \"step\": 19026, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462023653088042, \"F1\": 0.8224083515416363, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 62.372633 }, { \"step\": 19932, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.847523957653906, \"F1\": 0.8255753888538139, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 68.180409 }, { \"step\": 20838, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.84661899505687, \"F1\": 0.8249917862227577, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 74.270057 }, { \"step\": 21744, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8452835395299637, \"F1\": 0.8209495422610177, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 80.612623 }, { \"step\": 22650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8444081416398075, \"F1\": 0.8188733552631579, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 87.17507 }, { \"step\": 23556, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8451284228401613, \"F1\": 0.8194595664654062, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 93.968638 }, { \"step\": 24462, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8464903315481788, \"F1\": 0.8198781599270878, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 100.983267 }, { \"step\": 25368, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8462963692986951, \"F1\": 0.8199492034172247, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 108.278888 }, { \"step\": 26274, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8477524454763445, \"F1\": 0.8213168944876262, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 115.769594 }, { \"step\": 27180, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8495529636851982, \"F1\": 0.8240457851026293, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 123.465792 }, { \"step\": 28086, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8509880719245149, \"F1\": 0.825107610012955, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 131.36678899999998 }, { \"step\": 28992, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8521265220240765, \"F1\": 0.8258237516759436, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 139.55273799999998 }, { \"step\": 29898, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8531959728400843, \"F1\": 0.8268160833366216, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 147.964309 }, { \"step\": 30804, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537480115573158, \"F1\": 0.8267107743201139, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 156.664426 }, { \"step\": 31710, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8530385694913116, \"F1\": 0.8259895444361464, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 165.606267 }, { \"step\": 32616, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8536869538555879, \"F1\": 0.8269760696156635, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 174.782391 }, { \"step\": 33522, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8541511291429253, \"F1\": 0.8276032300151628, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 184.217189 }, { \"step\": 34428, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8549684840386905, \"F1\": 0.8286724084685859, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 193.875362 }, { \"step\": 35334, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8555175048821215, \"F1\": 0.8284321962695346, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 203.791365 }, { \"step\": 36240, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8545213720025387, \"F1\": 0.8259146744155329, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 213.957306 }, { \"step\": 37146, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.854354556467896, \"F1\": 0.8252696854208386, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 224.377202 }, { \"step\": 38052, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8545636119944285, \"F1\": 0.8247736052181622, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 234.998191 }, { \"step\": 38958, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8548142824139435, \"F1\": 0.8254213223038459, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 245.897409 }, { \"step\": 39864, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8546521837292728, \"F1\": 0.8262981172802495, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 257.034489 }, { \"step\": 40770, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8540067207927592, \"F1\": 0.8267652366261132, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 268.379106 }, { \"step\": 41676, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8537012597480504, \"F1\": 0.8274320002264302, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 279.987419 }, { \"step\": 42582, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8536201592259458, \"F1\": 0.8277177368086459, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 291.808183 }, { \"step\": 43488, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.853473451836181, \"F1\": 0.8276626818845675, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 303.899029 }, { \"step\": 44394, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533777847858897, \"F1\": 0.8271686890948196, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 316.239245 }, { \"step\": 45300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533521711296055, \"F1\": 0.8273155007928462, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 328.813976 }, { \"step\": 45312, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Elec2\", \"Accuracy\": 0.8533027300214076, \"F1\": 0.8272294856132872, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 341.389555 }, { \"step\": 25, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.625, \"F1\": 0.64, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.001863 }, { \"step\": 50, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.6530612244897959, \"F1\": 0.6222222222222223, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.005016 }, { \"step\": 75, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5675675675675675, \"F1\": 0.5555555555555556, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.009415 }, { \"step\": 100, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5555555555555556, \"F1\": 0.5416666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.115037 }, { \"step\": 125, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5241935483870968, \"F1\": 0.5123966942148761, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.222127 }, { \"step\": 150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5234899328859061, \"F1\": 0.5298013245033113, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.330326 }, { \"step\": 175, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5229885057471264, \"F1\": 0.496969696969697, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.439628 }, { \"step\": 200, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.507537688442211, \"F1\": 0.4787234042553192, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.550035 }, { \"step\": 225, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5, \"F1\": 0.4509803921568627, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.6616070000000001 }, { \"step\": 250, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5180722891566265, \"F1\": 0.4782608695652174, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.774476 }, { \"step\": 275, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5218978102189781, \"F1\": 0.4738955823293172, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 0.8884620000000001 }, { \"step\": 300, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5217391304347826, \"F1\": 0.460377358490566, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.0035580000000002 }, { \"step\": 325, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5216049382716049, \"F1\": 0.4483985765124554, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.151113 }, { \"step\": 350, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5329512893982808, \"F1\": 0.4511784511784511, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.299965 }, { \"step\": 375, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5267379679144385, \"F1\": 0.4380952380952381, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.45006 }, { \"step\": 400, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5263157894736842, \"F1\": 0.4324324324324324, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.6013830000000002 }, { \"step\": 425, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5424528301886793, \"F1\": 0.436046511627907, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.7539290000000003 }, { \"step\": 450, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5367483296213809, \"F1\": 0.4222222222222222, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 1.9077010000000003 }, { \"step\": 475, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5358649789029536, \"F1\": 0.4329896907216494, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.0627030000000004 }, { \"step\": 500, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5370741482965932, \"F1\": 0.4460431654676259, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.2669650000000003 }, { \"step\": 525, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5400763358778626, \"F1\": 0.4382284382284382, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.491531 }, { \"step\": 550, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5391621129326047, \"F1\": 0.4415011037527593, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.717762 }, { \"step\": 575, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5418118466898955, \"F1\": 0.4416135881104034, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 2.945135 }, { \"step\": 600, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5509181969949917, \"F1\": 0.443064182194617, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.175983 }, { \"step\": 625, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5560897435897436, \"F1\": 0.4358452138492871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.407996 }, { \"step\": 650, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.551617873651772, \"F1\": 0.4393063583815029, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.641123 }, { \"step\": 675, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5459940652818991, \"F1\": 0.4436363636363636, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 3.875357 }, { \"step\": 700, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5464949928469242, \"F1\": 0.4389380530973452, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.110698999999999 }, { \"step\": 725, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5441988950276243, \"F1\": 0.4463087248322148, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.380075 }, { \"step\": 750, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5367156208277704, \"F1\": 0.4412238325281803, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.650483 }, { \"step\": 775, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5310077519379846, \"F1\": 0.4336973478939157, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 4.940408 }, { \"step\": 800, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5294117647058824, \"F1\": 0.4388059701492537, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.231503 }, { \"step\": 825, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5266990291262136, \"F1\": 0.4396551724137931, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.523716 }, { \"step\": 850, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5241460541813898, \"F1\": 0.4341736694677871, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 5.817038 }, { \"step\": 875, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.522883295194508, \"F1\": 0.4311050477489768, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.111637 }, { \"step\": 900, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5272525027808677, \"F1\": 0.4340878828229028, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.407366 }, { \"step\": 925, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5227272727272727, \"F1\": 0.4338896020539153, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 6.766113 }, { \"step\": 950, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5205479452054794, \"F1\": 0.438964241676942, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.126579 }, { \"step\": 975, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5174537987679672, \"F1\": 0.4337349397590361, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.488418999999999 }, { \"step\": 1000, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5185185185185185, \"F1\": 0.4361078546307151, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 7.851253 }, { \"step\": 1025, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.517578125, \"F1\": 0.4386363636363636, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.215067 }, { \"step\": 1050, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5138226882745471, \"F1\": 0.4370860927152318, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.579858 }, { \"step\": 1075, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5111731843575419, \"F1\": 0.4372990353697749, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 8.945611 }, { \"step\": 1100, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5122838944494995, \"F1\": 0.4393305439330544, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.312328 }, { \"step\": 1125, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5124555160142349, \"F1\": 0.4453441295546558, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 9.680001999999998 }, { \"step\": 1150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5143603133159269, \"F1\": 0.4464285714285714, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.125450999999998 }, { \"step\": 1175, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5187393526405452, \"F1\": 0.4509232264334305, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 10.572148 }, { \"step\": 1200, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5187656380316931, \"F1\": 0.448901623686724, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.020091999999998 }, { \"step\": 1225, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5171568627450981, \"F1\": 0.4471468662301216, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.469231 }, { \"step\": 1250, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Phishing\", \"Accuracy\": 0.5156124899919936, \"F1\": 0.4474885844748858, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 11.919638999999998 }, { \"step\": 1903, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 0.335236 }, { \"step\": 3806, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 1.143886 }, { \"step\": 5709, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 2.36402 }, { \"step\": 7612, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 4.028138 }, { \"step\": 9515, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 6.117771 }, { \"step\": 11418, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 8.657701 }, { \"step\": 13321, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 1.0, \"F1\": 0.0, \"Memory in Mb\": 0.0004835128784179, \"Time in s\": 11.631 }, { \"step\": 15224, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9985548183669448, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 15.05037 }, { \"step\": 17127, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9984818404764684, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 18.876176 }, { \"step\": 19030, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9986336644069578, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 23.061029 }, { \"step\": 20933, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9987578826676858, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 27.619004 }, { \"step\": 22836, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9988613969783228, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 32.587888 }, { \"step\": 24739, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9989489853666425, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 37.966612 }, { \"step\": 26642, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9989489884013364, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 43.747016 }, { \"step\": 28545, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9990190582959642, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 49.923315 }, { \"step\": 30448, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999080369166092, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 56.476617 }, { \"step\": 32351, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9991344667697064, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 63.442318 }, { \"step\": 34254, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999182553352991, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 70.796392 }, { \"step\": 36157, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992255780506694, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 78.554987 }, { \"step\": 38060, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992643001655324, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 86.688101 }, { \"step\": 39963, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9992993343676492, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 95.30254 }, { \"step\": 41866, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993311835662247, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 104.31052400000002 }, { \"step\": 43769, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993602632059952, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 113.72316700000002 }, { \"step\": 45672, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9993869194893916, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 123.549629 }, { \"step\": 47575, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994114432252912, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 133.72455100000002 }, { \"step\": 49478, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99943408048184, \"F1\": 0.0, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 144.361296 }, { \"step\": 51381, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99941611521993, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 155.342577 }, { \"step\": 53284, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994369686391532, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 166.71976 }, { \"step\": 55187, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994563838654732, \"F1\": 0.0625, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 178.568204 }, { \"step\": 57090, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994394717020793, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 190.760423 }, { \"step\": 58993, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994575535665852, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 203.318295 }, { \"step\": 60896, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745052960012, \"F1\": 0.36, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 216.324675 }, { \"step\": 62799, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994585814834868, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 229.751949 }, { \"step\": 64702, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745058036196, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 243.519605 }, { \"step\": 66605, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99948952014894, \"F1\": 0.3703703703703703, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 257.632512 }, { \"step\": 68508, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994745062548352, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 272.164854 }, { \"step\": 70411, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9994887089902004, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 287.040678 }, { \"step\": 72314, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995021642028404, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 302.255295 }, { \"step\": 74217, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995149293952786, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 317.85437 }, { \"step\": 76120, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99952705631971, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 333.81575100000003 }, { \"step\": 78023, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.99953859167927, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 350.111597 }, { \"step\": 79926, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999549577729121, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 366.757049 }, { \"step\": 81829, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995600527936648, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 383.769929 }, { \"step\": 83732, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995700517132244, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 401.126049 }, { \"step\": 85635, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995796062311698, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 418.855408 }, { \"step\": 87538, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999588745330546, \"F1\": 0.3793103448275862, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 436.927356 }, { \"step\": 89441, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995751341681576, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 455.364423 }, { \"step\": 91344, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9995839856365568, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 474.187698 }, { \"step\": 93247, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999592475816657, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 493.377496 }, { \"step\": 95150, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.999600626385984, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 512.867881 }, { \"step\": 95156, \"track\": \"Binary classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"SMTP\", \"Accuracy\": 0.9996006515684936, \"F1\": 0.3666666666666666, \"Memory in Mb\": 0.0005102157592773, \"Time in s\": 532.358985 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"Bananas\", \"bind\": { \"input\": \"select\", \"options\": [ \"Bananas\", \"Elec2\", \"Phishing\", \"SMTP\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"Accuracy\", \"F1\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Binary%20classification/#datasets","title":"Datasets","text":"Bananas

Bananas dataset.

An artificial dataset where instances belongs to several clusters with a banana shape. There are two attributes that correspond to the x and y axis, respectively.

Name  Bananas                                                                                                \nTask  Binary classification\n

Samples 5,300 Features 2 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/banana.zip

Elec2

Electricity prices in New South Wales.

This is a binary classification task, where the goal is to predict if the price of electricity will go up or down.

This data was collected from the Australian New South Wales Electricity Market. In this market, prices are not fixed and are affected by demand and supply of the market. They are set every five minutes. Electricity transfers to/from the neighboring state of Victoria were done to alleviate fluctuations.

  Name  Elec2                                                      \n  Task  Binary classification\n

Samples 45,312 Features 8 Sparse False Path /Users/mastelini/river_data/Elec2/electricity.csv URL https://maxhalford.github.io/files/datasets/electricity.zip Size 2.95 MB Downloaded True

Phishing

Phishing websites.

This dataset contains features from web pages that are classified as phishing or not.

Name  Phishing                                                                                                    \nTask  Binary classification\n

Samples 1,250 Features 9 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/phishing.csv.gz

SMTP

SMTP dataset from the KDD 1999 cup.

The goal is to predict whether or not an SMTP connection is anomalous or not. The dataset only contains 2,211 (0.4%) positive labels.

  Name  SMTP                                                \n  Task  Binary classification\n

Samples 95,156 Features 3 Sparse False Path /Users/mastelini/river_data/SMTP/smtp.csv URL https://maxhalford.github.io/files/datasets/smtp.zip Size 5.23 MB Downloaded True

"},{"location":"benchmarks/Binary%20classification/#models","title":"Models","text":"Logistic regression

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LogisticRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.005\n      )\n    )\n    loss=Log (\n      weight_pos=1.\n      weight_neg=1.\n    )\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Aggregated Mondrian Forest

[]

ALMA

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  ALMAClassifier (\n    p=2\n    alpha=0.9\n    B=1.111111\n    C=1.414214\n  )\n)

sklearn SGDClassifier

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SKL2RiverClassifier (\n    estimator=SGDClassifier(eta0=0.005, learning_rate='constant', loss='log_loss',\n                penalty=None)\n    classes=[False, True]\n  )\n)

Vowpal Wabbit logistic regression

VW2RiverClassifier ()

Naive Bayes

GaussianNB ()

Hoeffding Tree

HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)

Hoeffding Adaptive Tree

HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=True\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=42\n)

Adaptive Random Forest

[]

Streaming Random Patches

SRPClassifier (\n  model=HoeffdingTreeClassifier (\n    grace_period=50\n    max_depth=inf\n    split_criterion=\"info_gain\"\n    delta=0.01\n    tau=0.05\n    leaf_prediction=\"nba\"\n    nb_threshold=0\n    nominal_attributes=None\n    splitter=GaussianSplitter (\n      n_splits=10\n    )\n    binary_split=False\n    min_branch_fraction=0.01\n    max_share_to_split=0.99\n    max_size=100.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n  n_models=10\n  subspace_size=0.6\n  training_method=\"patches\"\n  lam=6\n  drift_detector=ADWIN (\n    delta=1e-05\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  warning_detector=ADWIN (\n    delta=0.0001\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  disable_detector=\"off\"\n  disable_weighted_vote=False\n  seed=None\n  metric=Accuracy (\n    cm=ConfusionMatrix (\n      classes=[]\n    )\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)\n\n

\n\nADWIN Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nAdaBoost\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nBagging\n

[HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n)]

\n\n

\n\nLeveraging Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nStacking\n

[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n\n

\n\nVoting\n

VotingClassifier (\n  models=[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n  use_probabilities=True\n)\n\n

\n\n[baseline] Last Class\n

NoChangeClassifier ()

\n\n

"},{"location":"benchmarks/Binary%20classification/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"benchmarks/Multiclass%20classification/","title":"Multiclass classification","text":"TableChart Model Dataset Accuracy MicroF1 MacroF1 Memory in Mb Time in s ADWIN Bagging ImageSegments 0.777826 0.777826 0.765011 4.11628 3543.55 ADWIN Bagging Insects 0.579465 0.579465 0.570198 15.3074 60279.4 ADWIN Bagging Keystroke 0.81656 0.81656 0.815908 37.8558 41308 AdaBoost ImageSegments 0.804677 0.804677 0.79777 4.09839 3350.88 AdaBoost Insects 0.563532 0.563532 0.554622 27.943 60335.7 AdaBoost Keystroke 0.834796 0.834796 0.836062 194.794 51861.3 Adaptive Random Forest ImageSegments 0.818536 0.818536 0.814535 3.06348 1574.18 Adaptive Random Forest Insects 0.745378 0.745378 0.743302 0.361794 25383.5 Adaptive Random Forest Keystroke 0.969116 0.969116 0.969111 1.63546 7363.05 Aggregated Mondrian Forest ImageSegments 0.901689 0.901689 0.900381 17.0502 2997.7 Aggregated Mondrian Forest Insects 0.646981 0.646981 0.644352 1365.41 76295.7 Aggregated Mondrian Forest Keystroke 0.881073 0.881073 0.879928 338.139 35528.4 Bagging ImageSegments 0.77696 0.77696 0.764564 4.15507 3634.88 Bagging Insects 0.606392 0.606392 0.598542 3.69162 65237 Bagging Keystroke 0.669739 0.669739 0.669981 50.3449 55411.4 Hoeffding Adaptive Tree ImageSegments 0.774361 0.774361 0.763362 0.423797 457.311 Hoeffding Adaptive Tree Insects 0.613337 0.613337 0.604219 0.143826 11292.9 Hoeffding Adaptive Tree Keystroke 0.723124 0.723124 0.721825 0.724475 8998.46 Hoeffding Tree ImageSegments 0.776094 0.776094 0.763137 0.417154 328.067 Hoeffding Tree Insects 0.537306 0.537306 0.527364 2.51923 7445.36 Hoeffding Tree Keystroke 0.648218 0.648218 0.647249 5.09445 7138.73 Leveraging Bagging ImageSegments 0.778259 0.778259 0.766016 4.1005 8561.3 Leveraging Bagging Insects 0.695858 0.695858 0.690508 13.831 99120.2 Leveraging Bagging Keystroke 0.956616 0.956616 0.95665 7.40999 37049.1 Naive Bayes ImageSegments 0.731919 0.731919 0.730419 0.390004 248.959 Naive Bayes Insects 0.506897 0.506897 0.493019 0.611693 4263.77 Naive Bayes Keystroke 0.652532 0.652532 0.651577 4.86901 3544.69 Stacking ImageSegments 0.867908 0.867908 0.865603 9.18162 5416.88 Stacking Insects 0.754745 0.754745 0.752818 10.5864 72115 Stacking Keystroke 0.975489 0.975489 0.975486 18.7111 42471.8 Streaming Random Patches ImageSegments 0.766999 0.766999 0.764707 8.92653 6441.81 Streaming Random Patches Insects 0.736163 0.736163 0.734622 9.632 90031.6 Streaming Random Patches Keystroke 0.955929 0.955929 0.95592 39.636 31009.8 Voting ImageSegments 0.80641 0.80641 0.798999 6.07392 3157.94 Voting Insects 0.648533 0.648533 0.638 9.40652 48163.7 Voting Keystroke 0.779107 0.779107 0.784136 16.3925 29779.2 [baseline] Last Class ImageSegments 0.148116 0.148116 0.148116 0.00136948 31.4159 [baseline] Last Class Insects 0.289761 0.289761 0.289763 0.00138664 679.004 [baseline] Last Class Keystroke 0.997549 0.997549 0.997549 0.00504208 274.675 k-Nearest Neighbors ImageSegments 0.873538 0.873538 0.872136 5.26871 2666.29 k-Nearest Neighbors Insects 0.713115 0.713115 0.711381 6.27269 40639.9 k-Nearest Neighbors Keystroke 0.910486 0.910486 0.910328 6.32511 21326.5

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4666666666666667, \"MicroF1\": 0.4666666666666667, \"MacroF1\": 0.4009102009102009, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 0.450679 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5604395604395604, \"MicroF1\": 0.5604395604395604, \"MacroF1\": 0.5279334700387331, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 1.152847 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5474452554744526, \"MicroF1\": 0.5474452554744526, \"MacroF1\": 0.5191892873237387, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 2.278305 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5573770491803278, \"MicroF1\": 0.5573770491803278, \"MacroF1\": 0.5225713529323662, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 3.449742 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5545851528384279, \"MicroF1\": 0.5545851528384279, \"MacroF1\": 0.5217226223148511, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 4.939578 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.56, \"MicroF1\": 0.56, \"MacroF1\": 0.5450388711329709, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 6.667081 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5825545171339563, \"MicroF1\": 0.5825545171339563, \"MacroF1\": 0.5566705826058684, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 8.548779999999999 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5940054495912807, \"MicroF1\": 0.5940054495912807, \"MacroF1\": 0.5613773296963412, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 10.607026 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5980629539951574, \"MicroF1\": 0.5980629539951574, \"MacroF1\": 0.5624927052752284, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 12.811145 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.599128540305011, \"MicroF1\": 0.599128540305011, \"MacroF1\": 0.5669821167583783, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 15.144022 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6099009900990099, \"MicroF1\": 0.6099009900990099, \"MacroF1\": 0.592228619098681, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 17.683543 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6116152450090744, \"MicroF1\": 0.6116152450090744, \"MacroF1\": 0.5983340184133136, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 20.357047 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6180904522613065, \"MicroF1\": 0.6180904522613065, \"MacroF1\": 0.611527101723203, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 23.213992 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6158631415241057, \"MicroF1\": 0.6158631415241057, \"MacroF1\": 0.6113311881078581, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 26.205369 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6182873730043541, \"MicroF1\": 0.6182873730043541, \"MacroF1\": 0.6150189987146761, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 29.350024 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.617687074829932, \"MicroF1\": 0.617687074829932, \"MacroF1\": 0.6157912419016742, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 32.567265 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6274007682458387, \"MicroF1\": 0.6274007682458387, \"MacroF1\": 0.6216325704223051, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 36.027093 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6324062877871826, \"MicroF1\": 0.6324062877871826, \"MacroF1\": 0.6280704917469789, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 39.646129 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6426116838487973, \"MicroF1\": 0.6426116838487973, \"MacroF1\": 0.6349558095046656, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 43.417442 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6485310119695321, \"MicroF1\": 0.6485310119695321, \"MacroF1\": 0.6384515982514894, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 47.360213 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6507772020725389, \"MicroF1\": 0.6507772020725389, \"MacroF1\": 0.6399118827528387, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 51.459671 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6508407517309595, \"MicroF1\": 0.6508407517309595, \"MacroF1\": 0.6387857120889422, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 55.677121 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6537369914853358, \"MicroF1\": 0.6537369914853358, \"MacroF1\": 0.6398811322847953, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 60.129657 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.658204895738894, \"MicroF1\": 0.658204895738894, \"MacroF1\": 0.6463297068165035, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 64.716333 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6640557006092254, \"MicroF1\": 0.6640557006092254, \"MacroF1\": 0.6508930463144657, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 69.425449 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6702928870292887, \"MicroF1\": 0.6702928870292887, \"MacroF1\": 0.6599370641329333, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 74.368592 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6736502820306205, \"MicroF1\": 0.6736502820306205, \"MacroF1\": 0.669511465798708, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 79.42749 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6822066822066822, \"MicroF1\": 0.6822066822066822, \"MacroF1\": 0.6790074545382362, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 84.676077 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6841710427606902, \"MicroF1\": 0.6841710427606902, \"MacroF1\": 0.6834974476087327, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 90.04929600000001 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6874546773023931, \"MicroF1\": 0.6874546773023931, \"MacroF1\": 0.687676692272135, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 95.54439700000002 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6919298245614035, \"MicroF1\": 0.6919298245614035, \"MacroF1\": 0.6930786661709784, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 101.25523300000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.698844323589395, \"MicroF1\": 0.698844323589395, \"MacroF1\": 0.6985606658027719, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 107.09626300000002 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7027027027027027, \"MicroF1\": 0.7027027027027027, \"MacroF1\": 0.7017787722939461, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 113.17857300000004 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7056941778630839, \"MicroF1\": 0.7056941778630839, \"MacroF1\": 0.7062915374924865, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 119.38367200000005 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7078931013051585, \"MicroF1\": 0.7078931013051585, \"MacroF1\": 0.7081385387673028, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 125.72760100000004 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7093655589123867, \"MicroF1\": 0.7093655589123867, \"MacroF1\": 0.7109488618373111, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 132.27559300000004 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7101704879482658, \"MicroF1\": 0.7101704879482658, \"MacroF1\": 0.7132092257742534, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 138.94755600000005 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7143674871207785, \"MicroF1\": 0.7143674871207784, \"MacroF1\": 0.7178399485500211, \"Memory in Mb\": 0.3899507522583008, \"Time in s\": 145.68584300000003 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7172336865588399, \"MicroF1\": 0.7172336865588399, \"MacroF1\": 0.7191260584555579, \"Memory in Mb\": 0.3899774551391601, \"Time in s\": 152.67811600000005 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7199564980967917, \"MicroF1\": 0.7199564980967917, \"MacroF1\": 0.7217017555070446, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 159.82058900000004 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7204244031830239, \"MicroF1\": 0.7204244031830238, \"MacroF1\": 0.7234495525792994, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 167.13449700000004 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7219057483169342, \"MicroF1\": 0.7219057483169342, \"MacroF1\": 0.7238483512148008, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 174.57489300000003 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.723823975720789, \"MicroF1\": 0.723823975720789, \"MacroF1\": 0.7251399238639739, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 182.21825900000005 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.726643598615917, \"MicroF1\": 0.726643598615917, \"MacroF1\": 0.7268553573885639, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 189.97396200000009 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7269212179797003, \"MicroF1\": 0.7269212179797003, \"MacroF1\": 0.7276782991451582, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 197.92708900000005 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7286052009456265, \"MicroF1\": 0.7286052009456266, \"MacroF1\": 0.7283656039279267, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 206.04766600000005 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7306802406293382, \"MicroF1\": 0.7306802406293383, \"MacroF1\": 0.7303992643507475, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 214.36632800000004 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.733574988672406, \"MicroF1\": 0.733574988672406, \"MacroF1\": 0.7322842940126589, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 222.77231300000005 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7314691522414558, \"MicroF1\": 0.7314691522414558, \"MacroF1\": 0.7300322879925133, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 231.40748800000003 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7316224445411048, \"MicroF1\": 0.7316224445411048, \"MacroF1\": 0.7300416811383057, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 240.14309800000004 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319185794716327, \"MicroF1\": 0.7319185794716329, \"MacroF1\": 0.7304188192194185, \"Memory in Mb\": 0.3900041580200195, \"Time in s\": 248.95897400000004 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.623696682464455, \"MicroF1\": 0.623696682464455, \"MacroF1\": 0.5870724729616662, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4.116407 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6148744670772146, \"MicroF1\": 0.6148744670772146, \"MacroF1\": 0.5800776869595596, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 12.008893 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6065677297126618, \"MicroF1\": 0.6065677297126618, \"MacroF1\": 0.5714781230184183, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 23.636521 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043097324177126, \"MicroF1\": 0.6043097324177126, \"MacroF1\": 0.5697541737710122, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 38.735534 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088274294373934, \"MicroF1\": 0.6088274294373934, \"MacroF1\": 0.5727560614138387, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 57.253764 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6023677979479084, \"MicroF1\": 0.6023677979479084, \"MacroF1\": 0.5679597008529512, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 79.038555 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5995129211202814, \"MicroF1\": 0.5995129211202814, \"MacroF1\": 0.5652603100832261, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 104.109779 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6019888717888008, \"MicroF1\": 0.6019888717888008, \"MacroF1\": 0.5673514925692325, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 132.296427 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5993896664211301, \"MicroF1\": 0.5993896664211301, \"MacroF1\": 0.5644951651039589, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 163.68164199999998 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5994885879344635, \"MicroF1\": 0.5994885879344635, \"MacroF1\": 0.564565538599863, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 198.252114 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5972449418854929, \"MicroF1\": 0.5972449418854929, \"MacroF1\": 0.5631227877868952, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 235.999104 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001894088864336, \"MicroF1\": 0.6001894088864336, \"MacroF1\": 0.5684733590606373, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 276.973484 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120783856632913, \"MicroF1\": 0.6120783856632913, \"MacroF1\": 0.5935173038317552, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 321.087465 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.6024487587093282, \"MicroF1\": 0.6024487587093282, \"MacroF1\": 0.5841270876002982, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 368.414891 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5676494728202538, \"MicroF1\": 0.5676494728202538, \"MacroF1\": 0.5507155080701159, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 418.926748 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5418762947617638, \"MicroF1\": 0.5418762947617638, \"MacroF1\": 0.5256197352354142, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 472.672831 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5232020500250683, \"MicroF1\": 0.5232020500250683, \"MacroF1\": 0.5066898143269706, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 529.5973250000001 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5118640500868101, \"MicroF1\": 0.5118640500868101, \"MacroF1\": 0.4926543583964285, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 589.87103 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5103922643672432, \"MicroF1\": 0.5103922643672432, \"MacroF1\": 0.4900586962359796, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 653.257514 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5115772527108291, \"MicroF1\": 0.5115772527108291, \"MacroF1\": 0.4910837640903744, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 719.720849 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5140022547914318, \"MicroF1\": 0.5140022547914318, \"MacroF1\": 0.4932541888231957, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 789.2473650000001 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5154319659076234, \"MicroF1\": 0.5154319659076234, \"MacroF1\": 0.4943013417599926, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 861.9200270000001 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5184254951208466, \"MicroF1\": 0.5184254951208466, \"MacroF1\": 0.4965832238311332, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 937.628382 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5225111470623052, \"MicroF1\": 0.5225111470623052, \"MacroF1\": 0.499893079239698, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1016.433905 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5257396113489148, \"MicroF1\": 0.5257396113489148, \"MacroF1\": 0.5022487669255871, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1098.325454 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5301402294663996, \"MicroF1\": 0.5301402294663996, \"MacroF1\": 0.5051550433324518, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1183.302333 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5277261407877661, \"MicroF1\": 0.5277261407877661, \"MacroF1\": 0.5036945145235058, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1271.323869 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5204450908107011, \"MicroF1\": 0.5204450908107011, \"MacroF1\": 0.4989008712312768, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1362.446785 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5147111648107632, \"MicroF1\": 0.5147111648107632, \"MacroF1\": 0.495826840073632, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1456.7074690000002 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5105590454244137, \"MicroF1\": 0.5105590454244137, \"MacroF1\": 0.4941101813344875, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1553.9918670000002 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5075607148312204, \"MicroF1\": 0.5075607148312204, \"MacroF1\": 0.4931947798921405, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1654.355087 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5044538486579266, \"MicroF1\": 0.5044538486579266, \"MacroF1\": 0.4905626123916189, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1757.6376 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5020231296811777, \"MicroF1\": 0.5020231296811777, \"MacroF1\": 0.487879842488124, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1863.925375 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4998746622844887, \"MicroF1\": 0.4998746622844887, \"MacroF1\": 0.4853435061152475, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 1973.177917 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4967937444194918, \"MicroF1\": 0.4967937444194918, \"MacroF1\": 0.4819418474093529, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2085.445724 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4955938445350519, \"MicroF1\": 0.4955938445350519, \"MacroF1\": 0.4801892436835747, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2200.821931 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4940237004427836, \"MicroF1\": 0.4940237004427836, \"MacroF1\": 0.478380783820526, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2319.178703 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.493508111745209, \"MicroF1\": 0.493508111745209, \"MacroF1\": 0.4785213801670671, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2440.443075 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4936988563242114, \"MicroF1\": 0.4936988563242114, \"MacroF1\": 0.4794201499427274, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2564.583087 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4938800634484718, \"MicroF1\": 0.4938800634484718, \"MacroF1\": 0.4802377497532935, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2691.651665 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4943757939715902, \"MicroF1\": 0.4943757939715902, \"MacroF1\": 0.4812132921167227, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2821.601336 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.494036211133909, \"MicroF1\": 0.494036211133909, \"MacroF1\": 0.4812388919618418, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 2954.377766 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4944832294580131, \"MicroF1\": 0.4944832294580131, \"MacroF1\": 0.4818441874360225, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3089.8310679999995 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4945225232981082, \"MicroF1\": 0.4945225232981082, \"MacroF1\": 0.4820791268335544, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3227.9665449999998 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4956333256171216, \"MicroF1\": 0.4956333256171216, \"MacroF1\": 0.4833168636021498, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3368.688097999999 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4970869788986104, \"MicroF1\": 0.4970869788986104, \"MacroF1\": 0.4846703771634363, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3511.887438999999 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.4987608551107171, \"MicroF1\": 0.4987608551107171, \"MacroF1\": 0.4862426724473749, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3657.6494079999993 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5009568528419516, \"MicroF1\": 0.5009568528419516, \"MacroF1\": 0.4881725476999718, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3806.011259 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5034497419940862, \"MicroF1\": 0.5034497419940862, \"MacroF1\": 0.4903712806540024, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 3956.893516 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5068467205818292, \"MicroF1\": 0.5068467205818292, \"MacroF1\": 0.4930025316136313, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4110.278735 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Insects\", \"Accuracy\": 0.5068972694760346, \"MicroF1\": 0.5068972694760346, \"MacroF1\": 0.4930190627831494, \"Memory in Mb\": 0.6116933822631836, \"Time in s\": 4263.766907 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9852579852579852, \"MicroF1\": 0.9852579852579852, \"MacroF1\": 0.6962686567164179, \"Memory in Mb\": 0.1935644149780273, \"Time in s\": 0.780775 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.947239263803681, \"MicroF1\": 0.947239263803681, \"MacroF1\": 0.7418606503288051, \"Memory in Mb\": 0.2889022827148437, \"Time in s\": 2.463269 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.884709730171709, \"MicroF1\": 0.884709730171709, \"MacroF1\": 0.8705899666065842, \"Memory in Mb\": 0.3842401504516601, \"Time in s\": 5.15507 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8933169834457388, \"MicroF1\": 0.8933169834457388, \"MacroF1\": 0.8791291775937072, \"Memory in Mb\": 0.4795780181884765, \"Time in s\": 8.960951 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8921039725355566, \"MicroF1\": 0.8921039725355566, \"MacroF1\": 0.8831785360852743, \"Memory in Mb\": 0.575160026550293, \"Time in s\": 14.051639 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.851655087862689, \"MicroF1\": 0.851655087862689, \"MacroF1\": 0.8581984289516641, \"Memory in Mb\": 0.6704978942871094, \"Time in s\": 20.582882 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8598949211908932, \"MicroF1\": 0.8598949211908932, \"MacroF1\": 0.8469962214365346, \"Memory in Mb\": 0.7658357620239258, \"Time in s\": 28.649143 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8513637756665645, \"MicroF1\": 0.8513637756665645, \"MacroF1\": 0.8281280134770846, \"Memory in Mb\": 0.8611736297607422, \"Time in s\": 38.532046 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8422773086352493, \"MicroF1\": 0.8422773086352493, \"MacroF1\": 0.8409307955747314, \"Memory in Mb\": 0.9565114974975586, \"Time in s\": 50.273206 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8367246874233881, \"MicroF1\": 0.8367246874233881, \"MacroF1\": 0.8249418657104467, \"Memory in Mb\": 1.0523834228515625, \"Time in s\": 63.882498 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8203699576554491, \"MicroF1\": 0.8203699576554491, \"MacroF1\": 0.8300896799820437, \"Memory in Mb\": 1.147721290588379, \"Time in s\": 79.531469 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8192032686414709, \"MicroF1\": 0.8192032686414709, \"MacroF1\": 0.8269731591910484, \"Memory in Mb\": 1.243059158325195, \"Time in s\": 97.310117 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8172732415613804, \"MicroF1\": 0.8172732415613804, \"MacroF1\": 0.8027823390848743, \"Memory in Mb\": 1.3383970260620115, \"Time in s\": 117.35519 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7961828051129399, \"MicroF1\": 0.7961828051129399, \"MacroF1\": 0.8002006091139847, \"Memory in Mb\": 1.433734893798828, \"Time in s\": 139.817583 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.793920575257395, \"MicroF1\": 0.793920575257395, \"MacroF1\": 0.7746960355921345, \"Memory in Mb\": 1.5290727615356443, \"Time in s\": 164.727582 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7688064960931515, \"MicroF1\": 0.7688064960931515, \"MacroF1\": 0.7622487598340326, \"Memory in Mb\": 1.624410629272461, \"Time in s\": 192.151707 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7568853640951694, \"MicroF1\": 0.7568853640951694, \"MacroF1\": 0.757813781660983, \"Memory in Mb\": 1.7197484970092771, \"Time in s\": 222.243586 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7669889690862045, \"MicroF1\": 0.7669889690862046, \"MacroF1\": 0.7643943615019536, \"Memory in Mb\": 1.8150863647460935, \"Time in s\": 255.230678 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7676428847890595, \"MicroF1\": 0.7676428847890595, \"MacroF1\": 0.7655695901071293, \"Memory in Mb\": 1.9104242324829104, \"Time in s\": 291.218411 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7714180659394534, \"MicroF1\": 0.7714180659394533, \"MacroF1\": 0.7672011803374248, \"Memory in Mb\": 2.0057621002197266, \"Time in s\": 330.398823 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7702813120112058, \"MicroF1\": 0.7702813120112058, \"MacroF1\": 0.7699263138193525, \"Memory in Mb\": 2.1021223068237305, \"Time in s\": 372.827664 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7680222841225627, \"MicroF1\": 0.7680222841225627, \"MacroF1\": 0.7682287234686136, \"Memory in Mb\": 2.197460174560547, \"Time in s\": 418.63015 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7659597143770649, \"MicroF1\": 0.7659597143770649, \"MacroF1\": 0.7643546547243014, \"Memory in Mb\": 2.2927980422973637, \"Time in s\": 468.011111 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7586559084873864, \"MicroF1\": 0.7586559084873864, \"MacroF1\": 0.7552148692020618, \"Memory in Mb\": 2.38813591003418, \"Time in s\": 521.0847249999999 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7505637807628199, \"MicroF1\": 0.7505637807628199, \"MacroF1\": 0.7430512224080145, \"Memory in Mb\": 2.483473777770996, \"Time in s\": 577.917349 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7290468558499105, \"MicroF1\": 0.7290468558499106, \"MacroF1\": 0.715756093271779, \"Memory in Mb\": 2.5788116455078125, \"Time in s\": 638.790947 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7217430776214253, \"MicroF1\": 0.7217430776214253, \"MacroF1\": 0.7173640789896896, \"Memory in Mb\": 2.674149513244629, \"Time in s\": 703.666983 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7151361288628206, \"MicroF1\": 0.7151361288628206, \"MacroF1\": 0.7011862635194489, \"Memory in Mb\": 2.7694873809814453, \"Time in s\": 772.6431349999999 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.705603921900093, \"MicroF1\": 0.705603921900093, \"MacroF1\": 0.6976881379682607, \"Memory in Mb\": 2.8648252487182617, \"Time in s\": 845.8350979999999 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7094533867146009, \"MicroF1\": 0.7094533867146009, \"MacroF1\": 0.7058405389403433, \"Memory in Mb\": 2.960163116455078, \"Time in s\": 923.50335 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7053846762077963, \"MicroF1\": 0.7053846762077963, \"MacroF1\": 0.6965736948063982, \"Memory in Mb\": 3.0555009841918945, \"Time in s\": 1005.753677 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6927613941018766, \"MicroF1\": 0.6927613941018766, \"MacroF1\": 0.6842255816736498, \"Memory in Mb\": 3.150838851928711, \"Time in s\": 1092.707972 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6890737577063062, \"MicroF1\": 0.6890737577063062, \"MacroF1\": 0.6845669389392289, \"Memory in Mb\": 3.246176719665528, \"Time in s\": 1184.483965 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6873332852714296, \"MicroF1\": 0.6873332852714296, \"MacroF1\": 0.68390545518227, \"Memory in Mb\": 3.341514587402344, \"Time in s\": 1281.216395 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.682960991666083, \"MicroF1\": 0.682960991666083, \"MacroF1\": 0.6781566371919944, \"Memory in Mb\": 3.43685245513916, \"Time in s\": 1383.039909 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.686185061619119, \"MicroF1\": 0.686185061619119, \"MacroF1\": 0.6843713776162116, \"Memory in Mb\": 3.532190322875977, \"Time in s\": 1489.909884 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6928784365684001, \"MicroF1\": 0.6928784365684001, \"MacroF1\": 0.6911392400672977, \"Memory in Mb\": 3.627528190612793, \"Time in s\": 1601.996709 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6913500612784622, \"MicroF1\": 0.6913500612784622, \"MacroF1\": 0.687359772989117, \"Memory in Mb\": 3.72286605834961, \"Time in s\": 1719.445985 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6819810194205267, \"MicroF1\": 0.6819810194205267, \"MacroF1\": 0.674915944935936, \"Memory in Mb\": 3.818203926086426, \"Time in s\": 1842.197498 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6726515105092223, \"MicroF1\": 0.6726515105092223, \"MacroF1\": 0.6670192172011686, \"Memory in Mb\": 3.913541793823242, \"Time in s\": 1970.358299 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6695163508100676, \"MicroF1\": 0.6695163508100676, \"MacroF1\": 0.6664051037977977, \"Memory in Mb\": 4.008879661560059, \"Time in s\": 2103.939399 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6650131310183834, \"MicroF1\": 0.6650131310183834, \"MacroF1\": 0.6608988619616458, \"Memory in Mb\": 4.1063079833984375, \"Time in s\": 2242.845385 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6568431853160804, \"MicroF1\": 0.6568431853160804, \"MacroF1\": 0.6531382897719189, \"Memory in Mb\": 4.201645851135254, \"Time in s\": 2386.822189 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6556180714166342, \"MicroF1\": 0.6556180714166342, \"MacroF1\": 0.6538448358590968, \"Memory in Mb\": 4.29698371887207, \"Time in s\": 2536.044428 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6614194672912468, \"MicroF1\": 0.6614194672912468, \"MacroF1\": 0.6603186829199909, \"Memory in Mb\": 4.392321586608887, \"Time in s\": 2690.5476860000003 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6669686151222891, \"MicroF1\": 0.6669686151222891, \"MacroF1\": 0.6662293616554571, \"Memory in Mb\": 4.487659454345703, \"Time in s\": 2850.3140810000004 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6579921773142112, \"MicroF1\": 0.6579921773142112, \"MacroF1\": 0.6554177118629491, \"Memory in Mb\": 4.58299732208252, \"Time in s\": 3015.4823350000006 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6622580809886126, \"MicroF1\": 0.6622580809886126, \"MacroF1\": 0.6609360990360078, \"Memory in Mb\": 4.678335189819336, \"Time in s\": 3186.2814100000005 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6562453103896754, \"MicroF1\": 0.6562453103896754, \"MacroF1\": 0.6545704957554572, \"Memory in Mb\": 4.773673057556152, \"Time in s\": 3362.6238980000007 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Naive Bayes\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6525319868621011, \"MicroF1\": 0.6525319868621011, \"MacroF1\": 0.6515767870317885, \"Memory in Mb\": 4.869010925292969, \"Time in s\": 3544.6906370000006 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3555555555555555, \"MicroF1\": 0.3555555555555555, \"MacroF1\": 0.2537942449707155, \"Memory in Mb\": 0.4170856475830078, \"Time in s\": 0.290301 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4945054945054945, \"MicroF1\": 0.4945054945054945, \"MacroF1\": 0.5043329927491418, \"Memory in Mb\": 0.4170818328857422, \"Time in s\": 0.82046 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5564033878668025, \"Memory in Mb\": 0.4171772003173828, \"Time in s\": 1.675423 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6010928961748634, \"MicroF1\": 0.6010928961748634, \"MacroF1\": 0.622766496539645, \"Memory in Mb\": 0.4171772003173828, \"Time in s\": 2.801183 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6539827168809461, \"Memory in Mb\": 0.4172000885009765, \"Time in s\": 4.271522 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6509090909090909, \"MicroF1\": 0.6509090909090909, \"MacroF1\": 0.6671561759164943, \"Memory in Mb\": 0.4172496795654297, \"Time in s\": 5.954744 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.67601246105919, \"MicroF1\": 0.67601246105919, \"MacroF1\": 0.6756614325426025, \"Memory in Mb\": 0.4172496795654297, \"Time in s\": 7.864603 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7029972752043597, \"MicroF1\": 0.7029972752043597, \"MacroF1\": 0.6993447851636564, \"Memory in Mb\": 0.4172229766845703, \"Time in s\": 10.008665 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7142857142857143, \"MicroF1\": 0.7142857142857143, \"MacroF1\": 0.7108606838045498, \"Memory in Mb\": 0.4171428680419922, \"Time in s\": 12.399438 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7145969498910676, \"MicroF1\": 0.7145969498910676, \"MacroF1\": 0.7090365931960759, \"Memory in Mb\": 0.4172191619873047, \"Time in s\": 15.01004 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7126631585949761, \"Memory in Mb\": 0.4172191619873047, \"Time in s\": 17.873655 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7223230490018149, \"MicroF1\": 0.7223230490018149, \"MacroF1\": 0.7157730164623107, \"Memory in Mb\": 0.4171123504638672, \"Time in s\": 20.946971 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7286432160804021, \"MicroF1\": 0.7286432160804021, \"MacroF1\": 0.7216745323124732, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 24.255884 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7278382581648523, \"MicroF1\": 0.7278382581648523, \"MacroF1\": 0.7229105183087501, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 27.838412 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7314949201741655, \"MicroF1\": 0.7314949201741654, \"MacroF1\": 0.7263583447448078, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 31.647636 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7333333333333333, \"MicroF1\": 0.7333333333333333, \"MacroF1\": 0.729431071218305, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 35.743157 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387964148527529, \"MicroF1\": 0.7387964148527529, \"MacroF1\": 0.7349287389986899, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 40.06309 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7376058041112454, \"MicroF1\": 0.7376058041112454, \"MacroF1\": 0.7356226390109741, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 44.599844 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7445589919816724, \"MicroF1\": 0.7445589919816724, \"MacroF1\": 0.7409366047432264, \"Memory in Mb\": 0.4171352386474609, \"Time in s\": 49.398729 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7453754080522307, \"MicroF1\": 0.7453754080522307, \"MacroF1\": 0.7408438328939173, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 54.404894 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7471502590673575, \"MicroF1\": 0.7471502590673575, \"MacroF1\": 0.7416651838589269, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 59.665949 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7467853610286844, \"MicroF1\": 0.7467853610286844, \"MacroF1\": 0.7416356251822, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 65.211169 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7492904446546831, \"MicroF1\": 0.7492904446546831, \"MacroF1\": 0.7430778844390783, \"Memory in Mb\": 0.4171085357666015, \"Time in s\": 70.961377 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7515865820489573, \"MicroF1\": 0.7515865820489573, \"MacroF1\": 0.7451256886686588, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 76.969446 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7536988685813751, \"MicroF1\": 0.7536988685813751, \"MacroF1\": 0.7468312166689606, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 83.201851 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7564853556485356, \"MicroF1\": 0.7564853556485356, \"MacroF1\": 0.7503479321738041, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 89.604352 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7566478646253022, \"MicroF1\": 0.7566478646253022, \"MacroF1\": 0.7509717522131719, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 96.307026 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614607614607615, \"MicroF1\": 0.7614607614607615, \"MacroF1\": 0.7547643483779538, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 103.262462 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614403600900225, \"MicroF1\": 0.7614403600900225, \"MacroF1\": 0.7551060921605869, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 110.41488900000002 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7621464829586657, \"MicroF1\": 0.7621464829586658, \"MacroF1\": 0.7562209880685912, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 117.799886 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7642105263157895, \"MicroF1\": 0.7642105263157895, \"MacroF1\": 0.7575332274919562, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 125.46176800000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7688647178789939, \"MicroF1\": 0.768864717878994, \"MacroF1\": 0.760438686053582, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 133.360363 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7705998681608438, \"MicroF1\": 0.7705998681608438, \"MacroF1\": 0.7612069012840872, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 141.48549400000002 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709532949456174, \"MicroF1\": 0.7709532949456174, \"MacroF1\": 0.7622701654854867, \"Memory in Mb\": 0.4171581268310547, \"Time in s\": 149.83563600000002 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7712865133623369, \"MicroF1\": 0.771286513362337, \"MacroF1\": 0.7617247271717752, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 158.439217 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709969788519637, \"MicroF1\": 0.7709969788519637, \"MacroF1\": 0.7615629120572474, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 167.22864700000002 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.770135214579659, \"MicroF1\": 0.770135214579659, \"MacroF1\": 0.7627316365695143, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 176.30742800000002 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7727532913566113, \"MicroF1\": 0.7727532913566113, \"MacroF1\": 0.7649467707214076, \"Memory in Mb\": 0.4171810150146484, \"Time in s\": 185.609237 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7741215839375348, \"MicroF1\": 0.7741215839375348, \"MacroF1\": 0.7649332326562149, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 195.107308 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754214246873301, \"MicroF1\": 0.7754214246873301, \"MacroF1\": 0.7664700790631908, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 204.88888000000003 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7740053050397878, \"MicroF1\": 0.7740053050397878, \"MacroF1\": 0.7655121135276625, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 214.87796100000003 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7742102537545313, \"MicroF1\": 0.7742102537545313, \"MacroF1\": 0.7648034036287765, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 225.10774000000004 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754172989377845, \"MicroF1\": 0.7754172989377845, \"MacroF1\": 0.7656013068970459, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 235.56491900000003 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7770637666831438, \"MicroF1\": 0.7770637666831438, \"MacroF1\": 0.7660878232247856, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 246.31694000000005 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762203963267279, \"MicroF1\": 0.7762203963267279, \"MacroF1\": 0.7654829214385931, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 257.28426500000006 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7768321513002364, \"MicroF1\": 0.7768321513002364, \"MacroF1\": 0.7653071619305024, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 268.5154150000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7778806108283203, \"MicroF1\": 0.7778806108283203, \"MacroF1\": 0.7659351904174982, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 279.94414300000005 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7797915722700498, \"MicroF1\": 0.7797915722700498, \"MacroF1\": 0.7668192864082087, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 291.65328600000004 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7767421216156236, \"MicroF1\": 0.7767421216156236, \"MacroF1\": 0.7637794374955548, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 303.618395 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7759895606785558, \"MicroF1\": 0.7759895606785558, \"MacroF1\": 0.763026662835187, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 315.80512400000003 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.776093546990039, \"MicroF1\": 0.776093546990039, \"MacroF1\": 0.7631372452021826, \"Memory in Mb\": 0.417154312133789, \"Time in s\": 328.06738900000005 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6218009478672986, \"MicroF1\": 0.6218009478672986, \"MacroF1\": 0.5852663107194211, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 7.68277 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6153481762198011, \"MicroF1\": 0.6153481762198011, \"MacroF1\": 0.5806436317780949, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 22.565114 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6071992421850332, \"MicroF1\": 0.6071992421850332, \"MacroF1\": 0.572248584718361, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 43.997682 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043097324177126, \"MicroF1\": 0.6043097324177126, \"MacroF1\": 0.5697573109597247, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 71.858443 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088274294373934, \"MicroF1\": 0.6088274294373934, \"MacroF1\": 0.5727379077413696, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 105.92484 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6026835043409629, \"MicroF1\": 0.6026835043409629, \"MacroF1\": 0.568251333238805, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 146.287253 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.600189419564335, \"MicroF1\": 0.600189419564335, \"MacroF1\": 0.5659762112716077, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 192.863981 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.60258079791642, \"MicroF1\": 0.60258079791642, \"MacroF1\": 0.5679781484640408, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 245.806734 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5998105861306956, \"MicroF1\": 0.5998105861306956, \"MacroF1\": 0.5649597336877693, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 305.14044 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5998674116867128, \"MicroF1\": 0.5998674116867128, \"MacroF1\": 0.5650173260529011, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 370.680891 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5974171330176495, \"MicroF1\": 0.5974171330176495, \"MacroF1\": 0.5633067089377387, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 442.338443 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001894088864336, \"MicroF1\": 0.6001894088864336, \"MacroF1\": 0.5684760329567131, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 520.121563 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120783856632913, \"MicroF1\": 0.6120783856632913, \"MacroF1\": 0.5935956771555828, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 604.039429 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6024487587093282, \"MicroF1\": 0.6024487587093282, \"MacroF1\": 0.5842148300149193, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 694.113241 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5677757434181451, \"MicroF1\": 0.5677757434181451, \"MacroF1\": 0.5509250187877572, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 790.19156 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5419354838709678, \"MicroF1\": 0.5419354838709678, \"MacroF1\": 0.5257359157219258, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 892.361186 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5233691716338923, \"MicroF1\": 0.5233691716338923, \"MacroF1\": 0.5068581838352059, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 1000.471748 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5121271110643447, \"MicroF1\": 0.5121271110643447, \"MacroF1\": 0.4929289906509415, \"Memory in Mb\": 0.6579360961914062, \"Time in s\": 1114.494528 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5120370831879579, \"MicroF1\": 0.5120370831879579, \"MacroF1\": 0.4920970323041603, \"Memory in Mb\": 1.3099584579467771, \"Time in s\": 1234.20565 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5173066906577016, \"MicroF1\": 0.5173066906577016, \"MacroF1\": 0.4973447169836249, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1358.925583 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5229312288613304, \"MicroF1\": 0.5229312288613304, \"MacroF1\": 0.5026343687424488, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1488.370808 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5301536739701261, \"MicroF1\": 0.5301536739701261, \"MacroF1\": 0.5095132087733324, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1622.41448 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5351422571746202, \"MicroF1\": 0.5351422571746202, \"MacroF1\": 0.5135975374357353, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1760.8970379999998 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5403069881229531, \"MicroF1\": 0.5403069881229531, \"MacroF1\": 0.5180803411538233, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 1903.591145 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5441493995984696, \"MicroF1\": 0.5441493995984696, \"MacroF1\": 0.5209012984387186, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2050.469487 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5475869604807867, \"MicroF1\": 0.5475869604807867, \"MacroF1\": 0.5230407124785976, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2201.55681 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5442460804601733, \"MicroF1\": 0.5442460804601733, \"MacroF1\": 0.5199893698637053, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2356.711105 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5439848479724017, \"MicroF1\": 0.5439848479724017, \"MacroF1\": 0.5225387960194383, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2516.62263 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5449825294713124, \"MicroF1\": 0.5449825294713124, \"MacroF1\": 0.5260472440529832, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2681.546079 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5469238296663405, \"MicroF1\": 0.5469238296663405, \"MacroF1\": 0.5300194392617626, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 2851.622305 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5492286543455017, \"MicroF1\": 0.5492286543455017, \"MacroF1\": 0.5337692045397758, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3026.797274 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5448196265277737, \"MicroF1\": 0.5448196265277737, \"MacroF1\": 0.5298516474077153, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3207.119826 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.539357763939507, \"MicroF1\": 0.539357763939507, \"MacroF1\": 0.5246413689313029, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3392.401024 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5352756037099964, \"MicroF1\": 0.5352756037099964, \"MacroF1\": 0.5204658240271913, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3582.6817720000004 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5307232338537298, \"MicroF1\": 0.5307232338537298, \"MacroF1\": 0.5158458403074864, \"Memory in Mb\": 1.310713768005371, \"Time in s\": 3778.309285 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5287912666052874, \"MicroF1\": 0.5287912666052874, \"MacroF1\": 0.5138605376143625, \"Memory in Mb\": 1.8479537963867188, \"Time in s\": 3978.822433 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5245322617798367, \"MicroF1\": 0.5245322617798367, \"MacroF1\": 0.5100329616180462, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4184.1075280000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5244847608841927, \"MicroF1\": 0.5244847608841927, \"MacroF1\": 0.5114466799524962, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4393.646320000001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5269650098341548, \"MicroF1\": 0.5269650098341548, \"MacroF1\": 0.5145630920489553, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4606.675677000001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5290608205686688, \"MicroF1\": 0.5290608205686688, \"MacroF1\": 0.5171452370879218, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 4823.052294000001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5316318281556762, \"MicroF1\": 0.5316318281556762, \"MacroF1\": 0.5200714653059241, \"Memory in Mb\": 1.9625730514526367, \"Time in s\": 5042.794587000001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5332912448422809, \"MicroF1\": 0.5332912448422809, \"MacroF1\": 0.521951703681177, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5266.308108000001 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5350937080185875, \"MicroF1\": 0.5350937080185875, \"MacroF1\": 0.5236272112757866, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5493.659660000001 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5374168693368917, \"MicroF1\": 0.5374168693368917, \"MacroF1\": 0.5257977177437826, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5724.562244000002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5359540394368568, \"MicroF1\": 0.5359540394368568, \"MacroF1\": 0.5247049329892776, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 5959.275286000002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5333196088522902, \"MicroF1\": 0.5333196088522902, \"MacroF1\": 0.5224640186909637, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 6197.987866000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5314017448771937, \"MicroF1\": 0.5314017448771937, \"MacroF1\": 0.5209076603734537, \"Memory in Mb\": 1.9633283615112305, \"Time in s\": 6440.583835000002 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5322271982954209, \"MicroF1\": 0.5322271982954209, \"MacroF1\": 0.5219695808096345, \"Memory in Mb\": 2.081958770751953, \"Time in s\": 6687.224874000002 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5377345727924551, \"MicroF1\": 0.5377345727924551, \"MacroF1\": 0.5274876060436412, \"Memory in Mb\": 2.3156700134277344, \"Time in s\": 6937.746409000002 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5370366863008769, \"MicroF1\": 0.5370366863008769, \"MacroF1\": 0.5270872650003847, \"Memory in Mb\": 2.519227981567383, \"Time in s\": 7191.466386000002 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5373058073305959, \"MicroF1\": 0.5373058073305959, \"MacroF1\": 0.5273644947479657, \"Memory in Mb\": 2.519227981567383, \"Time in s\": 7445.3631460000015 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.2240447998046875, \"Time in s\": 0.863228 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9423312883435584, \"MicroF1\": 0.9423312883435584, \"MacroF1\": 0.7661667470992702, \"Memory in Mb\": 0.3196687698364258, \"Time in s\": 3.107641 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8830744071954211, \"MicroF1\": 0.883074407195421, \"MacroF1\": 0.8761191747044462, \"Memory in Mb\": 0.415292739868164, \"Time in s\": 7.048775 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8902513795217658, \"MicroF1\": 0.8902513795217658, \"MacroF1\": 0.8767853151263398, \"Memory in Mb\": 0.5114049911499023, \"Time in s\": 13.087732 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8891613536047082, \"MicroF1\": 0.8891613536047082, \"MacroF1\": 0.8807858055314012, \"Memory in Mb\": 0.6185035705566406, \"Time in s\": 21.551525 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.848385778504291, \"MicroF1\": 0.848385778504291, \"MacroF1\": 0.8522513926518692, \"Memory in Mb\": 0.7141275405883789, \"Time in s\": 32.816222999999994 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8563922942206655, \"MicroF1\": 0.8563922942206655, \"MacroF1\": 0.8440193478447516, \"Memory in Mb\": 0.8097515106201172, \"Time in s\": 47.080319 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8482991112473184, \"MicroF1\": 0.8482991112473184, \"MacroF1\": 0.8269786301577753, \"Memory in Mb\": 0.9053754806518556, \"Time in s\": 64.636989 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8392808499046581, \"MicroF1\": 0.8392808499046581, \"MacroF1\": 0.8374924160046072, \"Memory in Mb\": 1.0009994506835938, \"Time in s\": 85.706576 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8323118411375338, \"MicroF1\": 0.8323118411375338, \"MacroF1\": 0.8182261307945194, \"Memory in Mb\": 1.1217241287231443, \"Time in s\": 110.709782 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8159126365054602, \"MicroF1\": 0.8159126365054602, \"MacroF1\": 0.8260965842218733, \"Memory in Mb\": 1.2173480987548828, \"Time in s\": 139.812165 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8149131767109296, \"MicroF1\": 0.8149131767109296, \"MacroF1\": 0.8221314665977922, \"Memory in Mb\": 1.312972068786621, \"Time in s\": 173.369773 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8125589289081652, \"MicroF1\": 0.8125589289081652, \"MacroF1\": 0.797613058026624, \"Memory in Mb\": 1.4085960388183594, \"Time in s\": 211.780209 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7907546839432674, \"MicroF1\": 0.7907546839432674, \"MacroF1\": 0.7936708037520236, \"Memory in Mb\": 1.5042200088500977, \"Time in s\": 255.273991 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7886909625755842, \"MicroF1\": 0.7886909625755842, \"MacroF1\": 0.7694478218498494, \"Memory in Mb\": 1.599843978881836, \"Time in s\": 304.294734 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7635973647924008, \"MicroF1\": 0.7635973647924008, \"MacroF1\": 0.75687960152136, \"Memory in Mb\": 1.6954679489135742, \"Time in s\": 359.144129 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.75155010814708, \"MicroF1\": 0.7515501081470799, \"MacroF1\": 0.7521509466338959, \"Memory in Mb\": 1.7910919189453125, \"Time in s\": 420.221142 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7611330518861501, \"MicroF1\": 0.7611330518861501, \"MacroF1\": 0.7576671162861806, \"Memory in Mb\": 1.8881807327270508, \"Time in s\": 487.76956500000006 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7617081666881693, \"MicroF1\": 0.7617081666881692, \"MacroF1\": 0.7593340838982119, \"Memory in Mb\": 1.983804702758789, \"Time in s\": 562.1432000000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7655349920333374, \"MicroF1\": 0.7655349920333374, \"MacroF1\": 0.7610505848438686, \"Memory in Mb\": 2.079428672790528, \"Time in s\": 643.5514560000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7644449632310026, \"MicroF1\": 0.7644449632310025, \"MacroF1\": 0.7639417799779614, \"Memory in Mb\": 2.223102569580078, \"Time in s\": 732.3349550000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7624512534818941, \"MicroF1\": 0.7624512534818941, \"MacroF1\": 0.7625605608371232, \"Memory in Mb\": 2.3187265396118164, \"Time in s\": 828.9274100000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7605243525524885, \"MicroF1\": 0.7605243525524885, \"MacroF1\": 0.7588384348689571, \"Memory in Mb\": 2.4143505096435547, \"Time in s\": 933.484588 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.753344908589521, \"MicroF1\": 0.753344908589521, \"MacroF1\": 0.7499438215834663, \"Memory in Mb\": 2.509974479675293, \"Time in s\": 1046.19484 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7450730463770958, \"MicroF1\": 0.7450730463770959, \"MacroF1\": 0.7369660419615974, \"Memory in Mb\": 2.6055984497070312, \"Time in s\": 1167.344916 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7240501555576506, \"MicroF1\": 0.7240501555576506, \"MacroF1\": 0.7111305646829175, \"Memory in Mb\": 2.701222419738769, \"Time in s\": 1296.919782 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7166591012256015, \"MicroF1\": 0.7166591012256015, \"MacroF1\": 0.7122511515574346, \"Memory in Mb\": 2.796846389770508, \"Time in s\": 1434.776076 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.710146196270682, \"MicroF1\": 0.710146196270682, \"MacroF1\": 0.6963016796632095, \"Memory in Mb\": 2.892470359802246, \"Time in s\": 1580.7280859999998 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7005324993660722, \"MicroF1\": 0.7005324993660722, \"MacroF1\": 0.6925666211338901, \"Memory in Mb\": 2.9880943298339844, \"Time in s\": 1735.0271709999995 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7043876133671052, \"MicroF1\": 0.7043876133671052, \"MacroF1\": 0.7007845610449206, \"Memory in Mb\": 3.0837182998657227, \"Time in s\": 1897.652612 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7004032576895707, \"MicroF1\": 0.7004032576895707, \"MacroF1\": 0.6915775762792657, \"Memory in Mb\": 3.179342269897461, \"Time in s\": 2069.0860809999995 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6877058598238223, \"MicroF1\": 0.6877058598238223, \"MacroF1\": 0.6789768292873962, \"Memory in Mb\": 3.274966239929199, \"Time in s\": 2249.389177 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6838743222164451, \"MicroF1\": 0.6838743222164451, \"MacroF1\": 0.6791243465680947, \"Memory in Mb\": 3.370590209960937, \"Time in s\": 2438.693149 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6822146925239708, \"MicroF1\": 0.6822146925239708, \"MacroF1\": 0.6786558938530485, \"Memory in Mb\": 3.466214179992676, \"Time in s\": 2637.684102 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6777085230058127, \"MicroF1\": 0.6777085230058127, \"MacroF1\": 0.6725285130045525, \"Memory in Mb\": 3.561838150024414, \"Time in s\": 2845.828808 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6807380676788997, \"MicroF1\": 0.6807380676788997, \"MacroF1\": 0.6786761142186741, \"Memory in Mb\": 3.657462120056152, \"Time in s\": 3062.994215 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6873799271281882, \"MicroF1\": 0.6873799271281882, \"MacroF1\": 0.6854839306484398, \"Memory in Mb\": 3.75308609008789, \"Time in s\": 3290.055422 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6858027478552539, \"MicroF1\": 0.6858027478552539, \"MacroF1\": 0.6816808496509055, \"Memory in Mb\": 3.848710060119629, \"Time in s\": 3526.69202 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6765759537426937, \"MicroF1\": 0.6765759537426937, \"MacroF1\": 0.6694713281964946, \"Memory in Mb\": 3.944334030151367, \"Time in s\": 3772.997519 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6673815797536614, \"MicroF1\": 0.6673815797536614, \"MacroF1\": 0.6617321933140904, \"Memory in Mb\": 4.0399580001831055, \"Time in s\": 4029.133223 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6643151790518323, \"MicroF1\": 0.6643151790518323, \"MacroF1\": 0.661178029358405, \"Memory in Mb\": 4.135581970214844, \"Time in s\": 4295.086238 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6598774438284214, \"MicroF1\": 0.6598774438284214, \"MacroF1\": 0.655734247886306, \"Memory in Mb\": 4.32945728302002, \"Time in s\": 4570.827071 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6518269395200365, \"MicroF1\": 0.6518269395200365, \"MacroF1\": 0.6481085155228206, \"Memory in Mb\": 4.425081253051758, \"Time in s\": 4856.254143 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6507158375577963, \"MicroF1\": 0.6507158375577963, \"MacroF1\": 0.6489368995854258, \"Memory in Mb\": 4.520705223083496, \"Time in s\": 5151.869359 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6566806470940683, \"MicroF1\": 0.6566806470940683, \"MacroF1\": 0.6555764711123695, \"Memory in Mb\": 4.616329193115234, \"Time in s\": 5457.498716 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.662279533223211, \"MicroF1\": 0.662279533223211, \"MacroF1\": 0.6615432060687808, \"Memory in Mb\": 4.711953163146973, \"Time in s\": 5772.982264 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6534028683181226, \"MicroF1\": 0.6534028683181226, \"MacroF1\": 0.6508089832432514, \"Memory in Mb\": 4.807577133178711, \"Time in s\": 6098.679956 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6577643874789358, \"MicroF1\": 0.6577643874789358, \"MacroF1\": 0.6564201177589184, \"Memory in Mb\": 4.903201103210449, \"Time in s\": 6434.678037 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6518433294982742, \"MicroF1\": 0.6518433294982742, \"MacroF1\": 0.6501496360982542, \"Memory in Mb\": 4.998825073242188, \"Time in s\": 6781.324361 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6482180499044071, \"MicroF1\": 0.6482180499044071, \"MacroF1\": 0.6472493759146578, \"Memory in Mb\": 5.094449043273926, \"Time in s\": 7138.730487 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3777777777777777, \"MicroF1\": 0.3777777777777777, \"MacroF1\": 0.2811210847975554, \"Memory in Mb\": 0.4234571456909179, \"Time in s\": 0.325579 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5164835164835165, \"MicroF1\": 0.5164835164835165, \"MacroF1\": 0.5335477748411618, \"Memory in Mb\": 0.4235143661499023, \"Time in s\": 1.056326 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5474452554744526, \"MicroF1\": 0.5474452554744526, \"MacroF1\": 0.5743273066802479, \"Memory in Mb\": 0.4236364364624023, \"Time in s\": 2.202996 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6120218579234973, \"MicroF1\": 0.6120218579234973, \"MacroF1\": 0.6355989308336889, \"Memory in Mb\": 0.4237203598022461, \"Time in s\": 3.699294 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6557923943920432, \"Memory in Mb\": 0.4237203598022461, \"Time in s\": 5.564336 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6509090909090909, \"MicroF1\": 0.6509090909090909, \"MacroF1\": 0.66910740948952, \"Memory in Mb\": 0.4237699508666992, \"Time in s\": 7.749814 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.67601246105919, \"MicroF1\": 0.67601246105919, \"MacroF1\": 0.678427291711157, \"Memory in Mb\": 0.4238309860229492, \"Time in s\": 10.278631 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7002724795640327, \"MicroF1\": 0.7002724795640327, \"MacroF1\": 0.6988359939675117, \"Memory in Mb\": 0.4238042831420898, \"Time in s\": 13.125556 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.7104564330601258, \"Memory in Mb\": 0.4237241744995117, \"Time in s\": 16.369918000000002 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7124183006535948, \"MicroF1\": 0.7124183006535948, \"MacroF1\": 0.7087721216219991, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 19.921878000000003 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7145025942185106, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 23.844357 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7223230490018149, \"MicroF1\": 0.7223230490018149, \"MacroF1\": 0.7174926871575792, \"Memory in Mb\": 0.4236936569213867, \"Time in s\": 28.111685 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7269681742043551, \"MicroF1\": 0.7269681742043551, \"MacroF1\": 0.7216367248754637, \"Memory in Mb\": 0.4237165451049804, \"Time in s\": 32.752989 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7262830482115086, \"MicroF1\": 0.7262830482115085, \"MacroF1\": 0.7230014848259525, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 37.712808 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7300435413642961, \"MicroF1\": 0.7300435413642961, \"MacroF1\": 0.7265684058467008, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 43.006145 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319727891156462, \"MicroF1\": 0.7319727891156461, \"MacroF1\": 0.7296570819427115, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 48.68780100000001 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737516005121639, \"MicroF1\": 0.737516005121639, \"MacroF1\": 0.7350906419548328, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 54.69172 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7363966142684402, \"MicroF1\": 0.7363966142684402, \"MacroF1\": 0.7359651798179677, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 60.98272 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422680412371134, \"MicroF1\": 0.7422680412371134, \"MacroF1\": 0.7398886847335938, \"Memory in Mb\": 0.4237775802612304, \"Time in s\": 67.641769 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7421109902067464, \"MicroF1\": 0.7421109902067464, \"MacroF1\": 0.738912026501458, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 74.649906 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7419689119170985, \"MicroF1\": 0.7419689119170985, \"MacroF1\": 0.7379593683174607, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 81.98079 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7418397626112759, \"MicroF1\": 0.741839762611276, \"MacroF1\": 0.7380802548116379, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 89.699811 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436140018921475, \"MicroF1\": 0.7436140018921475, \"MacroF1\": 0.7390703652035102, \"Memory in Mb\": 0.4237508773803711, \"Time in s\": 97.738161 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7461468721668177, \"MicroF1\": 0.7461468721668177, \"MacroF1\": 0.7413714574148674, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 106.141078 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7476066144473456, \"MicroF1\": 0.7476066144473456, \"MacroF1\": 0.742441565911322, \"Memory in Mb\": 0.4238004684448242, \"Time in s\": 114.875735 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7506276150627615, \"MicroF1\": 0.7506276150627615, \"MacroF1\": 0.7460917536510117, \"Memory in Mb\": 0.4234342575073242, \"Time in s\": 123.973121 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7510072522159549, \"MicroF1\": 0.7510072522159549, \"MacroF1\": 0.7470578866974922, \"Memory in Mb\": 0.4235563278198242, \"Time in s\": 133.391788 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.756021756021756, \"MicroF1\": 0.7560217560217559, \"MacroF1\": 0.7510482446555896, \"Memory in Mb\": 0.4236173629760742, \"Time in s\": 143.113173 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7569392348087022, \"MicroF1\": 0.7569392348087022, \"MacroF1\": 0.7522366633133313, \"Memory in Mb\": 0.4236173629760742, \"Time in s\": 153.228885 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7585206671501088, \"MicroF1\": 0.7585206671501088, \"MacroF1\": 0.7544196711061472, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 163.64661999999998 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7614035087719299, \"MicroF1\": 0.7614035087719299, \"MacroF1\": 0.7567964121564391, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 174.36664399999998 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7654656696125085, \"MicroF1\": 0.7654656696125085, \"MacroF1\": 0.7591802078998249, \"Memory in Mb\": 0.4236783981323242, \"Time in s\": 185.463757 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7673038892551087, \"MicroF1\": 0.7673038892551087, \"MacroF1\": 0.7600352016074767, \"Memory in Mb\": 0.4237394332885742, \"Time in s\": 196.90308 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7677543186180422, \"MicroF1\": 0.7677543186180422, \"MacroF1\": 0.7612494392404334, \"Memory in Mb\": 0.4237394332885742, \"Time in s\": 208.647576 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7675574891236793, \"MicroF1\": 0.7675574891236793, \"MacroF1\": 0.7602773300593106, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 220.786107 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.76797583081571, \"MicroF1\": 0.76797583081571, \"MacroF1\": 0.7607906010792568, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 233.2194 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7677836566725456, \"MicroF1\": 0.7677836566725456, \"MacroF1\": 0.7627036277641847, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 245.952092 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7710360618202633, \"MicroF1\": 0.7710360618202633, \"MacroF1\": 0.7657334796773966, \"Memory in Mb\": 0.4237623214721679, \"Time in s\": 259.02703 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724484104852203, \"MicroF1\": 0.7724484104852203, \"MacroF1\": 0.7657758298578787, \"Memory in Mb\": 0.4237356185913086, \"Time in s\": 272.394107 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737901033170201, \"MicroF1\": 0.77379010331702, \"MacroF1\": 0.767302943564198, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 286.067762 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724137931034483, \"MicroF1\": 0.7724137931034483, \"MacroF1\": 0.7666353585191567, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 300.095471 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7731745209735889, \"MicroF1\": 0.7731745209735889, \"MacroF1\": 0.7666634536176192, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 314.417396 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7738998482549317, \"MicroF1\": 0.7738998482549316, \"MacroF1\": 0.7665909326930368, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 329.067854 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750865051903114, \"MicroF1\": 0.7750865051903113, \"MacroF1\": 0.7662611838286661, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 344.01511700000003 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7747704204929918, \"MicroF1\": 0.7747704204929918, \"MacroF1\": 0.7660645062500586, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 359.290159 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7754137115839244, \"MicroF1\": 0.7754137115839244, \"MacroF1\": 0.7658988206988366, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 374.882405 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7760296159185562, \"MicroF1\": 0.7760296159185563, \"MacroF1\": 0.7660708746783081, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 390.75768 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.777979157227005, \"MicroF1\": 0.7779791572270048, \"MacroF1\": 0.7670029065892423, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 407.002801 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7749667110519307, \"MicroF1\": 0.7749667110519308, \"MacroF1\": 0.7639707440456852, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 423.546299 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7742496737712049, \"MicroF1\": 0.7742496737712049, \"MacroF1\": 0.7632394528829524, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 440.393364 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7743611953226505, \"MicroF1\": 0.7743611953226506, \"MacroF1\": 0.7633622232911937, \"Memory in Mb\": 0.4237966537475586, \"Time in s\": 457.310729 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6161137440758294, \"MicroF1\": 0.6161137440758294, \"MacroF1\": 0.581384151333148, \"Memory in Mb\": 0.6645784378051758, \"Time in s\": 11.249192 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6120322122216959, \"MicroF1\": 0.6120322122216959, \"MacroF1\": 0.5792161554760864, \"Memory in Mb\": 0.6646394729614258, \"Time in s\": 32.358705 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6049889485317335, \"MicroF1\": 0.6049889485317335, \"MacroF1\": 0.5721633809277145, \"Memory in Mb\": 0.6647005081176758, \"Time in s\": 62.851539 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.603125739995264, \"MicroF1\": 0.603125739995264, \"MacroF1\": 0.5703574432462961, \"Memory in Mb\": 0.6647005081176758, \"Time in s\": 102.700179 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6061754120098504, \"MicroF1\": 0.6061754120098504, \"MacroF1\": 0.5722430970062696, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 151.914202 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5995264404104184, \"MicroF1\": 0.5995264404104184, \"MacroF1\": 0.5671511237518188, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 210.432187 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5972128264104992, \"MicroF1\": 0.5972128264104992, \"MacroF1\": 0.5650210504998666, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 278.267755 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5989108559251806, \"MicroF1\": 0.5989108559251806, \"MacroF1\": 0.566418690076869, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 355.204938 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5962327685993897, \"MicroF1\": 0.5962327685993897, \"MacroF1\": 0.5633780031885509, \"Memory in Mb\": 0.6647615432739258, \"Time in s\": 441.186739 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5964579979164694, \"MicroF1\": 0.5964579979164694, \"MacroF1\": 0.5634236596216465, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 536.283653 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.594317692638829, \"MicroF1\": 0.594317692638829, \"MacroF1\": 0.5620068495149612, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 640.2689049999999 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5975061163286244, \"MicroF1\": 0.5975061163286244, \"MacroF1\": 0.567518061449456, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 753.0441599999999 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6097472135207984, \"MicroF1\": 0.6097472135207984, \"MacroF1\": 0.5927729676671933, \"Memory in Mb\": 0.6648225784301758, \"Time in s\": 874.528885 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001488195900697, \"MicroF1\": 0.6001488195900697, \"MacroF1\": 0.5832911478837771, \"Memory in Mb\": 0.6645174026489258, \"Time in s\": 1004.55011 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5673969316244712, \"MicroF1\": 0.5673969316244712, \"MacroF1\": 0.5522471754341495, \"Memory in Mb\": 0.8876123428344727, \"Time in s\": 1142.6522839999998 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5712340929269014, \"MicroF1\": 0.5712340929269014, \"MacroF1\": 0.5590383236849579, \"Memory in Mb\": 1.4319400787353516, \"Time in s\": 1288.8770269999998 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5741184335134533, \"MicroF1\": 0.5741184335134533, \"MacroF1\": 0.5632919959429028, \"Memory in Mb\": 1.8629226684570312, \"Time in s\": 1445.4718369999998 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5867312042931552, \"MicroF1\": 0.5867312042931552, \"MacroF1\": 0.5723846445183198, \"Memory in Mb\": 0.4819307327270508, \"Time in s\": 1609.073978 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5966704879629168, \"MicroF1\": 0.5966704879629168, \"MacroF1\": 0.5796820575913003, \"Memory in Mb\": 0.6649179458618164, \"Time in s\": 1780.2710459999998 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5984658364505895, \"MicroF1\": 0.5984658364505895, \"MacroF1\": 0.5810209140208816, \"Memory in Mb\": 0.6650400161743164, \"Time in s\": 1958.819581 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6001803833145434, \"MicroF1\": 0.6001803833145434, \"MacroF1\": 0.5822125955100945, \"Memory in Mb\": 1.2073478698730469, \"Time in s\": 2144.726031 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6020403770823468, \"MicroF1\": 0.6020403770823468, \"MacroF1\": 0.5837921358595156, \"Memory in Mb\": 1.321575164794922, \"Time in s\": 2339.531046 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6047268085807221, \"MicroF1\": 0.6047268085807221, \"MacroF1\": 0.5859785990228289, \"Memory in Mb\": 1.321636199951172, \"Time in s\": 2543.839083 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069131515605887, \"MicroF1\": 0.6069131515605887, \"MacroF1\": 0.587737290445056, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 2757.206681 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6094927838175689, \"MicroF1\": 0.6094927838175689, \"MacroF1\": 0.5895162861993263, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 2979.334505 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6105991622655254, \"MicroF1\": 0.6105991622655254, \"MacroF1\": 0.5896134687358237, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3211.082358 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6106064326049595, \"MicroF1\": 0.6106064326049595, \"MacroF1\": 0.5910741826972655, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3451.544855 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6099029323231981, \"MicroF1\": 0.6099029323231981, \"MacroF1\": 0.5935355609859342, \"Memory in Mb\": 1.321941375732422, \"Time in s\": 3700.712954 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088887437546942, \"MicroF1\": 0.6088887437546942, \"MacroF1\": 0.5952474102625339, \"Memory in Mb\": 1.321453094482422, \"Time in s\": 3958.532225 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088891694813598, \"MicroF1\": 0.6088891694813598, \"MacroF1\": 0.5975058139751561, \"Memory in Mb\": 1.321697235107422, \"Time in s\": 4224.837575 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6095921796242554, \"MicroF1\": 0.6095921796242554, \"MacroF1\": 0.5998546240309938, \"Memory in Mb\": 1.321758270263672, \"Time in s\": 4499.473663 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043917019324673, \"MicroF1\": 0.6043917019324673, \"MacroF1\": 0.595080118632132, \"Memory in Mb\": 0.6649713516235352, \"Time in s\": 4783.331389999999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034378856142566, \"MicroF1\": 0.6034378856142566, \"MacroF1\": 0.5941773754098104, \"Memory in Mb\": 0.6650934219360352, \"Time in s\": 5073.360361999999 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6029022644347269, \"MicroF1\": 0.6029022644347269, \"MacroF1\": 0.5935512429191343, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5369.406481999999 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6013690846613815, \"MicroF1\": 0.6013690846613815, \"MacroF1\": 0.5919623858291095, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5671.388488999999 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6010259108246745, \"MicroF1\": 0.6010259108246745, \"MacroF1\": 0.5912597483191937, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 5979.127636999999 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6003429653707353, \"MicroF1\": 0.6003429653707353, \"MacroF1\": 0.5902279082897147, \"Memory in Mb\": 0.6648492813110352, \"Time in s\": 6292.481400999999 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5961322800109652, \"MicroF1\": 0.5961322800109652, \"MacroF1\": 0.5867765456240649, \"Memory in Mb\": 0.6648492813110352, \"Time in s\": 6611.499413 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5939829541315591, \"MicroF1\": 0.5939829541315591, \"MacroF1\": 0.585290407267574, \"Memory in Mb\": 0.6650323867797852, \"Time in s\": 6936.132393 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5925803167688629, \"MicroF1\": 0.5925803167688629, \"MacroF1\": 0.5844470095695741, \"Memory in Mb\": 0.6650934219360352, \"Time in s\": 7266.407125 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5911306155445202, \"MicroF1\": 0.5911306155445202, \"MacroF1\": 0.5835517912214992, \"Memory in Mb\": 0.6651544570922852, \"Time in s\": 7602.391688 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.58959211742689, \"MicroF1\": 0.58959211742689, \"MacroF1\": 0.58246410272577, \"Memory in Mb\": 1.1046571731567385, \"Time in s\": 7943.862096 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5875746030347744, \"MicroF1\": 0.5875746030347744, \"MacroF1\": 0.5808874407233396, \"Memory in Mb\": 1.3207244873046875, \"Time in s\": 8291.951918 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5862083808621914, \"MicroF1\": 0.5862083808621914, \"MacroF1\": 0.5791892600330408, \"Memory in Mb\": 1.3209075927734375, \"Time in s\": 8644.890712 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5879332477535302, \"MicroF1\": 0.5879332477535302, \"MacroF1\": 0.5810233099134106, \"Memory in Mb\": 1.3210525512695312, \"Time in s\": 9004.012781000001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5928152341739578, \"MicroF1\": 0.5928152341739578, \"MacroF1\": 0.5858160887305829, \"Memory in Mb\": 1.3216018676757812, \"Time in s\": 9370.107000000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.5979327436481231, \"MicroF1\": 0.5979327436481231, \"MacroF1\": 0.5906079347867982, \"Memory in Mb\": 1.3215408325195312, \"Time in s\": 9743.028377000002 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6027383747311934, \"MicroF1\": 0.6027383747311934, \"MacroF1\": 0.594893758427483, \"Memory in Mb\": 1.3217239379882812, \"Time in s\": 10122.858893000002 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6077923583866417, \"MicroF1\": 0.6077923583866417, \"MacroF1\": 0.5993180348311721, \"Memory in Mb\": 1.3217239379882812, \"Time in s\": 10509.572003000005 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.612985094414667, \"MicroF1\": 0.612985094414667, \"MacroF1\": 0.6039181082054342, \"Memory in Mb\": 0.1438255310058593, \"Time in s\": 10901.200853000002 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Insects\", \"Accuracy\": 0.6133366132420005, \"MicroF1\": 0.6133366132420005, \"MacroF1\": 0.604218855594392, \"Memory in Mb\": 0.1438255310058593, \"Time in s\": 11292.868844000002 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.230626106262207, \"Time in s\": 0.871514 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 0.3262500762939453, \"Time in s\": 3.583779 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8863450531479967, \"MicroF1\": 0.8863450531479967, \"MacroF1\": 0.8786592421362933, \"Memory in Mb\": 0.4218740463256836, \"Time in s\": 8.686347999999999 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.891477621091355, \"MicroF1\": 0.891477621091355, \"MacroF1\": 0.8818548670971931, \"Memory in Mb\": 0.5179252624511719, \"Time in s\": 16.685395 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.889651790093183, \"MicroF1\": 0.889651790093183, \"MacroF1\": 0.8812768038030504, \"Memory in Mb\": 0.6251459121704102, \"Time in s\": 28.245741 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8414384961176952, \"MicroF1\": 0.8414384961176952, \"MacroF1\": 0.8420581397672002, \"Memory in Mb\": 0.7206478118896484, \"Time in s\": 43.571154 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8500875656742557, \"MicroF1\": 0.8500875656742557, \"MacroF1\": 0.8345582037188519, \"Memory in Mb\": 0.8163328170776367, \"Time in s\": 63.099422 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8406374501992032, \"MicroF1\": 0.8406374501992032, \"MacroF1\": 0.8151418555553325, \"Memory in Mb\": 0.911895751953125, \"Time in s\": 87.33095300000001 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8321983110868973, \"MicroF1\": 0.8321983110868973, \"MacroF1\": 0.8307198315203921, \"Memory in Mb\": 1.0075807571411133, \"Time in s\": 116.498805 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.826182887962736, \"MicroF1\": 0.826182887962736, \"MacroF1\": 0.8123767856033619, \"Memory in Mb\": 1.128366470336914, \"Time in s\": 151.118073 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.809226654780477, \"MicroF1\": 0.809226654780477, \"MacroF1\": 0.8196273526663149, \"Memory in Mb\": 1.2239294052124023, \"Time in s\": 191.820305 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8081716036772216, \"MicroF1\": 0.8081716036772216, \"MacroF1\": 0.815232111826365, \"Memory in Mb\": 1.3194313049316406, \"Time in s\": 239.061616 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8057703186875353, \"MicroF1\": 0.8057703186875353, \"MacroF1\": 0.7903391475861199, \"Memory in Mb\": 1.415055274963379, \"Time in s\": 293.29488000000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7860269655051655, \"MicroF1\": 0.7860269655051656, \"MacroF1\": 0.7895763142947654, \"Memory in Mb\": 1.5108013153076172, \"Time in s\": 355.22640600000005 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.784441902271613, \"MicroF1\": 0.784441902271613, \"MacroF1\": 0.7657785418705475, \"Memory in Mb\": 1.6062421798706057, \"Time in s\": 425.240619 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7585414432357898, \"MicroF1\": 0.7585414432357898, \"MacroF1\": 0.751418836389106, \"Memory in Mb\": 1.7020492553710938, \"Time in s\": 503.467226 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7473684210526316, \"MicroF1\": 0.7473684210526316, \"MacroF1\": 0.7484284412750404, \"Memory in Mb\": 1.797490119934082, \"Time in s\": 590.6999010000001 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7565027917744791, \"MicroF1\": 0.7565027917744791, \"MacroF1\": 0.7526701844923946, \"Memory in Mb\": 1.8947620391845703, \"Time in s\": 687.248946 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7577086827506129, \"MicroF1\": 0.7577086827506129, \"MacroF1\": 0.755735065870518, \"Memory in Mb\": 1.9903860092163088, \"Time in s\": 793.498598 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7617355068023042, \"MicroF1\": 0.7617355068023042, \"MacroF1\": 0.7576049653668414, \"Memory in Mb\": 2.085948944091797, \"Time in s\": 909.902095 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7604762460604646, \"MicroF1\": 0.7604762460604646, \"MacroF1\": 0.7596175662696861, \"Memory in Mb\": 2.2296838760375977, \"Time in s\": 1036.556796 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.756991643454039, \"MicroF1\": 0.7569916434540391, \"MacroF1\": 0.7575313939177277, \"Memory in Mb\": 2.325368881225586, \"Time in s\": 1173.436632 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7558350207822658, \"MicroF1\": 0.7558350207822658, \"MacroF1\": 0.7548436696787698, \"Memory in Mb\": 2.420870780944824, \"Time in s\": 1320.145727 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.748340312531917, \"MicroF1\": 0.7483403125319169, \"MacroF1\": 0.744390859626019, \"Memory in Mb\": 2.5164337158203125, \"Time in s\": 1476.992513 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7393862143347387, \"MicroF1\": 0.7393862143347387, \"MacroF1\": 0.7315892779928432, \"Memory in Mb\": 2.612057685852051, \"Time in s\": 1644.1937280000002 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7196191194494201, \"MicroF1\": 0.7196191194494201, \"MacroF1\": 0.7089541376321258, \"Memory in Mb\": 2.707803726196289, \"Time in s\": 1822.193822 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7123921924648207, \"MicroF1\": 0.7123921924648208, \"MacroF1\": 0.7092068316988943, \"Memory in Mb\": 2.8033666610717773, \"Time in s\": 2011.0989090000005 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7062943184802591, \"MicroF1\": 0.7062943184802591, \"MacroF1\": 0.6946713230955313, \"Memory in Mb\": 2.898990631103516, \"Time in s\": 2211.8042590000005 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6967289324655566, \"MicroF1\": 0.6967289324655566, \"MacroF1\": 0.690232830798306, \"Memory in Mb\": 2.994553565979004, \"Time in s\": 2423.5715250000003 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7007108423890841, \"MicroF1\": 0.7007108423890841, \"MacroF1\": 0.6983689907908355, \"Memory in Mb\": 3.090177536010742, \"Time in s\": 2646.6754960000003 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6969241717403337, \"MicroF1\": 0.6969241717403337, \"MacroF1\": 0.6892508246262707, \"Memory in Mb\": 3.1858625411987305, \"Time in s\": 2881.7592360000003 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6836461126005362, \"MicroF1\": 0.6836461126005362, \"MacroF1\": 0.6755391962059192, \"Memory in Mb\": 3.2815475463867188, \"Time in s\": 3128.5577150000004 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6793433855752804, \"MicroF1\": 0.6793433855752804, \"MacroF1\": 0.6754035266161623, \"Memory in Mb\": 3.377110481262207, \"Time in s\": 3387.355816 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6769519140653161, \"MicroF1\": 0.6769519140653161, \"MacroF1\": 0.6742482232309566, \"Memory in Mb\": 3.4728565216064453, \"Time in s\": 3658.0697 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6728762518383641, \"MicroF1\": 0.6728762518383641, \"MacroF1\": 0.6689356443053495, \"Memory in Mb\": 3.5684194564819336, \"Time in s\": 3940.688111 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6762442976782188, \"MicroF1\": 0.6762442976782188, \"MacroF1\": 0.6753292472514647, \"Memory in Mb\": 3.663982391357422, \"Time in s\": 4235.610853 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6830076184166942, \"MicroF1\": 0.6830076184166942, \"MacroF1\": 0.6822311287838643, \"Memory in Mb\": 3.75966739654541, \"Time in s\": 4542.8267670000005 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6818035218989873, \"MicroF1\": 0.6818035218989873, \"MacroF1\": 0.6788656596145114, \"Memory in Mb\": 3.8552303314208975, \"Time in s\": 4862.152597 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6816039218150964, \"MicroF1\": 0.6816039218150964, \"MacroF1\": 0.6801525397911032, \"Memory in Mb\": 0.2705574035644531, \"Time in s\": 5190.397888 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6858263373981249, \"MicroF1\": 0.6858263373981249, \"MacroF1\": 0.685191280018575, \"Memory in Mb\": 0.4621334075927734, \"Time in s\": 5522.880902000001 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6896634184253004, \"MicroF1\": 0.6896634184253004, \"MacroF1\": 0.6890226069872224, \"Memory in Mb\": 0.6535873413085938, \"Time in s\": 5860.018685000001 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6925007295010213, \"MicroF1\": 0.6925007295010213, \"MacroF1\": 0.6918635442211969, \"Memory in Mb\": 0.9691534042358398, \"Time in s\": 6202.345681000001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6990252522373597, \"MicroF1\": 0.6990252522373597, \"MacroF1\": 0.6986638608261282, \"Memory in Mb\": 0.2649049758911133, \"Time in s\": 6547.073149000001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7038605091638349, \"MicroF1\": 0.7038605091638349, \"MacroF1\": 0.7032543903990934, \"Memory in Mb\": 0.579315185546875, \"Time in s\": 6893.121988000001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.710114930007081, \"MicroF1\": 0.7101149300070809, \"MacroF1\": 0.70950849929648, \"Memory in Mb\": 0.2349414825439453, \"Time in s\": 7240.035665000001 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.715351414717323, \"MicroF1\": 0.715351414717323, \"MacroF1\": 0.7146010079934133, \"Memory in Mb\": 0.3305654525756836, \"Time in s\": 7588.155090000001 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7179139504563233, \"MicroF1\": 0.7179139504563233, \"MacroF1\": 0.7169858006379833, \"Memory in Mb\": 0.4260063171386719, \"Time in s\": 7937.751954000001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7223612316805392, \"MicroF1\": 0.7223612316805392, \"MacroF1\": 0.7214649429496548, \"Memory in Mb\": 0.5217523574829102, \"Time in s\": 8289.115139000001 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7219248661897854, \"MicroF1\": 0.7219248661897855, \"MacroF1\": 0.7206428236711905, \"Memory in Mb\": 0.6287288665771484, \"Time in s\": 8642.591702000002 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7231236825334575, \"MicroF1\": 0.7231236825334575, \"MacroF1\": 0.7218249685926471, \"Memory in Mb\": 0.7244749069213867, \"Time in s\": 8998.461289 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4222222222222222, \"MicroF1\": 0.4222222222222222, \"MacroF1\": 0.3590236094437775, \"Memory in Mb\": 0.9685115814208984, \"Time in s\": 1.326052 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5604395604395604, \"MicroF1\": 0.5604395604395604, \"MacroF1\": 0.5746538615446178, \"Memory in Mb\": 1.0556058883666992, \"Time in s\": 4.053487 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5766423357664233, \"MicroF1\": 0.5766423357664233, \"MacroF1\": 0.598257695340355, \"Memory in Mb\": 1.344954490661621, \"Time in s\": 8.154789999999998 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6229508196721312, \"MicroF1\": 0.6229508196721312, \"MacroF1\": 0.6451744040758778, \"Memory in Mb\": 1.4133405685424805, \"Time in s\": 13.553012999999998 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6506550218340611, \"MicroF1\": 0.6506550218340611, \"MacroF1\": 0.6680655280025949, \"Memory in Mb\": 1.5576086044311523, \"Time in s\": 20.188933 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6727272727272727, \"MicroF1\": 0.6727272727272727, \"MacroF1\": 0.6900672130049011, \"Memory in Mb\": 1.7550430297851562, \"Time in s\": 28.051384 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7040498442367601, \"MicroF1\": 0.7040498442367601, \"MacroF1\": 0.7087861936875776, \"Memory in Mb\": 1.832967758178711, \"Time in s\": 37.15395 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7302452316076294, \"MicroF1\": 0.7302452316076294, \"MacroF1\": 0.7285991575377422, \"Memory in Mb\": 1.971024513244629, \"Time in s\": 47.432602 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7457627118644068, \"MicroF1\": 0.7457627118644068, \"MacroF1\": 0.7430362907281778, \"Memory in Mb\": 1.991847038269043, \"Time in s\": 58.97377399999999 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7342047930283224, \"MicroF1\": 0.7342047930283224, \"MacroF1\": 0.7271744800226857, \"Memory in Mb\": 1.8101978302001955, \"Time in s\": 71.823928 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7405940594059406, \"MicroF1\": 0.7405940594059406, \"MacroF1\": 0.7304322149686578, \"Memory in Mb\": 1.7132930755615234, \"Time in s\": 85.827474 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7368421052631579, \"MicroF1\": 0.7368421052631579, \"MacroF1\": 0.7267508109083203, \"Memory in Mb\": 1.5079193115234375, \"Time in s\": 101.049314 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7403685092127303, \"MicroF1\": 0.7403685092127302, \"MacroF1\": 0.7318978254380314, \"Memory in Mb\": 1.6471452713012695, \"Time in s\": 117.420156 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7325038880248833, \"MicroF1\": 0.7325038880248833, \"MacroF1\": 0.7248107612258207, \"Memory in Mb\": 1.7740907669067385, \"Time in s\": 135.017443 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7242380261248186, \"MicroF1\": 0.7242380261248187, \"MacroF1\": 0.7153272190465999, \"Memory in Mb\": 1.913142204284668, \"Time in s\": 153.656893 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7251700680272108, \"MicroF1\": 0.725170068027211, \"MacroF1\": 0.7148466398758337, \"Memory in Mb\": 2.0619029998779297, \"Time in s\": 173.429455 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7259923175416133, \"MicroF1\": 0.7259923175416134, \"MacroF1\": 0.7134712280209221, \"Memory in Mb\": 2.0208959579467773, \"Time in s\": 194.315292 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.727932285368803, \"MicroF1\": 0.727932285368803, \"MacroF1\": 0.7177600265828429, \"Memory in Mb\": 2.224555015563965, \"Time in s\": 216.352158 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7353951890034365, \"MicroF1\": 0.7353951890034366, \"MacroF1\": 0.7262567978322628, \"Memory in Mb\": 2.300021171569824, \"Time in s\": 239.599524 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7431991294885746, \"MicroF1\": 0.7431991294885745, \"MacroF1\": 0.7345004589126253, \"Memory in Mb\": 2.4412155151367188, \"Time in s\": 263.99359400000003 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7471502590673575, \"MicroF1\": 0.7471502590673575, \"MacroF1\": 0.7368855656689403, \"Memory in Mb\": 2.474191665649414, \"Time in s\": 289.66420500000004 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7546983184965381, \"MicroF1\": 0.754698318496538, \"MacroF1\": 0.7446216664767904, \"Memory in Mb\": 2.5655078887939453, \"Time in s\": 316.44421900000003 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.760643330179754, \"MicroF1\": 0.760643330179754, \"MacroF1\": 0.7502594177262459, \"Memory in Mb\": 2.798956871032715, \"Time in s\": 344.45448600000003 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7624660018132366, \"MicroF1\": 0.7624660018132366, \"MacroF1\": 0.7523020427630668, \"Memory in Mb\": 2.48898983001709, \"Time in s\": 373.71735 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650130548302873, \"MicroF1\": 0.7650130548302874, \"MacroF1\": 0.7555087521342715, \"Memory in Mb\": 2.3284912109375, \"Time in s\": 404.061966 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7690376569037657, \"MicroF1\": 0.7690376569037657, \"MacroF1\": 0.7603504370239861, \"Memory in Mb\": 2.0560731887817383, \"Time in s\": 435.510035 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7719580983078163, \"MicroF1\": 0.7719580983078163, \"MacroF1\": 0.7638249032322542, \"Memory in Mb\": 2.11933708190918, \"Time in s\": 467.969641 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7746697746697747, \"MicroF1\": 0.7746697746697747, \"MacroF1\": 0.7668828628349821, \"Memory in Mb\": 2.277647018432617, \"Time in s\": 501.448754 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7771942985746436, \"MicroF1\": 0.7771942985746436, \"MacroF1\": 0.7696789046658701, \"Memory in Mb\": 2.3871631622314453, \"Time in s\": 535.887669 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7817258883248731, \"MicroF1\": 0.7817258883248731, \"MacroF1\": 0.7754511149783997, \"Memory in Mb\": 2.3104944229125977, \"Time in s\": 571.357393 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7866666666666666, \"MicroF1\": 0.7866666666666666, \"MacroF1\": 0.7797171864703156, \"Memory in Mb\": 2.4089183807373047, \"Time in s\": 607.784244 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7912984364377974, \"MicroF1\": 0.7912984364377974, \"MacroF1\": 0.7836430453045393, \"Memory in Mb\": 2.5425024032592773, \"Time in s\": 645.2286509999999 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7963085036255768, \"MicroF1\": 0.7963085036255768, \"MacroF1\": 0.7883976288226553, \"Memory in Mb\": 2.6389265060424805, \"Time in s\": 683.7451019999999 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7978246960972489, \"MicroF1\": 0.7978246960972489, \"MacroF1\": 0.790949738475821, \"Memory in Mb\": 2.283763885498047, \"Time in s\": 723.3862519999999 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.798011187072716, \"MicroF1\": 0.7980111870727161, \"MacroF1\": 0.7914720525222512, \"Memory in Mb\": 2.519012451171875, \"Time in s\": 764.1312649999999 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7981873111782477, \"MicroF1\": 0.7981873111782477, \"MacroF1\": 0.7919320984228655, \"Memory in Mb\": 2.307619094848633, \"Time in s\": 806.0160599999999 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.798941798941799, \"MicroF1\": 0.7989417989417988, \"MacroF1\": 0.7945012991620244, \"Memory in Mb\": 2.40640926361084, \"Time in s\": 848.960292 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8019461934745278, \"MicroF1\": 0.8019461934745278, \"MacroF1\": 0.797056036319667, \"Memory in Mb\": 2.447686195373535, \"Time in s\": 893.037184 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8047964305633017, \"MicroF1\": 0.8047964305633019, \"MacroF1\": 0.7993493873930555, \"Memory in Mb\": 2.5208606719970703, \"Time in s\": 938.202728 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8069603045133225, \"MicroF1\": 0.8069603045133223, \"MacroF1\": 0.8019867749609348, \"Memory in Mb\": 2.8025121688842773, \"Time in s\": 984.592034 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8084880636604774, \"MicroF1\": 0.8084880636604774, \"MacroF1\": 0.8043300839686539, \"Memory in Mb\": 2.9287471771240234, \"Time in s\": 1032.221691 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8114966338684619, \"MicroF1\": 0.8114966338684619, \"MacroF1\": 0.8071482324590065, \"Memory in Mb\": 2.977842330932617, \"Time in s\": 1081.048247 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8148710166919575, \"MicroF1\": 0.8148710166919576, \"MacroF1\": 0.8107088256390683, \"Memory in Mb\": 3.110445022583008, \"Time in s\": 1130.994965 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8161146811665843, \"MicroF1\": 0.8161146811665844, \"MacroF1\": 0.8110472160986095, \"Memory in Mb\": 3.3117494583129883, \"Time in s\": 1182.226115 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8173030449492509, \"MicroF1\": 0.8173030449492509, \"MacroF1\": 0.8127793203399477, \"Memory in Mb\": 2.7790603637695312, \"Time in s\": 1234.703432 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8193853427895981, \"MicroF1\": 0.8193853427895981, \"MacroF1\": 0.8144282151100146, \"Memory in Mb\": 2.8652515411376958, \"Time in s\": 1288.356269 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8199907450254512, \"MicroF1\": 0.8199907450254512, \"MacroF1\": 0.8150157846003385, \"Memory in Mb\": 2.925917625427246, \"Time in s\": 1343.2838700000002 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8205709107385591, \"MicroF1\": 0.8205709107385591, \"MacroF1\": 0.8153449009635614, \"Memory in Mb\": 2.785597801208496, \"Time in s\": 1399.325285 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8175765645805593, \"MicroF1\": 0.8175765645805593, \"MacroF1\": 0.813116129924445, \"Memory in Mb\": 2.868098258972168, \"Time in s\": 1456.6402850000002 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8186167899086559, \"MicroF1\": 0.8186167899086559, \"MacroF1\": 0.8144518819207099, \"Memory in Mb\": 3.062863349914551, \"Time in s\": 1515.2003170000005 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8185361628410567, \"MicroF1\": 0.8185361628410566, \"MacroF1\": 0.8145347387119569, \"Memory in Mb\": 3.063481330871582, \"Time in s\": 1574.1800910000002 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6682464454976303, \"MicroF1\": 0.6682464454976303, \"MacroF1\": 0.6049011732627783, \"Memory in Mb\": 7.181946754455566, \"Time in s\": 32.418226 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6944576030317385, \"MicroF1\": 0.6944576030317385, \"MacroF1\": 0.6288311688548281, \"Memory in Mb\": 9.89784336090088, \"Time in s\": 94.873564 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6984527944426903, \"MicroF1\": 0.6984527944426903, \"MacroF1\": 0.625371849015863, \"Memory in Mb\": 13.448436737060549, \"Time in s\": 186.837042 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.706369879232773, \"MicroF1\": 0.706369879232773, \"MacroF1\": 0.6266042661686886, \"Memory in Mb\": 17.43436622619629, \"Time in s\": 307.272577 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7107406705815495, \"MicroF1\": 0.7107406705815495, \"MacroF1\": 0.6273487761971507, \"Memory in Mb\": 20.93905258178711, \"Time in s\": 452.99825 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7108129439621153, \"MicroF1\": 0.7108129439621153, \"MacroF1\": 0.6274052515282983, \"Memory in Mb\": 25.022296905517575, \"Time in s\": 622.602665 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7127587606548504, \"MicroF1\": 0.7127587606548504, \"MacroF1\": 0.6273117178459473, \"Memory in Mb\": 28.81925773620605, \"Time in s\": 816.020547 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7164673848703682, \"MicroF1\": 0.7164673848703682, \"MacroF1\": 0.6293431255193823, \"Memory in Mb\": 32.80279922485352, \"Time in s\": 1032.257355 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.721666842049879, \"MicroF1\": 0.721666842049879, \"MacroF1\": 0.63170101976307, \"Memory in Mb\": 32.88048076629639, \"Time in s\": 1271.699652 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.724405720238659, \"MicroF1\": 0.724405720238659, \"MacroF1\": 0.6339052025360064, \"Memory in Mb\": 29.71586036682129, \"Time in s\": 1533.827375 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7244080929832114, \"MicroF1\": 0.7244080929832114, \"MacroF1\": 0.6334336343217646, \"Memory in Mb\": 33.71169948577881, \"Time in s\": 1818.162347 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7225949017441402, \"MicroF1\": 0.7225949017441402, \"MacroF1\": 0.6332595599893077, \"Memory in Mb\": 29.64934635162353, \"Time in s\": 2125.062078 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7416769869600058, \"MicroF1\": 0.7416769869600057, \"MacroF1\": 0.7385871869253197, \"Memory in Mb\": 11.750191688537598, \"Time in s\": 2443.236189 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7472096326861936, \"MicroF1\": 0.7472096326861937, \"MacroF1\": 0.7473000008879964, \"Memory in Mb\": 7.712667465209961, \"Time in s\": 2772.229259 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7404507860344719, \"MicroF1\": 0.7404507860344719, \"MacroF1\": 0.7427443120881612, \"Memory in Mb\": 5.854048728942871, \"Time in s\": 3118.280673 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.73666765315182, \"MicroF1\": 0.73666765315182, \"MacroF1\": 0.7407696345938622, \"Memory in Mb\": 9.543391227722168, \"Time in s\": 3480.1200929999995 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7295972369227341, \"MicroF1\": 0.7295972369227341, \"MacroF1\": 0.7347001031972082, \"Memory in Mb\": 14.625198364257812, \"Time in s\": 3856.632275 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.739780081022781, \"MicroF1\": 0.7397800810227809, \"MacroF1\": 0.7407912307996387, \"Memory in Mb\": 5.110816955566406, \"Time in s\": 4245.133706999999 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7434581069630664, \"MicroF1\": 0.7434581069630664, \"MacroF1\": 0.7402037922066672, \"Memory in Mb\": 3.8148155212402335, \"Time in s\": 4646.574114999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.745111037454425, \"MicroF1\": 0.7451110374544251, \"MacroF1\": 0.7386209934273732, \"Memory in Mb\": 7.313493728637695, \"Time in s\": 5063.578879 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7462006764374295, \"MicroF1\": 0.7462006764374295, \"MacroF1\": 0.7365944363606786, \"Memory in Mb\": 12.210733413696287, \"Time in s\": 5495.973683 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7483965391072274, \"MicroF1\": 0.7483965391072274, \"MacroF1\": 0.7360584061499352, \"Memory in Mb\": 11.241872787475586, \"Time in s\": 5944.2105440000005 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7495779635195784, \"MicroF1\": 0.7495779635195785, \"MacroF1\": 0.7345443205753824, \"Memory in Mb\": 12.262273788452148, \"Time in s\": 6407.867088000001 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7508582251509293, \"MicroF1\": 0.7508582251509293, \"MacroF1\": 0.7336140903014292, \"Memory in Mb\": 15.815716743469238, \"Time in s\": 6885.995097000001 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7510890564036516, \"MicroF1\": 0.7510890564036516, \"MacroF1\": 0.7317409587301968, \"Memory in Mb\": 20.072275161743164, \"Time in s\": 7378.034229000001 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7520670187579676, \"MicroF1\": 0.7520670187579677, \"MacroF1\": 0.7304776676466566, \"Memory in Mb\": 23.249674797058105, \"Time in s\": 7884.702304 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7487285609063169, \"MicroF1\": 0.7487285609063169, \"MacroF1\": 0.7285292321096271, \"Memory in Mb\": 2.702430725097656, \"Time in s\": 8406.670172 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7464741096492712, \"MicroF1\": 0.7464741096492712, \"MacroF1\": 0.7309964825863351, \"Memory in Mb\": 6.2935638427734375, \"Time in s\": 8940.901067 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7457793162002416, \"MicroF1\": 0.7457793162002416, \"MacroF1\": 0.7347045068936117, \"Memory in Mb\": 9.350909233093262, \"Time in s\": 9487.04409 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.745036143817671, \"MicroF1\": 0.745036143817671, \"MacroF1\": 0.7375864352537521, \"Memory in Mb\": 14.599569320678713, \"Time in s\": 10044.836672 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7451962731021842, \"MicroF1\": 0.7451962731021842, \"MacroF1\": 0.7406480970104784, \"Memory in Mb\": 19.12519836425781, \"Time in s\": 10615.117300000002 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7402858749371134, \"MicroF1\": 0.7402858749371134, \"MacroF1\": 0.7370798749337869, \"Memory in Mb\": 6.808139801025391, \"Time in s\": 11202.653786000004 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366200820730623, \"MicroF1\": 0.7366200820730623, \"MacroF1\": 0.7333315604235389, \"Memory in Mb\": 5.8602495193481445, \"Time in s\": 11807.700361000005 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.733921956382475, \"MicroF1\": 0.7339219563824751, \"MacroF1\": 0.7303171015411175, \"Memory in Mb\": 9.36469554901123, \"Time in s\": 12429.747970000002 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7304039611461349, \"MicroF1\": 0.7304039611461349, \"MacroF1\": 0.7265687877692525, \"Memory in Mb\": 14.848862648010254, \"Time in s\": 13069.446785000002 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7276864395633302, \"MicroF1\": 0.7276864395633302, \"MacroF1\": 0.7236022807953257, \"Memory in Mb\": 19.807891845703125, \"Time in s\": 13727.939023000004 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7250134370760922, \"MicroF1\": 0.7250134370760921, \"MacroF1\": 0.7209989950382084, \"Memory in Mb\": 16.71243381500244, \"Time in s\": 14405.601845000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7235028783612032, \"MicroF1\": 0.7235028783612032, \"MacroF1\": 0.7198278735760195, \"Memory in Mb\": 8.331427574157715, \"Time in s\": 15101.835691000002 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.723623825364835, \"MicroF1\": 0.723623825364835, \"MacroF1\": 0.7203262236880287, \"Memory in Mb\": 6.9819841384887695, \"Time in s\": 15814.868539000005 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7240464973129098, \"MicroF1\": 0.7240464973129098, \"MacroF1\": 0.7211005399097123, \"Memory in Mb\": 10.71219539642334, \"Time in s\": 16543.112989 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7245409400623629, \"MicroF1\": 0.7245409400623629, \"MacroF1\": 0.721844297210525, \"Memory in Mb\": 10.330558776855469, \"Time in s\": 17285.760894000003 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7248765529525828, \"MicroF1\": 0.7248765529525828, \"MacroF1\": 0.7223628081683402, \"Memory in Mb\": 13.299851417541504, \"Time in s\": 18041.694028 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7254167859581122, \"MicroF1\": 0.7254167859581122, \"MacroF1\": 0.7228420559832612, \"Memory in Mb\": 15.662115097045898, \"Time in s\": 18810.181113 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7263844349267159, \"MicroF1\": 0.7263844349267159, \"MacroF1\": 0.7236482152790997, \"Memory in Mb\": 19.25161361694336, \"Time in s\": 19591.516438 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7265304404553968, \"MicroF1\": 0.7265304404553967, \"MacroF1\": 0.7240124567772878, \"Memory in Mb\": 14.065608024597168, \"Time in s\": 20387.990038000004 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7304374678332476, \"MicroF1\": 0.7304374678332476, \"MacroF1\": 0.7281756207358935, \"Memory in Mb\": 7.354809761047363, \"Time in s\": 21197.413376000004 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7344603171404969, \"MicroF1\": 0.7344603171404969, \"MacroF1\": 0.7322565876518081, \"Memory in Mb\": 7.006095886230469, \"Time in s\": 22016.972025000003 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7380590684001815, \"MicroF1\": 0.7380590684001815, \"MacroF1\": 0.7356981427827818, \"Memory in Mb\": 10.14159107208252, \"Time in s\": 22847.182754 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7420134124422627, \"MicroF1\": 0.7420134124422627, \"MacroF1\": 0.7394134340953542, \"Memory in Mb\": 13.563420295715332, \"Time in s\": 23688.037606 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7451466883842497, \"MicroF1\": 0.7451466883842497, \"MacroF1\": 0.7430487162081567, \"Memory in Mb\": 0.3614501953125, \"Time in s\": 24535.706056000003 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7453781671618067, \"MicroF1\": 0.7453781671618067, \"MacroF1\": 0.7433023109254195, \"Memory in Mb\": 0.3617935180664062, \"Time in s\": 25383.518073000003 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 0.3354053497314453, \"Time in s\": 3.23067 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9730061349693252, \"MicroF1\": 0.9730061349693252, \"MacroF1\": 0.8116978142719798, \"Memory in Mb\": 0.988037109375, \"Time in s\": 11.21298 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9730171708912512, \"MicroF1\": 0.9730171708912512, \"MacroF1\": 0.9579161898493525, \"Memory in Mb\": 2.195523262023926, \"Time in s\": 25.427007 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9693439607602696, \"MicroF1\": 0.9693439607602696, \"MacroF1\": 0.9069773132409142, \"Memory in Mb\": 3.526730537414551, \"Time in s\": 46.453054 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9666503187837177, \"MicroF1\": 0.9666503187837177, \"MacroF1\": 0.9303026980117672, \"Memory in Mb\": 5.496582984924316, \"Time in s\": 74.431187 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9660809154066204, \"MicroF1\": 0.9660809154066204, \"MacroF1\": 0.955517866483744, \"Memory in Mb\": 2.29970645904541, \"Time in s\": 107.969459 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9691768826619964, \"MicroF1\": 0.9691768826619964, \"MacroF1\": 0.9674134048328416, \"Memory in Mb\": 3.376467704772949, \"Time in s\": 146.96126800000002 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9672080907140668, \"MicroF1\": 0.9672080907140668, \"MacroF1\": 0.9546197483047236, \"Memory in Mb\": 4.62060546875, \"Time in s\": 192.073824 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9684009806592208, \"MicroF1\": 0.968400980659221, \"MacroF1\": 0.9654409635782653, \"Memory in Mb\": 3.119338035583496, \"Time in s\": 243.354323 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9644520715861732, \"MicroF1\": 0.9644520715861732, \"MacroF1\": 0.95030552665756, \"Memory in Mb\": 4.705347061157227, \"Time in s\": 301.433133 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9661243592600848, \"MicroF1\": 0.9661243592600848, \"MacroF1\": 0.9659906155964958, \"Memory in Mb\": 1.508072853088379, \"Time in s\": 365.412759 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677221654749744, \"MicroF1\": 0.9677221654749744, \"MacroF1\": 0.96768641848376, \"Memory in Mb\": 2.487558364868164, \"Time in s\": 434.672843 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9685083914765228, \"MicroF1\": 0.9685083914765228, \"MacroF1\": 0.9677400809149086, \"Memory in Mb\": 2.8771514892578125, \"Time in s\": 509.854138 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690071791279986, \"MicroF1\": 0.9690071791279986, \"MacroF1\": 0.968698427792926, \"Memory in Mb\": 4.140267372131348, \"Time in s\": 591.7133210000001 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9671514953423762, \"MicroF1\": 0.9671514953423762, \"MacroF1\": 0.9635575047511442, \"Memory in Mb\": 5.121949195861816, \"Time in s\": 681.1937680000001 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9675195342423778, \"MicroF1\": 0.9675195342423778, \"MacroF1\": 0.9673223823066148, \"Memory in Mb\": 2.1385393142700195, \"Time in s\": 777.2102420000001 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968565248738284, \"MicroF1\": 0.968565248738284, \"MacroF1\": 0.9688652926813892, \"Memory in Mb\": 2.7864933013916016, \"Time in s\": 879.0640510000001 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686776521857552, \"MicroF1\": 0.9686776521857552, \"MacroF1\": 0.9682274153773373, \"Memory in Mb\": 3.314570426940918, \"Time in s\": 987.062921 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9682621597213262, \"MicroF1\": 0.9682621597213262, \"MacroF1\": 0.9674704101631952, \"Memory in Mb\": 4.690197944641113, \"Time in s\": 1101.141854 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.96727540139723, \"MicroF1\": 0.96727540139723, \"MacroF1\": 0.9662379529396136, \"Memory in Mb\": 5.223731994628906, \"Time in s\": 1221.487909 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677833547332788, \"MicroF1\": 0.9677833547332788, \"MacroF1\": 0.9678822443058488, \"Memory in Mb\": 4.885932922363281, \"Time in s\": 1347.980617 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686908077994428, \"MicroF1\": 0.9686908077994428, \"MacroF1\": 0.9690861219789196, \"Memory in Mb\": 6.402636528015137, \"Time in s\": 1480.694289 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9683470105509964, \"MicroF1\": 0.9683470105509964, \"MacroF1\": 0.9680699356268632, \"Memory in Mb\": 6.928671836853027, \"Time in s\": 1620.259773 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.96864467367991, \"MicroF1\": 0.96864467367991, \"MacroF1\": 0.9687197530276812, \"Memory in Mb\": 5.552419662475586, \"Time in s\": 1766.078849 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9684282772820864, \"MicroF1\": 0.9684282772820866, \"MacroF1\": 0.9682582636163196, \"Memory in Mb\": 2.695918083190918, \"Time in s\": 1917.758924 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9673800320543038, \"MicroF1\": 0.9673800320543038, \"MacroF1\": 0.9668238422002586, \"Memory in Mb\": 3.239151954650879, \"Time in s\": 2074.190769 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9676804357694052, \"MicroF1\": 0.9676804357694052, \"MacroF1\": 0.9678040910458204, \"Memory in Mb\": 4.023995399475098, \"Time in s\": 2235.420867 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677842948437364, \"MicroF1\": 0.9677842948437364, \"MacroF1\": 0.9678364439490078, \"Memory in Mb\": 4.695375442504883, \"Time in s\": 2402.164192 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9677119432000676, \"MicroF1\": 0.9677119432000676, \"MacroF1\": 0.9677086079179034, \"Memory in Mb\": 5.258674621582031, \"Time in s\": 2574.870699 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968706593675954, \"MicroF1\": 0.968706593675954, \"MacroF1\": 0.9690716756618885, \"Memory in Mb\": 6.001680374145508, \"Time in s\": 2753.36713 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9688463667272872, \"MicroF1\": 0.9688463667272872, \"MacroF1\": 0.9689334511448672, \"Memory in Mb\": 5.217698097229004, \"Time in s\": 2937.769964 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9687476062811184, \"MicroF1\": 0.9687476062811184, \"MacroF1\": 0.968764477893114, \"Memory in Mb\": 5.266051292419434, \"Time in s\": 3127.802403 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9687291094109782, \"MicroF1\": 0.9687291094109782, \"MacroF1\": 0.9687736841624996, \"Memory in Mb\": 6.279603958129883, \"Time in s\": 3323.370395 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9695047220820416, \"MicroF1\": 0.9695047220820416, \"MacroF1\": 0.9697384724636318, \"Memory in Mb\": 4.041820526123047, \"Time in s\": 3524.041026 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9682750892919672, \"MicroF1\": 0.9682750892919672, \"MacroF1\": 0.9680357071263168, \"Memory in Mb\": 2.1731691360473637, \"Time in s\": 3729.110149 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9686797848437394, \"MicroF1\": 0.9686797848437394, \"MacroF1\": 0.9688099431838716, \"Memory in Mb\": 2.4900379180908203, \"Time in s\": 3938.33843 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692613448161644, \"MicroF1\": 0.9692613448161644, \"MacroF1\": 0.9694122553904638, \"Memory in Mb\": 2.7789316177368164, \"Time in s\": 4151.996270000001 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9694897761723538, \"MicroF1\": 0.9694897761723538, \"MacroF1\": 0.969571649124791, \"Memory in Mb\": 3.946505546569824, \"Time in s\": 4370.227344000001 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9694550939601534, \"MicroF1\": 0.9694550939601534, \"MacroF1\": 0.9694916672888816, \"Memory in Mb\": 4.345325469970703, \"Time in s\": 4594.050341000001 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9695447024940254, \"MicroF1\": 0.9695447024940254, \"MacroF1\": 0.9695954968773725, \"Memory in Mb\": 3.909954071044922, \"Time in s\": 4823.361799000001 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692114545345848, \"MicroF1\": 0.9692114545345848, \"MacroF1\": 0.9692084456743588, \"Memory in Mb\": 1.764338493347168, \"Time in s\": 5057.2303470000015 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9696527575138604, \"MicroF1\": 0.9696527575138604, \"MacroF1\": 0.9697329621491684, \"Memory in Mb\": 1.7167367935180664, \"Time in s\": 5295.013901000001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9696745140511884, \"MicroF1\": 0.9696745140511884, \"MacroF1\": 0.9697082565052514, \"Memory in Mb\": 2.814372062683105, \"Time in s\": 5537.319837000001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968748259149908, \"MicroF1\": 0.968748259149908, \"MacroF1\": 0.968705960089485, \"Memory in Mb\": 2.951136589050293, \"Time in s\": 5784.484584000001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690070265264992, \"MicroF1\": 0.9690070265264992, \"MacroF1\": 0.9690448168177233, \"Memory in Mb\": 3.5441465377807617, \"Time in s\": 6036.117893000001 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9690946874833484, \"MicroF1\": 0.9690946874833484, \"MacroF1\": 0.9691164520527108, \"Memory in Mb\": 4.379698753356934, \"Time in s\": 6292.729193000001 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.968761408083442, \"MicroF1\": 0.968761408083442, \"MacroF1\": 0.9687617227117352, \"Memory in Mb\": 3.8120603561401367, \"Time in s\": 6554.348831000001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9689526630240516, \"MicroF1\": 0.9689526630240516, \"MacroF1\": 0.9689629146490384, \"Memory in Mb\": 2.019772529602051, \"Time in s\": 6819.891372000001 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9692861787804512, \"MicroF1\": 0.9692861787804512, \"MacroF1\": 0.9692901573177236, \"Memory in Mb\": 1.256450653076172, \"Time in s\": 7089.584863000001 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9691161331437816, \"MicroF1\": 0.9691161331437816, \"MacroF1\": 0.9691108096285476, \"Memory in Mb\": 1.6354646682739258, \"Time in s\": 7363.046142000001 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5333333333333333, \"MicroF1\": 0.5333333333333333, \"MacroF1\": 0.5005728607232367, \"Memory in Mb\": 0.8510866165161133, \"Time in s\": 0.941842 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6153846153846154, \"MicroF1\": 0.6153846153846154, \"MacroF1\": 0.596131344383025, \"Memory in Mb\": 1.5052366256713867, \"Time in s\": 2.918201 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6496350364963503, \"MicroF1\": 0.6496350364963503, \"MacroF1\": 0.6567305057749026, \"Memory in Mb\": 2.146304130554199, \"Time in s\": 6.147886 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6994535519125683, \"MicroF1\": 0.6994535519125683, \"MacroF1\": 0.7070190759413217, \"Memory in Mb\": 2.7665939331054688, \"Time in s\": 10.824064 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7379912663755459, \"MicroF1\": 0.7379912663755459, \"MacroF1\": 0.7433871451842025, \"Memory in Mb\": 3.2484235763549805, \"Time in s\": 16.931166 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7490909090909091, \"MicroF1\": 0.7490909090909091, \"MacroF1\": 0.7566070103930901, \"Memory in Mb\": 3.776392936706543, \"Time in s\": 24.729994 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7694704049844237, \"MicroF1\": 0.7694704049844237, \"MacroF1\": 0.7681721604320974, \"Memory in Mb\": 4.142314910888672, \"Time in s\": 34.173162000000005 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.784741144414169, \"MicroF1\": 0.7847411444141691, \"MacroF1\": 0.7789718513534348, \"Memory in Mb\": 4.497910499572754, \"Time in s\": 45.384105000000005 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7990314769975787, \"MicroF1\": 0.7990314769975787, \"MacroF1\": 0.7943771701942021, \"Memory in Mb\": 4.869846343994141, \"Time in s\": 58.265676000000006 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7973856209150327, \"MicroF1\": 0.7973856209150327, \"MacroF1\": 0.7916511033189314, \"Memory in Mb\": 5.3911848068237305, \"Time in s\": 73.08883800000001 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.805940594059406, \"MicroF1\": 0.805940594059406, \"MacroF1\": 0.8010859843658406, \"Memory in Mb\": 5.806554794311523, \"Time in s\": 89.87625100000001 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8076225045372051, \"MicroF1\": 0.8076225045372051, \"MacroF1\": 0.8036838079612314, \"Memory in Mb\": 6.295863151550293, \"Time in s\": 108.5993 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8174204355108877, \"MicroF1\": 0.8174204355108878, \"MacroF1\": 0.8156009215135775, \"Memory in Mb\": 6.727802276611328, \"Time in s\": 129.48595400000002 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8211508553654744, \"MicroF1\": 0.8211508553654744, \"MacroF1\": 0.8207645722848749, \"Memory in Mb\": 7.18087100982666, \"Time in s\": 152.525841 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8229317851959361, \"MicroF1\": 0.8229317851959362, \"MacroF1\": 0.8226135245892084, \"Memory in Mb\": 7.561182022094727, \"Time in s\": 177.86541200000002 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8231292517006803, \"MicroF1\": 0.8231292517006803, \"MacroF1\": 0.8228959515200417, \"Memory in Mb\": 7.975464820861816, \"Time in s\": 205.499576 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8309859154929577, \"MicroF1\": 0.8309859154929577, \"MacroF1\": 0.8306123687436626, \"Memory in Mb\": 8.301925659179688, \"Time in s\": 235.39408200000003 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8343409915356711, \"MicroF1\": 0.834340991535671, \"MacroF1\": 0.835521648488366, \"Memory in Mb\": 8.722038269042969, \"Time in s\": 267.718494 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8407789232531501, \"MicroF1\": 0.8407789232531501, \"MacroF1\": 0.8414965916969209, \"Memory in Mb\": 9.057206153869627, \"Time in s\": 302.46008700000004 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8443960826985855, \"MicroF1\": 0.8443960826985855, \"MacroF1\": 0.8446110045111287, \"Memory in Mb\": 9.38282871246338, \"Time in s\": 339.623661 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8466321243523316, \"MicroF1\": 0.8466321243523316, \"MacroF1\": 0.8462590694093756, \"Memory in Mb\": 9.696897506713867, \"Time in s\": 379.342347 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8516320474777448, \"MicroF1\": 0.8516320474777448, \"MacroF1\": 0.8504483916737715, \"Memory in Mb\": 9.949009895324709, \"Time in s\": 421.625642 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8571428571428571, \"MicroF1\": 0.8571428571428571, \"MacroF1\": 0.8557487568785946, \"Memory in Mb\": 10.2299222946167, \"Time in s\": 466.542637 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8603807796917498, \"MicroF1\": 0.8603807796917498, \"MacroF1\": 0.8594481550185353, \"Memory in Mb\": 10.524299621582031, \"Time in s\": 514.218423 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8624891209747607, \"MicroF1\": 0.8624891209747607, \"MacroF1\": 0.8612253786789881, \"Memory in Mb\": 10.737759590148926, \"Time in s\": 564.599929 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8652719665271966, \"MicroF1\": 0.8652719665271966, \"MacroF1\": 0.8642881992026393, \"Memory in Mb\": 11.010127067565918, \"Time in s\": 617.836337 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8670427074939565, \"MicroF1\": 0.8670427074939565, \"MacroF1\": 0.8663181473795101, \"Memory in Mb\": 11.261144638061523, \"Time in s\": 674.05967 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8694638694638694, \"MicroF1\": 0.8694638694638694, \"MacroF1\": 0.8687259920464652, \"Memory in Mb\": 11.505732536315918, \"Time in s\": 733.385389 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8709677419354839, \"MicroF1\": 0.8709677419354839, \"MacroF1\": 0.870193396369452, \"Memory in Mb\": 11.826444625854492, \"Time in s\": 796.067675 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8745467730239304, \"MicroF1\": 0.8745467730239304, \"MacroF1\": 0.874089581073643, \"Memory in Mb\": 12.086430549621582, \"Time in s\": 861.584672 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8771929824561403, \"MicroF1\": 0.8771929824561403, \"MacroF1\": 0.8759011931352845, \"Memory in Mb\": 12.29430866241455, \"Time in s\": 930.204519 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8796736913664174, \"MicroF1\": 0.8796736913664174, \"MacroF1\": 0.877566397675441, \"Memory in Mb\": 12.500163078308104, \"Time in s\": 1001.8141389999998 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8826631509558339, \"MicroF1\": 0.8826631509558339, \"MacroF1\": 0.8803270226288138, \"Memory in Mb\": 12.740474700927734, \"Time in s\": 1076.488215 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8841970569417786, \"MicroF1\": 0.8841970569417786, \"MacroF1\": 0.8822041640143002, \"Memory in Mb\": 12.987508773803713, \"Time in s\": 1154.350794 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.886886264760721, \"MicroF1\": 0.886886264760721, \"MacroF1\": 0.8850836875294148, \"Memory in Mb\": 13.252826690673828, \"Time in s\": 1235.463166 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.888821752265861, \"MicroF1\": 0.888821752265861, \"MacroF1\": 0.8870702351165313, \"Memory in Mb\": 13.500110626220703, \"Time in s\": 1319.86391 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8912404467960023, \"MicroF1\": 0.8912404467960025, \"MacroF1\": 0.8905987472429445, \"Memory in Mb\": 13.767583847045898, \"Time in s\": 1407.541035 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8929593589009731, \"MicroF1\": 0.892959358900973, \"MacroF1\": 0.8920318510221457, \"Memory in Mb\": 14.030475616455078, \"Time in s\": 1498.676265 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.894032348020078, \"MicroF1\": 0.894032348020078, \"MacroF1\": 0.8925886559949978, \"Memory in Mb\": 14.271255493164062, \"Time in s\": 1593.100327 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8945078847199565, \"MicroF1\": 0.8945078847199565, \"MacroF1\": 0.8931986390525462, \"Memory in Mb\": 14.574835777282717, \"Time in s\": 1691.005218 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.896551724137931, \"MicroF1\": 0.896551724137931, \"MacroF1\": 0.8956464025201587, \"Memory in Mb\": 14.834091186523438, \"Time in s\": 1792.408733 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8964267219057483, \"MicroF1\": 0.8964267219057483, \"MacroF1\": 0.8951782213786073, \"Memory in Mb\": 15.134613037109377, \"Time in s\": 1897.156299 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8973191704602934, \"MicroF1\": 0.8973191704602934, \"MacroF1\": 0.8961901832930852, \"Memory in Mb\": 15.326050758361816, \"Time in s\": 2005.31409 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8986653484923381, \"MicroF1\": 0.8986653484923381, \"MacroF1\": 0.8970310627029995, \"Memory in Mb\": 15.549851417541504, \"Time in s\": 2116.877653 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8994683421942967, \"MicroF1\": 0.8994683421942967, \"MacroF1\": 0.8980105869909577, \"Memory in Mb\": 15.81621551513672, \"Time in s\": 2232.114727 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.900709219858156, \"MicroF1\": 0.900709219858156, \"MacroF1\": 0.8989778942952686, \"Memory in Mb\": 15.957537651062012, \"Time in s\": 2350.8625340000003 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9000462748727441, \"MicroF1\": 0.9000462748727441, \"MacroF1\": 0.8982611856050026, \"Memory in Mb\": 16.206623077392578, \"Time in s\": 2473.2186990000005 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9012233801540552, \"MicroF1\": 0.9012233801540552, \"MacroF1\": 0.8993036839855942, \"Memory in Mb\": 16.400617599487305, \"Time in s\": 2599.1257530000003 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9014647137150466, \"MicroF1\": 0.9014647137150466, \"MacroF1\": 0.8999821457114682, \"Memory in Mb\": 16.693093299865723, \"Time in s\": 2728.6827460000004 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9016963897346671, \"MicroF1\": 0.9016963897346671, \"MacroF1\": 0.9003174232892135, \"Memory in Mb\": 16.988688468933105, \"Time in s\": 2861.834306 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.9016890428757036, \"MicroF1\": 0.9016890428757036, \"MacroF1\": 0.9003808534937335, \"Memory in Mb\": 17.050235748291016, \"Time in s\": 2997.696193 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6511848341232227, \"MicroF1\": 0.6511848341232227, \"MacroF1\": 0.5805974192561721, \"Memory in Mb\": 27.882014274597168, \"Time in s\": 41.422615 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6830885836096636, \"MicroF1\": 0.6830885836096636, \"MacroF1\": 0.6159001145696381, \"Memory in Mb\": 53.9009017944336, \"Time in s\": 137.16292 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6889801073571203, \"MicroF1\": 0.6889801073571203, \"MacroF1\": 0.6135176771695448, \"Memory in Mb\": 79.45620250701904, \"Time in s\": 291.10856 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6954771489462468, \"MicroF1\": 0.6954771489462468, \"MacroF1\": 0.6159765684907534, \"Memory in Mb\": 104.90542316436768, \"Time in s\": 501.70617 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7003220306876302, \"MicroF1\": 0.7003220306876302, \"MacroF1\": 0.6217575035584229, \"Memory in Mb\": 130.7021541595459, \"Time in s\": 768.289754 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7021310181531176, \"MicroF1\": 0.7021310181531176, \"MacroF1\": 0.622391174421368, \"Memory in Mb\": 156.0168752670288, \"Time in s\": 1090.319759 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7027465836828576, \"MicroF1\": 0.7027465836828576, \"MacroF1\": 0.6232948240709647, \"Memory in Mb\": 180.8397483825684, \"Time in s\": 1466.44078 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7040369361903634, \"MicroF1\": 0.7040369361903634, \"MacroF1\": 0.6235946437988805, \"Memory in Mb\": 205.63252925872803, \"Time in s\": 1896.370643 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7105124697463959, \"MicroF1\": 0.7105124697463959, \"MacroF1\": 0.6284709935917355, \"Memory in Mb\": 229.19151210784912, \"Time in s\": 2381.431795 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7140827729898664, \"MicroF1\": 0.7140827729898664, \"MacroF1\": 0.6302854833117341, \"Memory in Mb\": 253.17632389068604, \"Time in s\": 2925.98814 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.71562634524322, \"MicroF1\": 0.7156263452432199, \"MacroF1\": 0.6305326785921538, \"Memory in Mb\": 277.4567346572876, \"Time in s\": 3530.852036 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7145450240707126, \"MicroF1\": 0.7145450240707125, \"MacroF1\": 0.6284185449457835, \"Memory in Mb\": 301.7114896774292, \"Time in s\": 4201.052974 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.7057623661397247, \"MicroF1\": 0.7057623661397247, \"MacroF1\": 0.6885364031919957, \"Memory in Mb\": 327.2237205505371, \"Time in s\": 4936.820951 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6967462625989312, \"MicroF1\": 0.6967462625989312, \"MacroF1\": 0.69194472505998, \"Memory in Mb\": 352.6018476486206, \"Time in s\": 5738.465999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.676684134099375, \"MicroF1\": 0.676684134099375, \"MacroF1\": 0.673854549025314, \"Memory in Mb\": 384.9730758666992, \"Time in s\": 6613.285946 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6698431488606097, \"MicroF1\": 0.6698431488606097, \"MacroF1\": 0.668750254945471, \"Memory in Mb\": 415.2214603424072, \"Time in s\": 7559.921071 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6646983454960727, \"MicroF1\": 0.6646983454960727, \"MacroF1\": 0.6646134205077884, \"Memory in Mb\": 444.32067584991455, \"Time in s\": 8589.520858 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6620192560635555, \"MicroF1\": 0.6620192560635555, \"MacroF1\": 0.6605985532750915, \"Memory in Mb\": 472.75781440734863, \"Time in s\": 9705.665905 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6597717190848826, \"MicroF1\": 0.6597717190848826, \"MacroF1\": 0.6570293922418718, \"Memory in Mb\": 499.4876089096069, \"Time in s\": 10901.076562 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6539608882996354, \"MicroF1\": 0.6539608882996354, \"MacroF1\": 0.6496192149174075, \"Memory in Mb\": 528.8777961730957, \"Time in s\": 12166.701144 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6547463359639233, \"MicroF1\": 0.6547463359639233, \"MacroF1\": 0.6484047117859243, \"Memory in Mb\": 557.1920728683472, \"Time in s\": 13501.384366 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6583444535319185, \"MicroF1\": 0.6583444535319185, \"MacroF1\": 0.6499882024630633, \"Memory in Mb\": 584.0554361343384, \"Time in s\": 14901.095396 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6611767612302878, \"MicroF1\": 0.6611767612302878, \"MacroF1\": 0.6506059068013808, \"Memory in Mb\": 610.3706150054932, \"Time in s\": 16366.700533 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6659827171210986, \"MicroF1\": 0.6659827171210986, \"MacroF1\": 0.6532433614752314, \"Memory in Mb\": 635.6853046417236, \"Time in s\": 17901.739193 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6702526610856472, \"MicroF1\": 0.6702526610856472, \"MacroF1\": 0.6554263220708306, \"Memory in Mb\": 660.4025926589966, \"Time in s\": 19504.786084 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6745947914769623, \"MicroF1\": 0.6745947914769623, \"MacroF1\": 0.6575507550972549, \"Memory in Mb\": 684.36501121521, \"Time in s\": 21172.086014 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6705482094630143, \"MicroF1\": 0.6705482094630143, \"MacroF1\": 0.6539581966383304, \"Memory in Mb\": 712.6770572662354, \"Time in s\": 22902.746936 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6644231744850678, \"MicroF1\": 0.6644231744850678, \"MacroF1\": 0.6512239029866641, \"Memory in Mb\": 743.5559530258179, \"Time in s\": 24691.477434 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6622799856317148, \"MicroF1\": 0.6622799856317148, \"MacroF1\": 0.6527566844616065, \"Memory in Mb\": 772.5478630065918, \"Time in s\": 26538.585641 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6621736797247388, \"MicroF1\": 0.6621736797247388, \"MacroF1\": 0.6557760097374935, \"Memory in Mb\": 800.5439138412476, \"Time in s\": 28440.416189000003 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6623797159004124, \"MicroF1\": 0.6623797159004124, \"MacroF1\": 0.6584479912704261, \"Memory in Mb\": 827.4998264312744, \"Time in s\": 30418.714512 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6575123553608949, \"MicroF1\": 0.6575123553608949, \"MacroF1\": 0.6541419435809196, \"Memory in Mb\": 857.7161102294922, \"Time in s\": 32439.386127 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6519069073377909, \"MicroF1\": 0.6519069073377909, \"MacroF1\": 0.6481893367707658, \"Memory in Mb\": 888.8327789306641, \"Time in s\": 34499.720344 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.647550343982397, \"MicroF1\": 0.647550343982397, \"MacroF1\": 0.643407015045196, \"Memory in Mb\": 919.6311988830566, \"Time in s\": 36599.09766 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6444438431775752, \"MicroF1\": 0.6444438431775752, \"MacroF1\": 0.6400224052225335, \"Memory in Mb\": 949.7819452285768, \"Time in s\": 38735.650911 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6425358411153492, \"MicroF1\": 0.6425358411153492, \"MacroF1\": 0.6377821595167165, \"Memory in Mb\": 979.4456567764282, \"Time in s\": 40896.763765 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6414476209976709, \"MicroF1\": 0.6414476209976709, \"MacroF1\": 0.6370415360917451, \"Memory in Mb\": 1009.0255756378174, \"Time in s\": 43085.847267 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6409898572033793, \"MicroF1\": 0.6409898572033793, \"MacroF1\": 0.636858231937463, \"Memory in Mb\": 1037.841980934143, \"Time in s\": 45303.144751 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6414782798727631, \"MicroF1\": 0.6414782798727631, \"MacroF1\": 0.637272014233453, \"Memory in Mb\": 1065.1163549423218, \"Time in s\": 47540.369251 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6428419233409882, \"MicroF1\": 0.6428419233409882, \"MacroF1\": 0.6385110475108609, \"Memory in Mb\": 1091.8334274291992, \"Time in s\": 49803.522006 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6441159487238711, \"MicroF1\": 0.6441159487238711, \"MacroF1\": 0.6396283228479406, \"Memory in Mb\": 1118.1560363769531, \"Time in s\": 52086.93226 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.645058735992424, \"MicroF1\": 0.645058735992424, \"MacroF1\": 0.6403851797193834, \"Memory in Mb\": 1144.4119939804075, \"Time in s\": 54391.61903 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6469266853128373, \"MicroF1\": 0.6469266853128373, \"MacroF1\": 0.6418265850265934, \"Memory in Mb\": 1169.9601306915283, \"Time in s\": 56719.958571 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6487742935238792, \"MicroF1\": 0.6487742935238792, \"MacroF1\": 0.643191402092947, \"Memory in Mb\": 1194.640343666077, \"Time in s\": 59073.094705 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6459521454576065, \"MicroF1\": 0.6459521454576065, \"MacroF1\": 0.6406800374556137, \"Memory in Mb\": 1224.6073780059814, \"Time in s\": 61451.967815 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6443643849716932, \"MicroF1\": 0.6443643849716932, \"MacroF1\": 0.6398250343320808, \"Memory in Mb\": 1254.4350862503052, \"Time in s\": 63857.884093 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6446172754931394, \"MicroF1\": 0.6446172754931394, \"MacroF1\": 0.6406945505071863, \"Memory in Mb\": 1282.3891849517822, \"Time in s\": 66293.298766 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6461222798745241, \"MicroF1\": 0.6461222798745241, \"MacroF1\": 0.6426238276925219, \"Memory in Mb\": 1309.4736614227295, \"Time in s\": 68755.018108 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6489186943161394, \"MicroF1\": 0.6489186943161394, \"MacroF1\": 0.6457243405011626, \"Memory in Mb\": 1334.444143295288, \"Time in s\": 71244.151045 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6470577094263149, \"MicroF1\": 0.6470577094263149, \"MacroF1\": 0.6443966707674731, \"Memory in Mb\": 1363.999231338501, \"Time in s\": 73759.934152 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Insects\", \"Accuracy\": 0.6469809071470471, \"MicroF1\": 0.6469809071470471, \"MacroF1\": 0.6443518314696601, \"Memory in Mb\": 1365.409776687622, \"Time in s\": 76295.692169 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9901719901719902, \"MicroF1\": 0.9901719901719902, \"MacroF1\": 0.8308395677472984, \"Memory in Mb\": 0.1227684020996093, \"Time in s\": 1.485322 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9914110429447852, \"MicroF1\": 0.9914110429447852, \"MacroF1\": 0.960934413925625, \"Memory in Mb\": 0.4158411026000976, \"Time in s\": 6.729082 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9893704006541292, \"MicroF1\": 0.9893704006541292, \"MacroF1\": 0.9580466011674303, \"Memory in Mb\": 1.2467107772827148, \"Time in s\": 20.14849 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9889638258736972, \"MicroF1\": 0.9889638258736972, \"MacroF1\": 0.9786672150923964, \"Memory in Mb\": 2.28104305267334, \"Time in s\": 50.264957 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.988719960765081, \"MicroF1\": 0.988719960765081, \"MacroF1\": 0.9803510904896324, \"Memory in Mb\": 3.352717399597168, \"Time in s\": 91.643431 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9885574172456068, \"MicroF1\": 0.9885574172456068, \"MacroF1\": 0.983046879237058, \"Memory in Mb\": 4.983606338500977, \"Time in s\": 148.278076 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9852889667250436, \"MicroF1\": 0.9852889667250436, \"MacroF1\": 0.9737767108051044, \"Memory in Mb\": 6.963967323303223, \"Time in s\": 227.073424 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9825314128102972, \"MicroF1\": 0.9825314128102972, \"MacroF1\": 0.9734338986941852, \"Memory in Mb\": 9.8344087600708, \"Time in s\": 324.702985 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.982293652955598, \"MicroF1\": 0.982293652955598, \"MacroF1\": 0.9788760747631072, \"Memory in Mb\": 12.7888765335083, \"Time in s\": 446.356435 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9806325079676392, \"MicroF1\": 0.9806325079676392, \"MacroF1\": 0.9749453255203756, \"Memory in Mb\": 16.445659637451172, \"Time in s\": 594.71846 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9801649208825496, \"MicroF1\": 0.9801649208825496, \"MacroF1\": 0.9779116862524244, \"Memory in Mb\": 20.943636894226078, \"Time in s\": 768.8230350000001 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9801838610827376, \"MicroF1\": 0.9801838610827376, \"MacroF1\": 0.978782474664832, \"Memory in Mb\": 24.856953620910645, \"Time in s\": 967.611442 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9768055817461814, \"MicroF1\": 0.9768055817461814, \"MacroF1\": 0.9702080932270808, \"Memory in Mb\": 28.10527801513672, \"Time in s\": 1191.0213970000002 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9746104009805638, \"MicroF1\": 0.9746104009805638, \"MacroF1\": 0.9718234131704068, \"Memory in Mb\": 32.14579772949219, \"Time in s\": 1440.171835 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9697663016832816, \"MicroF1\": 0.9697663016832816, \"MacroF1\": 0.9621279568251032, \"Memory in Mb\": 36.40912055969238, \"Time in s\": 1717.813161 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9656810173127012, \"MicroF1\": 0.9656810173127012, \"MacroF1\": 0.9634765255010708, \"Memory in Mb\": 42.20043754577637, \"Time in s\": 2023.330442 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9653929343907716, \"MicroF1\": 0.9653929343907716, \"MacroF1\": 0.9646253117338192, \"Memory in Mb\": 46.97204208374024, \"Time in s\": 2355.811343 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9635026555903582, \"MicroF1\": 0.9635026555903582, \"MacroF1\": 0.96110342818104, \"Memory in Mb\": 50.8284969329834, \"Time in s\": 2716.693574 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9610372855115468, \"MicroF1\": 0.9610372855115468, \"MacroF1\": 0.9585597537512924, \"Memory in Mb\": 55.062747955322266, \"Time in s\": 3108.019641 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9593087388160314, \"MicroF1\": 0.9593087388160314, \"MacroF1\": 0.9577319445930262, \"Memory in Mb\": 59.75967216491699, \"Time in s\": 3529.961458 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9598459203922026, \"MicroF1\": 0.9598459203922026, \"MacroF1\": 0.960171378024828, \"Memory in Mb\": 65.88526916503906, \"Time in s\": 3981.552133 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.959108635097493, \"MicroF1\": 0.959108635097493, \"MacroF1\": 0.9586518345557712, \"Memory in Mb\": 71.85272026062012, \"Time in s\": 4465.222941 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9573697111797932, \"MicroF1\": 0.9573697111797932, \"MacroF1\": 0.956135316427552, \"Memory in Mb\": 78.18439388275146, \"Time in s\": 4984.801354 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9555714431620876, \"MicroF1\": 0.9555714431620876, \"MacroF1\": 0.9546392488298882, \"Memory in Mb\": 85.86389446258545, \"Time in s\": 5537.4752260000005 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9486224139621532, \"MicroF1\": 0.9486224139621532, \"MacroF1\": 0.9433099305923252, \"Memory in Mb\": 94.35744285583496, \"Time in s\": 6127.477763000001 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943150749505044, \"MicroF1\": 0.943150749505044, \"MacroF1\": 0.9403442056943528, \"Memory in Mb\": 104.1574821472168, \"Time in s\": 6756.480909000001 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9408987743985474, \"MicroF1\": 0.9408987743985474, \"MacroF1\": 0.9399975161043574, \"Memory in Mb\": 113.0038013458252, \"Time in s\": 7421.284759000001 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9380197846450145, \"MicroF1\": 0.9380197846450145, \"MacroF1\": 0.936341059397272, \"Memory in Mb\": 121.46645069122314, \"Time in s\": 8125.715779000001 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9322965091708224, \"MicroF1\": 0.9322965091708224, \"MacroF1\": 0.9294143034054052, \"Memory in Mb\": 131.1031150817871, \"Time in s\": 8872.899296000001 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9326742380913472, \"MicroF1\": 0.9326742380913472, \"MacroF1\": 0.9327603226303838, \"Memory in Mb\": 137.88959789276123, \"Time in s\": 9652.703167 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.927571756147703, \"MicroF1\": 0.927571756147703, \"MacroF1\": 0.9249549620362734, \"Memory in Mb\": 145.5888376235962, \"Time in s\": 10475.658214 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9247797778628878, \"MicroF1\": 0.9247797778628878, \"MacroF1\": 0.92370720847711, \"Memory in Mb\": 154.53871536254883, \"Time in s\": 11346.213643 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9238654088984624, \"MicroF1\": 0.9238654088984624, \"MacroF1\": 0.9233692422863464, \"Memory in Mb\": 161.3583574295044, \"Time in s\": 12266.045404 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9202653017086008, \"MicroF1\": 0.9202653017086008, \"MacroF1\": 0.9191663953636944, \"Memory in Mb\": 170.12918186187744, \"Time in s\": 13231.481182 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.916310666013026, \"MicroF1\": 0.916310666013026, \"MacroF1\": 0.9150341930556872, \"Memory in Mb\": 179.0350112915039, \"Time in s\": 14245.599713 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9161162933206236, \"MicroF1\": 0.9161162933206236, \"MacroF1\": 0.9160540991607554, \"Memory in Mb\": 184.834698677063, \"Time in s\": 15311.95464 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9145412388208016, \"MicroF1\": 0.9145412388208016, \"MacroF1\": 0.91429667624259, \"Memory in Mb\": 191.58009719848636, \"Time in s\": 16433.239395 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9105979487841064, \"MicroF1\": 0.9105979487841064, \"MacroF1\": 0.909716370830996, \"Memory in Mb\": 200.08039951324463, \"Time in s\": 17613.909715 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9068568914587392, \"MicroF1\": 0.9068568914587392, \"MacroF1\": 0.9060681758481206, \"Memory in Mb\": 210.5000762939453, \"Time in s\": 18848.20155 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031190636681168, \"MicroF1\": 0.9031190636681168, \"MacroF1\": 0.9023660107991418, \"Memory in Mb\": 221.55222129821777, \"Time in s\": 20131.794746000003 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9005799007592515, \"MicroF1\": 0.9005799007592515, \"MacroF1\": 0.9001704241319546, \"Memory in Mb\": 231.28063201904297, \"Time in s\": 21466.799965 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8989203384884739, \"MicroF1\": 0.8989203384884739, \"MacroF1\": 0.8987537815839572, \"Memory in Mb\": 248.11264038085935, \"Time in s\": 22840.808564000003 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.893746793592886, \"MicroF1\": 0.8937467935928861, \"MacroF1\": 0.892807745348426, \"Memory in Mb\": 267.53482723236084, \"Time in s\": 24265.711089000004 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8894212021614395, \"MicroF1\": 0.8894212021614395, \"MacroF1\": 0.8884694521151855, \"Memory in Mb\": 281.7739496231079, \"Time in s\": 25739.620728000005 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8911705430579008, \"MicroF1\": 0.8911705430579007, \"MacroF1\": 0.8908032768807751, \"Memory in Mb\": 288.0978307723999, \"Time in s\": 27256.627666000004 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8911387009111739, \"MicroF1\": 0.8911387009111739, \"MacroF1\": 0.8906428613252552, \"Memory in Mb\": 296.0527210235596, \"Time in s\": 28820.747713000004 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8886049543676662, \"MicroF1\": 0.8886049543676662, \"MacroF1\": 0.8879368647002966, \"Memory in Mb\": 307.6826677322388, \"Time in s\": 30435.23145800001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8895470561201042, \"MicroF1\": 0.8895470561201042, \"MacroF1\": 0.889061241536932, \"Memory in Mb\": 313.4344787597656, \"Time in s\": 32089.799369000008 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8862488119653844, \"MicroF1\": 0.8862488119653844, \"MacroF1\": 0.8855123768505595, \"Memory in Mb\": 324.9442596435547, \"Time in s\": 33786.733744000005 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8810726015981175, \"MicroF1\": 0.8810726015981175, \"MacroF1\": 0.8799282628097613, \"Memory in Mb\": 338.1390075683594, \"Time in s\": 35528.434162000005 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3555555555555555, \"MicroF1\": 0.3555555555555555, \"MacroF1\": 0.2468487394957983, \"Memory in Mb\": 2.5926971435546875, \"Time in s\": 5.672061 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5274725274725275, \"MicroF1\": 0.5274725274725275, \"MacroF1\": 0.5392220990960486, \"Memory in Mb\": 2.5963096618652344, \"Time in s\": 17.740863 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5401459854014599, \"MicroF1\": 0.5401459854014599, \"MacroF1\": 0.5661177456005042, \"Memory in Mb\": 2.5979232788085938, \"Time in s\": 35.937815 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.6144104879239446, \"Memory in Mb\": 2.6004638671875, \"Time in s\": 59.975895 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6200873362445415, \"MicroF1\": 0.6200873362445415, \"MacroF1\": 0.6319742698014011, \"Memory in Mb\": 2.6008224487304688, \"Time in s\": 89.681265 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6327272727272727, \"MicroF1\": 0.6327272727272727, \"MacroF1\": 0.6440706793955739, \"Memory in Mb\": 2.601276397705078, \"Time in s\": 125.043898 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6573208722741433, \"MicroF1\": 0.6573208722741433, \"MacroF1\": 0.6535377647060517, \"Memory in Mb\": 2.6028709411621094, \"Time in s\": 166.036362 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6784741144414169, \"MicroF1\": 0.6784741144414169, \"MacroF1\": 0.6717418242612484, \"Memory in Mb\": 2.6031723022460938, \"Time in s\": 212.735146 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6900726392251816, \"MicroF1\": 0.6900726392251816, \"MacroF1\": 0.6823551618652942, \"Memory in Mb\": 2.603717803955078, \"Time in s\": 265.175489 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6971677559912854, \"MicroF1\": 0.6971677559912854, \"MacroF1\": 0.686858403065277, \"Memory in Mb\": 2.60379409790039, \"Time in s\": 323.486791 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.699009900990099, \"MicroF1\": 0.699009900990099, \"MacroF1\": 0.6869845800125663, \"Memory in Mb\": 2.604084014892578, \"Time in s\": 387.600808 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6987295825771325, \"MicroF1\": 0.6987295825771325, \"MacroF1\": 0.6895132041566728, \"Memory in Mb\": 2.6040496826171875, \"Time in s\": 457.323817 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7035175879396985, \"MicroF1\": 0.7035175879396985, \"MacroF1\": 0.6939747146282641, \"Memory in Mb\": 2.6041183471679688, \"Time in s\": 532.682096 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6998444790046656, \"MicroF1\": 0.6998444790046656, \"MacroF1\": 0.6913714585468268, \"Memory in Mb\": 2.6053123474121094, \"Time in s\": 613.490084 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7024673439767779, \"MicroF1\": 0.7024673439767779, \"MacroF1\": 0.6944906634267102, \"Memory in Mb\": 2.6058921813964844, \"Time in s\": 699.880084 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7020408163265306, \"MicroF1\": 0.7020408163265306, \"MacroF1\": 0.69548275919944, \"Memory in Mb\": 2.605987548828125, \"Time in s\": 791.65329 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.706786171574904, \"MicroF1\": 0.706786171574904, \"MacroF1\": 0.6991539785967766, \"Memory in Mb\": 2.6064224243164062, \"Time in s\": 888.981823 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7085852478839177, \"MicroF1\": 0.7085852478839177, \"MacroF1\": 0.70309750989463, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 991.647497 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.715922107674685, \"MicroF1\": 0.7159221076746849, \"MacroF1\": 0.7073525059690206, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1099.573439 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7170837867247007, \"MicroF1\": 0.7170837867247007, \"MacroF1\": 0.707165908654469, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1212.915424 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7160621761658031, \"MicroF1\": 0.716062176165803, \"MacroF1\": 0.7063689525089133, \"Memory in Mb\": 2.6064682006835938, \"Time in s\": 1331.559339 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7151335311572701, \"MicroF1\": 0.7151335311572701, \"MacroF1\": 0.7047830593764105, \"Memory in Mb\": 2.6064910888671875, \"Time in s\": 1455.3800170000002 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7152317880794702, \"MicroF1\": 0.7152317880794702, \"MacroF1\": 0.7037726227430311, \"Memory in Mb\": 2.606658935546875, \"Time in s\": 1584.327081 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.71441523118767, \"MicroF1\": 0.71441523118767, \"MacroF1\": 0.7026447500373862, \"Memory in Mb\": 2.6067771911621094, \"Time in s\": 1718.245947 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7162750217580505, \"MicroF1\": 0.7162750217580505, \"MacroF1\": 0.7030218527348165, \"Memory in Mb\": 2.6067771911621094, \"Time in s\": 1857.022931 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7179916317991631, \"MicroF1\": 0.7179916317991631, \"MacroF1\": 0.705575475090573, \"Memory in Mb\": 2.379610061645508, \"Time in s\": 2000.273372 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7155519742143432, \"MicroF1\": 0.7155519742143431, \"MacroF1\": 0.7053749246401603, \"Memory in Mb\": 3.185004234313965, \"Time in s\": 2147.034729 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7156177156177156, \"MicroF1\": 0.7156177156177156, \"MacroF1\": 0.7041730806550314, \"Memory in Mb\": 3.633350372314453, \"Time in s\": 2296.192092 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7149287321830458, \"MicroF1\": 0.7149287321830458, \"MacroF1\": 0.7045092702498074, \"Memory in Mb\": 4.368736267089844, \"Time in s\": 2447.850078 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7186366932559826, \"MicroF1\": 0.7186366932559827, \"MacroF1\": 0.7102131417787841, \"Memory in Mb\": 4.724300384521484, \"Time in s\": 2601.871177 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7256140350877193, \"MicroF1\": 0.7256140350877193, \"MacroF1\": 0.7174099613082184, \"Memory in Mb\": 4.89253044128418, \"Time in s\": 2758.036552 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7273963290278722, \"MicroF1\": 0.7273963290278722, \"MacroF1\": 0.7183919320082559, \"Memory in Mb\": 5.412370681762695, \"Time in s\": 2916.512936 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7211601845748187, \"MicroF1\": 0.7211601845748187, \"MacroF1\": 0.7136134581802791, \"Memory in Mb\": 6.487729072570801, \"Time in s\": 3077.492565 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7172104926423545, \"MicroF1\": 0.7172104926423546, \"MacroF1\": 0.7129536273040751, \"Memory in Mb\": 6.405126571655273, \"Time in s\": 3241.109 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7209446861404599, \"MicroF1\": 0.7209446861404599, \"MacroF1\": 0.7163536024764182, \"Memory in Mb\": 6.857941627502441, \"Time in s\": 3407.317179 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7238670694864048, \"MicroF1\": 0.7238670694864048, \"MacroF1\": 0.7196892738307762, \"Memory in Mb\": 7.034061431884766, \"Time in s\": 3576.258732 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7260435038212816, \"MicroF1\": 0.7260435038212816, \"MacroF1\": 0.7238533950478148, \"Memory in Mb\": 7.623349189758301, \"Time in s\": 3747.864612 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7309673726388094, \"MicroF1\": 0.7309673726388093, \"MacroF1\": 0.7286270619416129, \"Memory in Mb\": 8.106144905090332, \"Time in s\": 3922.063963000001 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7361963190184049, \"MicroF1\": 0.7361963190184049, \"MacroF1\": 0.7329274067865035, \"Memory in Mb\": 8.185744285583496, \"Time in s\": 4098.8506050000005 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7389885807504079, \"MicroF1\": 0.7389885807504077, \"MacroF1\": 0.7360694376974826, \"Memory in Mb\": 8.929247856140137, \"Time in s\": 4278.2789060000005 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7411140583554376, \"MicroF1\": 0.7411140583554376, \"MacroF1\": 0.7396669191579938, \"Memory in Mb\": 9.100563049316406, \"Time in s\": 4460.600751000001 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7431382703262558, \"MicroF1\": 0.7431382703262558, \"MacroF1\": 0.7411378754700444, \"Memory in Mb\": 9.223885536193848, \"Time in s\": 4645.683986000001 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7465857359635811, \"MicroF1\": 0.746585735963581, \"MacroF1\": 0.744200926808846, \"Memory in Mb\": 9.401692390441896, \"Time in s\": 4833.458731000001 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7508650519031141, \"MicroF1\": 0.7508650519031143, \"MacroF1\": 0.7476945996538615, \"Memory in Mb\": 9.481804847717283, \"Time in s\": 5024.230846 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7549540840985983, \"MicroF1\": 0.7549540840985983, \"MacroF1\": 0.7524477298078486, \"Memory in Mb\": 9.431160926818848, \"Time in s\": 5217.969956000001 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7583924349881797, \"MicroF1\": 0.7583924349881797, \"MacroF1\": 0.7554386161495508, \"Memory in Mb\": 9.549637794494627, \"Time in s\": 5414.604524000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7607589079130033, \"MicroF1\": 0.7607589079130033, \"MacroF1\": 0.7577216433051415, \"Memory in Mb\": 10.151451110839844, \"Time in s\": 5614.378132000002 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7648391481649298, \"MicroF1\": 0.7648391481649298, \"MacroF1\": 0.7614528787516565, \"Memory in Mb\": 9.14443588256836, \"Time in s\": 5817.274926000002 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7652019529516201, \"MicroF1\": 0.7652019529516201, \"MacroF1\": 0.762166830901651, \"Memory in Mb\": 8.801234245300293, \"Time in s\": 6023.198429000002 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7672901261418008, \"MicroF1\": 0.7672901261418008, \"MacroF1\": 0.7647372124971393, \"Memory in Mb\": 8.857858657836914, \"Time in s\": 6232.074878000002 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7669987007362494, \"MicroF1\": 0.7669987007362494, \"MacroF1\": 0.7647069285577738, \"Memory in Mb\": 8.926526069641113, \"Time in s\": 6441.814766000002 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6388625592417062, \"MicroF1\": 0.6388625592417062, \"MacroF1\": 0.6031100134310133, \"Memory in Mb\": 8.730474472045898, \"Time in s\": 177.190345 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.659403126480341, \"MicroF1\": 0.659403126480341, \"MacroF1\": 0.6244477305834598, \"Memory in Mb\": 21.138185501098636, \"Time in s\": 477.6689290000001 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6722450268392801, \"MicroF1\": 0.6722450268392801, \"MacroF1\": 0.6321534006670183, \"Memory in Mb\": 28.433568000793457, \"Time in s\": 884.814326 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.680322045938906, \"MicroF1\": 0.680322045938906, \"MacroF1\": 0.6340126191391743, \"Memory in Mb\": 39.2259521484375, \"Time in s\": 1406.7405990000002 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6878196628149271, \"MicroF1\": 0.6878196628149271, \"MacroF1\": 0.6395508722492685, \"Memory in Mb\": 32.51231288909912, \"Time in s\": 2046.4837620000003 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6876085240726125, \"MicroF1\": 0.6876085240726125, \"MacroF1\": 0.641396967542699, \"Memory in Mb\": 34.57641696929932, \"Time in s\": 2792.1074670000003 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6924638073332431, \"MicroF1\": 0.6924638073332431, \"MacroF1\": 0.6467777725107727, \"Memory in Mb\": 40.06835174560547, \"Time in s\": 3634.422347 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6949212738250267, \"MicroF1\": 0.6949212738250267, \"MacroF1\": 0.6476372139610082, \"Memory in Mb\": 43.01965808868408, \"Time in s\": 4571.1184410000005 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.6992528675155214, \"MicroF1\": 0.6992528675155214, \"MacroF1\": 0.6494082466298291, \"Memory in Mb\": 45.71251583099365, \"Time in s\": 5608.992399000001 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7013921772895161, \"MicroF1\": 0.7013921772895161, \"MacroF1\": 0.6506452100316108, \"Memory in Mb\": 50.31043148040772, \"Time in s\": 6744.395149000001 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7043478260869566, \"MicroF1\": 0.7043478260869566, \"MacroF1\": 0.6524912605091605, \"Memory in Mb\": 59.27919769287109, \"Time in s\": 7964.619750000001 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7079946334148843, \"MicroF1\": 0.7079946334148843, \"MacroF1\": 0.6596828376773001, \"Memory in Mb\": 72.61201000213623, \"Time in s\": 9269.589572 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7208421359364756, \"MicroF1\": 0.7208421359364756, \"MacroF1\": 0.7145906055666686, \"Memory in Mb\": 38.78250694274902, \"Time in s\": 10625.218377 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7285395386592708, \"MicroF1\": 0.7285395386592708, \"MacroF1\": 0.7256542392368915, \"Memory in Mb\": 15.54647731781006, \"Time in s\": 12027.231464 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7206263021655408, \"MicroF1\": 0.7206263021655408, \"MacroF1\": 0.7196216319492748, \"Memory in Mb\": 14.88278579711914, \"Time in s\": 13491.676191 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7171352471145309, \"MicroF1\": 0.7171352471145309, \"MacroF1\": 0.7175260611854538, \"Memory in Mb\": 21.28149700164795, \"Time in s\": 15025.812845 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7121051751991533, \"MicroF1\": 0.7121051751991533, \"MacroF1\": 0.7136617513297842, \"Memory in Mb\": 29.336480140686035, \"Time in s\": 16621.157643 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7205240174672489, \"MicroF1\": 0.720524017467249, \"MacroF1\": 0.7180961996594418, \"Memory in Mb\": 20.976608276367188, \"Time in s\": 18267.655245 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7261625878482779, \"MicroF1\": 0.7261625878482779, \"MacroF1\": 0.7198561207408494, \"Memory in Mb\": 15.994047164916992, \"Time in s\": 19960.279521 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7272598134381363, \"MicroF1\": 0.7272598134381363, \"MacroF1\": 0.7183389579277755, \"Memory in Mb\": 17.52824878692627, \"Time in s\": 21708.029386999995 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7281623449830891, \"MicroF1\": 0.7281623449830891, \"MacroF1\": 0.7167723651435352, \"Memory in Mb\": 22.240838050842285, \"Time in s\": 23503.558300999997 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7307477078042272, \"MicroF1\": 0.7307477078042272, \"MacroF1\": 0.7170791531651185, \"Memory in Mb\": 26.114503860473636, \"Time in s\": 25348.434525999997 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7325318071396221, \"MicroF1\": 0.7325318071396222, \"MacroF1\": 0.7165563330554671, \"Memory in Mb\": 27.97449111938477, \"Time in s\": 27240.683159999997 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7353904431203883, \"MicroF1\": 0.7353904431203884, \"MacroF1\": 0.7174524973348954, \"Memory in Mb\": 37.12833023071289, \"Time in s\": 29182.513668999996 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7367703322095533, \"MicroF1\": 0.7367703322095533, \"MacroF1\": 0.7168965346030137, \"Memory in Mb\": 31.575971603393555, \"Time in s\": 31184.058177999992 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.738371881260244, \"MicroF1\": 0.738371881260244, \"MacroF1\": 0.7164257197178175, \"Memory in Mb\": 35.22733116149902, \"Time in s\": 33213.34443999999 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366279681526429, \"MicroF1\": 0.7366279681526429, \"MacroF1\": 0.7161250847684691, \"Memory in Mb\": 17.50509262084961, \"Time in s\": 35271.15690999999 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7354483038522678, \"MicroF1\": 0.7354483038522677, \"MacroF1\": 0.719616514898752, \"Memory in Mb\": 22.40646266937256, \"Time in s\": 37354.25785299999 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7348724814681775, \"MicroF1\": 0.7348724814681775, \"MacroF1\": 0.7237598149406717, \"Memory in Mb\": 31.22674369812012, \"Time in s\": 39459.62893099999 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7347769815966413, \"MicroF1\": 0.7347769815966413, \"MacroF1\": 0.7275990709197302, \"Memory in Mb\": 35.24118995666504, \"Time in s\": 41587.29474699999 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7351458683366427, \"MicroF1\": 0.7351458683366427, \"MacroF1\": 0.7308983066693725, \"Memory in Mb\": 48.40772724151611, \"Time in s\": 43729.93044799999 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7303423988636027, \"MicroF1\": 0.7303423988636027, \"MacroF1\": 0.7274356410957497, \"Memory in Mb\": 77.28174114227295, \"Time in s\": 45887.55412199999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.726805750853732, \"MicroF1\": 0.726805750853732, \"MacroF1\": 0.723911701718825, \"Memory in Mb\": 53.16175174713135, \"Time in s\": 48068.300588999984 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7248976408656658, \"MicroF1\": 0.7248976408656659, \"MacroF1\": 0.7218080521646734, \"Memory in Mb\": 41.53026580810547, \"Time in s\": 50265.61973699999 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7215833761735978, \"MicroF1\": 0.7215833761735979, \"MacroF1\": 0.7182506744185386, \"Memory in Mb\": 35.33352756500244, \"Time in s\": 52485.18591199999 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7196369854004998, \"MicroF1\": 0.7196369854004999, \"MacroF1\": 0.7160236415660819, \"Memory in Mb\": 44.00273513793945, \"Time in s\": 54721.05808499999 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7175142688950884, \"MicroF1\": 0.7175142688950884, \"MacroF1\": 0.713988650041017, \"Memory in Mb\": 46.12203025817871, \"Time in s\": 56978.30571199999 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7158023276098388, \"MicroF1\": 0.7158023276098388, \"MacroF1\": 0.7126852582249207, \"Memory in Mb\": 27.841010093688965, \"Time in s\": 59249.54765999999 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7157322196051769, \"MicroF1\": 0.715732219605177, \"MacroF1\": 0.7129296468122535, \"Memory in Mb\": 21.849401473999023, \"Time in s\": 61534.70422899999 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7156656170837378, \"MicroF1\": 0.7156656170837377, \"MacroF1\": 0.7131576552849198, \"Memory in Mb\": 28.021278381347656, \"Time in s\": 63833.59664899999 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.715925626515764, \"MicroF1\": 0.715925626515764, \"MacroF1\": 0.7137513847694824, \"Memory in Mb\": 36.50454139709473, \"Time in s\": 66146.66403399999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7161958016730176, \"MicroF1\": 0.7161958016730177, \"MacroF1\": 0.7143198962298327, \"Memory in Mb\": 46.888444900512695, \"Time in s\": 68474.34057599999 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7170260092056291, \"MicroF1\": 0.7170260092056291, \"MacroF1\": 0.7151715877390813, \"Memory in Mb\": 47.08374786376953, \"Time in s\": 70816.527322 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7181843617502098, \"MicroF1\": 0.7181843617502098, \"MacroF1\": 0.7162864260409335, \"Memory in Mb\": 43.18325901031494, \"Time in s\": 73172.526917 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7179023127591069, \"MicroF1\": 0.7179023127591069, \"MacroF1\": 0.716246618663062, \"Memory in Mb\": 54.80090522766113, \"Time in s\": 75543.857611 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7211528564076171, \"MicroF1\": 0.7211528564076171, \"MacroF1\": 0.719707905487922, \"Memory in Mb\": 60.4919376373291, \"Time in s\": 77931.086228 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7250710241582882, \"MicroF1\": 0.7250710241582882, \"MacroF1\": 0.7236001513027165, \"Memory in Mb\": 35.55128765106201, \"Time in s\": 80332.853368 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7288259316984631, \"MicroF1\": 0.7288259316984631, \"MacroF1\": 0.7271241427068512, \"Memory in Mb\": 21.017152786254883, \"Time in s\": 82746.274567 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7329107318864387, \"MicroF1\": 0.7329107318864386, \"MacroF1\": 0.7308784460773333, \"Memory in Mb\": 26.768343925476078, \"Time in s\": 85169.877802 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7359230288452433, \"MicroF1\": 0.7359230288452432, \"MacroF1\": 0.7343606492383059, \"Memory in Mb\": 9.57052230834961, \"Time in s\": 87600.592492 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Insects\", \"Accuracy\": 0.7361628853104244, \"MicroF1\": 0.7361628853104244, \"MacroF1\": 0.7346220154259927, \"Memory in Mb\": 9.63199520111084, \"Time in s\": 90031.55993999999 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9901719901719902, \"MicroF1\": 0.9901719901719902, \"MacroF1\": 0.8308395677472984, \"Memory in Mb\": 1.027322769165039, \"Time in s\": 17.348128 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9877300613496932, \"MicroF1\": 0.9877300613496932, \"MacroF1\": 0.9320293882508496, \"Memory in Mb\": 2.6651391983032227, \"Time in s\": 54.406226 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.982829108748978, \"MicroF1\": 0.982829108748978, \"MacroF1\": 0.9464059415055076, \"Memory in Mb\": 5.679329872131348, \"Time in s\": 114.007104 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828326180257512, \"MicroF1\": 0.9828326180257512, \"MacroF1\": 0.963209755030524, \"Memory in Mb\": 8.335807800292969, \"Time in s\": 201.582874 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.974987739087788, \"MicroF1\": 0.974987739087788, \"MacroF1\": 0.9373958892668122, \"Memory in Mb\": 12.631415367126465, \"Time in s\": 318.920922 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.970167552104618, \"MicroF1\": 0.970167552104618, \"MacroF1\": 0.957381800109682, \"Memory in Mb\": 16.891732215881348, \"Time in s\": 465.74626 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9660245183887916, \"MicroF1\": 0.9660245183887916, \"MacroF1\": 0.93947544504001, \"Memory in Mb\": 22.937668800354004, \"Time in s\": 641.328845 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9616916947594238, \"MicroF1\": 0.9616916947594238, \"MacroF1\": 0.9454054748805116, \"Memory in Mb\": 29.12161636352539, \"Time in s\": 847.207258 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607736311631708, \"MicroF1\": 0.9607736311631708, \"MacroF1\": 0.953605417859829, \"Memory in Mb\": 28.669262886047363, \"Time in s\": 1081.626023 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9578328021573916, \"MicroF1\": 0.9578328021573916, \"MacroF1\": 0.9463612240153172, \"Memory in Mb\": 34.20732402801514, \"Time in s\": 1345.493591 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589926454201024, \"MicroF1\": 0.9589926454201024, \"MacroF1\": 0.9613092683363472, \"Memory in Mb\": 18.652557373046875, \"Time in s\": 1636.499529 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.960776302349336, \"MicroF1\": 0.960776302349336, \"MacroF1\": 0.9605208703626084, \"Memory in Mb\": 20.81053066253662, \"Time in s\": 1952.783692 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9615312087497644, \"MicroF1\": 0.9615312087497644, \"MacroF1\": 0.960303314983038, \"Memory in Mb\": 27.91543483734131, \"Time in s\": 2294.145458 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9616529504465068, \"MicroF1\": 0.9616529504465068, \"MacroF1\": 0.9605387671994152, \"Memory in Mb\": 32.60424041748047, \"Time in s\": 2660.691575 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9597973525085798, \"MicroF1\": 0.9597973525085798, \"MacroF1\": 0.9561203427932812, \"Memory in Mb\": 39.11091995239258, \"Time in s\": 3053.193204 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589397885705532, \"MicroF1\": 0.9589397885705532, \"MacroF1\": 0.9571591040678328, \"Memory in Mb\": 29.255366325378414, \"Time in s\": 3470.643733 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.959913482335977, \"MicroF1\": 0.959913482335977, \"MacroF1\": 0.9605956598361812, \"Memory in Mb\": 31.930577278137207, \"Time in s\": 3910.602191 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9602342366880022, \"MicroF1\": 0.9602342366880022, \"MacroF1\": 0.95986198823556, \"Memory in Mb\": 26.562703132629395, \"Time in s\": 4374.151898 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9601341762353244, \"MicroF1\": 0.9601341762353244, \"MacroF1\": 0.959651045460586, \"Memory in Mb\": 31.588034629821777, \"Time in s\": 4858.190889 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9584507905380562, \"MicroF1\": 0.9584507905380562, \"MacroF1\": 0.9567204261955368, \"Memory in Mb\": 39.12565612792969, \"Time in s\": 5363.543193 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9579782887825375, \"MicroF1\": 0.9579782887825375, \"MacroF1\": 0.957794146577291, \"Memory in Mb\": 44.816758155822754, \"Time in s\": 5892.06228 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9579944289693594, \"MicroF1\": 0.9579944289693594, \"MacroF1\": 0.9581242571113368, \"Memory in Mb\": 49.5586576461792, \"Time in s\": 6445.036349 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9570499840136416, \"MicroF1\": 0.9570499840136416, \"MacroF1\": 0.9565283447410108, \"Memory in Mb\": 50.18536758422852, \"Time in s\": 7025.065903 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563885200694516, \"MicroF1\": 0.9563885200694516, \"MacroF1\": 0.9560487952418978, \"Memory in Mb\": 54.40623474121094, \"Time in s\": 7630.795018999999 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9532307088930289, \"MicroF1\": 0.9532307088930289, \"MacroF1\": 0.9512518567217172, \"Memory in Mb\": 66.82855319976807, \"Time in s\": 8267.200675 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9519185443574998, \"MicroF1\": 0.9519185443574998, \"MacroF1\": 0.9512557409849248, \"Memory in Mb\": 41.17615795135498, \"Time in s\": 8934.408603 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9528824330458464, \"MicroF1\": 0.9528824330458464, \"MacroF1\": 0.953398407731189, \"Memory in Mb\": 32.87209510803223, \"Time in s\": 9625.903537 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953689923837871, \"MicroF1\": 0.953689923837871, \"MacroF1\": 0.9540175301991308, \"Memory in Mb\": 28.078542709350582, \"Time in s\": 10339.782646 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9542726734849124, \"MicroF1\": 0.9542726734849124, \"MacroF1\": 0.9545119777330118, \"Memory in Mb\": 20.280012130737305, \"Time in s\": 11070.86282 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955470218155078, \"MicroF1\": 0.955470218155078, \"MacroF1\": 0.9559406438939212, \"Memory in Mb\": 21.54300308227539, \"Time in s\": 11820.445116 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9559579346880684, \"MicroF1\": 0.9559579346880684, \"MacroF1\": 0.9561632451269844, \"Memory in Mb\": 26.89114284515381, \"Time in s\": 12588.394717 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9558789735733436, \"MicroF1\": 0.9558789735733436, \"MacroF1\": 0.9559075747932771, \"Memory in Mb\": 21.382742881774902, \"Time in s\": 13375.587705000002 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563247418851668, \"MicroF1\": 0.9563247418851668, \"MacroF1\": 0.9565051554876024, \"Memory in Mb\": 21.864919662475582, \"Time in s\": 14180.68998 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.956960565207988, \"MicroF1\": 0.956960565207988, \"MacroF1\": 0.9571856017401092, \"Memory in Mb\": 25.72835636138916, \"Time in s\": 15004.794290000002 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566496253239022, \"MicroF1\": 0.9566496253239022, \"MacroF1\": 0.9566382966080724, \"Memory in Mb\": 21.764866828918457, \"Time in s\": 15848.339318000002 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.957241097569279, \"MicroF1\": 0.9572410975692792, \"MacroF1\": 0.957426459656079, \"Memory in Mb\": 25.14582061767578, \"Time in s\": 16708.048820000004 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9580655846306724, \"MicroF1\": 0.9580655846306724, \"MacroF1\": 0.958277362015896, \"Memory in Mb\": 26.658535957336422, \"Time in s\": 17588.164126000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9584596529703928, \"MicroF1\": 0.9584596529703928, \"MacroF1\": 0.9585840009788792, \"Memory in Mb\": 30.76789283752441, \"Time in s\": 18489.703328000003 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.958079316196342, \"MicroF1\": 0.958079316196342, \"MacroF1\": 0.9580713134265896, \"Memory in Mb\": 27.786094665527344, \"Time in s\": 19412.324967000004 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.958514614866107, \"MicroF1\": 0.958514614866107, \"MacroF1\": 0.9586173296332884, \"Memory in Mb\": 25.79348850250244, \"Time in s\": 20355.979039000005 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9577330065164106, \"MicroF1\": 0.9577330065164106, \"MacroF1\": 0.9576699214368118, \"Memory in Mb\": 33.630208015441895, \"Time in s\": 21321.132478000007 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9576305806828128, \"MicroF1\": 0.9576305806828128, \"MacroF1\": 0.9576693803774444, \"Memory in Mb\": 33.920249938964844, \"Time in s\": 22315.653729000005 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.956506868836573, \"MicroF1\": 0.956506868836573, \"MacroF1\": 0.9564470129227676, \"Memory in Mb\": 31.50515556335449, \"Time in s\": 23335.132930000003 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563812600969306, \"MicroF1\": 0.9563812600969306, \"MacroF1\": 0.9564135249623557, \"Memory in Mb\": 19.79563045501709, \"Time in s\": 24372.247222 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9569148646440436, \"MicroF1\": 0.9569148646440436, \"MacroF1\": 0.9569804233582648, \"Memory in Mb\": 23.70892333984375, \"Time in s\": 25428.663478 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9574252677572336, \"MicroF1\": 0.9574252677572336, \"MacroF1\": 0.957475477736454, \"Memory in Mb\": 21.893744468688965, \"Time in s\": 26504.246634000003 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568187744458932, \"MicroF1\": 0.9568187744458932, \"MacroF1\": 0.956806677474395, \"Memory in Mb\": 28.04871368408203, \"Time in s\": 27598.635240000003 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567992646683348, \"MicroF1\": 0.9567992646683348, \"MacroF1\": 0.9568012672257532, \"Memory in Mb\": 32.11082458496094, \"Time in s\": 28712.463090000005 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9565304386974138, \"MicroF1\": 0.9565304386974138, \"MacroF1\": 0.9565268274864178, \"Memory in Mb\": 40.13526153564453, \"Time in s\": 29849.822929000005 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Streaming Random Patches\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9559292122162852, \"MicroF1\": 0.9559292122162852, \"MacroF1\": 0.9559196349550496, \"Memory in Mb\": 39.63601016998291, \"Time in s\": 31009.846621000004 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5111111111111111, \"MicroF1\": 0.5111111111111111, \"MacroF1\": 0.4093857832988268, \"Memory in Mb\": 0.0911636352539062, \"Time in s\": 0.155273 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6043956043956044, \"MicroF1\": 0.6043956043956044, \"MacroF1\": 0.5940974230447915, \"Memory in Mb\": 0.16827392578125, \"Time in s\": 0.72683 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6715328467153284, \"MicroF1\": 0.6715328467153284, \"MacroF1\": 0.6806196928151186, \"Memory in Mb\": 0.245431900024414, \"Time in s\": 1.742293 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7049180327868853, \"MicroF1\": 0.7049180327868853, \"MacroF1\": 0.7184732466987995, \"Memory in Mb\": 0.3220462799072265, \"Time in s\": 3.340711 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.74235807860262, \"MicroF1\": 0.74235807860262, \"MacroF1\": 0.7523809662907407, \"Memory in Mb\": 0.3991765975952148, \"Time in s\": 5.610709 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7490909090909091, \"MicroF1\": 0.7490909090909091, \"MacroF1\": 0.7611097615339608, \"Memory in Mb\": 0.4767560958862304, \"Time in s\": 8.7745 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7663551401869159, \"MicroF1\": 0.766355140186916, \"MacroF1\": 0.7725898650917747, \"Memory in Mb\": 0.5538606643676758, \"Time in s\": 12.918764 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.784741144414169, \"MicroF1\": 0.7847411444141691, \"MacroF1\": 0.7844949397573193, \"Memory in Mb\": 0.6304874420166016, \"Time in s\": 18.189003 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7990314769975787, \"MicroF1\": 0.7990314769975787, \"MacroF1\": 0.7976353129150817, \"Memory in Mb\": 0.7076187133789062, \"Time in s\": 24.731741 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7952069716775599, \"MicroF1\": 0.7952069716775599, \"MacroF1\": 0.7930763833747545, \"Memory in Mb\": 0.7847471237182617, \"Time in s\": 32.681045 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7960396039603961, \"MicroF1\": 0.7960396039603961, \"MacroF1\": 0.7941234022368324, \"Memory in Mb\": 3.003793716430664, \"Time in s\": 61.21191 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8021778584392014, \"MicroF1\": 0.8021778584392014, \"MacroF1\": 0.8007250644998717, \"Memory in Mb\": 3.2264842987060547, \"Time in s\": 91.162029 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8090452261306532, \"MicroF1\": 0.8090452261306531, \"MacroF1\": 0.8095532779239047, \"Memory in Mb\": 3.4499826431274414, \"Time in s\": 122.67972799999998 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8164852255054432, \"MicroF1\": 0.8164852255054433, \"MacroF1\": 0.8176018556357175, \"Memory in Mb\": 3.6760778427124015, \"Time in s\": 155.77468699999997 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8214804063860668, \"MicroF1\": 0.8214804063860668, \"MacroF1\": 0.8221151176242331, \"Memory in Mb\": 3.8941650390625, \"Time in s\": 190.537277 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8272108843537415, \"MicroF1\": 0.8272108843537415, \"MacroF1\": 0.8281233770721121, \"Memory in Mb\": 4.128121376037598, \"Time in s\": 227.085503 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8361075544174136, \"MicroF1\": 0.8361075544174136, \"MacroF1\": 0.8364659566156888, \"Memory in Mb\": 4.367749214172363, \"Time in s\": 265.419762 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8403869407496977, \"MicroF1\": 0.8403869407496977, \"MacroF1\": 0.8412749002251585, \"Memory in Mb\": 4.601743698120117, \"Time in s\": 305.543518 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.845360824742268, \"MicroF1\": 0.845360824742268, \"MacroF1\": 0.8465057584066101, \"Memory in Mb\": 4.840575218200684, \"Time in s\": 347.501906 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8487486398258978, \"MicroF1\": 0.8487486398258978, \"MacroF1\": 0.8489576083149123, \"Memory in Mb\": 5.074535369873047, \"Time in s\": 391.430234 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8538860103626943, \"MicroF1\": 0.8538860103626943, \"MacroF1\": 0.8530581393966605, \"Memory in Mb\": 5.3079938888549805, \"Time in s\": 437.316456 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8585558852621167, \"MicroF1\": 0.8585558852621167, \"MacroF1\": 0.8570252804249208, \"Memory in Mb\": 5.479596138000488, \"Time in s\": 485.23685 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8628192999053926, \"MicroF1\": 0.8628192999053927, \"MacroF1\": 0.8611045332429007, \"Memory in Mb\": 5.435150146484375, \"Time in s\": 535.278485 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8631006346328196, \"MicroF1\": 0.8631006346328196, \"MacroF1\": 0.8616288881212748, \"Memory in Mb\": 5.355225563049316, \"Time in s\": 587.436372 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8668407310704961, \"MicroF1\": 0.8668407310704961, \"MacroF1\": 0.8650902600877293, \"Memory in Mb\": 5.281754493713379, \"Time in s\": 641.538536 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8719665271966527, \"MicroF1\": 0.8719665271966527, \"MacroF1\": 0.8702683106604537, \"Memory in Mb\": 5.235520362854004, \"Time in s\": 697.554251 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8759065269943593, \"MicroF1\": 0.8759065269943593, \"MacroF1\": 0.8740479640614998, \"Memory in Mb\": 5.142333984375, \"Time in s\": 755.471933 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8787878787878788, \"MicroF1\": 0.8787878787878788, \"MacroF1\": 0.8772603222806128, \"Memory in Mb\": 5.092559814453125, \"Time in s\": 815.138635 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8777194298574643, \"MicroF1\": 0.8777194298574643, \"MacroF1\": 0.8760741143565023, \"Memory in Mb\": 5.055940628051758, \"Time in s\": 876.491339 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8796229151559101, \"MicroF1\": 0.8796229151559101, \"MacroF1\": 0.8783130803325612, \"Memory in Mb\": 4.964084625244141, \"Time in s\": 939.483975 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8785964912280702, \"MicroF1\": 0.8785964912280702, \"MacroF1\": 0.8768931648451159, \"Memory in Mb\": 4.951287269592285, \"Time in s\": 1004.010152 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8769544527532291, \"MicroF1\": 0.8769544527532291, \"MacroF1\": 0.8748964905672628, \"Memory in Mb\": 4.969002723693848, \"Time in s\": 1070.168576 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8727752142386289, \"MicroF1\": 0.8727752142386289, \"MacroF1\": 0.8705110235515202, \"Memory in Mb\": 5.101251602172852, \"Time in s\": 1138.304608 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8688419705694178, \"MicroF1\": 0.8688419705694178, \"MacroF1\": 0.8667015278861958, \"Memory in Mb\": 5.262187957763672, \"Time in s\": 1208.4659419999998 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8651336233685519, \"MicroF1\": 0.8651336233685519, \"MacroF1\": 0.8631350462642483, \"Memory in Mb\": 5.320252418518066, \"Time in s\": 1280.5305069999995 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8640483383685801, \"MicroF1\": 0.8640483383685801, \"MacroF1\": 0.8620479268968886, \"Memory in Mb\": 5.35189151763916, \"Time in s\": 1354.3819709999998 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8647854203409759, \"MicroF1\": 0.8647854203409759, \"MacroF1\": 0.8635043959538364, \"Memory in Mb\": 5.359102249145508, \"Time in s\": 1430.0286029999995 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.866056096164854, \"MicroF1\": 0.866056096164854, \"MacroF1\": 0.864439618601765, \"Memory in Mb\": 5.402237892150879, \"Time in s\": 1507.5136589999995 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8683770217512549, \"MicroF1\": 0.8683770217512549, \"MacroF1\": 0.8664209902402824, \"Memory in Mb\": 5.3993330001831055, \"Time in s\": 1586.7199259999998 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8694942903752039, \"MicroF1\": 0.8694942903752039, \"MacroF1\": 0.867597342266498, \"Memory in Mb\": 5.4049272537231445, \"Time in s\": 1667.658732 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8710875331564987, \"MicroF1\": 0.8710875331564986, \"MacroF1\": 0.8694766742923737, \"Memory in Mb\": 5.4121294021606445, \"Time in s\": 1750.3169159999998 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8705334023821854, \"MicroF1\": 0.8705334023821854, \"MacroF1\": 0.8686918451193435, \"Memory in Mb\": 5.405803680419922, \"Time in s\": 1834.60998 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8715225088517956, \"MicroF1\": 0.8715225088517956, \"MacroF1\": 0.8698703895904014, \"Memory in Mb\": 5.395906448364258, \"Time in s\": 1920.517128 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8729609490855166, \"MicroF1\": 0.8729609490855166, \"MacroF1\": 0.870902914954928, \"Memory in Mb\": 5.386837959289551, \"Time in s\": 2008.106455 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8733687771870469, \"MicroF1\": 0.8733687771870469, \"MacroF1\": 0.8714525187304558, \"Memory in Mb\": 5.375288963317871, \"Time in s\": 2097.403794 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.875177304964539, \"MicroF1\": 0.875177304964539, \"MacroF1\": 0.8730645404016979, \"Memory in Mb\": 5.353263854980469, \"Time in s\": 2188.326937 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8745950948634891, \"MicroF1\": 0.8745950948634891, \"MacroF1\": 0.872417325547954, \"Memory in Mb\": 5.322790145874023, \"Time in s\": 2280.882375 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8753964657906661, \"MicroF1\": 0.8753964657906661, \"MacroF1\": 0.8732500176589647, \"Memory in Mb\": 5.30323600769043, \"Time in s\": 2374.975797 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8748335552596538, \"MicroF1\": 0.8748335552596538, \"MacroF1\": 0.8732733602208504, \"Memory in Mb\": 5.278659820556641, \"Time in s\": 2470.732765 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8742931709438887, \"MicroF1\": 0.8742931709438887, \"MacroF1\": 0.8727466012343671, \"Memory in Mb\": 5.262259483337402, \"Time in s\": 2568.119206 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8735383282806409, \"MicroF1\": 0.8735383282806409, \"MacroF1\": 0.8721361121313428, \"Memory in Mb\": 5.268708229064941, \"Time in s\": 2666.293295 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6597156398104266, \"MicroF1\": 0.6597156398104266, \"MacroF1\": 0.5853273709738578, \"Memory in Mb\": 6.371035575866699, \"Time in s\": 65.756564 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6807200378967314, \"MicroF1\": 0.6807200378967314, \"MacroF1\": 0.5992086579995298, \"Memory in Mb\": 6.278300285339356, \"Time in s\": 182.184591 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6842437638143354, \"MicroF1\": 0.6842437638143354, \"MacroF1\": 0.6001715208792017, \"Memory in Mb\": 6.298460006713867, \"Time in s\": 341.998975 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6848212171442103, \"MicroF1\": 0.6848212171442103, \"MacroF1\": 0.6051604277089342, \"Memory in Mb\": 6.265153884887695, \"Time in s\": 541.5068689999999 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6872513733661678, \"MicroF1\": 0.6872513733661678, \"MacroF1\": 0.611100448555976, \"Memory in Mb\": 6.2555742263793945, \"Time in s\": 777.52113 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6842936069455406, \"MicroF1\": 0.6842936069455406, \"MacroF1\": 0.6118525331169307, \"Memory in Mb\": 6.314010620117188, \"Time in s\": 1048.588472 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6852929238262752, \"MicroF1\": 0.6852929238262752, \"MacroF1\": 0.6157762907660722, \"Memory in Mb\": 6.288516998291016, \"Time in s\": 1352.458798 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6828459808215934, \"MicroF1\": 0.6828459808215934, \"MacroF1\": 0.6148503710479976, \"Memory in Mb\": 6.31680965423584, \"Time in s\": 1687.096094 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6851520572450805, \"MicroF1\": 0.6851520572450805, \"MacroF1\": 0.6155258331015067, \"Memory in Mb\": 6.223039627075195, \"Time in s\": 2051.649807 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6861445212614831, \"MicroF1\": 0.6861445212614831, \"MacroF1\": 0.6169474950376627, \"Memory in Mb\": 6.253497123718262, \"Time in s\": 2444.130945 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6873009040034438, \"MicroF1\": 0.6873009040034438, \"MacroF1\": 0.6200568175672779, \"Memory in Mb\": 6.251482009887695, \"Time in s\": 2863.128904 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6866072133217583, \"MicroF1\": 0.6866072133217583, \"MacroF1\": 0.623883491026523, \"Memory in Mb\": 6.276742935180664, \"Time in s\": 3309.082968 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7020470605376266, \"MicroF1\": 0.7020470605376266, \"MacroF1\": 0.6991473808978487, \"Memory in Mb\": 6.26933479309082, \"Time in s\": 3781.277509 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7077724413177299, \"MicroF1\": 0.7077724413177299, \"MacroF1\": 0.7078402863830927, \"Memory in Mb\": 6.244691848754883, \"Time in s\": 4278.402760999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7016857124818486, \"MicroF1\": 0.7016857124818486, \"MacroF1\": 0.704840832390747, \"Memory in Mb\": 6.350223541259766, \"Time in s\": 4805.403565999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6992009470257473, \"MicroF1\": 0.6992009470257473, \"MacroF1\": 0.7048178275842342, \"Memory in Mb\": 6.243149757385254, \"Time in s\": 5357.683726999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6922734109520361, \"MicroF1\": 0.6922734109520361, \"MacroF1\": 0.6995766929659905, \"Memory in Mb\": 6.218992233276367, \"Time in s\": 5935.240105999998 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6974272636397116, \"MicroF1\": 0.6974272636397116, \"MacroF1\": 0.7006862112488368, \"Memory in Mb\": 6.24652099609375, \"Time in s\": 6538.276384999998 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.699845486716842, \"MicroF1\": 0.699845486716842, \"MacroF1\": 0.6985118222305657, \"Memory in Mb\": 6.205791473388672, \"Time in s\": 7167.459726999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7016904209479615, \"MicroF1\": 0.7016904209479615, \"MacroF1\": 0.6971610909052677, \"Memory in Mb\": 6.218420028686523, \"Time in s\": 7825.840650999999 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7039909808342728, \"MicroF1\": 0.7039909808342728, \"MacroF1\": 0.6964197759629052, \"Memory in Mb\": 6.236072540283203, \"Time in s\": 8511.079801999998 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7076320433902974, \"MicroF1\": 0.7076320433902974, \"MacroF1\": 0.697368621848442, \"Memory in Mb\": 6.279313087463379, \"Time in s\": 9222.986801999998 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7098447729237863, \"MicroF1\": 0.7098447729237863, \"MacroF1\": 0.6967477548491564, \"Memory in Mb\": 6.2948198318481445, \"Time in s\": 9960.927248999997 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7127017322337529, \"MicroF1\": 0.712701732233753, \"MacroF1\": 0.6972185032799825, \"Memory in Mb\": 6.224791526794434, \"Time in s\": 10724.419586999997 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7145346414636918, \"MicroF1\": 0.7145346414636918, \"MacroF1\": 0.6967850611237018, \"Memory in Mb\": 6.263523101806641, \"Time in s\": 11512.986172999998 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7156437807321071, \"MicroF1\": 0.7156437807321071, \"MacroF1\": 0.6955595874776194, \"Memory in Mb\": 6.272575378417969, \"Time in s\": 12326.628602999996 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7130931921012942, \"MicroF1\": 0.7130931921012942, \"MacroF1\": 0.6943090782068162, \"Memory in Mb\": 6.22489070892334, \"Time in s\": 13165.433758999998 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7117732607298678, \"MicroF1\": 0.7117732607298677, \"MacroF1\": 0.6978751959025926, \"Memory in Mb\": 6.217726707458496, \"Time in s\": 14028.837757999998 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7122097769650263, \"MicroF1\": 0.7122097769650264, \"MacroF1\": 0.7026862643890369, \"Memory in Mb\": 6.243690490722656, \"Time in s\": 14916.319239 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7113545250797058, \"MicroF1\": 0.7113545250797058, \"MacroF1\": 0.7052714328980031, \"Memory in Mb\": 6.277059555053711, \"Time in s\": 15827.904481999998 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7111959676187567, \"MicroF1\": 0.7111959676187566, \"MacroF1\": 0.7078689284492299, \"Memory in Mb\": 6.295280456542969, \"Time in s\": 16762.400180999997 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7067562368678051, \"MicroF1\": 0.7067562368678051, \"MacroF1\": 0.704703743720216, \"Memory in Mb\": 6.183221817016602, \"Time in s\": 17721.950532 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7030734353028956, \"MicroF1\": 0.7030734353028956, \"MacroF1\": 0.7010614031639846, \"Memory in Mb\": 6.343389511108398, \"Time in s\": 18710.094933 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6998022449377489, \"MicroF1\": 0.6998022449377489, \"MacroF1\": 0.6976694331042329, \"Memory in Mb\": 6.273009300231934, \"Time in s\": 19725.980479 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6967179847939609, \"MicroF1\": 0.6967179847939609, \"MacroF1\": 0.6945045780432343, \"Memory in Mb\": 6.264690399169922, \"Time in s\": 20767.047301 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6941470472182033, \"MicroF1\": 0.6941470472182033, \"MacroF1\": 0.6917813776610243, \"Memory in Mb\": 6.265054702758789, \"Time in s\": 21835.556239 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.691996621535154, \"MicroF1\": 0.691996621535154, \"MacroF1\": 0.6898060776768534, \"Memory in Mb\": 6.200959205627441, \"Time in s\": 22932.108791 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6904328756199068, \"MicroF1\": 0.6904328756199068, \"MacroF1\": 0.6882031611963276, \"Memory in Mb\": 6.413609504699707, \"Time in s\": 24054.967875 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6916446106403128, \"MicroF1\": 0.6916446106403128, \"MacroF1\": 0.6892941373261507, \"Memory in Mb\": 6.310104370117188, \"Time in s\": 25204.026441 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.692535334643339, \"MicroF1\": 0.692535334643339, \"MacroF1\": 0.6900712004452627, \"Memory in Mb\": 6.22797966003418, \"Time in s\": 26378.286294 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6935904838895947, \"MicroF1\": 0.6935904838895947, \"MacroF1\": 0.6909354899104013, \"Memory in Mb\": 6.220904350280762, \"Time in s\": 27574.213319 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6941895334941715, \"MicroF1\": 0.6941895334941715, \"MacroF1\": 0.691322114366645, \"Memory in Mb\": 6.22946834564209, \"Time in s\": 28791.926615000004 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6950690422181602, \"MicroF1\": 0.6950690422181602, \"MacroF1\": 0.6917362410920441, \"Memory in Mb\": 6.2850341796875, \"Time in s\": 30030.670852000003 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6964466349568473, \"MicroF1\": 0.6964466349568473, \"MacroF1\": 0.6926338572817136, \"Memory in Mb\": 6.233500480651856, \"Time in s\": 31290.345387 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.6963530377322755, \"MicroF1\": 0.6963530377322755, \"MacroF1\": 0.6929015597977773, \"Memory in Mb\": 6.243911743164063, \"Time in s\": 32571.46119 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7006073082861555, \"MicroF1\": 0.7006073082861555, \"MacroF1\": 0.697843135408715, \"Memory in Mb\": 6.247167587280273, \"Time in s\": 33874.398319 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7046805424029337, \"MicroF1\": 0.7046805424029337, \"MacroF1\": 0.7023003034160373, \"Memory in Mb\": 6.246943473815918, \"Time in s\": 35198.416197 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7083867658373942, \"MicroF1\": 0.7083867658373942, \"MacroF1\": 0.7061355873839065, \"Memory in Mb\": 6.210485458374023, \"Time in s\": 36536.506394 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7126567844925884, \"MicroF1\": 0.7126567844925883, \"MacroF1\": 0.7104085577951368, \"Memory in Mb\": 6.270394325256348, \"Time in s\": 37890.628371 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7128544101214038, \"MicroF1\": 0.7128544101214038, \"MacroF1\": 0.7110869129037599, \"Memory in Mb\": 6.247260093688965, \"Time in s\": 39264.666928 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Insects\", \"Accuracy\": 0.7131152194069673, \"MicroF1\": 0.7131152194069672, \"MacroF1\": 0.7113808258412672, \"Memory in Mb\": 6.272693634033203, \"Time in s\": 40639.937472 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 1.0294876098632812, \"Time in s\": 8.610537 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9251533742331288, \"MicroF1\": 0.9251533742331288, \"MacroF1\": 0.8588670451436246, \"Memory in Mb\": 5.3865966796875, \"Time in s\": 60.879099 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9247751430907604, \"MicroF1\": 0.9247751430907604, \"MacroF1\": 0.888226412135106, \"Memory in Mb\": 6.246823310852051, \"Time in s\": 137.71097600000002 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.927038626609442, \"MicroF1\": 0.927038626609442, \"MacroF1\": 0.893336805209695, \"Memory in Mb\": 6.212030410766602, \"Time in s\": 236.990146 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9298675821481118, \"MicroF1\": 0.9298675821481118, \"MacroF1\": 0.911424130088645, \"Memory in Mb\": 6.329436302185059, \"Time in s\": 359.011082 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9239885574172456, \"MicroF1\": 0.9239885574172456, \"MacroF1\": 0.912155547295492, \"Memory in Mb\": 6.208271026611328, \"Time in s\": 503.2068 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9169877408056042, \"MicroF1\": 0.9169877408056042, \"MacroF1\": 0.8816257260944811, \"Memory in Mb\": 6.284844398498535, \"Time in s\": 667.387655 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908979466748391, \"MicroF1\": 0.908979466748391, \"MacroF1\": 0.9011431783951356, \"Memory in Mb\": 6.232160568237305, \"Time in s\": 850.70223 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.913375102152002, \"MicroF1\": 0.913375102152002, \"MacroF1\": 0.9125908871445696, \"Memory in Mb\": 6.234919548034668, \"Time in s\": 1054.346916 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9141946555528316, \"MicroF1\": 0.9141946555528316, \"MacroF1\": 0.9054789816810688, \"Memory in Mb\": 6.308258056640625, \"Time in s\": 1277.35851 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9057276576777356, \"MicroF1\": 0.9057276576777356, \"MacroF1\": 0.9087691557812896, \"Memory in Mb\": 6.274983406066895, \"Time in s\": 1518.241674 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908682328907048, \"MicroF1\": 0.908682328907048, \"MacroF1\": 0.9101970481905532, \"Memory in Mb\": 6.210176467895508, \"Time in s\": 1774.8436390000002 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9092966245521404, \"MicroF1\": 0.9092966245521404, \"MacroF1\": 0.9045962329696908, \"Memory in Mb\": 6.311163902282715, \"Time in s\": 2048.2991580000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9110488530905272, \"MicroF1\": 0.9110488530905272, \"MacroF1\": 0.9114244990736602, \"Memory in Mb\": 6.304790496826172, \"Time in s\": 2337.0378760000003 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9089720542572316, \"MicroF1\": 0.9089720542572316, \"MacroF1\": 0.9032533666541098, \"Memory in Mb\": 6.217576026916504, \"Time in s\": 2640.3521840000003 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.907767734027884, \"MicroF1\": 0.907767734027884, \"MacroF1\": 0.9071900335968284, \"Memory in Mb\": 6.258184432983398, \"Time in s\": 2958.617579 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9105984138428262, \"MicroF1\": 0.9105984138428262, \"MacroF1\": 0.9126270814361048, \"Memory in Mb\": 6.1720380783081055, \"Time in s\": 3289.9253120000003 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9120250578782514, \"MicroF1\": 0.9120250578782514, \"MacroF1\": 0.9125633522308232, \"Memory in Mb\": 6.2164154052734375, \"Time in s\": 3633.832057000001 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9133015094826474, \"MicroF1\": 0.9133015094826474, \"MacroF1\": 0.9136330015220732, \"Memory in Mb\": 6.260525703430176, \"Time in s\": 3992.050824 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9148179924010296, \"MicroF1\": 0.9148179924010296, \"MacroF1\": 0.9154195917586072, \"Memory in Mb\": 6.291139602661133, \"Time in s\": 4363.477247000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9166569394186996, \"MicroF1\": 0.9166569394186996, \"MacroF1\": 0.917708642296068, \"Memory in Mb\": 6.216147422790527, \"Time in s\": 4747.269196000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9179944289693592, \"MicroF1\": 0.9179944289693592, \"MacroF1\": 0.9193727618453186, \"Memory in Mb\": 6.204837799072266, \"Time in s\": 5142.613476000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9180432697431524, \"MicroF1\": 0.9180432697431524, \"MacroF1\": 0.9181590265081532, \"Memory in Mb\": 6.197464942932129, \"Time in s\": 5549.1165660000015 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9166581554488816, \"MicroF1\": 0.9166581554488816, \"MacroF1\": 0.9168210748678532, \"Memory in Mb\": 6.232473373413086, \"Time in s\": 5968.023607000002 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9154819099911756, \"MicroF1\": 0.9154819099911756, \"MacroF1\": 0.9145218669909496, \"Memory in Mb\": 6.197787284851074, \"Time in s\": 6399.011787000002 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9126048835674556, \"MicroF1\": 0.9126048835674556, \"MacroF1\": 0.9111025938131312, \"Memory in Mb\": 6.2185258865356445, \"Time in s\": 6842.990199000003 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9106672719019518, \"MicroF1\": 0.9106672719019518, \"MacroF1\": 0.911227786024665, \"Memory in Mb\": 6.261377334594727, \"Time in s\": 7300.041981000002 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.910356298695614, \"MicroF1\": 0.910356298695614, \"MacroF1\": 0.9101104800687124, \"Memory in Mb\": 6.227293968200684, \"Time in s\": 7769.979179000002 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9092215366410278, \"MicroF1\": 0.9092215366410278, \"MacroF1\": 0.909418612123662, \"Memory in Mb\": 6.287784576416016, \"Time in s\": 8252.975566000001 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9110221423318898, \"MicroF1\": 0.9110221423318898, \"MacroF1\": 0.9118339797691072, \"Memory in Mb\": 6.31197452545166, \"Time in s\": 8747.696417000001 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912627500593026, \"MicroF1\": 0.912627500593026, \"MacroF1\": 0.9131272841889786, \"Memory in Mb\": 6.279851913452148, \"Time in s\": 9255.008595 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9129069322098812, \"MicroF1\": 0.9129069322098812, \"MacroF1\": 0.913006147591119, \"Memory in Mb\": 6.346117973327637, \"Time in s\": 9774.692327 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9136150932184506, \"MicroF1\": 0.9136150932184506, \"MacroF1\": 0.9138210444048112, \"Memory in Mb\": 6.238006591796875, \"Time in s\": 10306.725428000002 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9137769447047798, \"MicroF1\": 0.9137769447047795, \"MacroF1\": 0.913931693448659, \"Memory in Mb\": 6.288792610168457, \"Time in s\": 10851.686584 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.91217872400028, \"MicroF1\": 0.91217872400028, \"MacroF1\": 0.9118234284090696, \"Memory in Mb\": 6.252389907836914, \"Time in s\": 11409.551357 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9133247089262612, \"MicroF1\": 0.9133247089262612, \"MacroF1\": 0.9136581918124824, \"Memory in Mb\": 6.268362998962402, \"Time in s\": 11980.223294 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9134150380920836, \"MicroF1\": 0.9134150380920836, \"MacroF1\": 0.9134700562544148, \"Memory in Mb\": 6.304409027099609, \"Time in s\": 12563.090191 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9127910726956072, \"MicroF1\": 0.9127910726956072, \"MacroF1\": 0.9127632118282708, \"Memory in Mb\": 6.222077369689941, \"Time in s\": 13158.500652 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9127019043429074, \"MicroF1\": 0.9127019043429074, \"MacroF1\": 0.9127365496247324, \"Memory in Mb\": 6.263586044311523, \"Time in s\": 13766.752283999998 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113303511244562, \"MicroF1\": 0.9113303511244562, \"MacroF1\": 0.9110956080213112, \"Memory in Mb\": 6.256609916687012, \"Time in s\": 14388.121762 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.910384408441442, \"MicroF1\": 0.910384408441442, \"MacroF1\": 0.910332436025812, \"Memory in Mb\": 6.208023071289063, \"Time in s\": 15023.088924 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113510358914504, \"MicroF1\": 0.9113510358914504, \"MacroF1\": 0.9114963483082136, \"Memory in Mb\": 6.223179817199707, \"Time in s\": 15670.063673 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9113606566721768, \"MicroF1\": 0.9113606566721768, \"MacroF1\": 0.9113826667045092, \"Memory in Mb\": 6.23558235168457, \"Time in s\": 16331.265293 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9114255473232687, \"MicroF1\": 0.911425547323269, \"MacroF1\": 0.9114384409485988, \"Memory in Mb\": 6.255133628845215, \"Time in s\": 17006.553944 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9126858761370444, \"MicroF1\": 0.9126858761370444, \"MacroF1\": 0.9127656000580756, \"Memory in Mb\": 6.270404815673828, \"Time in s\": 17693.792261 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9125059945649278, \"MicroF1\": 0.9125059945649276, \"MacroF1\": 0.9124701420883568, \"Memory in Mb\": 6.180520057678223, \"Time in s\": 18393.849908 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912594524119948, \"MicroF1\": 0.912594524119948, \"MacroF1\": 0.9125632790621416, \"Memory in Mb\": 6.265439987182617, \"Time in s\": 19106.227212 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.913547464637696, \"MicroF1\": 0.913547464637696, \"MacroF1\": 0.9135225066457016, \"Memory in Mb\": 6.303133964538574, \"Time in s\": 19831.701162 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9111099994997748, \"MicroF1\": 0.9111099994997748, \"MacroF1\": 0.910917465793804, \"Memory in Mb\": 6.225028991699219, \"Time in s\": 20571.760391 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9104858081278494, \"MicroF1\": 0.9104858081278494, \"MacroF1\": 0.910327982122686, \"Memory in Mb\": 6.325108528137207, \"Time in s\": 21326.45228 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3111111111111111, \"MicroF1\": 0.3111111111111111, \"MacroF1\": 0.245764972655729, \"Memory in Mb\": 4.105147361755371, \"Time in s\": 2.153154 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4835164835164835, \"MicroF1\": 0.4835164835164835, \"MacroF1\": 0.4934752395581889, \"Memory in Mb\": 4.108363151550293, \"Time in s\": 6.907408 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5528821792646677, \"Memory in Mb\": 4.108027458190918, \"Time in s\": 14.639156 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.614143164890895, \"Memory in Mb\": 4.108977317810059, \"Time in s\": 25.443956 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.62882096069869, \"MicroF1\": 0.62882096069869, \"MacroF1\": 0.6441389332893815, \"Memory in Mb\": 3.881842613220215, \"Time in s\": 39.254234 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.64, \"MicroF1\": 0.64, \"MacroF1\": 0.6559607038460422, \"Memory in Mb\": 3.996514320373535, \"Time in s\": 55.768073 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6697819314641744, \"MicroF1\": 0.6697819314641744, \"MacroF1\": 0.6706320385346652, \"Memory in Mb\": 4.112936019897461, \"Time in s\": 74.877199 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6948228882833788, \"MicroF1\": 0.6948228882833788, \"MacroF1\": 0.6897433526546475, \"Memory in Mb\": 4.112924575805664, \"Time in s\": 96.687005 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.706570530482581, \"Memory in Mb\": 4.117301940917969, \"Time in s\": 121.290167 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7145969498910676, \"MicroF1\": 0.7145969498910676, \"MacroF1\": 0.7071122267088654, \"Memory in Mb\": 4.116390228271484, \"Time in s\": 148.551711 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7247524752475247, \"MicroF1\": 0.7247524752475247, \"MacroF1\": 0.7147973207987898, \"Memory in Mb\": 4.115703582763672, \"Time in s\": 178.365171 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7295825771324864, \"MicroF1\": 0.7295825771324864, \"MacroF1\": 0.7210771168277493, \"Memory in Mb\": 4.115436553955078, \"Time in s\": 210.796119 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7336683417085427, \"MicroF1\": 0.7336683417085426, \"MacroF1\": 0.7250288715672424, \"Memory in Mb\": 4.115207672119141, \"Time in s\": 245.953277 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7325038880248833, \"MicroF1\": 0.7325038880248833, \"MacroF1\": 0.7258924883659029, \"Memory in Mb\": 4.118658065795898, \"Time in s\": 283.80303000000004 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737300435413643, \"MicroF1\": 0.737300435413643, \"MacroF1\": 0.7302536378735861, \"Memory in Mb\": 4.118425369262695, \"Time in s\": 324.296282 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387755102040816, \"MicroF1\": 0.7387755102040816, \"MacroF1\": 0.7329631379486719, \"Memory in Mb\": 4.118097305297852, \"Time in s\": 367.43284 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7439180537772087, \"MicroF1\": 0.7439180537772088, \"MacroF1\": 0.7387105187530085, \"Memory in Mb\": 4.117616653442383, \"Time in s\": 413.28289 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7460701330108828, \"MicroF1\": 0.7460701330108827, \"MacroF1\": 0.7425025596154723, \"Memory in Mb\": 4.117326736450195, \"Time in s\": 461.953497 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7514318442153494, \"MicroF1\": 0.7514318442153494, \"MacroF1\": 0.7467163857842193, \"Memory in Mb\": 4.117303848266602, \"Time in s\": 513.2937440000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750816104461371, \"MicroF1\": 0.750816104461371, \"MacroF1\": 0.7453933609147309, \"Memory in Mb\": 4.117105484008789, \"Time in s\": 567.431634 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7512953367875648, \"MicroF1\": 0.7512953367875648, \"MacroF1\": 0.7451117895470661, \"Memory in Mb\": 4.116701126098633, \"Time in s\": 624.2209760000001 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7507418397626113, \"MicroF1\": 0.7507418397626113, \"MacroF1\": 0.744963080481548, \"Memory in Mb\": 4.116399765014648, \"Time in s\": 683.8404210000001 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7511825922421949, \"MicroF1\": 0.7511825922421949, \"MacroF1\": 0.7446315489945475, \"Memory in Mb\": 4.117582321166992, \"Time in s\": 746.2097300000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7533998186763372, \"MicroF1\": 0.7533998186763373, \"MacroF1\": 0.7466082689908061, \"Memory in Mb\": 4.117956161499023, \"Time in s\": 811.1743250000002 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7563098346388164, \"MicroF1\": 0.7563098346388164, \"MacroF1\": 0.7491651771194966, \"Memory in Mb\": 4.117490768432617, \"Time in s\": 878.6809830000002 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7589958158995815, \"MicroF1\": 0.7589958158995815, \"MacroF1\": 0.7526420027035883, \"Memory in Mb\": 4.117303848266602, \"Time in s\": 948.8627130000002 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.75825946817083, \"MicroF1\": 0.7582594681708301, \"MacroF1\": 0.7524016178277559, \"Memory in Mb\": 4.11713981628418, \"Time in s\": 1021.5806660000002 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7637917637917638, \"MicroF1\": 0.7637917637917638, \"MacroF1\": 0.75666252908711, \"Memory in Mb\": 4.117353439331055, \"Time in s\": 1096.9757510000002 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7636909227306826, \"MicroF1\": 0.7636909227306825, \"MacroF1\": 0.7569484848610158, \"Memory in Mb\": 4.11726188659668, \"Time in s\": 1175.015685 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650471356055112, \"MicroF1\": 0.7650471356055112, \"MacroF1\": 0.7590436403579585, \"Memory in Mb\": 4.11729621887207, \"Time in s\": 1255.693831 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.767719298245614, \"MicroF1\": 0.767719298245614, \"MacroF1\": 0.761211289695921, \"Memory in Mb\": 4.117136001586914, \"Time in s\": 1338.965745 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7722637661454793, \"MicroF1\": 0.7722637661454793, \"MacroF1\": 0.764056696643358, \"Memory in Mb\": 4.117197036743164, \"Time in s\": 1424.822234 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7732366512854317, \"MicroF1\": 0.7732366512854317, \"MacroF1\": 0.764234133414765, \"Memory in Mb\": 4.117246627807617, \"Time in s\": 1513.291691 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7735124760076776, \"MicroF1\": 0.7735124760076776, \"MacroF1\": 0.7653316001442944, \"Memory in Mb\": 4.117277145385742, \"Time in s\": 1604.2857379999998 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737725295214419, \"MicroF1\": 0.7737725295214419, \"MacroF1\": 0.7647353044337893, \"Memory in Mb\": 4.11713981628418, \"Time in s\": 1697.9838939999995 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7734138972809668, \"MicroF1\": 0.7734138972809667, \"MacroF1\": 0.7645730180903108, \"Memory in Mb\": 4.116628646850586, \"Time in s\": 1794.3974679999997 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7724867724867724, \"MicroF1\": 0.7724867724867724, \"MacroF1\": 0.7656182355666586, \"Memory in Mb\": 4.116819381713867, \"Time in s\": 1893.301291 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750429307384087, \"MicroF1\": 0.7750429307384087, \"MacroF1\": 0.7677424040514297, \"Memory in Mb\": 4.116933822631836, \"Time in s\": 1994.662727 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7763524818739542, \"MicroF1\": 0.7763524818739542, \"MacroF1\": 0.7677176136548693, \"Memory in Mb\": 4.116861343383789, \"Time in s\": 2098.663831 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7775965198477434, \"MicroF1\": 0.7775965198477434, \"MacroF1\": 0.7691578918725354, \"Memory in Mb\": 4.11646842956543, \"Time in s\": 2205.226802 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7761273209549071, \"MicroF1\": 0.7761273209549071, \"MacroF1\": 0.7681560201617949, \"Memory in Mb\": 4.116430282592773, \"Time in s\": 2314.321902 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762817193164163, \"MicroF1\": 0.7762817193164163, \"MacroF1\": 0.7674170460709655, \"Memory in Mb\": 4.116365432739258, \"Time in s\": 2425.9767019999995 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769347496206374, \"MicroF1\": 0.7769347496206374, \"MacroF1\": 0.7672843880004774, \"Memory in Mb\": 4.116201400756836, \"Time in s\": 2540.253238 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7790410281759763, \"MicroF1\": 0.7790410281759763, \"MacroF1\": 0.7681802739952505, \"Memory in Mb\": 4.116155624389648, \"Time in s\": 2657.1841359999994 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.778153697438376, \"MicroF1\": 0.7781536974383759, \"MacroF1\": 0.767530439166732, \"Memory in Mb\": 4.116151809692383, \"Time in s\": 2776.607733 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7787234042553192, \"MicroF1\": 0.778723404255319, \"MacroF1\": 0.7673415220519754, \"Memory in Mb\": 4.116128921508789, \"Time in s\": 2898.5867789999998 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7797316057380842, \"MicroF1\": 0.7797316057380842, \"MacroF1\": 0.7679341969633587, \"Memory in Mb\": 4.116201400756836, \"Time in s\": 3023.0016299999997 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7816039873130947, \"MicroF1\": 0.7816039873130947, \"MacroF1\": 0.7687944234581563, \"Memory in Mb\": 4.11619758605957, \"Time in s\": 3150.038225 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7785175321793165, \"MicroF1\": 0.7785175321793165, \"MacroF1\": 0.7657018899401807, \"Memory in Mb\": 4.116170883178711, \"Time in s\": 3279.4760369999995 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7777294475859069, \"MicroF1\": 0.7777294475859068, \"MacroF1\": 0.7649119672933203, \"Memory in Mb\": 4.116254806518555, \"Time in s\": 3411.201767 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7778258986574275, \"MicroF1\": 0.7778258986574276, \"MacroF1\": 0.765010539660814, \"Memory in Mb\": 4.116277694702148, \"Time in s\": 3543.54869 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5970323052762562, \"Memory in Mb\": 6.48949146270752, \"Time in s\": 90.340432 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.62482235907153, \"MicroF1\": 0.62482235907153, \"MacroF1\": 0.5890580890213498, \"Memory in Mb\": 6.490170478820801, \"Time in s\": 257.284509 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157246605620461, \"MicroF1\": 0.6157246605620461, \"MacroF1\": 0.5802533923244894, \"Memory in Mb\": 6.491124153137207, \"Time in s\": 490.807794 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6107032914989344, \"MicroF1\": 0.6107032914989344, \"MacroF1\": 0.574850135712032, \"Memory in Mb\": 6.49120044708252, \"Time in s\": 783.3577379999999 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.614889183557492, \"MicroF1\": 0.614889183557492, \"MacroF1\": 0.5777842549225517, \"Memory in Mb\": 6.491948127746582, \"Time in s\": 1129.937274 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.608997632202052, \"MicroF1\": 0.608997632202052, \"MacroF1\": 0.5733157350789626, \"Memory in Mb\": 6.490735054016113, \"Time in s\": 1525.7763839999998 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057367068055743, \"MicroF1\": 0.6057367068055743, \"MacroF1\": 0.5703382690867537, \"Memory in Mb\": 6.490704536437988, \"Time in s\": 1967.928226 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069610512608027, \"MicroF1\": 0.6069610512608027, \"MacroF1\": 0.5711427916016896, \"Memory in Mb\": 6.490643501281738, \"Time in s\": 2456.105543 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6039145532989583, \"MicroF1\": 0.6039145532989583, \"MacroF1\": 0.5678102867297488, \"Memory in Mb\": 6.491009712219238, \"Time in s\": 2990.761064 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034662373330808, \"MicroF1\": 0.6034662373330808, \"MacroF1\": 0.567425153452482, \"Memory in Mb\": 6.491185188293457, \"Time in s\": 3571.580702 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6005165733964701, \"MicroF1\": 0.6005165733964701, \"MacroF1\": 0.56512832395729, \"Memory in Mb\": 6.491345405578613, \"Time in s\": 4198.711386999999 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6031883829216321, \"MicroF1\": 0.6031883829216321, \"MacroF1\": 0.5703828979306638, \"Memory in Mb\": 6.491543769836426, \"Time in s\": 4874.277407999999 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6152108982297662, \"MicroF1\": 0.6152108982297662, \"MacroF1\": 0.5959760515786451, \"Memory in Mb\": 5.97607421875, \"Time in s\": 5593.125681999999 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6060339579246432, \"MicroF1\": 0.6060339579246432, \"MacroF1\": 0.5869142505177357, \"Memory in Mb\": 6.496403694152832, \"Time in s\": 6355.050274999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5713744554580465, \"MicroF1\": 0.5713744554580465, \"MacroF1\": 0.5537658591956377, \"Memory in Mb\": 6.4967546463012695, \"Time in s\": 7160.569073999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.545546019532406, \"MicroF1\": 0.545546019532406, \"MacroF1\": 0.5286479939306438, \"Memory in Mb\": 6.381303787231445, \"Time in s\": 8010.073855999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.526767311013314, \"MicroF1\": 0.526767311013314, \"MacroF1\": 0.509587529402725, \"Memory in Mb\": 6.497265815734863, \"Time in s\": 8901.233847 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.517756615983585, \"MicroF1\": 0.517756615983585, \"MacroF1\": 0.4976462434137419, \"Memory in Mb\": 4.685893058776856, \"Time in s\": 9829.81162 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5296815032647162, \"MicroF1\": 0.5296815032647162, \"MacroF1\": 0.5080882715573688, \"Memory in Mb\": 10.369908332824709, \"Time in s\": 10791.950057 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.539750935176855, \"MicroF1\": 0.539750935176855, \"MacroF1\": 0.5184934777423561, \"Memory in Mb\": 10.92272663116455, \"Time in s\": 11801.930673 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5468771138669674, \"MicroF1\": 0.5468771138669674, \"MacroF1\": 0.525970977438283, \"Memory in Mb\": 10.920933723449709, \"Time in s\": 12856.592968 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5551633593043778, \"MicroF1\": 0.5551633593043778, \"MacroF1\": 0.5340735310276195, \"Memory in Mb\": 12.231526374816896, \"Time in s\": 13957.460176 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5615761518507844, \"MicroF1\": 0.5615761518507844, \"MacroF1\": 0.5396852076547556, \"Memory in Mb\": 12.87682819366455, \"Time in s\": 15100.290122 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5679280274632048, \"MicroF1\": 0.5679280274632048, \"MacroF1\": 0.5455634192548013, \"Memory in Mb\": 13.528642654418944, \"Time in s\": 16285.362621 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5727868479866661, \"MicroF1\": 0.5727868479866661, \"MacroF1\": 0.5496374434570932, \"Memory in Mb\": 13.632143020629885, \"Time in s\": 17508.053461 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5754143143325442, \"MicroF1\": 0.5754143143325442, \"MacroF1\": 0.5513680135969626, \"Memory in Mb\": 13.630533218383787, \"Time in s\": 18766.96928 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5772859598049875, \"MicroF1\": 0.5772859598049875, \"MacroF1\": 0.5551350356863173, \"Memory in Mb\": 13.627862930297852, \"Time in s\": 20061.957755000003 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.577772516657084, \"MicroF1\": 0.577772516657084, \"MacroF1\": 0.5590861332292512, \"Memory in Mb\": 13.626611709594728, \"Time in s\": 21394.440888000005 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.578225516768442, \"MicroF1\": 0.578225516768442, \"MacroF1\": 0.5625516131192055, \"Memory in Mb\": 12.769641876220703, \"Time in s\": 22755.311286000004 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5795637488557088, \"MicroF1\": 0.5795637488557088, \"MacroF1\": 0.5663363640160616, \"Memory in Mb\": 12.768932342529297, \"Time in s\": 24150.336726000005 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5811211241790133, \"MicroF1\": 0.5811211241790133, \"MacroF1\": 0.5696723582178381, \"Memory in Mb\": 12.768062591552734, \"Time in s\": 25577.802283000005 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.575804208221124, \"MicroF1\": 0.575804208221124, \"MacroF1\": 0.5647934119551398, \"Memory in Mb\": 12.981294631958008, \"Time in s\": 27039.45595800001 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5701495107182828, \"MicroF1\": 0.5701495107182828, \"MacroF1\": 0.559068023359177, \"Memory in Mb\": 12.981256484985352, \"Time in s\": 28537.493337000007 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5657744478177311, \"MicroF1\": 0.5657744478177311, \"MacroF1\": 0.5542573482740075, \"Memory in Mb\": 12.983362197875977, \"Time in s\": 30069.70246600001 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5611894261208366, \"MicroF1\": 0.5611894261208366, \"MacroF1\": 0.5493152777162592, \"Memory in Mb\": 13.52482795715332, \"Time in s\": 31635.746830000007 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.558779429172695, \"MicroF1\": 0.558779429172695, \"MacroF1\": 0.5463982360776033, \"Memory in Mb\": 13.526559829711914, \"Time in s\": 33235.41425300001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5546825010877633, \"MicroF1\": 0.5546825010877633, \"MacroF1\": 0.5426283860139581, \"Memory in Mb\": 14.304903030395508, \"Time in s\": 34865.73115700001 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5542153662122761, \"MicroF1\": 0.5542153662122761, \"MacroF1\": 0.5429626632180721, \"Memory in Mb\": 15.152182579040527, \"Time in s\": 36525.24862800001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541364155112547, \"MicroF1\": 0.5541364155112547, \"MacroF1\": 0.5435420562964655, \"Memory in Mb\": 15.252725601196287, \"Time in s\": 38211.297236000006 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5542981604678141, \"MicroF1\": 0.5542981604678141, \"MacroF1\": 0.544391400018036, \"Memory in Mb\": 15.251314163208008, \"Time in s\": 39923.86574200001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.554151749624668, \"MicroF1\": 0.554151749624668, \"MacroF1\": 0.5448486588729107, \"Memory in Mb\": 13.424749374389648, \"Time in s\": 41664.47056700001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5536290049829767, \"MicroF1\": 0.5536290049829767, \"MacroF1\": 0.5448029815059025, \"Memory in Mb\": 13.64866542816162, \"Time in s\": 43429.160590000014 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541436342414165, \"MicroF1\": 0.5541436342414165, \"MacroF1\": 0.5454957405719211, \"Memory in Mb\": 14.18911075592041, \"Time in s\": 45215.90786900002 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5553020683124207, \"MicroF1\": 0.5553020683124207, \"MacroF1\": 0.546961663735647, \"Memory in Mb\": 15.156656265258787, \"Time in s\": 47024.86244100002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5579662871693428, \"MicroF1\": 0.5579662871693428, \"MacroF1\": 0.5498636684303295, \"Memory in Mb\": 14.218542098999023, \"Time in s\": 48856.78116300002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5627586206896552, \"MicroF1\": 0.5627586206896552, \"MacroF1\": 0.5545030394801858, \"Memory in Mb\": 14.845645904541016, \"Time in s\": 50711.77001700002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5677701436602124, \"MicroF1\": 0.5677701436602124, \"MacroF1\": 0.5591808574875289, \"Memory in Mb\": 15.233248710632324, \"Time in s\": 52589.43568900003 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5730463432438297, \"MicroF1\": 0.5730463432438297, \"MacroF1\": 0.5639878919164368, \"Memory in Mb\": 15.890131950378418, \"Time in s\": 54487.48381000003 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5791894555785324, \"MicroF1\": 0.5791894555785324, \"MacroF1\": 0.5695807960578061, \"Memory in Mb\": 16.1916446685791, \"Time in s\": 56406.77001200003 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5794427924771303, \"MicroF1\": 0.5794427924771303, \"MacroF1\": 0.5701512686040561, \"Memory in Mb\": 15.30721950531006, \"Time in s\": 58342.70756100003 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5794652487369197, \"MicroF1\": 0.5794652487369197, \"MacroF1\": 0.5701984940722999, \"Memory in Mb\": 15.30735683441162, \"Time in s\": 60279.413314000034 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.100947380065918, \"Time in s\": 5.705318 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 3.048105239868164, \"Time in s\": 25.352994 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8912510220768601, \"MicroF1\": 0.8912510220768601, \"MacroF1\": 0.8617021305177772, \"Memory in Mb\": 3.9921913146972656, \"Time in s\": 63.032035 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031269160024524, \"MicroF1\": 0.9031269160024524, \"MacroF1\": 0.8868998230762756, \"Memory in Mb\": 4.944231986999512, \"Time in s\": 123.600275 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.898970083374203, \"MicroF1\": 0.898970083374203, \"MacroF1\": 0.888705938214812, \"Memory in Mb\": 5.993730545043945, \"Time in s\": 211.611387 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8598283612586841, \"MicroF1\": 0.8598283612586841, \"MacroF1\": 0.8569666636755086, \"Memory in Mb\": 6.37155818939209, \"Time in s\": 330.620683 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8669001751313485, \"MicroF1\": 0.8669001751313484, \"MacroF1\": 0.8547854134985733, \"Memory in Mb\": 7.318934440612793, \"Time in s\": 479.663409 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8581060373889059, \"MicroF1\": 0.8581060373889059, \"MacroF1\": 0.8327540420876277, \"Memory in Mb\": 8.264909744262695, \"Time in s\": 660.474615 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8490874421138654, \"MicroF1\": 0.8490874421138654, \"MacroF1\": 0.8463961237855363, \"Memory in Mb\": 8.926459312438965, \"Time in s\": 875.371562 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8421181662172101, \"MicroF1\": 0.84211816621721, \"MacroF1\": 0.8299816031455575, \"Memory in Mb\": 10.074895858764648, \"Time in s\": 1125.854174 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8301760641854246, \"MicroF1\": 0.8301760641854244, \"MacroF1\": 0.8400819204125556, \"Memory in Mb\": 11.044804573059082, \"Time in s\": 1412.144879 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8314606741573034, \"MicroF1\": 0.8314606741573034, \"MacroF1\": 0.8387821748480373, \"Memory in Mb\": 8.862092971801758, \"Time in s\": 1728.261118 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8333019045823119, \"MicroF1\": 0.8333019045823119, \"MacroF1\": 0.8299513887279447, \"Memory in Mb\": 9.715648651123049, \"Time in s\": 2074.079546 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8255997198389073, \"MicroF1\": 0.8255997198389075, \"MacroF1\": 0.831498100235552, \"Memory in Mb\": 10.513428688049316, \"Time in s\": 2449.732459 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8241542735741134, \"MicroF1\": 0.8241542735741134, \"MacroF1\": 0.813971923025991, \"Memory in Mb\": 11.555256843566896, \"Time in s\": 2856.066254 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8043511567335683, \"MicroF1\": 0.8043511567335683, \"MacroF1\": 0.8048077550156274, \"Memory in Mb\": 12.298343658447266, \"Time in s\": 3295.046229 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8002883922134102, \"MicroF1\": 0.8002883922134101, \"MacroF1\": 0.8062362865697692, \"Memory in Mb\": 11.726844787597656, \"Time in s\": 3768.473318 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8093422306959008, \"MicroF1\": 0.8093422306959008, \"MacroF1\": 0.813125473572493, \"Memory in Mb\": 9.433514595031738, \"Time in s\": 4267.304275 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8157657076506257, \"MicroF1\": 0.8157657076506257, \"MacroF1\": 0.8184378776785012, \"Memory in Mb\": 10.539642333984377, \"Time in s\": 4791.9677950000005 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8199534256649099, \"MicroF1\": 0.81995342566491, \"MacroF1\": 0.8213128379144453, \"Memory in Mb\": 11.364830017089844, \"Time in s\": 5345.1630700000005 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8247928096183028, \"MicroF1\": 0.8247928096183028, \"MacroF1\": 0.8275146627418534, \"Memory in Mb\": 12.672901153564451, \"Time in s\": 5929.400246 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8295264623955432, \"MicroF1\": 0.8295264623955433, \"MacroF1\": 0.8318915513040454, \"Memory in Mb\": 13.833264350891112, \"Time in s\": 6547.972923 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8319300863263348, \"MicroF1\": 0.8319300863263348, \"MacroF1\": 0.8336463894938194, \"Memory in Mb\": 14.741169929504396, \"Time in s\": 7204.877164 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8342355224185476, \"MicroF1\": 0.8342355224185476, \"MacroF1\": 0.8362542817352725, \"Memory in Mb\": 16.02083969116211, \"Time in s\": 7900.921468 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8343955289734287, \"MicroF1\": 0.8343955289734286, \"MacroF1\": 0.833886744496364, \"Memory in Mb\": 17.251243591308594, \"Time in s\": 8638.28045 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8258697086829452, \"MicroF1\": 0.8258697086829452, \"MacroF1\": 0.823298887298616, \"Memory in Mb\": 18.484009742736816, \"Time in s\": 9418.818077 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.825692237857467, \"MicroF1\": 0.825692237857467, \"MacroF1\": 0.827229896548608, \"Memory in Mb\": 17.053231239318848, \"Time in s\": 10241.512178 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8263153287227524, \"MicroF1\": 0.8263153287227524, \"MacroF1\": 0.8251000136898328, \"Memory in Mb\": 18.097841262817383, \"Time in s\": 11105.510711 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8257966359563857, \"MicroF1\": 0.8257966359563859, \"MacroF1\": 0.8251092059206939, \"Memory in Mb\": 19.1904354095459, \"Time in s\": 12012.672379 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8289892965111528, \"MicroF1\": 0.8289892965111528, \"MacroF1\": 0.8300645161883343, \"Memory in Mb\": 17.2155818939209, \"Time in s\": 12963.554855000002 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8324503834901558, \"MicroF1\": 0.8324503834901558, \"MacroF1\": 0.8328446288662702, \"Memory in Mb\": 17.090572357177734, \"Time in s\": 13955.688030000005 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8295672156261968, \"MicroF1\": 0.8295672156261968, \"MacroF1\": 0.8279815503081916, \"Memory in Mb\": 18.284998893737797, \"Time in s\": 14990.870602000005 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.828121518235163, \"MicroF1\": 0.828121518235163, \"MacroF1\": 0.8279872572314477, \"Memory in Mb\": 18.759904861450195, \"Time in s\": 16071.989638000005 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8300771393554899, \"MicroF1\": 0.8300771393554899, \"MacroF1\": 0.8300312724960401, \"Memory in Mb\": 19.937789916992188, \"Time in s\": 17198.739284000003 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8329714966034036, \"MicroF1\": 0.8329714966034036, \"MacroF1\": 0.8330653900337638, \"Memory in Mb\": 21.17230033874512, \"Time in s\": 18373.548754000003 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8360454823994008, \"MicroF1\": 0.8360454823994008, \"MacroF1\": 0.8362319050195895, \"Memory in Mb\": 22.12139320373535, \"Time in s\": 19591.296889000005 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8391520370983769, \"MicroF1\": 0.8391520370983769, \"MacroF1\": 0.8393677597260801, \"Memory in Mb\": 22.688467979431152, \"Time in s\": 20852.364231000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8400309617493389, \"MicroF1\": 0.8400309617493388, \"MacroF1\": 0.8398031059873, \"Memory in Mb\": 23.806550979614254, \"Time in s\": 22157.639176000004 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8335114072025642, \"MicroF1\": 0.8335114072025642, \"MacroF1\": 0.8310693286634668, \"Memory in Mb\": 25.06292724609375, \"Time in s\": 23499.792247000005 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8283595808566702, \"MicroF1\": 0.8283595808566702, \"MacroF1\": 0.826721014765785, \"Memory in Mb\": 26.060873985290527, \"Time in s\": 24886.958001000006 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.826747175225683, \"MicroF1\": 0.8267471752256829, \"MacroF1\": 0.8259678903415486, \"Memory in Mb\": 27.245673179626465, \"Time in s\": 26317.085564000008 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821943390720747, \"MicroF1\": 0.821943390720747, \"MacroF1\": 0.8202405231953956, \"Memory in Mb\": 28.675668716430664, \"Time in s\": 27793.820666000007 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8182180926865417, \"MicroF1\": 0.8182180926865417, \"MacroF1\": 0.8170173651382093, \"Memory in Mb\": 29.74225902557373, \"Time in s\": 29319.213378000008 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.81878446883182, \"MicroF1\": 0.81878446883182, \"MacroF1\": 0.8179349229322325, \"Memory in Mb\": 30.87984085083008, \"Time in s\": 30892.43160700001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821123154855929, \"MicroF1\": 0.821123154855929, \"MacroF1\": 0.8204502524156659, \"Memory in Mb\": 32.019548416137695, \"Time in s\": 32513.434007000007 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8235200085256035, \"MicroF1\": 0.8235200085256035, \"MacroF1\": 0.8229965581236837, \"Memory in Mb\": 33.157379150390625, \"Time in s\": 34181.929457000006 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.819973924380704, \"MicroF1\": 0.819973924380704, \"MacroF1\": 0.8189812465563673, \"Memory in Mb\": 34.295823097229004, \"Time in s\": 35895.74071300001 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.821733135883164, \"MicroF1\": 0.821733135883164, \"MacroF1\": 0.8211010404575377, \"Memory in Mb\": 35.31475067138672, \"Time in s\": 37655.039070000006 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8188684908208694, \"MicroF1\": 0.8188684908208694, \"MacroF1\": 0.8180458262517715, \"Memory in Mb\": 36.57470226287842, \"Time in s\": 39458.702899 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"ADWIN Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.816559635276239, \"MicroF1\": 0.816559635276239, \"MacroF1\": 0.8159075588016685, \"Memory in Mb\": 37.85576725006104, \"Time in s\": 41308.014952000005 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1111111111111111, \"MicroF1\": 0.1111111111111111, \"MacroF1\": 0.0815018315018315, \"Memory in Mb\": 3.4160032272338867, \"Time in s\": 1.208286 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.2307692307692307, \"MicroF1\": 0.2307692307692307, \"MacroF1\": 0.2226391771283412, \"Memory in Mb\": 4.099128723144531, \"Time in s\": 4.553382 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4233576642335766, \"MicroF1\": 0.4233576642335766, \"MacroF1\": 0.4463537718619156, \"Memory in Mb\": 4.099002838134766, \"Time in s\": 10.351245 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5355191256830601, \"MicroF1\": 0.5355191256830601, \"MacroF1\": 0.5617062146473912, \"Memory in Mb\": 4.099178314208984, \"Time in s\": 18.765494 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5938864628820961, \"MicroF1\": 0.5938864628820961, \"MacroF1\": 0.6236530662596055, \"Memory in Mb\": 4.099166870117188, \"Time in s\": 30.180838 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6290909090909091, \"MicroF1\": 0.6290909090909091, \"MacroF1\": 0.6558170665459355, \"Memory in Mb\": 4.099109649658203, \"Time in s\": 44.412895 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.660436137071651, \"MicroF1\": 0.660436137071651, \"MacroF1\": 0.678574720261515, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 61.214822 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6920980926430518, \"MicroF1\": 0.6920980926430518, \"MacroF1\": 0.7041680355881775, \"Memory in Mb\": 4.0984954833984375, \"Time in s\": 80.427396 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7167070217917676, \"MicroF1\": 0.7167070217917676, \"MacroF1\": 0.7259075149442813, \"Memory in Mb\": 4.097980499267578, \"Time in s\": 102.254145 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7254901960784313, \"MicroF1\": 0.7254901960784313, \"MacroF1\": 0.7325011710849479, \"Memory in Mb\": 4.098300933837891, \"Time in s\": 127.091256 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7386138613861386, \"MicroF1\": 0.7386138613861386, \"MacroF1\": 0.7428621938273078, \"Memory in Mb\": 4.098552703857422, \"Time in s\": 154.35838199999998 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422867513611615, \"MicroF1\": 0.7422867513611615, \"MacroF1\": 0.7453719085253248, \"Memory in Mb\": 4.098358154296875, \"Time in s\": 184.303693 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7487437185929648, \"MicroF1\": 0.7487437185929648, \"MacroF1\": 0.7504522188790486, \"Memory in Mb\": 4.098468780517578, \"Time in s\": 216.734559 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7465007776049767, \"MicroF1\": 0.7465007776049767, \"MacroF1\": 0.7482323503576439, \"Memory in Mb\": 4.098541259765625, \"Time in s\": 252.139078 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7489114658925979, \"MicroF1\": 0.748911465892598, \"MacroF1\": 0.7488472102580618, \"Memory in Mb\": 4.098594665527344, \"Time in s\": 290.044846 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7523809523809524, \"MicroF1\": 0.7523809523809524, \"MacroF1\": 0.7518283723099097, \"Memory in Mb\": 4.098430633544922, \"Time in s\": 330.661237 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7541613316261203, \"MicroF1\": 0.7541613316261204, \"MacroF1\": 0.7531089046321314, \"Memory in Mb\": 4.098361968994141, \"Time in s\": 373.819675 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7557436517533253, \"MicroF1\": 0.7557436517533253, \"MacroF1\": 0.7552013614952863, \"Memory in Mb\": 4.098308563232422, \"Time in s\": 419.6867600000001 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7617411225658648, \"MicroF1\": 0.7617411225658649, \"MacroF1\": 0.7601066395856337, \"Memory in Mb\": 4.098381042480469, \"Time in s\": 467.91378800000007 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.763873775843308, \"MicroF1\": 0.763873775843308, \"MacroF1\": 0.7623480483274478, \"Memory in Mb\": 4.098400115966797, \"Time in s\": 518.622959 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7678756476683938, \"MicroF1\": 0.7678756476683938, \"MacroF1\": 0.7646598072570266, \"Memory in Mb\": 4.098423004150391, \"Time in s\": 571.868767 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7705242334322453, \"MicroF1\": 0.7705242334322453, \"MacroF1\": 0.7668271197983111, \"Memory in Mb\": 4.098529815673828, \"Time in s\": 627.754669 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7757805108798487, \"MicroF1\": 0.7757805108798487, \"MacroF1\": 0.7714920336037777, \"Memory in Mb\": 4.098388671875, \"Time in s\": 686.3790640000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7760652765185857, \"MicroF1\": 0.7760652765185856, \"MacroF1\": 0.7719206139767609, \"Memory in Mb\": 4.098537445068359, \"Time in s\": 747.748718 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7789382071366405, \"MicroF1\": 0.7789382071366405, \"MacroF1\": 0.7750313949659527, \"Memory in Mb\": 4.098442077636719, \"Time in s\": 811.629001 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7849372384937239, \"MicroF1\": 0.7849372384937239, \"MacroF1\": 0.7820003890472508, \"Memory in Mb\": 4.098487854003906, \"Time in s\": 878.060098 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7856567284448026, \"MicroF1\": 0.7856567284448026, \"MacroF1\": 0.7827470902102026, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 947.241797 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7894327894327894, \"MicroF1\": 0.7894327894327894, \"MacroF1\": 0.785982924599392, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 1018.793017 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7906976744186046, \"MicroF1\": 0.7906976744186046, \"MacroF1\": 0.7876424482584368, \"Memory in Mb\": 4.098438262939453, \"Time in s\": 1093.078269 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7933284989122552, \"MicroF1\": 0.7933284989122552, \"MacroF1\": 0.7906471924204205, \"Memory in Mb\": 4.098392486572266, \"Time in s\": 1169.7117919999998 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7978947368421052, \"MicroF1\": 0.7978947368421052, \"MacroF1\": 0.7945020166797493, \"Memory in Mb\": 4.098480224609375, \"Time in s\": 1248.577134 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8028552005438477, \"MicroF1\": 0.8028552005438477, \"MacroF1\": 0.7982243751921434, \"Memory in Mb\": 4.098472595214844, \"Time in s\": 1329.680821 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8035596572181938, \"MicroF1\": 0.8035596572181938, \"MacroF1\": 0.7981876534181912, \"Memory in Mb\": 4.098491668701172, \"Time in s\": 1413.4983189999998 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8035828534868842, \"MicroF1\": 0.8035828534868842, \"MacroF1\": 0.798634974540431, \"Memory in Mb\": 4.098518371582031, \"Time in s\": 1499.905218 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048477315102548, \"MicroF1\": 0.8048477315102549, \"MacroF1\": 0.7997380784882049, \"Memory in Mb\": 4.098381042480469, \"Time in s\": 1588.836817 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8066465256797583, \"MicroF1\": 0.8066465256797583, \"MacroF1\": 0.80161945439383, \"Memory in Mb\": 4.098377227783203, \"Time in s\": 1680.249514 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8059964726631393, \"MicroF1\": 0.8059964726631393, \"MacroF1\": 0.8024858564723997, \"Memory in Mb\": 4.098514556884766, \"Time in s\": 1774.345382 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8070978820835718, \"MicroF1\": 0.8070978820835718, \"MacroF1\": 0.8029124203507955, \"Memory in Mb\": 4.098423004150391, \"Time in s\": 1871.065136 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8081427774679308, \"MicroF1\": 0.8081427774679307, \"MacroF1\": 0.8029834045630979, \"Memory in Mb\": 4.098461151123047, \"Time in s\": 1970.03779 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8069603045133225, \"MicroF1\": 0.8069603045133223, \"MacroF1\": 0.801927622716254, \"Memory in Mb\": 4.098594665527344, \"Time in s\": 2071.588776 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8053050397877984, \"MicroF1\": 0.8053050397877984, \"MacroF1\": 0.8006727596367825, \"Memory in Mb\": 4.098400115966797, \"Time in s\": 2175.772942 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8047643707923355, \"MicroF1\": 0.8047643707923355, \"MacroF1\": 0.7995493059800365, \"Memory in Mb\": 4.098396301269531, \"Time in s\": 2282.41088 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8057663125948407, \"MicroF1\": 0.8057663125948407, \"MacroF1\": 0.8003960406612564, \"Memory in Mb\": 4.098434448242188, \"Time in s\": 2391.59611 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8072170044488384, \"MicroF1\": 0.8072170044488384, \"MacroF1\": 0.8005625942078284, \"Memory in Mb\": 4.098430633544922, \"Time in s\": 2503.16971 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8066698888351861, \"MicroF1\": 0.8066698888351861, \"MacroF1\": 0.8002110568368, \"Memory in Mb\": 4.098316192626953, \"Time in s\": 2617.3694960000003 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.807565011820331, \"MicroF1\": 0.807565011820331, \"MacroF1\": 0.8005131307885663, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 2733.922308 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8079592781119852, \"MicroF1\": 0.8079592781119852, \"MacroF1\": 0.8006755955605837, \"Memory in Mb\": 4.098320007324219, \"Time in s\": 2852.747139 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8087902129587675, \"MicroF1\": 0.8087902129587675, \"MacroF1\": 0.8009921695193862, \"Memory in Mb\": 4.098320007324219, \"Time in s\": 2973.740681 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8060363959165557, \"MicroF1\": 0.8060363959165557, \"MacroF1\": 0.7987732120640717, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 3097.6149410000003 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8051326663766856, \"MicroF1\": 0.8051326663766856, \"MacroF1\": 0.798077892809675, \"Memory in Mb\": 4.0983428955078125, \"Time in s\": 3223.9293610000004 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8046773495019489, \"MicroF1\": 0.8046773495019489, \"MacroF1\": 0.7977695866822911, \"Memory in Mb\": 4.098388671875, \"Time in s\": 3350.8763620000004 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5992691812827112, \"Memory in Mb\": 6.474042892456055, \"Time in s\": 88.969298 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6110847939365229, \"MicroF1\": 0.6110847939365229, \"MacroF1\": 0.5773210074897359, \"Memory in Mb\": 6.473905563354492, \"Time in s\": 256.045675 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6043574360593622, \"MicroF1\": 0.6043574360593622, \"MacroF1\": 0.5704368753709179, \"Memory in Mb\": 6.473470687866211, \"Time in s\": 489.83548 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6014681506038362, \"MicroF1\": 0.6014681506038362, \"MacroF1\": 0.5676969561642586, \"Memory in Mb\": 6.473196029663086, \"Time in s\": 783.3519140000001 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057965523773442, \"MicroF1\": 0.6057965523773442, \"MacroF1\": 0.5710016183775801, \"Memory in Mb\": 6.473196029663086, \"Time in s\": 1130.801617 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5966850828729282, \"MicroF1\": 0.5966850828729282, \"MacroF1\": 0.5635903588556204, \"Memory in Mb\": 6.473356246948242, \"Time in s\": 1527.884634 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5957245298335814, \"MicroF1\": 0.5957245298335814, \"MacroF1\": 0.5625002603439991, \"Memory in Mb\": 6.473814010620117, \"Time in s\": 1971.450931 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5982005445720374, \"MicroF1\": 0.5982005445720374, \"MacroF1\": 0.5646892369665863, \"Memory in Mb\": 6.474157333374023, \"Time in s\": 2461.351589 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.596337998526781, \"MicroF1\": 0.596337998526781, \"MacroF1\": 0.5627085514562804, \"Memory in Mb\": 6.47450065612793, \"Time in s\": 2997.75158 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5965527038545316, \"MicroF1\": 0.5965527038545316, \"MacroF1\": 0.5631320282838163, \"Memory in Mb\": 6.47468376159668, \"Time in s\": 3580.189969 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5953508394317693, \"MicroF1\": 0.5953508394317693, \"MacroF1\": 0.562671447170627, \"Memory in Mb\": 6.47468376159668, \"Time in s\": 4209.202801 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5979796385447084, \"MicroF1\": 0.5979796385447084, \"MacroF1\": 0.5680559575776837, \"Memory in Mb\": 6.474340438842773, \"Time in s\": 4886.872526 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.610767101333139, \"MicroF1\": 0.610767101333139, \"MacroF1\": 0.5941277335666079, \"Memory in Mb\": 6.473836898803711, \"Time in s\": 5609.570035 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.6019752418318338, \"MicroF1\": 0.6019752418318338, \"MacroF1\": 0.5851264744797859, \"Memory in Mb\": 6.473745346069336, \"Time in s\": 6378.998584999999 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5705536965717533, \"MicroF1\": 0.5705536965717533, \"MacroF1\": 0.5545059657048704, \"Memory in Mb\": 6.473974227905273, \"Time in s\": 7193.860588999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.548091151228174, \"MicroF1\": 0.548091151228174, \"MacroF1\": 0.5320735507355622, \"Memory in Mb\": 6.474386215209961, \"Time in s\": 8051.816493999999 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5307225224221492, \"MicroF1\": 0.5307225224221492, \"MacroF1\": 0.5138536287616571, \"Memory in Mb\": 6.474637985229492, \"Time in s\": 8952.059017 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5182827379386542, \"MicroF1\": 0.5182827379386542, \"MacroF1\": 0.4990809738484312, \"Memory in Mb\": 6.47486686706543, \"Time in s\": 9893.706361 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5182176145142801, \"MicroF1\": 0.5182176145142801, \"MacroF1\": 0.497867701567998, \"Memory in Mb\": 8.642622947692871, \"Time in s\": 10881.966771 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5272503432927695, \"MicroF1\": 0.5272503432927695, \"MacroF1\": 0.5067114684709674, \"Memory in Mb\": 15.437758445739746, \"Time in s\": 11917.076256 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.533032694475761, \"MicroF1\": 0.533032694475761, \"MacroF1\": 0.5127471323280748, \"Memory in Mb\": 16.81709384918213, \"Time in s\": 12999.258268 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5410442942619775, \"MicroF1\": 0.5410442942619775, \"MacroF1\": 0.5207771198745245, \"Memory in Mb\": 17.041016578674316, \"Time in s\": 14124.681759 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5459710956478775, \"MicroF1\": 0.5459710956478775, \"MacroF1\": 0.5251711652768184, \"Memory in Mb\": 17.038064002990723, \"Time in s\": 15290.808705 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5532099593576135, \"MicroF1\": 0.5532099593576135, \"MacroF1\": 0.5314216535856217, \"Memory in Mb\": 17.036622047424316, \"Time in s\": 16491.42669 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5607788173794462, \"MicroF1\": 0.5607788173794462, \"MacroF1\": 0.5375130024626694, \"Memory in Mb\": 17.14900016784668, \"Time in s\": 17723.115047 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5667091604443635, \"MicroF1\": 0.5667091604443635, \"MacroF1\": 0.5418496825562071, \"Memory in Mb\": 17.261820793151855, \"Time in s\": 18986.675501 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5692890463329943, \"MicroF1\": 0.5692890463329943, \"MacroF1\": 0.5455529487931667, \"Memory in Mb\": 17.26294231414795, \"Time in s\": 20283.404341 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5688436432509216, \"MicroF1\": 0.5688436432509216, \"MacroF1\": 0.5481992899375988, \"Memory in Mb\": 17.26337718963623, \"Time in s\": 21617.011828 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5687228553701467, \"MicroF1\": 0.5687228553701467, \"MacroF1\": 0.5505043481720591, \"Memory in Mb\": 17.26330852508545, \"Time in s\": 22980.237824 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5691467533697402, \"MicroF1\": 0.5691467533697402, \"MacroF1\": 0.5529220328647554, \"Memory in Mb\": 17.262804985046387, \"Time in s\": 24378.053405 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5703986558729189, \"MicroF1\": 0.5703986558729189, \"MacroF1\": 0.5556828084411201, \"Memory in Mb\": 17.262507438659668, \"Time in s\": 25809.039082 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5650025154626972, \"MicroF1\": 0.5650025154626972, \"MacroF1\": 0.5507695387439543, \"Memory in Mb\": 17.487704277038574, \"Time in s\": 27274.413314 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5587281545039745, \"MicroF1\": 0.5587281545039745, \"MacroF1\": 0.5445349362041821, \"Memory in Mb\": 17.929275512695312, \"Time in s\": 28775.770082 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5541876723393588, \"MicroF1\": 0.5541876723393588, \"MacroF1\": 0.5396635045593164, \"Memory in Mb\": 18.030207633972168, \"Time in s\": 30311.158157 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.549122000054114, \"MicroF1\": 0.549122000054114, \"MacroF1\": 0.5343517375956978, \"Memory in Mb\": 19.681435585021973, \"Time in s\": 31880.342243 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5473628830724714, \"MicroF1\": 0.5473628830724714, \"MacroF1\": 0.5321033552605493, \"Memory in Mb\": 21.71814346313477, \"Time in s\": 33482.866823 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5426787131120269, \"MicroF1\": 0.5426787131120269, \"MacroF1\": 0.52803892360078, \"Memory in Mb\": 22.487850189208984, \"Time in s\": 35116.535538 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5419293742367982, \"MicroF1\": 0.5419293742367982, \"MacroF1\": 0.5284857300708793, \"Memory in Mb\": 23.76238250732422, \"Time in s\": 36778.160189 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5417769467984362, \"MicroF1\": 0.5417769467984362, \"MacroF1\": 0.5296361895775551, \"Memory in Mb\": 23.860816955566406, \"Time in s\": 38464.674338 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5422240109851085, \"MicroF1\": 0.5422240109851085, \"MacroF1\": 0.5313111510734391, \"Memory in Mb\": 24.196860313415527, \"Time in s\": 40175.576413 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5444970550871925, \"MicroF1\": 0.5444970550871925, \"MacroF1\": 0.5344195798463859, \"Memory in Mb\": 24.296037673950195, \"Time in s\": 41906.99288399999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5463461928705102, \"MicroF1\": 0.5463461928705102, \"MacroF1\": 0.5369578677381479, \"Memory in Mb\": 24.84640598297119, \"Time in s\": 43659.477485 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5482855066399454, \"MicroF1\": 0.5482855066399454, \"MacroF1\": 0.5392181145139481, \"Memory in Mb\": 25.28636360168457, \"Time in s\": 45430.571796 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5506532079288896, \"MicroF1\": 0.5506532079288896, \"MacroF1\": 0.5419048601727473, \"Memory in Mb\": 25.498303413391117, \"Time in s\": 47220.970484 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5514846692901787, \"MicroF1\": 0.5514846692901787, \"MacroF1\": 0.5429796926051395, \"Memory in Mb\": 25.82335567474365, \"Time in s\": 49033.125826 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5515388574369532, \"MicroF1\": 0.5515388574369532, \"MacroF1\": 0.543031483592694, \"Memory in Mb\": 25.821112632751465, \"Time in s\": 50867.580247 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.551953416211642, \"MicroF1\": 0.551953416211642, \"MacroF1\": 0.5433574148660688, \"Memory in Mb\": 26.09889411926269, \"Time in s\": 52723.913942 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5563359441276856, \"MicroF1\": 0.5563359441276856, \"MacroF1\": 0.5472854805195191, \"Memory in Mb\": 26.366034507751465, \"Time in s\": 54600.511787 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5623562607502464, \"MicroF1\": 0.5623562607502464, \"MacroF1\": 0.552981536157949, \"Memory in Mb\": 27.10032081604004, \"Time in s\": 56496.789585 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5634576412432054, \"MicroF1\": 0.5634576412432054, \"MacroF1\": 0.5545218292020726, \"Memory in Mb\": 27.943178176879883, \"Time in s\": 58415.671716 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Insects\", \"Accuracy\": 0.5635324616345299, \"MicroF1\": 0.5635324616345299, \"MacroF1\": 0.5546220283668154, \"Memory in Mb\": 27.942995071411133, \"Time in s\": 60335.727696 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9877149877149876, \"MicroF1\": 0.9877149877149876, \"MacroF1\": 0.7696139476961394, \"Memory in Mb\": 2.1207275390625, \"Time in s\": 4.211814 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.988957055214724, \"MicroF1\": 0.988957055214724, \"MacroF1\": 0.9592655637573824, \"Memory in Mb\": 2.9369373321533203, \"Time in s\": 23.739993 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.983646770237122, \"MicroF1\": 0.983646770237122, \"MacroF1\": 0.9326470331192014, \"Memory in Mb\": 4.590028762817383, \"Time in s\": 86.527265 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828326180257512, \"MicroF1\": 0.9828326180257512, \"MacroF1\": 0.9594506659780556, \"Memory in Mb\": 5.819695472717285, \"Time in s\": 184.232691 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9705738106915156, \"MicroF1\": 0.9705738106915156, \"MacroF1\": 0.9304838721924584, \"Memory in Mb\": 8.549582481384277, \"Time in s\": 323.308574 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607682876992236, \"MicroF1\": 0.9607682876992236, \"MacroF1\": 0.9455756842664336, \"Memory in Mb\": 10.061903953552246, \"Time in s\": 491.40663400000005 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541155866900176, \"MicroF1\": 0.9541155866900176, \"MacroF1\": 0.9254688528922778, \"Memory in Mb\": 12.678574562072754, \"Time in s\": 687.150288 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943610174685872, \"MicroF1\": 0.943610174685872, \"MacroF1\": 0.9191430707434156, \"Memory in Mb\": 16.086813926696777, \"Time in s\": 906.458431 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9403432307273224, \"MicroF1\": 0.9403432307273224, \"MacroF1\": 0.9284235615798526, \"Memory in Mb\": 18.255277633666992, \"Time in s\": 1151.002639 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9338073057121844, \"MicroF1\": 0.9338073057121844, \"MacroF1\": 0.918242970538206, \"Memory in Mb\": 21.65336036682129, \"Time in s\": 1427.8669570000002 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9318029864051705, \"MicroF1\": 0.9318029864051705, \"MacroF1\": 0.9319119487505448, \"Memory in Mb\": 22.76876544952393, \"Time in s\": 1733.8095280000002 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9317671092951992, \"MicroF1\": 0.9317671092951992, \"MacroF1\": 0.9296889978700974, \"Memory in Mb\": 24.966033935546875, \"Time in s\": 2062.8329900000003 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9281538751650008, \"MicroF1\": 0.9281538751650008, \"MacroF1\": 0.919765356403914, \"Memory in Mb\": 29.062508583068848, \"Time in s\": 2423.731892 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9227805988443356, \"MicroF1\": 0.9227805988443356, \"MacroF1\": 0.9201475418022376, \"Memory in Mb\": 32.12655830383301, \"Time in s\": 2815.063536 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9177970256577872, \"MicroF1\": 0.9177970256577872, \"MacroF1\": 0.9072843264203106, \"Memory in Mb\": 37.27707767486572, \"Time in s\": 3238.118927 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9115979776313774, \"MicroF1\": 0.9115979776313774, \"MacroF1\": 0.909931232789514, \"Memory in Mb\": 41.43412208557129, \"Time in s\": 3706.915394 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.912905551550108, \"MicroF1\": 0.912905551550108, \"MacroF1\": 0.9153430596364792, \"Memory in Mb\": 44.48411560058594, \"Time in s\": 4207.758914 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9135230832084978, \"MicroF1\": 0.9135230832084978, \"MacroF1\": 0.9124682676754272, \"Memory in Mb\": 47.44067192077637, \"Time in s\": 4740.722969 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9121403689846472, \"MicroF1\": 0.9121403689846472, \"MacroF1\": 0.9121831707972876, \"Memory in Mb\": 51.03960132598877, \"Time in s\": 5307.755902000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.908689790415492, \"MicroF1\": 0.908689790415492, \"MacroF1\": 0.9062633734460516, \"Memory in Mb\": 56.064818382263184, \"Time in s\": 5918.019803000001 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.905918057663126, \"MicroF1\": 0.905918057663126, \"MacroF1\": 0.9058259471519292, \"Memory in Mb\": 61.820496559143066, \"Time in s\": 6575.962782000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9042896935933148, \"MicroF1\": 0.9042896935933148, \"MacroF1\": 0.9043251050138336, \"Memory in Mb\": 64.74030494689941, \"Time in s\": 7280.842530000002 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.901843759991474, \"MicroF1\": 0.901843759991474, \"MacroF1\": 0.9009662752730246, \"Memory in Mb\": 68.81300067901611, \"Time in s\": 8035.1031440000015 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8971504442855683, \"MicroF1\": 0.8971504442855683, \"MacroF1\": 0.8956423708961025, \"Memory in Mb\": 74.25286674499512, \"Time in s\": 8855.073479000002 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8926365329934307, \"MicroF1\": 0.8926365329934307, \"MacroF1\": 0.8903074227158838, \"Memory in Mb\": 79.6785535812378, \"Time in s\": 9744.976722000005 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8846987838220043, \"MicroF1\": 0.8846987838220043, \"MacroF1\": 0.8819820059100918, \"Memory in Mb\": 85.28873825073242, \"Time in s\": 10726.537155000004 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8791647753064004, \"MicroF1\": 0.8791647753064004, \"MacroF1\": 0.8795835231396919, \"Memory in Mb\": 89.59383392333984, \"Time in s\": 11788.438997000005 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8759520266129738, \"MicroF1\": 0.8759520266129738, \"MacroF1\": 0.8744149508862001, \"Memory in Mb\": 94.86630344390868, \"Time in s\": 12917.703791000004 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.872200152142676, \"MicroF1\": 0.872200152142676, \"MacroF1\": 0.8717012117300328, \"Memory in Mb\": 100.15169906616212, \"Time in s\": 14117.771334000005 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8736824903995425, \"MicroF1\": 0.8736824903995425, \"MacroF1\": 0.8749440738646468, \"Memory in Mb\": 101.9357843399048, \"Time in s\": 15365.994884000003 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8717482406894915, \"MicroF1\": 0.8717482406894915, \"MacroF1\": 0.8710221211412438, \"Memory in Mb\": 107.46908473968506, \"Time in s\": 16670.526324000002 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8661815396399847, \"MicroF1\": 0.8661815396399847, \"MacroF1\": 0.8651994621744733, \"Memory in Mb\": 112.71690273284912, \"Time in s\": 18043.485216 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8642204560647702, \"MicroF1\": 0.8642204560647702, \"MacroF1\": 0.8645487273027374, \"Memory in Mb\": 116.56386756896973, \"Time in s\": 19480.298866 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8619421815298104, \"MicroF1\": 0.8619421815298104, \"MacroF1\": 0.862314869215492, \"Memory in Mb\": 121.52821636199953, \"Time in s\": 20980.471725 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.859163806989285, \"MicroF1\": 0.859163806989285, \"MacroF1\": 0.8592780138529494, \"Memory in Mb\": 125.80194187164308, \"Time in s\": 22534.622977 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8591952066453326, \"MicroF1\": 0.8591952066453326, \"MacroF1\": 0.8604793833246808, \"Memory in Mb\": 129.6016607284546, \"Time in s\": 24135.768584 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8607485922490891, \"MicroF1\": 0.8607485922490891, \"MacroF1\": 0.8621609789956539, \"Memory in Mb\": 132.68816757202148, \"Time in s\": 25779.863983 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8604141133974069, \"MicroF1\": 0.8604141133974069, \"MacroF1\": 0.8613237595899307, \"Memory in Mb\": 136.05841445922852, \"Time in s\": 27480.057181 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8536861290930803, \"MicroF1\": 0.8536861290930803, \"MacroF1\": 0.853192144751886, \"Memory in Mb\": 141.70578575134277, \"Time in s\": 29254.423593 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8493167473497151, \"MicroF1\": 0.849316747349715, \"MacroF1\": 0.8496464102754333, \"Memory in Mb\": 147.49746799468994, \"Time in s\": 31089.50572 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.846296407006636, \"MicroF1\": 0.846296407006636, \"MacroF1\": 0.8470383589757107, \"Memory in Mb\": 153.1935510635376, \"Time in s\": 32973.577156 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8411438576014006, \"MicroF1\": 0.8411438576014006, \"MacroF1\": 0.8410396667771575, \"Memory in Mb\": 156.28132915496826, \"Time in s\": 34948.88082 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8365729920766117, \"MicroF1\": 0.8365729920766117, \"MacroF1\": 0.8367907010021001, \"Memory in Mb\": 161.03080940246582, \"Time in s\": 36967.519165 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8355523369171634, \"MicroF1\": 0.8355523369171634, \"MacroF1\": 0.8362918425397341, \"Memory in Mb\": 166.63249397277832, \"Time in s\": 39016.229589 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.837572852551882, \"MicroF1\": 0.8375728525518821, \"MacroF1\": 0.8385662484273668, \"Memory in Mb\": 171.47760772705078, \"Time in s\": 41092.028593 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8390259498055097, \"MicroF1\": 0.8390259498055097, \"MacroF1\": 0.8401126675526959, \"Memory in Mb\": 175.70373821258545, \"Time in s\": 43194.947864 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8376531942633637, \"MicroF1\": 0.8376531942633637, \"MacroF1\": 0.838676297522501, \"Memory in Mb\": 180.87701034545896, \"Time in s\": 45330.650988 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8390951335341879, \"MicroF1\": 0.8390951335341879, \"MacroF1\": 0.8403338496937821, \"Memory in Mb\": 185.05438709259036, \"Time in s\": 47482.84587799999 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8372767745485469, \"MicroF1\": 0.8372767745485468, \"MacroF1\": 0.8385640183306876, \"Memory in Mb\": 190.1383810043335, \"Time in s\": 49661.2352 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"AdaBoost\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8347958233246727, \"MicroF1\": 0.8347958233246727, \"MacroF1\": 0.8360623278174891, \"Memory in Mb\": 194.794171333313, \"Time in s\": 51861.27850099999 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3111111111111111, \"MicroF1\": 0.3111111111111111, \"MacroF1\": 0.2457649726557289, \"Memory in Mb\": 4.149084091186523, \"Time in s\": 2.196675 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4835164835164835, \"MicroF1\": 0.4835164835164835, \"MacroF1\": 0.4934752395581889, \"Memory in Mb\": 4.152299880981445, \"Time in s\": 7.023639 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5328467153284672, \"MicroF1\": 0.5328467153284672, \"MacroF1\": 0.5528821792646678, \"Memory in Mb\": 4.15202522277832, \"Time in s\": 15.046926 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5956284153005464, \"MicroF1\": 0.5956284153005464, \"MacroF1\": 0.6141431648908949, \"Memory in Mb\": 4.152608871459961, \"Time in s\": 26.297795 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.62882096069869, \"MicroF1\": 0.62882096069869, \"MacroF1\": 0.6441389332893815, \"Memory in Mb\": 4.151983261108398, \"Time in s\": 40.50873 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.64, \"MicroF1\": 0.64, \"MacroF1\": 0.6559607038460421, \"Memory in Mb\": 4.152521133422852, \"Time in s\": 57.698206 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6666666666666666, \"MicroF1\": 0.6666666666666666, \"MacroF1\": 0.6673617488913626, \"Memory in Mb\": 4.152231216430664, \"Time in s\": 77.585785 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6948228882833788, \"MicroF1\": 0.6948228882833788, \"MacroF1\": 0.6911959597548878, \"Memory in Mb\": 4.152448654174805, \"Time in s\": 100.185488 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.711864406779661, \"MicroF1\": 0.711864406779661, \"MacroF1\": 0.7079630503641953, \"Memory in Mb\": 4.152788162231445, \"Time in s\": 125.717288 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7124183006535948, \"MicroF1\": 0.7124183006535948, \"MacroF1\": 0.7065500352371009, \"Memory in Mb\": 4.152704238891602, \"Time in s\": 154.000542 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7207920792079208, \"MicroF1\": 0.7207920792079208, \"MacroF1\": 0.7127593158348896, \"Memory in Mb\": 4.152563095092773, \"Time in s\": 184.883226 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7259528130671506, \"MicroF1\": 0.7259528130671506, \"MacroF1\": 0.7192025503807162, \"Memory in Mb\": 4.152528762817383, \"Time in s\": 218.482328 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7319932998324958, \"MicroF1\": 0.7319932998324957, \"MacroF1\": 0.7251188986558661, \"Memory in Mb\": 4.152769088745117, \"Time in s\": 254.840787 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7309486780715396, \"MicroF1\": 0.7309486780715396, \"MacroF1\": 0.7259740406437201, \"Memory in Mb\": 4.152563095092773, \"Time in s\": 294.12903800000004 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7358490566037735, \"MicroF1\": 0.7358490566037735, \"MacroF1\": 0.7304359912942561, \"Memory in Mb\": 4.152692794799805, \"Time in s\": 336.073433 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7374149659863946, \"MicroF1\": 0.7374149659863947, \"MacroF1\": 0.733149934717071, \"Memory in Mb\": 4.152753829956055, \"Time in s\": 380.701162 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7426376440460948, \"MicroF1\": 0.7426376440460948, \"MacroF1\": 0.7385597120510639, \"Memory in Mb\": 4.152643203735352, \"Time in s\": 428.175969 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436517533252721, \"MicroF1\": 0.7436517533252721, \"MacroF1\": 0.7412375783772316, \"Memory in Mb\": 4.152631759643555, \"Time in s\": 478.460063 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7491408934707904, \"MicroF1\": 0.7491408934707904, \"MacroF1\": 0.7454343548790067, \"Memory in Mb\": 4.153181076049805, \"Time in s\": 531.417765 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7486398258977149, \"MicroF1\": 0.7486398258977149, \"MacroF1\": 0.7441307384051415, \"Memory in Mb\": 4.153326034545898, \"Time in s\": 587.1362770000001 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7492227979274612, \"MicroF1\": 0.749222797927461, \"MacroF1\": 0.7439306216964366, \"Memory in Mb\": 4.153120040893555, \"Time in s\": 645.6842 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7487636003956478, \"MicroF1\": 0.7487636003956478, \"MacroF1\": 0.7437900284473965, \"Memory in Mb\": 4.153234481811523, \"Time in s\": 707.105172 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750236518448439, \"MicroF1\": 0.7502365184484389, \"MacroF1\": 0.7448138061687654, \"Memory in Mb\": 4.153268814086914, \"Time in s\": 771.2868930000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7524932003626473, \"MicroF1\": 0.7524932003626473, \"MacroF1\": 0.7468314646869904, \"Memory in Mb\": 4.153234481811523, \"Time in s\": 838.222518 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7554395126196692, \"MicroF1\": 0.7554395126196692, \"MacroF1\": 0.7493227137357602, \"Memory in Mb\": 4.153413772583008, \"Time in s\": 907.556087 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7581589958158996, \"MicroF1\": 0.7581589958158996, \"MacroF1\": 0.7527652773681007, \"Memory in Mb\": 4.153318405151367, \"Time in s\": 979.579718 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7574536663980661, \"MicroF1\": 0.7574536663980661, \"MacroF1\": 0.7525915384194216, \"Memory in Mb\": 4.153432846069336, \"Time in s\": 1054.216781 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7622377622377622, \"MicroF1\": 0.7622377622377621, \"MacroF1\": 0.7563448085202398, \"Memory in Mb\": 4.153615951538086, \"Time in s\": 1131.5718310000002 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7621905476369092, \"MicroF1\": 0.7621905476369092, \"MacroF1\": 0.7566636999776912, \"Memory in Mb\": 4.153776168823242, \"Time in s\": 1211.5912470000003 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7635968092820885, \"MicroF1\": 0.7635968092820886, \"MacroF1\": 0.7587252257765656, \"Memory in Mb\": 4.153825759887695, \"Time in s\": 1294.4019940000005 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7663157894736842, \"MicroF1\": 0.7663157894736842, \"MacroF1\": 0.7609139797315134, \"Memory in Mb\": 4.153848648071289, \"Time in s\": 1379.8910190000004 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7709041468388851, \"MicroF1\": 0.7709041468388851, \"MacroF1\": 0.7637689949207689, \"Memory in Mb\": 4.153989791870117, \"Time in s\": 1467.9946540000003 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7719182597231378, \"MicroF1\": 0.7719182597231378, \"MacroF1\": 0.7639714255563932, \"Memory in Mb\": 4.154367446899414, \"Time in s\": 1558.8129900000004 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7722328854766475, \"MicroF1\": 0.7722328854766475, \"MacroF1\": 0.7650721335080709, \"Memory in Mb\": 4.154550552368164, \"Time in s\": 1652.2028900000005 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7725295214418894, \"MicroF1\": 0.7725295214418892, \"MacroF1\": 0.764505787280341, \"Memory in Mb\": 4.154642105102539, \"Time in s\": 1748.3782850000002 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7716012084592145, \"MicroF1\": 0.7716012084592145, \"MacroF1\": 0.7634170612719108, \"Memory in Mb\": 4.15452766418457, \"Time in s\": 1847.3163560000005 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7713109935332157, \"MicroF1\": 0.7713109935332157, \"MacroF1\": 0.7652815676598499, \"Memory in Mb\": 4.154825210571289, \"Time in s\": 1948.702894 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.77389811104751, \"MicroF1\": 0.77389811104751, \"MacroF1\": 0.7674409436090757, \"Memory in Mb\": 4.155008316040039, \"Time in s\": 2052.533374 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7752370329057445, \"MicroF1\": 0.7752370329057446, \"MacroF1\": 0.7674318582149376, \"Memory in Mb\": 4.155046463012695, \"Time in s\": 2159.053176 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7765089722675367, \"MicroF1\": 0.7765089722675368, \"MacroF1\": 0.7688731808749575, \"Memory in Mb\": 4.154977798461914, \"Time in s\": 2268.233507 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7750663129973475, \"MicroF1\": 0.7750663129973475, \"MacroF1\": 0.7678921362145585, \"Memory in Mb\": 4.154905319213867, \"Time in s\": 2379.837789 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7752459865354738, \"MicroF1\": 0.7752459865354739, \"MacroF1\": 0.7671636716269125, \"Memory in Mb\": 4.155000686645508, \"Time in s\": 2494.085284 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7759231158320687, \"MicroF1\": 0.7759231158320687, \"MacroF1\": 0.7670573130332384, \"Memory in Mb\": 4.154901504516602, \"Time in s\": 2611.052254 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7775580820563519, \"MicroF1\": 0.7775580820563519, \"MacroF1\": 0.7671264358471986, \"Memory in Mb\": 4.154878616333008, \"Time in s\": 2730.562491 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.77670372160464, \"MicroF1\": 0.7767037216046399, \"MacroF1\": 0.7665050383810529, \"Memory in Mb\": 4.15495491027832, \"Time in s\": 2852.439553 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7773049645390071, \"MicroF1\": 0.7773049645390071, \"MacroF1\": 0.766340416614934, \"Memory in Mb\": 4.15495491027832, \"Time in s\": 2976.99213 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7783433595557612, \"MicroF1\": 0.7783433595557612, \"MacroF1\": 0.766965714748886, \"Memory in Mb\": 4.155027389526367, \"Time in s\": 3104.012504 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.780244676030811, \"MicroF1\": 0.780244676030811, \"MacroF1\": 0.7678552364681828, \"Memory in Mb\": 4.155023574829102, \"Time in s\": 3233.660984 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7776298268974701, \"MicroF1\": 0.7776298268974701, \"MacroF1\": 0.7652407320979201, \"Memory in Mb\": 4.154973983764648, \"Time in s\": 3365.640643 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7768595041322314, \"MicroF1\": 0.7768595041322314, \"MacroF1\": 0.764461061100325, \"Memory in Mb\": 4.15504264831543, \"Time in s\": 3499.962334 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769597228237333, \"MicroF1\": 0.7769597228237333, \"MacroF1\": 0.7645642360301897, \"Memory in Mb\": 4.155065536499023, \"Time in s\": 3634.881072 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360189573459716, \"MicroF1\": 0.6360189573459716, \"MacroF1\": 0.5970323052762561, \"Memory in Mb\": 6.533428192138672, \"Time in s\": 93.097088 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.62482235907153, \"MicroF1\": 0.62482235907153, \"MacroF1\": 0.5890580890213498, \"Memory in Mb\": 6.533924102783203, \"Time in s\": 264.682132 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157246605620461, \"MicroF1\": 0.6157246605620461, \"MacroF1\": 0.5802533923244892, \"Memory in Mb\": 6.534633636474609, \"Time in s\": 504.284209 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6107032914989344, \"MicroF1\": 0.6107032914989344, \"MacroF1\": 0.5748501357120321, \"Memory in Mb\": 6.535015106201172, \"Time in s\": 804.5259470000001 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.614889183557492, \"MicroF1\": 0.614889183557492, \"MacroF1\": 0.5777842549225517, \"Memory in Mb\": 6.535823822021484, \"Time in s\": 1159.582019 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.608997632202052, \"MicroF1\": 0.608997632202052, \"MacroF1\": 0.5733157350789625, \"Memory in Mb\": 6.535648345947266, \"Time in s\": 1564.000203 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6057367068055743, \"MicroF1\": 0.6057367068055743, \"MacroF1\": 0.5703382690867537, \"Memory in Mb\": 6.535068511962891, \"Time in s\": 2016.310233 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6069610512608027, \"MicroF1\": 0.6069610512608027, \"MacroF1\": 0.5711427916016896, \"Memory in Mb\": 6.534946441650391, \"Time in s\": 2516.339397 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6039145532989583, \"MicroF1\": 0.6039145532989583, \"MacroF1\": 0.5678102867297489, \"Memory in Mb\": 6.535068511962891, \"Time in s\": 3064.243813 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6034662373330808, \"MicroF1\": 0.6034662373330808, \"MacroF1\": 0.567425153452482, \"Memory in Mb\": 6.535427093505859, \"Time in s\": 3659.768381 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6005165733964701, \"MicroF1\": 0.6005165733964701, \"MacroF1\": 0.56512832395729, \"Memory in Mb\": 6.535404205322266, \"Time in s\": 4303.846419 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6031883829216321, \"MicroF1\": 0.6031883829216321, \"MacroF1\": 0.5703828979306639, \"Memory in Mb\": 6.535358428955078, \"Time in s\": 4997.310473 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6147009543235958, \"MicroF1\": 0.6147009543235958, \"MacroF1\": 0.5955104002005771, \"Memory in Mb\": 6.534030914306641, \"Time in s\": 5738.022631999999 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6051545694378678, \"MicroF1\": 0.6051545694378678, \"MacroF1\": 0.586271708420286, \"Memory in Mb\": 6.533008575439453, \"Time in s\": 6524.316427 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5703642906749163, \"MicroF1\": 0.5703642906749163, \"MacroF1\": 0.5530031721301686, \"Memory in Mb\": 6.534244537353516, \"Time in s\": 7355.370967999999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5440662918023084, \"MicroF1\": 0.5440662918023084, \"MacroF1\": 0.5274181049148582, \"Memory in Mb\": 6.532741546630859, \"Time in s\": 8230.882624 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.524650437301543, \"MicroF1\": 0.524650437301543, \"MacroF1\": 0.5077439094080566, \"Memory in Mb\": 6.533657073974609, \"Time in s\": 9149.482306 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5142842110801283, \"MicroF1\": 0.5142842110801283, \"MacroF1\": 0.4945495171544722, \"Memory in Mb\": 5.423342704772949, \"Time in s\": 10110.1367 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5202611772915317, \"MicroF1\": 0.5202611772915317, \"MacroF1\": 0.499632175624185, \"Memory in Mb\": 13.463048934936523, \"Time in s\": 11121.939621 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5284814621904447, \"MicroF1\": 0.5284814621904447, \"MacroF1\": 0.5082299437323158, \"Memory in Mb\": 14.233846664428713, \"Time in s\": 12202.11771 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5344757609921083, \"MicroF1\": 0.5344757609921083, \"MacroF1\": 0.5148729059414189, \"Memory in Mb\": 14.772774696350098, \"Time in s\": 13344.394485 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5430674529723215, \"MicroF1\": 0.5430674529723215, \"MacroF1\": 0.5233933209280776, \"Memory in Mb\": 14.684733390808104, \"Time in s\": 14542.607494 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5502120475974801, \"MicroF1\": 0.5502120475974801, \"MacroF1\": 0.5298443248135049, \"Memory in Mb\": 16.20911407470703, \"Time in s\": 15791.070918 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5564061081955569, \"MicroF1\": 0.5564061081955569, \"MacroF1\": 0.5355525016331893, \"Memory in Mb\": 16.199478149414062, \"Time in s\": 17093.843057 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.561460661388689, \"MicroF1\": 0.561460661388689, \"MacroF1\": 0.5398397773012414, \"Memory in Mb\": 16.192718505859375, \"Time in s\": 18441.382026 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.564742305590967, \"MicroF1\": 0.564742305590967, \"MacroF1\": 0.5421523628031605, \"Memory in Mb\": 15.229331016540527, \"Time in s\": 19838.570208 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5680614499666795, \"MicroF1\": 0.5680614499666795, \"MacroF1\": 0.5472893783055924, \"Memory in Mb\": 13.71937370300293, \"Time in s\": 21280.868604 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5701288598775662, \"MicroF1\": 0.5701288598775662, \"MacroF1\": 0.55295508639855, \"Memory in Mb\": 11.343052864074709, \"Time in s\": 22768.358846 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5724128922705156, \"MicroF1\": 0.5724128922705156, \"MacroF1\": 0.5585792537754973, \"Memory in Mb\": 9.387857437133787, \"Time in s\": 24294.822849 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5749865841724802, \"MicroF1\": 0.5749865841724802, \"MacroF1\": 0.5636037623129485, \"Memory in Mb\": 9.38664436340332, \"Time in s\": 25857.719223 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5781884832747823, \"MicroF1\": 0.5781884832747823, \"MacroF1\": 0.5684564968293649, \"Memory in Mb\": 9.385660171508787, \"Time in s\": 27456.12944 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.575656239827173, \"MicroF1\": 0.575656239827173, \"MacroF1\": 0.5663415557568727, \"Memory in Mb\": 7.860757827758789, \"Time in s\": 29092.739018 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5754584325766924, \"MicroF1\": 0.5754584325766924, \"MacroF1\": 0.565994999425249, \"Memory in Mb\": 7.205549240112305, \"Time in s\": 30762.023764 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5763863743976827, \"MicroF1\": 0.5763863743976827, \"MacroF1\": 0.5665127709334143, \"Memory in Mb\": 6.54947566986084, \"Time in s\": 32461.363070000003 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5758813820720258, \"MicroF1\": 0.5758813820720258, \"MacroF1\": 0.56571927622701, \"Memory in Mb\": 6.547377586364746, \"Time in s\": 34189.07998 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5767460213073786, \"MicroF1\": 0.5767460213073786, \"MacroF1\": 0.5661110063916132, \"Memory in Mb\": 6.546515464782715, \"Time in s\": 35945.284935 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5764633615725219, \"MicroF1\": 0.5764633615725219, \"MacroF1\": 0.5659285794545608, \"Memory in Mb\": 6.543356895446777, \"Time in s\": 37730.818682000005 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.573454282652578, \"MicroF1\": 0.573454282652578, \"MacroF1\": 0.5636611811263741, \"Memory in Mb\": 8.510072708129883, \"Time in s\": 39542.33547700001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5726391957846685, \"MicroF1\": 0.5726391957846685, \"MacroF1\": 0.5633960246210544, \"Memory in Mb\": 8.712862014770508, \"Time in s\": 41378.34519600001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5723146854802433, \"MicroF1\": 0.5723146854802433, \"MacroF1\": 0.5635786987292998, \"Memory in Mb\": 10.13754653930664, \"Time in s\": 43237.00688100001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5717981291142165, \"MicroF1\": 0.5717981291142165, \"MacroF1\": 0.5635967907133216, \"Memory in Mb\": 10.13637924194336, \"Time in s\": 45117.76335600001 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.571103244571712, \"MicroF1\": 0.571103244571712, \"MacroF1\": 0.5633625241299441, \"Memory in Mb\": 10.135028839111328, \"Time in s\": 47020.66134100001 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5712335102517233, \"MicroF1\": 0.5712335102517233, \"MacroF1\": 0.563808836162261, \"Memory in Mb\": 11.334146499633787, \"Time in s\": 48947.97157600001 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5728213847577642, \"MicroF1\": 0.5728213847577642, \"MacroF1\": 0.5658781423773395, \"Memory in Mb\": 12.350201606750488, \"Time in s\": 50897.74209700001 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.576863991245607, \"MicroF1\": 0.576863991245607, \"MacroF1\": 0.5703778478941884, \"Memory in Mb\": 16.125893592834473, \"Time in s\": 52890.49897200001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5828512609366958, \"MicroF1\": 0.5828512609366958, \"MacroF1\": 0.5764029561430954, \"Memory in Mb\": 15.266244888305664, \"Time in s\": 54904.91240000001 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5890270194031956, \"MicroF1\": 0.5890270194031956, \"MacroF1\": 0.5823661991476956, \"Memory in Mb\": 14.839654922485352, \"Time in s\": 56940.07330000001 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.5947087024286306, \"MicroF1\": 0.5947087024286306, \"MacroF1\": 0.5876086024291545, \"Memory in Mb\": 12.465810775756836, \"Time in s\": 58994.29364000001 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.600718937827339, \"MicroF1\": 0.600718937827339, \"MacroF1\": 0.5930357853224563, \"Memory in Mb\": 11.884730339050291, \"Time in s\": 61065.77177200001 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6060342051932802, \"MicroF1\": 0.6060342051932802, \"MacroF1\": 0.5982060206393416, \"Memory in Mb\": 3.691446304321289, \"Time in s\": 63151.215841000005 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6063920373909588, \"MicroF1\": 0.6063920373909588, \"MacroF1\": 0.5985419438128344, \"Memory in Mb\": 3.691621780395508, \"Time in s\": 65236.99615100001 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.1448841094970703, \"Time in s\": 5.867596 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.943558282208589, \"MicroF1\": 0.943558282208589, \"MacroF1\": 0.7669956277713079, \"Memory in Mb\": 3.0916757583618164, \"Time in s\": 25.808269 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8912510220768601, \"MicroF1\": 0.8912510220768601, \"MacroF1\": 0.8617021305177773, \"Memory in Mb\": 4.035944938659668, \"Time in s\": 63.939426 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9031269160024524, \"MicroF1\": 0.9031269160024524, \"MacroF1\": 0.8868998230762758, \"Memory in Mb\": 4.988290786743164, \"Time in s\": 125.34339 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.898970083374203, \"MicroF1\": 0.898970083374203, \"MacroF1\": 0.888705938214812, \"Memory in Mb\": 6.037667274475098, \"Time in s\": 214.307845 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8594196975888844, \"MicroF1\": 0.8594196975888844, \"MacroF1\": 0.8547805855679916, \"Memory in Mb\": 6.993380546569824, \"Time in s\": 335.016386 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8651488616462347, \"MicroF1\": 0.8651488616462347, \"MacroF1\": 0.8483773016417727, \"Memory in Mb\": 7.939821243286133, \"Time in s\": 488.1215580000001 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8553478394115844, \"MicroF1\": 0.8553478394115844, \"MacroF1\": 0.8302147847543373, \"Memory in Mb\": 8.885003089904785, \"Time in s\": 675.394352 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8452737673658404, \"MicroF1\": 0.8452737673658404, \"MacroF1\": 0.8411086163638233, \"Memory in Mb\": 9.830622673034668, \"Time in s\": 899.024814 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8374601618043638, \"MicroF1\": 0.8374601618043638, \"MacroF1\": 0.8238000521910981, \"Memory in Mb\": 11.003908157348633, \"Time in s\": 1161.3046 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8250501448629374, \"MicroF1\": 0.8250501448629373, \"MacroF1\": 0.8343531144302688, \"Memory in Mb\": 11.974610328674316, \"Time in s\": 1461.738376 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8232890704800817, \"MicroF1\": 0.8232890704800817, \"MacroF1\": 0.8292209535545839, \"Memory in Mb\": 12.919659614562988, \"Time in s\": 1801.820426 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8199132566471808, \"MicroF1\": 0.819913256647181, \"MacroF1\": 0.8044565992905442, \"Memory in Mb\": 13.86521053314209, \"Time in s\": 2181.861898 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7998599194536858, \"MicroF1\": 0.7998599194536857, \"MacroF1\": 0.8029484507582976, \"Memory in Mb\": 14.811628341674805, \"Time in s\": 2601.779179 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7970256577872201, \"MicroF1\": 0.7970256577872201, \"MacroF1\": 0.7783451709211457, \"Memory in Mb\": 15.75713062286377, \"Time in s\": 3063.5971010000003 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7720239007200858, \"MicroF1\": 0.7720239007200858, \"MacroF1\": 0.767005590841987, \"Memory in Mb\": 16.704151153564453, \"Time in s\": 3570.6766780000003 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7645277577505407, \"MicroF1\": 0.7645277577505407, \"MacroF1\": 0.766187831914561, \"Memory in Mb\": 17.649503707885742, \"Time in s\": 4126.519897 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.773389622769985, \"MicroF1\": 0.7733896227699851, \"MacroF1\": 0.770832075885354, \"Memory in Mb\": 18.61162567138672, \"Time in s\": 4733.5217410000005 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7737066185008385, \"MicroF1\": 0.7737066185008385, \"MacroF1\": 0.7718493223486268, \"Memory in Mb\": 19.557814598083496, \"Time in s\": 5395.069721000001 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7765657556073048, \"MicroF1\": 0.7765657556073047, \"MacroF1\": 0.7724710929560354, \"Memory in Mb\": 20.503721237182617, \"Time in s\": 6113.943535 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7730827594257033, \"MicroF1\": 0.7730827594257033, \"MacroF1\": 0.7727491763630034, \"Memory in Mb\": 21.88267517089844, \"Time in s\": 6890.839823 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7714763231197772, \"MicroF1\": 0.7714763231197772, \"MacroF1\": 0.7717207236627096, \"Memory in Mb\": 22.87528133392334, \"Time in s\": 7728.212391 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7702227432590856, \"MicroF1\": 0.7702227432590856, \"MacroF1\": 0.7694267539223918, \"Memory in Mb\": 23.822596549987797, \"Time in s\": 8626.275614 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7656010621999796, \"MicroF1\": 0.7656010621999795, \"MacroF1\": 0.7644081311179032, \"Memory in Mb\": 24.768078804016117, \"Time in s\": 9586.24664 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.757623296401608, \"MicroF1\": 0.757623296401608, \"MacroF1\": 0.749720417225094, \"Memory in Mb\": 25.71299648284912, \"Time in s\": 10618.940127 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.737154709154332, \"MicroF1\": 0.737154709154332, \"MacroF1\": 0.7245707699101513, \"Memory in Mb\": 26.660439491271973, \"Time in s\": 11726.561153 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.729822968679074, \"MicroF1\": 0.7298229686790739, \"MacroF1\": 0.7256689004292383, \"Memory in Mb\": 27.605186462402344, \"Time in s\": 12907.41343 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7229274271207213, \"MicroF1\": 0.7229274271207213, \"MacroF1\": 0.7092514304350318, \"Memory in Mb\": 28.551199913024902, \"Time in s\": 14153.769988 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7133801031189249, \"MicroF1\": 0.7133801031189249, \"MacroF1\": 0.7054771135814562, \"Memory in Mb\": 29.4963436126709, \"Time in s\": 15465.906612 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7177874009314487, \"MicroF1\": 0.7177874009314487, \"MacroF1\": 0.7138351093258007, \"Memory in Mb\": 30.441871643066406, \"Time in s\": 16835.329364 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7147149521625682, \"MicroF1\": 0.7147149521625682, \"MacroF1\": 0.7065885995198201, \"Memory in Mb\": 31.388431549072266, \"Time in s\": 18265.757575 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7031788586748372, \"MicroF1\": 0.7031788586748372, \"MacroF1\": 0.6954173783902821, \"Memory in Mb\": 32.33424186706543, \"Time in s\": 19760.458564 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7011067369828419, \"MicroF1\": 0.7011067369828419, \"MacroF1\": 0.6966368809795416, \"Memory in Mb\": 33.27959156036377, \"Time in s\": 21319.158047 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7007425564126595, \"MicroF1\": 0.7007425564126595, \"MacroF1\": 0.6971102154727419, \"Memory in Mb\": 34.22630214691162, \"Time in s\": 22941.129728 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6961972126899643, \"MicroF1\": 0.6961972126899643, \"MacroF1\": 0.691133802747568, \"Memory in Mb\": 35.17108726501465, \"Time in s\": 24623.129677 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.698781235105876, \"MicroF1\": 0.698781235105876, \"MacroF1\": 0.696592906911097, \"Memory in Mb\": 36.11711597442627, \"Time in s\": 26362.470984 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7048029148724744, \"MicroF1\": 0.7048029148724744, \"MacroF1\": 0.702773358939844, \"Memory in Mb\": 37.0643196105957, \"Time in s\": 28156.052692 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7047668193252918, \"MicroF1\": 0.7047668193252918, \"MacroF1\": 0.7013012225519919, \"Memory in Mb\": 38.00920104980469, \"Time in s\": 30004.434818 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6956822324178241, \"MicroF1\": 0.6956822324178241, \"MacroF1\": 0.6887843659114408, \"Memory in Mb\": 38.955204010009766, \"Time in s\": 31904.325566000003 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6869906244255163, \"MicroF1\": 0.6869906244255163, \"MacroF1\": 0.6817298949676788, \"Memory in Mb\": 39.901418685913086, \"Time in s\": 33880.147234000004 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6840437615830693, \"MicroF1\": 0.6840437615830693, \"MacroF1\": 0.6809878840610977, \"Memory in Mb\": 40.84670162200928, \"Time in s\": 35894.19480500001 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6798949518529326, \"MicroF1\": 0.6798949518529326, \"MacroF1\": 0.6760668667678135, \"Memory in Mb\": 42.678324699401855, \"Time in s\": 37945.35177200001 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6725759562218548, \"MicroF1\": 0.6725759562218548, \"MacroF1\": 0.6693298574086026, \"Memory in Mb\": 43.72208595275879, \"Time in s\": 40033.19473500001 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6715503314578575, \"MicroF1\": 0.6715503314578575, \"MacroF1\": 0.6700615486077944, \"Memory in Mb\": 44.66869449615479, \"Time in s\": 42156.41544100001 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6768887194291628, \"MicroF1\": 0.6768887194291628, \"MacroF1\": 0.6760264883444682, \"Memory in Mb\": 45.61451721191406, \"Time in s\": 44306.462280000014 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6818884211648105, \"MicroF1\": 0.6818884211648105, \"MacroF1\": 0.6814185274246665, \"Memory in Mb\": 46.56109237670898, \"Time in s\": 46484.07667300002 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6739504563233377, \"MicroF1\": 0.6739504563233377, \"MacroF1\": 0.6724064481498903, \"Memory in Mb\": 47.50611400604248, \"Time in s\": 48682.185033000016 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.677883878874534, \"MicroF1\": 0.677883878874534, \"MacroF1\": 0.6774885006147249, \"Memory in Mb\": 48.45180988311768, \"Time in s\": 50904.928535000014 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6733530088539843, \"MicroF1\": 0.6733530088539843, \"MacroF1\": 0.6729949515014169, \"Memory in Mb\": 49.39821243286133, \"Time in s\": 53145.742009000016 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.6697387126819943, \"MicroF1\": 0.6697387126819943, \"MacroF1\": 0.6699810213452306, \"Memory in Mb\": 50.34487438201904, \"Time in s\": 55411.38251600001 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.3777777777777777, \"MicroF1\": 0.3777777777777777, \"MacroF1\": 0.2811210847975554, \"Memory in Mb\": 4.09740161895752, \"Time in s\": 6.997987 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5164835164835165, \"MicroF1\": 0.5164835164835165, \"MacroF1\": 0.5316649744849407, \"Memory in Mb\": 4.097981452941895, \"Time in s\": 22.017115 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5547445255474452, \"MicroF1\": 0.5547445255474452, \"MacroF1\": 0.5804654781117263, \"Memory in Mb\": 4.0981035232543945, \"Time in s\": 44.610384 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6174863387978142, \"MicroF1\": 0.6174863387978142, \"MacroF1\": 0.6394923756219437, \"Memory in Mb\": 4.098713874816895, \"Time in s\": 74.61421299999999 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6506550218340611, \"MicroF1\": 0.6506550218340611, \"MacroF1\": 0.66859135700569, \"Memory in Mb\": 4.098713874816895, \"Time in s\": 111.653321 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6618181818181819, \"MicroF1\": 0.6618181818181819, \"MacroF1\": 0.6795855359270878, \"Memory in Mb\": 4.098832130432129, \"Time in s\": 156.076644 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6853582554517134, \"MicroF1\": 0.6853582554517134, \"MacroF1\": 0.6872635633687633, \"Memory in Mb\": 4.099373817443848, \"Time in s\": 207.574915 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7111716621253406, \"MicroF1\": 0.7111716621253404, \"MacroF1\": 0.7098417316927395, \"Memory in Mb\": 4.099347114562988, \"Time in s\": 266.341739 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7215496368038741, \"MicroF1\": 0.7215496368038742, \"MacroF1\": 0.7201557312728714, \"Memory in Mb\": 4.09926700592041, \"Time in s\": 332.356571 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7211328976034859, \"MicroF1\": 0.721132897603486, \"MacroF1\": 0.7175330036146421, \"Memory in Mb\": 4.099320411682129, \"Time in s\": 405.380301 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7287128712871287, \"MicroF1\": 0.7287128712871287, \"MacroF1\": 0.7233455022590812, \"Memory in Mb\": 4.099320411682129, \"Time in s\": 485.520305 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7295825771324864, \"MicroF1\": 0.7295825771324864, \"MacroF1\": 0.7255599965917697, \"Memory in Mb\": 4.099240303039551, \"Time in s\": 572.983507 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7353433835845896, \"MicroF1\": 0.7353433835845896, \"MacroF1\": 0.7308494254186014, \"Memory in Mb\": 4.0992631912231445, \"Time in s\": 667.526521 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7340590979782271, \"MicroF1\": 0.7340590979782271, \"MacroF1\": 0.7314183982762247, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 768.914228 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.737300435413643, \"MicroF1\": 0.737300435413643, \"MacroF1\": 0.7343909641298695, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 877.069835 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7387755102040816, \"MicroF1\": 0.7387755102040816, \"MacroF1\": 0.7369557659594496, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 992.190131 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7439180537772087, \"MicroF1\": 0.7439180537772088, \"MacroF1\": 0.7419020281650245, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1114.103609 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7436517533252721, \"MicroF1\": 0.7436517533252721, \"MacroF1\": 0.7432199627682998, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1242.576589 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7502863688430699, \"MicroF1\": 0.7502863688430699, \"MacroF1\": 0.7482089866208982, \"Memory in Mb\": 4.099850654602051, \"Time in s\": 1377.530874 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.750816104461371, \"MicroF1\": 0.750816104461371, \"MacroF1\": 0.7477650187313974, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1518.374517 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7512953367875648, \"MicroF1\": 0.7512953367875648, \"MacroF1\": 0.747322646811651, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1664.895359 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7507418397626113, \"MicroF1\": 0.7507418397626113, \"MacroF1\": 0.7469783619055548, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1817.198797 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7530747398297067, \"MicroF1\": 0.7530747398297066, \"MacroF1\": 0.7482363934596314, \"Memory in Mb\": 4.099823951721191, \"Time in s\": 1975.112421 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7552130553037172, \"MicroF1\": 0.7552130553037172, \"MacroF1\": 0.750118495060715, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2138.658016 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7571801566579635, \"MicroF1\": 0.7571801566579635, \"MacroF1\": 0.7516199800653577, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2307.825702 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7598326359832636, \"MicroF1\": 0.7598326359832636, \"MacroF1\": 0.7548841797367702, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2482.820129 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7598710717163578, \"MicroF1\": 0.7598710717163577, \"MacroF1\": 0.7553301531902636, \"Memory in Mb\": 4.0998735427856445, \"Time in s\": 2663.447895 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7645687645687645, \"MicroF1\": 0.7645687645687647, \"MacroF1\": 0.7590078532621816, \"Memory in Mb\": 4.1004838943481445, \"Time in s\": 2849.419913 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7644411102775694, \"MicroF1\": 0.7644411102775694, \"MacroF1\": 0.7591993978414527, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3040.9965970000003 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7650471356055112, \"MicroF1\": 0.7650471356055112, \"MacroF1\": 0.7601575050520947, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3238.5768190000003 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7670175438596492, \"MicroF1\": 0.7670175438596492, \"MacroF1\": 0.7613339877221927, \"Memory in Mb\": 4.100506782531738, \"Time in s\": 3441.4807240000005 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7715839564921821, \"MicroF1\": 0.7715839564921821, \"MacroF1\": 0.7641396475218201, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 3649.5015090000006 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7732366512854317, \"MicroF1\": 0.7732366512854317, \"MacroF1\": 0.7648275341801108, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 3862.69427 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7735124760076776, \"MicroF1\": 0.7735124760076776, \"MacroF1\": 0.7657569341108763, \"Memory in Mb\": 4.100552558898926, \"Time in s\": 4080.891056 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7737725295214419, \"MicroF1\": 0.7737725295214419, \"MacroF1\": 0.7651494083475014, \"Memory in Mb\": 4.10057544708252, \"Time in s\": 4304.577590000001 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7740181268882175, \"MicroF1\": 0.7740181268882175, \"MacroF1\": 0.7654813489818475, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 4533.710142000001 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7730746619635509, \"MicroF1\": 0.7730746619635509, \"MacroF1\": 0.766493027961906, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 4767.793233000001 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7756153405838581, \"MicroF1\": 0.7756153405838581, \"MacroF1\": 0.7686072256536652, \"Memory in Mb\": 4.100529670715332, \"Time in s\": 5007.029776000001 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7769102063580591, \"MicroF1\": 0.7769102063580591, \"MacroF1\": 0.7685414235990152, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5251.440116000002 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7781402936378466, \"MicroF1\": 0.7781402936378466, \"MacroF1\": 0.7699957723931323, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5500.964415000001 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7761273209549071, \"MicroF1\": 0.7761273209549071, \"MacroF1\": 0.7684985598909853, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 5755.503987000001 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7762817193164163, \"MicroF1\": 0.7762817193164163, \"MacroF1\": 0.7677434418046419, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6014.862306000001 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7774405665149215, \"MicroF1\": 0.7774405665149215, \"MacroF1\": 0.7684788817649146, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6279.121569000001 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7790410281759763, \"MicroF1\": 0.7790410281759763, \"MacroF1\": 0.7689103339153599, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6548.278113000001 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7786370227162881, \"MicroF1\": 0.7786370227162881, \"MacroF1\": 0.7686288077529282, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 6822.363214000001 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7791962174940898, \"MicroF1\": 0.7791962174940898, \"MacroF1\": 0.768391950800897, \"Memory in Mb\": 4.100502967834473, \"Time in s\": 7101.096348000001 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7801943544655252, \"MicroF1\": 0.7801943544655253, \"MacroF1\": 0.768962628827985, \"Memory in Mb\": 4.100525856018066, \"Time in s\": 7384.333285000001 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7820570910738559, \"MicroF1\": 0.7820570910738559, \"MacroF1\": 0.7698068761587117, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 7672.298476000001 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7789613848202397, \"MicroF1\": 0.7789613848202397, \"MacroF1\": 0.7667173742344939, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 7965.117559000001 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7781644193127447, \"MicroF1\": 0.7781644193127447, \"MacroF1\": 0.7659138381656089, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 8262.647904000001 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7782589865742746, \"MicroF1\": 0.7782589865742745, \"MacroF1\": 0.7660163657276376, \"Memory in Mb\": 4.100499153137207, \"Time in s\": 8561.303246000001 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6218009478672986, \"MicroF1\": 0.6218009478672986, \"MacroF1\": 0.5857016652718549, \"Memory in Mb\": 6.471495628356934, \"Time in s\": 220.837673 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6196115585030791, \"MicroF1\": 0.6196115585030791, \"MacroF1\": 0.5856756432415233, \"Memory in Mb\": 10.302834510803224, \"Time in s\": 598.297395 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.628986422481844, \"MicroF1\": 0.628986422481844, \"MacroF1\": 0.5949930595607559, \"Memory in Mb\": 19.024110794067383, \"Time in s\": 1103.516793 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6294103717736207, \"MicroF1\": 0.6294103717736207, \"MacroF1\": 0.5952675443708706, \"Memory in Mb\": 19.52926254272461, \"Time in s\": 1735.893967 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6364841826103429, \"MicroF1\": 0.6364841826103429, \"MacroF1\": 0.5994911272790603, \"Memory in Mb\": 18.82306957244873, \"Time in s\": 2497.807238 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6352012628255722, \"MicroF1\": 0.6352012628255722, \"MacroF1\": 0.5993891820807258, \"Memory in Mb\": 20.00343894958496, \"Time in s\": 3379.788115 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.638749830875389, \"MicroF1\": 0.638749830875389, \"MacroF1\": 0.6030343276880051, \"Memory in Mb\": 20.9547061920166, \"Time in s\": 4385.582643 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6405824553095774, \"MicroF1\": 0.6405824553095774, \"MacroF1\": 0.6028521616895871, \"Memory in Mb\": 23.98197650909424, \"Time in s\": 5520.259032 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6449542249815847, \"MicroF1\": 0.6449542249815847, \"MacroF1\": 0.6055705492028415, \"Memory in Mb\": 24.687146186828613, \"Time in s\": 6764.141036999999 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6485462638507434, \"MicroF1\": 0.6485462638507434, \"MacroF1\": 0.6081614166360887, \"Memory in Mb\": 28.76917839050293, \"Time in s\": 8102.806145 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6490744726646578, \"MicroF1\": 0.6490744726646578, \"MacroF1\": 0.6078786452761632, \"Memory in Mb\": 30.803756713867188, \"Time in s\": 9530.02909 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6514876489621971, \"MicroF1\": 0.6514876489621971, \"MacroF1\": 0.6111938480023122, \"Memory in Mb\": 35.14385414123535, \"Time in s\": 11044.69783 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6707947840023312, \"MicroF1\": 0.6707947840023312, \"MacroF1\": 0.6607574394823457, \"Memory in Mb\": 17.51351547241211, \"Time in s\": 12617.098737 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6821348846648176, \"MicroF1\": 0.6821348846648176, \"MacroF1\": 0.6733632096765088, \"Memory in Mb\": 9.275564193725586, \"Time in s\": 14250.678949 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6778205694803965, \"MicroF1\": 0.6778205694803965, \"MacroF1\": 0.670556396248407, \"Memory in Mb\": 11.964457511901855, \"Time in s\": 15956.730999 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6754661142349808, \"MicroF1\": 0.6754661142349808, \"MacroF1\": 0.6690281338426608, \"Memory in Mb\": 12.60369873046875, \"Time in s\": 17732.973803 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6721631106902123, \"MicroF1\": 0.6721631106902123, \"MacroF1\": 0.6660357480506892, \"Memory in Mb\": 12.93508529663086, \"Time in s\": 19577.321708 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6856947440416689, \"MicroF1\": 0.6856947440416689, \"MacroF1\": 0.6751812770122833, \"Memory in Mb\": 14.563780784606934, \"Time in s\": 21465.395048 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6926680954991776, \"MicroF1\": 0.6926680954991776, \"MacroF1\": 0.6785701715539604, \"Memory in Mb\": 23.61655616760254, \"Time in s\": 23398.659989 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6942090061082438, \"MicroF1\": 0.6942090061082438, \"MacroF1\": 0.6784920731228882, \"Memory in Mb\": 30.02095413208008, \"Time in s\": 25401.280766 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6958737316798196, \"MicroF1\": 0.6958737316798196, \"MacroF1\": 0.6784853924286285, \"Memory in Mb\": 31.29345321655273, \"Time in s\": 27443.688764 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6989798114588266, \"MicroF1\": 0.6989798114588266, \"MacroF1\": 0.6799590657327791, \"Memory in Mb\": 29.59604263305664, \"Time in s\": 29526.276677 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7011981718614897, \"MicroF1\": 0.7011981718614897, \"MacroF1\": 0.680282364066019, \"Memory in Mb\": 32.615909576416016, \"Time in s\": 31645.669428 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7031527443475516, \"MicroF1\": 0.7031527443475516, \"MacroF1\": 0.6805566439417602, \"Memory in Mb\": 33.91432285308838, \"Time in s\": 33792.819539 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7051782264479716, \"MicroF1\": 0.7051782264479716, \"MacroF1\": 0.6809495737401271, \"Memory in Mb\": 35.12977695465088, \"Time in s\": 35966.301701 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7065743944636678, \"MicroF1\": 0.7065743944636678, \"MacroF1\": 0.6805936316849747, \"Memory in Mb\": 38.84447956085205, \"Time in s\": 38159.78466 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7054820946301428, \"MicroF1\": 0.7054820946301428, \"MacroF1\": 0.681225779493031, \"Memory in Mb\": 34.570815086364746, \"Time in s\": 40377.715599 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7045692833226231, \"MicroF1\": 0.7045692833226231, \"MacroF1\": 0.6849598194839713, \"Memory in Mb\": 20.38253498077393, \"Time in s\": 42611.23284999999 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7031316330862424, \"MicroF1\": 0.7031316330862424, \"MacroF1\": 0.6877640955933652, \"Memory in Mb\": 22.55568027496338, \"Time in s\": 44864.71640799999 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7032418952618454, \"MicroF1\": 0.7032418952618454, \"MacroF1\": 0.6917227552448634, \"Memory in Mb\": 26.177990913391117, \"Time in s\": 47133.482559 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7037421719871697, \"MicroF1\": 0.7037421719871697, \"MacroF1\": 0.6952024388211077, \"Memory in Mb\": 25.7611780166626, \"Time in s\": 49415.922785 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.7002160338551685, \"MicroF1\": 0.7002160338551685, \"MacroF1\": 0.6931280234945141, \"Memory in Mb\": 25.958494186401367, \"Time in s\": 51714.47139399999 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6973627571957414, \"MicroF1\": 0.6973627571957414, \"MacroF1\": 0.6902163957562899, \"Memory in Mb\": 18.894118309021, \"Time in s\": 54032.337052 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6951786758766677, \"MicroF1\": 0.6951786758766677, \"MacroF1\": 0.6877287571005829, \"Memory in Mb\": 18.049145698547363, \"Time in s\": 56371.370632 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6919830081982737, \"MicroF1\": 0.6919830081982737, \"MacroF1\": 0.6843647347906762, \"Memory in Mb\": 22.045016288757324, \"Time in s\": 58731.919307 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6900697093252663, \"MicroF1\": 0.6900697093252663, \"MacroF1\": 0.68217396069655, \"Memory in Mb\": 25.079078674316406, \"Time in s\": 61114.705624 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.688720534411712, \"MicroF1\": 0.688720534411712, \"MacroF1\": 0.6808510434728485, \"Memory in Mb\": 19.794261932373047, \"Time in s\": 63520.517783 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6867695068158597, \"MicroF1\": 0.6867695068158597, \"MacroF1\": 0.6796002866264578, \"Memory in Mb\": 10.854747772216797, \"Time in s\": 65948.78476699999 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6843843333414273, \"MicroF1\": 0.6843843333414273, \"MacroF1\": 0.6779529807793833, \"Memory in Mb\": 10.474969863891602, \"Time in s\": 68395.63477799999 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6822131205757712, \"MicroF1\": 0.6822131205757712, \"MacroF1\": 0.6764872431583758, \"Memory in Mb\": 14.707494735717772, \"Time in s\": 70864.05938699999 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6795472918350849, \"MicroF1\": 0.6795472918350849, \"MacroF1\": 0.674587653669649, \"Memory in Mb\": 12.672552108764648, \"Time in s\": 73351.02096199998 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6769633153705666, \"MicroF1\": 0.6769633153705666, \"MacroF1\": 0.6725984110786069, \"Memory in Mb\": 13.144417762756348, \"Time in s\": 75857.66838799998 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6748959411544475, \"MicroF1\": 0.6748959411544475, \"MacroF1\": 0.6710316194917795, \"Memory in Mb\": 14.719610214233398, \"Time in s\": 78383.45415699997 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6743215031315241, \"MicroF1\": 0.6743215031315241, \"MacroF1\": 0.670959098678123, \"Memory in Mb\": 15.027325630187988, \"Time in s\": 80927.72302099997 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6765293882447021, \"MicroF1\": 0.6765293882447021, \"MacroF1\": 0.6733002712216741, \"Memory in Mb\": 17.283148765563965, \"Time in s\": 83488.02074099997 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6805970149253732, \"MicroF1\": 0.6805970149253732, \"MacroF1\": 0.6770692638556323, \"Memory in Mb\": 17.906007766723633, \"Time in s\": 86063.52222099998 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6848340754770205, \"MicroF1\": 0.6848340754770205, \"MacroF1\": 0.6808344811077705, \"Memory in Mb\": 18.8202543258667, \"Time in s\": 88653.18323199998 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6890524197525992, \"MicroF1\": 0.6890524197525992, \"MacroF1\": 0.6843657264244208, \"Memory in Mb\": 21.50714492797852, \"Time in s\": 91255.74433499998 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6932531936687089, \"MicroF1\": 0.6932531936687089, \"MacroF1\": 0.6877873898777546, \"Memory in Mb\": 23.154582023620605, \"Time in s\": 93870.637319 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6956002954601412, \"MicroF1\": 0.6956002954601412, \"MacroF1\": 0.6902433463100389, \"Memory in Mb\": 14.128369331359863, \"Time in s\": 96495.216564 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Insects\", \"Accuracy\": 0.6958578538043787, \"MicroF1\": 0.6958578538043787, \"MacroF1\": 0.6905081705907102, \"Memory in Mb\": 13.83100128173828, \"Time in s\": 99120.191439 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 2.0028390884399414, \"Time in s\": 23.27864 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9521472392638036, \"MicroF1\": 0.9521472392638036, \"MacroF1\": 0.8408896590786493, \"Memory in Mb\": 4.076430320739746, \"Time in s\": 76.761208 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9533932951757972, \"MicroF1\": 0.9533932951757972, \"MacroF1\": 0.9542235338779168, \"Memory in Mb\": 5.6716413497924805, \"Time in s\": 164.877928 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589209074187616, \"MicroF1\": 0.9589209074187616, \"MacroF1\": 0.936122253486076, \"Memory in Mb\": 8.122180938720703, \"Time in s\": 291.606081 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9573320255026974, \"MicroF1\": 0.9573320255026974, \"MacroF1\": 0.9445755787125868, \"Memory in Mb\": 10.5212984085083, \"Time in s\": 455.912148 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9607682876992236, \"MicroF1\": 0.9607682876992236, \"MacroF1\": 0.9588299190873342, \"Memory in Mb\": 9.06541347503662, \"Time in s\": 649.921126 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9618213660245184, \"MicroF1\": 0.9618213660245184, \"MacroF1\": 0.9516555143941908, \"Memory in Mb\": 13.188368797302246, \"Time in s\": 870.236672 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9589334967821024, \"MicroF1\": 0.9589334967821024, \"MacroF1\": 0.9492703335352553, \"Memory in Mb\": 13.21088695526123, \"Time in s\": 1122.958204 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9585943884500135, \"MicroF1\": 0.9585943884500135, \"MacroF1\": 0.9531276848185062, \"Memory in Mb\": 16.65507411956787, \"Time in s\": 1406.732623 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541554302525128, \"MicroF1\": 0.9541554302525128, \"MacroF1\": 0.9416377826660955, \"Memory in Mb\": 17.091320037841797, \"Time in s\": 1722.764314 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9529752618676176, \"MicroF1\": 0.9529752618676176, \"MacroF1\": 0.9549694463549354, \"Memory in Mb\": 10.336687088012695, \"Time in s\": 2070.686487 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9550561797752808, \"MicroF1\": 0.9550561797752808, \"MacroF1\": 0.95517907029875, \"Memory in Mb\": 11.520882606506348, \"Time in s\": 2449.358224 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568168960965492, \"MicroF1\": 0.9568168960965492, \"MacroF1\": 0.9575833276239932, \"Memory in Mb\": 13.737529754638672, \"Time in s\": 2856.6015070000003 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9574505340570828, \"MicroF1\": 0.9574505340570828, \"MacroF1\": 0.9570632809827344, \"Memory in Mb\": 15.842782020568848, \"Time in s\": 3290.691514 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9557117176009152, \"MicroF1\": 0.9557117176009152, \"MacroF1\": 0.9522483041543378, \"Memory in Mb\": 20.04281044006348, \"Time in s\": 3760.43818 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566416424084572, \"MicroF1\": 0.9566416424084572, \"MacroF1\": 0.9568246790885272, \"Memory in Mb\": 11.687369346618652, \"Time in s\": 4258.095146 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.95746214852199, \"MicroF1\": 0.95746214852199, \"MacroF1\": 0.9579855320572276, \"Memory in Mb\": 12.48728847503662, \"Time in s\": 4780.363237 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568296336647149, \"MicroF1\": 0.9568296336647149, \"MacroF1\": 0.9563404233689646, \"Memory in Mb\": 15.327423095703123, \"Time in s\": 5334.336646 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9565217391304348, \"MicroF1\": 0.9565217391304348, \"MacroF1\": 0.9563017119581124, \"Memory in Mb\": 18.70553493499756, \"Time in s\": 5920.99825 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.954528741267312, \"MicroF1\": 0.954528741267312, \"MacroF1\": 0.9527980459948604, \"Memory in Mb\": 24.08679676055908, \"Time in s\": 6539.621381999999 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.95459320649002, \"MicroF1\": 0.95459320649002, \"MacroF1\": 0.9549210113442088, \"Memory in Mb\": 21.21516990661621, \"Time in s\": 7187.28418 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9550974930362116, \"MicroF1\": 0.9550974930362116, \"MacroF1\": 0.955362716075958, \"Memory in Mb\": 17.566545486450195, \"Time in s\": 7867.802732999999 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9555579239049344, \"MicroF1\": 0.9555579239049344, \"MacroF1\": 0.9558253322166266, \"Memory in Mb\": 15.710055351257324, \"Time in s\": 8578.363562999999 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9552650393218262, \"MicroF1\": 0.9552650393218262, \"MacroF1\": 0.955371511778808, \"Memory in Mb\": 18.71725273132324, \"Time in s\": 9321.146736 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9533287577213452, \"MicroF1\": 0.9533287577213452, \"MacroF1\": 0.9523119157834916, \"Memory in Mb\": 15.605277061462402, \"Time in s\": 10099.276789999998 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9521070990855096, \"MicroF1\": 0.9521070990855096, \"MacroF1\": 0.9515822083565744, \"Memory in Mb\": 11.186952590942385, \"Time in s\": 10903.979313999998 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953427144802542, \"MicroF1\": 0.953427144802542, \"MacroF1\": 0.9541201209142028, \"Memory in Mb\": 7.581887245178223, \"Time in s\": 11728.435273 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.953689923837871, \"MicroF1\": 0.953689923837871, \"MacroF1\": 0.9538275342826804, \"Memory in Mb\": 10.15964126586914, \"Time in s\": 12573.844722999998 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9535964838137098, \"MicroF1\": 0.9535964838137098, \"MacroF1\": 0.9538502960885475, \"Memory in Mb\": 11.061944961547852, \"Time in s\": 13441.174569 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9541629218073372, \"MicroF1\": 0.9541629218073372, \"MacroF1\": 0.9544632162431566, \"Memory in Mb\": 11.249642372131348, \"Time in s\": 14331.138910999998 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9548509527951292, \"MicroF1\": 0.9548509527951292, \"MacroF1\": 0.9551609875055332, \"Memory in Mb\": 13.203255653381348, \"Time in s\": 15243.410521999998 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9551895825354272, \"MicroF1\": 0.955189582535427, \"MacroF1\": 0.9553883557595892, \"Memory in Mb\": 9.36058521270752, \"Time in s\": 16176.429406999998 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955953353635891, \"MicroF1\": 0.955953353635891, \"MacroF1\": 0.9562606797905644, \"Memory in Mb\": 11.575583457946776, \"Time in s\": 17130.275872 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9561675437964098, \"MicroF1\": 0.9561675437964098, \"MacroF1\": 0.9563487774281332, \"Memory in Mb\": 11.42638874053955, \"Time in s\": 18106.07239 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9549688353526156, \"MicroF1\": 0.9549688353526156, \"MacroF1\": 0.954852939557476, \"Memory in Mb\": 10.249165534973145, \"Time in s\": 19109.380901 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9552665622659496, \"MicroF1\": 0.9552665622659496, \"MacroF1\": 0.955472434271787, \"Memory in Mb\": 8.168793678283691, \"Time in s\": 20137.264239 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9560781715799934, \"MicroF1\": 0.9560781715799934, \"MacroF1\": 0.9563263247313608, \"Memory in Mb\": 9.020037651062012, \"Time in s\": 21191.151533 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563955363478036, \"MicroF1\": 0.9563955363478036, \"MacroF1\": 0.9565429512012836, \"Memory in Mb\": 8.031278610229492, \"Time in s\": 22273.408126999995 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566337753755264, \"MicroF1\": 0.9566337753755264, \"MacroF1\": 0.9567672375037608, \"Memory in Mb\": 10.967172622680664, \"Time in s\": 23379.117397999995 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9563085973405232, \"MicroF1\": 0.9563085973405232, \"MacroF1\": 0.9563585840602682, \"Memory in Mb\": 11.29026985168457, \"Time in s\": 24508.785403999995 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.955580797513003, \"MicroF1\": 0.955580797513003, \"MacroF1\": 0.9555776398983684, \"Memory in Mb\": 9.525394439697266, \"Time in s\": 25660.924918999997 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564050189670266, \"MicroF1\": 0.9564050189670268, \"MacroF1\": 0.9565585833577668, \"Memory in Mb\": 10.421767234802246, \"Time in s\": 26839.493165999997 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566778772159836, \"MicroF1\": 0.9566778772159836, \"MacroF1\": 0.9567660151847868, \"Memory in Mb\": 11.633780479431152, \"Time in s\": 28038.177978999996 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564369672998718, \"MicroF1\": 0.9564369672998718, \"MacroF1\": 0.9564736297242662, \"Memory in Mb\": 8.448995590209961, \"Time in s\": 29257.620389999996 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567514570510376, \"MicroF1\": 0.9567514570510376, \"MacroF1\": 0.9568227044222712, \"Memory in Mb\": 7.821832656860352, \"Time in s\": 30499.29393699999 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568924175414292, \"MicroF1\": 0.9568924175414292, \"MacroF1\": 0.9569505378685396, \"Memory in Mb\": 9.859258651733398, \"Time in s\": 31763.565401999997 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9567144719687092, \"MicroF1\": 0.9567144719687092, \"MacroF1\": 0.956766336746882, \"Memory in Mb\": 11.256629943847656, \"Time in s\": 33053.804573999994 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9568503293673084, \"MicroF1\": 0.9568503293673084, \"MacroF1\": 0.9569026376832064, \"Memory in Mb\": 11.690522193908691, \"Time in s\": 34367.36625199999 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9564303936771548, \"MicroF1\": 0.9564303936771548, \"MacroF1\": 0.956465338137946, \"Memory in Mb\": 12.451186180114746, \"Time in s\": 35701.899461999994 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Leveraging Bagging\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9566155203686456, \"MicroF1\": 0.9566155203686456, \"MacroF1\": 0.9566498206969932, \"Memory in Mb\": 7.4099931716918945, \"Time in s\": 37049.10208799999 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4, \"MicroF1\": 0.4000000000000001, \"MacroF1\": 0.3289160825620571, \"Memory in Mb\": 1.89190673828125, \"Time in s\": 1.901401 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5494505494505495, \"MicroF1\": 0.5494505494505495, \"MacroF1\": 0.5607526488856412, \"Memory in Mb\": 2.084074020385742, \"Time in s\": 6.467373 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.5693430656934306, \"MicroF1\": 0.5693430656934306, \"MacroF1\": 0.5872103411959265, \"Memory in Mb\": 2.357966423034668, \"Time in s\": 13.822826 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6174863387978142, \"MicroF1\": 0.6174863387978142, \"MacroF1\": 0.6372989403156369, \"Memory in Mb\": 2.7369613647460938, \"Time in s\": 24.259991 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6375545851528385, \"MicroF1\": 0.6375545851528385, \"MacroF1\": 0.6548159763148107, \"Memory in Mb\": 2.862431526184082, \"Time in s\": 37.817905 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6618181818181819, \"MicroF1\": 0.6618181818181819, \"MacroF1\": 0.6802187985971371, \"Memory in Mb\": 2.982741355895996, \"Time in s\": 54.565381 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6915887850467289, \"MicroF1\": 0.6915887850467289, \"MacroF1\": 0.6955507555363084, \"Memory in Mb\": 3.080752372741699, \"Time in s\": 74.633343 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7111716621253406, \"MicroF1\": 0.7111716621253404, \"MacroF1\": 0.7105739026832886, \"Memory in Mb\": 3.232259750366211, \"Time in s\": 98.204704 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7263922518159807, \"MicroF1\": 0.7263922518159807, \"MacroF1\": 0.7261041400072307, \"Memory in Mb\": 3.505929946899414, \"Time in s\": 125.527545 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7276688453159041, \"MicroF1\": 0.7276688453159043, \"MacroF1\": 0.72519869331257, \"Memory in Mb\": 3.787288665771485, \"Time in s\": 156.78717 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7425742574257426, \"MicroF1\": 0.7425742574257425, \"MacroF1\": 0.7379486431795568, \"Memory in Mb\": 6.240692138671875, \"Time in s\": 210.523476 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7422867513611615, \"MicroF1\": 0.7422867513611615, \"MacroF1\": 0.7388440561615693, \"Memory in Mb\": 6.313092231750488, \"Time in s\": 268.009607 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7520938023450586, \"MicroF1\": 0.7520938023450586, \"MacroF1\": 0.749839509127547, \"Memory in Mb\": 6.682056427001953, \"Time in s\": 329.26112900000004 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7573872472783826, \"MicroF1\": 0.7573872472783826, \"MacroF1\": 0.7582793237949303, \"Memory in Mb\": 7.269444465637207, \"Time in s\": 394.37227100000007 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7634252539912917, \"MicroF1\": 0.7634252539912917, \"MacroF1\": 0.7648953830992049, \"Memory in Mb\": 7.531791687011719, \"Time in s\": 463.2777280000001 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7673469387755102, \"MicroF1\": 0.7673469387755102, \"MacroF1\": 0.7694390547687558, \"Memory in Mb\": 7.987269401550293, \"Time in s\": 536.1609010000001 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7772087067861716, \"MicroF1\": 0.7772087067861717, \"MacroF1\": 0.7788980835102386, \"Memory in Mb\": 8.317158699035645, \"Time in s\": 613.0067590000001 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7823458282950423, \"MicroF1\": 0.7823458282950423, \"MacroF1\": 0.7854763667551727, \"Memory in Mb\": 8.613452911376953, \"Time in s\": 693.8523060000001 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7915234822451317, \"MicroF1\": 0.7915234822451317, \"MacroF1\": 0.7933203073280156, \"Memory in Mb\": 8.694649696350098, \"Time in s\": 778.7710210000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7986942328618063, \"MicroF1\": 0.7986942328618062, \"MacroF1\": 0.7996826842527437, \"Memory in Mb\": 8.824880599975586, \"Time in s\": 867.8856220000001 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8041450777202073, \"MicroF1\": 0.8041450777202073, \"MacroF1\": 0.8044659150084363, \"Memory in Mb\": 9.089361190795898, \"Time in s\": 961.208295 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8100890207715133, \"MicroF1\": 0.8100890207715133, \"MacroF1\": 0.8093994872208631, \"Memory in Mb\": 9.280214309692385, \"Time in s\": 1058.9817440000002 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8145695364238411, \"MicroF1\": 0.814569536423841, \"MacroF1\": 0.8133421993203876, \"Memory in Mb\": 9.165953636169434, \"Time in s\": 1161.0697040000002 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8213961922030825, \"MicroF1\": 0.8213961922030824, \"MacroF1\": 0.8206569542548617, \"Memory in Mb\": 8.760258674621582, \"Time in s\": 1267.2341280000005 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.824194952132289, \"MicroF1\": 0.824194952132289, \"MacroF1\": 0.8228781271733864, \"Memory in Mb\": 8.742037773132324, \"Time in s\": 1377.3471480000003 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8292887029288702, \"MicroF1\": 0.8292887029288704, \"MacroF1\": 0.8281638601893785, \"Memory in Mb\": 8.87535572052002, \"Time in s\": 1491.4919770000004 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8340048348106366, \"MicroF1\": 0.8340048348106366, \"MacroF1\": 0.833490204478907, \"Memory in Mb\": 8.332135200500488, \"Time in s\": 1609.3898390000004 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8360528360528361, \"MicroF1\": 0.8360528360528361, \"MacroF1\": 0.8353480055004047, \"Memory in Mb\": 8.416248321533203, \"Time in s\": 1730.8650650000004 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8394598649662416, \"MicroF1\": 0.8394598649662416, \"MacroF1\": 0.8389194005130135, \"Memory in Mb\": 8.469959259033203, \"Time in s\": 1855.8596220000004 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8419144307469181, \"MicroF1\": 0.8419144307469181, \"MacroF1\": 0.8414934007209077, \"Memory in Mb\": 8.578604698181152, \"Time in s\": 1984.2269550000003 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8449122807017544, \"MicroF1\": 0.8449122807017544, \"MacroF1\": 0.8435602800871403, \"Memory in Mb\": 8.689190864562988, \"Time in s\": 2115.814455 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8484024473147519, \"MicroF1\": 0.8484024473147518, \"MacroF1\": 0.8459519552383536, \"Memory in Mb\": 8.800261497497559, \"Time in s\": 2250.613689 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8503625576796309, \"MicroF1\": 0.8503625576796308, \"MacroF1\": 0.8475723684173131, \"Memory in Mb\": 9.025433540344238, \"Time in s\": 2388.852428 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8522072936660269, \"MicroF1\": 0.8522072936660269, \"MacroF1\": 0.8497128793769615, \"Memory in Mb\": 8.811847686767578, \"Time in s\": 2530.498155 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8527035425730267, \"MicroF1\": 0.8527035425730267, \"MacroF1\": 0.8503048238231962, \"Memory in Mb\": 8.729784965515137, \"Time in s\": 2675.5358680000004 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8531722054380665, \"MicroF1\": 0.8531722054380665, \"MacroF1\": 0.8508343416398155, \"Memory in Mb\": 8.761359214782715, \"Time in s\": 2823.7565440000003 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8571428571428571, \"MicroF1\": 0.8571428571428571, \"MacroF1\": 0.8561317791292776, \"Memory in Mb\": 8.798370361328125, \"Time in s\": 2975.2442650000003 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8580423583285632, \"MicroF1\": 0.8580423583285632, \"MacroF1\": 0.8567712479140972, \"Memory in Mb\": 8.86152172088623, \"Time in s\": 3129.874549 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8611266034578918, \"MicroF1\": 0.8611266034578918, \"MacroF1\": 0.8591986188286931, \"Memory in Mb\": 8.932531356811523, \"Time in s\": 3287.541657 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8618814573137574, \"MicroF1\": 0.8618814573137574, \"MacroF1\": 0.8601172531559075, \"Memory in Mb\": 8.819746017456055, \"Time in s\": 3448.3205970000004 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8636604774535809, \"MicroF1\": 0.8636604774535809, \"MacroF1\": 0.8623243992773615, \"Memory in Mb\": 9.007128715515137, \"Time in s\": 3612.136702 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8648368720870016, \"MicroF1\": 0.8648368720870016, \"MacroF1\": 0.8630569076841595, \"Memory in Mb\": 9.368453979492188, \"Time in s\": 3779.147863 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8649468892261002, \"MicroF1\": 0.8649468892261002, \"MacroF1\": 0.8631362872103546, \"Memory in Mb\": 8.952109336853027, \"Time in s\": 3949.363777 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8665348492338112, \"MicroF1\": 0.8665348492338112, \"MacroF1\": 0.8639071890295129, \"Memory in Mb\": 9.146061897277832, \"Time in s\": 4122.536804 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8680521991300145, \"MicroF1\": 0.8680521991300145, \"MacroF1\": 0.8658036637930728, \"Memory in Mb\": 8.80567455291748, \"Time in s\": 4298.84894 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8695035460992908, \"MicroF1\": 0.8695035460992909, \"MacroF1\": 0.8667661913422944, \"Memory in Mb\": 8.892473220825195, \"Time in s\": 4478.129032 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8690421101341971, \"MicroF1\": 0.869042110134197, \"MacroF1\": 0.8663186552920692, \"Memory in Mb\": 8.910783767700195, \"Time in s\": 4660.403073 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8699592206615315, \"MicroF1\": 0.8699592206615315, \"MacroF1\": 0.8669965232275297, \"Memory in Mb\": 8.99278450012207, \"Time in s\": 4845.573407999999 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.869063470927652, \"MicroF1\": 0.8690634709276521, \"MacroF1\": 0.8666022158227548, \"Memory in Mb\": 9.09610366821289, \"Time in s\": 5033.674223999999 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8686385384949978, \"MicroF1\": 0.8686385384949978, \"MacroF1\": 0.8662053097556822, \"Memory in Mb\": 9.110825538635254, \"Time in s\": 5224.692184 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8679081853616284, \"MicroF1\": 0.8679081853616284, \"MacroF1\": 0.8656034675726049, \"Memory in Mb\": 9.181622505187988, \"Time in s\": 5416.881651 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6511848341232227, \"MicroF1\": 0.6511848341232227, \"MacroF1\": 0.5864257754346489, \"Memory in Mb\": 12.51792049407959, \"Time in s\": 137.265242 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6873519658929418, \"MicroF1\": 0.6873519658929418, \"MacroF1\": 0.6004104483953082, \"Memory in Mb\": 15.371862411499023, \"Time in s\": 366.367491 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.6978212819703189, \"MicroF1\": 0.6978212819703189, \"MacroF1\": 0.602242348585179, \"Memory in Mb\": 17.772335052490234, \"Time in s\": 671.574116 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7054226852948141, \"MicroF1\": 0.7054226852948141, \"MacroF1\": 0.6059831617919115, \"Memory in Mb\": 20.14197826385498, \"Time in s\": 1043.757912 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7080886531540065, \"MicroF1\": 0.7080886531540066, \"MacroF1\": 0.6082411118035554, \"Memory in Mb\": 23.246225357055664, \"Time in s\": 1476.569185 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.708602999210734, \"MicroF1\": 0.708602999210734, \"MacroF1\": 0.6091818949546898, \"Memory in Mb\": 28.13547992706299, \"Time in s\": 1970.150117 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7104586659450683, \"MicroF1\": 0.7104586659450683, \"MacroF1\": 0.6104104212994758, \"Memory in Mb\": 30.16471099853516, \"Time in s\": 2526.789716 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7130342133301764, \"MicroF1\": 0.7130342133301764, \"MacroF1\": 0.6119778058667307, \"Memory in Mb\": 27.69899654388428, \"Time in s\": 3146.1270590000004 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.717773334736399, \"MicroF1\": 0.717773334736399, \"MacroF1\": 0.6149023583636667, \"Memory in Mb\": 27.04288387298584, \"Time in s\": 3829.1831980000006 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7215645420967894, \"MicroF1\": 0.7215645420967894, \"MacroF1\": 0.617635708330779, \"Memory in Mb\": 23.96706485748291, \"Time in s\": 4572.729772000001 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7213086526043909, \"MicroF1\": 0.721308652604391, \"MacroF1\": 0.6182075626749539, \"Memory in Mb\": 26.15617847442627, \"Time in s\": 5374.612830000001 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7240943887617394, \"MicroF1\": 0.7240943887617394, \"MacroF1\": 0.6351065980046956, \"Memory in Mb\": 25.05154228210449, \"Time in s\": 6233.453892000001 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7432796678079697, \"MicroF1\": 0.7432796678079697, \"MacroF1\": 0.7402334392509421, \"Memory in Mb\": 15.30208683013916, \"Time in s\": 7142.743199000001 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7491713454643848, \"MicroF1\": 0.7491713454643848, \"MacroF1\": 0.7487081677599373, \"Memory in Mb\": 11.128735542297363, \"Time in s\": 8102.097506000001 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7424079803017867, \"MicroF1\": 0.7424079803017867, \"MacroF1\": 0.7445532404968841, \"Memory in Mb\": 16.950417518615723, \"Time in s\": 9128.379042 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7382657591003255, \"MicroF1\": 0.7382657591003255, \"MacroF1\": 0.7427378731329454, \"Memory in Mb\": 18.26229953765869, \"Time in s\": 10214.572621 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7309342097933262, \"MicroF1\": 0.7309342097933262, \"MacroF1\": 0.7368436311738037, \"Memory in Mb\": 23.77636337280273, \"Time in s\": 11358.099531000002 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7429368127531962, \"MicroF1\": 0.7429368127531962, \"MacroF1\": 0.7441354243297112, \"Memory in Mb\": 12.95803928375244, \"Time in s\": 12553.803014 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7475950755121368, \"MicroF1\": 0.7475950755121367, \"MacroF1\": 0.7439196968116685, \"Memory in Mb\": 12.612845420837402, \"Time in s\": 13796.415893 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7492305506889531, \"MicroF1\": 0.7492305506889531, \"MacroF1\": 0.7418613509588597, \"Memory in Mb\": 16.95127773284912, \"Time in s\": 15088.238885 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7509808342728298, \"MicroF1\": 0.7509808342728299, \"MacroF1\": 0.7400929587109365, \"Memory in Mb\": 17.926865577697754, \"Time in s\": 16424.025269 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7532176832680471, \"MicroF1\": 0.7532176832680472, \"MacroF1\": 0.7391930166872092, \"Memory in Mb\": 20.93969821929932, \"Time in s\": 17798.240955 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7550129699015935, \"MicroF1\": 0.7550129699015935, \"MacroF1\": 0.7379653286035112, \"Memory in Mb\": 25.43882942199707, \"Time in s\": 19212.969178 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7569743124334136, \"MicroF1\": 0.7569743124334136, \"MacroF1\": 0.7375346698329149, \"Memory in Mb\": 29.94521999359131, \"Time in s\": 20668.368585 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7580590173870222, \"MicroF1\": 0.7580590173870221, \"MacroF1\": 0.7363169253318035, \"Memory in Mb\": 34.1699275970459, \"Time in s\": 22166.950006 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7593880896011656, \"MicroF1\": 0.7593880896011656, \"MacroF1\": 0.7352131419868576, \"Memory in Mb\": 32.93678665161133, \"Time in s\": 23706.536377 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7573217354705202, \"MicroF1\": 0.7573217354705202, \"MacroF1\": 0.7350502568377754, \"Memory in Mb\": 21.273219108581543, \"Time in s\": 25286.984696 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7555382690161329, \"MicroF1\": 0.7555382690161329, \"MacroF1\": 0.7386915112539557, \"Memory in Mb\": 20.747055053710938, \"Time in s\": 26906.631088 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7544982529471312, \"MicroF1\": 0.7544982529471312, \"MacroF1\": 0.7426503125712552, \"Memory in Mb\": 24.91079425811768, \"Time in s\": 28562.795387 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7531487736355315, \"MicroF1\": 0.7531487736355315, \"MacroF1\": 0.7453200395899969, \"Memory in Mb\": 32.13512706756592, \"Time in s\": 30253.076649 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7530471971895525, \"MicroF1\": 0.7530471971895525, \"MacroF1\": 0.7484606399297139, \"Memory in Mb\": 36.17057991027832, \"Time in s\": 31977.334616 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7480986061377289, \"MicroF1\": 0.748098606137729, \"MacroF1\": 0.7448942365218528, \"Memory in Mb\": 13.298456192016602, \"Time in s\": 33736.870240000004 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7436795133010016, \"MicroF1\": 0.7436795133010016, \"MacroF1\": 0.7403442775964885, \"Memory in Mb\": 15.221885681152344, \"Time in s\": 35530.857132000005 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7404952232403977, \"MicroF1\": 0.7404952232403977, \"MacroF1\": 0.7368033013057004, \"Memory in Mb\": 16.932289123535156, \"Time in s\": 37356.72126300001 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7371411564165697, \"MicroF1\": 0.7371411564165696, \"MacroF1\": 0.7332530467261859, \"Memory in Mb\": 22.237309455871586, \"Time in s\": 39213.91358200001 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7341049585689859, \"MicroF1\": 0.7341049585689859, \"MacroF1\": 0.7299460315219516, \"Memory in Mb\": 22.86026954650879, \"Time in s\": 41100.10013700001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7343042154027284, \"MicroF1\": 0.7343042154027284, \"MacroF1\": 0.7301016033872143, \"Memory in Mb\": 21.91624164581299, \"Time in s\": 43017.482867000006 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7327734443143021, \"MicroF1\": 0.7327734443143021, \"MacroF1\": 0.728948208474553, \"Memory in Mb\": 20.388718605041504, \"Time in s\": 44961.93393100001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7327538061821626, \"MicroF1\": 0.7327538061821626, \"MacroF1\": 0.7292630064673854, \"Memory in Mb\": 15.630711555480955, \"Time in s\": 46951.12268600001 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7331849712351145, \"MicroF1\": 0.7331849712351144, \"MacroF1\": 0.7301128191332076, \"Memory in Mb\": 20.110919952392575, \"Time in s\": 48959.16072000001 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7337567848481349, \"MicroF1\": 0.7337567848481349, \"MacroF1\": 0.7309969621648841, \"Memory in Mb\": 24.057676315307617, \"Time in s\": 50985.068017000005 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7342111790038556, \"MicroF1\": 0.7342111790038556, \"MacroF1\": 0.731637560144403, \"Memory in Mb\": 28.52964782714844, \"Time in s\": 53028.942305 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7351289448763406, \"MicroF1\": 0.7351289448763407, \"MacroF1\": 0.7324911060941295, \"Memory in Mb\": 28.861422538757324, \"Time in s\": 55091.119898 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7357682457008803, \"MicroF1\": 0.7357682457008803, \"MacroF1\": 0.7329742877599967, \"Memory in Mb\": 33.07672500610352, \"Time in s\": 57170.52325500001 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7366947957659041, \"MicroF1\": 0.736694795765904, \"MacroF1\": 0.7341498113226347, \"Memory in Mb\": 21.3528356552124, \"Time in s\": 59267.07909500001 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7403602676273804, \"MicroF1\": 0.7403602676273804, \"MacroF1\": 0.7381372580344014, \"Memory in Mb\": 19.381468772888184, \"Time in s\": 61379.50627500001 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7442122866756664, \"MicroF1\": 0.7442122866756663, \"MacroF1\": 0.742109373234967, \"Memory in Mb\": 21.8067569732666, \"Time in s\": 63507.849119000006 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7475289521968157, \"MicroF1\": 0.7475289521968157, \"MacroF1\": 0.7453466445950636, \"Memory in Mb\": 21.65154266357422, \"Time in s\": 65647.81315 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7510581141410433, \"MicroF1\": 0.7510581141410433, \"MacroF1\": 0.7487124138061083, \"Memory in Mb\": 22.87060165405273, \"Time in s\": 67797.610737 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7545218659444307, \"MicroF1\": 0.7545218659444307, \"MacroF1\": 0.752582163258218, \"Memory in Mb\": 10.55445957183838, \"Time in s\": 69956.07865499999 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Insects\", \"Accuracy\": 0.7547448294132117, \"MicroF1\": 0.7547448294132117, \"MacroF1\": 0.7528178949021433, \"Memory in Mb\": 10.58643913269043, \"Time in s\": 72115.038215 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803439803439804, \"MicroF1\": 0.9803439803439804, \"MacroF1\": 0.4950372208436724, \"Memory in Mb\": 1.786503791809082, \"Time in s\": 20.578742 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.98159509202454, \"MicroF1\": 0.98159509202454, \"MacroF1\": 0.9278568842209168, \"Memory in Mb\": 6.9002227783203125, \"Time in s\": 101.280083 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9803761242845462, \"MicroF1\": 0.9803761242845462, \"MacroF1\": 0.9574942570636208, \"Memory in Mb\": 9.112634658813477, \"Time in s\": 223.840162 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9779276517473944, \"MicroF1\": 0.9779276517473944, \"MacroF1\": 0.9432755457272628, \"Memory in Mb\": 10.40715503692627, \"Time in s\": 381.844655 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.973516429622364, \"MicroF1\": 0.973516429622364, \"MacroF1\": 0.9361356188587968, \"Memory in Mb\": 12.656171798706056, \"Time in s\": 575.269036 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9726195341234164, \"MicroF1\": 0.9726195341234164, \"MacroF1\": 0.9612590316809274, \"Memory in Mb\": 8.745987892150879, \"Time in s\": 802.257021 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754816112084064, \"MicroF1\": 0.9754816112084064, \"MacroF1\": 0.975146989141396, \"Memory in Mb\": 9.931495666503906, \"Time in s\": 1061.688609 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754826846460312, \"MicroF1\": 0.9754826846460312, \"MacroF1\": 0.9697604489278108, \"Memory in Mb\": 10.511832237243652, \"Time in s\": 1352.298412 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9733042767638246, \"MicroF1\": 0.9733042767638246, \"MacroF1\": 0.9642745555297418, \"Memory in Mb\": 11.800049781799316, \"Time in s\": 1675.333833 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9722971316499142, \"MicroF1\": 0.9722971316499142, \"MacroF1\": 0.9666413905932107, \"Memory in Mb\": 12.42660903930664, \"Time in s\": 2030.177258 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9734789391575664, \"MicroF1\": 0.9734789391575664, \"MacroF1\": 0.9728883985144964, \"Memory in Mb\": 9.746350288391112, \"Time in s\": 2413.735444 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9740551583248211, \"MicroF1\": 0.9740551583248211, \"MacroF1\": 0.9730015599884004, \"Memory in Mb\": 10.666529655456545, \"Time in s\": 2823.505547 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9741655666603808, \"MicroF1\": 0.9741655666603808, \"MacroF1\": 0.9728266773902404, \"Memory in Mb\": 11.775634765625, \"Time in s\": 3261.739577 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9747855016634565, \"MicroF1\": 0.9747855016634565, \"MacroF1\": 0.9744326987999562, \"Memory in Mb\": 12.58005428314209, \"Time in s\": 3727.994683 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9751593397613988, \"MicroF1\": 0.9751593397613988, \"MacroF1\": 0.9747223863351728, \"Memory in Mb\": 13.55466365814209, \"Time in s\": 4223.159482999999 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9751800214493642, \"MicroF1\": 0.9751800214493642, \"MacroF1\": 0.974525548169428, \"Memory in Mb\": 11.360074043273926, \"Time in s\": 4747.988555 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9763518385003604, \"MicroF1\": 0.9763518385003604, \"MacroF1\": 0.9769458779347456, \"Memory in Mb\": 11.155635833740234, \"Time in s\": 5300.577354999999 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9765763311997822, \"MicroF1\": 0.9765763311997822, \"MacroF1\": 0.976392359672136, \"Memory in Mb\": 12.33658504486084, \"Time in s\": 5881.207234 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9771642368726616, \"MicroF1\": 0.9771642368726616, \"MacroF1\": 0.9773496343719736, \"Memory in Mb\": 13.116165161132812, \"Time in s\": 6492.775159 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.976590268415247, \"MicroF1\": 0.976590268415247, \"MacroF1\": 0.975927508407602, \"Memory in Mb\": 13.303799629211426, \"Time in s\": 7137.299991 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9768880588303958, \"MicroF1\": 0.9768880588303958, \"MacroF1\": 0.9769304999907084, \"Memory in Mb\": 13.133574485778809, \"Time in s\": 7814.540539 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9774930362116993, \"MicroF1\": 0.9774930362116993, \"MacroF1\": 0.9777587646121524, \"Memory in Mb\": 13.50635814666748, \"Time in s\": 8523.072866 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9767664925929872, \"MicroF1\": 0.9767664925929872, \"MacroF1\": 0.9763135719034828, \"Memory in Mb\": 15.166536331176758, \"Time in s\": 9263.702674 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9765090389132876, \"MicroF1\": 0.9765090389132876, \"MacroF1\": 0.9763153416047448, \"Memory in Mb\": 16.169885635375977, \"Time in s\": 10037.443626 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758799882341406, \"MicroF1\": 0.9758799882341406, \"MacroF1\": 0.9755246287395946, \"Memory in Mb\": 14.205968856811523, \"Time in s\": 10844.068015 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9755821627227302, \"MicroF1\": 0.9755821627227302, \"MacroF1\": 0.9754319444516872, \"Memory in Mb\": 12.997503280639648, \"Time in s\": 11685.064117 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759418974126192, \"MicroF1\": 0.9759418974126192, \"MacroF1\": 0.9761027289556774, \"Memory in Mb\": 12.962043762207031, \"Time in s\": 12559.39796 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9760133064869124, \"MicroF1\": 0.9760133064869124, \"MacroF1\": 0.9760613734021468, \"Memory in Mb\": 14.09043312072754, \"Time in s\": 13467.395857 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754881244188996, \"MicroF1\": 0.9754881244188996, \"MacroF1\": 0.9753195915858492, \"Memory in Mb\": 14.295487403869627, \"Time in s\": 14408.853786 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759784296102624, \"MicroF1\": 0.9759784296102624, \"MacroF1\": 0.9761779987511396, \"Memory in Mb\": 15.044499397277832, \"Time in s\": 15385.688043 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9762789594370206, \"MicroF1\": 0.9762789594370206, \"MacroF1\": 0.9764127823145236, \"Memory in Mb\": 15.120206832885742, \"Time in s\": 16404.149055 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758713136729222, \"MicroF1\": 0.975871313672922, \"MacroF1\": 0.975797420384815, \"Memory in Mb\": 15.049361228942873, \"Time in s\": 17460.942559000003 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757112084973631, \"MicroF1\": 0.9757112084973631, \"MacroF1\": 0.9757165619520196, \"Memory in Mb\": 15.162266731262209, \"Time in s\": 18558.798501 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759930790858626, \"MicroF1\": 0.9759930790858626, \"MacroF1\": 0.9761084708221816, \"Memory in Mb\": 15.711796760559082, \"Time in s\": 19695.838422 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754884795854052, \"MicroF1\": 0.9754884795854052, \"MacroF1\": 0.975424480421301, \"Memory in Mb\": 16.988737106323242, \"Time in s\": 20872.643227 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.975624702117519, \"MicroF1\": 0.975624702117519, \"MacroF1\": 0.9757017096421696, \"Memory in Mb\": 17.869779586791992, \"Time in s\": 22084.930025 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757535607817158, \"MicroF1\": 0.9757535607817158, \"MacroF1\": 0.9758249143111628, \"Memory in Mb\": 17.579912185668945, \"Time in s\": 23330.568569000003 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9755531187512094, \"MicroF1\": 0.9755531187512094, \"MacroF1\": 0.9755669148190674, \"Memory in Mb\": 16.59157657623291, \"Time in s\": 24610.336028 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756772044497516, \"MicroF1\": 0.9756772044497516, \"MacroF1\": 0.97573890775282, \"Memory in Mb\": 16.193113327026367, \"Time in s\": 25925.188427 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9759176420123782, \"MicroF1\": 0.9759176420123782, \"MacroF1\": 0.9759886766110538, \"Memory in Mb\": 16.353660583496094, \"Time in s\": 27266.573062 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756680815448078, \"MicroF1\": 0.9756680815448078, \"MacroF1\": 0.9756766431570708, \"Memory in Mb\": 17.00908374786377, \"Time in s\": 28641.859399 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9758389261744966, \"MicroF1\": 0.9758389261744966, \"MacroF1\": 0.975891563489883, \"Memory in Mb\": 18.364989280700684, \"Time in s\": 30047.550521 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9753747933648748, \"MicroF1\": 0.9753747933648748, \"MacroF1\": 0.975363882573194, \"Memory in Mb\": 17.298136711120605, \"Time in s\": 31485.782589 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9753217090969862, \"MicroF1\": 0.9753217090969862, \"MacroF1\": 0.9753429667022142, \"Memory in Mb\": 16.72727108001709, \"Time in s\": 32956.927282000004 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754888610490768, \"MicroF1\": 0.9754888610490768, \"MacroF1\": 0.9755190387029732, \"Memory in Mb\": 17.51059913635254, \"Time in s\": 34461.639008000006 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9757553151809026, \"MicroF1\": 0.9757553151809026, \"MacroF1\": 0.9757835195290104, \"Memory in Mb\": 18.871691703796387, \"Time in s\": 35998.873267 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754367666232072, \"MicroF1\": 0.9754367666232072, \"MacroF1\": 0.9754369138844644, \"Memory in Mb\": 17.42948341369629, \"Time in s\": 37568.082084 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754889444926722, \"MicroF1\": 0.9754889444926722, \"MacroF1\": 0.9754964783302286, \"Memory in Mb\": 17.978480339050293, \"Time in s\": 39170.395427 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9756390375669052, \"MicroF1\": 0.9756390375669052, \"MacroF1\": 0.975642520227376, \"Memory in Mb\": 19.26256561279297, \"Time in s\": 40805.125646 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Stacking\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9754889945585568, \"MicroF1\": 0.9754889945585568, \"MacroF1\": 0.9754863274548964, \"Memory in Mb\": 18.711057662963867, \"Time in s\": 42471.761869 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.4666666666666667, \"MicroF1\": 0.4666666666666667, \"MacroF1\": 0.3890768588137009, \"Memory in Mb\": 0.9137420654296876, \"Time in s\": 0.663852 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6153846153846154, \"MicroF1\": 0.6153846153846154, \"MacroF1\": 0.617040786788686, \"Memory in Mb\": 0.9906883239746094, \"Time in s\": 2.032737 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.6715328467153284, \"MicroF1\": 0.6715328467153284, \"MacroF1\": 0.6884491245817251, \"Memory in Mb\": 1.067914962768555, \"Time in s\": 4.226265 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7049180327868853, \"MicroF1\": 0.7049180327868853, \"MacroF1\": 0.7194266051408907, \"Memory in Mb\": 1.1443958282470703, \"Time in s\": 7.386208 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7292576419213974, \"MicroF1\": 0.7292576419213974, \"MacroF1\": 0.7448338459304749, \"Memory in Mb\": 1.2214689254760742, \"Time in s\": 11.723904 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7381818181818182, \"MicroF1\": 0.7381818181818182, \"MacroF1\": 0.7559766728000937, \"Memory in Mb\": 1.2995519638061523, \"Time in s\": 17.331033 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7538940809968847, \"MicroF1\": 0.7538940809968847, \"MacroF1\": 0.7616248500949714, \"Memory in Mb\": 1.3766565322875977, \"Time in s\": 24.26159 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.773841961852861, \"MicroF1\": 0.7738419618528611, \"MacroF1\": 0.7772939373537765, \"Memory in Mb\": 1.4532833099365234, \"Time in s\": 32.770568000000004 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7820823244552058, \"MicroF1\": 0.7820823244552059, \"MacroF1\": 0.7854200812154107, \"Memory in Mb\": 1.530414581298828, \"Time in s\": 42.983195 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7777777777777778, \"MicroF1\": 0.7777777777777778, \"MacroF1\": 0.7796254955467015, \"Memory in Mb\": 1.6075658798217771, \"Time in s\": 54.886431 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7861386138613862, \"MicroF1\": 0.7861386138613862, \"MacroF1\": 0.7886239053396241, \"Memory in Mb\": 3.8640270233154297, \"Time in s\": 87.00222099999999 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7858439201451906, \"MicroF1\": 0.7858439201451906, \"MacroF1\": 0.7889431335032357, \"Memory in Mb\": 4.088808059692383, \"Time in s\": 121.00394599999998 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7906197654941374, \"MicroF1\": 0.7906197654941374, \"MacroF1\": 0.7944387660679091, \"Memory in Mb\": 4.304059028625488, \"Time in s\": 157.00397999999998 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7853810264385692, \"MicroF1\": 0.7853810264385692, \"MacroF1\": 0.7901251252871709, \"Memory in Mb\": 4.532710075378418, \"Time in s\": 195.073691 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7895500725689405, \"MicroF1\": 0.7895500725689405, \"MacroF1\": 0.7935315861788143, \"Memory in Mb\": 4.759090423583984, \"Time in s\": 235.272046 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7863945578231293, \"MicroF1\": 0.7863945578231294, \"MacroF1\": 0.7911065855691086, \"Memory in Mb\": 4.991429328918457, \"Time in s\": 277.59962 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7887323943661971, \"MicroF1\": 0.7887323943661971, \"MacroF1\": 0.792926322670609, \"Memory in Mb\": 5.219735145568848, \"Time in s\": 322.071315 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7896009673518742, \"MicroF1\": 0.7896009673518742, \"MacroF1\": 0.7950712422059908, \"Memory in Mb\": 5.452417373657227, \"Time in s\": 368.82718 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7938144329896907, \"MicroF1\": 0.7938144329896907, \"MacroF1\": 0.7979586706142276, \"Memory in Mb\": 5.699496269226074, \"Time in s\": 417.885664 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.794341675734494, \"MicroF1\": 0.794341675734494, \"MacroF1\": 0.7973145688626199, \"Memory in Mb\": 5.9376373291015625, \"Time in s\": 469.16999 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7937823834196891, \"MicroF1\": 0.7937823834196891, \"MacroF1\": 0.7958827691316667, \"Memory in Mb\": 6.182188987731934, \"Time in s\": 522.9385980000001 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7912957467853611, \"MicroF1\": 0.7912957467853611, \"MacroF1\": 0.7931630938612351, \"Memory in Mb\": 6.34267520904541, \"Time in s\": 579.2700850000001 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.793755912961211, \"MicroF1\": 0.7937559129612108, \"MacroF1\": 0.7947921362588558, \"Memory in Mb\": 6.295009613037109, \"Time in s\": 638.2805060000001 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7941976427923844, \"MicroF1\": 0.7941976427923844, \"MacroF1\": 0.7951664828862093, \"Memory in Mb\": 6.2213640213012695, \"Time in s\": 699.725726 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7954743255004352, \"MicroF1\": 0.7954743255004351, \"MacroF1\": 0.7958304956922065, \"Memory in Mb\": 6.151959419250488, \"Time in s\": 763.5071 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.796652719665272, \"MicroF1\": 0.796652719665272, \"MacroF1\": 0.7972397572733622, \"Memory in Mb\": 6.087224006652832, \"Time in s\": 829.5043310000001 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7953263497179693, \"MicroF1\": 0.7953263497179693, \"MacroF1\": 0.795947547023496, \"Memory in Mb\": 6.001987457275391, \"Time in s\": 897.6078460000001 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7995337995337995, \"MicroF1\": 0.7995337995337995, \"MacroF1\": 0.799082939294124, \"Memory in Mb\": 5.924266815185547, \"Time in s\": 967.722432 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7981995498874719, \"MicroF1\": 0.7981995498874719, \"MacroF1\": 0.7978549794399667, \"Memory in Mb\": 5.872907638549805, \"Time in s\": 1039.926656 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.7991298042059464, \"MicroF1\": 0.7991298042059464, \"MacroF1\": 0.799072028035076, \"Memory in Mb\": 5.784454345703125, \"Time in s\": 1114.0085680000002 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8007017543859649, \"MicroF1\": 0.8007017543859649, \"MacroF1\": 0.799801266098334, \"Memory in Mb\": 5.781437873840332, \"Time in s\": 1190.125915 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8042148198504419, \"MicroF1\": 0.8042148198504419, \"MacroF1\": 0.8016037490391381, \"Memory in Mb\": 5.805401802062988, \"Time in s\": 1268.322504 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048780487804879, \"MicroF1\": 0.8048780487804877, \"MacroF1\": 0.8013581039030082, \"Memory in Mb\": 5.915700912475586, \"Time in s\": 1348.933518 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048624440179143, \"MicroF1\": 0.8048624440179143, \"MacroF1\": 0.8017038254481382, \"Memory in Mb\": 6.069503784179688, \"Time in s\": 1431.999326 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048477315102548, \"MicroF1\": 0.8048477315102549, \"MacroF1\": 0.8009666848419111, \"Memory in Mb\": 6.138180732727051, \"Time in s\": 1517.316045 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.804833836858006, \"MicroF1\": 0.804833836858006, \"MacroF1\": 0.8009346118743482, \"Memory in Mb\": 6.15428638458252, \"Time in s\": 1604.689641 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8048206937095826, \"MicroF1\": 0.8048206937095828, \"MacroF1\": 0.802987300619633, \"Memory in Mb\": 6.14796257019043, \"Time in s\": 1694.105126 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8065254722381225, \"MicroF1\": 0.8065254722381225, \"MacroF1\": 0.8041280306488863, \"Memory in Mb\": 6.185528755187988, \"Time in s\": 1785.64513 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8070273284997211, \"MicroF1\": 0.8070273284997211, \"MacroF1\": 0.8033862119520573, \"Memory in Mb\": 6.18717098236084, \"Time in s\": 1879.221363 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8085916258836324, \"MicroF1\": 0.8085916258836324, \"MacroF1\": 0.8051706679397826, \"Memory in Mb\": 6.228180885314941, \"Time in s\": 1974.88599 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8074270557029177, \"MicroF1\": 0.8074270557029178, \"MacroF1\": 0.8044133208197751, \"Memory in Mb\": 6.244633674621582, \"Time in s\": 2072.712055 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8073537027446919, \"MicroF1\": 0.8073537027446919, \"MacroF1\": 0.8036280810428232, \"Memory in Mb\": 6.232837677001953, \"Time in s\": 2172.610836 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.808295397066262, \"MicroF1\": 0.808295397066262, \"MacroF1\": 0.8041943782356388, \"Memory in Mb\": 6.225313186645508, \"Time in s\": 2274.502409 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8096885813148789, \"MicroF1\": 0.809688581314879, \"MacroF1\": 0.8043903689108628, \"Memory in Mb\": 6.209332466125488, \"Time in s\": 2378.336668 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8086031899468342, \"MicroF1\": 0.8086031899468342, \"MacroF1\": 0.8034099584264852, \"Memory in Mb\": 6.192641258239746, \"Time in s\": 2484.108554 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.808983451536643, \"MicroF1\": 0.808983451536643, \"MacroF1\": 0.8029929757635029, \"Memory in Mb\": 6.163993835449219, \"Time in s\": 2591.83622 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8093475242943082, \"MicroF1\": 0.8093475242943081, \"MacroF1\": 0.8028985652670257, \"Memory in Mb\": 6.160528182983398, \"Time in s\": 2701.493184 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8110557317625736, \"MicroF1\": 0.8110557317625736, \"MacroF1\": 0.8037088502350873, \"Memory in Mb\": 6.127141952514648, \"Time in s\": 2812.975729 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8078118064802485, \"MicroF1\": 0.8078118064802485, \"MacroF1\": 0.8004652010359966, \"Memory in Mb\": 6.094814300537109, \"Time in s\": 2926.384262 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8064375815571988, \"MicroF1\": 0.8064375815571988, \"MacroF1\": 0.7990276111502428, \"Memory in Mb\": 6.073050498962402, \"Time in s\": 3041.734776 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.8064097011693374, \"MicroF1\": 0.8064097011693374, \"MacroF1\": 0.7989986920740723, \"Memory in Mb\": 6.073922157287598, \"Time in s\": 3157.943153 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6293838862559241, \"MicroF1\": 0.6293838862559241, \"MacroF1\": 0.5938169901557457, \"Memory in Mb\": 7.681754112243652, \"Time in s\": 78.197886 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6290857413548081, \"MicroF1\": 0.6290857413548081, \"MacroF1\": 0.5936238360694311, \"Memory in Mb\": 7.563845634460449, \"Time in s\": 217.436369 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.625197347647616, \"MicroF1\": 0.625197347647616, \"MacroF1\": 0.5890732389154221, \"Memory in Mb\": 7.54627799987793, \"Time in s\": 406.781755 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.624437603599337, \"MicroF1\": 0.624437603599337, \"MacroF1\": 0.5890978975177876, \"Memory in Mb\": 7.509035110473633, \"Time in s\": 643.136123 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6309907179390036, \"MicroF1\": 0.6309907179390036, \"MacroF1\": 0.5943307513870396, \"Memory in Mb\": 7.529419898986816, \"Time in s\": 922.055301 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6249408050513023, \"MicroF1\": 0.6249408050513023, \"MacroF1\": 0.5899587518293812, \"Memory in Mb\": 7.541637420654297, \"Time in s\": 1240.879558 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6242727641726424, \"MicroF1\": 0.6242727641726424, \"MacroF1\": 0.589208790087756, \"Memory in Mb\": 7.519943237304687, \"Time in s\": 1598.2590730000002 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6266129986977625, \"MicroF1\": 0.6266129986977625, \"MacroF1\": 0.5910042020201396, \"Memory in Mb\": 7.600367546081543, \"Time in s\": 1990.9287910000005 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6255919183415763, \"MicroF1\": 0.6255919183415763, \"MacroF1\": 0.5892477749449755, \"Memory in Mb\": 7.551809310913086, \"Time in s\": 2416.671036 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6269533099725353, \"MicroF1\": 0.6269533099725353, \"MacroF1\": 0.5906555376897765, \"Memory in Mb\": 7.57810115814209, \"Time in s\": 2875.240995 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6254842875591907, \"MicroF1\": 0.6254842875591907, \"MacroF1\": 0.5899069142128334, \"Memory in Mb\": 7.574300765991211, \"Time in s\": 3366.8452850000003 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6276536974193039, \"MicroF1\": 0.6276536974193039, \"MacroF1\": 0.5948280902959312, \"Memory in Mb\": 7.593076705932617, \"Time in s\": 3891.533291 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6419465287389816, \"MicroF1\": 0.6419465287389816, \"MacroF1\": 0.6240594787506325, \"Memory in Mb\": 7.568525314331055, \"Time in s\": 4449.097087 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6349861327200162, \"MicroF1\": 0.6349861327200162, \"MacroF1\": 0.6168664949740267, \"Memory in Mb\": 7.497129440307617, \"Time in s\": 5038.3500540000005 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6042048109097796, \"MicroF1\": 0.6042048109097796, \"MacroF1\": 0.5876183517420878, \"Memory in Mb\": 7.622871398925781, \"Time in s\": 5663.9066330000005 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5831311038768866, \"MicroF1\": 0.5831311038768866, \"MacroF1\": 0.5677288238088704, \"Memory in Mb\": 7.5406084060668945, \"Time in s\": 6323.428796 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5683805916104953, \"MicroF1\": 0.5683805916104953, \"MacroF1\": 0.5530005563922373, \"Memory in Mb\": 7.511743545532227, \"Time in s\": 7015.247243 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5655811016993739, \"MicroF1\": 0.5655811016993739, \"MacroF1\": 0.5465928919365096, \"Memory in Mb\": 7.569133758544922, \"Time in s\": 7739.601247 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5718985196630614, \"MicroF1\": 0.5718985196630614, \"MacroF1\": 0.5506497035356593, \"Memory in Mb\": 8.179316520690918, \"Time in s\": 8496.204598999999 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5817510298783086, \"MicroF1\": 0.5817510298783086, \"MacroF1\": 0.55937505855693, \"Memory in Mb\": 8.13927173614502, \"Time in s\": 9285.092110999998 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.5905298759864712, \"MicroF1\": 0.5905298759864712, \"MacroF1\": 0.5668099949242361, \"Memory in Mb\": 8.13715648651123, \"Time in s\": 10104.551326 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6004907236020834, \"MicroF1\": 0.6004907236020834, \"MacroF1\": 0.5756153967719769, \"Memory in Mb\": 8.254791259765625, \"Time in s\": 10955.282648 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6088854119487792, \"MicroF1\": 0.6088854119487792, \"MacroF1\": 0.5822871692574689, \"Memory in Mb\": 8.217899322509766, \"Time in s\": 11836.441737999998 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.617014560233595, \"MicroF1\": 0.617014560233595, \"MacroF1\": 0.5890646667396601, \"Memory in Mb\": 8.13050651550293, \"Time in s\": 12747.590801999995 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6237357475661957, \"MicroF1\": 0.6237357475661957, \"MacroF1\": 0.5942060376379845, \"Memory in Mb\": 8.178851127624512, \"Time in s\": 13688.250944999996 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6299763248952832, \"MicroF1\": 0.6299763248952832, \"MacroF1\": 0.5983574644866619, \"Memory in Mb\": 8.215079307556152, \"Time in s\": 14661.447404999995 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6312651257409421, \"MicroF1\": 0.6312651257409421, \"MacroF1\": 0.6016879522351425, \"Memory in Mb\": 8.160200119018555, \"Time in s\": 15669.084531999995 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6310751851726587, \"MicroF1\": 0.6310751851726587, \"MacroF1\": 0.6062390002054064, \"Memory in Mb\": 8.153844833374023, \"Time in s\": 16709.899933999994 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6313228619011854, \"MicroF1\": 0.6313228619011854, \"MacroF1\": 0.610710416812842, \"Memory in Mb\": 8.221953392028809, \"Time in s\": 17785.196262999994 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6320590927743931, \"MicroF1\": 0.6320590927743931, \"MacroF1\": 0.614817700164209, \"Memory in Mb\": 8.237210273742676, \"Time in s\": 18894.010558999995 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6331144035436077, \"MicroF1\": 0.6331144035436077, \"MacroF1\": 0.6184679282473909, \"Memory in Mb\": 8.208189964294434, \"Time in s\": 20033.816622999995 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6291616110798733, \"MicroF1\": 0.6291616110798733, \"MacroF1\": 0.6151628967287334, \"Memory in Mb\": 8.149331092834473, \"Time in s\": 21206.789184999998 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6245587855482538, \"MicroF1\": 0.6245587855482538, \"MacroF1\": 0.6103108800280445, \"Memory in Mb\": 8.270771980285645, \"Time in s\": 22409.569843999994 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6211737180736986, \"MicroF1\": 0.6211737180736986, \"MacroF1\": 0.6063163580543118, \"Memory in Mb\": 8.246885299682617, \"Time in s\": 23639.112909 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6171433209772992, \"MicroF1\": 0.6171433209772992, \"MacroF1\": 0.6018416894357856, \"Memory in Mb\": 8.222872734069824, \"Time in s\": 24895.212451 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6153360515585953, \"MicroF1\": 0.6153360515585953, \"MacroF1\": 0.5996210858832133, \"Memory in Mb\": 8.711487770080566, \"Time in s\": 26177.407049999994 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.613472908295155, \"MicroF1\": 0.613472908295155, \"MacroF1\": 0.5980758777202522, \"Memory in Mb\": 8.84398365020752, \"Time in s\": 27486.887242999997 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6139008647544048, \"MicroF1\": 0.6139008647544048, \"MacroF1\": 0.5993833357378361, \"Memory in Mb\": 9.00393295288086, \"Time in s\": 28821.579146999997 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6157395041643396, \"MicroF1\": 0.6157395041643396, \"MacroF1\": 0.6018873090815099, \"Memory in Mb\": 8.895415306091309, \"Time in s\": 30174.675792999995 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6179833802883591, \"MicroF1\": 0.6179833802883591, \"MacroF1\": 0.6047393094362844, \"Memory in Mb\": 8.820836067199707, \"Time in s\": 31551.592344999997 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6202101859337106, \"MicroF1\": 0.6202101859337106, \"MacroF1\": 0.60743097275183, \"Memory in Mb\": 8.80302619934082, \"Time in s\": 32950.21258099999 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6221054767648982, \"MicroF1\": 0.6221054767648982, \"MacroF1\": 0.6097047537791253, \"Memory in Mb\": 8.807188034057617, \"Time in s\": 34370.71930599999 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.623736428304006, \"MicroF1\": 0.623736428304006, \"MacroF1\": 0.6112415003179203, \"Memory in Mb\": 8.906554222106934, \"Time in s\": 35814.22252799999 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6259389191399608, \"MicroF1\": 0.6259389191399608, \"MacroF1\": 0.6133867892257391, \"Memory in Mb\": 8.822076797485352, \"Time in s\": 37279.498287 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6274542814453166, \"MicroF1\": 0.6274542814453166, \"MacroF1\": 0.6153714367024555, \"Memory in Mb\": 8.875716209411621, \"Time in s\": 38770.246246 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6317858980957283, \"MicroF1\": 0.6317858980957283, \"MacroF1\": 0.6202967225132047, \"Memory in Mb\": 8.86828327178955, \"Time in s\": 40284.403256 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6360137817090125, \"MicroF1\": 0.6360137817090125, \"MacroF1\": 0.6247992459885968, \"Memory in Mb\": 8.835649490356445, \"Time in s\": 41820.805008 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6403811628228145, \"MicroF1\": 0.6403811628228145, \"MacroF1\": 0.6293790828873279, \"Memory in Mb\": 8.924153327941895, \"Time in s\": 43378.957976 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6455559206076185, \"MicroF1\": 0.6455559206076185, \"MacroF1\": 0.6346828420183047, \"Memory in Mb\": 9.21804904937744, \"Time in s\": 44959.107881 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.648269853595712, \"MicroF1\": 0.648269853595712, \"MacroF1\": 0.6377385869395499, \"Memory in Mb\": 9.400546073913574, \"Time in s\": 46560.782 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Insects\", \"Accuracy\": 0.6485325562472799, \"MicroF1\": 0.6485325562472799, \"MacroF1\": 0.637999701607352, \"Memory in Mb\": 9.406517028808594, \"Time in s\": 48163.738895 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9828009828009828, \"MicroF1\": 0.9828009828009828, \"MacroF1\": 0.6067632850241546, \"Memory in Mb\": 1.4587059020996094, \"Time in s\": 10.139614 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9496932515337424, \"MicroF1\": 0.9496932515337424, \"MacroF1\": 0.7435135353411919, \"Memory in Mb\": 6.019382476806641, \"Time in s\": 66.737739 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9149632052330336, \"MicroF1\": 0.9149632052330336, \"MacroF1\": 0.9012024099743488, \"Memory in Mb\": 7.076447486877441, \"Time in s\": 151.07716299999998 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9258123850398527, \"MicroF1\": 0.9258123850398527, \"MacroF1\": 0.913338738884437, \"Memory in Mb\": 7.232892990112305, \"Time in s\": 261.540164 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9230014713094654, \"MicroF1\": 0.9230014713094654, \"MacroF1\": 0.9086113906821328, \"Memory in Mb\": 7.553393363952637, \"Time in s\": 397.836215 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8961994278708623, \"MicroF1\": 0.8961994278708623, \"MacroF1\": 0.8992132713257572, \"Memory in Mb\": 7.640434265136719, \"Time in s\": 558.733108 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9001751313485113, \"MicroF1\": 0.9001751313485113, \"MacroF1\": 0.8860451027148403, \"Memory in Mb\": 7.9326982498168945, \"Time in s\": 743.600486 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8924302788844621, \"MicroF1\": 0.8924302788844621, \"MacroF1\": 0.8761196773917237, \"Memory in Mb\": 8.074724197387695, \"Time in s\": 952.077233 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8874965949332607, \"MicroF1\": 0.8874965949332607, \"MacroF1\": 0.8846937712308092, \"Memory in Mb\": 8.20841121673584, \"Time in s\": 1184.393658 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8815886246629075, \"MicroF1\": 0.8815886246629075, \"MacroF1\": 0.868452721773406, \"Memory in Mb\": 8.525882720947266, \"Time in s\": 1441.208937 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8760864720303098, \"MicroF1\": 0.8760864720303098, \"MacroF1\": 0.8834419600614621, \"Memory in Mb\": 8.681946754455566, \"Time in s\": 1719.7568239999998 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8737487231869254, \"MicroF1\": 0.8737487231869254, \"MacroF1\": 0.8797220914000274, \"Memory in Mb\": 8.834684371948242, \"Time in s\": 2018.974207 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8693192532528757, \"MicroF1\": 0.8693192532528757, \"MacroF1\": 0.8538682361373632, \"Memory in Mb\": 9.067034721374512, \"Time in s\": 2339.699668 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8607949571003327, \"MicroF1\": 0.8607949571003327, \"MacroF1\": 0.8654889627515672, \"Memory in Mb\": 9.271133422851562, \"Time in s\": 2680.904224 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8561856512502043, \"MicroF1\": 0.8561856512502043, \"MacroF1\": 0.84095068957581, \"Memory in Mb\": 9.378315925598145, \"Time in s\": 3042.663698 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8434196414891987, \"MicroF1\": 0.8434196414891987, \"MacroF1\": 0.8427350578509161, \"Memory in Mb\": 9.608606338500977, \"Time in s\": 3424.478417 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8392213410237923, \"MicroF1\": 0.8392213410237923, \"MacroF1\": 0.8447429510460126, \"Memory in Mb\": 9.751982688903809, \"Time in s\": 3824.86879 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8454310227427482, \"MicroF1\": 0.8454310227427482, \"MacroF1\": 0.847842289102327, \"Memory in Mb\": 9.957889556884766, \"Time in s\": 4243.00141 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8456973293768546, \"MicroF1\": 0.8456973293768547, \"MacroF1\": 0.8480563212460421, \"Memory in Mb\": 10.19985294342041, \"Time in s\": 4680.993142 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8469175144012747, \"MicroF1\": 0.8469175144012746, \"MacroF1\": 0.8472851046009279, \"Memory in Mb\": 10.418806076049805, \"Time in s\": 5138.9878340000005 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8469709349830746, \"MicroF1\": 0.8469709349830746, \"MacroF1\": 0.8501227536717817, \"Memory in Mb\": 10.607142448425291, \"Time in s\": 5616.664707000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8475766016713092, \"MicroF1\": 0.8475766016713092, \"MacroF1\": 0.8507851780426926, \"Memory in Mb\": 10.772598266601562, \"Time in s\": 6113.940894000001 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8459980816370031, \"MicroF1\": 0.8459980816370031, \"MacroF1\": 0.8471668648040658, \"Memory in Mb\": 10.97368335723877, \"Time in s\": 6631.342845000001 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8418956184250843, \"MicroF1\": 0.8418956184250843, \"MacroF1\": 0.8426049398612477, \"Memory in Mb\": 11.192140579223633, \"Time in s\": 7169.901201000001 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8344935778017453, \"MicroF1\": 0.8344935778017454, \"MacroF1\": 0.8308153568434791, \"Memory in Mb\": 11.354521751403809, \"Time in s\": 7729.92345 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.817384745922504, \"MicroF1\": 0.817384745922504, \"MacroF1\": 0.8105787344487394, \"Memory in Mb\": 11.59365177154541, \"Time in s\": 8312.440227000001 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8127099409895597, \"MicroF1\": 0.8127099409895597, \"MacroF1\": 0.8142119266109252, \"Memory in Mb\": 11.793928146362305, \"Time in s\": 8918.030696000002 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8079313665411888, \"MicroF1\": 0.8079313665411888, \"MacroF1\": 0.8037472320719128, \"Memory in Mb\": 11.945178031921388, \"Time in s\": 9547.170938 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8040740427689967, \"MicroF1\": 0.8040740427689967, \"MacroF1\": 0.8039730126613296, \"Memory in Mb\": 12.203582763671877, \"Time in s\": 10200.281645 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8072554947299616, \"MicroF1\": 0.8072554947299616, \"MacroF1\": 0.8097160881214022, \"Memory in Mb\": 12.414502143859863, \"Time in s\": 10877.318664 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8043014153554202, \"MicroF1\": 0.8043014153554202, \"MacroF1\": 0.8038043720799647, \"Memory in Mb\": 12.561456680297852, \"Time in s\": 11578.515438 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7996936039831483, \"MicroF1\": 0.7996936039831483, \"MacroF1\": 0.8010057260657798, \"Memory in Mb\": 12.889472007751465, \"Time in s\": 12304.325005 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7974448488449826, \"MicroF1\": 0.7974448488449826, \"MacroF1\": 0.7996515087686575, \"Memory in Mb\": 12.99599838256836, \"Time in s\": 13054.609905 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7978516329031793, \"MicroF1\": 0.7978516329031793, \"MacroF1\": 0.8006715750629478, \"Memory in Mb\": 13.20394229888916, \"Time in s\": 13829.291085 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.797674907206387, \"MicroF1\": 0.7976749072063871, \"MacroF1\": 0.8002875748518964, \"Memory in Mb\": 13.36452293395996, \"Time in s\": 14628.347686 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8007761966364813, \"MicroF1\": 0.8007761966364813, \"MacroF1\": 0.8043248634763072, \"Memory in Mb\": 13.53370189666748, \"Time in s\": 15451.756014 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8051010268300762, \"MicroF1\": 0.8051010268300763, \"MacroF1\": 0.8085780284871096, \"Memory in Mb\": 13.774932861328123, \"Time in s\": 16299.960754 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.8052634973876024, \"MicroF1\": 0.8052634973876024, \"MacroF1\": 0.8077470357827514, \"Memory in Mb\": 13.933537483215332, \"Time in s\": 17172.988913 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7978756834894098, \"MicroF1\": 0.7978756834894098, \"MacroF1\": 0.7983136026998061, \"Memory in Mb\": 14.138628005981444, \"Time in s\": 18070.675966000003 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.793369691770329, \"MicroF1\": 0.7933696917703291, \"MacroF1\": 0.7956625263629296, \"Memory in Mb\": 14.30509090423584, \"Time in s\": 18993.33345 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7901596221677527, \"MicroF1\": 0.7901596221677527, \"MacroF1\": 0.7932579365729884, \"Memory in Mb\": 14.447582244873049, \"Time in s\": 19941.842904 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7861686606361249, \"MicroF1\": 0.7861686606361248, \"MacroF1\": 0.7888822346867281, \"Memory in Mb\": 14.767212867736816, \"Time in s\": 20916.572711 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.780425240836801, \"MicroF1\": 0.780425240836801, \"MacroF1\": 0.7838193866310822, \"Memory in Mb\": 14.989240646362305, \"Time in s\": 21922.215184 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7802907915993538, \"MicroF1\": 0.7802907915993537, \"MacroF1\": 0.7845235361146662, \"Memory in Mb\": 15.200251579284668, \"Time in s\": 22957.213951 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.783975162045863, \"MicroF1\": 0.783975162045863, \"MacroF1\": 0.7883700169311393, \"Memory in Mb\": 15.375930786132812, \"Time in s\": 24020.765336 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7869664837214259, \"MicroF1\": 0.7869664837214259, \"MacroF1\": 0.7913854757843782, \"Memory in Mb\": 15.5132417678833, \"Time in s\": 25114.453204 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7816427640156454, \"MicroF1\": 0.7816427640156454, \"MacroF1\": 0.7858184292134073, \"Memory in Mb\": 15.77665901184082, \"Time in s\": 26236.293864000003 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7846090997293571, \"MicroF1\": 0.7846090997293571, \"MacroF1\": 0.7893723685613512, \"Memory in Mb\": 15.996115684509276, \"Time in s\": 27388.205854000003 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7807013155920164, \"MicroF1\": 0.7807013155920164, \"MacroF1\": 0.785620728786203, \"Memory in Mb\": 16.12063980102539, \"Time in s\": 28569.915626 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"Voting\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.7791068189617139, \"MicroF1\": 0.7791068189617139, \"MacroF1\": 0.7841355172773921, \"Memory in Mb\": 16.39253330230713, \"Time in s\": 29779.243894000003 }, { \"step\": 46, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1777777777777777, \"MicroF1\": 0.1777777777777777, \"MacroF1\": 0.1526026604973973, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 0.110776 }, { \"step\": 92, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1318681318681318, \"MicroF1\": 0.1318681318681318, \"MacroF1\": 0.1213108980966124, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 0.225611 }, { \"step\": 138, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1240875912408759, \"MicroF1\": 0.1240875912408759, \"MacroF1\": 0.1187445506554449, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 0.343639 }, { \"step\": 184, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1256830601092896, \"MicroF1\": 0.1256830601092896, \"MacroF1\": 0.1226298342307158, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 0.484524 }, { \"step\": 230, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1266375545851528, \"MicroF1\": 0.1266375545851528, \"MacroF1\": 0.1250385204120806, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 0.6292090000000001 }, { \"step\": 276, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1272727272727272, \"MicroF1\": 0.1272727272727272, \"MacroF1\": 0.1242790791814499, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 0.7861950000000001 }, { \"step\": 322, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1339563862928348, \"MicroF1\": 0.1339563862928348, \"MacroF1\": 0.1321003659624602, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 1.0166240000000002 }, { \"step\": 368, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1389645776566757, \"MicroF1\": 0.1389645776566757, \"MacroF1\": 0.1374501146297296, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 1.2507780000000002 }, { \"step\": 414, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1404358353510895, \"MicroF1\": 0.1404358353510895, \"MacroF1\": 0.1403581309694754, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 1.5223060000000002 }, { \"step\": 460, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1459694989106753, \"MicroF1\": 0.1459694989106753, \"MacroF1\": 0.1456314871072794, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 1.7974560000000002 }, { \"step\": 506, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1386138613861386, \"MicroF1\": 0.1386138613861386, \"MacroF1\": 0.1383381610231494, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 2.07562 }, { \"step\": 552, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1397459165154265, \"MicroF1\": 0.1397459165154265, \"MacroF1\": 0.1393865249177789, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 2.402759 }, { \"step\": 598, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1373534338358459, \"MicroF1\": 0.1373534338358459, \"MacroF1\": 0.1372798104345861, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 2.771723 }, { \"step\": 644, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1399688958009331, \"MicroF1\": 0.1399688958009331, \"MacroF1\": 0.1401757170901796, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 3.149556 }, { \"step\": 690, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1378809869375907, \"MicroF1\": 0.1378809869375907, \"MacroF1\": 0.1380151778455332, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 3.580436 }, { \"step\": 736, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1401360544217687, \"MicroF1\": 0.1401360544217687, \"MacroF1\": 0.1403108892795828, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 4.0152470000000005 }, { \"step\": 782, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1421254801536491, \"MicroF1\": 0.1421254801536491, \"MacroF1\": 0.1420930265541123, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 4.453992 }, { \"step\": 828, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1426844014510278, \"MicroF1\": 0.1426844014510278, \"MacroF1\": 0.1422987455304691, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 4.959761 }, { \"step\": 874, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.138602520045819, \"MicroF1\": 0.138602520045819, \"MacroF1\": 0.1384535269459527, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 5.469480000000001 }, { \"step\": 920, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1349292709466811, \"MicroF1\": 0.1349292709466811, \"MacroF1\": 0.1348083913046733, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 6.0005820000000005 }, { \"step\": 966, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1336787564766839, \"MicroF1\": 0.1336787564766839, \"MacroF1\": 0.1334917777444527, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 6.535053 }, { \"step\": 1012, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1325420375865479, \"MicroF1\": 0.1325420375865479, \"MacroF1\": 0.1324936677659038, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 7.07275 }, { \"step\": 1058, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1333964049195837, \"MicroF1\": 0.1333964049195837, \"MacroF1\": 0.1331834965440007, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 7.645426 }, { \"step\": 1104, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1341795104261106, \"MicroF1\": 0.1341795104261106, \"MacroF1\": 0.1340282652950153, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 8.221471000000001 }, { \"step\": 1150, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.134029590948651, \"MicroF1\": 0.134029590948651, \"MacroF1\": 0.1340639115051912, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 8.800858000000002 }, { \"step\": 1196, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1364016736401673, \"MicroF1\": 0.1364016736401673, \"MacroF1\": 0.1363948420172951, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 9.430169 }, { \"step\": 1242, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1394037066881547, \"MicroF1\": 0.1394037066881547, \"MacroF1\": 0.1391977238389222, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 10.062783 }, { \"step\": 1288, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1414141414141414, \"MicroF1\": 0.1414141414141414, \"MacroF1\": 0.1411871502321015, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 10.698372 }, { \"step\": 1334, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1432858214553638, \"MicroF1\": 0.1432858214553638, \"MacroF1\": 0.1430255327815666, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 11.387531 }, { \"step\": 1380, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1435823060188542, \"MicroF1\": 0.1435823060188542, \"MacroF1\": 0.1433209000486506, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 12.080639 }, { \"step\": 1426, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1417543859649122, \"MicroF1\": 0.1417543859649122, \"MacroF1\": 0.1414546655929112, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 12.777602000000002 }, { \"step\": 1472, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1393609789259007, \"MicroF1\": 0.1393609789259007, \"MacroF1\": 0.1390762971394262, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 13.546128 }, { \"step\": 1518, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1397495056031641, \"MicroF1\": 0.1397495056031641, \"MacroF1\": 0.1395136668589845, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 14.318195 }, { \"step\": 1564, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1369161868202175, \"MicroF1\": 0.1369161868202175, \"MacroF1\": 0.1366417047439511, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 15.093811 }, { \"step\": 1610, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1361093847110006, \"MicroF1\": 0.1361093847110006, \"MacroF1\": 0.1359768388190307, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 15.942934 }, { \"step\": 1656, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1365558912386707, \"MicroF1\": 0.1365558912386707, \"MacroF1\": 0.1363322462377459, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 16.795246000000002 }, { \"step\": 1702, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1393298059964726, \"MicroF1\": 0.1393298059964726, \"MacroF1\": 0.1390129627439909, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 17.650687 }, { \"step\": 1748, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1419576416714367, \"MicroF1\": 0.1419576416714367, \"MacroF1\": 0.1414719731272364, \"Memory in Mb\": 0.0013656616210937, \"Time in s\": 18.510738 }, { \"step\": 1794, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1422197434467373, \"MicroF1\": 0.1422197434467373, \"MacroF1\": 0.1419410396611007, \"Memory in Mb\": 0.0013647079467773, \"Time in s\": 19.374685 }, { \"step\": 1840, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1413811854268624, \"MicroF1\": 0.1413811854268624, \"MacroF1\": 0.1411432976659866, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 20.24245 }, { \"step\": 1886, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.140053050397878, \"MicroF1\": 0.140053050397878, \"MacroF1\": 0.1397325871382075, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 21.182873 }, { \"step\": 1932, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1429311237700673, \"MicroF1\": 0.1429311237700673, \"MacroF1\": 0.1427522922982585, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 22.12686 }, { \"step\": 1978, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1461810824481537, \"MicroF1\": 0.1461810824481537, \"MacroF1\": 0.1459715815160596, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 23.074113 }, { \"step\": 2024, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1443400889767671, \"MicroF1\": 0.1443400889767671, \"MacroF1\": 0.1441662523776106, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 24.067371 }, { \"step\": 2070, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1440309328177863, \"MicroF1\": 0.1440309328177863, \"MacroF1\": 0.1438554349712762, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 25.063921 }, { \"step\": 2116, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1446808510638297, \"MicroF1\": 0.1446808510638297, \"MacroF1\": 0.1446036231777657, \"Memory in Mb\": 0.0013637542724609, \"Time in s\": 26.06363 }, { \"step\": 2162, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1453031004164738, \"MicroF1\": 0.1453031004164738, \"MacroF1\": 0.1452046591382179, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 27.083891999999995 }, { \"step\": 2208, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1449932034435885, \"MicroF1\": 0.1449932034435885, \"MacroF1\": 0.1449110985199169, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 28.107944 }, { \"step\": 2254, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1464713715046604, \"MicroF1\": 0.1464713715046604, \"MacroF1\": 0.146404255341296, \"Memory in Mb\": 0.0013666152954101, \"Time in s\": 29.207951 }, { \"step\": 2300, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.1478903871248368, \"MicroF1\": 0.1478903871248368, \"MacroF1\": 0.1478868852481029, \"Memory in Mb\": 0.0013675689697265, \"Time in s\": 30.311507 }, { \"step\": 2310, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"ImageSegments\", \"Accuracy\": 0.148116067561715, \"MicroF1\": 0.148116067561715, \"MacroF1\": 0.1481156678425267, \"Memory in Mb\": 0.0013694763183593, \"Time in s\": 31.415921 }, { \"step\": 1056, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1582938388625592, \"MicroF1\": 0.1582938388625592, \"MacroF1\": 0.1376212379233521, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 0.57267 }, { \"step\": 2112, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1657981999052581, \"MicroF1\": 0.1657981999052581, \"MacroF1\": 0.1511045106411843, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 1.690872 }, { \"step\": 3168, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1701926113040732, \"MicroF1\": 0.1701926113040732, \"MacroF1\": 0.1568151235503963, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 3.298143 }, { \"step\": 4224, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1659957376272791, \"MicroF1\": 0.1659957376272791, \"MacroF1\": 0.1525443315605066, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 5.473684 }, { \"step\": 5280, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1708656942602765, \"MicroF1\": 0.1708656942602765, \"MacroF1\": 0.1567667911399358, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 8.202311 }, { \"step\": 6336, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1737963693764798, \"MicroF1\": 0.1737963693764798, \"MacroF1\": 0.1613756819597299, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 11.448991 }, { \"step\": 7392, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1752130970098769, \"MicroF1\": 0.1752130970098769, \"MacroF1\": 0.1618940790413477, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 15.242684 }, { \"step\": 8448, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1772226826092103, \"MicroF1\": 0.1772226826092103, \"MacroF1\": 0.163740045170864, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 19.537217 }, { \"step\": 9504, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1773124276544249, \"MicroF1\": 0.1773124276544249, \"MacroF1\": 0.1637492974453096, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 24.318802 }, { \"step\": 10560, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1790889288758405, \"MicroF1\": 0.1790889288758405, \"MacroF1\": 0.1656421076747495, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 29.683683 }, { \"step\": 11616, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1789926818768833, \"MicroF1\": 0.1789926818768833, \"MacroF1\": 0.1655925383533761, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 35.598037000000005 }, { \"step\": 12672, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.1853050272275274, \"MicroF1\": 0.1853050272275274, \"MacroF1\": 0.182698099884098, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 41.981502000000006 }, { \"step\": 13728, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2479784366576819, \"MicroF1\": 0.2479784366576819, \"MacroF1\": 0.266039368455288, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 48.94863000000001 }, { \"step\": 14784, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2795778935263478, \"MicroF1\": 0.2795778935263478, \"MacroF1\": 0.2822974275171512, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 56.43945000000001 }, { \"step\": 15840, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2761537975882315, \"MicroF1\": 0.2761537975882315, \"MacroF1\": 0.2847375853365436, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 64.48233200000001 }, { \"step\": 16896, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723290914471737, \"MicroF1\": 0.2723290914471737, \"MacroF1\": 0.2859139704285301, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 73.03679300000002 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2720739791655061, \"MicroF1\": 0.2720739791655061, \"MacroF1\": 0.2880143206503878, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 82.10379000000002 }, { \"step\": 19008, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2825274898721523, \"MicroF1\": 0.2825274898721523, \"MacroF1\": 0.2877504429321087, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 91.70347300000002 }, { \"step\": 20064, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2872451776902756, \"MicroF1\": 0.2872451776902756, \"MacroF1\": 0.2866739236661926, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 101.81113500000002 }, { \"step\": 21120, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2830626450116009, \"MicroF1\": 0.2830626450116009, \"MacroF1\": 0.2816476602425525, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 112.42818900000002 }, { \"step\": 22176, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2805411499436302, \"MicroF1\": 0.2805411499436302, \"MacroF1\": 0.2786296072528009, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 123.55266000000002 }, { \"step\": 23232, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2797124531875511, \"MicroF1\": 0.2797124531875511, \"MacroF1\": 0.2771941975793341, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 135.22034100000002 }, { \"step\": 24288, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2777205912628155, \"MicroF1\": 0.2777205912628155, \"MacroF1\": 0.2745878480946635, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 147.32084400000002 }, { \"step\": 25344, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2756579726157124, \"MicroF1\": 0.2756579726157124, \"MacroF1\": 0.2723380305202896, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 159.88729300000003 }, { \"step\": 26400, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2739497708246524, \"MicroF1\": 0.2739497708246524, \"MacroF1\": 0.2699690442569991, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 172.95537600000003 }, { \"step\": 27456, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2718994718630486, \"MicroF1\": 0.2718994718630486, \"MacroF1\": 0.2671948532388624, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 186.52082400000003 }, { \"step\": 28512, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723860965942969, \"MicroF1\": 0.2723860965942969, \"MacroF1\": 0.2686965366571337, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 200.59564800000004 }, { \"step\": 29568, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2738187844556431, \"MicroF1\": 0.2738187844556431, \"MacroF1\": 0.2720266804437783, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 215.16150500000003 }, { \"step\": 30624, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2753812493877151, \"MicroF1\": 0.2753812493877151, \"MacroF1\": 0.2748698663810351, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 230.19075300000003 }, { \"step\": 31680, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2780390795163989, \"MicroF1\": 0.2780390795163989, \"MacroF1\": 0.2784141751235631, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 245.71900300000004 }, { \"step\": 32736, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.279670077898274, \"MicroF1\": 0.279670077898274, \"MacroF1\": 0.2802192251245275, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 261.76959600000004 }, { \"step\": 33792, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2808440117190968, \"MicroF1\": 0.2808440117190968, \"MacroF1\": 0.2811962745371706, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 278.22772000000003 }, { \"step\": 34848, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2772405085086234, \"MicroF1\": 0.2772405085086234, \"MacroF1\": 0.2781905182864757, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 295.19763900000004 }, { \"step\": 35904, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2739325404562293, \"MicroF1\": 0.2739325404562293, \"MacroF1\": 0.2754200456137155, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 312.64260700000005 }, { \"step\": 36960, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.271246516410076, \"MicroF1\": 0.271246516410076, \"MacroF1\": 0.273332837678202, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 330.5037730000001 }, { \"step\": 38016, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2685518874128633, \"MicroF1\": 0.2685518874128633, \"MacroF1\": 0.2710722002891223, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 348.8496650000001 }, { \"step\": 39072, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.277034117376059, \"MicroF1\": 0.277034117376059, \"MacroF1\": 0.2770619820799866, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 367.6207990000001 }, { \"step\": 40128, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2761731502479627, \"MicroF1\": 0.2761731502479627, \"MacroF1\": 0.2760769006623072, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 386.8573710000001 }, { \"step\": 41184, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2756720005827647, \"MicroF1\": 0.2756720005827647, \"MacroF1\": 0.2754352632972116, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 406.52795400000014 }, { \"step\": 42240, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2740121688486943, \"MicroF1\": 0.2740121688486943, \"MacroF1\": 0.2735946193588542, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 426.69962200000015 }, { \"step\": 43296, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2738422450629403, \"MicroF1\": 0.2738422450629403, \"MacroF1\": 0.2731948869083578, \"Memory in Mb\": 0.0013856887817382, \"Time in s\": 447.37129900000014 }, { \"step\": 44352, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2729588960790061, \"MicroF1\": 0.2729588960790061, \"MacroF1\": 0.2720911653869048, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 468.49129600000015 }, { \"step\": 45408, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2720505648908758, \"MicroF1\": 0.2720505648908758, \"MacroF1\": 0.2708084959373003, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 490.06234300000017 }, { \"step\": 46464, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.271377224888621, \"MicroF1\": 0.271377224888621, \"MacroF1\": 0.2698631410415437, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 512.0778290000002 }, { \"step\": 47520, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2723542162082535, \"MicroF1\": 0.2723542162082535, \"MacroF1\": 0.2717062798322285, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 534.5781510000002 }, { \"step\": 48576, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2741327843540916, \"MicroF1\": 0.2741327843540916, \"MacroF1\": 0.2744946340974243, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 557.5265480000002 }, { \"step\": 49632, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2753520984868328, \"MicroF1\": 0.2753520984868328, \"MacroF1\": 0.2765036876430403, \"Memory in Mb\": 0.0013818740844726, \"Time in s\": 580.9705880000001 }, { \"step\": 50688, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2768362696549411, \"MicroF1\": 0.2768362696549411, \"MacroF1\": 0.2786344091273496, \"Memory in Mb\": 0.0013837814331054, \"Time in s\": 604.9012140000001 }, { \"step\": 51744, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2782791875229499, \"MicroF1\": 0.2782791875229499, \"MacroF1\": 0.2805971515128955, \"Memory in Mb\": 0.0013885498046875, \"Time in s\": 629.3033230000001 }, { \"step\": 52800, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2891153241538665, \"MicroF1\": 0.2891153241538665, \"MacroF1\": 0.2892953202729756, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 654.1512880000001 }, { \"step\": 52848, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Insects\", \"Accuracy\": 0.2897610081934642, \"MicroF1\": 0.2897610081934642, \"MacroF1\": 0.2897627257031321, \"Memory in Mb\": 0.0013866424560546, \"Time in s\": 679.0036960000001 }, { \"step\": 408, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975429975429976, \"MicroF1\": 0.9975429975429976, \"MacroF1\": 0.966040884438882, \"Memory in Mb\": 0.0006122589111328, \"Time in s\": 0.255536 }, { \"step\": 816, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975460122699388, \"MicroF1\": 0.9975460122699388, \"MacroF1\": 0.9879967903427672, \"Memory in Mb\": 0.0006628036499023, \"Time in s\": 0.794196 }, { \"step\": 1224, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975470155355682, \"MicroF1\": 0.9975470155355682, \"MacroF1\": 0.9931179599499376, \"Memory in Mb\": 0.0007133483886718, \"Time in s\": 1.53447 }, { \"step\": 1632, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975475168608215, \"MicroF1\": 0.9975475168608215, \"MacroF1\": 0.9950750839342832, \"Memory in Mb\": 0.0012521743774414, \"Time in s\": 2.469131 }, { \"step\": 2040, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975478175576264, \"MicroF1\": 0.9975478175576264, \"MacroF1\": 0.9960150346160552, \"Memory in Mb\": 0.0013027191162109, \"Time in s\": 3.675833 }, { \"step\": 2448, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975480179812016, \"MicroF1\": 0.9975480179812016, \"MacroF1\": 0.9965317313935652, \"Memory in Mb\": 0.0013532638549804, \"Time in s\": 5.030286 }, { \"step\": 2856, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975481611208408, \"MicroF1\": 0.9975481611208408, \"MacroF1\": 0.996842428316928, \"Memory in Mb\": 0.00140380859375, \"Time in s\": 6.586031 }, { \"step\": 3264, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975482684646032, \"MicroF1\": 0.9975482684646032, \"MacroF1\": 0.9970416021996, \"Memory in Mb\": 0.0014543533325195, \"Time in s\": 8.377109 }, { \"step\": 3672, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975483519476982, \"MicroF1\": 0.9975483519476982, \"MacroF1\": 0.9971755428551424, \"Memory in Mb\": 0.001504898071289, \"Time in s\": 10.331252 }, { \"step\": 4080, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975484187300808, \"MicroF1\": 0.9975484187300808, \"MacroF1\": 0.9972690115789392, \"Memory in Mb\": 0.0015554428100585, \"Time in s\": 12.525489 }, { \"step\": 4488, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975484733675062, \"MicroF1\": 0.9975484733675062, \"MacroF1\": 0.9973361791525124, \"Memory in Mb\": 0.0016059875488281, \"Time in s\": 14.940819 }, { \"step\": 4896, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975485188968336, \"MicroF1\": 0.9975485188968336, \"MacroF1\": 0.9973856025730918, \"Memory in Mb\": 0.0016565322875976, \"Time in s\": 17.495259 }, { \"step\": 5304, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548557420328, \"MicroF1\": 0.997548557420328, \"MacroF1\": 0.9974226798335742, \"Memory in Mb\": 0.0017070770263671, \"Time in s\": 20.336762 }, { \"step\": 5712, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975485904395028, \"MicroF1\": 0.9975485904395028, \"MacroF1\": 0.99745094204078, \"Memory in Mb\": 0.0017576217651367, \"Time in s\": 23.402208 }, { \"step\": 6120, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975486190554012, \"MicroF1\": 0.9975486190554012, \"MacroF1\": 0.9974727709453766, \"Memory in Mb\": 0.0018081665039062, \"Time in s\": 26.661861 }, { \"step\": 6528, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975486440937644, \"MicroF1\": 0.9975486440937644, \"MacroF1\": 0.997489815700999, \"Memory in Mb\": 0.0018587112426757, \"Time in s\": 30.164710000000003 }, { \"step\": 6936, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548666186013, \"MicroF1\": 0.997548666186013, \"MacroF1\": 0.9975032443691146, \"Memory in Mb\": 0.0019092559814453, \"Time in s\": 33.838397 }, { \"step\": 7344, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548685823233, \"MicroF1\": 0.997548685823233, \"MacroF1\": 0.9975139007887864, \"Memory in Mb\": 0.0034246444702148, \"Time in s\": 37.738436 }, { \"step\": 7752, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487033931104, \"MicroF1\": 0.9975487033931104, \"MacroF1\": 0.9975224052755716, \"Memory in Mb\": 0.0034751892089843, \"Time in s\": 41.800015 }, { \"step\": 8160, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548719205785, \"MicroF1\": 0.997548719205785, \"MacroF1\": 0.9975292209193424, \"Memory in Mb\": 0.0035257339477539, \"Time in s\": 46.105028 }, { \"step\": 8568, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487335123148, \"MicroF1\": 0.9975487335123148, \"MacroF1\": 0.9975346982235258, \"Memory in Mb\": 0.0035762786865234, \"Time in s\": 50.63279300000001 }, { \"step\": 8976, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548746518106, \"MicroF1\": 0.997548746518106, \"MacroF1\": 0.9975391057693664, \"Memory in Mb\": 0.0036268234252929, \"Time in s\": 55.447067 }, { \"step\": 9384, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548758392838, \"MicroF1\": 0.997548758392838, \"MacroF1\": 0.997542651662671, \"Memory in Mb\": 0.0036773681640625, \"Time in s\": 60.387128 }, { \"step\": 9792, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487692779084, \"MicroF1\": 0.9975487692779084, \"MacroF1\": 0.9975454987794796, \"Memory in Mb\": 0.003727912902832, \"Time in s\": 65.547582 }, { \"step\": 10200, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487792920874, \"MicroF1\": 0.9975487792920874, \"MacroF1\": 0.9975477757646256, \"Memory in Mb\": 0.0037784576416015, \"Time in s\": 70.981052 }, { \"step\": 10608, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487885358726, \"MicroF1\": 0.9975487885358726, \"MacroF1\": 0.9975495850737114, \"Memory in Mb\": 0.003829002380371, \"Time in s\": 76.594226 }, { \"step\": 11016, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975487970948708, \"MicroF1\": 0.9975487970948708, \"MacroF1\": 0.9975510089260562, \"Memory in Mb\": 0.0038795471191406, \"Time in s\": 82.44596800000001 }, { \"step\": 11424, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488050424582, \"MicroF1\": 0.9975488050424582, \"MacroF1\": 0.9975521137613484, \"Memory in Mb\": 0.0039300918579101, \"Time in s\": 88.533094 }, { \"step\": 11832, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.99754881244189, \"MicroF1\": 0.99754881244189, \"MacroF1\": 0.99755295361102, \"Memory in Mb\": 0.0039806365966796, \"Time in s\": 94.818744 }, { \"step\": 12240, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548819347986, \"MicroF1\": 0.997548819347986, \"MacroF1\": 0.9975535726732964, \"Memory in Mb\": 0.0040311813354492, \"Time in s\": 101.331754 }, { \"step\": 12648, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548825808492, \"MicroF1\": 0.997548825808492, \"MacroF1\": 0.997554007297632, \"Memory in Mb\": 0.0040817260742187, \"Time in s\": 108.051678 }, { \"step\": 13056, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488318651856, \"MicroF1\": 0.9975488318651856, \"MacroF1\": 0.997554287526727, \"Memory in Mb\": 0.0041322708129882, \"Time in s\": 114.996681 }, { \"step\": 13464, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488375547796, \"MicroF1\": 0.9975488375547796, \"MacroF1\": 0.9975544383040468, \"Memory in Mb\": 0.0041828155517578, \"Time in s\": 122.1119 }, { \"step\": 13872, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488429096676, \"MicroF1\": 0.9975488429096676, \"MacroF1\": 0.9975544804262362, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 129.47010500000002 }, { \"step\": 14280, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488479585404, \"MicroF1\": 0.9975488479585404, \"MacroF1\": 0.99755443129941, \"Memory in Mb\": 0.0042839050292968, \"Time in s\": 136.988051 }, { \"step\": 14688, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488527269012, \"MicroF1\": 0.9975488527269012, \"MacroF1\": 0.997554305543504, \"Memory in Mb\": 0.0043344497680664, \"Time in s\": 144.742896 }, { \"step\": 15096, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548857237496, \"MicroF1\": 0.997548857237496, \"MacroF1\": 0.9975541154780816, \"Memory in Mb\": 0.0043849945068359, \"Time in s\": 152.648866 }, { \"step\": 15504, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488615106752, \"MicroF1\": 0.9975488615106752, \"MacroF1\": 0.9975538715150368, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 160.767465 }, { \"step\": 15912, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488655647036, \"MicroF1\": 0.9975488655647036, \"MacroF1\": 0.997553582477696, \"Memory in Mb\": 0.004486083984375, \"Time in s\": 169.09858 }, { \"step\": 16320, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488694160182, \"MicroF1\": 0.9975488694160182, \"MacroF1\": 0.9975532558614028, \"Memory in Mb\": 0.0045366287231445, \"Time in s\": 177.653336 }, { \"step\": 16728, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488730794524, \"MicroF1\": 0.9975488730794524, \"MacroF1\": 0.997552898047314, \"Memory in Mb\": 0.004587173461914, \"Time in s\": 186.438203 }, { \"step\": 17136, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488765684272, \"MicroF1\": 0.9975488765684272, \"MacroF1\": 0.9975525144785748, \"Memory in Mb\": 0.0046377182006835, \"Time in s\": 195.447168 }, { \"step\": 17544, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488798951148, \"MicroF1\": 0.9975488798951148, \"MacroF1\": 0.997552109806108, \"Memory in Mb\": 0.0046882629394531, \"Time in s\": 204.563635 }, { \"step\": 17952, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.997548883070581, \"MicroF1\": 0.997548883070581, \"MacroF1\": 0.9975516880097278, \"Memory in Mb\": 0.0047388076782226, \"Time in s\": 213.933058 }, { \"step\": 18360, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488861049076, \"MicroF1\": 0.9975488861049076, \"MacroF1\": 0.997551252499137, \"Memory in Mb\": 0.0047893524169921, \"Time in s\": 223.513668 }, { \"step\": 18768, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488890073, \"MicroF1\": 0.9975488890073, \"MacroF1\": 0.9975508061984416, \"Memory in Mb\": 0.0048398971557617, \"Time in s\": 233.322943 }, { \"step\": 19176, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.99754889178618, \"MicroF1\": 0.99754889178618, \"MacroF1\": 0.9975503516171184, \"Memory in Mb\": 0.0048904418945312, \"Time in s\": 243.357771 }, { \"step\": 19584, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488944492672, \"MicroF1\": 0.9975488944492672, \"MacroF1\": 0.9975498909097889, \"Memory in Mb\": 0.0049409866333007, \"Time in s\": 253.567103 }, { \"step\": 19992, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488970036516, \"MicroF1\": 0.9975488970036516, \"MacroF1\": 0.9975494259267256, \"Memory in Mb\": 0.0049915313720703, \"Time in s\": 264.004285 }, { \"step\": 20400, \"track\": \"Multiclass classification\", \"model\": \"[baseline] Last Class\", \"dataset\": \"Keystroke\", \"Accuracy\": 0.9975488994558556, \"MicroF1\": 0.9975488994558556, \"MacroF1\": 0.9975489582566448, \"Memory in Mb\": 0.0050420761108398, \"Time in s\": 274.675054 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"ImageSegments\", \"bind\": { \"input\": \"select\", \"options\": [ \"ImageSegments\", \"Insects\", \"Keystroke\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"Accuracy\", \"MicroF1\", \"MacroF1\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Multiclass%20classification/#datasets","title":"Datasets","text":"ImageSegments

Image segments classification.

This dataset contains features that describe image segments into 7 classes: brickface, sky, foliage, cement, window, path, and grass.

Name  ImageSegments                                                                                               \nTask  Multi-class classification\n

Samples 2,310 Features 18 Classes 7 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/segment.csv.zip

Insects

Insects dataset.

This dataset has different variants, which are:

  • abrupt_balanced
  • abrupt_imbalanced
  • gradual_balanced
  • gradual_imbalanced
  • incremental-abrupt_balanced
  • incremental-abrupt_imbalanced
  • incremental-reoccurring_balanced
  • incremental-reoccurring_imbalanced
  • incremental_balanced
  • incremental_imbalanced
  • out-of-control

The number of samples and the difficulty change from one variant to another. The number of classes is always the same (6), except for the last variant (24).

  Name  Insects                                                                                 \n  Task  Multi-class classification\n

Samples 52,848 Features 33 Classes 6 Sparse False Path /Users/mastelini/river_data/Insects/INSECTS-abrupt_balanced_norm.arff URL http://sites.labic.icmc.usp.br/vsouza/repository/creme/INSECTS-abrupt_balanced_norm.arff Size 15.66 MB Downloaded True Variant abrupt_balanced

Keystroke

CMU keystroke dataset.

Users are tasked to type in a password. The task is to determine which user is typing in the password.

The only difference with the original dataset is that the \"sessionIndex\" and \"rep\" attributes have been dropped.

  Name  Keystroke                                                       \n  Task  Multi-class classification\n

Samples 20,400 Features 31 Classes 51 Sparse False Path /Users/mastelini/river_data/Keystroke/DSL-StrongPasswordData.csv URL http://www.cs.cmu.edu/~keystroke/DSL-StrongPasswordData.csv Size 4.45 MB Downloaded True

"},{"location":"benchmarks/Multiclass%20classification/#parameters","title":"Parameters","text":"
variant\n    Indicates which variant of the dataset to load.\n
"},{"location":"benchmarks/Multiclass%20classification/#models","title":"Models","text":"Naive Bayes

GaussianNB ()

Hoeffding Tree

HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)

Hoeffding Adaptive Tree

HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=True\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=42\n)

Adaptive Random Forest

[]

Aggregated Mondrian Forest

[]

Streaming Random Patches

SRPClassifier (\n  model=HoeffdingTreeClassifier (\n    grace_period=50\n    max_depth=inf\n    split_criterion=\"info_gain\"\n    delta=0.01\n    tau=0.05\n    leaf_prediction=\"nba\"\n    nb_threshold=0\n    nominal_attributes=None\n    splitter=GaussianSplitter (\n      n_splits=10\n    )\n    binary_split=False\n    min_branch_fraction=0.01\n    max_share_to_split=0.99\n    max_size=100.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n  n_models=10\n  subspace_size=0.6\n  training_method=\"patches\"\n  lam=6\n  drift_detector=ADWIN (\n    delta=1e-05\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  warning_detector=ADWIN (\n    delta=0.0001\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  disable_detector=\"off\"\n  disable_weighted_vote=False\n  seed=None\n  metric=Accuracy (\n    cm=ConfusionMatrix (\n      classes=[]\n    )\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)\n\n

\n\nADWIN Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nAdaBoost\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nBagging\n

[HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n), HoeffdingAdaptiveTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  bootstrap_sampling=False\n  drift_window_threshold=300\n  drift_detector=ADWIN (\n    delta=0.002\n    clock=32\n    max_buckets=5\n    min_window_length=5\n    grace_period=10\n  )\n  switch_significance=0.05\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n  seed=None\n)]

\n\n

\n\nLeveraging Bagging\n

[HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n)]

\n\n

\n\nStacking\n

[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n\n

\n\nVoting\n

VotingClassifier (\n  models=[Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SoftmaxRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=CrossEntropy (\n      class_weight={}\n    )\n    l2=0\n  )\n), GaussianNB (), HoeffdingTreeClassifier (\n  grace_period=200\n  max_depth=inf\n  split_criterion=\"info_gain\"\n  delta=1e-07\n  tau=0.05\n  leaf_prediction=\"nba\"\n  nb_threshold=0\n  nominal_attributes=None\n  splitter=GaussianSplitter (\n    n_splits=10\n  )\n  binary_split=False\n  min_branch_fraction=0.01\n  max_share_to_split=0.99\n  max_size=100.\n  memory_estimate_period=1000000\n  stop_mem_management=False\n  remove_poor_attrs=False\n  merit_preprune=True\n), Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNClassifier (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    weighted=True\n    cleanup_every=0\n    softmax=False\n  )\n)]\n  use_probabilities=True\n)\n\n

\n\n[baseline] Last Class\n

NoChangeClassifier ()

\n\n

"},{"location":"benchmarks/Multiclass%20classification/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"benchmarks/Regression/","title":"Regression","text":"TableChart Model Dataset MAE RMSE R2 Memory in Mb Time in s Adaptive Model Rules ChickWeights 24.1943 37.2166 0.725319 0.046977 5.25855 Adaptive Model Rules TrumpApproval 1.39847 2.43336 -1.02372 0.114429 9.38293 Adaptive Random Forest ChickWeights 26.1016 40.8094 0.669725 1.19043 56.006 Adaptive Random Forest TrumpApproval 0.800378 2.11495 -0.528761 1.28462 87.4457 Aggregated Mondrian Forest ChickWeights 25.6742 41.7123 0.65479 8.21412 127.415 Aggregated Mondrian Forest TrumpApproval 0.268533 0.349421 0.958184 16.9323 186.034 Bagging ChickWeights 23.1143 36.6311 0.733893 0.628034 38.0203 Bagging TrumpApproval 0.908203 2.23718 -0.710572 1.31579 82.0689 Exponentially Weighted Average ChickWeights 121.818 141.004 -2.94294 3.09241 55.8851 Exponentially Weighted Average TrumpApproval 40.7546 40.7905 -567.663 5.27613 141.452 Hoeffding Adaptive Tree ChickWeights 23.3739 37.6579 0.718766 0.0947332 7.99029 Hoeffding Adaptive Tree TrumpApproval 0.921313 2.23942 -0.713986 0.138225 16.7576 Hoeffding Tree ChickWeights 23.1619 36.7336 0.732402 0.0440512 6.29305 Hoeffding Tree TrumpApproval 0.956103 2.24987 -0.730022 0.148639 11.7656 Linear Regression ChickWeights 23.7587 37.0377 0.727954 0.00421047 3.21471 Linear Regression TrumpApproval 1.31455 3.91198 -4.23035 0.00497341 11.5379 Linear Regression with l1 regularization ChickWeights 23.7577 37.078 0.727361 0.00444126 9.7485 Linear Regression with l1 regularization TrumpApproval 1.15377 3.82872 -4.01007 0.0052042 13.3595 Linear Regression with l2 regularization ChickWeights 25.2738 38.5885 0.704694 0.00423336 1.22128 Linear Regression with l2 regularization TrumpApproval 1.87151 4.13052 -4.83107 0.0049963 4.15677 Passive-Aggressive Regressor, mode 1 ChickWeights 24.3423 37.596 0.71969 0.00345898 1.10187 Passive-Aggressive Regressor, mode 1 TrumpApproval 4.98403 6.97667 -15.6354 0.00443554 2.99338 Passive-Aggressive Regressor, mode 2 ChickWeights 100.624 143.066 -3.05911 0.00345898 1.16798 Passive-Aggressive Regressor, mode 2 TrumpApproval 31.0933 34.6257 -408.765 0.00443554 4.72475 River MLP ChickWeights 51.4078 80.9203 -0.298584 0.0123129 28.2295 River MLP TrumpApproval 1.58058 5.03392 -7.66066 0.0133505 32.2432 Stochastic Gradient Tree ChickWeights 68.7588 80.358 -0.280601 1.12059 22.3803 Stochastic Gradient Tree TrumpApproval 9.42975 17.9379 -108.972 3.08244 52.4507 Streaming Random Patches ChickWeights 23.7097 38.4416 0.706938 0.355182 93.4014 Streaming Random Patches TrumpApproval 0.656697 1.98434 -0.345761 1.06461 134.903 [baseline] Mean predictor ChickWeights 50.2509 71.1144 -0.00292947 0.000490189 0.302835 [baseline] Mean predictor TrumpApproval 1.56755 2.20286 -0.658483 0.000490189 1.08177 k-Nearest Neighbors ChickWeights 24.8406 39.2016 0.695236 2.88522 40.0878 k-Nearest Neighbors TrumpApproval 0.641679 1.59417 0.131425 5.03263 123.301

Try reloading the page if something is buggy

{ \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.json\", \"data\": { \"values\": [ { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 30.432219699626994, \"RMSE\": 31.267456151778337, \"R2\": -1257.4692714745631, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.000963 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.75760844034268, \"RMSE\": 23.632210645041404, \"R2\": -590.4769976066937, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.002374 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 14.555240079240876, \"RMSE\": 19.34929493332969, \"R2\": -259.0232069515881, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.004113 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.14363365913676, \"RMSE\": 16.767243978820222, \"R2\": -220.3452424437857, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.006175 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.841164000616114, \"RMSE\": 17.714902804136145, \"R2\": -60.2608923989398, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.008581 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.32598508406065, \"RMSE\": 16.527353468164844, \"R2\": -21.985729074745297, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.01133 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 9.718401993814265, \"RMSE\": 15.52109639018614, \"R2\": -12.587024696233003, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.014424 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.767755200283737, \"RMSE\": 14.552446235427842, \"R2\": -9.829280875288257, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.017858 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.977130626229444, \"RMSE\": 13.740429605807138, \"R2\": -7.074807888709797, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0216349999999999 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.506893871110683, \"RMSE\": 13.098273311725844, \"R2\": -4.124041411671393, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0257519999999999 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.252833276832352, \"RMSE\": 12.607637144454216, \"R2\": -2.6562249812820733, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0302089999999999 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.896359231575217, \"RMSE\": 12.121970224209305, \"R2\": -1.7624336939368233, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0350039999999999 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.581914741629191, \"RMSE\": 11.688367143429067, \"R2\": -1.080274127204615, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0401389999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.347682986169337, \"RMSE\": 11.314945909537578, \"R2\": -0.6567859420078188, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0456129999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.47676439389405, \"RMSE\": 11.21748999353191, \"R2\": -0.3089959076061037, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0514269999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.552290709218319, \"RMSE\": 11.100632967129414, \"R2\": -0.0335718949744832, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0575809999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.503097179992549, \"RMSE\": 10.915357728148932, \"R2\": 0.1817591258850298, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0640729999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.420443618722296, \"RMSE\": 10.727647067877951, \"R2\": 0.3713230272376924, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.070904 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 6.54715053669462, \"RMSE\": 10.814712106795348, \"R2\": 0.4732913339801876, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0780719999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.075852889975692, \"RMSE\": 11.488147441481184, \"R2\": 0.479648982578291, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0855759999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.197265349840174, \"RMSE\": 11.527376107146, \"R2\": 0.5518657524511614, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.0934159999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.359957454348683, \"RMSE\": 11.71365363090123, \"R2\": 0.6276606533313056, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.1015909999999999 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 7.389343614466645, \"RMSE\": 11.70410418267156, \"R2\": 0.6771453727427903, \"Memory in Mb\": 0.0041303634643554, \"Time in s\": 0.1101019999999999 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.007684680730522, \"RMSE\": 12.681713023454453, \"R2\": 0.6536838584261326, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.1189499999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.456356064016727, \"RMSE\": 13.562457362384484, \"R2\": 0.6514630282957669, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.128137 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.682222588679535, \"RMSE\": 13.91372755183948, \"R2\": 0.6822857451181047, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.137663 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 8.656490376145301, \"RMSE\": 13.862729792291397, \"R2\": 0.7264657185265005, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.147527 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 9.17087534181789, \"RMSE\": 14.586626878398466, \"R2\": 0.730278281446047, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.157738 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.253235573939358, \"RMSE\": 17.040182474587255, \"R2\": 0.6659707835095393, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.270641 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.67218268870669, \"RMSE\": 17.597898989920818, \"R2\": 0.6951262006904333, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.38498 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 10.865878827617594, \"RMSE\": 17.684075493652397, \"R2\": 0.7243197409220903, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.500381 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.014541487264225, \"RMSE\": 17.788847456042067, \"R2\": 0.7464163188501894, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.6168239999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 11.893125923244742, \"RMSE\": 19.14640328452056, \"R2\": 0.7147396000186461, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.7343709999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.40252640363099, \"RMSE\": 20.24468752454989, \"R2\": 0.7068188127948265, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.8529599999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.78041264925886, \"RMSE\": 20.84297745742841, \"R2\": 0.7250508110390363, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 0.972583 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 12.908163646252072, \"RMSE\": 20.82655299121286, \"R2\": 0.7440434321899679, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.093238 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78624220521945, \"RMSE\": 22.297725224665918, \"R2\": 0.7272822586077066, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.214927 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 14.56231380927385, \"RMSE\": 23.732773749874315, \"R2\": 0.7099846963904786, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.3375199999999998 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.109717404902195, \"RMSE\": 24.64206848989837, \"R2\": 0.7221580232945248, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.4604629999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.287005413554732, \"RMSE\": 24.72152256024044, \"R2\": 0.7401560140604169, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.583729 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 15.806865735774078, \"RMSE\": 25.331119330890413, \"R2\": 0.7387809061287051, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.707315 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 16.912347710111163, \"RMSE\": 27.450327347193877, \"R2\": 0.7118740092210123, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.831218 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 17.68786801080465, \"RMSE\": 28.74804692307192, \"R2\": 0.7209603573249957, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 1.955435 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 18.02230431978895, \"RMSE\": 29.040370094251127, \"R2\": 0.7308604085348502, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.079964 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 18.47643461729765, \"RMSE\": 29.56562239854821, \"R2\": 0.7375811559076941, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.204806 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 19.368862660258834, \"RMSE\": 31.016595939650863, \"R2\": 0.7195863076124669, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.32996 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.093492725340727, \"RMSE\": 32.00802507821089, \"R2\": 0.7181912437784894, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.455434 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 20.883641447975457, \"RMSE\": 33.20140091570763, \"R2\": 0.727385103943677, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.581219 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 21.055940734584823, \"RMSE\": 33.19901872731025, \"R2\": 0.7386798629639011, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.707313 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 22.04665839885113, \"RMSE\": 34.818142407426606, \"R2\": 0.7214274205964286, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.833717 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 22.75015079068996, \"RMSE\": 35.737018888500465, \"R2\": 0.7193638350430389, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 2.960429 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 23.60149518688988, \"RMSE\": 36.92142939550449, \"R2\": 0.722919218201958, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 3.087448 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"ChickWeights\", \"MAE\": 23.75865667886776, \"RMSE\": 37.03767126301035, \"R2\": 0.7279537206511313, \"Memory in Mb\": 0.0042104721069335, \"Time in s\": 3.2147080000000003 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.71537559933632, \"RMSE\": 24.27612097298636, \"R2\": -1381.3340079163324, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.003774 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.956746822999646, \"RMSE\": 17.85530816845139, \"R2\": -127.17403450091604, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.008234 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.540337295823328, \"RMSE\": 15.264267507077204, \"R2\": -125.28803290438402, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.013346 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.92648259034571, \"RMSE\": 13.436420463778148, \"R2\": -97.15695382305036, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.019104 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.5495393499287236, \"RMSE\": 12.076339439187349, \"R2\": -48.75014684916543, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.025552 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.571266653106965, \"RMSE\": 11.058195411086311, \"R2\": -34.38851346579008, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.032651 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.868178209177549, \"RMSE\": 10.265658199354172, \"R2\": -30.51567288629301, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.040397 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.226493262391851, \"RMSE\": 9.609365926739027, \"R2\": -23.352843972650145, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.048786 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.806672346419344, \"RMSE\": 9.079121174210671, \"R2\": -18.092824435696784, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.057857 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.400421129740624, \"RMSE\": 8.617551092451054, \"R2\": -16.252012396913173, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.06766 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.083414123099576, \"RMSE\": 8.223437931584808, \"R2\": -15.946617088642816, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.0781589999999999 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.82353438841577, \"RMSE\": 7.87966547036827, \"R2\": -14.67643164713968, \"Memory in Mb\": 0.0048131942749023, \"Time in s\": 0.0893539999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.573342996804622, \"RMSE\": 7.572887494545769, \"R2\": -13.674649599158814, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.1012429999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.399764262602937, \"RMSE\": 7.307305033384193, \"R2\": -13.305426773388604, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.1138299999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.2435269592384794, \"RMSE\": 7.069212717011484, \"R2\": -12.166742621467945, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.2177469999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.1105754847518408, \"RMSE\": 6.854541649824586, \"R2\": -11.99216513034567, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.416803 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9569354047226284, \"RMSE\": 6.651479799277566, \"R2\": -11.928129373171446, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.618037 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8537856094930785, \"RMSE\": 6.474036710445056, \"R2\": -11.348131391644102, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 0.8214119999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.750449728962714, \"RMSE\": 6.305826559379086, \"R2\": -11.120053648606476, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.026924 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.663414115575528, \"RMSE\": 6.151161672136967, \"R2\": -10.85874486639798, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.234147 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.556259025339157, \"RMSE\": 6.003825249623929, \"R2\": -10.671335514866264, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.4420449999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.471571610669061, \"RMSE\": 5.868919367302693, \"R2\": -9.950915405915524, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.6506019999999997 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.379680763039582, \"RMSE\": 5.740715994508566, \"R2\": -8.935993501779443, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 1.860033 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.293542327214648, \"RMSE\": 5.620383847029998, \"R2\": -8.304713733239236, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.070158 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2170719472274363, \"RMSE\": 5.50775327209046, \"R2\": -7.748060324415055, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.280968 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1605380581247338, \"RMSE\": 5.403051906918496, \"R2\": -7.433320998258445, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.492507 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.093930365363914, \"RMSE\": 5.302901387269021, \"R2\": -7.093810234661742, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.70473 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0590245226095627, \"RMSE\": 5.213512799867119, \"R2\": -7.009651494197669, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 2.917634 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9976476082662875, \"RMSE\": 5.1231852511763165, \"R2\": -6.925804791819894, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.1312199999999994 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.950641059884997, \"RMSE\": 5.038426259116397, \"R2\": -6.58092298894084, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.3455269999999997 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9139787950639096, \"RMSE\": 4.959092402037442, \"R2\": -6.2321238970256, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.560656999999999 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8644177203659007, \"RMSE\": 4.8815607080230725, \"R2\": -5.87676544995844, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.776474999999999 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8242147858959743, \"RMSE\": 4.808190620674182, \"R2\": -5.62363098938706, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 3.992974 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7745110240786572, \"RMSE\": 4.737042423784333, \"R2\": -5.530654039159668, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.267744 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.73663030353679, \"RMSE\": 4.669916427921507, \"R2\": -5.51357997146441, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.544746 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.692679144669073, \"RMSE\": 4.604703216269991, \"R2\": -5.472066122280332, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 4.823995 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6517738073879171, \"RMSE\": 4.542197076044804, \"R2\": -5.293761488897717, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.105493 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6176019850850996, \"RMSE\": 4.482676429973872, \"R2\": -5.196305855003581, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.389141 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5865007641193465, \"RMSE\": 4.425455260516019, \"R2\": -5.066178353973196, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.673523 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5595678531598225, \"RMSE\": 4.370690133148669, \"R2\": -4.970481738375755, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 5.9679660000000005 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.535948345073891, \"RMSE\": 4.318357063182573, \"R2\": -4.892367885242343, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.2645230000000005 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.509480285222116, \"RMSE\": 4.267276732370252, \"R2\": -4.807214337073276, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.563154000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4815681878661566, \"RMSE\": 4.217864876321593, \"R2\": -4.663732871777943, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 6.863868000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.452683177817048, \"RMSE\": 4.169823323470254, \"R2\": -4.507942651608292, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 7.276079000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.425504815240136, \"RMSE\": 4.123417367951589, \"R2\": -4.4087270270070205, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 7.880966000000001 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.401135420694234, \"RMSE\": 4.078757160785335, \"R2\": -4.379153600942964, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 8.488067000000001 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3798894262867003, \"RMSE\": 4.035722473386745, \"R2\": -4.310917809364017, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 9.096757 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3578157698337674, \"RMSE\": 3.993911445090692, \"R2\": -4.255827563021541, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 9.706153 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.334955498529068, \"RMSE\": 3.953168904153961, \"R2\": -4.249147855442176, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 10.316233 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3157385915327031, \"RMSE\": 3.913934448961732, \"R2\": -4.232086679588724, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 10.926998 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3145482000473083, \"RMSE\": 3.911980916488244, \"R2\": -4.230354806784151, \"Memory in Mb\": 0.0049734115600585, \"Time in s\": 11.537908000000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 30.519429760441792, \"RMSE\": 31.341724959881887, \"R2\": -1263.4547929656037, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.001889 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.93274945698016, \"RMSE\": 23.730069634788823, \"R2\": -595.3856524245364, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.005264 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.671976905269483, \"RMSE\": 19.432784890847977, \"R2\": -261.2719879213097, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.0454959999999999 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.206218788565426, \"RMSE\": 16.83704009498573, \"R2\": -222.1918420065333, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.086209 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.7873677371092, \"RMSE\": 17.69725945175844, \"R2\": -60.138926246201024, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.127302 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.358479420064798, \"RMSE\": 16.54420972880916, \"R2\": -22.032639310332936, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.168766 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.753598876381378, \"RMSE\": 15.536347024393615, \"R2\": -12.613738343052718, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.2106009999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.774706713989955, \"RMSE\": 14.560860647391404, \"R2\": -9.841807755380492, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.252804 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.976543403311107, \"RMSE\": 13.74760854733656, \"R2\": -7.083247758311314, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.295373 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.528406770561816, \"RMSE\": 13.11078583789324, \"R2\": -4.133835882207287, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.338308 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.271666718491515, \"RMSE\": 12.6229442838289, \"R2\": -2.665108536473531, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.38161 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.91845605456336, \"RMSE\": 12.134014714075713, \"R2\": -1.767925975098496, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.425278 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.610383809165891, \"RMSE\": 11.700505099139123, \"R2\": -1.084596952740374, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.469311 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.3485668448406924, \"RMSE\": 11.31852948419668, \"R2\": -0.6578355548574832, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.51371 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.473998962981321, \"RMSE\": 11.222073845492618, \"R2\": -0.3100659276219817, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.558476 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.543521830550948, \"RMSE\": 11.096254270292285, \"R2\": -0.0327566612108853, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.603607 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.493894355635018, \"RMSE\": 10.908553918682982, \"R2\": 0.1827788670738018, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.649102 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.432058292739276, \"RMSE\": 10.739983052449066, \"R2\": 0.3698763337697944, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.6949599999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 6.530905166315106, \"RMSE\": 10.805387069826963, \"R2\": 0.4741992564876139, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.74118 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.049069109840064, \"RMSE\": 11.46222613381468, \"R2\": 0.4819945238144716, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.7877609999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.185364391622807, \"RMSE\": 11.520615160379734, \"R2\": 0.5523912707049028, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.834703 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.384443509591489, \"RMSE\": 11.759466507882768, \"R2\": 0.6247424700583044, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.882006 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.370825288025247, \"RMSE\": 11.706644644448966, \"R2\": 0.6770052015955412, \"Memory in Mb\": 0.0043611526489257, \"Time in s\": 0.929669 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 7.997212264968545, \"RMSE\": 12.688148058774216, \"R2\": 0.6533323093865229, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 0.977694 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.45564901988644, \"RMSE\": 13.583827871673952, \"R2\": 0.6503637760490552, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.026082 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.687395226209604, \"RMSE\": 13.953064893865328, \"R2\": 0.6804867014487179, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.074833 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.660171229881424, \"RMSE\": 13.910099225377923, \"R2\": 0.7245931722706233, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.1239519999999998 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.16625719191718, \"RMSE\": 14.612234985526298, \"R2\": 0.7293304097140514, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.1734349999999998 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.250950211093048, \"RMSE\": 17.0718306278326, \"R2\": 0.664728869016383, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.2232849999999995 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.679670450254022, \"RMSE\": 17.65395670255975, \"R2\": 0.6931807697512926, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.3407639999999996 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.873729384474112, \"RMSE\": 17.73873175202587, \"R2\": 0.7226130148559202, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 1.6983979999999996 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.018541118771262, \"RMSE\": 17.831871437600412, \"R2\": 0.745188204067577, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.057199 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.899574150448762, \"RMSE\": 19.1903382176024, \"R2\": 0.7134289333715201, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.417118 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.408282768986876, \"RMSE\": 20.289550367060546, \"R2\": 0.7055179762102581, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 2.778154 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.788104615245372, \"RMSE\": 20.897902847676004, \"R2\": 0.7235998101431352, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.140457 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.90822201416442, \"RMSE\": 20.86950621812891, \"R2\": 0.7429865604297317, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.503137 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78564736405168, \"RMSE\": 22.33392717480972, \"R2\": 0.726395986248676, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 3.866169 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.562464823979756, \"RMSE\": 23.77146138634261, \"R2\": 0.709038397249883, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.229544 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.115712915071189, \"RMSE\": 24.692790084324347, \"R2\": 0.7210130632693055, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.59326 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.290646451171162, \"RMSE\": 24.766775019882367, \"R2\": 0.7392038606135755, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 4.957315 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.806610158983217, \"RMSE\": 25.37056359629737, \"R2\": 0.7379667599208486, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 5.321708999999999 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.91167446753811, \"RMSE\": 27.489289014578038, \"R2\": 0.711055524573946, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 5.686440999999999 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.69453441784174, \"RMSE\": 28.803034656505247, \"R2\": 0.7198918720890418, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.051508999999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.02591429387984, \"RMSE\": 29.08166628667707, \"R2\": 0.7300944167213836, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.416912999999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.47687089345869, \"RMSE\": 29.604201733284565, \"R2\": 0.7368958634072684, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 6.782651999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.37032815671457, \"RMSE\": 31.058772984483277, \"R2\": 0.7188231637639817, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.148725999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.096649322747314, \"RMSE\": 32.051830787895724, \"R2\": 0.717419357352562, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.515149999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.88685610593147, \"RMSE\": 33.24610520798377, \"R2\": 0.7266504806846955, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 7.882236999999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.052957054073875, \"RMSE\": 33.24035912136826, \"R2\": 0.7380286507287471, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.25334 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.046178761536364, \"RMSE\": 34.86098206113683, \"R2\": 0.7207414968982613, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.62558 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.751953045975853, \"RMSE\": 35.78242297978339, \"R2\": 0.7186502822700677, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 8.998921 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.603432973098663, \"RMSE\": 36.96472548228527, \"R2\": 0.7222689970347711, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 9.373355 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.757667537133976, \"RMSE\": 37.07802525541943, \"R2\": 0.7273605875689941, \"Memory in Mb\": 0.0044412612915039, \"Time in s\": 9.748496 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.96628233331211, \"RMSE\": 24.387937149248955, \"R2\": -1394.0974368768457, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.003367 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.95809265443779, \"RMSE\": 17.886947111698607, \"R2\": -127.62867621055317, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.060679 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.43403375286247, \"RMSE\": 15.198987179765494, \"R2\": -124.2101566950438, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.118829 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.76952679896777, \"RMSE\": 13.348146279436204, \"R2\": -95.8714533526398, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.177742 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.318348711169017, \"RMSE\": 11.969856517585775, \"R2\": -47.87667264392048, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.237441 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.2853039116310185, \"RMSE\": 10.94189036106609, \"R2\": -33.648027646243705, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.297866 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.5208355911538485, \"RMSE\": 10.138862242229528, \"R2\": -29.74195117722151, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.359017 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.9080595636493145, \"RMSE\": 9.487746704217276, \"R2\": -22.740310036230184, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.420891 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.437342628193194, \"RMSE\": 8.948953859899, \"R2\": -17.549281500204398, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.483487 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.020740144728086, \"RMSE\": 8.490404067975657, \"R2\": -15.746680942149272, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.546844 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.702540763677515, \"RMSE\": 8.09713522450445, \"R2\": -15.430052960036054, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.610978 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.449057445346116, \"RMSE\": 7.755193128790045, \"R2\": -14.185073150160106, \"Memory in Mb\": 0.0050439834594726, \"Time in s\": 0.675884 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.201640426877581, \"RMSE\": 7.451485247160068, \"R2\": -13.20791735379428, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.741568 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9861522146348123, \"RMSE\": 7.180696949733205, \"R2\": -12.814002869999907, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.808037 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8260389726991693, \"RMSE\": 6.939608203297966, \"R2\": -11.688379207589731, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 0.926618 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.694730270614988, \"RMSE\": 6.722171113188908, \"R2\": -11.495217468089896, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.215588 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.572442774284147, \"RMSE\": 6.524300196624447, \"R2\": -11.438471282384336, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.5070640000000002 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4832798669216825, \"RMSE\": 6.345294903725613, \"R2\": -10.86190793294698, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 1.8008990000000002 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.371542642654472, \"RMSE\": 6.177015076243767, \"R2\": -10.629949316856385, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.0970690000000003 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.263251524870982, \"RMSE\": 6.020874949010495, \"R2\": -10.36170885736068, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.4016 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.166901825777709, \"RMSE\": 5.8760767656227735, \"R2\": -10.179937857653265, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 2.706944 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.102550908901192, \"RMSE\": 5.743886676480224, \"R2\": -9.489284487381322, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.013076 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.036030402550628, \"RMSE\": 5.61908468135586, \"R2\": -8.519416508014515, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.319991 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.965717807967496, \"RMSE\": 5.50138701729293, \"R2\": -7.914879120336785, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.627685 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8948913466896105, \"RMSE\": 5.390446783732167, \"R2\": -7.379388774419297, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 3.93618 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8304411336225568, \"RMSE\": 5.286008256480869, \"R2\": -7.071904701569496, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.245555 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7733791235095338, \"RMSE\": 5.187623645241403, \"R2\": -6.74573862520947, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.555757000000001 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7328732375480085, \"RMSE\": 5.096231477200102, \"R2\": -6.653340289034931, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 4.866786000000001 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6922671720641331, \"RMSE\": 5.009032279128942, \"R2\": -6.5765398617523605, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.1996410000000015 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6600221636451291, \"RMSE\": 4.9270067527590165, \"R2\": -6.249341959517198, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.545038000000002 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6169171465584515, \"RMSE\": 4.847662648980224, \"R2\": -5.910766757861972, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 5.892753000000002 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5787668849144931, \"RMSE\": 4.771995268006674, \"R2\": -5.5715350899413965, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.242777000000002 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.535700232104731, \"RMSE\": 4.69925054984221, \"R2\": -5.326885534626132, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.599796000000002 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5003699975160405, \"RMSE\": 4.630081239411466, \"R2\": -5.239062722957792, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 6.957619000000002 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4782734303433982, \"RMSE\": 4.565354365023557, \"R2\": -5.225160013321354, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 7.316272000000002 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4563696019956498, \"RMSE\": 4.503833132228122, \"R2\": -5.19161922746511, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 7.675697000000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4392280778003554, \"RMSE\": 4.445645440595998, \"R2\": -5.02903742417401, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.035893000000002 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4073407178561264, \"RMSE\": 4.387021097703184, \"R2\": -4.9346827726614455, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.396854000000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3782504190107006, \"RMSE\": 4.330701361336262, \"R2\": -4.809192109617374, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 8.758623000000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3571814777264213, \"RMSE\": 4.277370073659861, \"R2\": -4.718248073230613, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.121240000000002 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3328025450945626, \"RMSE\": 4.2253925636382, \"R2\": -4.641399853721709, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.484674000000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.311715211433691, \"RMSE\": 4.175582527272098, \"R2\": -4.560327645533724, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 9.848922000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2897432923325247, \"RMSE\": 4.127236925138345, \"R2\": -4.422957957045758, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.213983000000002 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2672991203860131, \"RMSE\": 4.080383024210964, \"R2\": -4.274192362897992, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.579853000000002 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2421842209255052, \"RMSE\": 4.03488734209176, \"R2\": -4.178968845613636, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 10.965988 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.220808929344255, \"RMSE\": 3.991045752926761, \"R2\": -4.15028972045945, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 11.354575 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2057181063421545, \"RMSE\": 3.9494511154557617, \"R2\": -4.0862825167589865, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 11.745471 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.188437369603739, \"RMSE\": 3.9086583836793856, \"R2\": -4.0338431039290805, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.138778 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1710173649101312, \"RMSE\": 3.869039281342956, \"R2\": -4.028105053503917, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.545048 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1544521877618488, \"RMSE\": 3.830602085194232, \"R2\": -4.011663649294047, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 12.952187 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression with l1 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1537672749321948, \"RMSE\": 3.8287168981917103, \"R2\": -4.010074752320696, \"Memory in Mb\": 0.0052042007446289, \"Time in s\": 13.359495 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 30.6062254572366, \"RMSE\": 31.39938120772091, \"R2\": -1268.1112549740517, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.000711 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.412737763681047, \"RMSE\": 23.97862157826266, \"R2\": -607.9443275975191, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.001889 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.119104680903606, \"RMSE\": 19.655410372524667, \"R2\": -267.315679768846, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.003406 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.691588950452092, \"RMSE\": 17.042779535378298, \"R2\": -227.6797328948204, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.00525 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.128477598777668, \"RMSE\": 17.570968714531574, \"R2\": -59.26944361385635, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.007421 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.75565671610116, \"RMSE\": 16.483156797846284, \"R2\": -21.862958739409084, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.009919 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.454334080303978, \"RMSE\": 15.644372833730271, \"R2\": -12.803711937026078, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.012745 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.893519322025275, \"RMSE\": 14.807378680481822, \"R2\": -10.212022929829027, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.015896 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.219705201317108, \"RMSE\": 14.0445461378022, \"R2\": -7.436202462041329, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.019372 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.828389618716818, \"RMSE\": 13.455080798744472, \"R2\": -4.4070097733575375, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.023173 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.61456960864212, \"RMSE\": 13.037583740326507, \"R2\": -2.909846715773841, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.027299 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.52880743945525, \"RMSE\": 12.69008098915324, \"R2\": -2.0274307958032884, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.031782 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.39143583855712, \"RMSE\": 12.35961426350804, \"R2\": -1.3260696348061909, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.036638 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.12180315101294, \"RMSE\": 12.009375103170282, \"R2\": -0.866389387173786, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0418749999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.136940986261356, \"RMSE\": 11.920551719153746, \"R2\": -0.4782218583187949, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0474919999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.284290032332207, \"RMSE\": 11.93362687305613, \"R2\": -0.1945108920445761, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0534829999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.390309464431912, \"RMSE\": 11.903488345267943, \"R2\": 0.0269083954035856, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.0598469999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.350219958465262, \"RMSE\": 11.791481226840991, \"R2\": 0.2404518209934976, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.06659 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.499019855105985, \"RMSE\": 11.958125495095471, \"R2\": 0.3560283448388185, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.073713 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 8.90272187978296, \"RMSE\": 12.527163169679886, \"R2\": 0.3812690011074207, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.081218 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.171291167504233, \"RMSE\": 12.73748746029564, \"R2\": 0.4528394877125938, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.08971 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.37629466014084, \"RMSE\": 13.047657656056804, \"R2\": 0.538024139715424, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.099295 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.440817816219347, \"RMSE\": 13.0964165059942, \"R2\": 0.5957634168273553, \"Memory in Mb\": 0.0041532516479492, \"Time in s\": 0.110134 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 9.906487060964151, \"RMSE\": 13.855497684527965, \"R2\": 0.5866088718530376, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1222419999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.387009537918406, \"RMSE\": 14.786939232799543, \"R2\": 0.5856869069436603, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1355289999999999 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.701469010841246, \"RMSE\": 15.270898285463774, \"R2\": 0.6172820078624095, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1498919999999999 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 10.689852199892528, \"RMSE\": 15.284847538688991, \"R2\": 0.6674656839655615, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.1772019999999999 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 11.168487287417785, \"RMSE\": 16.008183102465477, \"R2\": 0.6751444757196481, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2058519999999999 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.085867087734242, \"RMSE\": 18.170753499240718, \"R2\": 0.6201764868699093, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2348879999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.672501856506583, \"RMSE\": 19.05837058612535, \"R2\": 0.6424226539377311, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2642819999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 12.822446828447037, \"RMSE\": 19.13937756684808, \"R2\": 0.6770787925994421, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.2940279999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.055746883990931, \"RMSE\": 19.31213644577825, \"R2\": 0.7011272480618885, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3241269999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 13.79008745873622, \"RMSE\": 20.396105048894267, \"R2\": 0.6762859401979866, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3545779999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.293199062265238, \"RMSE\": 21.539399675842866, \"R2\": 0.6681199603719434, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.3853799999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.740320816630271, \"RMSE\": 22.31102616496048, \"R2\": 0.6849554171717112, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.4261629999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 14.862968645899144, \"RMSE\": 22.29409698811668, \"R2\": 0.7067005430463744, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.467315 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 15.699705023283965, \"RMSE\": 23.67314903355933, \"R2\": 0.6925996644733732, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.508826 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.38213993729544, \"RMSE\": 25.048095107979137, \"R2\": 0.6769473375050636, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.55069 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 16.967894830794286, \"RMSE\": 26.15320189056989, \"R2\": 0.6870368010887093, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.592905 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.10728249235129, \"RMSE\": 26.204092785638924, \"R2\": 0.7080553660644732, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.6354690000000001 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 17.603016925007317, \"RMSE\": 26.772391386711117, \"R2\": 0.7082099437723521, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.6783830000000001 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 18.614531201761597, \"RMSE\": 28.786744962703725, \"R2\": 0.6831362914484524, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.7216460000000001 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.48829335200544, \"RMSE\": 30.38515335394973, \"R2\": 0.6882746780375071, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.7652570000000001 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 19.755002868307955, \"RMSE\": 30.52390276571354, \"R2\": 0.7026599444855313, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.8092140000000001 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 20.22217092676305, \"RMSE\": 31.08727194033441, \"R2\": 0.7098743070293987, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.8535240000000001 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.03670858216615, \"RMSE\": 32.44431034253017, \"R2\": 0.6931769059461363, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.898204 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 21.78200415465676, \"RMSE\": 33.496021791915204, \"R2\": 0.6913806254796178, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.943264 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.56258004106143, \"RMSE\": 34.768391171729405, \"R2\": 0.7010449079513538, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 0.988697 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 22.68725373887437, \"RMSE\": 34.77075336357408, \"R2\": 0.7133508993505916, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.0345 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 23.627725892037507, \"RMSE\": 36.32441604878253, \"R2\": 0.6968033114915981, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.080674 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 24.34737619246692, \"RMSE\": 37.30920796407717, \"R2\": 0.6941284720923248, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.127216 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 25.18573737545828, \"RMSE\": 38.51358935872805, \"R2\": 0.698506895988072, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.174127 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"ChickWeights\", \"MAE\": 25.27380465992389, \"RMSE\": 38.58852748240754, \"R2\": 0.7046942807227952, \"Memory in Mb\": 0.0042333602905273, \"Time in s\": 1.2212839999999998 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.994354275814885, \"RMSE\": 24.339467027537435, \"R2\": -1388.5575385664913, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.002841 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.808927193108108, \"RMSE\": 17.83271591943186, \"R2\": -126.84988353201342, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.006663 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.864002308096952, \"RMSE\": 15.320672400398038, \"R2\": -126.22308256175272, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.011298 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.882777304938948, \"RMSE\": 13.38981065066765, \"R2\": -96.4771385394691, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.01675 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.231639558854497, \"RMSE\": 11.98203471414171, \"R2\": -47.97617801736401, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.023066 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.334108393931037, \"RMSE\": 10.98237795329033, \"R2\": -33.904913895880355, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.030179 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.563493982833803, \"RMSE\": 10.178707085968126, \"R2\": -29.98405233271513, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.038033 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.002122045077101, \"RMSE\": 9.533278572445496, \"R2\": -22.968717144675637, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.048318 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.587842803317817, \"RMSE\": 9.003737317880292, \"R2\": -17.777085610739057, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.072946 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.458683971614509, \"RMSE\": 8.652080760634158, \"R2\": -16.390543570087573, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.099467 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.239995800771734, \"RMSE\": 8.280452519944822, \"R2\": -16.182419642449048, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.129303 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.943592784264584, \"RMSE\": 7.932077353220182, \"R2\": -14.885669934585447, \"Memory in Mb\": 0.004836082458496, \"Time in s\": 0.159907 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.7846302486799286, \"RMSE\": 7.646201644169009, \"R2\": -13.96015951270874, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.191262 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.6468171672887713, \"RMSE\": 7.389977926170562, \"R2\": -13.630953412847402, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2233629999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.526112368086922, \"RMSE\": 7.1621871014808685, \"R2\": -12.51535851099468, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2587739999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.5074300839639245, \"RMSE\": 6.985469271455791, \"R2\": -12.493228210862725, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.2965239999999999 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.434140699763514, \"RMSE\": 6.814822943627961, \"R2\": -12.570888751300782, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.3365219999999999 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.42722001559718, \"RMSE\": 6.678288393486038, \"R2\": -12.13957341395007, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.3787709999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.332029752839207, \"RMSE\": 6.516115548498917, \"R2\": -11.941900403072644, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.4232519999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.217390968362987, \"RMSE\": 6.356555790563252, \"R2\": -11.66392028459017, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.4696459999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.100825681509746, \"RMSE\": 6.206562691759863, \"R2\": -11.47288048490914, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.516851 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.0187726323631243, \"RMSE\": 6.072312098448126, \"R2\": -10.723095644711892, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.5652379999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.947022825868371, \"RMSE\": 5.94849802587685, \"R2\": -9.668265577306911, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.6161209999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.867282537241402, \"RMSE\": 5.828292237410032, \"R2\": -9.005843404687633, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.6743809999999999 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.8281006485905213, \"RMSE\": 5.729646774374514, \"R2\": -8.467133754251039, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.7334769999999999 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.759113137285707, \"RMSE\": 5.623931694381955, \"R2\": -8.136932704030892, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.79343 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.7113951403332286, \"RMSE\": 5.52770300084093, \"R2\": -7.794584318722522, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.8541829999999999 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.646739535451309, \"RMSE\": 5.432090595521053, \"R2\": -7.695343452205655, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 0.94202 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5972398336076634, \"RMSE\": 5.343168086286508, \"R2\": -7.621065103502998, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.0306859999999998 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.533455116608919, \"RMSE\": 5.255265792942869, \"R2\": -7.247487071141652, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.1202 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.497138699914293, \"RMSE\": 5.178243230235351, \"R2\": -6.88544757519055, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.210495 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4712145738198297, \"RMSE\": 5.107804033669319, \"R2\": -6.528964961790648, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.30153 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.429247896498525, \"RMSE\": 5.0347117637840935, \"R2\": -6.262430681498119, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.3932969999999998 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.398090124502612, \"RMSE\": 4.967521902410674, \"R2\": -6.18160824182094, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.4857959999999997 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.360396901712673, \"RMSE\": 4.90286744871834, \"R2\": -6.1796262474179136, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.5790619999999995 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3150393936015323, \"RMSE\": 4.836721469702358, \"R2\": -6.140716883970916, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.6730619999999998 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.267679208737699, \"RMSE\": 4.77254376860168, \"R2\": -5.948293801048677, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.7677929999999995 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2434173929652075, \"RMSE\": 4.715867112708654, \"R2\": -5.857742612566196, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.863279 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.199009654391343, \"RMSE\": 4.656030786420359, \"R2\": -5.714767077599112, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 1.959541 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.159659681172017, \"RMSE\": 4.59898830049537, \"R2\": -5.610494506343661, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.056608 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1249482408574707, \"RMSE\": 4.545176313025559, \"R2\": -5.527610390446187, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.175652 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.094058354623314, \"RMSE\": 4.493551443258636, \"R2\": -5.439404045425388, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.37025 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.062104039794744, \"RMSE\": 4.442864622918497, \"R2\": -5.284107374622643, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.565666 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.030706594140141, \"RMSE\": 4.393695684791879, \"R2\": -5.115247638705276, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.761867 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.003263565299311, \"RMSE\": 4.347049681772325, \"R2\": -5.011317673951863, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 2.958847 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9706878923964863, \"RMSE\": 4.300488305941944, \"R2\": -4.979898179552831, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.156658 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.949819924248383, \"RMSE\": 4.257394252920471, \"R2\": -4.91037086709413, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.355253 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9258186229947107, \"RMSE\": 4.214725843085415, \"R2\": -4.85305905428677, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.554625 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.900426010360992, \"RMSE\": 4.173138113177231, \"R2\": -4.849565137575967, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.754774 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.872733130377695, \"RMSE\": 4.13253797119814, \"R2\": -4.832859832721421, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 3.955698 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Linear Regression with l2 regularization\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.871510887330926, \"RMSE\": 4.130524228438989, \"R2\": -4.8310671605777085, \"Memory in Mb\": 0.0049962997436523, \"Time in s\": 4.156775 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 26.624124996337724, \"RMSE\": 28.77138517975663, \"R2\": -1064.5628215382144, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.000572 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 16.0510878175865, \"RMSE\": 20.931739283093208, \"R2\": -463.0233071270199, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.001645 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.49930786476168, \"RMSE\": 17.564629142555763, \"R2\": -213.26922094451623, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.003059 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.378514545021682, \"RMSE\": 15.405121473747096, \"R2\": -185.84310618709696, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.004809 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.844108697295251, \"RMSE\": 17.128215293517524, \"R2\": -56.27037115396167, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.006892 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.889488781892217, \"RMSE\": 15.88743125142584, \"R2\": -20.24022051627188, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.009306 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.103343480706034, \"RMSE\": 14.91594241381016, \"R2\": -11.548186613409534, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.012052 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.288900850158633, \"RMSE\": 14.011374344891149, \"R2\": -9.0389683228034, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.015129 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.736865157066078, \"RMSE\": 13.281093172283262, \"R2\": -6.543957317046456, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.018712 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.618125386224052, \"RMSE\": 12.858171267844924, \"R2\": -3.9379074608874927, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.022717 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.580936033253089, \"RMSE\": 12.51524762994286, \"R2\": -2.6028352541816, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.027127 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.191573127926202, \"RMSE\": 12.024287681643044, \"R2\": -1.7180920054032294, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.031928 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.001452140019149, \"RMSE\": 11.63905100750295, \"R2\": -1.062756769701151, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0371139999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 6.959260067984971, \"RMSE\": 11.397763679955697, \"R2\": -0.6811278108981134, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0426889999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.036161429677985, \"RMSE\": 11.359538570018056, \"R2\": -0.3423577921849861, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0486539999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.141200516910354, \"RMSE\": 11.407680550849577, \"R2\": -0.0915406328349714, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0550109999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.061965626679777, \"RMSE\": 11.211626858308708, \"R2\": 0.1367382583661435, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0617539999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 6.988600359846859, \"RMSE\": 11.023879576943443, \"R2\": 0.3361231572252737, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0688849999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.115468527113427, \"RMSE\": 11.18859440458875, \"R2\": 0.4362434515233688, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0763959999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.571784360381598, \"RMSE\": 11.99879894105818, \"R2\": 0.4323613497222297, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0842879999999999 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.610536559977233, \"RMSE\": 11.962244483436113, \"R2\": 0.5174164020157423, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.0937539999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.753677752144043, \"RMSE\": 12.109970858596688, \"R2\": 0.6020391290764042, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.1045109999999999 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 7.763402728464486, \"RMSE\": 12.046916639776326, \"R2\": 0.6579556132088519, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.123112 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.37232599699494, \"RMSE\": 12.9382814211091, \"R2\": 0.6395292100633578, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.147917 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 8.870502401884236, \"RMSE\": 14.03783628218945, \"R2\": 0.6266016212673495, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.173118 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.125553299295866, \"RMSE\": 14.312481045438886, \"R2\": 0.6638140497188074, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.198688 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.11642729851449, \"RMSE\": 14.234872044017685, \"R2\": 0.7115826499817814, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.225283 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 9.63053955101658, \"RMSE\": 15.01159987060024, \"R2\": 0.7143329631149452, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.252265 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 10.671899739762464, \"RMSE\": 17.42953249336733, \"R2\": 0.650531972004655, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.279616 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.1135598398273, \"RMSE\": 17.980470366868552, \"R2\": 0.6817264420663893, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.307329 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.368994570730054, \"RMSE\": 18.183536514460908, \"R2\": 0.7085274545262112, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.335405 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 11.47998520043724, \"RMSE\": 18.216810890558104, \"R2\": 0.7340681346165732, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.363842 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.490995837872443, \"RMSE\": 19.84181186896939, \"R2\": 0.693641639088806, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.392636 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 12.988870134156189, \"RMSE\": 20.81926805033374, \"R2\": 0.6899406322869175, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4217869999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 13.420579982415202, \"RMSE\": 21.48960215237335, \"R2\": 0.7077263415053474, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4512919999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 13.424816444492956, \"RMSE\": 21.37796604773129, \"R2\": 0.7303103668220552, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.481151 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 14.284688005634004, \"RMSE\": 22.70157511582256, \"R2\": 0.7173140296578691, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.514769 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.038658536726118, \"RMSE\": 24.042516108283174, \"R2\": 0.7023651722582169, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.548784 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.59029009825774, \"RMSE\": 24.916858152232297, \"R2\": 0.7159269075042054, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.583167 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 15.812702077031824, \"RMSE\": 25.07250049330081, \"R2\": 0.7327254930224041, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.617914 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 16.346042839206106, \"RMSE\": 25.68091484988461, \"R2\": 0.7315167856134144, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.653021 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 17.370765923434053, \"RMSE\": 27.689388199834635, \"R2\": 0.7068336630361484, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.688487 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 18.264179516209435, \"RMSE\": 29.30099868065636, \"R2\": 0.7101227966068765, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.724309 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 18.63502154656571, \"RMSE\": 29.559619400414903, \"R2\": 0.7211497930314269, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.760485 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 19.145243718121584, \"RMSE\": 30.130361606680754, \"R2\": 0.7274603750306702, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.7970149999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 19.98075812634153, \"RMSE\": 31.43770898148617, \"R2\": 0.7119202509985216, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.8338999999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 20.7046141289421, \"RMSE\": 32.42665929478992, \"R2\": 0.7107714616434232, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.8711439999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 21.54126059149082, \"RMSE\": 33.75343345950398, \"R2\": 0.7182443212146572, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.908739 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 21.73603745751772, \"RMSE\": 33.829762552174344, \"R2\": 0.7286559632490104, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.946687 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 22.674609740448528, \"RMSE\": 35.33904665998618, \"R2\": 0.7130297805712756, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.984985 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 23.350956760305525, \"RMSE\": 36.24046007710213, \"R2\": 0.7114012814424304, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.023633 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 24.20743030595361, \"RMSE\": 37.47019278346573, \"R2\": 0.7146215025224946, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.06263 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"ChickWeights\", \"MAE\": 24.342328163686027, \"RMSE\": 37.59599019491026, \"R2\": 0.7196900586014492, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.101865 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.806898309502586, \"RMSE\": 26.56763494383828, \"R2\": -1654.6182189603317, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.003003 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.866074912822512, \"RMSE\": 20.957300378156614, \"R2\": -175.5777711351631, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.009504 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.772648582583251, \"RMSE\": 17.555009093750932, \"R2\": -166.03688377592212, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.016813 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.372925375947808, \"RMSE\": 15.758572852966298, \"R2\": -134.01675577859288, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.02489 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.950999863257042, \"RMSE\": 14.807263848606526, \"R2\": -73.79513907078027, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.033777 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.131163180965077, \"RMSE\": 13.743973626529105, \"R2\": -53.66614209724606, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.043434 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.532294463666167, \"RMSE\": 12.93588512414824, \"R2\": -49.04322437944699, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.05944 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.33219708929472, \"RMSE\": 12.40854626547306, \"R2\": -39.60710527883104, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.077842 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.281092452540433, \"RMSE\": 12.043698542516514, \"R2\": -32.597139849683785, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0986229999999999 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.889313429527772, \"RMSE\": 11.548268653424005, \"R2\": -29.98173855178904, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.121857 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.555718436766954, \"RMSE\": 11.115454500430198, \"R2\": -29.96211572526289, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.149384 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.300584612865839, \"RMSE\": 10.768588372618428, \"R2\": -28.278525817685868, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.177703 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.073956995660685, \"RMSE\": 10.455941089275187, \"R2\": -26.97505735848669, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.206834 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.879100927439736, \"RMSE\": 10.179149173565092, \"R2\": -26.75935065850941, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.236782 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.698392466938299, \"RMSE\": 9.935855831167723, \"R2\": -25.01038668400382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.26759 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.496977203333427, \"RMSE\": 9.674599820332077, \"R2\": -24.881575653507443, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.299212 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.319501534649956, \"RMSE\": 9.433800456219284, \"R2\": -25.005937123592886, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3316429999999999 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.189316591643737, \"RMSE\": 9.224778235838508, \"R2\": -24.070488458586468, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3648849999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.05373584315195, \"RMSE\": 9.02603667348878, \"R2\": -23.83217081250324, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3989449999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.893196935767096, \"RMSE\": 8.831009888188627, \"R2\": -23.44247524737401, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4338649999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.787168115685009, \"RMSE\": 8.669033337133486, \"R2\": -23.33356914323267, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4696089999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.789860410241021, \"RMSE\": 8.633597516354541, \"R2\": -22.69832962851382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5061589999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.751464501173282, \"RMSE\": 8.532971696368575, \"R2\": -20.952287666855003, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5516559999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.758413491181221, \"RMSE\": 8.476961067588123, \"R2\": -20.166616413985547, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.599555 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.682950272504451, \"RMSE\": 8.3510488559106, \"R2\": -19.11151854181045, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.6519079999999999 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.627995468360723, \"RMSE\": 8.245754355787446, \"R2\": -18.64179334000355, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.705132 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.546541731300828, \"RMSE\": 8.130789587119862, \"R2\": -18.02792190581397, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.7591289999999999 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.474658569482086, \"RMSE\": 8.019262742277965, \"R2\": -17.95054121046633, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.813877 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.409420416004319, \"RMSE\": 7.920158789530457, \"R2\": -17.94222667017848, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.869386 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.394854582323811, \"RMSE\": 7.870548110777217, \"R2\": -17.498743363524373, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.941553 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.360408122735632, \"RMSE\": 7.801849933723111, \"R2\": -16.900148820132806, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.016153 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.332182524169608, \"RMSE\": 7.745335706289596, \"R2\": -16.312002846243146, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.093294 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.286484086266954, \"RMSE\": 7.672164501241343, \"R2\": -15.864310422998043, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.1728 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.240017672508232, \"RMSE\": 7.591734569529257, \"R2\": -15.77351804027652, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.259908 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.203631741702394, \"RMSE\": 7.526058935068808, \"R2\": -15.917522479350382, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.347915 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.198551833398676, \"RMSE\": 7.481861117849272, \"R2\": -16.086729414362967, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.436748 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.200051628353664, \"RMSE\": 7.443314903444159, \"R2\": -15.900950117878589, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.526395 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.146415466772512, \"RMSE\": 7.367313347205083, \"R2\": -15.73695108767244, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.61685 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.164438314106662, \"RMSE\": 7.352756459959702, \"R2\": -15.745558187055655, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.708114 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.199091748701669, \"RMSE\": 7.381485816300255, \"R2\": -16.029304780133675, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.8001699999999998 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.184244405270293, \"RMSE\": 7.343677512392477, \"R2\": -16.040406471643664, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.892982 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.162940711797175, \"RMSE\": 7.295196877254559, \"R2\": -15.972283354719572, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.986541 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.146772746928229, \"RMSE\": 7.251973114148485, \"R2\": -15.742866229030533, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.080851 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.141562534384022, \"RMSE\": 7.225910341165371, \"R2\": -15.54014218136778, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.175912 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.113671043317916, \"RMSE\": 7.181653170625269, \"R2\": -15.40700562565575, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.271722 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.082725756932772, \"RMSE\": 7.134180367835326, \"R2\": -15.456838882747109, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.368328 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.049460198345376, \"RMSE\": 7.092641752853287, \"R2\": -15.403746251323405, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.491683 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.012955702794688, \"RMSE\": 7.041188655025779, \"R2\": -15.335641983730405, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.616037 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.992587411597517, \"RMSE\": 7.002009756347646, \"R2\": -15.46809971530338, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.74122 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.986581819477306, \"RMSE\": 6.97972894589718, \"R2\": -15.638912943338369, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.867218 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 1\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.984033991902679, \"RMSE\": 6.9766666383395455, \"R2\": -15.63541499061877, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.993378 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 39.19936706045659, \"RMSE\": 55.118879370280126, \"R2\": -3909.733983269086, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.001533 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.495026158423794, \"RMSE\": 43.23165104261441, \"R2\": -1978.396532834284, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.004589 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 30.680053698816124, \"RMSE\": 39.98506660332775, \"R2\": -1109.3949268723327, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.008788 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 29.375885022911746, \"RMSE\": 37.29886968855784, \"R2\": -1094.3128086885838, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.014141 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.707444751978134, \"RMSE\": 40.753235251415205, \"R2\": -323.21264874535376, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.020635 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 31.96097441162184, \"RMSE\": 40.14945868859866, \"R2\": -134.64726490280094, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.028271 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.25989567011213, \"RMSE\": 39.82501544894248, \"R2\": -88.45229320906665, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.041195 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.76307262878121, \"RMSE\": 39.802536485586, \"R2\": -80.01195436020778, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.054526 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 32.66411513705659, \"RMSE\": 39.325402336106926, \"R2\": -65.1420916497486, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.068227 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 34.19940912800194, \"RMSE\": 40.704130728492046, \"R2\": -48.48362457590105, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.082293 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 34.629161705635866, \"RMSE\": 40.92880988729008, \"R2\": -37.53219439908784, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.096719 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 35.29035427006805, \"RMSE\": 41.59178542812187, \"R2\": -31.520750879588867, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.111503 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.23638449140802, \"RMSE\": 42.62018794050648, \"R2\": -26.65945376164948, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.126644 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.72501013289919, \"RMSE\": 42.91835139661213, \"R2\": -22.83677510551845, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.142141 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 36.731745662210095, \"RMSE\": 42.91744223234227, \"R2\": -18.16084111691443, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.157996 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 37.94402632003076, \"RMSE\": 44.39720610255875, \"R2\": -15.5331835318136, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.174208 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 38.69858083339784, \"RMSE\": 45.06856008203835, \"R2\": -12.949305609255877, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.190776 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 40.18624064352699, \"RMSE\": 46.68267333461602, \"R2\": -10.905017439998025, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.2077 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 40.85432327682653, \"RMSE\": 47.463811090322665, \"R2\": -9.145320047375163, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.224978 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 41.36451127701117, \"RMSE\": 48.41262940233051, \"R2\": -8.240888884363313, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.24261 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 42.17342712408468, \"RMSE\": 49.46918668675267, \"R2\": -7.253093192412523, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.260594 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 43.81461612103895, \"RMSE\": 51.73551020684679, \"R2\": -6.2632609796369465, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.27893 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 44.90819615603068, \"RMSE\": 53.07334253773936, \"R2\": -5.6387075541588505, \"Memory in Mb\": 0.0034055709838867, \"Time in s\": 0.297618 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 46.45334973048907, \"RMSE\": 55.82244674340302, \"R2\": -5.710187070138379, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3166589999999999 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 48.05643802527038, \"RMSE\": 58.804796990371536, \"R2\": -5.552357606253864, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3360539999999999 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 49.41721923566732, \"RMSE\": 60.72765972830183, \"R2\": -5.052332799264802, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3558019999999999 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 51.23299901747073, \"RMSE\": 63.29154255446438, \"R2\": -4.701716347098143, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3759049999999999 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 52.82583967659276, \"RMSE\": 65.36972550348784, \"R2\": -4.417008197806662, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.3963679999999999 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 54.851023886215806, \"RMSE\": 70.45860717413167, \"R2\": -4.71089374971376, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4171839999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 56.58220488738844, \"RMSE\": 72.62689780553444, \"R2\": -4.192702597603254, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4383529999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 58.456862484765374, \"RMSE\": 75.26810540469758, \"R2\": -3.994165343488624, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4598799999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 59.98229295122657, \"RMSE\": 76.97767263775137, \"R2\": -3.748486775975887, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.4817619999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 61.989108820835376, \"RMSE\": 80.62951920841103, \"R2\": -4.0588898392459045, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.503996 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 63.93796840595574, \"RMSE\": 84.48840832488506, \"R2\": -4.106322034628877, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.526584 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 65.15236861414519, \"RMSE\": 85.79755918852514, \"R2\": -3.6588935912158114, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.551564 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 66.90365663892747, \"RMSE\": 87.9249329113371, \"R2\": -3.562003118430529, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.5777180000000001 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 68.17917622540308, \"RMSE\": 89.58756462611774, \"R2\": -3.402382103640547, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.6050150000000001 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 70.80702754948452, \"RMSE\": 94.96753809429286, \"R2\": -3.643808228470034, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.6334650000000001 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 72.44730173566225, \"RMSE\": 97.09455233033468, \"R2\": -3.313534410167211, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.663057 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 74.29167351363806, \"RMSE\": 99.40774027870644, \"R2\": -3.201483315326532, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.693783 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 75.83174494284101, \"RMSE\": 101.77506329990584, \"R2\": -3.216760347648722, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.725638 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 78.5111288104629, \"RMSE\": 106.99570126481906, \"R2\": -3.3774383617967887, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.758621 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 81.63741116996734, \"RMSE\": 112.58139375423264, \"R2\": -3.2793958269429844, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.79391 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 82.66628549198501, \"RMSE\": 113.50934761838604, \"R2\": -3.1118432523868984, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.829617 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 84.40016304476833, \"RMSE\": 116.34990208847, \"R2\": -3.0639935553557365, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.865723 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 86.52132256561038, \"RMSE\": 120.30772815943004, \"R2\": -3.2188880650982723, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.902224 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 87.79244029751037, \"RMSE\": 121.63869088166206, \"R2\": -3.069866847809537, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.93912 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 90.43735682351402, \"RMSE\": 126.62066541565774, \"R2\": -2.9650251625135784, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 0.976398 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 91.59763342322412, \"RMSE\": 127.6295949640952, \"R2\": -2.862114672867245, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.014034 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 93.80067010965053, \"RMSE\": 131.39026699356185, \"R2\": -2.966921087845916, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.0520230000000002 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 96.52355815418714, \"RMSE\": 136.33091173427522, \"R2\": -3.0840934586689466, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.0903630000000002 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 99.60515399822415, \"RMSE\": 141.80943605664237, \"R2\": -3.0875177525301325, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.129055 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"ChickWeights\", \"MAE\": 100.62422612381133, \"RMSE\": 143.06646930774232, \"R2\": -3.0591132110693486, \"Memory in Mb\": 0.0034589767456054, \"Time in s\": 1.167982 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 48.24517612267716, \"RMSE\": 65.52170729560882, \"R2\": -10068.892101934754, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0014 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.96170708962665, \"RMSE\": 54.398737007050464, \"R2\": -1188.715138210959, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0037089999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 37.75687919715097, \"RMSE\": 48.78450375470138, \"R2\": -1288.953469480389, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0068 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 34.906129137913965, \"RMSE\": 44.99379649673769, \"R2\": -1099.675197364534, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.010662 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.91700787894482, \"RMSE\": 42.88559259598606, \"R2\": -626.4029768570122, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0153429999999999 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.25318798467783, \"RMSE\": 41.41783833748641, \"R2\": -495.442160460349, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0207979999999999 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 32.454169303664, \"RMSE\": 40.06534641626261, \"R2\": -479.0547686921885, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0270209999999999 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.456143135335843, \"RMSE\": 38.757475924320815, \"R2\": -395.1605214699538, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0340139999999999 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.609503890456164, \"RMSE\": 37.605439707525925, \"R2\": -326.55474603918685, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0417749999999999 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.18524212396377, \"RMSE\": 36.915721425331306, \"R2\": -315.5882175367347, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0503299999999999 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.065472528043387, \"RMSE\": 36.44442035805252, \"R2\": -331.8421153382835, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0596439999999999 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.78865598017145, \"RMSE\": 35.91292614465666, \"R2\": -324.6366197799479, \"Memory in Mb\": 0.0043020248413085, \"Time in s\": 0.0697149999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.781114432924586, \"RMSE\": 35.79236523689611, \"R2\": -326.81251307944893, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.0853099999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.53323842574737, \"RMSE\": 35.35890478021234, \"R2\": -333.95306350592915, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1033029999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.45783145374521, \"RMSE\": 35.09485674586195, \"R2\": -323.506345927368, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1237949999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.587592426740265, \"RMSE\": 34.99099947403571, \"R2\": -337.56135797788454, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.1466579999999999 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.592186767063264, \"RMSE\": 34.82748458593961, \"R2\": -353.4405109424598, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.178415 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.81187133621213, \"RMSE\": 34.87255971663822, \"R2\": -357.27671195740294, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2110159999999999 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.96085998978186, \"RMSE\": 34.8837386376585, \"R2\": -369.9082961036221, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2444429999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.10861760053803, \"RMSE\": 34.89146879370085, \"R2\": -380.5600928496674, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.2787509999999999 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.237056214581205, \"RMSE\": 34.87113676993804, \"R2\": -392.72834237954817, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3138979999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.396870134836657, \"RMSE\": 34.919939008119975, \"R2\": -386.68686883790514, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3498769999999999 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.5142090152444, \"RMSE\": 34.936230377424984, \"R2\": -366.9859696545672, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.3866269999999999 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.60304766371323, \"RMSE\": 34.90556469597589, \"R2\": -357.88920799289923, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.4241359999999999 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.723498435612367, \"RMSE\": 34.929338036322235, \"R2\": -350.83863344189655, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.462404 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.811640107301315, \"RMSE\": 34.91688659850233, \"R2\": -351.20164208687333, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.5014689999999999 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.90684609870959, \"RMSE\": 34.93305250730057, \"R2\": -350.23597283973027, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.541291 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.83222834631613, \"RMSE\": 34.80844611918478, \"R2\": -356.0442181025925, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.58187 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.81214247339674, \"RMSE\": 34.7464796172207, \"R2\": -363.5733105101423, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.629234 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.96266506693229, \"RMSE\": 34.82326914665847, \"R2\": -361.1357082485383, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.6774979999999999 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.066025409450507, \"RMSE\": 34.86865150113252, \"R2\": -356.54586556020155, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.743837 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.17687176552783, \"RMSE\": 34.929241693507976, \"R2\": -351.0830657253844, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.810979 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.17965741293356, \"RMSE\": 34.892251240403844, \"R2\": -347.8114699445998, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.87889 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.2564554130016, \"RMSE\": 34.924087575336145, \"R2\": -353.970503405387, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 0.947564 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.205643809070587, \"RMSE\": 34.8991435368638, \"R2\": -362.7735100050666, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.017054 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.176512353694505, \"RMSE\": 34.84497410939031, \"R2\": -369.6124031875757, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.087302 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.10578554229227, \"RMSE\": 34.74995813099662, \"R2\": -367.37224871607793, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.158309 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.047274834607855, \"RMSE\": 34.691812272848594, \"R2\": -370.11801689051305, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.23401 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.10380007346799, \"RMSE\": 34.703384372728905, \"R2\": -372.0292841604823, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.319073 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.08555480002386, \"RMSE\": 34.670374973731704, \"R2\": -374.68721566223496, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.406663 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.19885148971359, \"RMSE\": 34.750222550469864, \"R2\": -380.56447731408525, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.496625 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.25463715565584, \"RMSE\": 34.7657556157579, \"R2\": -384.4513633760299, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.5889890000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.316317159155098, \"RMSE\": 34.79186578621207, \"R2\": -384.3655387384781, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 1.693075 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.241979864666277, \"RMSE\": 34.706915019978055, \"R2\": -380.5804591262153, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.065505 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.224226006229813, \"RMSE\": 34.673719949901624, \"R2\": -381.4558834892021, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.440347 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.14134426690263, \"RMSE\": 34.58836614994504, \"R2\": -385.8283921715467, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 2.817664 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.997921544748237, \"RMSE\": 34.45657797481166, \"R2\": -386.1428842704396, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.197344 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.060400411885407, \"RMSE\": 34.566740304864304, \"R2\": -392.6960879419034, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.57811 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 30.96911325529305, \"RMSE\": 34.515642414657464, \"R2\": -399.1566023636026, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 3.959721 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.09609109084082, \"RMSE\": 34.63142513356851, \"R2\": -408.6269881777103, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 4.342153 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Passive-Aggressive Regressor, mode 2\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.093334457100017, \"RMSE\": 34.62570772928248, \"R2\": -408.7651443035993, \"Memory in Mb\": 0.0044355392456054, \"Time in s\": 4.724752 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.6439393939393945, \"RMSE\": 12.708027567111456, \"R2\": -206.8805289598106, \"Memory in Mb\": 0.0208587646484375, \"Time in s\": 0.001745 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7674242424242426, \"RMSE\": 9.021574170013263, \"R2\": -85.19732920009746, \"Memory in Mb\": 0.0300941467285156, \"Time in s\": 0.005817 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3601010101010105, \"RMSE\": 7.4346315168437105, \"R2\": -37.38846247874159, \"Memory in Mb\": 0.0395355224609375, \"Time in s\": 0.012524 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 1.988257575757577, \"RMSE\": 6.459864921032004, \"R2\": -31.8544119108943, \"Memory in Mb\": 0.0488433837890625, \"Time in s\": 0.023287 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.201515151515152, \"RMSE\": 6.079045396219125, \"R2\": -6.214006750846093, \"Memory in Mb\": 0.0583724975585937, \"Time in s\": 0.035467 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.2709595959595963, \"RMSE\": 5.693634951086079, \"R2\": -1.7279153546475992, \"Memory in Mb\": 0.0685691833496093, \"Time in s\": 0.049542 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.6114718614718617, \"RMSE\": 5.706903555891601, \"R2\": -0.8368793810695487, \"Memory in Mb\": 0.0782623291015625, \"Time in s\": 0.068809 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.5236742424242427, \"RMSE\": 5.412016943708686, \"R2\": -0.4977726858852578, \"Memory in Mb\": 0.0879554748535156, \"Time in s\": 0.099298 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.4695286195286204, \"RMSE\": 5.169211114529652, \"R2\": -0.1428260058474422, \"Memory in Mb\": 0.0976486206054687, \"Time in s\": 0.132347 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7553030303030317, \"RMSE\": 5.269495069058163, \"R2\": 0.1706792355598563, \"Memory in Mb\": 0.1073417663574218, \"Time in s\": 0.167959 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.1511019283746564, \"RMSE\": 5.580125306741311, \"R2\": 0.2837685080447375, \"Memory in Mb\": 0.117034912109375, \"Time in s\": 0.206371 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.315782828282829, \"RMSE\": 5.649452649212155, \"R2\": 0.3999904226030885, \"Memory in Mb\": 0.1272315979003906, \"Time in s\": 0.248032 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.6019813519813537, \"RMSE\": 5.868270501527574, \"R2\": 0.475635686274607, \"Memory in Mb\": 0.1369247436523437, \"Time in s\": 0.313422 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 3.745995670995673, \"RMSE\": 5.964828521670115, \"R2\": 0.5395766265984425, \"Memory in Mb\": 0.1466178894042968, \"Time in s\": 0.409887 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.050202020202021, \"RMSE\": 6.4542180762994805, \"R2\": 0.5666546129487657, \"Memory in Mb\": 0.15631103515625, \"Time in s\": 0.575073 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.420928030303032, \"RMSE\": 6.954884488253524, \"R2\": 0.5942812793055753, \"Memory in Mb\": 0.1660041809082031, \"Time in s\": 0.746583 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 4.757664884135474, \"RMSE\": 7.278917476631412, \"R2\": 0.6361362300357987, \"Memory in Mb\": 0.1756973266601562, \"Time in s\": 0.922657 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 5.192340067340069, \"RMSE\": 7.767087259749381, \"R2\": 0.6704396407154757, \"Memory in Mb\": 0.1858940124511718, \"Time in s\": 1.103506 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 5.571690590111645, \"RMSE\": 8.414476478500024, \"R2\": 0.6811438926382001, \"Memory in Mb\": 0.195587158203125, \"Time in s\": 1.289988 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 6.017651515151518, \"RMSE\": 9.535434778453542, \"R2\": 0.641509702161033, \"Memory in Mb\": 0.2052803039550781, \"Time in s\": 1.481758 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 6.514646464646468, \"RMSE\": 10.15268578355149, \"R2\": 0.652376522878304, \"Memory in Mb\": 0.2149734497070312, \"Time in s\": 1.688886 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.006955922865016, \"RMSE\": 10.883499074839364, \"R2\": 0.6785664047839641, \"Memory in Mb\": 0.2246665954589843, \"Time in s\": 1.905808 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.401119894598158, \"RMSE\": 11.259257694820905, \"R2\": 0.7012209269570091, \"Memory in Mb\": 0.2343597412109375, \"Time in s\": 2.129833 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 7.873800505050509, \"RMSE\": 12.237701558545494, \"R2\": 0.6775097363055258, \"Memory in Mb\": 0.2446098327636718, \"Time in s\": 2.3598440000000003 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 8.501393939393942, \"RMSE\": 13.456617650281162, \"R2\": 0.6568816796501455, \"Memory in Mb\": 0.254302978515625, \"Time in s\": 2.605392 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 8.999592074592076, \"RMSE\": 14.081405883193678, \"R2\": 0.6745818706784585, \"Memory in Mb\": 0.2639961242675781, \"Time in s\": 2.8696780000000004 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 9.403647586980924, \"RMSE\": 14.487230370517851, \"R2\": 0.7012657763253116, \"Memory in Mb\": 0.2736892700195312, \"Time in s\": 3.1592620000000005 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 9.82559523809524, \"RMSE\": 15.247017337775036, \"R2\": 0.7053028346163965, \"Memory in Mb\": 0.2833824157714844, \"Time in s\": 3.471445000000001 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 10.570794148380358, \"RMSE\": 17.082267622288043, \"R2\": 0.6643188025566307, \"Memory in Mb\": 0.2930755615234375, \"Time in s\": 3.895766000000001 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 11.342676767676773, \"RMSE\": 18.20491056057454, \"R2\": 0.6737311884314376, \"Memory in Mb\": 0.3032722473144531, \"Time in s\": 4.333389 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 11.75625610948192, \"RMSE\": 18.5968301788559, \"R2\": 0.6951271166039881, \"Memory in Mb\": 0.3129653930664062, \"Time in s\": 4.790776 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 12.16955492424243, \"RMSE\": 18.94133239132977, \"R2\": 0.7124941202708752, \"Memory in Mb\": 0.3226585388183594, \"Time in s\": 5.260338 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 12.609595959595964, \"RMSE\": 19.7022738973151, \"R2\": 0.6979354313341102, \"Memory in Mb\": 0.3323516845703125, \"Time in s\": 5.750168 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 13.251024955436726, \"RMSE\": 20.7851367099449, \"R2\": 0.6909564285254863, \"Memory in Mb\": 0.3420448303222656, \"Time in s\": 6.251716 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 13.78255411255412, \"RMSE\": 21.481025974379733, \"R2\": 0.7079595790244884, \"Memory in Mb\": 0.3522415161132812, \"Time in s\": 6.769761 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 14.010311447811455, \"RMSE\": 21.53574862211497, \"R2\": 0.7263147242326703, \"Memory in Mb\": 0.3619346618652344, \"Time in s\": 7.297159 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 14.576126126126132, \"RMSE\": 22.56379182999173, \"R2\": 0.720735043690873, \"Memory in Mb\": 0.3716278076171875, \"Time in s\": 7.841892 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 15.256658692185017, \"RMSE\": 23.708044463333223, \"R2\": 0.710588766956741, \"Memory in Mb\": 0.38134765625, \"Time in s\": 8.4256 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 15.863597513597522, \"RMSE\": 24.650993900023582, \"R2\": 0.7219567169230845, \"Memory in Mb\": 0.3910675048828125, \"Time in s\": 9.118776 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 16.15655303030304, \"RMSE\": 24.89490243600041, \"R2\": 0.7364984966983625, \"Memory in Mb\": 0.4007606506347656, \"Time in s\": 9.83444 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 16.474242424242437, \"RMSE\": 25.235361878916876, \"R2\": 0.7407521096740679, \"Memory in Mb\": 0.4109573364257812, \"Time in s\": 10.564263 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 17.206240981241, \"RMSE\": 26.51959634874256, \"R2\": 0.731081178462164, \"Memory in Mb\": 0.4206771850585937, \"Time in s\": 11.311639 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.061486962649766, \"RMSE\": 27.919441407022266, \"R2\": 0.7368140706560946, \"Memory in Mb\": 0.430450439453125, \"Time in s\": 12.077289 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.444800275482105, \"RMSE\": 28.396609389438456, \"R2\": 0.742660608098584, \"Memory in Mb\": 0.4401702880859375, \"Time in s\": 12.86575 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 18.85067340067341, \"RMSE\": 28.917019336286597, \"R2\": 0.7489686179689856, \"Memory in Mb\": 0.4499168395996094, \"Time in s\": 13.665871 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 19.39739789196312, \"RMSE\": 29.705616030262235, \"R2\": 0.7427898649120724, \"Memory in Mb\": 2.5872955322265625, \"Time in s\": 16.820609 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 20.115441650548043, \"RMSE\": 30.73530324863436, \"R2\": 0.7401565757784102, \"Memory in Mb\": 2.6296463012695312, \"Time in s\": 20.027458000000003 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 20.836142676767683, \"RMSE\": 31.98623382904741, \"R2\": 0.7469752640852343, \"Memory in Mb\": 2.6746597290039062, \"Time in s\": 23.267231 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 21.017594310451457, \"RMSE\": 32.125858524254696, \"R2\": 0.7553011842320496, \"Memory in Mb\": 2.717792510986328, \"Time in s\": 26.555547000000004 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 21.677242424242426, \"RMSE\": 32.83678407493398, \"R2\": 0.7522301799631583, \"Memory in Mb\": 2.769092559814453, \"Time in s\": 29.885669000000004 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 22.80977421271539, \"RMSE\": 35.198755082788004, \"R2\": 0.727753941720713, \"Memory in Mb\": 2.8112449645996094, \"Time in s\": 33.249092000000005 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 24.195600233100237, \"RMSE\": 38.25560047694445, \"R2\": 0.7025325582791198, \"Memory in Mb\": 2.857513427734375, \"Time in s\": 36.653026 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"ChickWeights\", \"MAE\": 24.84062860438293, \"RMSE\": 39.201635479156685, \"R2\": 0.6952358931227007, \"Memory in Mb\": 2.885215759277344, \"Time in s\": 40.087818000000006 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.554585433333335, \"RMSE\": 9.794739803036965, \"R2\": -224.02989290855143, \"Memory in Mb\": 0.0335884094238281, \"Time in s\": 0.001545 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7993247666666672, \"RMSE\": 6.973235588114817, \"R2\": -18.54942689237887, \"Memory in Mb\": 0.0554847717285156, \"Time in s\": 0.0054 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.366773144444445, \"RMSE\": 5.705236645726316, \"R2\": -16.642396889136542, \"Memory in Mb\": 0.0773544311523437, \"Time in s\": 0.012332 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1277757833333335, \"RMSE\": 4.947712433075743, \"R2\": -12.30953248968821, \"Memory in Mb\": 0.0997543334960937, \"Time in s\": 0.028826 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.046201766666667, \"RMSE\": 4.439862929674892, \"R2\": -5.724544452799038, \"Memory in Mb\": 0.1216506958007812, \"Time in s\": 0.050318 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.000865705555556, \"RMSE\": 4.0744555355418335, \"R2\": -3.804331488196434, \"Memory in Mb\": 0.1435470581054687, \"Time in s\": 0.086896 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9447764619047624, \"RMSE\": 3.7809361134406254, \"R2\": -3.275153002458012, \"Memory in Mb\": 0.1659469604492187, \"Time in s\": 0.149837 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9352969166666673, \"RMSE\": 3.5531790499707645, \"R2\": -2.329617982408036, \"Memory in Mb\": 0.1878433227539062, \"Time in s\": 0.2304459999999999 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9445764925925928, \"RMSE\": 3.380979243961517, \"R2\": -1.647692611170827, \"Memory in Mb\": 0.2097396850585937, \"Time in s\": 0.432465 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9456943733333336, \"RMSE\": 3.232789339199984, \"R2\": -1.427877878808435, \"Memory in Mb\": 0.2321395874023437, \"Time in s\": 0.648003 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9124697575757575, \"RMSE\": 3.0919339165015143, \"R2\": -1.3957229068060464, \"Memory in Mb\": 0.2540359497070312, \"Time in s\": 0.888162 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9329223611111108, \"RMSE\": 2.985727855147271, \"R2\": -1.2507750530936188, \"Memory in Mb\": 0.2759323120117187, \"Time in s\": 1.171554 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9025974717948716, \"RMSE\": 2.873740673763463, \"R2\": -1.11319648675526, \"Memory in Mb\": 0.2984657287597656, \"Time in s\": 1.484213 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8654126523809523, \"RMSE\": 2.773524640439575, \"R2\": -1.0608690746642817, \"Memory in Mb\": 0.3203620910644531, \"Time in s\": 1.81098 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8525042622222223, \"RMSE\": 2.688069339615046, \"R2\": -0.9037818439458584, \"Memory in Mb\": 0.3422584533691406, \"Time in s\": 2.170241 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8265282395833334, \"RMSE\": 2.6077957497476296, \"R2\": -0.880493509713772, \"Memory in Mb\": 0.3646583557128906, \"Time in s\": 2.558101 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8137511019607846, \"RMSE\": 2.539210136300266, \"R2\": -0.8840673465916704, \"Memory in Mb\": 0.3865547180175781, \"Time in s\": 3.13755 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7887328240740744, \"RMSE\": 2.4696835584739105, \"R2\": -0.7969398815662787, \"Memory in Mb\": 0.4084510803222656, \"Time in s\": 3.744079 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7710879228070179, \"RMSE\": 2.4087271831437693, \"R2\": -0.7684619785143365, \"Memory in Mb\": 0.4303474426269531, \"Time in s\": 4.380375 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.756179386666667, \"RMSE\": 2.351105641867075, \"R2\": -0.7324819925835522, \"Memory in Mb\": 0.4527473449707031, \"Time in s\": 5.04744 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7300392539682541, \"RMSE\": 2.295700426816902, \"R2\": -0.7064552265553199, \"Memory in Mb\": 0.4746437072753906, \"Time in s\": 5.735437 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7180258560606063, \"RMSE\": 2.24592493832078, \"R2\": -0.6037054809307543, \"Memory in Mb\": 0.4965400695800781, \"Time in s\": 6.669957 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7103659666666668, \"RMSE\": 2.200554873752302, \"R2\": -0.4599688187191526, \"Memory in Mb\": 0.5189399719238281, \"Time in s\": 7.633919000000001 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6905233472222223, \"RMSE\": 2.1551860359584523, \"R2\": -0.3681716631920215, \"Memory in Mb\": 0.5408363342285156, \"Time in s\": 8.635162000000001 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6835753693333335, \"RMSE\": 2.11616682722306, \"R2\": -0.2914054626850582, \"Memory in Mb\": 2.70669937133789, \"Time in s\": 12.111573000000002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6741869282051286, \"RMSE\": 2.077523623184556, \"R2\": -0.2468444979074313, \"Memory in Mb\": 2.7946739196777344, \"Time in s\": 15.640183000000002 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6635047197530868, \"RMSE\": 2.0412653603832838, \"R2\": -0.1992917531598592, \"Memory in Mb\": 2.8836631774902344, \"Time in s\": 19.224183000000004 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6666769047619049, \"RMSE\": 2.01181749557566, \"R2\": -0.1926963577893738, \"Memory in Mb\": 2.973125457763672, \"Time in s\": 22.863484000000003 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.662313208045977, \"RMSE\": 1.9804661409620816, \"R2\": -0.1843991731259868, \"Memory in Mb\": 3.06191635131836, \"Time in s\": 26.560120000000005 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6595208444444446, \"RMSE\": 1.9515625148224915, \"R2\": -0.1373580524839326, \"Memory in Mb\": 3.158283233642578, \"Time in s\": 30.31408200000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6603871010752689, \"RMSE\": 1.924909501402362, \"R2\": -0.0896376201735813, \"Memory in Mb\": 3.248737335205078, \"Time in s\": 34.12595900000001 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6518434010416667, \"RMSE\": 1.8967107462711992, \"R2\": -0.0381713320833934, \"Memory in Mb\": 3.341320037841797, \"Time in s\": 37.99311800000001 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6481796161616163, \"RMSE\": 1.873162681009878, \"R2\": -0.00527242303062, \"Memory in Mb\": 3.435527801513672, \"Time in s\": 41.91854100000001 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6594073715686274, \"RMSE\": 1.8574009428793896, \"R2\": -0.0040456355040212, \"Memory in Mb\": 3.5269508361816406, \"Time in s\": 45.90599500000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6619153695238096, \"RMSE\": 1.8376987056605067, \"R2\": -0.0086724321908719, \"Memory in Mb\": 3.615283966064453, \"Time in s\": 49.957909000000015 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6538050537037038, \"RMSE\": 1.8142062090777376, \"R2\": -0.0046457590045041, \"Memory in Mb\": 3.7059364318847656, \"Time in s\": 54.07172000000001 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6437102684684685, \"RMSE\": 1.7904191974020045, \"R2\": 0.0221149973980568, \"Memory in Mb\": 3.8005104064941406, \"Time in s\": 58.24412800000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6465423666666668, \"RMSE\": 1.7722456151874884, \"R2\": 0.0314860408387392, \"Memory in Mb\": 3.89126205444336, \"Time in s\": 62.47501600000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6423591829059828, \"RMSE\": 1.752432393946061, \"R2\": 0.0487781645727875, \"Memory in Mb\": 3.987659454345703, \"Time in s\": 66.76475200000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6415445258333332, \"RMSE\": 1.7335108155585357, \"R2\": 0.0607905571401552, \"Memory in Mb\": 4.087154388427734, \"Time in s\": 71.11932700000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.641812437398374, \"RMSE\": 1.7198679523833968, \"R2\": 0.0653630129096917, \"Memory in Mb\": 4.179523468017578, \"Time in s\": 75.53533700000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6391550126984127, \"RMSE\": 1.7023246638821516, \"R2\": 0.0758317950759702, \"Memory in Mb\": 4.276576995849609, \"Time in s\": 80.015814 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6397551612403103, \"RMSE\": 1.6865214638981003, \"R2\": 0.0944734629735503, \"Memory in Mb\": 4.372867584228516, \"Time in s\": 84.56990800000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6401663234848486, \"RMSE\": 1.6719359262678322, \"R2\": 0.1144902218209267, \"Memory in Mb\": 4.465221405029297, \"Time in s\": 89.18993400000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6373928251851855, \"RMSE\": 1.6559913256631793, \"R2\": 0.1276383063389357, \"Memory in Mb\": 4.558887481689453, \"Time in s\": 93.877546 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6333341724637681, \"RMSE\": 1.6410816825275083, \"R2\": 0.1291995533352813, \"Memory in Mb\": 4.652858734130859, \"Time in s\": 98.626246 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.637460545390071, \"RMSE\": 1.630772212254164, \"R2\": 0.1328113217779126, \"Memory in Mb\": 4.746517181396484, \"Time in s\": 103.437785 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6446958777777775, \"RMSE\": 1.6213030711335543, \"R2\": 0.1338907909289651, \"Memory in Mb\": 4.844425201416016, \"Time in s\": 108.312072 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.643768610068027, \"RMSE\": 1.6085965270907718, \"R2\": 0.1308548353743899, \"Memory in Mb\": 4.935100555419922, \"Time in s\": 113.251739 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6420156240666665, \"RMSE\": 1.59493855356346, \"R2\": 0.1311681221050482, \"Memory in Mb\": 5.030651092529297, \"Time in s\": 118.255967 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"k-Nearest Neighbors\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6416785025641023, \"RMSE\": 1.5941707450098015, \"R2\": 0.1314249186277071, \"Memory in Mb\": 5.032634735107422, \"Time in s\": 123.301096 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.042756132756132, \"RMSE\": 17.336048579080593, \"R2\": -385.8634917094176, \"Memory in Mb\": 0.0162086486816406, \"Time in s\": 0.002632 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.456785613727984, \"RMSE\": 12.282422261556867, \"R2\": -158.770726389092, \"Memory in Mb\": 0.0177879333496093, \"Time in s\": 0.007319 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4353973358733074, \"RMSE\": 10.07037651743448, \"R2\": -69.4325218162971, \"Memory in Mb\": 0.0230522155761718, \"Time in s\": 0.013907 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.736909422894262, \"RMSE\": 8.732393473100391, \"R2\": -59.03623058514604, \"Memory in Mb\": 0.0241050720214843, \"Time in s\": 0.0217009999999999 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.788577579622257, \"RMSE\": 8.074088551816661, \"R2\": -11.726025456653014, \"Memory in Mb\": 0.0309486389160156, \"Time in s\": 0.0303349999999999 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.395880085598137, \"RMSE\": 7.878422021930021, \"R2\": -4.223121571879303, \"Memory in Mb\": 0.0404243469238281, \"Time in s\": 0.040093 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.889526501621088, \"RMSE\": 7.800910386370324, \"R2\": -2.432180745921895, \"Memory in Mb\": 0.0467414855957031, \"Time in s\": 0.0511699999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.072650698433535, \"RMSE\": 7.572197783925699, \"R2\": -1.9320509270116557, \"Memory in Mb\": 0.0525321960449218, \"Time in s\": 0.0635609999999999 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.410984939713907, \"RMSE\": 7.55185413515251, \"R2\": -1.439151418709002, \"Memory in Mb\": 0.0535850524902343, \"Time in s\": 0.0772419999999999 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.370948473977548, \"RMSE\": 7.327634340090197, \"R2\": -0.6036593212329582, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.0921019999999999 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.401973824893138, \"RMSE\": 7.197046558152955, \"R2\": -0.1914453698838978, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.1081669999999999 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.283071400630936, \"RMSE\": 6.979735895990854, \"R2\": 0.0841519683549982, \"Memory in Mb\": 0.0551643371582031, \"Time in s\": 0.1323959999999999 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.169649051526778, \"RMSE\": 6.77851615807502, \"R2\": 0.3003478880703081, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.1602449999999999 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.107721988217097, \"RMSE\": 6.620782354691122, \"R2\": 0.4327427443050297, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.1914819999999999 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.386134129138624, \"RMSE\": 6.8739888422895685, \"R2\": 0.5084535624523276, \"Memory in Mb\": 0.0556907653808593, \"Time in s\": 0.2319989999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.592324836010107, \"RMSE\": 7.0395287886899816, \"R2\": 0.5843455987500039, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.273788 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.658423416973056, \"RMSE\": 7.057579140031887, \"R2\": 0.6579286220132116, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.316974 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.6782517314261085, \"RMSE\": 7.042640058036562, \"R2\": 0.7290497323677609, \"Memory in Mb\": 0.0562171936035156, \"Time in s\": 0.361531 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.896652959256127, \"RMSE\": 7.410861778989444, \"R2\": 0.7526693351807108, \"Memory in Mb\": 0.0217466354370117, \"Time in s\": 0.409543 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.507880191409123, \"RMSE\": 8.546476599974424, \"R2\": 0.7120144996082314, \"Memory in Mb\": 0.0280637741088867, \"Time in s\": 0.458317 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.703958017872014, \"RMSE\": 8.760797449465004, \"R2\": 0.7411581545051223, \"Memory in Mb\": 0.0333280563354492, \"Time in s\": 0.507954 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.934527728379076, \"RMSE\": 9.145062262320872, \"R2\": 0.7730513990797492, \"Memory in Mb\": 0.0380659103393554, \"Time in s\": 0.576578 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.025889093973978, \"RMSE\": 9.259481324724224, \"R2\": 0.7979290061199974, \"Memory in Mb\": 0.0417509078979492, \"Time in s\": 0.647861 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.701040765258382, \"RMSE\": 10.569442782845146, \"R2\": 0.7594412957229723, \"Memory in Mb\": 0.0418310165405273, \"Time in s\": 0.7217790000000001 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.201977905163474, \"RMSE\": 11.695812678726384, \"R2\": 0.740801257827299, \"Memory in Mb\": 0.0418310165405273, \"Time in s\": 0.7983520000000001 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.47608974362833, \"RMSE\": 12.176082777300053, \"R2\": 0.7566872347890514, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 0.889757 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.495029117947843, \"RMSE\": 12.186858586615225, \"R2\": 0.7886035011133373, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 0.982264 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.05089484284177, \"RMSE\": 13.06419009031293, \"R2\": 0.7836428997387894, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.075782 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.171875092169309, \"RMSE\": 15.802620207207104, \"R2\": 0.7127274179827436, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.170327 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.626867556328977, \"RMSE\": 16.443718231711543, \"R2\": 0.7338058453397931, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.26591 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.854283538219804, \"RMSE\": 16.574189924013226, \"R2\": 0.7578382368534643, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.362543 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.034558550660114, \"RMSE\": 16.72149964752778, \"R2\": 0.7759339138910493, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.460131 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.942839439265006, \"RMSE\": 18.18973374364872, \"R2\": 0.7425340708967089, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.65219 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.480189522121243, \"RMSE\": 19.36955258798825, \"R2\": 0.7316181626186655, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 1.847066 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.884428250077962, \"RMSE\": 20.018801475409063, \"R2\": 0.7463650656532205, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 2.044712 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.037067702603975, \"RMSE\": 20.02507161492445, \"R2\": 0.7633646392298079, \"Memory in Mb\": 0.0423574447631835, \"Time in s\": 2.245044 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.938689395183468, \"RMSE\": 21.571547182252875, \"R2\": 0.7447563988620904, \"Memory in Mb\": 0.0393133163452148, \"Time in s\": 2.459951 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 13.737065020554605, \"RMSE\": 23.070023559587742, \"R2\": 0.7259561921053947, \"Memory in Mb\": 0.039839744567871, \"Time in s\": 2.675857 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.305628841534729, \"RMSE\": 24.020997573013894, \"R2\": 0.7359868139097058, \"Memory in Mb\": 0.0408926010131835, \"Time in s\": 2.892761 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.503019064271443, \"RMSE\": 24.118168317988548, \"R2\": 0.7526847575357923, \"Memory in Mb\": 0.0414190292358398, \"Time in s\": 3.110678 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 15.042001004765991, \"RMSE\": 24.757154413851225, \"R2\": 0.7504844548860922, \"Memory in Mb\": 0.0429983139038085, \"Time in s\": 3.329579 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.165694044127083, \"RMSE\": 26.934291479182736, \"R2\": 0.7226050873941003, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 3.549505 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.958578383564387, \"RMSE\": 28.26726815061745, \"R2\": 0.7302155620528221, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 3.77047 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.309589456804158, \"RMSE\": 28.5754148947933, \"R2\": 0.7394096166099926, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.010874 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.77955786237919, \"RMSE\": 29.119281838039548, \"R2\": 0.7454446166142166, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.254034 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 18.687135400012505, \"RMSE\": 30.600738447390604, \"R2\": 0.7270552375925041, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.499866 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 19.426270300418786, \"RMSE\": 31.61383923822668, \"R2\": 0.7250895764829616, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 4.748399 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.230319490239392, \"RMSE\": 32.829508990096734, \"R2\": 0.7334580691909136, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.00325 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.415951878027045, \"RMSE\": 32.83473210597698, \"R2\": 0.7443832332812113, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.259172 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 21.41946931942451, \"RMSE\": 34.477948502753435, \"R2\": 0.726844465494657, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.516121 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.135259536350134, \"RMSE\": 35.412182207518484, \"R2\": 0.7244424125617825, \"Memory in Mb\": 0.0435247421264648, \"Time in s\": 5.774111 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.998428764364284, \"RMSE\": 36.61317436816486, \"R2\": 0.7275265693889857, \"Memory in Mb\": 0.044051170349121, \"Time in s\": 6.033148000000001 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.16185046142029, \"RMSE\": 36.73359474841229, \"R2\": 0.7324023432169282, \"Memory in Mb\": 0.044051170349121, \"Time in s\": 6.293050000000001 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.834704431652337, \"RMSE\": 13.708514217962266, \"R2\": -439.7934984576362, \"Memory in Mb\": 0.0500869750976562, \"Time in s\": 0.001817 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.4692310697037447, \"RMSE\": 9.813795721313518, \"R2\": -37.72035957928713, \"Memory in Mb\": 0.0732498168945312, \"Time in s\": 0.005553 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.530247618203559, \"RMSE\": 8.024836796214231, \"R2\": -33.90460110966681, \"Memory in Mb\": 0.0858840942382812, \"Time in s\": 0.011369 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1398752670733447, \"RMSE\": 6.982837000856316, \"R2\": -25.510487239912003, \"Memory in Mb\": 0.09588623046875, \"Time in s\": 0.023421 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.2521629689485394, \"RMSE\": 6.362737158647257, \"R2\": -12.810573390910957, \"Memory in Mb\": 0.1053619384765625, \"Time in s\": 0.037893 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.275331183116589, \"RMSE\": 5.895687482983747, \"R2\": -9.059182991303912, \"Memory in Mb\": 0.1095733642578125, \"Time in s\": 0.054815 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.181766409647037, \"RMSE\": 5.493495699082884, \"R2\": -8.025069637302263, \"Memory in Mb\": 0.1116790771484375, \"Time in s\": 0.074219 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0635226048812747, \"RMSE\": 5.165876255053421, \"R2\": -6.037983110569301, \"Memory in Mb\": 0.1158905029296875, \"Time in s\": 0.098519 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9951428730766116, \"RMSE\": 4.906287161641783, \"R2\": -4.575559841528811, \"Memory in Mb\": 0.1179962158203125, \"Time in s\": 0.130188 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8700446037321656, \"RMSE\": 4.662539866408188, \"R2\": -4.050299616280768, \"Memory in Mb\": 0.015085220336914, \"Time in s\": 0.169487 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7830718267282506, \"RMSE\": 4.458344141345012, \"R2\": -3.981078161152351, \"Memory in Mb\": 0.0312490463256835, \"Time in s\": 0.210179 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.714887283408722, \"RMSE\": 4.280191261764102, \"R2\": -3.625492757292576, \"Memory in Mb\": 0.0370397567749023, \"Time in s\": 0.273546 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.626899515259654, \"RMSE\": 4.116599014627653, \"R2\": -3.336325373761703, \"Memory in Mb\": 0.044569969177246, \"Time in s\": 0.338443 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6037708656255951, \"RMSE\": 3.992199218884993, \"R2\": -3.269831686495559, \"Memory in Mb\": 0.0575590133666992, \"Time in s\": 0.405125 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5808413297038584, \"RMSE\": 3.882244388071726, \"R2\": -2.971019208275212, \"Memory in Mb\": 0.0675611495971679, \"Time in s\": 0.4768960000000001 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5112246352788372, \"RMSE\": 3.7620340381312185, \"R2\": -2.9135432145577016, \"Memory in Mb\": 0.0754575729370117, \"Time in s\": 0.5560110000000001 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.464954049061847, \"RMSE\": 3.6574443601858126, \"R2\": -2.908900292165721, \"Memory in Mb\": 0.0807218551635742, \"Time in s\": 0.6372390000000001 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4845626481571883, \"RMSE\": 3.5832345434246853, \"R2\": -2.782695640732784, \"Memory in Mb\": 0.0886182785034179, \"Time in s\": 0.7206760000000001 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.451940332797817, \"RMSE\": 3.496542725118452, \"R2\": -2.72647470962537, \"Memory in Mb\": 0.0938825607299804, \"Time in s\": 0.8063740000000001 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4093274160891025, \"RMSE\": 3.4133346926199284, \"R2\": -2.65159153540002, \"Memory in Mb\": 0.1012525558471679, \"Time in s\": 0.8943350000000001 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3677964737960675, \"RMSE\": 3.3343173536823296, \"R2\": -2.5997996751089016, \"Memory in Mb\": 0.1054639816284179, \"Time in s\": 1.079576 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.335717224673182, \"RMSE\": 3.2621145597551164, \"R2\": -2.3832380441779537, \"Memory in Mb\": 0.1112546920776367, \"Time in s\": 1.2716070000000002 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3223220949397412, \"RMSE\": 3.20054856097613, \"R2\": -2.088360697350681, \"Memory in Mb\": 0.1196775436401367, \"Time in s\": 1.466366 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2961820395725512, \"RMSE\": 3.1370925842333546, \"R2\": -1.8988499404168715, \"Memory in Mb\": 0.1275739669799804, \"Time in s\": 1.663894 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2652762767168435, \"RMSE\": 3.076750388249757, \"R2\": -1.7299037995212605, \"Memory in Mb\": 0.1323118209838867, \"Time in s\": 1.864298 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2471740635308572, \"RMSE\": 3.022290137612829, \"R2\": -1.6387160551274738, \"Memory in Mb\": 0.1375761032104492, \"Time in s\": 2.070902 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.222508472081129, \"RMSE\": 2.968388528244746, \"R2\": -1.5361060189709668, \"Memory in Mb\": 0.1396818161010742, \"Time in s\": 2.286544 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2073384071706728, \"RMSE\": 2.920065266046622, \"R2\": -1.5126838513129577, \"Memory in Mb\": 0.1444196701049804, \"Time in s\": 2.5053300000000003 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1845779132924192, \"RMSE\": 2.8723790540044147, \"R2\": -1.4914188956527816, \"Memory in Mb\": 0.1470518112182617, \"Time in s\": 2.7271330000000003 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1745692976588702, \"RMSE\": 2.8296294830278077, \"R2\": -1.3910651808347, \"Memory in Mb\": 0.1414899826049804, \"Time in s\": 2.96944 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1708259630571385, \"RMSE\": 2.7920061348512903, \"R2\": -1.2924200227078335, \"Memory in Mb\": 0.1441221237182617, \"Time in s\": 3.214893 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1599967464968943, \"RMSE\": 2.7528504813508814, \"R2\": -1.186915838733254, \"Memory in Mb\": 0.1462278366088867, \"Time in s\": 3.481443 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1455993461288598, \"RMSE\": 2.715465758170179, \"R2\": -1.112620243595547, \"Memory in Mb\": 0.0933332443237304, \"Time in s\": 3.768351 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1331386715536065, \"RMSE\": 2.679518493749607, \"R2\": -1.0895638535289454, \"Memory in Mb\": 0.1028089523315429, \"Time in s\": 4.057625 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1287919059851137, \"RMSE\": 2.648832972736431, \"R2\": -1.0956110522943685, \"Memory in Mb\": 0.1107053756713867, \"Time in s\": 4.349483 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1090542602054634, \"RMSE\": 2.6130484736329, \"R2\": -1.0841769561048746, \"Memory in Mb\": 0.1170225143432617, \"Time in s\": 4.655905000000001 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0919225542546631, \"RMSE\": 2.579731998640208, \"R2\": -1.0301471378292058, \"Memory in Mb\": 0.1207075119018554, \"Time in s\": 4.969391000000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0729346607841277, \"RMSE\": 2.546521266569091, \"R2\": -0.9996439724530696, \"Memory in Mb\": 0.1238660812377929, \"Time in s\": 5.409378000000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0548522699101792, \"RMSE\": 2.514796200212546, \"R2\": -0.958866579835745, \"Memory in Mb\": 0.1301832199096679, \"Time in s\": 5.856313000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0458975693179249, \"RMSE\": 2.486381451783576, \"R2\": -0.9321678603320388, \"Memory in Mb\": 0.1405134201049804, \"Time in s\": 6.306401000000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.042667475968943, \"RMSE\": 2.463395040447954, \"R2\": -0.9174360179218256, \"Memory in Mb\": 0.1468305587768554, \"Time in s\": 6.759550000000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0338402028724885, \"RMSE\": 2.4371652901742165, \"R2\": -0.8942452584110789, \"Memory in Mb\": 0.1505155563354492, \"Time in s\": 7.215791000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0182769822752689, \"RMSE\": 2.409744604248102, \"R2\": -0.8486703239118398, \"Memory in Mb\": 0.1520948410034179, \"Time in s\": 7.680462000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.007294910176456, \"RMSE\": 2.3841216724611445, \"R2\": -0.8005738256179296, \"Memory in Mb\": 0.1552534103393554, \"Time in s\": 8.149683000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9984699415812968, \"RMSE\": 2.359722022526475, \"R2\": -0.7713409518355698, \"Memory in Mb\": 0.1573591232299804, \"Time in s\": 8.622145000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9848390746890626, \"RMSE\": 2.334975438117308, \"R2\": -0.7628805257854674, \"Memory in Mb\": 0.1254529953002929, \"Time in s\": 9.108636 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9804934467335736, \"RMSE\": 2.3136297350671566, \"R2\": -0.7454793227879806, \"Memory in Mb\": 0.1344251632690429, \"Time in s\": 9.599086 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9715993160407668, \"RMSE\": 2.291923159938466, \"R2\": -0.7307898991199615, \"Memory in Mb\": 0.1402158737182617, \"Time in s\": 10.092417 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.96479276321034, \"RMSE\": 2.271398262551761, \"R2\": -0.7329444574748756, \"Memory in Mb\": 0.1444272994995117, \"Time in s\": 10.588738 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.956776427041678, \"RMSE\": 2.250974677037298, \"R2\": -0.7305695321170174, \"Memory in Mb\": 0.1486387252807617, \"Time in s\": 11.174487 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Hoeffding Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9561028857812052, \"RMSE\": 2.249867758958838, \"R2\": -0.7300222157865335, \"Memory in Mb\": 0.1486387252807617, \"Time in s\": 11.765558 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 8.051220648038832, \"RMSE\": 17.336198122120386, \"R2\": -385.8701660091343, \"Memory in Mb\": 0.0229225158691406, \"Time in s\": 0.002862 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.498502947359929, \"RMSE\": 12.28528637536428, \"R2\": -158.84524831763767, \"Memory in Mb\": 0.0245628356933593, \"Time in s\": 0.008031 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4668695042339137, \"RMSE\": 10.074636808082968, \"R2\": -69.49212762837747, \"Memory in Mb\": 0.0298271179199218, \"Time in s\": 0.0152 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7637805804889557, \"RMSE\": 8.735764655686483, \"R2\": -59.08259408516962, \"Memory in Mb\": 0.0309410095214843, \"Time in s\": 0.027573 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 2.814517498310432, \"RMSE\": 8.074396776941786, \"R2\": -11.726997097138026, \"Memory in Mb\": 0.0377845764160156, \"Time in s\": 0.040817 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.396900059747575, \"RMSE\": 7.862006773633152, \"R2\": -4.201378762014764, \"Memory in Mb\": 0.0472602844238281, \"Time in s\": 0.055065 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 3.8844336568547537, \"RMSE\": 7.782255505653143, \"R2\": -2.415785129732385, \"Memory in Mb\": 0.0536384582519531, \"Time in s\": 0.070503 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.068768385552718, \"RMSE\": 7.555909217267645, \"R2\": -1.9194502155140076, \"Memory in Mb\": 0.0594291687011718, \"Time in s\": 0.087235 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.319029347030655, \"RMSE\": 7.489629607912237, \"R2\": -1.3991215781815165, \"Memory in Mb\": 0.0604820251464843, \"Time in s\": 0.105314 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.231978704025333, \"RMSE\": 7.230698639905546, \"R2\": -0.5615110336669555, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.124657 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.279767976439616, \"RMSE\": 7.114292598648662, \"R2\": -0.1642036472993016, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.145348 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.161677712403324, \"RMSE\": 6.8979209349412445, \"R2\": 0.1054968774084013, \"Memory in Mb\": 0.0620613098144531, \"Time in s\": 0.183683 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.036201943040193, \"RMSE\": 6.686446116179646, \"R2\": 0.3192250351622916, \"Memory in Mb\": 0.0241641998291015, \"Time in s\": 0.233347 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.002163310161137, \"RMSE\": 6.555243218534794, \"R2\": 0.4439177197734564, \"Memory in Mb\": 0.034926414489746, \"Time in s\": 0.283952 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.269310553181931, \"RMSE\": 6.794169336453219, \"R2\": 0.5198027804498322, \"Memory in Mb\": 0.041365623474121, \"Time in s\": 0.335528 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.394431170074558, \"RMSE\": 6.916563516446891, \"R2\": 0.5987399306940604, \"Memory in Mb\": 0.0471563339233398, \"Time in s\": 0.38817 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.429782113532627, \"RMSE\": 6.896434310822903, \"R2\": 0.6733712331422652, \"Memory in Mb\": 0.052016258239746, \"Time in s\": 0.441959 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.448580123995543, \"RMSE\": 6.86078369215091, \"R2\": 0.7428621234581485, \"Memory in Mb\": 0.0546483993530273, \"Time in s\": 0.496925 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 4.634718338792146, \"RMSE\": 7.17917659207716, \"R2\": 0.7678921596594357, \"Memory in Mb\": 0.0546483993530273, \"Time in s\": 0.5531490000000001 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.229854791420841, \"RMSE\": 8.435313620968111, \"R2\": 0.7194573631198581, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.6106500000000001 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.400637324787383, \"RMSE\": 8.615072190659467, \"R2\": 0.7496975788166091, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.6850710000000001 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.622607300541604, \"RMSE\": 8.982158345389516, \"R2\": 0.781064800957145, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.7630730000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 5.728895576419993, \"RMSE\": 9.10264619767678, \"R2\": 0.8047163053551843, \"Memory in Mb\": 0.0552968978881835, \"Time in s\": 0.8439190000000001 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.468790531655633, \"RMSE\": 10.532848432020362, \"R2\": 0.7611041743489119, \"Memory in Mb\": 0.0553770065307617, \"Time in s\": 0.926058 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 6.961259791220884, \"RMSE\": 11.725202267966395, \"R2\": 0.7394969764024641, \"Memory in Mb\": 0.0553770065307617, \"Time in s\": 1.009526 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.243017687832032, \"RMSE\": 12.175095097400796, \"R2\": 0.7567267064951951, \"Memory in Mb\": 0.0539121627807617, \"Time in s\": 1.109836 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.333189926829036, \"RMSE\": 12.221129948725446, \"R2\": 0.7874128689691341, \"Memory in Mb\": 0.0544385910034179, \"Time in s\": 1.300493 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 7.907494608974745, \"RMSE\": 13.13418786953933, \"R2\": 0.7813182108747583, \"Memory in Mb\": 0.0545606613159179, \"Time in s\": 1.494565 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.086203691627809, \"RMSE\": 16.084282058543664, \"R2\": 0.7023956098414756, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 1.6919570000000002 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.398286710797228, \"RMSE\": 16.38837159928856, \"R2\": 0.7355947540985646, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 1.900794 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.688169379844998, \"RMSE\": 16.65705092991554, \"R2\": 0.7554108572015372, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.110987 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 9.856066264187849, \"RMSE\": 16.815734957180027, \"R2\": 0.7734013139584004, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.322457 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 10.788654210226415, \"RMSE\": 18.368645129880047, \"R2\": 0.7374443731514406, \"Memory in Mb\": 0.0561399459838867, \"Time in s\": 2.535213 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.535989444086796, \"RMSE\": 20.177763325541772, \"R2\": 0.7087539856658172, \"Memory in Mb\": 0.0658864974975586, \"Time in s\": 2.749718 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.949331836981814, \"RMSE\": 20.800028245688587, \"R2\": 0.7261827687212361, \"Memory in Mb\": 0.0713338851928711, \"Time in s\": 2.965855 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 11.958714190964644, \"RMSE\": 20.66064387908481, \"R2\": 0.748105206776327, \"Memory in Mb\": 0.0781774520874023, \"Time in s\": 3.183657 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 12.807531574997112, \"RMSE\": 22.01468171576837, \"R2\": 0.7341619793955468, \"Memory in Mb\": 0.0825719833374023, \"Time in s\": 3.418965 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 13.71794187476778, \"RMSE\": 23.73901232910809, \"R2\": 0.7098322050491193, \"Memory in Mb\": 0.0846776962280273, \"Time in s\": 3.659139 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.269314924317156, \"RMSE\": 24.65274813293709, \"R2\": 0.7219171428567855, \"Memory in Mb\": 0.0656805038452148, \"Time in s\": 3.912261 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 14.511771919641935, \"RMSE\": 24.834167752766053, \"R2\": 0.7377826277560943, \"Memory in Mb\": 0.0706624984741211, \"Time in s\": 4.16702 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 15.00667707818897, \"RMSE\": 25.401748915029017, \"R2\": 0.7373221851710817, \"Memory in Mb\": 0.0787420272827148, \"Time in s\": 4.423509 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.106263610815663, \"RMSE\": 27.4394567629727, \"R2\": 0.7121021651653525, \"Memory in Mb\": 0.0857076644897461, \"Time in s\": 4.681795 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 16.950411373417108, \"RMSE\": 28.951900473786843, \"R2\": 0.7169889638801871, \"Memory in Mb\": 0.0888662338256836, \"Time in s\": 4.941903 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.321905164714362, \"RMSE\": 29.29627092175635, \"R2\": 0.7260962478080234, \"Memory in Mb\": 0.0889272689819336, \"Time in s\": 5.203768 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 17.829552469069228, \"RMSE\": 29.855361574147427, \"R2\": 0.732412614196017, \"Memory in Mb\": 0.0889272689819336, \"Time in s\": 5.467412 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 18.715769054600838, \"RMSE\": 31.21095148117224, \"R2\": 0.7160610523989874, \"Memory in Mb\": 0.0895147323608398, \"Time in s\": 5.743327000000001 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 19.54236471467993, \"RMSE\": 32.39367117342827, \"R2\": 0.7113596352744775, \"Memory in Mb\": 0.0743856430053711, \"Time in s\": 6.026441000000001 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.379374275832948, \"RMSE\": 33.670378810622296, \"R2\": 0.7196292071862618, \"Memory in Mb\": 0.0787191390991211, \"Time in s\": 6.311317000000001 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 20.522458105265056, \"RMSE\": 33.639909372937744, \"R2\": 0.7316929916628531, \"Memory in Mb\": 0.0872030258178711, \"Time in s\": 6.597982000000001 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 21.5114661084191, \"RMSE\": 35.24478084224406, \"R2\": 0.714558707096332, \"Memory in Mb\": 0.0935201644897461, \"Time in s\": 6.886526000000001 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 22.293418976341684, \"RMSE\": 36.29050935662323, \"R2\": 0.7106036021726428, \"Memory in Mb\": 0.0934362411499023, \"Time in s\": 7.177067000000001 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.158877831353536, \"RMSE\": 37.47206255417766, \"R2\": 0.7145930209145848, \"Memory in Mb\": 0.0946111679077148, \"Time in s\": 7.581349000000001 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 23.37390218951093, \"RMSE\": 37.6579284312523, \"R2\": 0.7187656938003131, \"Memory in Mb\": 0.0947332382202148, \"Time in s\": 7.990285000000001 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.828377634536296, \"RMSE\": 13.70786256219322, \"R2\": -439.7515918302183, \"Memory in Mb\": 0.0568618774414062, \"Time in s\": 0.005477 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.453811275213839, \"RMSE\": 9.811073218407971, \"R2\": -37.69887927291551, \"Memory in Mb\": 0.0800857543945312, \"Time in s\": 0.014203 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5116544078850294, \"RMSE\": 8.021960641037959, \"R2\": -33.879585508404254, \"Memory in Mb\": 0.0927200317382812, \"Time in s\": 0.025216 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1224425015381523, \"RMSE\": 6.9797990571526345, \"R2\": -25.487425023640156, \"Memory in Mb\": 0.102783203125, \"Time in s\": 0.038581 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.246653919301699, \"RMSE\": 6.363694444016854, \"R2\": -12.814729355257526, \"Memory in Mb\": 0.1122589111328125, \"Time in s\": 0.054574 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.270681160376927, \"RMSE\": 5.896666779393501, \"R2\": -9.06252500695684, \"Memory in Mb\": 0.1164703369140625, \"Time in s\": 0.096737 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.162967815650222, \"RMSE\": 5.491011289549727, \"R2\": -8.016908386196121, \"Memory in Mb\": 0.1185760498046875, \"Time in s\": 0.145193 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9648637778298337, \"RMSE\": 5.147547754256808, \"R2\": -5.988130255135697, \"Memory in Mb\": 0.048110008239746, \"Time in s\": 0.201618 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.86652787828915, \"RMSE\": 4.875884330950751, \"R2\": -4.506673701927233, \"Memory in Mb\": 0.0645513534545898, \"Time in s\": 0.259848 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.773434994745299, \"RMSE\": 4.638841370319518, \"R2\": -3.999091327975425, \"Memory in Mb\": 0.0751142501831054, \"Time in s\": 0.334681 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6594682627798778, \"RMSE\": 4.42936028038101, \"R2\": -3.916524330360767, \"Memory in Mb\": 0.0809926986694336, \"Time in s\": 0.415547 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5811297097344512, \"RMSE\": 4.24689633509078, \"R2\": -3.553810703437006, \"Memory in Mb\": 0.0831594467163086, \"Time in s\": 0.499019 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4918706813368772, \"RMSE\": 4.083314206963185, \"R2\": -3.2664860479391056, \"Memory in Mb\": 0.0869779586791992, \"Time in s\": 0.584777 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4582505621214346, \"RMSE\": 3.950619643811522, \"R2\": -3.181352514384196, \"Memory in Mb\": 0.0965147018432617, \"Time in s\": 0.672987 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4293807431017047, \"RMSE\": 3.836527362327468, \"R2\": -2.8780450161882043, \"Memory in Mb\": 0.1050596237182617, \"Time in s\": 0.763791 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3766835460490845, \"RMSE\": 3.718390713103106, \"R2\": -2.8232679475596494, \"Memory in Mb\": 0.1113767623901367, \"Time in s\": 0.862886 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3285707966483495, \"RMSE\": 3.611463128557805, \"R2\": -2.8112330604866624, \"Memory in Mb\": 0.0969266891479492, \"Time in s\": 1.077289 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3305028688272291, \"RMSE\": 3.538102571280229, \"R2\": -2.688007239623816, \"Memory in Mb\": 0.1048231124877929, \"Time in s\": 1.294249 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3086678355415842, \"RMSE\": 3.4529556765760527, \"R2\": -2.6341471363086995, \"Memory in Mb\": 0.1101484298706054, \"Time in s\": 1.513868 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.256053624567095, \"RMSE\": 3.3666460142322228, \"R2\": -2.552379472359031, \"Memory in Mb\": 0.1175184249877929, \"Time in s\": 1.736306 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2254239545780012, \"RMSE\": 3.2887455105144454, \"R2\": -2.5020714662192383, \"Memory in Mb\": 0.1217298507690429, \"Time in s\": 1.978865 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.204020924712129, \"RMSE\": 3.2198773978896, \"R2\": -2.2961943419959137, \"Memory in Mb\": 0.1275205612182617, \"Time in s\": 2.244474 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1975328241312166, \"RMSE\": 3.1601130927415366, \"R2\": -2.010817456858815, \"Memory in Mb\": 0.1354780197143554, \"Time in s\": 2.513147 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.186148143661266, \"RMSE\": 3.1001176815841758, \"R2\": -1.8309188655239268, \"Memory in Mb\": 0.1433744430541992, \"Time in s\": 2.784897 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1667856894749518, \"RMSE\": 3.042966728214852, \"R2\": -1.6702825792738007, \"Memory in Mb\": 0.1362333297729492, \"Time in s\": 3.07197 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.153194144927427, \"RMSE\": 2.98944402729251, \"R2\": -1.5816728306403074, \"Memory in Mb\": 0.1415586471557617, \"Time in s\": 3.362254 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1356058423088553, \"RMSE\": 2.937036564746637, \"R2\": -1.4828164968540292, \"Memory in Mb\": 0.1436643600463867, \"Time in s\": 3.655648 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.125648357086568, \"RMSE\": 2.890393580385493, \"R2\": -1.4618789770567937, \"Memory in Mb\": 0.1484022140502929, \"Time in s\": 3.952243 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1072323197222282, \"RMSE\": 2.84377722554966, \"R2\": -1.4420491211959612, \"Memory in Mb\": 0.1510343551635742, \"Time in s\": 4.252035 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0962221602561253, \"RMSE\": 2.8010574809052518, \"R2\": -1.343021715112041, \"Memory in Mb\": 0.1547193527221679, \"Time in s\": 4.557891000000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.095549207215165, \"RMSE\": 2.765029222449673, \"R2\": -1.2483344123018605, \"Memory in Mb\": 0.1578779220581054, \"Time in s\": 4.883158000000001 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.085957414095071, \"RMSE\": 2.726589883354214, \"R2\": -1.1453910301968575, \"Memory in Mb\": 0.1599836349487304, \"Time in s\": 5.354946000000001 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0751762466913892, \"RMSE\": 2.6908702968299423, \"R2\": -1.074523242859362, \"Memory in Mb\": 0.1636686325073242, \"Time in s\": 5.834119000000001 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0667684392102676, \"RMSE\": 2.656475453821568, \"R2\": -1.0537791659469915, \"Memory in Mb\": 0.1663007736206054, \"Time in s\": 6.316591000000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.066718890752265, \"RMSE\": 2.6278494556992995, \"R2\": -1.0625405514881172, \"Memory in Mb\": 0.1547193527221679, \"Time in s\": 6.8062700000000005 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0487756272096451, \"RMSE\": 2.5923957614441, \"R2\": -1.0513617944147002, \"Memory in Mb\": 0.1594572067260742, \"Time in s\": 7.299083 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0336933816342644, \"RMSE\": 2.5596915816453274, \"R2\": -0.9987276211091368, \"Memory in Mb\": 0.1632032394409179, \"Time in s\": 7.795134000000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0143808347523189, \"RMSE\": 2.5263993770636084, \"R2\": -0.968167584311768, \"Memory in Mb\": 0.1647825241088867, \"Time in s\": 8.298925 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0004245938094416, \"RMSE\": 2.495691505058861, \"R2\": -0.9292169429583496, \"Memory in Mb\": 0.1695814132690429, \"Time in s\": 8.809149000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9976736219043986, \"RMSE\": 2.469777786083391, \"R2\": -0.9064485942635294, \"Memory in Mb\": 0.1616849899291992, \"Time in s\": 9.32665 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0020392091388557, \"RMSE\": 2.450590646975973, \"R2\": -0.8975546778436754, \"Memory in Mb\": 0.1643171310424804, \"Time in s\": 9.853038000000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9936292081382508, \"RMSE\": 2.424886643827349, \"R2\": -0.8752066007627983, \"Memory in Mb\": 0.1680021286010742, \"Time in s\": 10.484318000000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9794930742877992, \"RMSE\": 2.3980423354299125, \"R2\": -0.8307587924463844, \"Memory in Mb\": 0.1701078414916992, \"Time in s\": 11.125036 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9694853941742788, \"RMSE\": 2.372794343098121, \"R2\": -0.7835048635250907, \"Memory in Mb\": 0.1727399826049804, \"Time in s\": 11.769143 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9594920424525858, \"RMSE\": 2.348266033222206, \"R2\": -0.7541836724323567, \"Memory in Mb\": 0.1115369796752929, \"Time in s\": 12.432199 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9482726802907966, \"RMSE\": 2.324135545417226, \"R2\": -0.7465505219679065, \"Memory in Mb\": 0.1163969039916992, \"Time in s\": 13.10541 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9455376055826032, \"RMSE\": 2.30345366329758, \"R2\": -0.7301587545146957, \"Memory in Mb\": 0.1223096847534179, \"Time in s\": 13.781537 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9379298129457146, \"RMSE\": 2.282181144273129, \"R2\": -0.7161074287562055, \"Memory in Mb\": 0.1296796798706054, \"Time in s\": 14.460614 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.930996996530802, \"RMSE\": 2.261860474984104, \"R2\": -0.7184214614837348, \"Memory in Mb\": 0.1349439620971679, \"Time in s\": 15.148323 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9214575102921838, \"RMSE\": 2.2404008018877137, \"R2\": -0.714349138962711, \"Memory in Mb\": 0.1382246017456054, \"Time in s\": 15.950631 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Hoeffding Adaptive Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9213134079227226, \"RMSE\": 2.239416179559339, \"R2\": -0.7139861919037982, \"Memory in Mb\": 0.1382246017456054, \"Time in s\": 16.757639 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0096149444580078, \"Time in s\": 0.001328 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0126094818115234, \"Time in s\": 0.003944 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.015787124633789, \"Time in s\": 0.007623 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.0188732147216796, \"Time in s\": 0.012489 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.0218257904052734, \"Time in s\": 0.019505 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.0246181488037109, \"Time in s\": 0.027128 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 43.50649350649351, \"RMSE\": 43.70978671356627, \"R2\": -106.75487995129542, \"Memory in Mb\": 0.0275020599365234, \"Time in s\": 0.035372 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 44.21590909090909, \"RMSE\": 44.43649707984724, \"R2\": -99.97346126163, \"Memory in Mb\": 0.0300197601318359, \"Time in s\": 0.047911 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 45.05050505050505, \"RMSE\": 45.309262771858165, \"R2\": -86.8022342468144, \"Memory in Mb\": 0.0329036712646484, \"Time in s\": 0.072727 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 46.16363636363636, \"RMSE\": 46.52487115902242, \"R2\": -63.64797006437341, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.103163 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 47.21487603305785, \"RMSE\": 47.67304278378361, \"R2\": -51.27707184490422, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.146595 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 48.29545454545455, \"RMSE\": 48.843054157105485, \"R2\": -43.84882422437649, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.196283 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 49.44055944055945, \"RMSE\": 50.100318941519305, \"R2\": -37.220279564063546, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.258522 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 50.532467532467535, \"RMSE\": 51.29137544271156, \"R2\": -33.04474826644667, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.329566 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.690909090909095, \"RMSE\": 52.61253451297311, \"R2\": -27.795548438273773, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.40393 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.00568181818182, \"RMSE\": 54.11860921749895, \"R2\": -23.566226925646237, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.481694 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 54.41176470588235, \"RMSE\": 55.733754017636336, \"R2\": -20.33250305682894, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.681251 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.02525252525252, \"RMSE\": 57.635786091488654, \"R2\": -17.146924852486976, \"Memory in Mb\": 0.2696781158447265, \"Time in s\": 0.884966 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 55.16354936929098, \"RMSE\": 57.0482200725598, \"R2\": -13.656313160472004, \"Memory in Mb\": 0.6838865280151367, \"Time in s\": 1.131695 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.62203856749311, \"RMSE\": 56.03531795068661, \"R2\": -11.37998411824978, \"Memory in Mb\": 0.6869077682495117, \"Time in s\": 1.3969520000000002 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.77279286370195, \"RMSE\": 55.29408706815337, \"R2\": -9.311090357596036, \"Memory in Mb\": 0.6899290084838867, \"Time in s\": 1.6754760000000002 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.49661908339594, \"RMSE\": 55.0071045368674, \"R2\": -7.210918602421254, \"Memory in Mb\": 0.6929502487182617, \"Time in s\": 1.960024 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.25631812193077, \"RMSE\": 54.71344660515688, \"R2\": -6.055353919833875, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.270278 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.62511478420569, \"RMSE\": 54.312843786153664, \"R2\": -5.352168023774992, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.586688 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.4425344352617, \"RMSE\": 54.29364548356293, \"R2\": -4.585603291722447, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 2.915419 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 51.75651621106165, \"RMSE\": 54.635705044608144, \"R2\": -3.8989478253777694, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.266148 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.373839404142416, \"RMSE\": 55.25476711535166, \"R2\": -3.3456400671942, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.622985 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.87239275875638, \"RMSE\": 55.86677247417265, \"R2\": -2.9565197175813718, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 3.98691 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 52.69554478958866, \"RMSE\": 56.2770501442128, \"R2\": -2.6433309475704183, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 4.356941 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 53.85316804407712, \"RMSE\": 57.75044402630399, \"R2\": -2.2832890424968197, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 4.733992 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 54.90678041411178, \"RMSE\": 59.01114057562677, \"R2\": -2.0697921090482247, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 5.128946 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.00533746556472, \"RMSE\": 60.30224520856101, \"R2\": -1.9140207825503284, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 5.54848 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 55.99599298772852, \"RMSE\": 60.54917173074773, \"R2\": -1.852879941931207, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 6.172488 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 56.87222492302705, \"RMSE\": 61.81275171085535, \"R2\": -1.7331917323651345, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 6.808446 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 58.41786698150333, \"RMSE\": 63.95254893573906, \"R2\": -1.588502821427925, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 7.450193 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 59.7033976124885, \"RMSE\": 65.46926983257002, \"R2\": -1.5293357430909813, \"Memory in Mb\": 0.6947126388549805, \"Time in s\": 8.100657 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.057805647389294, \"RMSE\": 66.17359973042984, \"R2\": -1.4019380007417157, \"Memory in Mb\": 1.1097631454467771, \"Time in s\": 8.796904 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 59.7070864579051, \"RMSE\": 66.11592086962122, \"R2\": -1.2507954049688483, \"Memory in Mb\": 1.1127843856811523, \"Time in s\": 9.50192 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.122823673891816, \"RMSE\": 66.73609937588846, \"R2\": -1.0378169857688957, \"Memory in Mb\": 1.1158056259155271, \"Time in s\": 10.222461 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.39504675635191, \"RMSE\": 66.96100690444877, \"R2\": -0.906365593827489, \"Memory in Mb\": 1.1188268661499023, \"Time in s\": 10.951743 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.27126048587789, \"RMSE\": 66.93502892662679, \"R2\": -0.8239085862185902, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 11.696828 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 60.340686610373176, \"RMSE\": 67.43825007380137, \"R2\": -0.7390015352251049, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 12.465469 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 61.40703262301831, \"RMSE\": 69.11306667757516, \"R2\": -0.6127592621572406, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 13.248766 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 61.95796621360106, \"RMSE\": 69.71422620021941, \"R2\": -0.5510154280248158, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 14.047315 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 62.59018166487368, \"RMSE\": 70.55352405729404, \"R2\": -0.4943708535906215, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 14.854826 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 62.49664579133251, \"RMSE\": 70.88193125644693, \"R2\": -0.4644752452013045, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 15.674675 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 63.25224079915844, \"RMSE\": 71.92080214464903, \"R2\": -0.4228062717918979, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 16.51129 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 64.80783657170488, \"RMSE\": 74.3681944005728, \"R2\": -0.367764222300833, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 17.364023 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 65.59959781369417, \"RMSE\": 75.30113885843834, \"R2\": -0.3443906138479853, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 18.342072 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 65.79684627343133, \"RMSE\": 76.01328745307667, \"R2\": -0.3277190973108916, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 19.334776 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 66.6512855136148, \"RMSE\": 77.20436469287773, \"R2\": -0.3097569166669509, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 20.336346 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 68.11975592628174, \"RMSE\": 79.56492566870935, \"R2\": -0.2867456678376987, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 21.353617 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"ChickWeights\", \"MAE\": 68.75877313437184, \"RMSE\": 80.35800679505147, \"R2\": -0.2806007657015741, \"Memory in Mb\": 1.120589256286621, \"Time in s\": 22.38029 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 43.8732195, \"RMSE\": 43.87807788634269, \"R2\": -4514.954899312423, \"Memory in Mb\": 0.0199413299560546, \"Time in s\": 0.002168 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.4932955, \"RMSE\": 42.52255283421693, \"R2\": -725.9491167623446, \"Memory in Mb\": 0.0317363739013671, \"Time in s\": 0.006794 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.2167785, \"RMSE\": 42.2386240157387, \"R2\": -966.0073736019044, \"Memory in Mb\": 0.0438976287841796, \"Time in s\": 0.018434 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.975705625, \"RMSE\": 41.99760868559829, \"R2\": -957.9655948743646, \"Memory in Mb\": 0.0562419891357421, \"Time in s\": 0.031286 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.37550450000001, \"RMSE\": 41.410913785433536, \"R2\": -583.9966399141301, \"Memory in Mb\": 0.5381031036376953, \"Time in s\": 0.048039 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.936110000000006, \"RMSE\": 40.97829382197767, \"R2\": -484.9611418859003, \"Memory in Mb\": 0.5386066436767578, \"Time in s\": 0.080711 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.6885472857143, \"RMSE\": 40.72961738075088, \"R2\": -495.1050461477588, \"Memory in Mb\": 0.5391101837158203, \"Time in s\": 0.166791 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.35105437500001, \"RMSE\": 40.39801158334292, \"R2\": -429.4078677932073, \"Memory in Mb\": 0.5393619537353516, \"Time in s\": 0.262676 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00981655555555, \"RMSE\": 40.06373388340122, \"R2\": -370.7794659133543, \"Memory in Mb\": 0.5396137237548828, \"Time in s\": 0.43318 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80633095, \"RMSE\": 39.860362966711, \"R2\": -368.1089073295326, \"Memory in Mb\": 0.5077581405639648, \"Time in s\": 0.638958 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 36.497516001377406, \"RMSE\": 38.01945344470104, \"R2\": -361.2329206514933, \"Memory in Mb\": 1.3602590560913086, \"Time in s\": 0.913553 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 33.64243104419191, \"RMSE\": 36.40668421494773, \"R2\": -333.65237138497804, \"Memory in Mb\": 1.360762596130371, \"Time in s\": 1.221179 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 31.222114965034955, \"RMSE\": 34.98371838354962, \"R2\": -312.16748668977897, \"Memory in Mb\": 1.3610143661499023, \"Time in s\": 1.570709 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 29.18205946861472, \"RMSE\": 33.71869814960704, \"R2\": -303.5986275675674, \"Memory in Mb\": 1.361769676208496, \"Time in s\": 1.939253 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 27.34275770505051, \"RMSE\": 32.57805191350732, \"R2\": -278.63174197976707, \"Memory in Mb\": 1.3620214462280271, \"Time in s\": 2.324555 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 25.81388747443183, \"RMSE\": 31.5521424826706, \"R2\": -274.2849072221064, \"Memory in Mb\": 1.3630285263061523, \"Time in s\": 2.877117 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 24.51835124153299, \"RMSE\": 30.62414457186519, \"R2\": -273.0482727941538, \"Memory in Mb\": 1.3640356063842771, \"Time in s\": 3.447 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 23.451930423400693, \"RMSE\": 29.78792492645533, \"R2\": -260.4155562259403, \"Memory in Mb\": 1.3660497665405271, \"Time in s\": 4.029196 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 22.46844053349284, \"RMSE\": 29.014219480552867, \"R2\": -255.5915105297988, \"Memory in Mb\": 1.3665533065795898, \"Time in s\": 4.629964999999999 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 21.59490700757577, \"RMSE\": 28.301677882839343, \"R2\": -250.0434007116766, \"Memory in Mb\": 0.510127067565918, \"Time in s\": 5.253793 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 20.62268781294523, \"RMSE\": 27.62086591367872, \"R2\": -246.0239415518119, \"Memory in Mb\": 1.3623762130737305, \"Time in s\": 5.968102 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 19.786863931462925, \"RMSE\": 26.990398924900397, \"R2\": -230.60756767519212, \"Memory in Mb\": 1.3643903732299805, \"Time in s\": 6.700306 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 19.05732899619648, \"RMSE\": 26.404670160589287, \"R2\": -209.2038511633616, \"Memory in Mb\": 1.3666563034057615, \"Time in s\": 7.451319000000001 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 18.376512097202227, \"RMSE\": 25.854792215140314, \"R2\": -195.90337768575387, \"Memory in Mb\": 1.3701810836791992, \"Time in s\": 8.221931000000001 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.755044410127518, \"RMSE\": 25.338820973360427, \"R2\": -184.1550753065148, \"Memory in Mb\": 1.3716917037963867, \"Time in s\": 9.124580000000002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.16611419898163, \"RMSE\": 24.851444862058347, \"R2\": -177.4118263333629, \"Memory in Mb\": 1.3737058639526367, \"Time in s\": 10.044684000000002 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 16.628565596068775, \"RMSE\": 24.392285078947275, \"R2\": -170.25012213753183, \"Memory in Mb\": 1.3747129440307615, \"Time in s\": 10.981068000000002 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 16.091244232649693, \"RMSE\": 23.955027361350904, \"R2\": -168.10096043791202, \"Memory in Mb\": 1.3752164840698242, \"Time in s\": 11.990243000000005 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 15.590768135673304, \"RMSE\": 23.54051091957351, \"R2\": -166.33817208986073, \"Memory in Mb\": 1.3764753341674805, \"Time in s\": 13.016881000000003 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 15.168708628495342, \"RMSE\": 23.15108754841241, \"R2\": -159.05714501634571, \"Memory in Mb\": 0.5124959945678711, \"Time in s\": 14.090212000000005 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.742446374247312, \"RMSE\": 22.77953961802373, \"R2\": -151.59887848495535, \"Memory in Mb\": 3.064208030700684, \"Time in s\": 15.285325000000004 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 14.319364852585176, \"RMSE\": 22.42187566882095, \"R2\": -144.08105420081068, \"Memory in Mb\": 3.0679845809936523, \"Time in s\": 16.529242000000004 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.916412195872256, \"RMSE\": 22.080274918425697, \"R2\": -138.68241285181185, \"Memory in Mb\": 3.0712575912475586, \"Time in s\": 17.842975000000003 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.515604789075644, \"RMSE\": 21.753254558457893, \"R2\": -136.71797028279042, \"Memory in Mb\": 3.074782371520996, \"Time in s\": 19.280557 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.16391092204058, \"RMSE\": 21.44141764506316, \"R2\": -136.3120101768532, \"Memory in Mb\": 3.0773000717163086, \"Time in s\": 20.753146 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.828283113852926, \"RMSE\": 21.142484202016185, \"R2\": -135.44313416922282, \"Memory in Mb\": 3.078558921813965, \"Time in s\": 22.284495 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.50446646701278, \"RMSE\": 20.855361315179096, \"R2\": -131.6825380828392, \"Memory in Mb\": 3.0800695419311523, \"Time in s\": 23.930702 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 12.187542748969031, \"RMSE\": 20.57929219886472, \"R2\": -129.592708960364, \"Memory in Mb\": 3.0813283920288086, \"Time in s\": 25.608717 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.899403743710543, \"RMSE\": 20.31464229706916, \"R2\": -126.82553676745258, \"Memory in Mb\": 3.08359432220459, \"Time in s\": 27.347366 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.634366305883283, \"RMSE\": 20.06137952581079, \"R2\": -124.7856004590591, \"Memory in Mb\": 3.084601402282715, \"Time in s\": 29.130085 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.363415331478278, \"RMSE\": 19.815492221289517, \"R2\": -123.0687724200615, \"Memory in Mb\": 3.08560848236084, \"Time in s\": 30.98707 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.106640469158773, \"RMSE\": 19.57848368678801, \"R2\": -121.2430978899656, \"Memory in Mb\": 3.086615562438965, \"Time in s\": 32.880055 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.873909665943762, \"RMSE\": 19.35022618912736, \"R2\": -118.20364312373844, \"Memory in Mb\": 3.087119102478028, \"Time in s\": 34.808534 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.65545006969969, \"RMSE\": 19.130035299019603, \"R2\": -114.92727947355436, \"Memory in Mb\": 3.0873708724975586, \"Time in s\": 36.791638 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.439309697188907, \"RMSE\": 18.916827199314994, \"R2\": -112.83532852765144, \"Memory in Mb\": 3.08762264251709, \"Time in s\": 38.832751 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.21789524284777, \"RMSE\": 18.710158789526105, \"R2\": -112.19133803320568, \"Memory in Mb\": 3.087874412536621, \"Time in s\": 40.951802 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 10.012578535125469, \"RMSE\": 18.510293787577226, \"R2\": -110.72583714230213, \"Memory in Mb\": 3.077906608581543, \"Time in s\": 43.146806 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.811853150109153, \"RMSE\": 18.316579311485903, \"R2\": -109.54344305213982, \"Memory in Mb\": 3.0804243087768555, \"Time in s\": 45.38444 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.61909067795052, \"RMSE\": 18.12881604876013, \"R2\": -109.39183420714345, \"Memory in Mb\": 3.080927848815918, \"Time in s\": 47.662491 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.438738635632271, \"RMSE\": 17.946847607318464, \"R2\": -109.00797869183796, \"Memory in Mb\": 3.082438468933105, \"Time in s\": 50.039238 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Stochastic Gradient Tree\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.429746533156267, \"RMSE\": 17.937886241411594, \"R2\": -108.97151968967049, \"Memory in Mb\": 3.082438468933105, \"Time in s\": 52.450717 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.837563210503649, \"RMSE\": 16.830121687224917, \"R2\": -363.61289911513376, \"Memory in Mb\": 0.1506052017211914, \"Time in s\": 0.01357 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.3557641651310055, \"RMSE\": 11.925612892987612, \"R2\": -149.62275175212707, \"Memory in Mb\": 0.1761331558227539, \"Time in s\": 0.033876 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.3711466349197527, \"RMSE\": 9.780434627556833, \"R2\": -65.4351822307151, \"Memory in Mb\": 0.214268684387207, \"Time in s\": 0.065705 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.6922077728217837, \"RMSE\": 8.482083592242564, \"R2\": -55.643739991610765, \"Memory in Mb\": 0.2312593460083007, \"Time in s\": 0.110591 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.74736475641488, \"RMSE\": 7.825318026963682, \"R2\": -10.953904022002217, \"Memory in Mb\": 0.2869501113891601, \"Time in s\": 0.166016 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.8724679940162905, \"RMSE\": 7.312536888278379, \"R2\": -3.4997438549991955, \"Memory in Mb\": 0.3332719802856445, \"Time in s\": 0.243978 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.0470429271529937, \"RMSE\": 7.064245743713448, \"R2\": -1.8145642692685129, \"Memory in Mb\": 0.3119173049926758, \"Time in s\": 0.346862 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.9741223361578246, \"RMSE\": 6.690154558226259, \"R2\": -1.288758200280824, \"Memory in Mb\": 0.3463144302368164, \"Time in s\": 0.647937 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.5306191185317584, \"RMSE\": 6.892431773474538, \"R2\": -1.031779280787943, \"Memory in Mb\": 0.3914194107055664, \"Time in s\": 0.960086 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.8799314967396743, \"RMSE\": 6.981555605673833, \"R2\": -0.4557571678865852, \"Memory in Mb\": 0.4218912124633789, \"Time in s\": 1.292146 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.113667008668635, \"RMSE\": 7.033914104811044, \"R2\": -0.1380455127293207, \"Memory in Mb\": 0.4422159194946289, \"Time in s\": 1.662194 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.34164975929163, \"RMSE\": 7.058470289925444, \"R2\": 0.0633731167085442, \"Memory in Mb\": 0.4695367813110351, \"Time in s\": 2.044753 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.57586761829926, \"RMSE\": 7.15786747745719, \"R2\": 0.2198462773680444, \"Memory in Mb\": 0.5039682388305664, \"Time in s\": 2.459644 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.72768375743327, \"RMSE\": 7.245199860946492, \"R2\": 0.3206991207112422, \"Memory in Mb\": 0.5465364456176758, \"Time in s\": 2.897301 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.104360720447454, \"RMSE\": 7.731417459148682, \"R2\": 0.3781793296599212, \"Memory in Mb\": 0.5543031692504883, \"Time in s\": 3.478625 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.614563299993537, \"RMSE\": 8.384781892618234, \"R2\": 0.4103032354466553, \"Memory in Mb\": 0.577855110168457, \"Time in s\": 4.083596 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.030281219875818, \"RMSE\": 8.796345271037008, \"R2\": 0.4686144271207236, \"Memory in Mb\": 0.5973634719848633, \"Time in s\": 4.712472 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.128233569544692, \"RMSE\": 8.84845009665535, \"R2\": 0.572286448100142, \"Memory in Mb\": 0.6156282424926758, \"Time in s\": 5.362321 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.65587905711115, \"RMSE\": 9.6527323574251, \"R2\": 0.5803946009681837, \"Memory in Mb\": 0.637272834777832, \"Time in s\": 6.068711 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.106977341119842, \"RMSE\": 10.677274056234571, \"R2\": 0.550512947323095, \"Memory in Mb\": 0.6516351699829102, \"Time in s\": 6.792503 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.51605472684967, \"RMSE\": 11.121858780588036, \"R2\": 0.582840670024279, \"Memory in Mb\": 0.6455926895141602, \"Time in s\": 7.540065 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.8763674823035235, \"RMSE\": 11.54794620868086, \"R2\": 0.6381207504866175, \"Memory in Mb\": 0.654301643371582, \"Time in s\": 8.314509000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.048654689630025, \"RMSE\": 11.785882981718466, \"R2\": 0.6726179175042853, \"Memory in Mb\": 0.6542215347290039, \"Time in s\": 9.228486 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.558470564817128, \"RMSE\": 12.694815113306078, \"R2\": 0.6529678969258632, \"Memory in Mb\": 0.7006998062133789, \"Time in s\": 10.165772 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.011287699636805, \"RMSE\": 13.865710758190522, \"R2\": 0.6357023625954032, \"Memory in Mb\": 0.7181978225708008, \"Time in s\": 11.12726 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.454493871269731, \"RMSE\": 14.39909947248495, \"R2\": 0.6597325750664246, \"Memory in Mb\": 0.7397470474243164, \"Time in s\": 12.112744 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.455634964453314, \"RMSE\": 14.370566123736594, \"R2\": 0.7060577585099084, \"Memory in Mb\": 0.6961946487426758, \"Time in s\": 13.208544 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.98259297559382, \"RMSE\": 15.278989711680778, \"R2\": 0.7040656028742478, \"Memory in Mb\": 0.7122316360473633, \"Time in s\": 14.327932 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.896304985778038, \"RMSE\": 17.680267148091307, \"R2\": 0.6404050215106214, \"Memory in Mb\": 0.7230386734008789, \"Time in s\": 15.472301 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.34830207391465, \"RMSE\": 18.238325787402868, \"R2\": 0.6725323523293205, \"Memory in Mb\": 0.7481813430786133, \"Time in s\": 16.699404 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.700671911575691, \"RMSE\": 18.698639858183288, \"R2\": 0.6917798823884449, \"Memory in Mb\": 0.750828742980957, \"Time in s\": 17.953966 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.012928806619971, \"RMSE\": 19.028065448277463, \"R2\": 0.7098550919958697, \"Memory in Mb\": 0.779423713684082, \"Time in s\": 19.24314 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.590729727774807, \"RMSE\": 20.061815233276363, \"R2\": 0.6868102538385266, \"Memory in Mb\": 0.8219194412231445, \"Time in s\": 20.584825 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.29572445199132, \"RMSE\": 21.688967498502105, \"R2\": 0.6634948622954009, \"Memory in Mb\": 0.8368387222290039, \"Time in s\": 21.949532 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.850252347511734, \"RMSE\": 22.377982941031117, \"R2\": 0.6830616430184708, \"Memory in Mb\": 0.8398981094360352, \"Time in s\": 23.337733 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.995508749414425, \"RMSE\": 22.434927630401365, \"R2\": 0.7029833246789492, \"Memory in Mb\": 0.8451242446899414, \"Time in s\": 24.808931 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 14.855647843034443, \"RMSE\": 23.972462409994428, \"R2\": 0.6847772413527866, \"Memory in Mb\": 0.8440675735473633, \"Time in s\": 26.305221 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 15.648428200057216, \"RMSE\": 25.832735423225586, \"R2\": 0.6563908585574095, \"Memory in Mb\": 0.8621377944946289, \"Time in s\": 27.821712 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.477960681723363, \"RMSE\": 27.01651731063008, \"R2\": 0.6660339910533338, \"Memory in Mb\": 0.8826723098754883, \"Time in s\": 29.421277 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.794784005292485, \"RMSE\": 27.277386650758192, \"R2\": 0.6836500576952018, \"Memory in Mb\": 0.8854074478149414, \"Time in s\": 31.044846 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 17.2443539228967, \"RMSE\": 27.815314781786785, \"R2\": 0.6850336806962379, \"Memory in Mb\": 0.915654182434082, \"Time in s\": 32.692345 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 18.21783864235053, \"RMSE\": 29.965283642676138, \"R2\": 0.6566601868655235, \"Memory in Mb\": 0.947678565979004, \"Time in s\": 34.453267999999994 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.154558799374207, \"RMSE\": 31.27949805899601, \"R2\": 0.6696542166515442, \"Memory in Mb\": 0.9631280899047852, \"Time in s\": 36.23863899999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.65302219917293, \"RMSE\": 31.71092492917292, \"R2\": 0.6790841892096586, \"Memory in Mb\": 0.979741096496582, \"Time in s\": 38.04845199999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.17748759588543, \"RMSE\": 32.35841629000369, \"R2\": 0.6856630158751376, \"Memory in Mb\": 1.0035409927368164, \"Time in s\": 39.89288999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.994447812000203, \"RMSE\": 33.88452895368057, \"R2\": 0.6653322556738073, \"Memory in Mb\": 1.0402307510375977, \"Time in s\": 41.77183299999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 21.74940325928189, \"RMSE\": 34.92971521251369, \"R2\": 0.6643962418834424, \"Memory in Mb\": 1.0591440200805664, \"Time in s\": 43.68222899999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.71806819464153, \"RMSE\": 36.27208023143736, \"R2\": 0.6746268651566016, \"Memory in Mb\": 1.0802621841430664, \"Time in s\": 45.622796999999984 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.976084812890598, \"RMSE\": 36.32299861842887, \"R2\": 0.6871862958215178, \"Memory in Mb\": 1.1105661392211914, \"Time in s\": 47.62064799999998 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.812560792713985, \"RMSE\": 37.68037385984369, \"R2\": 0.6737446986071818, \"Memory in Mb\": 1.1564149856567385, \"Time in s\": 49.63871399999998 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.744158926088524, \"RMSE\": 38.95638961509032, \"R2\": 0.6665241448790927, \"Memory in Mb\": 1.171940803527832, \"Time in s\": 51.68634399999998 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.965548256363952, \"RMSE\": 40.779089345824126, \"R2\": 0.6619939776632806, \"Memory in Mb\": 1.1861085891723633, \"Time in s\": 53.83172099999997 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 26.10164191353107, \"RMSE\": 40.80941552099692, \"R2\": 0.669724624616493, \"Memory in Mb\": 1.1904268264770508, \"Time in s\": 56.00600499999997 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.656196028844478, \"RMSE\": 13.301506400077992, \"R2\": -414.0076115498352, \"Memory in Mb\": 0.2015810012817382, \"Time in s\": 0.057323 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.307191630717303, \"RMSE\": 9.5148436405931, \"R2\": -35.39725790498291, \"Memory in Mb\": 0.2895097732543945, \"Time in s\": 0.159522 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3916587233350866, \"RMSE\": 7.783560456255013, \"R2\": -31.83725667748105, \"Memory in Mb\": 0.3228082656860351, \"Time in s\": 0.43784 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0172424359013847, \"RMSE\": 6.770328731809264, \"R2\": -23.92145608895444, \"Memory in Mb\": 0.3692712783813476, \"Time in s\": 0.749169 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.069330341220504, \"RMSE\": 6.141775226189047, \"R2\": -11.868015650386663, \"Memory in Mb\": 0.4076700210571289, \"Time in s\": 1.082433 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.013474643057227, \"RMSE\": 5.653544639730099, \"R2\": -8.249866206703038, \"Memory in Mb\": 0.4241609573364258, \"Time in s\": 1.485703 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.894365920134237, \"RMSE\": 5.255534318342925, \"R2\": -7.260127227254786, \"Memory in Mb\": 0.4439592361450195, \"Time in s\": 2.052392 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.942363436061872, \"RMSE\": 4.987168106592344, \"R2\": -5.559462264629689, \"Memory in Mb\": 0.4557695388793945, \"Time in s\": 2.6505280000000004 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9639788846395132, \"RMSE\": 4.758402061618727, \"R2\": -4.244508869717663, \"Memory in Mb\": 0.4725847244262695, \"Time in s\": 3.3297560000000006 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9045329443413328, \"RMSE\": 4.539431452034987, \"R2\": -3.787127034775958, \"Memory in Mb\": 0.5018167495727539, \"Time in s\": 4.037089000000001 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7801675790175082, \"RMSE\": 4.332908187325825, \"R2\": -3.704734847036908, \"Memory in Mb\": 0.539036750793457, \"Time in s\": 4.871381000000001 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7262455165213564, \"RMSE\": 4.162317120423255, \"R2\": -3.374233717467068, \"Memory in Mb\": 0.5583086013793945, \"Time in s\": 5.726343000000002 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6726006855046047, \"RMSE\": 4.010034080286883, \"R2\": -3.11472540009772, \"Memory in Mb\": 0.586766242980957, \"Time in s\": 6.608691000000002 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6001254820213158, \"RMSE\": 3.86938412403892, \"R2\": -3.01116046378164, \"Memory in Mb\": 0.6034517288208008, \"Time in s\": 7.537396000000002 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5903246290151525, \"RMSE\": 3.758572865099384, \"R2\": -2.72204992570884, \"Memory in Mb\": 0.6344270706176758, \"Time in s\": 8.563678000000001 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5306703522535514, \"RMSE\": 3.644833568467773, \"R2\": -2.673500446315358, \"Memory in Mb\": 0.6524057388305664, \"Time in s\": 9.653495 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.462120415173825, \"RMSE\": 3.538151879462345, \"R2\": -2.658070572544154, \"Memory in Mb\": 0.6771516799926758, \"Time in s\": 10.778313 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4104873891633294, \"RMSE\": 3.442715407420023, \"R2\": -2.491830651593505, \"Memory in Mb\": 0.712040901184082, \"Time in s\": 12.006044 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3577274631021343, \"RMSE\": 3.353553439657788, \"R2\": -2.42792224294701, \"Memory in Mb\": 0.7612085342407227, \"Time in s\": 13.264975000000002 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.328889471148693, \"RMSE\": 3.2750276755937477, \"R2\": -2.361664675892684, \"Memory in Mb\": 0.7830896377563477, \"Time in s\": 14.608014 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2856838141339133, \"RMSE\": 3.198005596242657, \"R2\": -2.3114858734875385, \"Memory in Mb\": 0.8153314590454102, \"Time in s\": 15.987435 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2502461578606217, \"RMSE\": 3.1277634460074983, \"R2\": -2.1102975482726696, \"Memory in Mb\": 0.8549776077270508, \"Time in s\": 17.476653000000002 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2118787702501406, \"RMSE\": 3.0607885313580625, \"R2\": -1.824527619127544, \"Memory in Mb\": 0.8641138076782227, \"Time in s\": 19.005275 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1755519926992437, \"RMSE\": 2.997482691409013, \"R2\": -1.6465763687209671, \"Memory in Mb\": 0.904881477355957, \"Time in s\": 20.582478 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1542746800420942, \"RMSE\": 2.9412002898427465, \"R2\": -1.494663742459657, \"Memory in Mb\": 0.9429025650024414, \"Time in s\": 22.213321 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1232655769227813, \"RMSE\": 2.885625631130148, \"R2\": -1.4054721071787497, \"Memory in Mb\": 0.9187402725219728, \"Time in s\": 23.93785 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0927628011224122, \"RMSE\": 2.8324064719208977, \"R2\": -1.3090698562992058, \"Memory in Mb\": 0.9784936904907228, \"Time in s\": 25.72016 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0798076211233285, \"RMSE\": 2.7860066009246958, \"R2\": -1.2872677886963872, \"Memory in Mb\": 0.8415918350219727, \"Time in s\": 27.559893 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0533259806656756, \"RMSE\": 2.7386650773118006, \"R2\": -1.2648586320750757, \"Memory in Mb\": 0.926945686340332, \"Time in s\": 29.430927 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0370277841126194, \"RMSE\": 2.695306817676886, \"R2\": -1.1694452334238137, \"Memory in Mb\": 1.0152063369750977, \"Time in s\": 31.394822 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0220360797787769, \"RMSE\": 2.6548714349996483, \"R2\": -1.0727572654712625, \"Memory in Mb\": 0.9687509536743164, \"Time in s\": 33.420245 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.006223169156282, \"RMSE\": 2.615089153799328, \"R2\": -0.9735122270872276, \"Memory in Mb\": 0.8030519485473633, \"Time in s\": 35.538976 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9862189251721106, \"RMSE\": 2.576116595691222, \"R2\": -0.901357605879683, \"Memory in Mb\": 0.7759256362915039, \"Time in s\": 37.763356 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9658028732124052, \"RMSE\": 2.5385905860617046, \"R2\": -0.8755448750460146, \"Memory in Mb\": 0.8428354263305664, \"Time in s\": 40.028227 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.958070286753166, \"RMSE\": 2.506070409170758, \"R2\": -0.8758066430098239, \"Memory in Mb\": 0.9465646743774414, \"Time in s\": 42.353807 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9436099236768006, \"RMSE\": 2.472715624364642, \"R2\": -0.8663281360281503, \"Memory in Mb\": 1.0379304885864258, \"Time in s\": 44.723793 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9279645732871132, \"RMSE\": 2.440285299254925, \"R2\": -0.8166009677654511, \"Memory in Mb\": 1.1119890213012695, \"Time in s\": 47.149898 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.91590994704171, \"RMSE\": 2.410261116608071, \"R2\": -0.7913739428902633, \"Memory in Mb\": 1.1737489700317385, \"Time in s\": 49.62861 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8968362370347621, \"RMSE\": 2.379411736746614, \"R2\": -0.7536320120768303, \"Memory in Mb\": 1.261582374572754, \"Time in s\": 52.179919 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8878342141912964, \"RMSE\": 2.351392140243472, \"R2\": -0.7280625702741705, \"Memory in Mb\": 1.3552255630493164, \"Time in s\": 54.784302 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8775558321142263, \"RMSE\": 2.3237456817971016, \"R2\": -0.7062000372474271, \"Memory in Mb\": 1.4321069717407229, \"Time in s\": 57.452517 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8672496542857573, \"RMSE\": 2.297532908897418, \"R2\": -0.6834092983276716, \"Memory in Mb\": 1.4874773025512695, \"Time in s\": 60.173386 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8593706057522699, \"RMSE\": 2.272389423762812, \"R2\": -0.6439286158863597, \"Memory in Mb\": 1.5595178604125977, \"Time in s\": 62.976048 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8551106332542915, \"RMSE\": 2.2487703297155224, \"R2\": -0.6019328469057044, \"Memory in Mb\": 1.619084358215332, \"Time in s\": 65.856537 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8437512715146732, \"RMSE\": 2.224375873084905, \"R2\": -0.5739713521606553, \"Memory in Mb\": 1.1261072158813477, \"Time in s\": 68.798174 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8344220404851989, \"RMSE\": 2.2010168562801016, \"R2\": -0.5664083310843888, \"Memory in Mb\": 1.167832374572754, \"Time in s\": 71.779904 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.825939320609599, \"RMSE\": 2.179009982884269, \"R2\": -0.5482654902802699, \"Memory in Mb\": 1.1199464797973633, \"Time in s\": 74.829165 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8156984309758435, \"RMSE\": 2.1571048007400404, \"R2\": -0.5331573747015668, \"Memory in Mb\": 1.1733713150024414, \"Time in s\": 77.929016 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.806477335746804, \"RMSE\": 2.1360065895495888, \"R2\": -0.5325097322303367, \"Memory in Mb\": 1.2283296585083008, \"Time in s\": 81.05698100000001 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8008625237630099, \"RMSE\": 2.1159877488140326, \"R2\": -0.5292346593649373, \"Memory in Mb\": 1.2836008071899414, \"Time in s\": 84.241983 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Adaptive Random Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.800378499538596, \"RMSE\": 2.1149541843634605, \"R2\": -0.5287610996295022, \"Memory in Mb\": 1.2846193313598633, \"Time in s\": 87.445729 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.0878895070954884, \"RMSE\": 1.3778002085324723, \"R2\": -1.2599207317049026, \"Memory in Mb\": 0.1791715621948242, \"Time in s\": 0.003809 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.15171477394762, \"RMSE\": 1.5218208011368886, \"R2\": -1.3974856828423898, \"Memory in Mb\": 0.3313665390014648, \"Time in s\": 0.017797 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.2596040860169628, \"RMSE\": 1.630698561429495, \"R2\": -0.8214033882315572, \"Memory in Mb\": 0.4835615158081054, \"Time in s\": 0.056943 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.147002532502157, \"RMSE\": 1.5136945038262, \"R2\": -0.7860708992998826, \"Memory in Mb\": 0.6357030868530273, \"Time in s\": 0.120895 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.7448650745312246, \"RMSE\": 2.8901942810902064, \"R2\": -0.6023944619968462, \"Memory in Mb\": 0.795161247253418, \"Time in s\": 0.341288 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 1.974173643458203, \"RMSE\": 3.1122799656868354, \"R2\": 0.1967701507194095, \"Memory in Mb\": 0.949946403503418, \"Time in s\": 0.602886 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3465039451978784, \"RMSE\": 3.868783481489585, \"R2\": 0.1653904369447871, \"Memory in Mb\": 1.1044378280639648, \"Time in s\": 0.885897 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3152944739841907, \"RMSE\": 3.751470845606434, \"R2\": 0.286453015670338, \"Memory in Mb\": 1.2595434188842771, \"Time in s\": 1.213122 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.485126688481329, \"RMSE\": 3.8753788781661274, \"R2\": 0.3615628965518305, \"Memory in Mb\": 1.4176397323608398, \"Time in s\": 1.708637 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.679180085056696, \"RMSE\": 4.098463178184459, \"R2\": 0.5005082908479199, \"Memory in Mb\": 1.580409049987793, \"Time in s\": 2.233256 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 2.993112128155013, \"RMSE\": 4.501608187312601, \"R2\": 0.5353065115430311, \"Memory in Mb\": 1.7385053634643557, \"Time in s\": 2.789253 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.049130101089184, \"RMSE\": 4.474860576824222, \"R2\": 0.624267329970883, \"Memory in Mb\": 1.8972959518432615, \"Time in s\": 3.530617 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.129389359320645, \"RMSE\": 4.535626207267123, \"R2\": 0.6870855629914132, \"Memory in Mb\": 2.0540571212768555, \"Time in s\": 4.307795 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.2350921629171503, \"RMSE\": 4.614317779917637, \"R2\": 0.7245583098520811, \"Memory in Mb\": 2.21335506439209, \"Time in s\": 5.238077 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.615407192454655, \"RMSE\": 5.434402308521257, \"R2\": 0.6928112980835472, \"Memory in Mb\": 2.370730400085449, \"Time in s\": 6.215347 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.842899644735678, \"RMSE\": 5.8926781106586255, \"R2\": 0.7087106044563829, \"Memory in Mb\": 2.5251951217651367, \"Time in s\": 7.308114 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 3.939333513046091, \"RMSE\": 5.936527515565436, \"R2\": 0.7578865873655871, \"Memory in Mb\": 2.680434226989746, \"Time in s\": 8.444739 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.1526220464224926, \"RMSE\": 6.160116941975886, \"R2\": 0.7926170753106898, \"Memory in Mb\": 2.8339643478393555, \"Time in s\": 9.747256 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 4.486090256229248, \"RMSE\": 6.857164593682279, \"R2\": 0.7881489392686998, \"Memory in Mb\": 2.990111351013184, \"Time in s\": 11.107311 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.095083445923365, \"RMSE\": 8.268326900050806, \"R2\": 0.7303274183124314, \"Memory in Mb\": 3.147219657897949, \"Time in s\": 12.601651 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.345901760482457, \"RMSE\": 8.651953805757511, \"R2\": 0.7474084291359289, \"Memory in Mb\": 3.301150321960449, \"Time in s\": 14.172197999999998 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 5.775936882313693, \"RMSE\": 9.234098241635358, \"R2\": 0.7685060952534608, \"Memory in Mb\": 3.4575910568237305, \"Time in s\": 15.876551999999998 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.050411841877211, \"RMSE\": 9.480574702158652, \"R2\": 0.7880472652798773, \"Memory in Mb\": 3.6158742904663086, \"Time in s\": 17.675130999999997 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 6.7396819662512994, \"RMSE\": 10.861908099063555, \"R2\": 0.7457953067175733, \"Memory in Mb\": 3.77274227142334, \"Time in s\": 19.599013 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.418933110619537, \"RMSE\": 12.596893007879746, \"R2\": 0.699156722346497, \"Memory in Mb\": 3.926619529724121, \"Time in s\": 21.625011 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 7.830180870941, \"RMSE\": 13.02165358749325, \"R2\": 0.7215679622698357, \"Memory in Mb\": 4.082179069519043, \"Time in s\": 23.771258 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.059624975297776, \"RMSE\": 13.201631143135527, \"R2\": 0.7517949935656911, \"Memory in Mb\": 4.237311363220215, \"Time in s\": 26.095147 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 8.517266870602596, \"RMSE\": 14.029786197157003, \"R2\": 0.750336177123377, \"Memory in Mb\": 4.390841484069824, \"Time in s\": 28.501657 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 9.872910663629112, \"RMSE\": 17.67011178426297, \"R2\": 0.6406578335650022, \"Memory in Mb\": 4.544772148132324, \"Time in s\": 31.026265 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.355957081475973, \"RMSE\": 18.251720539867826, \"R2\": 0.671924837978655, \"Memory in Mb\": 4.698409080505371, \"Time in s\": 33.677708 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.779061369126929, \"RMSE\": 18.644503325392748, \"R2\": 0.6934349036095702, \"Memory in Mb\": 4.852313041687012, \"Time in s\": 36.483969 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 10.97013178962945, \"RMSE\": 18.69029492717773, \"R2\": 0.7199342471488321, \"Memory in Mb\": 5.009421348571777, \"Time in s\": 39.412921 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 11.836385670325258, \"RMSE\": 20.411474322578705, \"R2\": 0.6756306209292051, \"Memory in Mb\": 5.165541648864746, \"Time in s\": 42.477176 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 12.650208752532226, \"RMSE\": 22.152599191433616, \"R2\": 0.6487731216482631, \"Memory in Mb\": 5.323611259460449, \"Time in s\": 45.685202 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.26433375884341, \"RMSE\": 22.74111870549559, \"R2\": 0.672536034672935, \"Memory in Mb\": 5.478930473327637, \"Time in s\": 49.011467 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 13.285084454056172, \"RMSE\": 22.62858691877232, \"R2\": 0.6976709876564118, \"Memory in Mb\": 5.63400936126709, \"Time in s\": 52.447627 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 14.297859574888522, \"RMSE\": 24.603705237609702, \"R2\": 0.6677818184200794, \"Memory in Mb\": 5.789168357849121, \"Time in s\": 55.986709 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 15.277775247208368, \"RMSE\": 26.91758918665374, \"R2\": 0.6267299649165277, \"Memory in Mb\": 5.945448875427246, \"Time in s\": 59.629264 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.148002577856595, \"RMSE\": 27.91235298687263, \"R2\": 0.643353503146777, \"Memory in Mb\": 6.099112510681152, \"Time in s\": 63.379206 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.450833155107055, \"RMSE\": 28.053185003016477, \"R2\": 0.6652347923635655, \"Memory in Mb\": 6.252856254577637, \"Time in s\": 67.23493599999999 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 16.938736394119786, \"RMSE\": 28.680885446607185, \"R2\": 0.6649461832952053, \"Memory in Mb\": 6.407908439636231, \"Time in s\": 71.205463 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 18.465286457846624, \"RMSE\": 32.222162406640614, \"R2\": 0.6027938253530374, \"Memory in Mb\": 6.562827110290527, \"Time in s\": 75.286683 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.36878629272608, \"RMSE\": 33.403615991184594, \"R2\": 0.6231055060350865, \"Memory in Mb\": 6.717398643493652, \"Time in s\": 79.474485 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 19.88015130963188, \"RMSE\": 33.764210229402664, \"R2\": 0.6360141173956066, \"Memory in Mb\": 6.872824668884277, \"Time in s\": 83.769797 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 20.57744796303998, \"RMSE\": 34.830627929035586, \"R2\": 0.6356250399764956, \"Memory in Mb\": 7.029131889343262, \"Time in s\": 88.176271 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 21.43571571603741, \"RMSE\": 36.40788480688662, \"R2\": 0.6134430891768862, \"Memory in Mb\": 7.184878349304199, \"Time in s\": 92.694929 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 22.34914238062968, \"RMSE\": 37.807266067412606, \"R2\": 0.6066317565796657, \"Memory in Mb\": 7.340197563171387, \"Time in s\": 97.332285 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.191315994328228, \"RMSE\": 38.81894260965106, \"R2\": 0.6271697641288401, \"Memory in Mb\": 7.495863914489746, \"Time in s\": 102.073572 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 23.34075784343543, \"RMSE\": 38.827434948624926, \"R2\": 0.6423969913213963, \"Memory in Mb\": 7.652411460876465, \"Time in s\": 106.920364 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.12545732554984, \"RMSE\": 39.99965605849559, \"R2\": 0.6321733437483394, \"Memory in Mb\": 7.811335563659668, \"Time in s\": 111.876093 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 24.859407485948264, \"RMSE\": 40.9180834433101, \"R2\": 0.6319179521646502, \"Memory in Mb\": 7.9698591232299805, \"Time in s\": 116.942977 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.582967433016183, \"RMSE\": 41.65667948828452, \"R2\": 0.6471310448579161, \"Memory in Mb\": 8.12806224822998, \"Time in s\": 122.12293 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"ChickWeights\", \"MAE\": 25.674172622955844, \"RMSE\": 41.71227980537356, \"R2\": 0.65479005999511, \"Memory in Mb\": 8.21412181854248, \"Time in s\": 127.415096 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3812789990066343, \"RMSE\": 0.4856864156914124, \"R2\": 0.4734504440676397, \"Memory in Mb\": 0.3661947250366211, \"Time in s\": 0.012803 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3903932807396207, \"RMSE\": 0.4802129236445582, \"R2\": 0.908098150441852, \"Memory in Mb\": 0.7077703475952148, \"Time in s\": 0.066318 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3553562094560649, \"RMSE\": 0.4475448539758346, \"R2\": 0.8908737885344612, \"Memory in Mb\": 1.0465993881225586, \"Time in s\": 0.161186 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3785078228066897, \"RMSE\": 0.4818104291982039, \"R2\": 0.8725877843301283, \"Memory in Mb\": 1.386988639831543, \"Time in s\": 0.310355 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3456451525369771, \"RMSE\": 0.450476311872574, \"R2\": 0.9301027529077078, \"Memory in Mb\": 1.7262754440307615, \"Time in s\": 0.520575 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3369671927041528, \"RMSE\": 0.4421642502671299, \"R2\": 0.9427860880043346, \"Memory in Mb\": 2.0684385299682617, \"Time in s\": 0.828496 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3170957614007029, \"RMSE\": 0.4217273000916425, \"R2\": 0.9461011323760548, \"Memory in Mb\": 2.404311180114746, \"Time in s\": 1.349971 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3307037984070857, \"RMSE\": 0.4315519243898653, \"R2\": 0.9502341257934384, \"Memory in Mb\": 2.7412595748901367, \"Time in s\": 1.938101 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3239117556806251, \"RMSE\": 0.4198186275021798, \"R2\": 0.9586532343987924, \"Memory in Mb\": 3.0777502059936523, \"Time in s\": 2.6707590000000003 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3216990324082377, \"RMSE\": 0.4152317221827294, \"R2\": 0.959406710806771, \"Memory in Mb\": 3.414671897888184, \"Time in s\": 3.525266 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3195426619101423, \"RMSE\": 0.4098153846782661, \"R2\": 0.95731130106893, \"Memory in Mb\": 3.7566747665405273, \"Time in s\": 4.592894 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3205833893003068, \"RMSE\": 0.409734240531711, \"R2\": 0.9569909127297423, \"Memory in Mb\": 4.096526145935059, \"Time in s\": 5.7511 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3096350275266986, \"RMSE\": 0.3977121378847216, \"R2\": 0.958918388812615, \"Memory in Mb\": 4.436213493347168, \"Time in s\": 7.098098 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3021514917324106, \"RMSE\": 0.3881456980787764, \"R2\": 0.9590118642619369, \"Memory in Mb\": 4.772730827331543, \"Time in s\": 8.655558000000001 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.302378432925199, \"RMSE\": 0.3879302261175293, \"R2\": 0.9597410141114792, \"Memory in Mb\": 5.1073408126831055, \"Time in s\": 10.324296 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3042635511277332, \"RMSE\": 0.3880820602227424, \"R2\": 0.9577019017103428, \"Memory in Mb\": 5.440821647644043, \"Time in s\": 12.208908 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3061116805473403, \"RMSE\": 0.391104192749731, \"R2\": 0.9546026616524738, \"Memory in Mb\": 5.773791313171387, \"Time in s\": 14.314788 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3092553456162419, \"RMSE\": 0.3953517094261167, \"R2\": 0.9532980843409116, \"Memory in Mb\": 6.1096906661987305, \"Time in s\": 16.588556 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3076082401740039, \"RMSE\": 0.3960205626085123, \"R2\": 0.9515479192781826, \"Memory in Mb\": 6.445483207702637, \"Time in s\": 19.05639 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.3014609513967445, \"RMSE\": 0.3890658925747077, \"R2\": 0.951945723428325, \"Memory in Mb\": 6.780200004577637, \"Time in s\": 21.697867 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2971138293692631, \"RMSE\": 0.3834166944817816, \"R2\": 0.9518088379060108, \"Memory in Mb\": 7.116557121276856, \"Time in s\": 24.511965000000004 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2982326339454942, \"RMSE\": 0.3845174635941775, \"R2\": 0.952475485177767, \"Memory in Mb\": 7.451247215270996, \"Time in s\": 27.506667000000004 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2946274143925286, \"RMSE\": 0.3801223802157071, \"R2\": 0.9560358463571956, \"Memory in Mb\": 7.78644847869873, \"Time in s\": 30.697063000000004 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2933968019133882, \"RMSE\": 0.3767220961039539, \"R2\": 0.9578595845961764, \"Memory in Mb\": 8.120524406433105, \"Time in s\": 34.045785 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2879691623817681, \"RMSE\": 0.3709865810494578, \"R2\": 0.9600287871527096, \"Memory in Mb\": 8.45413875579834, \"Time in s\": 37.543006000000005 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2858512762877924, \"RMSE\": 0.3680336140311482, \"R2\": 0.9606162857565064, \"Memory in Mb\": 8.791060447692871, \"Time in s\": 41.194255000000005 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.28337361966731, \"RMSE\": 0.3643610952909248, \"R2\": 0.9615619008486128, \"Memory in Mb\": 9.128493309020996, \"Time in s\": 45.008334000000005 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2882996011532734, \"RMSE\": 0.3724151060029248, \"R2\": 0.9588932716362208, \"Memory in Mb\": 9.463343620300291, \"Time in s\": 48.98956 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.289315517198266, \"RMSE\": 0.3729583387798602, \"R2\": 0.957758997678865, \"Memory in Mb\": 9.801314353942873, \"Time in s\": 53.13082800000001 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2880445309367084, \"RMSE\": 0.3714720231862385, \"R2\": 0.9585805866298192, \"Memory in Mb\": 10.13992977142334, \"Time in s\": 57.44083900000001 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.285913070387579, \"RMSE\": 0.3694806072400069, \"R2\": 0.95966894305211, \"Memory in Mb\": 10.477011680603027, \"Time in s\": 61.917696000000014 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2840899599351511, \"RMSE\": 0.3669642572161526, \"R2\": 0.9609793991220156, \"Memory in Mb\": 10.80936336517334, \"Time in s\": 66.56801000000002 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2804371592513609, \"RMSE\": 0.3629082548929102, \"R2\": 0.9621252180674722, \"Memory in Mb\": 11.1486234664917, \"Time in s\": 71.37699000000002 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2832721366095781, \"RMSE\": 0.3646482252308528, \"R2\": 0.9611623224331388, \"Memory in Mb\": 11.485033988952637, \"Time in s\": 76.34970200000002 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2853757262809053, \"RMSE\": 0.3664704272728199, \"R2\": 0.959741096022156, \"Memory in Mb\": 11.82703685760498, \"Time in s\": 81.48889300000002 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2846995678315971, \"RMSE\": 0.3663721647933076, \"R2\": 0.9588788359612516, \"Memory in Mb\": 12.1649808883667, \"Time in s\": 86.79821800000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.284389692089141, \"RMSE\": 0.365623460665911, \"R2\": 0.9590812376103318, \"Memory in Mb\": 12.5026273727417, \"Time in s\": 92.27027700000002 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2812524955317089, \"RMSE\": 0.3622785856535135, \"R2\": 0.9593969665626948, \"Memory in Mb\": 12.84118938446045, \"Time in s\": 97.89633500000002 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2784736419799919, \"RMSE\": 0.3590495394564995, \"R2\": 0.9599459478528628, \"Memory in Mb\": 13.18101406097412, \"Time in s\": 103.67983800000002 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.28122680710979, \"RMSE\": 0.3614117991183927, \"R2\": 0.9590552347518728, \"Memory in Mb\": 13.522452354431152, \"Time in s\": 109.62063100000002 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2798414038154103, \"RMSE\": 0.3599105705870861, \"R2\": 0.958953025104572, \"Memory in Mb\": 13.858756065368652, \"Time in s\": 115.71824100000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2792299366421054, \"RMSE\": 0.358810295818463, \"R2\": 0.9588293518961978, \"Memory in Mb\": 14.19906520843506, \"Time in s\": 121.97670500000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2757234931419036, \"RMSE\": 0.3557294429539717, \"R2\": 0.9596100235239656, \"Memory in Mb\": 14.53821849822998, \"Time in s\": 128.39866500000002 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2725087918367814, \"RMSE\": 0.3526976163964828, \"R2\": 0.9604999212537026, \"Memory in Mb\": 14.877989768981934, \"Time in s\": 134.987331 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2707423985398595, \"RMSE\": 0.3505322158445511, \"R2\": 0.9608236269181288, \"Memory in Mb\": 15.214400291442873, \"Time in s\": 141.746125 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2714968277868111, \"RMSE\": 0.3507195370917735, \"R2\": 0.960138783514385, \"Memory in Mb\": 15.551268577575684, \"Time in s\": 148.677278 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2704179121014184, \"RMSE\": 0.350599255928843, \"R2\": 0.9598313134304426, \"Memory in Mb\": 15.892088890075684, \"Time in s\": 155.784091 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2707082259086565, \"RMSE\": 0.3516525290937312, \"R2\": 0.9591696518431828, \"Memory in Mb\": 16.229090690612793, \"Time in s\": 163.071856 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2709225398475326, \"RMSE\": 0.3517696828828596, \"R2\": 0.9583487676398438, \"Memory in Mb\": 16.574454307556152, \"Time in s\": 170.541967 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.2686954199893275, \"RMSE\": 0.349579763566054, \"R2\": 0.9581740736545136, \"Memory in Mb\": 16.91306972503662, \"Time in s\": 178.198313 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Aggregated Mondrian Forest\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.268533139095725, \"RMSE\": 0.3494211343568523, \"R2\": 0.9581842100200092, \"Memory in Mb\": 16.932257652282715, \"Time in s\": 186.03359 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.664574314574316, \"RMSE\": 12.7079745317607, \"R2\": -206.87879383707747, \"Memory in Mb\": 0.0196142196655273, \"Time in s\": 0.000715 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.767694704637076, \"RMSE\": 9.018587183866767, \"R2\": -85.14025986830408, \"Memory in Mb\": 0.0211782455444335, \"Time in s\": 0.002248 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3093367298127023, \"RMSE\": 7.420500566500976, \"R2\": -37.24267181629702, \"Memory in Mb\": 0.0263471603393554, \"Time in s\": 0.0045 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 1.892363968348808, \"RMSE\": 6.441521936619904, \"R2\": -31.668094594906044, \"Memory in Mb\": 0.0274343490600585, \"Time in s\": 0.007522 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.1129412159858934, \"RMSE\": 6.114058653243701, \"R2\": -6.297346571779499, \"Memory in Mb\": 0.0340337753295898, \"Time in s\": 0.011341 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 2.832849782567835, \"RMSE\": 6.236602142425367, \"R2\": -2.2730130120415795, \"Memory in Mb\": 0.043257713317871, \"Time in s\": 0.016081 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4069290990236856, \"RMSE\": 6.402381882180361, \"R2\": -1.3118663438824, \"Memory in Mb\": 0.0494871139526367, \"Time in s\": 0.021988 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 3.650377971160808, \"RMSE\": 6.321189272940957, \"R2\": -1.043267371916866, \"Memory in Mb\": 0.0551328659057617, \"Time in s\": 0.050945 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.035631404360372, \"RMSE\": 6.4483291916176695, \"R2\": -0.7783857772357967, \"Memory in Mb\": 0.0562467575073242, \"Time in s\": 0.083616 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.693189868957898, \"RMSE\": 7.0697740144659305, \"R2\": -0.4927792786841307, \"Memory in Mb\": 0.0576238632202148, \"Time in s\": 0.119642 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.274396860168236, \"RMSE\": 7.6542276724395, \"R2\": -0.3476225254437259, \"Memory in Mb\": 0.0577573776245117, \"Time in s\": 0.157993 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.216037157212015, \"RMSE\": 7.551012267266295, \"R2\": -0.0719037453282565, \"Memory in Mb\": 0.0578107833862304, \"Time in s\": 0.197604 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.030848211447775, \"RMSE\": 7.321940337412501, \"R2\": 0.1836709538125499, \"Memory in Mb\": 0.058394432067871, \"Time in s\": 0.238591 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 4.907406922429448, \"RMSE\": 7.137924382310331, \"R2\": 0.3406662269828342, \"Memory in Mb\": 0.0584478378295898, \"Time in s\": 0.28091 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.132506734403487, \"RMSE\": 7.341156657504303, \"R2\": 0.439370571581684, \"Memory in Mb\": 0.0584478378295898, \"Time in s\": 0.32452 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.292049153445915, \"RMSE\": 7.468652514259996, \"R2\": 0.5321251372519638, \"Memory in Mb\": 0.0590581893920898, \"Time in s\": 0.369448 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.31698748044205, \"RMSE\": 7.461166418014795, \"R2\": 0.6176873420824156, \"Memory in Mb\": 0.0591115951538085, \"Time in s\": 0.415771 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.300228902480157, \"RMSE\": 7.425148329077998, \"R2\": 0.6988181014109027, \"Memory in Mb\": 0.0590581893920898, \"Time in s\": 0.474994 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 5.830499581707958, \"RMSE\": 9.648698249017793, \"R2\": 0.5807452540036802, \"Memory in Mb\": 0.0252714157104492, \"Time in s\": 0.54427 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 6.400718854692065, \"RMSE\": 10.45569246424029, \"R2\": 0.5689754490886993, \"Memory in Mb\": 0.0314207077026367, \"Time in s\": 0.614353 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 6.611665150046439, \"RMSE\": 10.61745698030736, \"R2\": 0.6198209084753062, \"Memory in Mb\": 0.0365362167358398, \"Time in s\": 0.6853290000000001 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.029624246247838, \"RMSE\": 11.197269958950692, \"R2\": 0.6597654020329642, \"Memory in Mb\": 0.0410680770874023, \"Time in s\": 0.7572760000000001 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.254490759785878, \"RMSE\": 11.350610231674398, \"R2\": 0.6963529412438163, \"Memory in Mb\": 0.0445928573608398, \"Time in s\": 0.830219 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 7.784750145903498, \"RMSE\": 12.258358647532567, \"R2\": 0.6764200982742594, \"Memory in Mb\": 0.0446996688842773, \"Time in s\": 0.904176 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 8.342804112650073, \"RMSE\": 13.247943494163705, \"R2\": 0.6674407623884211, \"Memory in Mb\": 0.0446996688842773, \"Time in s\": 0.986871 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 8.88061114203256, \"RMSE\": 14.075280539927816, \"R2\": 0.6748649197186086, \"Memory in Mb\": 0.0452032089233398, \"Time in s\": 1.0705630000000002 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 9.50078499680378, \"RMSE\": 14.855892526018591, \"R2\": 0.6858683144490312, \"Memory in Mb\": 0.0452299118041992, \"Time in s\": 1.1552540000000002 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 10.07078824210446, \"RMSE\": 15.77018489177999, \"R2\": 0.6847321098344714, \"Memory in Mb\": 0.0452566146850585, \"Time in s\": 1.2409280000000005 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 10.988840488902907, \"RMSE\": 17.80174938329892, \"R2\": 0.6354464447499208, \"Memory in Mb\": 0.0452566146850585, \"Time in s\": 1.3276340000000002 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.635092222175304, \"RMSE\": 18.61329763011445, \"R2\": 0.6589287557789436, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.4153970000000002 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.7817306308102, \"RMSE\": 18.65165772134248, \"R2\": 0.6933268021215234, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.5042310000000003 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 11.878812775671824, \"RMSE\": 18.699040402285984, \"R2\": 0.7198024587207095, \"Memory in Mb\": 0.0452833175659179, \"Time in s\": 1.5941090000000002 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 12.712200605470676, \"RMSE\": 19.934033697107445, \"R2\": 0.690787203614232, \"Memory in Mb\": 0.0453100204467773, \"Time in s\": 1.685007 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.202927457133043, \"RMSE\": 20.9603625224819, \"R2\": 0.6857237785454591, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.776946 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.5542070698499, \"RMSE\": 21.51079994203591, \"R2\": 0.707149447507495, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.869942 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 13.642433072457155, \"RMSE\": 21.454130101613703, \"R2\": 0.7283852775805406, \"Memory in Mb\": 0.0453367233276367, \"Time in s\": 1.963987 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 14.50232093628697, \"RMSE\": 22.86556238504221, \"R2\": 0.7132152539462153, \"Memory in Mb\": 0.0456762313842773, \"Time in s\": 2.060696 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.245933470432924, \"RMSE\": 24.220098655355127, \"R2\": 0.6979521608965717, \"Memory in Mb\": 0.045729637145996, \"Time in s\": 2.158386 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.766409258920858, \"RMSE\": 25.08619072251902, \"R2\": 0.7120527209837302, \"Memory in Mb\": 0.045729637145996, \"Time in s\": 2.2570650000000003 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 15.931210335947624, \"RMSE\": 25.166941851240068, \"R2\": 0.7307081986676882, \"Memory in Mb\": 0.0456495285034179, \"Time in s\": 2.4439120000000005 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 16.418312975299003, \"RMSE\": 25.73673973791796, \"R2\": 0.7303482652633313, \"Memory in Mb\": 0.0461797714233398, \"Time in s\": 2.6336030000000004 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 17.4982370763817, \"RMSE\": 27.78944281741256, \"R2\": 0.7047111429028308, \"Memory in Mb\": 0.0469236373901367, \"Time in s\": 2.8262370000000003 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 18.254684132762545, \"RMSE\": 29.056725346353637, \"R2\": 0.7149358826261665, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 3.0200670000000005 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 18.58513038702809, \"RMSE\": 29.35463525495672, \"R2\": 0.7250038129485413, \"Memory in Mb\": 0.046950340270996, \"Time in s\": 3.2149970000000003 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 19.01404260598322, \"RMSE\": 29.86038018890717, \"R2\": 0.7323226450377984, \"Memory in Mb\": 0.0468969345092773, \"Time in s\": 3.430483 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 19.88342353555136, \"RMSE\": 31.26600741511644, \"R2\": 0.7150584356224581, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 3.648791 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 20.595063111922972, \"RMSE\": 32.24616798680886, \"R2\": 0.713982273554131, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 3.869932 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 21.38047446701005, \"RMSE\": 33.43504054753495, \"R2\": 0.7235347994633756, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.098743 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 21.53249764026729, \"RMSE\": 33.42135235584957, \"R2\": 0.735168024057878, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.328606 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 22.49918784329445, \"RMSE\": 35.002118414433774, \"R2\": 0.7184757368310433, \"Memory in Mb\": 0.0470304489135742, \"Time in s\": 4.559521999999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 23.19163412189557, \"RMSE\": 35.912468657285935, \"R2\": 0.7166015220750928, \"Memory in Mb\": 0.0470037460327148, \"Time in s\": 4.791517 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 24.04065682138389, \"RMSE\": 37.100860859043735, \"R2\": 0.7202195492645626, \"Memory in Mb\": 0.046950340270996, \"Time in s\": 5.02459 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"ChickWeights\", \"MAE\": 24.19431912937701, \"RMSE\": 37.21658551958108, \"R2\": 0.7253190778127725, \"Memory in Mb\": 0.0469770431518554, \"Time in s\": 5.258551 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.695184981652336, \"RMSE\": 9.807184976514188, \"R2\": -224.6021011118197, \"Memory in Mb\": 0.0538091659545898, \"Time in s\": 0.004347 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3994713447037435, \"RMSE\": 7.102066178895935, \"R2\": -19.27845129783118, \"Memory in Mb\": 0.0761518478393554, \"Time in s\": 0.011776 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8170744682035584, \"RMSE\": 5.815253847056423, \"R2\": -17.329373299766118, \"Memory in Mb\": 0.0883970260620117, \"Time in s\": 0.021496 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.604995404573344, \"RMSE\": 5.081770494168446, \"R2\": -13.040545957103586, \"Memory in Mb\": 0.0980443954467773, \"Time in s\": 0.033628 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.824259078948539, \"RMSE\": 4.70488333223354, \"R2\": -6.5512954222403845, \"Memory in Mb\": 0.1071348190307617, \"Time in s\": 0.048339 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.918744608116588, \"RMSE\": 4.412336880489357, \"R2\": -4.634185300646759, \"Memory in Mb\": 0.1113233566284179, \"Time in s\": 0.066047 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8761207739327503, \"RMSE\": 4.13187920011476, \"R2\": -4.105616799680584, \"Memory in Mb\": 0.1133375167846679, \"Time in s\": 0.086317 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.961232939518506, \"RMSE\": 3.976173487274506, \"R2\": -3.1695661963674864, \"Memory in Mb\": 0.1174459457397461, \"Time in s\": 0.109348 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.066134597500757, \"RMSE\": 3.873731518767916, \"R2\": -2.4756944369169624, \"Memory in Mb\": 0.1194601058959961, \"Time in s\": 0.13519 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.051125997923389, \"RMSE\": 3.731810291394655, \"R2\": -2.23527456693896, \"Memory in Mb\": 0.017618179321289, \"Time in s\": 0.169486 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.0738811328897206, \"RMSE\": 4.417664564856108, \"R2\": -3.890594467356201, \"Memory in Mb\": 0.0357999801635742, \"Time in s\": 0.205189 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9726100065438288, \"RMSE\": 4.237524240975239, \"R2\": -3.5337340888030546, \"Memory in Mb\": 0.0414991378784179, \"Time in s\": 0.242476 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8594315384151243, \"RMSE\": 4.074751007989252, \"R2\": -3.248610147038553, \"Memory in Mb\": 0.048842430114746, \"Time in s\": 0.281406 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7773205119132678, \"RMSE\": 3.936654153117972, \"R2\": -3.1518424972300867, \"Memory in Mb\": 0.0637884140014648, \"Time in s\": 0.322149 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8265705896173516, \"RMSE\": 3.8591002097544127, \"R2\": -2.923813511442849, \"Memory in Mb\": 0.0734968185424804, \"Time in s\": 0.364943 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7442837931334845, \"RMSE\": 3.739506488697679, \"R2\": -2.866813933026025, \"Memory in Mb\": 0.0810766220092773, \"Time in s\": 0.409782 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6994316865849048, \"RMSE\": 3.638004990484729, \"R2\": -2.8674589929341425, \"Memory in Mb\": 0.0861921310424804, \"Time in s\": 0.456846 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6868885299887, \"RMSE\": 3.55458556923881, \"R2\": -2.7224500036418355, \"Memory in Mb\": 0.0937795639038086, \"Time in s\": 0.506202 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.637461983479605, \"RMSE\": 3.464628975063406, \"R2\": -2.658760364179245, \"Memory in Mb\": 0.0988950729370117, \"Time in s\": 0.560423 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.622197889515682, \"RMSE\": 3.392154183911459, \"R2\": -2.6064142473473755, \"Memory in Mb\": 0.1061124801635742, \"Time in s\": 0.624493 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6252883623828789, \"RMSE\": 3.33131196963583, \"R2\": -2.593313247083074, \"Memory in Mb\": 0.1101140975952148, \"Time in s\": 0.691125 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.663593439145693, \"RMSE\": 3.2993129689970107, \"R2\": -2.4608371725208844, \"Memory in Mb\": 0.1157598495483398, \"Time in s\": 0.760369 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6928806013876203, \"RMSE\": 3.26900202016339, \"R2\": -2.221881423949668, \"Memory in Mb\": 0.1238431930541992, \"Time in s\": 0.832438 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6463369530072471, \"RMSE\": 3.2036213976345094, \"R2\": -2.023106408032965, \"Memory in Mb\": 0.1315031051635742, \"Time in s\": 0.907505 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6312675040418116, \"RMSE\": 3.1569789450171624, \"R2\": -1.8741285299844173, \"Memory in Mb\": 0.0784368515014648, \"Time in s\": 0.99002 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6486177246548734, \"RMSE\": 3.1232792518100463, \"R2\": -1.81800645719813, \"Memory in Mb\": 0.0835790634155273, \"Time in s\": 1.082168 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.664948820150162, \"RMSE\": 3.091452157271598, \"R2\": -1.7507490735781142, \"Memory in Mb\": 0.0873861312866211, \"Time in s\": 1.179534 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6361907885919602, \"RMSE\": 3.043459997537018, \"R2\": -1.7295303491345493, \"Memory in Mb\": 0.0885534286499023, \"Time in s\": 1.466782 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6082012495575049, \"RMSE\": 2.9965453347231947, \"R2\": -1.7114709556760634, \"Memory in Mb\": 0.0890569686889648, \"Time in s\": 1.757406 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.622569336171024, \"RMSE\": 2.97009213510141, \"R2\": -1.634341750696236, \"Memory in Mb\": 0.0909147262573242, \"Time in s\": 2.050417 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.636890396487252, \"RMSE\": 2.946158197159977, \"R2\": -1.5525460315178896, \"Memory in Mb\": 0.0923452377319336, \"Time in s\": 2.345765 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.652159107256621, \"RMSE\": 2.9245287804119107, \"R2\": -1.4681901897894076, \"Memory in Mb\": 0.0944395065307617, \"Time in s\": 2.643466 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6570267761004454, \"RMSE\": 2.8972896524900835, \"R2\": -1.4050084478390592, \"Memory in Mb\": 0.0960302352905273, \"Time in s\": 2.943569 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6362052297782712, \"RMSE\": 2.859601997032609, \"R2\": -1.379870428705038, \"Memory in Mb\": 0.0981245040893554, \"Time in s\": 3.2460560000000003 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.608205636538717, \"RMSE\": 2.821326923745488, \"R2\": -1.377433396876134, \"Memory in Mb\": 0.1015691757202148, \"Time in s\": 3.5543920000000004 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5855230254631891, \"RMSE\": 2.785659545407005, \"R2\": -1.3686218528413674, \"Memory in Mb\": 0.1027364730834961, \"Time in s\": 3.875571 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.583695771004626, \"RMSE\": 2.7597111871599203, \"R2\": -1.3233016566851918, \"Memory in Mb\": 0.1038503646850586, \"Time in s\": 4.202987 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5704020318609786, \"RMSE\": 2.7290361106702816, \"R2\": -1.2965538228485634, \"Memory in Mb\": 0.1038503646850586, \"Time in s\": 4.532954 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5638796853366008, \"RMSE\": 2.702190403614744, \"R2\": -1.2616800152467116, \"Memory in Mb\": 0.1064214706420898, \"Time in s\": 4.876142 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5494799828615766, \"RMSE\": 2.674411214594314, \"R2\": -1.2354538504080876, \"Memory in Mb\": 0.1070318222045898, \"Time in s\": 5.221917 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.533437809889996, \"RMSE\": 2.6465115200139584, \"R2\": -1.213096407446464, \"Memory in Mb\": 0.1085958480834961, \"Time in s\": 5.570086999999999 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5202839319169328, \"RMSE\": 2.6201051582792827, \"R2\": -1.189291971541785, \"Memory in Mb\": 0.1101598739624023, \"Time in s\": 5.920738999999999 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5178574341866524, \"RMSE\": 2.5988091386120904, \"R2\": -1.1501373691585313, \"Memory in Mb\": 0.1107702255249023, \"Time in s\": 6.280333 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4962844530295305, \"RMSE\": 2.571223801389781, \"R2\": -1.094275733877604, \"Memory in Mb\": 0.1112470626831054, \"Time in s\": 6.652339 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4724252749133646, \"RMSE\": 2.5436398469986066, \"R2\": -1.0582196084183888, \"Memory in Mb\": 0.1116437911987304, \"Time in s\": 7.031402 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4596881679466962, \"RMSE\": 2.5220256913044325, \"R2\": -1.056635177134157, \"Memory in Mb\": 0.1116704940795898, \"Time in s\": 7.413564 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.452139596196528, \"RMSE\": 2.5028075284250018, \"R2\": -1.0425932823285438, \"Memory in Mb\": 0.1127042770385742, \"Time in s\": 7.802334 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4364147887122178, \"RMSE\": 2.481230554777158, \"R2\": -1.0285162299402342, \"Memory in Mb\": 0.1132078170776367, \"Time in s\": 8.193766 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4186260884044517, \"RMSE\": 2.45780687839372, \"R2\": -1.029053861068545, \"Memory in Mb\": 0.1138181686401367, \"Time in s\": 8.587828 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3997779646996389, \"RMSE\": 2.434572696055838, \"R2\": -1.024386017127401, \"Memory in Mb\": 0.1144285202026367, \"Time in s\": 8.984547 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Adaptive Model Rules\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3984653255896196, \"RMSE\": 2.433357833975862, \"R2\": -1.0237164038272608, \"Memory in Mb\": 0.1144285202026367, \"Time in s\": 9.38293 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.674710287324511, \"RMSE\": 12.709622005759083, \"R2\": -206.93269654300337, \"Memory in Mb\": 0.1438665390014648, \"Time in s\": 0.053261 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.741934273684416, \"RMSE\": 9.017856101646904, \"R2\": -85.12629469646626, \"Memory in Mb\": 0.1680784225463867, \"Time in s\": 0.14276 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.35434760029741, \"RMSE\": 7.430504888974863, \"R2\": -37.34585890537725, \"Memory in Mb\": 0.2096052169799804, \"Time in s\": 0.266148 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 1.9327820011330463, \"RMSE\": 6.452362261246447, \"R2\": -31.77814024428305, \"Memory in Mb\": 0.2417478561401367, \"Time in s\": 0.646479 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.2606373648191784, \"RMSE\": 6.146136842066936, \"R2\": -6.374120366305681, \"Memory in Mb\": 0.3060827255249023, \"Time in s\": 1.057843 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3521495161457717, \"RMSE\": 5.750947689984691, \"R2\": -1.7831107407377038, \"Memory in Mb\": 0.3567266464233398, \"Time in s\": 1.521792 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.707478618787897, \"RMSE\": 5.832856917221716, \"R2\": -0.9188552689556648, \"Memory in Mb\": 0.3732900619506836, \"Time in s\": 2.259814 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.60389034076398, \"RMSE\": 5.525482549715508, \"R2\": -0.5612341217350767, \"Memory in Mb\": 0.4128637313842773, \"Time in s\": 3.03269 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.7646559934763437, \"RMSE\": 5.466320467144536, \"R2\": -0.2779732207399938, \"Memory in Mb\": 0.4623746871948242, \"Time in s\": 3.85418 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 2.880719733615897, \"RMSE\": 5.407041915578862, \"R2\": 0.1268195431914148, \"Memory in Mb\": 0.5318593978881836, \"Time in s\": 4.717509000000001 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.0896780011355176, \"RMSE\": 5.466874267225462, \"R2\": 0.3125459405386915, \"Memory in Mb\": 0.5604543685913086, \"Time in s\": 5.631386000000001 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.270943191870578, \"RMSE\": 5.7618521847151385, \"R2\": 0.3758777549527384, \"Memory in Mb\": 0.1946859359741211, \"Time in s\": 6.649151000000001 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.24701597703502, \"RMSE\": 5.633009027852055, \"R2\": 0.5168368848346436, \"Memory in Mb\": 0.2288389205932617, \"Time in s\": 7.703019000000001 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.2192007860807728, \"RMSE\": 5.520141144427338, \"R2\": 0.6056681999848637, \"Memory in Mb\": 0.2577199935913086, \"Time in s\": 8.869892000000002 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.5165819956804767, \"RMSE\": 5.874797514643079, \"R2\": 0.6409683688760216, \"Memory in Mb\": 0.2627325057983398, \"Time in s\": 10.065309000000005 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.700430602978386, \"RMSE\": 6.068185859760413, \"R2\": 0.6911390854727877, \"Memory in Mb\": 0.2941198348999023, \"Time in s\": 11.324773000000002 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 3.803730902742884, \"RMSE\": 6.1218084380222, \"R2\": 0.7426259865968339, \"Memory in Mb\": 0.3320951461791992, \"Time in s\": 12.629055000000005 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.006649900662983, \"RMSE\": 6.578339511639692, \"R2\": 0.7635979888713487, \"Memory in Mb\": 0.2527418136596679, \"Time in s\": 13.981910000000005 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.229383118423565, \"RMSE\": 6.982583803939909, \"R2\": 0.780430075854037, \"Memory in Mb\": 0.3202161788940429, \"Time in s\": 15.391493000000002 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 4.825249759558611, \"RMSE\": 8.423350501384354, \"R2\": 0.720252540483964, \"Memory in Mb\": 0.3510808944702148, \"Time in s\": 16.880127 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.088028806665401, \"RMSE\": 8.669832171958772, \"R2\": 0.7465054715218886, \"Memory in Mb\": 0.3200139999389648, \"Time in s\": 18.399834 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.462442991686406, \"RMSE\": 9.175585237136575, \"R2\": 0.7715339230013022, \"Memory in Mb\": 0.3710927963256836, \"Time in s\": 20.020863 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 5.563619467556412, \"RMSE\": 9.260101660572657, \"R2\": 0.797901929856006, \"Memory in Mb\": 0.4192609786987304, \"Time in s\": 21.677784000000003 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 6.261116867150435, \"RMSE\": 10.599777327157994, \"R2\": 0.7580584961853923, \"Memory in Mb\": 0.3416013717651367, \"Time in s\": 23.387217000000003 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 6.742618468073929, \"RMSE\": 11.80224059778972, \"R2\": 0.7360625543191792, \"Memory in Mb\": 0.3569021224975586, \"Time in s\": 25.127202000000004 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.039594962415952, \"RMSE\": 12.249488193444416, \"R2\": 0.7537446936710837, \"Memory in Mb\": 0.3965520858764648, \"Time in s\": 26.911059000000005 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.148800229885712, \"RMSE\": 12.311677740983953, \"R2\": 0.7842510327710687, \"Memory in Mb\": 0.4258260726928711, \"Time in s\": 28.739538000000007 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 7.753683144422786, \"RMSE\": 13.244190950829555, \"R2\": 0.7776398094561477, \"Memory in Mb\": 0.4501142501831054, \"Time in s\": 30.59385600000001 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 8.773143666519827, \"RMSE\": 15.93975365978218, \"R2\": 0.7077199430319765, \"Memory in Mb\": 0.4718656539916992, \"Time in s\": 32.508295000000004 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.312574124937234, \"RMSE\": 16.796832021919023, \"R2\": 0.7222505421616592, \"Memory in Mb\": 0.3236379623413086, \"Time in s\": 34.514388000000004 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.544591695703463, \"RMSE\": 16.94083213248977, \"R2\": 0.7470058810264122, \"Memory in Mb\": 0.3676939010620117, \"Time in s\": 36.550995 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 9.680039805071171, \"RMSE\": 17.006622056031052, \"R2\": 0.7682275557667291, \"Memory in Mb\": 0.3629522323608398, \"Time in s\": 38.648436 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 10.417098847501563, \"RMSE\": 18.381838377902795, \"R2\": 0.7370670774420947, \"Memory in Mb\": 0.3571195602416992, \"Time in s\": 40.771216 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.080869197293334, \"RMSE\": 19.965812195666537, \"R2\": 0.7148404591067161, \"Memory in Mb\": 0.3998785018920898, \"Time in s\": 42.937715 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.60940210623338, \"RMSE\": 20.687378926969966, \"R2\": 0.7291406299077132, \"Memory in Mb\": 0.3288450241088867, \"Time in s\": 45.213373 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 11.737814918904208, \"RMSE\": 20.678726756260627, \"R2\": 0.7476640805491588, \"Memory in Mb\": 0.4024953842163086, \"Time in s\": 47.506899 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 12.682108791666492, \"RMSE\": 22.361726245252385, \"R2\": 0.7257144517605874, \"Memory in Mb\": 0.4475545883178711, \"Time in s\": 49.84079500000001 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 13.622708961705229, \"RMSE\": 24.146094170569185, \"R2\": 0.6997951546356598, \"Memory in Mb\": 0.4968290328979492, \"Time in s\": 52.212878 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.165217959113354, \"RMSE\": 24.88032134675199, \"R2\": 0.7167593971826183, \"Memory in Mb\": 0.5376424789428711, \"Time in s\": 54.630802 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.411006646174876, \"RMSE\": 24.97835315387625, \"R2\": 0.7347289581181171, \"Memory in Mb\": 0.5657072067260742, \"Time in s\": 57.077112 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 14.766578325445964, \"RMSE\": 25.376772271610328, \"R2\": 0.7378384948653763, \"Memory in Mb\": 0.2583265304565429, \"Time in s\": 59.570857 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 16.09445226127713, \"RMSE\": 28.12961105819035, \"R2\": 0.6974376845026461, \"Memory in Mb\": 0.3047628402709961, \"Time in s\": 62.101038 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 16.916275460891086, \"RMSE\": 29.341089843915015, \"R2\": 0.7093290035354769, \"Memory in Mb\": 0.3544912338256836, \"Time in s\": 64.67061 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 17.222566694739786, \"RMSE\": 29.549549967606488, \"R2\": 0.7213397403469026, \"Memory in Mb\": 0.3983259201049804, \"Time in s\": 67.26974899999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 17.854950072386483, \"RMSE\": 30.34354672604944, \"R2\": 0.7235900637963901, \"Memory in Mb\": 0.4324254989624023, \"Time in s\": 69.89740799999998 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 18.84874733203415, \"RMSE\": 31.79966974813451, \"R2\": 0.7052484004379906, \"Memory in Mb\": 0.4678411483764648, \"Time in s\": 72.66954099999998 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 19.785853660032195, \"RMSE\": 33.20181112471305, \"R2\": 0.6967783021275082, \"Memory in Mb\": 0.4975500106811523, \"Time in s\": 75.49558399999998 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 20.52664258005787, \"RMSE\": 34.100310164439925, \"R2\": 0.7124234805234935, \"Memory in Mb\": 0.5351285934448242, \"Time in s\": 78.36005299999998 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 20.766026265849117, \"RMSE\": 34.21097619783695, \"R2\": 0.7225061795517687, \"Memory in Mb\": 0.576685905456543, \"Time in s\": 81.26779099999997 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 21.840503815170692, \"RMSE\": 36.15896607268933, \"R2\": 0.6995590139862528, \"Memory in Mb\": 0.4753904342651367, \"Time in s\": 84.25568299999998 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 22.59690624313325, \"RMSE\": 37.108967777985264, \"R2\": 0.6974029137241997, \"Memory in Mb\": 0.5189352035522461, \"Time in s\": 87.27382099999997 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 23.534320250737128, \"RMSE\": 38.28067851879141, \"R2\": 0.7021424273708647, \"Memory in Mb\": 0.5585355758666992, \"Time in s\": 90.32555299999996 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"ChickWeights\", \"MAE\": 23.709683411591413, \"RMSE\": 38.44162901827647, \"R2\": 0.7069383356385298, \"Memory in Mb\": 0.3551816940307617, \"Time in s\": 93.40141099999995 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.677140920600926, \"RMSE\": 9.804891856735376, \"R2\": -224.4966127051096, \"Memory in Mb\": 0.2373647689819336, \"Time in s\": 0.078317 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.42676306487335, \"RMSE\": 7.150663284447028, \"R2\": -19.556918338481843, \"Memory in Mb\": 0.3270711898803711, \"Time in s\": 0.2600639999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8116457742622056, \"RMSE\": 5.852230884873156, \"R2\": -17.563213740222555, \"Memory in Mb\": 0.3493108749389648, \"Time in s\": 0.628767 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5261658032230545, \"RMSE\": 5.084894428469453, \"R2\": -13.057813649460384, \"Memory in Mb\": 0.3968191146850586, \"Time in s\": 1.163603 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.404885103917059, \"RMSE\": 4.580518627305071, \"R2\": -6.157363117938322, \"Memory in Mb\": 0.4107885360717773, \"Time in s\": 1.7740749999999998 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2872329076385731, \"RMSE\": 4.198963935277897, \"R2\": -4.102442140657352, \"Memory in Mb\": 0.4562673568725586, \"Time in s\": 2.455989 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4191481295394186, \"RMSE\": 4.9019146331166, \"R2\": -6.185954638838571, \"Memory in Mb\": 0.2026891708374023, \"Time in s\": 3.22825 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.329290869551211, \"RMSE\": 4.594852312450113, \"R2\": -4.568052693162012, \"Memory in Mb\": 0.3215742111206054, \"Time in s\": 4.121231 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2559271503392595, \"RMSE\": 4.341680890984575, \"R2\": -3.3661470093978725, \"Memory in Mb\": 0.4017667770385742, \"Time in s\": 5.147797 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.169313410896163, \"RMSE\": 4.12134361195162, \"R2\": -2.94593273053925, \"Memory in Mb\": 0.4772901535034179, \"Time in s\": 6.338072 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1066399346497042, \"RMSE\": 3.9344660517514094, \"R2\": -2.8792501333638807, \"Memory in Mb\": 0.5200605392456055, \"Time in s\": 7.615136 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0535228972416335, \"RMSE\": 3.7704097053754206, \"R2\": -2.589291599563797, \"Memory in Mb\": 0.590418815612793, \"Time in s\": 8.98983 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0002808672832586, \"RMSE\": 3.624331376507975, \"R2\": -2.3612477765650133, \"Memory in Mb\": 0.677699089050293, \"Time in s\": 10.49221 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9484528900796008, \"RMSE\": 3.4935839886686573, \"R2\": -2.269856713922535, \"Memory in Mb\": 0.7459287643432617, \"Time in s\": 12.09809 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9319658343242508, \"RMSE\": 3.3810597344709987, \"R2\": -2.011909605217061, \"Memory in Mb\": 0.8300580978393555, \"Time in s\": 13.828036 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9015525068993324, \"RMSE\": 3.2761126415748776, \"R2\": -1.9678527090537403, \"Memory in Mb\": 0.8134641647338867, \"Time in s\": 15.697273999999998 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9086073156973856, \"RMSE\": 3.206516550071244, \"R2\": -2.0044577988421626, \"Memory in Mb\": 0.7938528060913086, \"Time in s\": 17.678026 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9209686764414104, \"RMSE\": 3.130698586248577, \"R2\": -1.887576115168536, \"Memory in Mb\": 0.8660383224487305, \"Time in s\": 19.789752 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9054594388814018, \"RMSE\": 3.0518145886207013, \"R2\": -1.838813023440576, \"Memory in Mb\": 0.930495262145996, \"Time in s\": 22.025823 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9021459083449618, \"RMSE\": 2.9892737243691805, \"R2\": -1.8006304820861794, \"Memory in Mb\": 0.9046812057495116, \"Time in s\": 24.377516 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9000900027115483, \"RMSE\": 2.937103674242639, \"R2\": -1.7932063526136273, \"Memory in Mb\": 0.2984609603881836, \"Time in s\": 26.835964 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.884833385913356, \"RMSE\": 2.873027664171451, \"R2\": -1.6243016536608597, \"Memory in Mb\": 0.3453207015991211, \"Time in s\": 29.357596 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8690754265879537, \"RMSE\": 2.8131168800056585, \"R2\": -1.3859136859847618, \"Memory in Mb\": 0.3807516098022461, \"Time in s\": 31.984181 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8473225380080763, \"RMSE\": 2.75510952719956, \"R2\": -1.235881587238783, \"Memory in Mb\": 0.4482488632202148, \"Time in s\": 34.68911 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8286186581223807, \"RMSE\": 2.701061117260836, \"R2\": -1.1039316995995572, \"Memory in Mb\": 0.4975194931030273, \"Time in s\": 37.472375 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8308331247066605, \"RMSE\": 2.676087993829765, \"R2\": -1.0688124961584973, \"Memory in Mb\": 0.3753881454467773, \"Time in s\": 40.349897 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.8063786739892863, \"RMSE\": 2.6263308571208617, \"R2\": -0.9852938090834252, \"Memory in Mb\": 0.4063673019409179, \"Time in s\": 43.316687 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7997929461413226, \"RMSE\": 2.582727501713279, \"R2\": -0.9656668153374994, \"Memory in Mb\": 0.4374494552612304, \"Time in s\": 46.3679 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7908850979728871, \"RMSE\": 2.541457165367321, \"R2\": -0.950423138286411, \"Memory in Mb\": 0.4967718124389648, \"Time in s\": 49.479346 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7789627943481009, \"RMSE\": 2.500361162030882, \"R2\": -0.8669718089652279, \"Memory in Mb\": 0.569575309753418, \"Time in s\": 52.654549 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7682254429218135, \"RMSE\": 2.461677332861117, \"R2\": -0.7820656947310429, \"Memory in Mb\": 0.6584272384643555, \"Time in s\": 55.885269 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.756836908225871, \"RMSE\": 2.4246570785119217, \"R2\": -0.6965531574296129, \"Memory in Mb\": 0.7120962142944336, \"Time in s\": 59.181412 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7406340846119412, \"RMSE\": 2.388088765643962, \"R2\": -0.6339309775627988, \"Memory in Mb\": 0.8089780807495117, \"Time in s\": 62.54643 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7257657440750075, \"RMSE\": 2.3532857176647086, \"R2\": -0.6117268738432657, \"Memory in Mb\": 0.8398160934448242, \"Time in s\": 65.979515 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7284794894639326, \"RMSE\": 2.325029779726661, \"R2\": -0.6145762958857721, \"Memory in Mb\": 0.9275884628295898, \"Time in s\": 69.48963400000001 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7231955460113827, \"RMSE\": 2.297270435922827, \"R2\": -0.6108826519065647, \"Memory in Mb\": 0.9087285995483398, \"Time in s\": 73.071921 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7217944839950929, \"RMSE\": 2.2699024953355416, \"R2\": -0.5717835473178023, \"Memory in Mb\": 0.8719320297241211, \"Time in s\": 76.723943 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7121024512438853, \"RMSE\": 2.241058668519108, \"R2\": -0.5486900768629306, \"Memory in Mb\": 0.929518699645996, \"Time in s\": 80.452493 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7019422114012909, \"RMSE\": 2.213016497735788, \"R2\": -0.5169405784918113, \"Memory in Mb\": 1.0446271896362305, \"Time in s\": 84.252351 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.7005931807120314, \"RMSE\": 2.188428332233621, \"R2\": -0.4968352306391974, \"Memory in Mb\": 1.1031560897827148, \"Time in s\": 88.13395700000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6997484436891046, \"RMSE\": 2.169363820936814, \"R2\": -0.4870225063787143, \"Memory in Mb\": 1.0328702926635742, \"Time in s\": 92.08914500000002 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6949195885567419, \"RMSE\": 2.14957176369946, \"R2\": -0.4735678496288336, \"Memory in Mb\": 0.7475957870483398, \"Time in s\": 96.10836100000002 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6920590805093112, \"RMSE\": 2.1264870362465933, \"R2\": -0.439603572136809, \"Memory in Mb\": 0.8119535446166992, \"Time in s\": 100.182244 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6882027439938415, \"RMSE\": 2.1038322601427426, \"R2\": -0.4020913886240724, \"Memory in Mb\": 0.8655576705932617, \"Time in s\": 104.313167 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6818594219129391, \"RMSE\": 2.085410616994055, \"R2\": -0.38345052454273, \"Memory in Mb\": 0.8467855453491211, \"Time in s\": 108.503439 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6756248333192205, \"RMSE\": 2.0637081851469703, \"R2\": -0.377066205838211, \"Memory in Mb\": 0.9400205612182616, \"Time in s\": 112.753186 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6689624136970388, \"RMSE\": 2.0428592411141837, \"R2\": -0.3608300191067024, \"Memory in Mb\": 0.8168668746948242, \"Time in s\": 117.061539 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6627773066160889, \"RMSE\": 2.022520414368002, \"R2\": -0.3478143420231987, \"Memory in Mb\": 0.9120321273803712, \"Time in s\": 121.43268700000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6600305544016135, \"RMSE\": 2.003593726688123, \"R2\": -0.348395800771305, \"Memory in Mb\": 0.9782476425170898, \"Time in s\": 125.86239700000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.657029407021691, \"RMSE\": 1.9853014454830336, \"R2\": -0.3461726175729922, \"Memory in Mb\": 1.0593442916870115, \"Time in s\": 130.37428000000003 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Streaming Random Patches\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.6566965628025029, \"RMSE\": 1.984335939466105, \"R2\": -0.3457614763231473, \"Memory in Mb\": 1.0646085739135742, \"Time in s\": 134.90266400000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.95559056599966, \"RMSE\": 17.7409835250609, \"R2\": -404.147256051216, \"Memory in Mb\": 0.1553668975830078, \"Time in s\": 0.005094 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.88626580700965, \"RMSE\": 12.566688603347808, \"R2\": -166.25182631838038, \"Memory in Mb\": 0.1681652069091797, \"Time in s\": 0.018278 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.383857039198176, \"RMSE\": 10.299865918219764, \"R2\": -72.67921052893462, \"Memory in Mb\": 0.2052059173583984, \"Time in s\": 0.039075 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.446496162870555, \"RMSE\": 8.931116231999566, \"R2\": -61.79980671874969, \"Memory in Mb\": 0.2209186553955078, \"Time in s\": 0.065167 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.3513349782155037, \"RMSE\": 8.247717183177938, \"R2\": -12.279242202465667, \"Memory in Mb\": 0.2687969207763672, \"Time in s\": 0.096566 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 3.889627188952696, \"RMSE\": 8.0458642201752, \"R2\": -4.4474976461238604, \"Memory in Mb\": 0.3383464813232422, \"Time in s\": 0.144605 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.337751636727128, \"RMSE\": 7.9681159743419645, \"R2\": -2.5808890563388096, \"Memory in Mb\": 0.3940753936767578, \"Time in s\": 0.201306 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.489908334389532, \"RMSE\": 7.740787033322287, \"R2\": -2.0640641214272355, \"Memory in Mb\": 0.4405231475830078, \"Time in s\": 0.274421 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.7831270806190425, \"RMSE\": 7.705843596650206, \"R2\": -1.5396388125269618, \"Memory in Mb\": 0.4615802764892578, \"Time in s\": 0.372843 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.73395080514245, \"RMSE\": 7.47334250555501, \"R2\": -0.6680701376440403, \"Memory in Mb\": 0.4910602569580078, \"Time in s\": 0.5845670000000001 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.733710015085173, \"RMSE\": 7.331306378435282, \"R2\": -0.236312465025352, \"Memory in Mb\": 0.5042209625244141, \"Time in s\": 0.806575 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.565752852065114, \"RMSE\": 7.0976416640915465, \"R2\": 0.0529485447239657, \"Memory in Mb\": 0.5126438140869141, \"Time in s\": 1.039517 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.439022558662509, \"RMSE\": 6.895745596080793, \"R2\": 0.2759386934515202, \"Memory in Mb\": 0.5216274261474609, \"Time in s\": 1.284562 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.362170284876481, \"RMSE\": 6.736533340066285, \"R2\": 0.4127346685162743, \"Memory in Mb\": 0.5262050628662109, \"Time in s\": 1.543379 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.647894929983432, \"RMSE\": 7.008861526290804, \"R2\": 0.4889753297409128, \"Memory in Mb\": 0.5290126800537109, \"Time in s\": 1.82575 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.817744211127824, \"RMSE\": 7.136288548419971, \"R2\": 0.5728405597677722, \"Memory in Mb\": 0.5066156387329102, \"Time in s\": 2.145522 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.867036081233358, \"RMSE\": 7.152118590173611, \"R2\": 0.6487028411390494, \"Memory in Mb\": 0.4790925979614258, \"Time in s\": 2.491984 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 4.887061675652274, \"RMSE\": 7.15502256260352, \"R2\": 0.720333392468735, \"Memory in Mb\": 0.3514680862426758, \"Time in s\": 2.944156 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.070260383978678, \"RMSE\": 7.484020932149266, \"R2\": 0.7477619935177958, \"Memory in Mb\": 0.3277406692504883, \"Time in s\": 3.412471 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.671227628293087, \"RMSE\": 8.602358503958763, \"R2\": 0.7082361492582977, \"Memory in Mb\": 0.3353548049926758, \"Time in s\": 3.897275 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 5.872335352103937, \"RMSE\": 8.83175934179542, \"R2\": 0.7369479677711775, \"Memory in Mb\": 0.372288703918457, \"Time in s\": 4.389179 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.107145463120707, \"RMSE\": 9.222510821361375, \"R2\": 0.769191114739663, \"Memory in Mb\": 0.3991250991821289, \"Time in s\": 4.889463 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.19844823305091, \"RMSE\": 9.33633324769997, \"R2\": 0.7945607849348244, \"Memory in Mb\": 0.4207086563110351, \"Time in s\": 5.506109 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 6.823605404288741, \"RMSE\": 10.586090935492884, \"R2\": 0.758682880699561, \"Memory in Mb\": 0.4333581924438476, \"Time in s\": 6.131382 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.289576170484155, \"RMSE\": 11.670233638164651, \"R2\": 0.7419337665758028, \"Memory in Mb\": 0.4418039321899414, \"Time in s\": 6.777342 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.579012857443305, \"RMSE\": 12.145524073459754, \"R2\": 0.75790700185782, \"Memory in Mb\": 0.4508142471313476, \"Time in s\": 7.439278 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 7.564986803201262, \"RMSE\": 12.135208564512553, \"R2\": 0.7903915740986345, \"Memory in Mb\": 0.4540948867797851, \"Time in s\": 8.115354 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 8.103353916061925, \"RMSE\": 13.02855032884451, \"R2\": 0.7848217554522041, \"Memory in Mb\": 0.4577798843383789, \"Time in s\": 8.913327 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.2182891996096, \"RMSE\": 15.75502466975724, \"R2\": 0.7144552709875674, \"Memory in Mb\": 0.4609994888305664, \"Time in s\": 9.721339 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.685083231372472, \"RMSE\": 16.400765556025647, \"R2\": 0.7351946818510116, \"Memory in Mb\": 0.4719209671020508, \"Time in s\": 10.546217 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 9.903299441393282, \"RMSE\": 16.527032528363478, \"R2\": 0.759214288686034, \"Memory in Mb\": 0.477086067199707, \"Time in s\": 11.387382 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.047801743751696, \"RMSE\": 16.62843798311862, \"R2\": 0.778421004008311, \"Memory in Mb\": 0.4848833084106445, \"Time in s\": 12.279877 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 10.963674059851892, \"RMSE\": 18.110346084278056, \"R2\": 0.7447765461541069, \"Memory in Mb\": 0.4873552322387695, \"Time in s\": 13.19145 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 11.492835005144466, \"RMSE\": 19.28081121430548, \"R2\": 0.7340717056357994, \"Memory in Mb\": 0.4739046096801758, \"Time in s\": 14.120497000000002 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 11.898657720927194, \"RMSE\": 19.94321338535613, \"R2\": 0.7482768269892894, \"Memory in Mb\": 0.4488801956176758, \"Time in s\": 15.069160000000002 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 12.0617729851989, \"RMSE\": 19.965773188137263, \"R2\": 0.7647640178574115, \"Memory in Mb\": 0.4161386489868164, \"Time in s\": 16.114715 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 12.97304553348899, \"RMSE\": 21.57136186484404, \"R2\": 0.7447607843499935, \"Memory in Mb\": 0.4060754776000976, \"Time in s\": 17.182106 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 13.747411939847144, \"RMSE\": 23.06575414024212, \"R2\": 0.7260576137332548, \"Memory in Mb\": 0.4295892715454101, \"Time in s\": 18.259955 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 14.305030376306712, \"RMSE\": 23.986335540211613, \"R2\": 0.7367482003695625, \"Memory in Mb\": 0.4628152847290039, \"Time in s\": 19.347052 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 14.526268288674354, \"RMSE\": 24.074522605416067, \"R2\": 0.7535790611891788, \"Memory in Mb\": 0.4899911880493164, \"Time in s\": 20.478651000000003 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 15.027594657922048, \"RMSE\": 24.671918598232004, \"R2\": 0.7521995995009789, \"Memory in Mb\": 0.5175485610961914, \"Time in s\": 21.623166 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 16.208274238827823, \"RMSE\": 27.03842360672758, \"R2\": 0.7204560380476568, \"Memory in Mb\": 0.5713090896606445, \"Time in s\": 22.784126 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 16.99589357541462, \"RMSE\": 28.364120175265192, \"R2\": 0.7283636722963454, \"Memory in Mb\": 0.5903940200805664, \"Time in s\": 23.973479 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 17.304815327407063, \"RMSE\": 28.547476213614512, \"R2\": 0.739918935022724, \"Memory in Mb\": 0.6084756851196289, \"Time in s\": 25.225522 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 17.747173803776352, \"RMSE\": 29.064129392830434, \"R2\": 0.7464079684248853, \"Memory in Mb\": 0.6325922012329102, \"Time in s\": 26.517497 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 18.655435380807354, \"RMSE\": 30.57773482627066, \"R2\": 0.7274654471662664, \"Memory in Mb\": 0.6401453018188477, \"Time in s\": 27.826703 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 19.38212758204995, \"RMSE\": 31.56694275275528, \"R2\": 0.7259045847606268, \"Memory in Mb\": 0.5900964736938477, \"Time in s\": 29.161388 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 20.16255538075237, \"RMSE\": 32.73116726334994, \"R2\": 0.7350525453098611, \"Memory in Mb\": 0.6013956069946289, \"Time in s\": 30.57764 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 20.34377517847412, \"RMSE\": 32.75647044736101, \"R2\": 0.7456003073902285, \"Memory in Mb\": 0.6148271560668945, \"Time in s\": 32.006392000000005 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 21.397093652240404, \"RMSE\": 34.43808497807088, \"R2\": 0.7274757471078548, \"Memory in Mb\": 0.6217546463012695, \"Time in s\": 33.45442800000001 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 22.130535392790676, \"RMSE\": 35.39551310036421, \"R2\": 0.7247017706467436, \"Memory in Mb\": 0.6181917190551758, \"Time in s\": 34.916661000000005 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 22.97609679727041, \"RMSE\": 36.53926451086616, \"R2\": 0.7286255260499503, \"Memory in Mb\": 0.6243486404418945, \"Time in s\": 36.463466 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"ChickWeights\", \"MAE\": 23.114298050830318, \"RMSE\": 36.631109645590286, \"R2\": 0.7338934315030725, \"Memory in Mb\": 0.6280336380004883, \"Time in s\": 38.020312 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.57361785669815, \"RMSE\": 13.877675781396096, \"R2\": -450.7393063082519, \"Memory in Mb\": 0.3875865936279297, \"Time in s\": 0.030628 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.357601810962072, \"RMSE\": 9.93598927447802, \"R2\": -38.690592530050864, \"Memory in Mb\": 0.5688495635986328, \"Time in s\": 0.093522 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.120546196671925, \"RMSE\": 8.124382016407804, \"R2\": -34.775930157070896, \"Memory in Mb\": 0.6946392059326172, \"Time in s\": 0.180013 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5823668216656817, \"RMSE\": 7.068571931029129, \"R2\": -26.16547256881584, \"Memory in Mb\": 0.7988948822021484, \"Time in s\": 0.365225 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.6103510398716643, \"RMSE\": 6.439797187103485, \"R2\": -13.147122820254191, \"Memory in Mb\": 0.9021625518798828, \"Time in s\": 0.589181 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.5653436103516496, \"RMSE\": 5.96335184363353, \"R2\": -9.29140495411716, \"Memory in Mb\": 0.9421710968017578, \"Time in s\": 0.842127 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4314692166818666, \"RMSE\": 5.556159680491977, \"R2\": -8.232140838080387, \"Memory in Mb\": 0.9627094268798828, \"Time in s\": 1.43468 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.270493582871441, \"RMSE\": 5.217534738727647, \"R2\": -6.179445803611509, \"Memory in Mb\": 1.0016803741455078, \"Time in s\": 2.055929 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1841879014169865, \"RMSE\": 4.9594120506005, \"R2\": -4.6969569828406526, \"Memory in Mb\": 0.9622507095336914, \"Time in s\": 2.757735 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.030794616399332, \"RMSE\": 4.7110231793054895, \"R2\": -4.155876544063708, \"Memory in Mb\": 0.5397500991821289, \"Time in s\": 3.551711 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.922882727301643, \"RMSE\": 4.50300441964265, \"R2\": -4.081371242371108, \"Memory in Mb\": 0.3774957656860351, \"Time in s\": 4.407055 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8390508968191757, \"RMSE\": 4.321014818317665, \"R2\": -3.714147473566389, \"Memory in Mb\": 0.4312639236450195, \"Time in s\": 5.281937999999999 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7379678526387643, \"RMSE\": 4.155226166492631, \"R2\": -3.4180849750109363, \"Memory in Mb\": 0.4941263198852539, \"Time in s\": 6.197258999999999 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7042826877160742, \"RMSE\": 4.0269186303191065, \"R2\": -3.3444224917120184, \"Memory in Mb\": 0.5997896194458008, \"Time in s\": 7.197467999999999 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6796571065333832, \"RMSE\": 3.9174008876388, \"R2\": -3.043265693703045, \"Memory in Mb\": 0.6906900405883789, \"Time in s\": 8.219126999999999 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5891460162001485, \"RMSE\": 3.793680488164568, \"R2\": -2.979662055693274, \"Memory in Mb\": 0.757817268371582, \"Time in s\": 9.288978999999998 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5335884019062007, \"RMSE\": 3.685003453386448, \"R2\": -2.968029890458662, \"Memory in Mb\": 0.7969903945922852, \"Time in s\": 10.383406999999998 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.54418408246079, \"RMSE\": 3.606838798974545, \"R2\": -2.832696164635261, \"Memory in Mb\": 0.8751077651977539, \"Time in s\": 11.515104999999998 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5054402320411853, \"RMSE\": 3.517798427376237, \"R2\": -2.771919367898169, \"Memory in Mb\": 0.9264421463012696, \"Time in s\": 12.700466999999998 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.4723491084260332, \"RMSE\": 3.435525460733128, \"R2\": -2.699225318590951, \"Memory in Mb\": 0.9911317825317384, \"Time in s\": 13.924277999999996 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.429579158986208, \"RMSE\": 3.3562143901072865, \"R2\": -2.6472359354971333, \"Memory in Mb\": 0.9703760147094728, \"Time in s\": 15.190464999999998 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3992424504019558, \"RMSE\": 3.2853835752695946, \"R2\": -2.431676192315116, \"Memory in Mb\": 1.0316247940063477, \"Time in s\": 16.527614999999997 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.365864594828797, \"RMSE\": 3.217129802398014, \"R2\": -2.120443637805541, \"Memory in Mb\": 1.1097803115844729, \"Time in s\": 17.906522 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.3301487592579586, \"RMSE\": 3.151695763852486, \"R2\": -1.9259010739386908, \"Memory in Mb\": 1.1814966201782229, \"Time in s\": 19.341224 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2968821746115176, \"RMSE\": 3.0904885141585767, \"R2\": -1.7543370405557224, \"Memory in Mb\": 1.2276010513305664, \"Time in s\": 20.84359 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2678501702074907, \"RMSE\": 3.0331483120333496, \"R2\": -1.657710331787236, \"Memory in Mb\": 1.2783823013305664, \"Time in s\": 22.421223 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.2343399552126226, \"RMSE\": 2.9775564396478966, \"R2\": -1.551795811786203, \"Memory in Mb\": 1.2796869277954102, \"Time in s\": 24.086658 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.220715255826944, \"RMSE\": 2.9300367331798807, \"R2\": -1.5298738258017646, \"Memory in Mb\": 1.2170305252075195, \"Time in s\": 25.790581 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1924146311245054, \"RMSE\": 2.8809984439523286, \"R2\": -1.506393751525562, \"Memory in Mb\": 1.0756006240844729, \"Time in s\": 27.649708999999994 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1793821598427467, \"RMSE\": 2.837096711415006, \"R2\": -1.4037015974174163, \"Memory in Mb\": 0.9519128799438475, \"Time in s\": 29.574727 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1645342598465298, \"RMSE\": 2.79612287562216, \"R2\": -1.2991852345603885, \"Memory in Mb\": 0.9679117202758788, \"Time in s\": 31.579398 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1398425529628198, \"RMSE\": 2.753175690936408, \"R2\": -1.1874325743915652, \"Memory in Mb\": 0.936314582824707, \"Time in s\": 33.628169 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.1198821044801988, \"RMSE\": 2.7133180185933967, \"R2\": -1.1092797015680484, \"Memory in Mb\": 0.9601030349731444, \"Time in s\": 35.724068 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.103543375947734, \"RMSE\": 2.675681585437618, \"R2\": -1.0835838801311364, \"Memory in Mb\": 1.0132951736450195, \"Time in s\": 37.850435 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0951788603095205, \"RMSE\": 2.643674463536044, \"R2\": -1.0874567422761272, \"Memory in Mb\": 1.0955934524536133, \"Time in s\": 40.041881 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.073603439060177, \"RMSE\": 2.607328103868497, \"R2\": -1.075061768905586, \"Memory in Mb\": 1.1506471633911133, \"Time in s\": 42.267731000000005 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.052216298294681, \"RMSE\": 2.5725220480150237, \"R2\": -1.0188151031858663, \"Memory in Mb\": 1.1900300979614258, \"Time in s\": 44.534549000000005 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.0329729065757678, \"RMSE\": 2.539265324444459, \"R2\": -0.9882648176410448, \"Memory in Mb\": 1.2228517532348633, \"Time in s\": 46.85075200000001 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.015201035443157, \"RMSE\": 2.5074934380267417, \"R2\": -0.9475063222432678, \"Memory in Mb\": 1.2825212478637695, \"Time in s\": 49.22632000000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.007374170791078, \"RMSE\": 2.4793027589713232, \"R2\": -0.9211818120686948, \"Memory in Mb\": 1.3126497268676758, \"Time in s\": 51.66223500000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.002386830132377, \"RMSE\": 2.4547936379778226, \"R2\": -0.9040692252875042, \"Memory in Mb\": 1.3594255447387695, \"Time in s\": 54.13772100000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9929186057762196, \"RMSE\": 2.428247138481691, \"R2\": -0.8804076589484491, \"Memory in Mb\": 1.397130012512207, \"Time in s\": 56.66204300000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9756374748391698, \"RMSE\": 2.400488599154532, \"R2\": -0.8344958433267429, \"Memory in Mb\": 1.4288606643676758, \"Time in s\": 59.23948900000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.964181960731443, \"RMSE\": 2.37450147105602, \"R2\": -0.7860721035239808, \"Memory in Mb\": 1.4496355056762695, \"Time in s\": 61.87688900000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9549728240782616, \"RMSE\": 2.3497625798451978, \"R2\": -0.7564202624419067, \"Memory in Mb\": 1.3498811721801758, \"Time in s\": 64.59788000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9412862327577896, \"RMSE\": 2.3247867434211136, \"R2\": -0.747529388757789, \"Memory in Mb\": 1.1945161819458008, \"Time in s\": 67.39612200000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.934469347520636, \"RMSE\": 2.302477656767798, \"R2\": -0.7286928787152502, \"Memory in Mb\": 1.2202577590942385, \"Time in s\": 70.24630900000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9259837543593707, \"RMSE\": 2.280476047701142, \"R2\": -0.7135440601163805, \"Memory in Mb\": 1.2635469436645508, \"Time in s\": 73.13750900000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9196316545824528, \"RMSE\": 2.2597103614150886, \"R2\": -0.715155968132227, \"Memory in Mb\": 1.2794008255004885, \"Time in s\": 76.07904100000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9087747756519629, \"RMSE\": 2.2382775608394114, \"R2\": -0.7111012811273396, \"Memory in Mb\": 1.3157854080200195, \"Time in s\": 79.06112300000002 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Bagging\", \"dataset\": \"TrumpApproval\", \"MAE\": 0.9082029688272106, \"RMSE\": 2.2371845268363217, \"R2\": -0.710571805505718, \"Memory in Mb\": 1.3157854080200195, \"Time in s\": 82.06893700000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0652570724487304, \"Time in s\": 0.004749 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0776433944702148, \"Time in s\": 0.02229 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.0973310470581054, \"Time in s\": 0.042479 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.1087598800659179, \"Time in s\": 0.065964 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.1316785812377929, \"Time in s\": 0.1143329999999999 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.1604146957397461, \"Time in s\": 0.1705729999999999 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 43.50649350649351, \"RMSE\": 43.70978671356627, \"R2\": -106.75487995129542, \"Memory in Mb\": 0.1825284957885742, \"Time in s\": 0.2318889999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 44.21590909090909, \"RMSE\": 44.43649707984724, \"R2\": -99.97346126163, \"Memory in Mb\": 0.2035512924194336, \"Time in s\": 0.308411 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 45.05050505050505, \"RMSE\": 45.309262771858165, \"R2\": -86.8022342468144, \"Memory in Mb\": 0.2153043746948242, \"Time in s\": 0.393152 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 46.16363636363636, \"RMSE\": 46.52487115902242, \"R2\": -63.64797006437341, \"Memory in Mb\": 0.2280874252319336, \"Time in s\": 0.484559 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 47.21487603305785, \"RMSE\": 47.67304278378361, \"R2\": -51.27707184490422, \"Memory in Mb\": 0.2377805709838867, \"Time in s\": 0.583103 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 48.29545454545455, \"RMSE\": 48.843054157105485, \"R2\": -43.84882422437649, \"Memory in Mb\": 0.2479772567749023, \"Time in s\": 0.792791 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 49.44055944055945, \"RMSE\": 50.100318941519305, \"R2\": -37.220279564063546, \"Memory in Mb\": 0.2207241058349609, \"Time in s\": 1.018133 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 50.532467532467535, \"RMSE\": 51.29137544271156, \"R2\": -33.04474826644667, \"Memory in Mb\": 0.2406787872314453, \"Time in s\": 1.254223 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 51.690909090909095, \"RMSE\": 52.61253451297311, \"R2\": -27.795548438273773, \"Memory in Mb\": 0.2568111419677734, \"Time in s\": 1.5160939999999998 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 53.00568181818182, \"RMSE\": 54.11860921749895, \"R2\": -23.566226925646237, \"Memory in Mb\": 0.2727985382080078, \"Time in s\": 1.7876089999999998 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 54.41176470588235, \"RMSE\": 55.733754017636336, \"R2\": -20.33250305682894, \"Memory in Mb\": 0.2873516082763672, \"Time in s\": 2.079546 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 56.02525252525252, \"RMSE\": 57.635786091488654, \"R2\": -17.146924852486976, \"Memory in Mb\": 0.300180435180664, \"Time in s\": 2.3857599999999994 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 57.5645933014354, \"RMSE\": 59.46206220864915, \"R2\": -14.922837840066968, \"Memory in Mb\": 0.2762508392333984, \"Time in s\": 2.7086299999999994 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 58.69090909090908, \"RMSE\": 60.81327606250582, \"R2\": -13.581197962556498, \"Memory in Mb\": 0.2926349639892578, \"Time in s\": 3.0480419999999997 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 60.25541125541125, \"RMSE\": 62.66764529032318, \"R2\": -12.244451024360147, \"Memory in Mb\": 0.3073635101318359, \"Time in s\": 3.437715999999999 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 62.17355371900826, \"RMSE\": 65.06963847478845, \"R2\": -10.489760184397111, \"Memory in Mb\": 0.3215885162353515, \"Time in s\": 3.8493299999999993 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 63.93675889328063, \"RMSE\": 67.17295239601157, \"R2\": -9.634560128382748, \"Memory in Mb\": 0.3348064422607422, \"Time in s\": 4.393024 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 65.10606060606062, \"RMSE\": 68.57980310513724, \"R2\": -9.127665748505592, \"Memory in Mb\": 0.3451099395751953, \"Time in s\": 4.977281 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 66.61454545454548, \"RMSE\": 70.46451073219248, \"R2\": -8.408339126213217, \"Memory in Mb\": 0.3548030853271484, \"Time in s\": 5.586244 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 68.48951048951052, \"RMSE\": 72.8020594498525, \"R2\": -7.6983532427125105, \"Memory in Mb\": 0.3655261993408203, \"Time in s\": 6.228505 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 70.55218855218858, \"RMSE\": 75.3669362796119, \"R2\": -7.08492451355157, \"Memory in Mb\": 0.3711223602294922, \"Time in s\": 6.899176000000001 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 72.39285714285718, \"RMSE\": 77.65033596401675, \"R2\": -6.643510181414674, \"Memory in Mb\": 0.3809375762939453, \"Time in s\": 7.597348 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 73.45454545454551, \"RMSE\": 79.15086186624424, \"R2\": -6.206879640065647, \"Memory in Mb\": 0.3927364349365234, \"Time in s\": 8.345726 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 75.77878787878792, \"RMSE\": 82.20832738177494, \"R2\": -5.653192449779911, \"Memory in Mb\": 0.4039859771728515, \"Time in s\": 9.225203 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 77.92375366568919, \"RMSE\": 84.89106353805269, \"R2\": -5.352795814687307, \"Memory in Mb\": 0.4136791229248047, \"Time in s\": 10.124705 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 80.04545454545458, \"RMSE\": 87.49376601169416, \"R2\": -5.134510311668016, \"Memory in Mb\": 0.4233722686767578, \"Time in s\": 11.048248 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 80.99724517906337, \"RMSE\": 88.57562798692558, \"R2\": -5.105139086016474, \"Memory in Mb\": 0.4330654144287109, \"Time in s\": 11.989622 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 82.77807486631018, \"RMSE\": 90.83029071422122, \"R2\": -4.901675845817959, \"Memory in Mb\": 0.4524784088134765, \"Time in s\": 12.967698 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 85.1766233766234, \"RMSE\": 93.99517810235533, \"R2\": -4.591702735915359, \"Memory in Mb\": 0.4681224822998047, \"Time in s\": 14.032748 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 87.26767676767678, \"RMSE\": 96.48964983485284, \"R2\": -4.494054297851511, \"Memory in Mb\": 0.484659194946289, \"Time in s\": 15.12168 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 89.00737100737103, \"RMSE\": 98.71879502607636, \"R2\": -4.345544683073043, \"Memory in Mb\": 0.4991130828857422, \"Time in s\": 16.236767999999998 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 90.57416267942588, \"RMSE\": 100.72635724110243, \"R2\": -4.224084264201084, \"Memory in Mb\": 0.5109386444091797, \"Time in s\": 17.416859999999996 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 93.12121212121215, \"RMSE\": 104.19735398794236, \"R2\": -3.967717840349581, \"Memory in Mb\": 0.5206584930419922, \"Time in s\": 18.643557999999995 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 95.41818181818184, \"RMSE\": 107.03565676064125, \"R2\": -3.8710119659250095, \"Memory in Mb\": 0.5303516387939453, \"Time in s\": 19.910713999999995 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 97.16629711751663, \"RMSE\": 109.07665280092142, \"R2\": -3.843505105397095, \"Memory in Mb\": 0.5280742645263672, \"Time in s\": 21.225085999999997 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 98.71645021645024, \"RMSE\": 111.1763643167196, \"R2\": -3.72620239405422, \"Memory in Mb\": 0.5443019866943359, \"Time in s\": 22.607732999999996 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 101.54122621564484, \"RMSE\": 115.2058457378686, \"R2\": -3.48124047566686, \"Memory in Mb\": 0.5577869415283203, \"Time in s\": 24.015635999999997 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 103.77066115702482, \"RMSE\": 117.90601559037044, \"R2\": -3.4365483842712585, \"Memory in Mb\": 0.5712184906005859, \"Time in s\": 25.474227999999997 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 106.02424242424244, \"RMSE\": 120.71525892518191, \"R2\": -3.37467008920777, \"Memory in Mb\": 0.5825443267822266, \"Time in s\": 26.96779499999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 107.31620553359684, \"RMSE\": 122.26004165941237, \"R2\": -3.356924458603192, \"Memory in Mb\": 2.7805843353271484, \"Time in s\": 30.43480299999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 109.39651837524178, \"RMSE\": 124.91233289427784, \"R2\": -3.291877964737682, \"Memory in Mb\": 2.825040817260742, \"Time in s\": 33.93932499999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 112.36553030303028, \"RMSE\": 129.1106745698386, \"R2\": -3.1225038051323804, \"Memory in Mb\": 2.876035690307617, \"Time in s\": 37.48648499999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 114.52504638218922, \"RMSE\": 131.65752925403248, \"R2\": -3.109734667916423, \"Memory in Mb\": 2.927671432495117, \"Time in s\": 41.07985699999999 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 115.89999999999996, \"RMSE\": 133.35909826820617, \"R2\": -3.0866973064470367, \"Memory in Mb\": 2.9773387908935547, \"Time in s\": 44.71417799999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 117.86452762923346, \"RMSE\": 135.8046463151548, \"R2\": -3.0526234314410727, \"Memory in Mb\": 3.02082633972168, \"Time in s\": 48.39640499999999 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 120.54020979020974, \"RMSE\": 139.4624607986965, \"R2\": -2.953338846956928, \"Memory in Mb\": 3.065652847290039, \"Time in s\": 52.12007199999999 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"ChickWeights\", \"MAE\": 121.81833910034597, \"RMSE\": 141.00422703423635, \"R2\": -2.942935834251463, \"Memory in Mb\": 3.092409133911133, \"Time in s\": 55.88513699999999 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 43.8732195, \"RMSE\": 43.87807788634269, \"R2\": -4514.954899312423, \"Memory in Mb\": 0.1445150375366211, \"Time in s\": 0.017697 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.4932955, \"RMSE\": 42.52255283421693, \"R2\": -725.9491167623446, \"Memory in Mb\": 0.2117376327514648, \"Time in s\": 0.059669 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 42.2167785, \"RMSE\": 42.2386240157387, \"R2\": -966.0073736019044, \"Memory in Mb\": 0.2583265304565429, \"Time in s\": 0.116093 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.975705625, \"RMSE\": 41.99760868559829, \"R2\": -957.9655948743646, \"Memory in Mb\": 0.3003568649291992, \"Time in s\": 0.194541 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 41.37550450000001, \"RMSE\": 41.410913785433536, \"R2\": -583.9966399141301, \"Memory in Mb\": 0.3407926559448242, \"Time in s\": 0.295523 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.936110000000006, \"RMSE\": 40.97829382197767, \"R2\": -484.9611418859003, \"Memory in Mb\": 0.3709287643432617, \"Time in s\": 0.510712 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.6885472857143, \"RMSE\": 40.72961738075088, \"R2\": -495.1050461477588, \"Memory in Mb\": 0.3974485397338867, \"Time in s\": 0.760252 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.35105437500001, \"RMSE\": 40.39801158334292, \"R2\": -429.4078677932073, \"Memory in Mb\": 0.3402233123779297, \"Time in s\": 1.044132 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00981655555555, \"RMSE\": 40.06373388340122, \"R2\": -370.7794659133543, \"Memory in Mb\": 0.3811016082763672, \"Time in s\": 1.367502 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80633095, \"RMSE\": 39.860362966711, \"R2\": -368.1089073295326, \"Memory in Mb\": 0.3127880096435547, \"Time in s\": 1.794637 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.727043136363626, \"RMSE\": 39.77723500009918, \"R2\": -395.5019807293188, \"Memory in Mb\": 0.3578624725341797, \"Time in s\": 2.266575 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.56323079166665, \"RMSE\": 39.61325406766278, \"R2\": -395.19837684116754, \"Memory in Mb\": 0.3875255584716797, \"Time in s\": 2.775551 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.42014538461535, \"RMSE\": 39.46968290441584, \"R2\": -397.63185900832246, \"Memory in Mb\": 0.420846939086914, \"Time in s\": 3.358614 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.33200189285712, \"RMSE\": 39.37942345737111, \"R2\": -414.4560159350036, \"Memory in Mb\": 0.4701480865478515, \"Time in s\": 4.097303 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.18435719999999, \"RMSE\": 39.23275803924839, \"R2\": -404.5402138221895, \"Memory in Mb\": 0.5117359161376953, \"Time in s\": 4.882924 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.13568690624999, \"RMSE\": 39.1818628962716, \"R2\": -423.5167725219512, \"Memory in Mb\": 0.5480670928955078, \"Time in s\": 5.740529 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.14620944117645, \"RMSE\": 39.18989510023786, \"R2\": -447.7943063391533, \"Memory in Mb\": 0.5615406036376953, \"Time in s\": 6.72918 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.24072974999997, \"RMSE\": 39.28395553300239, \"R2\": -453.6543473793619, \"Memory in Mb\": 0.5990085601806641, \"Time in s\": 7.76074 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.29597665789471, \"RMSE\": 39.33769921546023, \"R2\": -470.6701690846498, \"Memory in Mb\": 0.6312580108642578, \"Time in s\": 8.924786000000001 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.35730624999997, \"RMSE\": 39.39781946688104, \"R2\": -485.4842825426507, \"Memory in Mb\": 0.6682605743408203, \"Time in s\": 10.154856 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.40549083333331, \"RMSE\": 39.44465897881697, \"R2\": -502.7799504226928, \"Memory in Mb\": 0.6983966827392578, \"Time in s\": 11.469727 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.49730674999998, \"RMSE\": 39.53710368662846, \"R2\": -495.9856416828035, \"Memory in Mb\": 0.7316226959228516, \"Time in s\": 12.901862 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.61474728260867, \"RMSE\": 39.65658853240579, \"R2\": -473.14358309219216, \"Memory in Mb\": 0.7705020904541016, \"Time in s\": 14.448849 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.71032456249997, \"RMSE\": 39.75304758270976, \"R2\": -464.4916761787406, \"Memory in Mb\": 0.8079357147216797, \"Time in s\": 16.094285 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.80313951999997, \"RMSE\": 39.84667590965187, \"R2\": -456.8750824508669, \"Memory in Mb\": 2.9298267364501958, \"Time in s\": 19.825027 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.87354713461536, \"RMSE\": 39.916931033645376, \"R2\": -459.2932847271911, \"Memory in Mb\": 3.0076160430908203, \"Time in s\": 23.629967 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.94649651851849, \"RMSE\": 39.98996046818772, \"R2\": -459.28610565666287, \"Memory in Mb\": 3.105920791625977, \"Time in s\": 27.509295 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 39.97606614285712, \"RMSE\": 40.018487723609816, \"R2\": -470.926187706672, \"Memory in Mb\": 3.203706741333008, \"Time in s\": 31.453258 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.00338510344825, \"RMSE\": 40.044755101652726, \"R2\": -483.2331705341176, \"Memory in Mb\": 3.296670913696289, \"Time in s\": 35.460995000000004 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.07393431666663, \"RMSE\": 40.11569326301364, \"R2\": -479.5746686678817, \"Memory in Mb\": 3.391347885131836, \"Time in s\": 39.544454 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.1459417741935, \"RMSE\": 40.18827077358568, \"R2\": -473.96334667177865, \"Memory in Mb\": 3.4906063079833984, \"Time in s\": 43.697410000000005 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.21943815624997, \"RMSE\": 40.26249426545423, \"R2\": -466.8085709746123, \"Memory in Mb\": 3.5870800018310547, \"Time in s\": 47.92464 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.28296777272724, \"RMSE\": 40.32626722721455, \"R2\": -464.9172853497744, \"Memory in Mb\": 3.686498641967773, \"Time in s\": 52.218165000000006 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31998279411761, \"RMSE\": 40.36256991107017, \"R2\": -473.1325264408024, \"Memory in Mb\": 3.782560348510742, \"Time in s\": 56.58359200000001 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31359012857138, \"RMSE\": 40.35509446667054, \"R2\": -485.40526703956544, \"Memory in Mb\": 3.816682815551758, \"Time in s\": 61.02307200000001 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.31730695833329, \"RMSE\": 40.357915759594896, \"R2\": -496.1610725544049, \"Memory in Mb\": 3.917215347290039, \"Time in s\": 65.52718500000002 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.36653568918915, \"RMSE\": 40.40711941642496, \"R2\": -497.0742803710164, \"Memory in Mb\": 4.021100997924805, \"Time in s\": 70.10250300000001 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.40314367105261, \"RMSE\": 40.443256311482514, \"R2\": -503.3712175162706, \"Memory in Mb\": 4.113973617553711, \"Time in s\": 74.743136 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.44545064102563, \"RMSE\": 40.48534274444009, \"R2\": -506.6856716110208, \"Memory in Mb\": 4.221334457397461, \"Time in s\": 79.45160200000001 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.47854825, \"RMSE\": 40.518050685964006, \"R2\": -512.1052117095793, \"Memory in Mb\": 4.33137321472168, \"Time in s\": 84.22367000000001 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.50894034146341, \"RMSE\": 40.5479845946661, \"R2\": -518.5068774177179, \"Memory in Mb\": 4.393171310424805, \"Time in s\": 89.06994900000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.5406558690476, \"RMSE\": 40.57931089736599, \"R2\": -524.140575335229, \"Memory in Mb\": 4.501546859741211, \"Time in s\": 93.986539 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.58371181395347, \"RMSE\": 40.62239247493601, \"R2\": -524.3496319016275, \"Memory in Mb\": 4.600507736206055, \"Time in s\": 98.97766 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.62855514772725, \"RMSE\": 40.66738601007716, \"R2\": -522.897851512946, \"Memory in Mb\": 4.697576522827148, \"Time in s\": 104.03937600000002 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.664104233333326, \"RMSE\": 40.702738445808535, \"R2\": -526.020768835918, \"Memory in Mb\": 4.774164199829102, \"Time in s\": 109.17863200000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.68274704347825, \"RMSE\": 40.72073961991632, \"R2\": -535.1540147256861, \"Memory in Mb\": 4.872934341430664, \"Time in s\": 114.38942200000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.70972619148935, \"RMSE\": 40.74737437775791, \"R2\": -540.4099749760601, \"Memory in Mb\": 4.975519180297852, \"Time in s\": 119.67171900000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.73400636458332, \"RMSE\": 40.771242977826994, \"R2\": -546.7118652484228, \"Memory in Mb\": 5.07771110534668, \"Time in s\": 125.02115000000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.74031829795916, \"RMSE\": 40.77684015923968, \"R2\": -557.5026042066913, \"Memory in Mb\": 5.174932479858398, \"Time in s\": 130.44017000000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.75359492299998, \"RMSE\": 40.78950075300399, \"R2\": -567.2567645513548, \"Memory in Mb\": 5.274145126342773, \"Time in s\": 135.92720000000003 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"Exponentially Weighted Average\", \"dataset\": \"TrumpApproval\", \"MAE\": 40.75458054545452, \"RMSE\": 40.7904615623717, \"R2\": -567.6629514867817, \"Memory in Mb\": 5.276128768920898, \"Time in s\": 141.45243100000002 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.63636363636363, \"RMSE\": 41.64569169030137, \"R2\": -2231.5319148936137, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.004659 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.31818181818181, \"RMSE\": 41.32960638133835, \"R2\": -1808.0547045951903, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.035685 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.12121212121212, \"RMSE\": 41.13871582091424, \"R2\": -1174.393494897962, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.0849989999999999 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.159090909090914, \"RMSE\": 41.17451771534076, \"R2\": -1333.7620984139928, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.154054 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 41.5090909090909, \"RMSE\": 41.57075020645253, \"R2\": -336.3506066081568, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.236038 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 42.681818181818166, \"RMSE\": 42.82080349691271, \"R2\": -153.29834830483878, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.334153 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.46421300395698, \"RMSE\": 43.66282826571568, \"R2\": -106.52347713504813, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.4453709999999999 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.359772412267546, \"RMSE\": 43.583709810639945, \"R2\": -96.13505707304522, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 0.810611 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 39.34760833403674, \"RMSE\": 41.28110871337288, \"R2\": -71.88434940071843, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.1795 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 36.27694842893514, \"RMSE\": 39.43109665219568, \"R2\": -45.43679588251114, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.551937 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 33.38449530211604, \"RMSE\": 37.62985177124845, \"R2\": -31.570957412576163, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 1.927681 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 30.760956861305427, \"RMSE\": 36.03410144813446, \"R2\": -23.41028390603237, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 2.306782 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 28.636527077105512, \"RMSE\": 34.63559483719005, \"R2\": -17.266619380249022, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 2.6893580000000004 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 26.848366395937333, \"RMSE\": 33.39569685051843, \"R2\": -13.432529594168455, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 3.0876050000000004 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 25.68994399106157, \"RMSE\": 32.40192925941153, \"R2\": -9.92165984317062, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 3.562508 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.410830110997512, \"RMSE\": 31.4363281477476, \"R2\": -7.289127728255313, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 4.041374 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 23.27797268834062, \"RMSE\": 30.533192270092133, \"R2\": -5.402500905628177, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 4.523515000000001 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 22.21718064008457, \"RMSE\": 29.702466677215767, \"R2\": -3.8195183008370286, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 5.01074 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.55319621821813, \"RMSE\": 29.08035323359505, \"R2\": -2.8083766468986493, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 5.506907 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.47717514737632, \"RMSE\": 28.87553300521557, \"R2\": -2.287429329651187, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 6.006767 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.952511346795177, \"RMSE\": 28.33784041981669, \"R2\": -1.7081998467380504, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 6.546588 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.676711476832995, \"RMSE\": 27.952207916118613, \"R2\": -1.120246781438643, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 7.091828 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.0995501155626, \"RMSE\": 27.40917062551413, \"R2\": -0.77060809797316, \"Memory in Mb\": 0.0121526718139648, \"Time in s\": 7.64039 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.480542447806847, \"RMSE\": 27.75611161124588, \"R2\": -0.6589532289622051, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 8.194426 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.614496901205563, \"RMSE\": 28.041519628611827, \"R2\": -0.4899619312470022, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 8.751968 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.565278129073285, \"RMSE\": 27.847512109279503, \"R2\": -0.2726896536826668, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 9.312993 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.274958424672484, \"RMSE\": 27.62568723918364, \"R2\": -0.0862766099689866, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 9.883614 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 20.45327995927562, \"RMSE\": 27.912230969749725, \"R2\": 0.0123677325099795, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 10.459328 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.51025107964545, \"RMSE\": 30.009813508826145, \"R2\": -0.0360067042108638, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 11.038549 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.665590739767385, \"RMSE\": 30.044848619277115, \"R2\": 0.1113341277332687, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 11.621241 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.89048226594194, \"RMSE\": 30.334415208142868, \"R2\": 0.1888294001405642, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 12.207835 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 21.89395295521016, \"RMSE\": 30.339570241246864, \"R2\": 0.2623598804373043, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 12.797939 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 22.90533819708786, \"RMSE\": 32.054250800509514, \"R2\": 0.2004634102060014, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 13.393067000000002 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 23.763742364378043, \"RMSE\": 33.85198840163, \"R2\": 0.1802483296948254, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 13.997035000000002 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.57154278807733, \"RMSE\": 34.76894700117602, \"R2\": 0.2349038768732488, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 14.642537000000004 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 24.36284577450351, \"RMSE\": 34.48838301267373, \"R2\": 0.2980969129506975, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 15.292230000000002 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 25.734101326034637, \"RMSE\": 37.062399123466015, \"R2\": 0.2465415113840201, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 15.945417000000004 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 27.11119186006235, \"RMSE\": 39.928390080533305, \"R2\": 0.1791051768225413, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 16.606412000000002 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 28.3590406143643, \"RMSE\": 42.09339312084405, \"R2\": 0.1892790232513257, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 17.270793 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 29.357663164641018, \"RMSE\": 43.68705243766196, \"R2\": 0.1885388580498291, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 17.938627 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 30.691095011752385, \"RMSE\": 45.67489043760892, \"R2\": 0.1507194354669618, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 18.61722 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 32.58469239048663, \"RMSE\": 49.95891321104316, \"R2\": 0.0456375461688204, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 19.304175 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 34.457204466549335, \"RMSE\": 53.83603157260298, \"R2\": 0.0214223438020899, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 19.9947 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 37.61656772325176, \"RMSE\": 59.47905507802133, \"R2\": -0.1290194303344141, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 20.688692000000003 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 39.835053793820734, \"RMSE\": 63.30264151550531, \"R2\": -0.2029972425035688, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 21.389042000000003 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 40.84375246428709, \"RMSE\": 64.75828138125749, \"R2\": -0.2223668969879733, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 22.096762 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 42.3259867290128, \"RMSE\": 66.7403629812066, \"R2\": -0.2252193711452539, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 22.959028000000004 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 43.90376331145991, \"RMSE\": 69.27444073484561, \"R2\": -0.1868144391113539, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 23.825387000000003 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 45.11725117254523, \"RMSE\": 70.97054614693485, \"R2\": -0.1942044281482897, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 24.695185 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 46.19146939493793, \"RMSE\": 72.84904016514736, \"R2\": -0.2194804408254527, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 25.570022 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 48.0255382358928, \"RMSE\": 75.55118081102547, \"R2\": -0.2542655857337756, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 26.453531 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 49.60861685612801, \"RMSE\": 77.95895414232838, \"R2\": -0.2353254830584423, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 27.340524 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"ChickWeights\", \"MAE\": 51.40782550111089, \"RMSE\": 80.92025038917566, \"R2\": -0.298583502299673, \"Memory in Mb\": 0.012312889099121, \"Time in s\": 28.229463000000003 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 28.203089584036217, \"RMSE\": 31.678254793976468, \"R2\": -2352.839799462937, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.018592 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 17.631407237579232, \"RMSE\": 23.536801219235823, \"R2\": -221.7205207554288, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.0539339999999999 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 13.441671937224772, \"RMSE\": 19.739075566761823, \"R2\": -210.18539534147197, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.098078 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 11.19674929006134, \"RMSE\": 17.292913087737123, \"R2\": -161.5886474703317, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.159515 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 9.529407951935296, \"RMSE\": 15.54264880746251, \"R2\": -81.40884208187767, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.228076 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 8.478754286735066, \"RMSE\": 14.272499783288554, \"R2\": -57.95136830581733, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.332328 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 7.525552058981039, \"RMSE\": 13.242333407520348, \"R2\": -51.44233495767236, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.527456 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.729532853932534, \"RMSE\": 12.401843141618142, \"R2\": -39.56324503441056, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.7296090000000001 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 6.20494414148211, \"RMSE\": 11.727398222866162, \"R2\": -30.855608065765253, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 0.938725 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.707613016041334, \"RMSE\": 11.135875265707485, \"R2\": -27.80850643367628, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.173453 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 5.35235544657082, \"RMSE\": 10.636236352263047, \"R2\": -27.34993958822678, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.423387 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.997211310189409, \"RMSE\": 10.191758203807838, \"R2\": -25.22586832784644, \"Memory in Mb\": 0.0131101608276367, \"Time in s\": 1.696442 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.698339965696975, \"RMSE\": 9.799142308635478, \"R2\": -23.570888426665658, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.044166 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.429952698677103, \"RMSE\": 9.448184269747657, \"R2\": -22.91569767610472, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.398587 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 4.185436867704573, \"RMSE\": 9.131292683908228, \"R2\": -20.968518634865895, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 2.759636 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.989857840855361, \"RMSE\": 8.848493522992882, \"R2\": -20.65027251080777, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.127609 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.793510888989401, \"RMSE\": 8.58729864958044, \"R2\": -20.548263158423392, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.5072970000000003 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.624008920532304, \"RMSE\": 8.350732680595982, \"R2\": -19.54471351213204, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 3.994133 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.4723941591948395, \"RMSE\": 8.130732570333006, \"R2\": -19.15022282865096, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 4.488831 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.327129028584169, \"RMSE\": 7.926491124989248, \"R2\": -18.69184448676573, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 4.996594 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.1988914312464622, \"RMSE\": 7.737168953530663, \"R2\": -18.383340677896445, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 5.512642 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 3.090541865220404, \"RMSE\": 7.562941397323993, \"R2\": -17.185096454486196, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 6.041213 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.9841087219087, \"RMSE\": 7.398658950448711, \"R2\": -15.50384711789857, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 6.671723 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.878027938067315, \"RMSE\": 7.243616567021465, \"R2\": -14.455461195017085, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 7.311147 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.790174040420949, \"RMSE\": 7.099353406661882, \"R2\": -13.534510391092628, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 7.962598 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.702735665583147, \"RMSE\": 6.962851553400364, \"R2\": -13.005371203657658, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 8.621042 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.619923274637493, \"RMSE\": 6.8334980874356335, \"R2\": -12.440396167539378, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 9.286046 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.556848015725479, \"RMSE\": 6.714676061099242, \"R2\": -12.286263553450382, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 9.968405999999998 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4920466556079988, \"RMSE\": 6.599727625727584, \"R2\": -12.1527109643015, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 10.662936999999998 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.4260558633236777, \"RMSE\": 6.490118235625791, \"R2\": -11.578750092830704, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 11.381531999999998 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3708694907142864, \"RMSE\": 6.387338726311831, \"R2\": -10.997792654674662, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 12.131809999999998 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.309077397643504, \"RMSE\": 6.287531812954472, \"R2\": -10.40846497658843, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 12.902857999999998 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.253417256192923, \"RMSE\": 6.192441467899733, \"R2\": -9.986430076809746, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 13.765244 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1933714736526424, \"RMSE\": 6.100884478116631, \"R2\": -9.832475924452435, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 14.638727 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.1444840100167197, \"RMSE\": 6.014053532220149, \"R2\": -9.80279442231031, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 15.530555 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.088914979350032, \"RMSE\": 5.930058413028094, \"R2\": -9.733901359629304, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 16.434104 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.038014375475162, \"RMSE\": 5.849577408393744, \"R2\": -9.43824097776182, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 17.347853 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.990139846596363, \"RMSE\": 5.772270602035659, \"R2\": -9.274280741061778, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 18.296023 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.946515411702069, \"RMSE\": 5.69815370877383, \"R2\": -9.05697999731458, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 19.263123 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.908897117108588, \"RMSE\": 5.627293726045093, \"R2\": -8.897112526821198, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 20.241821 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8732261968689676, \"RMSE\": 5.559226632327132, \"R2\": -8.765208356441784, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 21.227083 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8347271749400444, \"RMSE\": 5.492864392938861, \"R2\": -8.621969919695442, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 22.223141 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8001515928803729, \"RMSE\": 5.4291765082898245, \"R2\": -8.383942958793503, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 23.230427 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.762610565031098, \"RMSE\": 5.367211780988228, \"R2\": -8.125392758933815, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 24.244373000000003 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7278213800286455, \"RMSE\": 5.307357454879676, \"R2\": -7.960601204549325, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 25.346781000000004 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6959197142820022, \"RMSE\": 5.249600105314111, \"R2\": -7.910676780558388, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 26.455778 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6672680101890094, \"RMSE\": 5.193857129216991, \"R2\": -7.796440957593809, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 27.578615000000003 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.637208742738251, \"RMSE\": 5.139738169534271, \"R2\": -7.704147396017831, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 28.708325 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6082702309133736, \"RMSE\": 5.087224346398139, \"R2\": -7.692803163516414, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 29.852185 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.582128560540168, \"RMSE\": 5.036439630005545, \"R2\": -7.663534315499042, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 31.047385 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"River MLP\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5805783932319006, \"RMSE\": 5.033923389051291, \"R2\": -7.660658200179739, \"Memory in Mb\": 0.013350486755371, \"Time in s\": 32.243154000000004 }, { \"step\": 11, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.664574314574316, \"RMSE\": 12.7079745317607, \"R2\": -206.87879383707747, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.000258 }, { \"step\": 22, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.767694704637076, \"RMSE\": 9.018587183866767, \"R2\": -85.14025986830408, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.000737 }, { \"step\": 33, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.3093367298127023, \"RMSE\": 7.420500566500976, \"R2\": -37.24267181629702, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00134 }, { \"step\": 44, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 1.892363968348808, \"RMSE\": 6.441521936619904, \"R2\": -31.668094594906044, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.002066 }, { \"step\": 55, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.1129412159858934, \"RMSE\": 6.114058653243701, \"R2\": -6.297346571779499, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00291 }, { \"step\": 66, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 2.832849782567835, \"RMSE\": 6.236602142425367, \"R2\": -2.2730130120415795, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.003872 }, { \"step\": 77, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 3.4069290990236856, \"RMSE\": 6.402381882180361, \"R2\": -1.3118663438824, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.004952 }, { \"step\": 88, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 3.650377971160808, \"RMSE\": 6.321189272940957, \"R2\": -1.043267371916866, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.006149 }, { \"step\": 99, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.035631404360372, \"RMSE\": 6.4483291916176695, \"R2\": -0.7783857772357967, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.007464 }, { \"step\": 110, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 4.693189868957898, \"RMSE\": 7.0697740144659305, \"R2\": -0.4927792786841307, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.008896 }, { \"step\": 121, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 5.274396860168236, \"RMSE\": 7.6542276724395, \"R2\": -0.3476225254437259, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.010446 }, { \"step\": 132, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 5.875758254207378, \"RMSE\": 8.194624755054596, \"R2\": -0.2624191661321591, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.012113 }, { \"step\": 143, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 6.530760796045927, \"RMSE\": 8.870097879563003, \"R2\": -0.1980355424044948, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.013898 }, { \"step\": 154, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 7.121466111912466, \"RMSE\": 9.458403141043558, \"R2\": -0.1577027852151795, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.015801 }, { \"step\": 165, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 7.772438504082036, \"RMSE\": 10.375670403553157, \"R2\": -0.1198999930450892, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0178219999999999 }, { \"step\": 176, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 8.565827130563894, \"RMSE\": 11.410434180005833, \"R2\": -0.0920676568626532, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0199609999999999 }, { \"step\": 187, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 9.429958588641576, \"RMSE\": 12.495061319237752, \"R2\": -0.0722153171628203, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0222169999999999 }, { \"step\": 198, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 10.47731537859646, \"RMSE\": 13.900491647656429, \"R2\": -0.0555502703757588, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0245899999999999 }, { \"step\": 209, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 11.43172675762076, \"RMSE\": 15.229123619635446, \"R2\": -0.0444565128716372, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.027079 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 11.97432098008114, \"RMSE\": 16.22368260926648, \"R2\": -0.0377560869847111, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.029685 }, { \"step\": 231, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 12.9382196746461, \"RMSE\": 17.489503190785292, \"R2\": -0.0315781972827118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.032406 }, { \"step\": 242, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 14.229204186206864, \"RMSE\": 19.43725798629848, \"R2\": -0.0252367718674193, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.035243 }, { \"step\": 253, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 15.339413196393396, \"RMSE\": 20.82023831254592, \"R2\": -0.0216497893038387, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.041904 }, { \"step\": 264, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 15.948617107030818, \"RMSE\": 21.75817315507082, \"R2\": -0.0194401851240946, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.048726 }, { \"step\": 275, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 16.794155127707494, \"RMSE\": 23.16724301729152, \"R2\": -0.0169996193237813, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.055688 }, { \"step\": 286, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 17.990009992534457, \"RMSE\": 24.865985915258104, \"R2\": -0.0147547133955299, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.062787 }, { \"step\": 297, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 19.34919450213405, \"RMSE\": 26.67620929760368, \"R2\": -0.0128904565600072, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.070018 }, { \"step\": 308, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 20.46881241431745, \"RMSE\": 28.248013022827838, \"R2\": -0.011537481517321, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.077383 }, { \"step\": 319, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 20.993702124162965, \"RMSE\": 29.63814114349949, \"R2\": -0.0105036731193923, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0848839999999999 }, { \"step\": 330, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 22.586872779548436, \"RMSE\": 32.01796640002603, \"R2\": -0.0092202379520505, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0925169999999999 }, { \"step\": 341, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 23.97345887210737, \"RMSE\": 33.821533603903084, \"R2\": -0.0083877019037323, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1002819999999999 }, { \"step\": 352, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 25.315991788770976, \"RMSE\": 35.461698606860665, \"R2\": -0.0077313021586467, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1081779999999999 }, { \"step\": 363, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 25.615062978866305, \"RMSE\": 35.981300981590465, \"R2\": -0.0074437490312051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1162059999999999 }, { \"step\": 374, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 26.673321526932543, \"RMSE\": 37.51836715700961, \"R2\": -0.0069358461242559, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1243619999999999 }, { \"step\": 385, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 28.27694482780972, \"RMSE\": 39.8753298933956, \"R2\": -0.0063325109838794, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1326399999999999 }, { \"step\": 396, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 29.55612496209691, \"RMSE\": 41.28848705945016, \"R2\": -0.0059801818919071, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1410409999999999 }, { \"step\": 407, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 30.56167711268285, \"RMSE\": 42.81802042618151, \"R2\": -0.0056467231500465, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1495659999999999 }, { \"step\": 418, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 31.39346669137945, \"RMSE\": 44.18765357092498, \"R2\": -0.0053697143301307, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1582139999999999 }, { \"step\": 429, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 33.10612890637694, \"RMSE\": 46.865579751152914, \"R2\": -0.0049663660706051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1669849999999999 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 34.54914638861108, \"RMSE\": 48.61167278858254, \"R2\": -0.0047161238549726, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1758829999999999 }, { \"step\": 451, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 35.43263419295921, \"RMSE\": 49.67507127970072, \"R2\": -0.0045536938071879, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1849059999999999 }, { \"step\": 462, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 36.308550382896186, \"RMSE\": 51.2507761435036, \"R2\": -0.0043573774895468, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.1940549999999999 }, { \"step\": 473, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 38.26330298063241, \"RMSE\": 54.53225049728104, \"R2\": -0.0040516612048955, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2033279999999999 }, { \"step\": 484, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 39.59866234800828, \"RMSE\": 56.08659790201894, \"R2\": -0.0039023944795495, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2127249999999999 }, { \"step\": 495, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 40.94697327298068, \"RMSE\": 57.823326559810994, \"R2\": -0.0037535911132069, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2222449999999999 }, { \"step\": 506, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 41.42384714758024, \"RMSE\": 58.67984594201592, \"R2\": -0.0036652347211194, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2318889999999999 }, { \"step\": 517, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 42.72663002099646, \"RMSE\": 60.40151056768402, \"R2\": -0.0035345422299792, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2416599999999999 }, { \"step\": 528, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 44.77321528369677, \"RMSE\": 63.69509749878913, \"R2\": -0.0033415055563215, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2515539999999999 }, { \"step\": 539, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 45.99579764939489, \"RMSE\": 65.0494992510053, \"R2\": -0.003252609562637, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2615709999999999 }, { \"step\": 550, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 46.57020777663759, \"RMSE\": 66.07332710234044, \"R2\": -0.0031815200825582, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2717109999999999 }, { \"step\": 561, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 47.75825760640621, \"RMSE\": 67.5643396193493, \"R2\": -0.0030950009187136, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2819719999999999 }, { \"step\": 572, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 49.49138874897682, \"RMSE\": 70.24569214117749, \"R2\": -0.0029719424061886, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.2923559999999999 }, { \"step\": 578, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"ChickWeights\", \"MAE\": 50.250899455914585, \"RMSE\": 71.11438743304103, \"R2\": -0.0029294686391043, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.3028349999999999 }, { \"step\": 20, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.695184981652336, \"RMSE\": 9.807184976514188, \"R2\": -224.6021011118197, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.001338 }, { \"step\": 40, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.3994713447037435, \"RMSE\": 7.102066178895935, \"R2\": -19.27845129783118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.003825 }, { \"step\": 60, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8170744682035584, \"RMSE\": 5.815253847056423, \"R2\": -17.329373299766118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.00717 }, { \"step\": 80, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.604995404573344, \"RMSE\": 5.081770494168446, \"R2\": -13.040545957103586, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.0113569999999999 }, { \"step\": 100, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.824259078948539, \"RMSE\": 4.70488333223354, \"R2\": -6.5512954222403845, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.020929 }, { \"step\": 120, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.918744608116588, \"RMSE\": 4.412336880489357, \"R2\": -4.634185300646759, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.030834 }, { \"step\": 140, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8761207739327503, \"RMSE\": 4.13187920011476, \"R2\": -4.105616799680584, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.041039 }, { \"step\": 160, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.961232939518506, \"RMSE\": 3.976173487274506, \"R2\": -3.1695661963674864, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.051538 }, { \"step\": 180, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.066134597500757, \"RMSE\": 3.873731518767916, \"R2\": -2.4756944369169624, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.062312 }, { \"step\": 200, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 2.051125997923389, \"RMSE\": 3.731810291394655, \"R2\": -2.23527456693896, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.073408 }, { \"step\": 220, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.94095193468414, \"RMSE\": 3.56902990398404, \"R2\": -2.19210047340805, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.084777 }, { \"step\": 240, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9366756524315063, \"RMSE\": 3.4612902974772624, \"R2\": -2.024876884626847, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.096419 }, { \"step\": 260, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.9250039777458068, \"RMSE\": 3.363327951159923, \"R2\": -1.8945640461454525, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.108333 }, { \"step\": 280, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8726934920539136, \"RMSE\": 3.257010428159885, \"R2\": -1.8420037280027224, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.120517 }, { \"step\": 300, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.8907476896224935, \"RMSE\": 3.1958821895815714, \"R2\": -1.6910252267675163, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.133002 }, { \"step\": 320, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.819623890420079, \"RMSE\": 3.103812605138666, \"R2\": -1.663886258690169, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.145758 }, { \"step\": 340, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7396293145937214, \"RMSE\": 3.014220627768389, \"R2\": -1.654906383755708, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.158784 }, { \"step\": 360, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7350691203787965, \"RMSE\": 2.9569384317632506, \"R2\": -1.5759385016835008, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.172076 }, { \"step\": 380, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6987131960417108, \"RMSE\": 2.8893997308323693, \"R2\": -1.5446951110541192, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.185636 }, { \"step\": 400, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.673610627740774, \"RMSE\": 2.82935583501861, \"R2\": -1.5089937655143242, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.199488 }, { \"step\": 420, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6410137122925974, \"RMSE\": 2.7701802079251965, \"R2\": -1.484737486096575, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.213608 }, { \"step\": 440, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6565972573555454, \"RMSE\": 2.7427790467379385, \"R2\": -1.391750010744973, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.227993 }, { \"step\": 460, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.699464840115161, \"RMSE\": 2.73946740401384, \"R2\": -1.2626191030939884, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.242643 }, { \"step\": 480, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7224824441896145, \"RMSE\": 2.7219018737730583, \"R2\": -1.182307732575659, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.25756 }, { \"step\": 500, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7446092142173422, \"RMSE\": 2.70580354422956, \"R2\": -1.1113262021905803, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.272747 }, { \"step\": 520, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7464998751860934, \"RMSE\": 2.677192702589883, \"R2\": -1.0705208906620065, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.288233 }, { \"step\": 540, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7535492786865423, \"RMSE\": 2.653885630983747, \"R2\": -1.027170706279252, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.303987 }, { \"step\": 560, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7201019899937544, \"RMSE\": 2.614359234374483, \"R2\": -1.0141103337708768, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.320009 }, { \"step\": 580, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6887559504032663, \"RMSE\": 2.5757257291728384, \"R2\": -1.0033760803823184, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.336298 }, { \"step\": 600, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.701917368353294, \"RMSE\": 2.561424763732869, \"R2\": -0.9592753712060648, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.3528799999999999 }, { \"step\": 620, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7178157166185173, \"RMSE\": 2.551346895968156, \"R2\": -0.9142580419512064, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.369731 }, { \"step\": 640, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7365901196485038, \"RMSE\": 2.545046385321895, \"R2\": -0.8692105635365064, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.386852 }, { \"step\": 660, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.7465677425181807, \"RMSE\": 2.532051562790666, \"R2\": -0.8368676529707118, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.40424 }, { \"step\": 680, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.731617734826669, \"RMSE\": 2.504226186170861, \"R2\": -0.8251107974736909, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4218949999999999 }, { \"step\": 700, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6973720107412231, \"RMSE\": 2.47026789197972, \"R2\": -0.8225927549994396, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.439849 }, { \"step\": 720, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6698372433333928, \"RMSE\": 2.4400355004771077, \"R2\": -0.81732226470892, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.458072 }, { \"step\": 740, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6732482399922957, \"RMSE\": 2.425592833263792, \"R2\": -0.7947920429290933, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4765629999999999 }, { \"step\": 760, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6653913599894004, \"RMSE\": 2.404136439714782, \"R2\": -0.7822814452716051, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.4953209999999999 }, { \"step\": 780, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6644612180457288, \"RMSE\": 2.387561393188575, \"R2\": -0.7656652158374817, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.514347 }, { \"step\": 800, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6556359332933146, \"RMSE\": 2.368497267913513, \"R2\": -0.7532954885990883, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.533661 }, { \"step\": 820, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6452077788467467, \"RMSE\": 2.348678653798561, \"R2\": -0.7430103139622937, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.5532450000000001 }, { \"step\": 840, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6374623223784903, \"RMSE\": 2.3305035344735936, \"R2\": -0.7320713255917544, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.5730930000000001 }, { \"step\": 860, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6419505315856449, \"RMSE\": 2.320208013716276, \"R2\": -0.7138439732116804, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.6284980000000001 }, { \"step\": 880, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6490002164922652, \"RMSE\": 2.3126155324510744, \"R2\": -0.6941855677649247, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.6842080000000001 }, { \"step\": 900, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6474991175923384, \"RMSE\": 2.299197536504521, \"R2\": -0.6816400531907807, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.7401880000000002 }, { \"step\": 920, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6301006788336792, \"RMSE\": 2.2779225390149764, \"R2\": -0.6777843948800273, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.7964830000000002 }, { \"step\": 940, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6221876471839871, \"RMSE\": 2.262378737250057, \"R2\": -0.6690049120995847, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.8530460000000002 }, { \"step\": 960, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.6124120493571743, \"RMSE\": 2.245866476718547, \"R2\": -0.6619276404267609, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.9098760000000002 }, { \"step\": 980, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5867001120604314, \"RMSE\": 2.223758235975506, \"R2\": -0.661013659831075, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 0.9669740000000002 }, { \"step\": 1000, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.5681359363812415, \"RMSE\": 2.2037391763141216, \"R2\": -0.6587014308970958, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 1.0243380000000002 }, { \"step\": 1001, \"track\": \"Regression\", \"model\": \"[baseline] Mean predictor\", \"dataset\": \"TrumpApproval\", \"MAE\": 1.567554989468773, \"RMSE\": 2.202858861923226, \"R2\": -0.6584830635688459, \"Memory in Mb\": 0.0004901885986328, \"Time in s\": 1.081765 } ] }, \"params\": [ { \"name\": \"models\", \"select\": { \"type\": \"point\", \"fields\": [ \"model\" ] }, \"bind\": \"legend\" }, { \"name\": \"Dataset\", \"value\": \"ChickWeights\", \"bind\": { \"input\": \"select\", \"options\": [ \"ChickWeights\", \"TrumpApproval\" ] } }, { \"name\": \"grid\", \"select\": \"interval\", \"bind\": \"scales\" } ], \"transform\": [ { \"filter\": { \"field\": \"dataset\", \"equal\": { \"expr\": \"Dataset\" } } } ], \"repeat\": { \"row\": [ \"MAE\", \"RMSE\", \"R2\", \"Memory in Mb\", \"Time in s\" ] }, \"spec\": { \"width\": \"container\", \"mark\": \"line\", \"encoding\": { \"x\": { \"field\": \"step\", \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"title\": \"Instance\" } }, \"y\": { \"field\": { \"repeat\": \"row\" }, \"type\": \"quantitative\", \"axis\": { \"titleFontSize\": 18, \"labelFontSize\": 18 } }, \"color\": { \"field\": \"model\", \"type\": \"ordinal\", \"scale\": { \"scheme\": \"category20b\" }, \"title\": \"Models\", \"legend\": { \"titleFontSize\": 18, \"labelFontSize\": 18, \"labelLimit\": 500 } }, \"opacity\": { \"condition\": { \"param\": \"models\", \"value\": 1 }, \"value\": 0.2 } } } }

"},{"location":"benchmarks/Regression/#datasets","title":"Datasets","text":"ChickWeights

Chick weights along time.

The stream contains 578 items and 3 features. The goal is to predict the weight of each chick along time, according to the diet the chick is on. The data is ordered by time and then by chick.

Name  ChickWeights                                                                                                  \nTask  Regression\n

Samples 578 Features 3 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/chick-weights.csv

TrumpApproval

Donald Trump approval ratings.

This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald Trump's approval ratings. It contains 5 features, which are approval ratings collected by 5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of this task is to see if we can reproduce FiveThirtyEight's model.

Name  TrumpApproval                                                                                                     \nTask  Regression\n

Samples 1,001 Features 6 Sparse False Path /Users/mastelini/miniconda3/envs/river-benchmark/lib/python3.10/site-packages/river/datasets/trump_approval.csv.gz

"},{"location":"benchmarks/Regression/#models","title":"Models","text":"Linear Regression

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Linear Regression with l1 regularization

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=1.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Linear Regression with l2 regularization

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=1.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)

Passive-Aggressive Regressor, mode 1

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  PARegressor (\n    C=1.\n    mode=1\n    eps=0.1\n    learn_intercept=True\n  )\n)

Passive-Aggressive Regressor, mode 2

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  PARegressor (\n    C=1.\n    mode=2\n    eps=0.1\n    learn_intercept=True\n  )\n)

k-Nearest Neighbors

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  KNNRegressor (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    aggregation_method=\"mean\"\n  )\n)\n\n

\n\nHoeffding Tree\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  HoeffdingTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n  )\n)

\n\n

\n\nHoeffding Adaptive Tree\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=True\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=42\n  )\n)

\n\n

\n\nStochastic Gradient Tree\n

SGTRegressor (\n  delta=1e-07\n  grace_period=200\n  init_pred=0.\n  max_depth=inf\n  lambda_value=0.1\n  gamma=1.\n  nominal_attributes=[]\n  feature_quantizer=StaticQuantizer (\n    n_bins=64\n    warm_start=100\n    buckets=None\n  )\n)

\n\n

\n\nAdaptive Random Forest\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  []\n)

\n\n

\n\nAggregated Mondrian Forest\n

[]

\n\n

\n\nAdaptive Model Rules\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  AMRules (\n    n_min=200\n    delta=1e-07\n    tau=0.05\n    pred_type=\"adaptive\"\n    pred_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    fading_factor=0.99\n    anomaly_threshold=-0.75\n    m_min=30\n    ordered_rule_set=True\n    min_samples_split=5\n  )\n)

\n\n

\n\nStreaming Random Patches\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  SRPRegressor (\n    model=HoeffdingTreeRegressor (\n      grace_period=50\n      max_depth=inf\n      delta=0.01\n      tau=0.05\n      leaf_prediction=\"adaptive\"\n      leaf_model=LinearRegression (\n        optimizer=SGD (\n          lr=Constant (\n            learning_rate=0.01\n          )\n        )\n        loss=Squared ()\n        l2=0.\n        l1=0.\n        intercept_init=0.\n        intercept_lr=Constant (\n          learning_rate=0.01\n        )\n        clip_gradient=1e+12\n        initializer=Zeros ()\n      )\n      model_selector_decay=0.95\n      nominal_attributes=None\n      splitter=TEBSTSplitter (\n        digits=1\n      )\n      min_samples_split=5\n      binary_split=False\n      max_size=500.\n      memory_estimate_period=1000000\n      stop_mem_management=False\n      remove_poor_attrs=False\n      merit_preprune=True\n    )\n    n_models=10\n    subspace_size=0.6\n    training_method=\"patches\"\n    lam=6\n    drift_detector=ADWIN (\n      delta=1e-05\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    warning_detector=ADWIN (\n      delta=0.0001\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    disable_detector=\"off\"\n    disable_weighted_vote=True\n    drift_detection_criteria=\"error\"\n    aggregation_method=\"mean\"\n    seed=42\n    metric=MAE ()\n  )\n)

\n\n

\n\nBagging\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  [HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=False\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  )]\n)

\n\n

\n\nExponentially Weighted Average\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  [LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.01\n      )\n    )\n    loss=Squared ()\n    l2=0.\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  ), HoeffdingAdaptiveTreeRegressor (\n    grace_period=200\n    max_depth=inf\n    delta=1e-07\n    tau=0.05\n    leaf_prediction=\"adaptive\"\n    leaf_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    model_selector_decay=0.95\n    nominal_attributes=None\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    min_samples_split=5\n    bootstrap_sampling=True\n    drift_window_threshold=300\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    switch_significance=0.05\n    binary_split=False\n    max_size=500.\n    memory_estimate_period=1000000\n    stop_mem_management=False\n    remove_poor_attrs=False\n    merit_preprune=True\n    seed=None\n  ), KNNRegressor (\n    n_neighbors=5\n    engine=SWINN (\n      graph_k=20\n      dist_func=FunctionWrapper (\n        distance_function=functools.partial(, p=2)\n      )\n      maxlen=1000\n      warm_up=500\n      max_candidates=50\n      delta=0.0001\n      prune_prob=0.\n      n_iters=10\n      seed=None\n    )\n    aggregation_method=\"mean\"\n  ), AMRules (\n    n_min=200\n    delta=1e-07\n    tau=0.05\n    pred_type=\"adaptive\"\n    pred_model=LinearRegression (\n      optimizer=SGD (\n        lr=Constant (\n          learning_rate=0.01\n        )\n      )\n      loss=Squared ()\n      l2=0.\n      l1=0.\n      intercept_init=0.\n      intercept_lr=Constant (\n        learning_rate=0.01\n      )\n      clip_gradient=1e+12\n      initializer=Zeros ()\n    )\n    splitter=TEBSTSplitter (\n      digits=1\n    )\n    drift_detector=ADWIN (\n      delta=0.002\n      clock=32\n      max_buckets=5\n      min_window_length=5\n      grace_period=10\n    )\n    fading_factor=0.99\n    anomaly_threshold=-0.75\n    m_min=30\n    ordered_rule_set=True\n    min_samples_split=5\n  )]\n)\n\n

\n\nRiver MLP\n

Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  MLPRegressor (\n    hidden_dims=(5,)\n    activations=(, , )\n    loss=Squared ()\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.001\n      )\n    )\n    seed=42\n  )\n)\n\n

\n\n[baseline] Mean predictor\n

StatisticRegressor (\n  statistic=Mean ()\n)

\n\n

"},{"location":"benchmarks/Regression/#environment","title":"Environment","text":"
Python implementation: CPython\nPython version       : 3.12.4\nIPython version      : 8.18.1\n\nriver       : 0.21.2\nnumpy       : 1.26.4\nscikit-learn: 1.3.1\npandas      : 2.2.2\nscipy       : 1.13.0\n\nCompiler    : GCC 11.4.0\nOS          : Linux\nRelease     : 6.5.0-1024-azure\nMachine     : x86_64\nProcessor   : x86_64\nCPU cores   : 4\nArchitecture: 64bit\n
"},{"location":"examples/batch-to-online/","title":"From batch to online/stream","text":""},{"location":"examples/batch-to-online/#a-quick-overview-of-batch-learning","title":"A quick overview of batch learning","text":"

If you've already delved into machine learning, then you shouldn't have any difficulty in getting to use incremental learning. If you are somewhat new to machine learning, then do not worry! The point of this notebook in particular is to introduce simple notions. We'll also start to show how River fits in and explain how to use it.

The whole point of machine learning is to learn from data. In supervised learning you want to learn how to predict a target \\(y\\) given a set of features \\(X\\). Meanwhile in an unsupervised learning there is no target, and the goal is rather to identify patterns and trends in the features \\(X\\). At this point most people tend to imagine \\(X\\) as a somewhat big table where each row is an observation and each column is a feature, and they would be quite right. Learning from tabular data is part of what's called batch learning, which basically that all of the data is available to our learning algorithm at once. Multiple libraries have been created to handle the batch learning regime, with one of the most prominent being Python's scikit-learn.

As a simple example of batch learning let's say we want to learn to predict if a women has breast cancer or not. We'll use the breast cancer dataset available with scikit-learn. We'll learn to map a set of features to a binary decision using a logistic regression. Like many other models based on numerical weights, logistic regression is sensitive to the scale of the features. Rescaling the data so that each feature has mean 0 and variance 1 is generally considered good practice. We can apply the rescaling and fit the logistic regression sequentially in an elegant manner using a Pipeline. To measure the performance of the model we'll evaluate the average ROC AUC score using a 5 fold cross-validation.

from sklearn import datasets\nfrom sklearn import linear_model\nfrom sklearn import metrics\nfrom sklearn import model_selection\nfrom sklearn import pipeline\nfrom sklearn import preprocessing\n\n\n# Load the data\ndataset = datasets.load_breast_cancer()\nX, y = dataset.data, dataset.target\n\n# Define the steps of the model\nmodel = pipeline.Pipeline([\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LogisticRegression(solver='lbfgs'))\n])\n\n# Define a determistic cross-validation procedure\ncv = model_selection.KFold(n_splits=5, shuffle=True, random_state=42)\n\n# Compute the MSE values\nscorer = metrics.make_scorer(metrics.roc_auc_score)\nscores = model_selection.cross_val_score(model, X, y, scoring=scorer, cv=cv)\n\n# Display the average score and its standard deviation\nprint(f'ROC AUC: {scores.mean():.3f} (\u00b1 {scores.std():.3f})')\n
ROC AUC: 0.975 (\u00b1 0.011)\n

This might be a lot to take in if you're not accustomed to scikit-learn, but it probably isn't if you are. Batch learning basically boils down to:

  1. Loading (and preprocessing) the data
  2. Fitting a model to the data
  3. Computing the performance of the model on unseen data

This is pretty standard and is maybe how most people imagine a machine learning pipeline. However, this way of proceeding has certain downsides. First of all your laptop would crash if the load_boston function returned a dataset who's size exceeds your available amount of RAM. Sometimes you can use some tricks to get around this. For example by optimizing the data types and by using sparse representations when applicable you can potentially save precious gigabytes of RAM. However, like many tricks this only goes so far. If your dataset weighs hundreds of gigabytes then you won't go far without some special hardware. One solution is to do out-of-core learning; that is, algorithms that can learn by being presented the data in chunks or mini-batches. If you want to go down this road then take a look at Dask and Spark's MLlib.

Another issue with the batch learning regime is that it can't elegantly learn from new data. Indeed if new data is made available, then the model has to learn from scratch with a new dataset composed of the old data and the new data. This is particularly annoying in a real situation where you might have new incoming data every week, day, hour, minute, or even second. For example if you're building a recommendation engine for an e-commerce app, then you're probably training your model from 0 every week or so. As your app grows in popularity, so does the dataset you're training on. This will lead to longer and longer training times and might require a hardware upgrade.

A final downside that isn't very easy to grasp concerns the manner in which features are extracted. Every time you want to train your model you first have to extract features. The trick is that some features might not be accessible at the particular point in time you are at. For example maybe that some attributes in your data warehouse get overwritten with time. In other words maybe that all the features pertaining to a particular observations are not available, whereas they were a week ago. This happens more often than not in real scenarios, and apart if you have a sophisticated data engineering pipeline then you will encounter these issues at some point.

"},{"location":"examples/batch-to-online/#a-hands-on-introduction-to-incremental-learning","title":"A hands-on introduction to incremental learning","text":"

Incremental learning is also often called online learning or stream learning, but if you google online learning a lot of the results will point to educational websites. Hence, the terms \"incremental learning\" and \"stream learning\" (from which River derives its name) are preferred. The point of incremental learning is to fit a model to a stream of data. In other words, the data isn't available in its entirety, but rather the observations are provided one by one. As an example let's stream through the dataset used previously.

for xi, yi in zip(X, y):\n    # This is where the model learns\n    pass\n

In this case we're iterating over a dataset that is already in memory, but we could just as well stream from a CSV file, a Kafka stream, an SQL query, etc. If we look at xi we can notice that it is a numpy.ndarray.

xi\n
array([7.760e+00, 2.454e+01, 4.792e+01, 1.810e+02, 5.263e-02, 4.362e-02,\n       0.000e+00, 0.000e+00, 1.587e-01, 5.884e-02, 3.857e-01, 1.428e+00,\n       2.548e+00, 1.915e+01, 7.189e-03, 4.660e-03, 0.000e+00, 0.000e+00,\n       2.676e-02, 2.783e-03, 9.456e+00, 3.037e+01, 5.916e+01, 2.686e+02,\n       8.996e-02, 6.444e-02, 0.000e+00, 0.000e+00, 2.871e-01, 7.039e-02])\n

River by design works with dicts. We believe that dicts are more enjoyable to program with than numpy.ndarrays, at least for when single observations are concerned. dict's bring the added benefit that each feature can be accessed by name rather than by position.

for xi, yi in zip(X, y):\n    xi = dict(zip(dataset.feature_names, xi))\n    pass\n\nxi\n
{'mean radius': 7.76,\n 'mean texture': 24.54,\n 'mean perimeter': 47.92,\n 'mean area': 181.0,\n 'mean smoothness': 0.05263,\n 'mean compactness': 0.04362,\n 'mean concavity': 0.0,\n 'mean concave points': 0.0,\n 'mean symmetry': 0.1587,\n 'mean fractal dimension': 0.05884,\n 'radius error': 0.3857,\n 'texture error': 1.428,\n 'perimeter error': 2.548,\n 'area error': 19.15,\n 'smoothness error': 0.007189,\n 'compactness error': 0.00466,\n 'concavity error': 0.0,\n 'concave points error': 0.0,\n 'symmetry error': 0.02676,\n 'fractal dimension error': 0.002783,\n 'worst radius': 9.456,\n 'worst texture': 30.37,\n 'worst perimeter': 59.16,\n 'worst area': 268.6,\n 'worst smoothness': 0.08996,\n 'worst compactness': 0.06444,\n 'worst concavity': 0.0,\n 'worst concave points': 0.0,\n 'worst symmetry': 0.2871,\n 'worst fractal dimension': 0.07039}\n

Conveniently, River's stream module has an iter_sklearn_dataset method that we can use instead.

from river import stream\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    pass\n

The simple fact that we are getting the data as a stream means that we can't do a lot of things the same way as in a batch setting. For example let's say we want to scale the data so that it has mean 0 and variance 1, as we did earlier. To do so we simply have to subtract the mean of each feature to each value and then divide the result by the standard deviation of the feature. The problem is that we can't possible know the values of the mean and the standard deviation before actually going through all the data! One way to proceed would be to do a first pass over the data to compute the necessary values and then scale the values during a second pass. The problem is that this defeats our purpose, which is to learn by only looking at the data once. Although this might seem rather restrictive, it reaps sizable benefits down the road.

The way we do feature scaling in River involves computing running statistics (also know as moving statistics). The idea is that we use a data structure that estimates the mean and updates itself when it is provided with a value. The same goes for the variance (and thus the standard deviation). For example, if we denote \\(\\mu_t\\) the mean and \\(n_t\\) the count at any moment \\(t\\), then updating the mean can be done as so:

\\[ \\begin{cases} n_{t+1} = n_t + 1 \\\\ \\mu_{t+1} = \\mu_t + \\frac{x - \\mu_t}{n_{t+1}} \\end{cases} \\]

Likewise, the running variance can be computed as so:

\\[ \\begin{cases} n_{t+1} = n_t + 1 \\\\ \\mu_{t+1} = \\mu_t + \\frac{x - \\mu_t}{n_{t+1}} \\\\ s_{t+1} = s_t + (x - \\mu_t) \\times (x - \\mu_{t+1}) \\\\ \\sigma_{t+1} = \\frac{s_{t+1}}{n_{t+1}} \\end{cases} \\]

where \\(s_t\\) is a running sum of squares and \\(\\sigma_t\\) is the running variance at time \\(t\\). This might seem a tad more involved than the batch algorithms you learn in school, but it is rather elegant. Implementing this in Python is not too difficult. For example let's compute the running mean and variance of the 'mean area' variable.

n, mean, sum_of_squares, variance = 0, 0, 0, 0\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    n += 1\n    old_mean = mean\n    mean += (xi['mean area'] - mean) / n\n    sum_of_squares += (xi['mean area'] - old_mean) * (xi['mean area'] - mean)\n    variance = sum_of_squares / n\n\nprint(f'Running mean: {mean:.3f}')\nprint(f'Running variance: {variance:.3f}')\n
Running mean: 654.889\nRunning variance: 123625.903\n

Let's compare this with numpy. But remember, numpy requires access to \"all\" the data.

import numpy as np\n\ni = list(dataset.feature_names).index('mean area')\nprint(f'True mean: {np.mean(X[:, i]):.3f}')\nprint(f'True variance: {np.var(X[:, i]):.3f}')\n
True mean: 654.889\nTrue variance: 123625.903\n

The results seem to be exactly the same! The twist is that the running statistics won't be very accurate for the first few observations. In general though this doesn't matter too much. Some would even go as far as to say that this descrepancy is beneficial and acts as some sort of regularization...

Now the idea is that we can compute the running statistics of each feature and scale them as they come along. The way to do this with River is to use the StandardScaler class from the preprocessing module, as so:

from river import preprocessing\n\nscaler = preprocessing.StandardScaler()\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer()):\n    scaler.learn_one(xi)\n

Now that we are scaling the data, we can start doing some actual machine learning. We're going to implement an online linear regression task. Because all the data isn't available at once, we are obliged to do what is called stochastic gradient descent, which is a popular research topic and has a lot of variants. SGD is commonly used to train neural networks. The idea is that at each step we compute the loss between the target prediction and the truth. We then calculate the gradient, which is simply a set of derivatives with respect to each weight from the linear regression. Once we have obtained the gradient, we can update the weights by moving them in the opposite direction of the gradient. The amount by which the weights are moved typically depends on a learning rate, which is typically set by the user. Different optimizers have different ways of managing the weight update, and some handle the learning rate implicitly. Online linear regression can be done in River with the LinearRegression class from the linear_model module. We'll be using plain and simple SGD using the SGD optimizer from the optim module. During training we'll measure the squared error between the truth and the predictions.

from river import linear_model\nfrom river import optim\n\nscaler = preprocessing.StandardScaler()\noptimizer = optim.SGD(lr=0.01)\nlog_reg = linear_model.LogisticRegression(optimizer)\n\ny_true = []\ny_pred = []\n\nfor xi, yi in stream.iter_sklearn_dataset(datasets.load_breast_cancer(), shuffle=True, seed=42):\n\n    # Scale the features\n    scaler.learn_one(xi)\n    xi_scaled = scaler.transform_one(xi)\n\n    # Test the current model on the new \"unobserved\" sample\n    yi_pred = log_reg.predict_proba_one(xi_scaled)\n    # Train the model with the new sample\n    log_reg.learn_one(xi_scaled, yi)\n\n    # Store the truth and the prediction\n    y_true.append(yi)\n    y_pred.append(yi_pred[True])\n\nprint(f'ROC AUC: {metrics.roc_auc_score(y_true, y_pred):.3f}')\n
ROC AUC: 0.990\n

The ROC AUC is significantly better than the one obtained from the cross-validation of scikit-learn's logisitic regression. However to make things really comparable it would be nice to compare with the same cross-validation procedure. River has a compat module that contains utilities for making River compatible with other Python libraries. Because we're doing regression we'll be using the SKLRegressorWrapper. We'll also be using Pipeline to encapsulate the logic of the StandardScaler and the LogisticRegression in one single object.

from river import compat\nfrom river import compose\n\n# We define a Pipeline, exactly like we did earlier for sklearn \nmodel = compose.Pipeline(\n    ('scale', preprocessing.StandardScaler()),\n    ('log_reg', linear_model.LogisticRegression())\n)\n\n# We make the Pipeline compatible with sklearn\nmodel = compat.convert_river_to_sklearn(model)\n\n# We compute the CV scores using the same CV scheme and the same scoring\nscores = model_selection.cross_val_score(model, X, y, scoring=scorer, cv=cv)\n\n# Display the average score and its standard deviation\nprint(f'ROC AUC: {scores.mean():.3f} (\u00b1 {scores.std():.3f})')\n
ROC AUC: 0.964 (\u00b1 0.016)\n

This time the ROC AUC score is lower, which is what we would expect. Indeed online learning isn't as accurate as batch learning. However it all depends in what you're interested in. If you're only interested in predicting the next observation then the online learning regime would be better. That's why it's a bit hard to compare both approaches: they're both suited to different scenarios.

"},{"location":"examples/batch-to-online/#going-further","title":"Going further","text":"

Here a few resources if you want to do some reading:

  • Online learning -- Wikipedia
  • What is online machine learning? -- Max Pagels
  • Introduction to Online Learning -- USC course
  • Online Methods in Machine Learning -- MIT course
  • Online Learning: A Comprehensive Survey
  • Streaming 101: The world beyond batch
  • Machine learning for data streams
  • Data Stream Mining: A Practical Approach
"},{"location":"examples/bike-sharing-forecasting/","title":"Bike-sharing forecasting","text":"

In this tutorial we're going to forecast the number of bikes in 5 bike stations from the city of Toulouse. We'll do so by building a simple model step by step. The dataset contains 182,470 observations. Let's first take a peak at the data.

from pprint import pprint\nfrom river import datasets\n\ndataset = datasets.Bikes()\n\nfor x, y in dataset:\n    pprint(x)\n    print(f'Number of available bikes: {y}')\n    break\n
{'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'pressure': 1017.0,\n 'station': 'metro-canal-du-midi',\n 'temperature': 6.54,\n 'wind': 9.3}\nNumber of available bikes: 1\n

Let's start by using a simple linear regression on the numeric features. We can select the numeric features and discard the rest of the features using a Select. Linear regression is very likely to go haywire if we don't scale the data, so we'll use a StandardScaler to do just that. We'll evaluate the model by measuring the mean absolute error. Finally we'll print the score every 20,000 observations.

from river import compose\nfrom river import linear_model\nfrom river import metrics\nfrom river import evaluate\nfrom river import preprocessing\nfrom river import optim\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression(optimizer=optim.SGD(0.001))\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric, print_every=20_000)\n
[20,000] MAE: 4.912763\n[40,000] MAE: 5.333578\n[60,000] MAE: 5.330969\n[80,000] MAE: 5.392334\n[100,000] MAE: 5.423078\n[120,000] MAE: 5.541239\n[140,000] MAE: 5.613038\n[160,000] MAE: 5.622441\n[180,000] MAE: 5.567836\n[182,470] MAE: 5.563905\n\n\n\n\n\nMAE: 5.563905\n

The model doesn't seem to be doing that well, but then again we didn't provide a lot of features. Generally, a good idea for this kind of problem is to look at an average of the previous values. For example, for each station we can look at the average number of bikes per hour. To do so we first have to extract the hour from the moment field. We can then use a TargetAgg to aggregate the values of the target.

from river import feature_extraction\nfrom river import stats\n\ndef get_hour(x):\n    x['hour'] = x['moment'].hour\n    return x\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel += (\n    get_hour |\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression(optimizer=optim.SGD(0.001))\n\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric, print_every=20_000)\n
[20,000] MAE: 3.720766\n[40,000] MAE: 3.829739\n[60,000] MAE: 3.844905\n[80,000] MAE: 3.910137\n[100,000] MAE: 3.888553\n[120,000] MAE: 3.923644\n[140,000] MAE: 3.980882\n[160,000] MAE: 3.949972\n[180,000] MAE: 3.934489\n[182,470] MAE: 3.933442\n\n\n\n\n\nMAE: 3.933442\n

By adding a single feature, we've managed to significantly reduce the mean absolute error. At this point you might think that the model is getting slightly complex, and is difficult to understand and test. Pipelines have the advantage of being terse, but they aren't always to debug. Thankfully River has some ways to relieve the pain.

The first thing we can do it to visualize the pipeline, to get an idea of how the data flows through it.

model\n
['clouds', [...]
Select ( clouds humidity pressure temperature wind )
get_hour
def get_hour(x): x['hour'] = x['moment'].hour return x
y_mean_by_station_and_hour
TargetAgg ( by=['station', 'hour'] how=Mean () target_name=\"y\" )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.001 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

We can also use the debug_one method to see what happens to one particular instance. Let's train the model on the first 10,000 observations and then call debug_one on the next one. To do this, we will turn the Bike object into a Python generator with iter() function. The Pythonic way to read the first 10,000 elements of a generator is to use itertools.islice.

import itertools\n\nmodel = compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind')\nmodel += (\n    get_hour |\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nfor x, y in itertools.islice(dataset, 10000):\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n\nx, y = next(iter(dataset))\nprint(model.debug_one(x))\n
0. Input\n--------\nclouds: 75 (int)\ndescription: light rain (str)\nhumidity: 81 (int)\nmoment: 2016-04-01 00:00:07 (datetime)\npressure: 1,017.00000 (float)\nstation: metro-canal-du-midi (str)\ntemperature: 6.54000 (float)\nwind: 9.30000 (float)\n\n1. Transformer union\n--------------------\n    1.0 Select\n    ----------\n    clouds: 75 (int)\n    humidity: 81 (int)\n    pressure: 1,017.00000 (float)\n    temperature: 6.54000 (float)\n    wind: 9.30000 (float)\n\n    1.1 get_hour | y_mean_by_station_and_hour\n    -----------------------------------------\n    y_mean_by_station_and_hour: 4.43243 (float)\n\nclouds: 75 (int)\nhumidity: 81 (int)\npressure: 1,017.00000 (float)\ntemperature: 6.54000 (float)\nwind: 9.30000 (float)\ny_mean_by_station_and_hour: 4.43243 (float)\n\n2. StandardScaler\n-----------------\nclouds: 0.47566 (float)\nhumidity: 0.42247 (float)\npressure: 1.05314 (float)\ntemperature: -1.22098 (float)\nwind: 2.21104 (float)\ny_mean_by_station_and_hour: -0.59098 (float)\n\n3. LinearRegression\n-------------------\nName                         Value      Weight     Contribution  \n                 Intercept    1.00000    6.58252        6.58252  \n                  pressure    1.05314    3.78529        3.98646  \n                  humidity    0.42247    1.44921        0.61225  \ny_mean_by_station_and_hour   -0.59098    0.54167       -0.32011  \n                    clouds    0.47566   -1.92255       -0.91448  \n                      wind    2.21104   -0.77720       -1.71843  \n               temperature   -1.22098    2.47030       -3.01619\n\nPrediction: 5.21201\n

The debug_one method shows what happens to an input set of features, step by step.

And now comes the catch. Up until now we've been using the progressive_val_score method from the evaluate module. What this does it that it sequentially predicts the output of an observation and updates the model immediately afterwards. This way of proceeding is often used for evaluating online learning models. But in some cases it is the wrong approach.

When evaluating a machine learning model, the goal is to simulate production conditions in order to get a trust-worthy assessment of the performance of the model. In our case, we typically want to forecast the number of bikes available in a station, say, 30 minutes ahead. Then, once the 30 minutes have passed, the true number of available bikes will be available and we will be able to update the model using the features available 30 minutes ago.

What we really want is to evaluate the model by forecasting 30 minutes ahead and only updating the model once the true values are available. This can be done using the moment and delay parameters in the progressive_val_score method. The idea is that each observation in the stream of the data is shown twice to the model: once for making a prediction, and once for updating the model when the true value is revealed. The moment parameter determines which variable should be used as a timestamp, while the delay parameter controls the duration to wait before revealing the true values to the model.

import datetime as dt\n\nevaluate.progressive_val_score(\n    dataset=dataset,\n    model=model.clone(),\n    metric=metrics.MAE(),\n    moment='moment',\n    delay=dt.timedelta(minutes=30),\n    print_every=20_000\n)\n
[20,000] MAE: 20.198137\n[40,000] MAE: 12.199763\n[60,000] MAE: 9.468279\n[80,000] MAE: 8.126625\n[100,000] MAE: 7.273133\n[120,000] MAE: 6.735469\n[140,000] MAE: 6.376704\n[160,000] MAE: 6.06156\n[180,000] MAE: 5.806744\n[182,470] MAE: 5.780772\n\n\n\n\n\nMAE: 5.780772\n

The performance is a bit worse, which is to be expected. Indeed, the task is more difficult: the model is only shown the ground truth 30 minutes after making a prediction.

The takeaway of this notebook is that the progressive_val_score method can be used to simulate a production scenario, and is thus extremely valuable.

"},{"location":"examples/building-a-simple-nowcasting-model/","title":"Building a simple nowcasting model","text":"

Nowcasting is a special case of forecasting. It simply consists in predicting the next value in a time series.

We'll be using the international airline passenger data available from here. This particular dataset is included with River in the datasets module.

from river import datasets\n\nfor x, y in datasets.AirlinePassengers():\n    print(x, y)\n    break\n
{'month': datetime.datetime(1949, 1, 1, 0, 0)} 112\n

The data is as simple as can be: it consists of a sequence of months and values representing the total number of international airline passengers per month. Our goal is going to be to predict the number of passengers for the next month at each step. Notice that because the dataset is small -- which is usually the case for time series -- we could just fit a model from scratch each month. However for the sake of example we're going to train a single model online. Although the overall performance might be potentially weaker, training a time series model online has the benefit of being scalable if, say, you have have thousands of time series to manage.

We'll start with a very simple model where the only feature will be the ordinal date of each month. This should be able to capture some of the underlying trend.

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}\n\n\nmodel = compose.Pipeline(\n    ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n

We'll write down a function to evaluate the model. This will go through each observation in the dataset and update the model as it goes on. The prior predictions will be stored along with the true values and will be plotted together.

from river import metrics\nfrom river import utils\nimport matplotlib.pyplot as plt\n\n\ndef evaluate_model(model): \n\n    metric = utils.Rolling(metrics.MAE(), 12)\n\n    dates = []\n    y_trues = []\n    y_preds = []\n\n    for x, y in datasets.AirlinePassengers():\n\n        # Obtain the prior prediction and update the model in one go\n        y_pred = model.predict_one(x)\n        model.learn_one(x, y)\n\n        # Update the error metric\n        metric.update(y, y_pred)\n\n        # Store the true value and the prediction\n        dates.append(x['month'])\n        y_trues.append(y)\n        y_preds.append(y_pred)\n\n    # Plot the results\n    fig, ax = plt.subplots(figsize=(10, 6))\n    ax.grid(alpha=0.75)\n    ax.plot(dates, y_trues, lw=3, color='#2ecc71', alpha=0.8, label='Ground truth')\n    ax.plot(dates, y_preds, lw=3, color='#e74c3c', alpha=0.8, label='Prediction')\n    ax.legend()\n    ax.set_title(metric)\n

Let's evaluate our first model.

evaluate_model(model)\n

The model has captured a trend but not the right one. Indeed it thinks the trend is linear whereas we can visually see that the growth of the data increases with time. In other words the second derivative of the series is positive. This is a well know problem in time series forecasting and there are thus many ways to handle it; for example by using a Box-Cox transform. However we are going to do something a bit different, and instead linearly detrend the series using a TargetStandardScaler.

from river import stats\n\n\nmodel = compose.Pipeline(\n    ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(intercept_lr=0)),\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

Now let's try and capture the monthly trend by one-hot encoding the month name.

import calendar\n\n\ndef get_month(x):\n    return {\n        calendar.month_name[month]: month == x['month'].month\n        for month in range(1, 13)\n    }\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month', compose.FuncTransformer(get_month)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(intercept_lr=0))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

This seems pretty decent. We can take a look at the weights of the linear regression to get an idea of the importance of each feature.

model.regressor['lin_reg'].weights\n
{'January': -0.13808091575141299,\n 'February': -0.18716063793638954,\n 'March': -0.026469206216021102,\n 'April': -0.03500685108350436,\n 'May': -0.013638742192777328,\n 'June': 0.16194267303548826,\n 'July': 0.31995865445067634,\n 'August': 0.2810396556938982,\n 'September': 0.03834350518076595,\n 'October': -0.11655850082390988,\n 'November': -0.2663497734491209,\n 'December': -0.15396048501165746,\n 'ordinal_date': 1.0234863735122575}\n

As could be expected the months of July and August have the highest weights because these are the months where people typically go on holiday abroad. The month of December has a low weight because this is a month of festivities in most of the Western world where people usually stay at home.

Our model seems to understand which months are important, but it fails to see that the importance of each month grows multiplicatively as the years go on. In other words our model is too shy. We can fix this by increasing the learning rate of the LinearRegression's optimizer.

from river import optim\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month', compose.FuncTransformer(get_month)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03)\n    ))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

This is starting to look good! Naturally in production we would tune the learning rate, ideally in real-time.

Before finishing, we're going to introduce a cool feature extraction trick based on radial basis function kernels. The one-hot encoding we did on the month is a good idea but if you think about it is a bit rigid. Indeed the value of each feature is going to be 0 or 1, depending on the month of each observation. We're basically saying that the month of September is as distant to the month of August as it is to the month of March. Of course this isn't true, and it would be nice if our features would reflect this. To do so we can simply calculate the distance between the month of each observation and all the months in the calendar. Instead of simply computing the distance linearly, we're going to use a so-called Gaussian radial basic function kernel. This is a bit of a mouthful but for us it boils down to a simple formula, which is:

\\[d(i, j) = exp(-\\frac{(i - j)^2}{2\\sigma^2})\\]

Intuitively this computes a similarity between two months -- denoted by \\(i\\) and \\(j\\) -- which decreases the further apart they are from each other. The \\(sigma\\) parameter can be seen as a hyperparameter than can be tuned -- in the following snippet we'll simply ignore it. The thing to take away is that this results in smoother predictions than when using a one-hot encoding scheme, which is often a desirable property. You can also see trick in action in this nice presentation.

import math\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('ordinal_date', compose.FuncTransformer(get_ordinal_date)),\n        ('month_distances', compose.FuncTransformer(get_month_distances)),\n    )),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03)\n    ))\n)\n\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

We've managed to get a good looking prediction curve with a reasonably simple model. What's more our model has the advantage of being interpretable and easy to debug. There surely are more rocks to squeeze (e.g. tune the hyperparameters, use an ensemble model, etc.) but we'll leave that as an exercice to the reader.

As a finishing touch we'll rewrite our pipeline using the | operator, which is called a \"pipe\".

extract_features = compose.TransformerUnion(get_ordinal_date, get_month_distances)\n\nscale = preprocessing.StandardScaler()\n\nlearn = linear_model.LinearRegression(\n    intercept_lr=0,\n    optimizer=optim.SGD(0.03)\n)\n\nmodel = extract_features | scale | learn\nmodel = preprocessing.TargetStandardScaler(regressor=model)\n\nevaluate_model(model)\n

model\n
TargetStandardScaler
TargetStandardScaler ( regressor=Pipeline ( steps=OrderedDict([('TransformerUnion', TransformerUnion ( FuncTransformer ( func=\"get_ordinal_date\" ), FuncTransformer ( func=\"get_month_distances\" ) )), ('StandardScaler', StandardScaler ( with_std=True )), ('LinearRegression', LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.03 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0 ) clip_gradient=1e+12 initializer=Zeros () ))]) ) )
get_ordinal_date
def get_ordinal_date(x): return {'ordinal_date': x['month'].toordinal()}
get_month_distances
def get_month_distances(x): return { calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2) for month in range(1, 13) }
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.03 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/content-personalization/","title":"Content personalization","text":""},{"location":"examples/content-personalization/#without-context","title":"Without context","text":"

This example takes inspiration from Vowpal Wabbit's excellent tutorial.

Content personalization is about taking into account user preferences. It's a special case of recommender systems. Ideally, side-information should be taken into account in addition to the user. But we'll start with something simpler. We'll assume that each user has stable preferences that are independent of the context. We capture this by implementing a \"reward\" function.

def get_reward(user, item, context):\n\n    time_of_day = context['time_of_day']\n\n    USER_LIKED_ARTICLE = 1\n    USER_DISLIKED_ARTICLE = 0\n\n    if user == 'Tom':\n        if time_of_day == 'morning' and item == 'politics':\n            return USER_LIKED_ARTICLE\n        elif time_of_day == 'afternoon' and item == 'music':\n            return USER_LIKED_ARTICLE\n        else:\n            return USER_DISLIKED_ARTICLE\n    elif user == 'Anna':\n        if time_of_day == 'morning' and item == 'sports':\n            return USER_LIKED_ARTICLE\n        elif time_of_day == 'afternoon' and item == 'politics':\n            return USER_LIKED_ARTICLE\n        else:\n            return USER_DISLIKED_ARTICLE\n\nget_reward('Tom', 'politics', {'time_of_day': 'morning'})\n
1\n

Measuring the performance of a recommendation is not straightforward, mostly because of the interactive aspect of recommender systems. In a real situation, recommendations are presented to a user, and the user gives feedback indicating whether they like what they have been recommended or not. This feedback loop can't be captured entirely by a historical dataset. Some kind of simulator is required to generate recommendations and capture feedback. We already have a reward function. Now let's implement a simulation function.

import random\nimport matplotlib.pyplot as plt\n\ndef plot_ctr(ctr):\n    plt.plot(range(1, len(ctr) + 1), ctr)\n    plt.xlabel('n_iterations', fontsize=14)\n    plt.ylabel('CTR', fontsize=14)\n    plt.ylim([0, 1])\n    plt.title(f'final CTR: {ctr[-1]:.2%}', fontsize=14)\n    plt.grid()\n\nusers = ['Tom', 'Anna']\ntimes_of_day = ['morning', 'afternoon']\nitems = {'politics', 'sports', 'music', 'food', 'finance', 'health', 'camping'}\n\ndef simulate(n, reward_func, model, seed):\n\n    rng = random.Random(seed)\n    n_clicks = 0\n    ctr = []  # click-through rate along time\n\n    for i in range(n):\n\n        # Generate a context at random\n        user = rng.choice(users)\n        context = {\n            'time_of_day': rng.choice(times_of_day)\n        }\n\n        # Make a single recommendation\n        item = model.rank(user, items=items, x=context)[0]\n\n        # Measure the reward\n        clicked = reward_func(user, item, context)\n        n_clicks += clicked\n        ctr.append(n_clicks / (i + 1))\n\n        # Update the model\n        model.learn_one(user, item, y=clicked, x=context)\n\n    plot_ctr(ctr)\n

This simulation function does quite a few things. It can be seen as a simple reinforcement learning simulation. It samples a user, and then ask the model to provide a single recommendation. The user then gives as to whether they liked the recommendation or not. Crucially, the user doesn't tell us what item they would have liked. We could model this as a multi-class classification problem if that were the case.

The strategy parameter determines the mechanism used to generate the recommendations. The 'best' strategy means that the items are each scored by the model, and are then ranked from the most preferred to the least preferred. Here the most preferred item is the one which gets recommended. But you could imagine all sorts of alternative ways to proceed.

We can first evaluate a recommended which acts completely at random. It assigns a random preference to each item, regardless of the user.

from river import reco\n\nmodel = reco.RandomNormal(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

We can see that the click-through rate (CTR) oscillates around 28.74%. In fact, this model is expected to be correct 100 * (2 / 7)% = 28.57% of the time. Indeed, each user likes two items, and there are seven items in total.

Let's now use the Baseline recommended. This one models each preference as the following sum:

\\[preference = \\bar{y} + b_{u} + b_{i}\\]

where

  • \\(\\bar{y}\\) is the average CTR overall
  • \\(b_{u}\\) is the average CTR per user minus \\(\\bar{y}\\) -- it's therefore called a bias
  • \\(b_{i}\\) is the average CTR per item minus \\(\\bar{y}\\)

This model is considered to be a baseline because it doesn't actually learn what items are preferred by each user. Instead it models each user and item separately. We shouldn't expect it to be a strong model. It should however do better than the random model used above.

model = reco.Baseline(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

This baseline model seems perfect, which is surprising. The reason why it works so well is because both users have in common that they both like politics. The model therefore learns that the 'politics' is a good item to recommend.

model.i_biases\n
defaultdict(Zeros (),\n            {'politics': 0.06389451550325113,\n             'music': -0.04041254194187752,\n             'camping': -0.040319730234734,\n             'health': -0.03581829597317823,\n             'food': -0.037778771188204816,\n             'finance': -0.04029646665611086,\n             'sports': -0.03661678982763635})\n

The model is not as performant if we use a reward function where both users have different preferences.

simulate(\n    5_000,\n    reward_func=lambda user, item, context: (\n        item in {'music', 'politics'} if user == \"Tom\" else\n        item in {'food', 'sports'}\n    ),\n    model=model,\n    seed=42\n)\n

A good recommender model should at the very least understand what kind of items each user prefers. One of the simplest and yet performant way to do this is Simon Funk's SGD method he developped for the Netflix challenge and wrote about here. It models each user and each item as latent vectors. The dot product of these two vectors is the expected preference of the user for the item.

model = reco.FunkMF(seed=10)\nsimulate(5_000, get_reward, model, seed=42)\n

We can see that this model learns what items each user enjoys very well. Of course, there are some caveats. In our simulation, we ask the model to recommend the item most likely to be preferred for each user. Indeed, we rank all the items and pick the item at the top of the list. We do this many times for only two users.

This is of course not realistic. Users will get fed up with recommendations if they're always shown the same item. It's important to include diversity into recommendations, and to let the model explore other options instead of always focusing on the item with the highest score. This is where evaluating recommender systems gets tricky: the reward function itself is difficult to model.

We will keep ignoring these caveats in this notebook. Instead we will focus on a different concern: making recommendations when context is involved.

"},{"location":"examples/content-personalization/#with-context","title":"With context","text":"

We'll add some context by making it so that user preferences change depending on the time the day. Very simply, preferences might change from morning to afternoon. This is captured by the following reward function.

times_of_day = ['morning', 'afternoon']\n\ndef get_reward(user, item, context):\n    if user == 'Tom':\n        if context['time_of_day'] == 'morning':\n            return item == 'politics'\n        if context['time_of_day'] == 'afternoon':\n            return item == 'music'\n    if user == 'Anna':\n        if context['time_of_day'] == 'morning':\n            return item == 'sports'\n        if context['time_of_day'] == 'afternoon':\n            return item == 'politics'\n

We have to update our simulation function to generate a random context at each step. We also want our model to use it for recommending items as well as learning.

def simulate(n, reward_func, model, seed):\n\n    rng = random.Random(seed)\n    n_clicks = 0\n    ctr = []\n\n    for i in range(n):\n\n        user = rng.choice(users)\n\n        # New: pass a context\n        context = {'time_of_day': rng.choice(times_of_day)}\n        item = model.rank(user, items, context)[0]\n\n        clicked = reward_func(user, item, context)\n        n_clicks += clicked\n        ctr.append(n_clicks / (i + 1))\n\n        # New: pass a context\n        model.learn_one(user, item, clicked, context)\n\n    plot_ctr(ctr)\n

Not all models are capable of taking into account context. For instance, the FunkMF model only models users and items. It completely ignores the context, even when we provide one. All recommender models inherit from the base Recommender class. They also have a property which indicates whether or not they are able to handle context:

model = reco.FunkMF(seed=10)\nmodel.is_contextual\n
False\n

Let's see well it performs.

simulate(5_000, get_reward, model, seed=42)\n

The performance has roughly been divided by half. This is most likely because there are now two times of day, and if the model has learnt preferences for one time of the day, then it's expected to be wrong half of the time.

Before delving into recsys models that can handle context, a simple hack is to notice that we can append the time of day to the user. This effectively results in new users which our model can distinguish between. We could apply this trick during the simulation, but we can also override the behavior of the learn_one and rank methods of our model.

class FunkMFWithHack(reco.FunkMF):\n\n    def learn_one(self, user, item, reward, context):\n        user = f\"{user}@{context['time_of_day']}\"\n        return super().learn_one(user, item, reward, context)\n\n    def rank(self, user, items, context):\n        user = f\"{user}@{context['time_of_day']}\"\n        return super().rank(user, items, context)\n\nmodel = FunkMFWithHack(seed=29)\nsimulate(5_000, get_reward, model, seed=42)\n

We can verify that the model has learnt the correct preferences by looking at the expected preference for each (user, item) pair.

import pandas as pd\n\n(\n    pd.DataFrame(\n        {\n            'user': user,\n            'item': item,\n            'preference': model.predict_one(user, item)\n        }\n        for user in model.u_latents\n        for item in model.i_latents\n    )\n    .pivot(index='user', columns='item')\n    .style.highlight_max(color='lightgreen', axis='columns')\n)\n
preference item camping finance food health music politics sports user Anna@afternoon -0.018105 0.032865 0.069222 -0.059041 0.168353 1.000000 0.195960 Anna@morning -0.117577 0.081131 0.076300 -0.136399 0.154483 0.221890 1.000000 Tom@afternoon 0.057220 -0.027115 -0.074671 -0.233071 1.000000 0.163607 0.141781 Tom@morning -0.028562 -0.005428 0.061163 -0.050107 0.063483 1.000000 0.125515"},{"location":"examples/debugging-a-pipeline/","title":"Debugging a pipeline","text":"

River encourages users to make use of pipelines. The biggest pain point of pipelines is that it can be hard to understand what's happening to the data, especially when the pipeline is complex. Fortunately the Pipeline class has a debug_one method that can help out.

Let's look at a fairly complex pipeline for predicting the number of bikes in 5 bike stations from the city of Toulouse. It doesn't matter if you understand the pipeline or not; the point of this notebook is to learn how to introspect a pipeline.

import datetime as dt\nfrom river import compose\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\nfrom river import stream\n\n\nX_y = datasets.Bikes()\nX_y = stream.simulate_qa(X_y, moment='moment', delay=dt.timedelta(minutes=30))\n\ndef add_time_features(x):\n    return {\n        **x,\n        'hour': x['moment'].hour,\n        'day': x['moment'].weekday()\n    }\n\nmodel = add_time_features\nmodel |= (\n    compose.Select('clouds', 'humidity', 'pressure', 'temperature', 'wind') +\n    feature_extraction.TargetAgg(by=['station', 'hour'], how=stats.Mean()) +\n    feature_extraction.TargetAgg(by='station', how=stats.EWMean())\n)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nmetric = metrics.MAE()\n\nquestions = {}\n\nfor i, x, y in X_y:\n    # Question\n    is_question = y is None\n    if is_question:\n        y_pred = model.predict_one(x)\n        questions[i] = y_pred\n\n    # Answer\n    else:\n        metric.update(y, questions[i])\n        model.learn_one(x, y)\n\n        if i >= 30000 and i % 30000 == 0:\n            print(i, metric)\n
30000 MAE: 13.328051\n60000 MAE: 7.824087\n90000 MAE: 6.003909\n120000 MAE: 5.052855\n150000 MAE: 4.496826\n180000 MAE: 4.140702\n

Let's start by looking at the pipeline. You can click each cell to display the current state for each step of the pipeline.

model\n
add_time_features
def add_time_features(x): return { **x, 'hour': x['moment'].hour, 'day': x['moment'].weekday() }
['clouds', [...]
Select ( clouds humidity pressure temperature wind )
y_mean_by_station_and_hour
TargetAgg ( by=['station', 'hour'] how=Mean () target_name=\"y\" )
y_ewm_0.5_by_station
TargetAgg ( by=['station'] how=EWMean ( fading_factor=0.5 ) target_name=\"y\" )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

As mentioned above the Pipeline class has a debug_one method. You can use this at any point you want to visualize what happen to an input x. For example, let's see what happens to the last seen x.

print(model.debug_one(x))\n
0. Input\n--------\nclouds: 88 (int)\ndescription: overcast clouds (str)\nhumidity: 84 (int)\nmoment: 2016-10-05 09:57:18 (datetime)\npressure: 1,017.34000 (float)\nstation: pomme (str)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\n\n1. add_time_features\n--------------------\nclouds: 88 (int)\nday: 2 (int)\ndescription: overcast clouds (str)\nhour: 9 (int)\nhumidity: 84 (int)\nmoment: 2016-10-05 09:57:18 (datetime)\npressure: 1,017.34000 (float)\nstation: pomme (str)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\n\n2. Transformer union\n--------------------\n    2.0 Select\n    ----------\n    clouds: 88 (int)\n    humidity: 84 (int)\n    pressure: 1,017.34000 (float)\n    temperature: 17.45000 (float)\n    wind: 1.95000 (float)\n\n    2.1 TargetAgg\n    -------------\n    y_mean_by_station_and_hour: 7.89396 (float)\n\n    2.2 TargetAgg1\n    --------------\n    y_ewm_0.5_by_station: 11.80372 (float)\n\nclouds: 88 (int)\nhumidity: 84 (int)\npressure: 1,017.34000 (float)\ntemperature: 17.45000 (float)\nwind: 1.95000 (float)\ny_ewm_0.5_by_station: 11.80372 (float)\ny_mean_by_station_and_hour: 7.89396 (float)\n\n3. StandardScaler\n-----------------\nclouds: 1.54778 (float)\nhumidity: 1.16366 (float)\npressure: 0.04916 (float)\ntemperature: -0.51938 (float)\nwind: -0.69426 (float)\ny_ewm_0.5_by_station: 0.19640 (float)\ny_mean_by_station_and_hour: -0.27110 (float)\n\n4. LinearRegression\n-------------------\nName                         Value      Weight     Contribution  \n                 Intercept    1.00000    9.19960        9.19960  \n      y_ewm_0.5_by_station    0.19640    9.19349        1.80562  \n                  humidity    1.16366    1.01680        1.18320  \n               temperature   -0.51938   -0.41575        0.21593  \n                      wind   -0.69426   -0.03810        0.02645  \n                  pressure    0.04916    0.18321        0.00901  \ny_mean_by_station_and_hour   -0.27110    0.19553       -0.05301  \n                    clouds    1.54778   -0.32838       -0.50827\n\nPrediction: 11.87854\n

The pipeline does quite a few things, but using debug_one shows what happens step by step. This is really useful for checking that the pipeline is behaving as you're expecting it too. Remember that you can debug_one whenever you wish, be it before, during, or after training a model.

"},{"location":"examples/imbalanced-learning/","title":"Working with imbalanced data","text":"

In machine learning it is quite usual to have to deal with imbalanced dataset. This is particularly true in online learning for tasks such as fraud detection and spam classification. In these two cases, which are binary classification problems, there are usually many more 0s than 1s, which generally hinders the performance of the classifiers we thrown at them.

As an example we'll use the credit card dataset available in River. We'll first use a collections.Counter to count the number of 0s and 1s in order to get an idea of the class balance.

import collections\nfrom river import datasets\n\nX_y = datasets.CreditCard()\n\ncounts = collections.Counter(y for _, y in X_y)\n\nfor c, count in counts.items():\n    print(f'{c}: {count} ({count / sum(counts.values()):.5%})')\n
0: 284315 (99.82725%)\n1: 492 (0.17275%)\n
"},{"location":"examples/imbalanced-learning/#baseline","title":"Baseline","text":"

The dataset is quite unbalanced. For each 1 there are about 578 0s. Let's now train a logistic regression with default parameters and see how well it does. We'll measure the ROC AUC score.

from river import linear_model\nfrom river import metrics\nfrom river import evaluate\nfrom river import preprocessing\n\n\nX_y = datasets.CreditCard()\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression()\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 89.11%\n
"},{"location":"examples/imbalanced-learning/#importance-weighting","title":"Importance weighting","text":"

The performance is already quite acceptable, but as we will now see we can do even better. The first thing we can do is to add weight to the 1s by using the weight_pos argument of the Log loss function.

from river import optim\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(\n        loss=optim.losses.Log(weight_pos=5)\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.43%\n
"},{"location":"examples/imbalanced-learning/#focal-loss","title":"Focal loss","text":"

The deep learning for object detection community has produced a special loss function for imbalanced learning called focal loss. We are doing binary classification, so we can plug the binary version of focal loss into our logistic regression and see how well it fairs.

model = (\n    preprocessing.StandardScaler() |\n    linear_model.LogisticRegression(loss=optim.losses.BinaryFocalLoss(2, 1))\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.31%\n
"},{"location":"examples/imbalanced-learning/#under-sampling-the-majority-class","title":"Under-sampling the majority class","text":"

Adding importance weights only works with gradient-based models (which includes neural networks). A more generic, and potentially more effective approach, is to use undersamplig and oversampling. As an example, we'll under-sample the stream so that our logistic regression encounter 20% of 1s and 80% of 0s. Under-sampling has the additional benefit of requiring less training steps, and thus reduces the total training time.

from river import imblearn\n\nmodel = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 94.75%\n

The RandomUnderSampler class is a wrapper for classifiers. This is represented by a rectangle around the logistic regression bubble when we visualize the model.

model\n
StandardScaler
StandardScaler ( with_std=True )
RandomUnderSampler
RandomUnderSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.8, 1: 0.2} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/imbalanced-learning/#over-sampling-the-minority-class","title":"Over-sampling the minority class","text":"

We can also attain the same class distribution by over-sampling the minority class. This will come at cost of having to train with more samples.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomOverSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 91.71%\n
"},{"location":"examples/imbalanced-learning/#sampling-with-a-desired-sample-size","title":"Sampling with a desired sample size","text":"

The downside of both RandomUnderSampler and RandomOverSampler is that you don't have any control on the amount of data the classifier trains on. The number of samples is adjusted so that the target distribution can be attained, either by under-sampling or over-sampling. However, you can do both at the same time and choose how much data the classifier will see. To do so, we can use the RandomSampler class. In addition to the desired class distribution, we can specify how much data to train on. The samples will both be under-sampled and over-sampled in order to fit your constraints. This is powerful because it allows you to control both the class distribution and the size of the training data (and thus the training time). In the following example we'll set it so that the model will train with 1 percent of the data.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomSampler(\n        classifier=linear_model.LogisticRegression(),\n        desired_dist={0: .8, 1: .2},\n        sampling_rate=.01,\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 94.71%\n
"},{"location":"examples/imbalanced-learning/#hybrid-approach","title":"Hybrid approach","text":"

As you might have guessed by now, nothing is stopping you from mixing imbalanced learning methods together. As an example, let's combine sampling.RandomUnderSampler and the weight_pos parameter from the optim.losses.Log loss function.

model = (\n    preprocessing.StandardScaler() |\n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(\n            loss=optim.losses.Log(weight_pos=5)\n        ),\n        desired_dist={0: .8, 1: .2},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(X_y, model, metric)\n
ROCAUC: 96.52%\n
"},{"location":"examples/quantile-regression-uncertainty/","title":"Handling uncertainty with quantile regression","text":"
%matplotlib inline\n

Quantile regression is useful when you're not so much interested in the accuracy of your model, but rather you want your model to be good at ranking observations correctly. The typical way to perform quantile regression is to use a special loss function, namely the quantile loss. The quantile loss takes a parameter, \\(\\alpha\\) (alpha), which indicates which quantile the model should be targeting. In the case of \\(\\alpha = 0.5\\), then this is equivalent to asking the model to predict the median value of the target, and not the most likely value which would be the mean.

A nice thing we can do with quantile regression is to produce a prediction interval for each prediction. Indeed, if we predict the lower and upper quantiles of the target then we will be able to obtain a \"trust region\" in between which the true value is likely to belong. Of course, the likeliness will depend on the chosen quantiles. For a slightly more detailed explanation see this blog post.

As an example, let us take the simple nowcasting model we built in another notebook. Instead of predicting the mean value of the target distribution, we will predict the 5th, 50th, 95th quantiles. This will require training three separate models, so we will encapsulate the model building logic in a function called make_model. We also have to slightly adapt the training loop, but not by much. Finally, we will draw the prediction interval along with the predictions from for 50th quantile (i.e. the median) and the true values.

import calendar\nimport math\nimport matplotlib.pyplot as plt\nfrom river import compose\nfrom river import datasets\nfrom river import linear_model\nfrom river import metrics\nfrom river import optim\nfrom river import preprocessing\nfrom river import stats\n\n\ndef get_ordinal_date(x):\n    return {'ordinal_date': x['month'].toordinal()}    \n\n\ndef get_month_distances(x):\n    return {\n        calendar.month_name[month]: math.exp(-(x['month'].month - month) ** 2)\n        for month in range(1, 13)\n    }\n\n\ndef make_model(alpha):\n\n    extract_features = compose.TransformerUnion(get_ordinal_date, get_month_distances)\n\n    scale = preprocessing.StandardScaler()\n\n    learn = linear_model.LinearRegression(\n        intercept_lr=0,\n        optimizer=optim.SGD(0.03),\n        loss=optim.losses.Quantile(alpha=alpha)\n    )\n\n    model = extract_features | scale | learn\n    model = preprocessing.TargetStandardScaler(regressor=model)\n\n    return model\n\nmetric = metrics.MAE()\n\nmodels = {\n    'lower': make_model(alpha=0.05),\n    'center': make_model(alpha=0.5),\n    'upper': make_model(alpha=0.95)\n}\n\ndates = []\ny_trues = []\ny_preds = {\n    'lower': [],\n    'center': [],\n    'upper': []\n}\n\nfor x, y in datasets.AirlinePassengers():\n    y_trues.append(y)\n    dates.append(x['month'])\n\n    for name, model in models.items():\n        y_preds[name].append(model.predict_one(x))\n        model.learn_one(x, y)\n\n    # Update the error metric\n    metric.update(y, y_preds['center'][-1])\n\n# Plot the results\nfig, ax = plt.subplots(figsize=(10, 6))\nax.grid(alpha=0.75)\nax.plot(dates, y_trues, lw=3, color='#2ecc71', alpha=0.8, label='Truth')\nax.plot(dates, y_preds['center'], lw=3, color='#e74c3c', alpha=0.8, label='Prediction')\nax.fill_between(dates, y_preds['lower'], y_preds['upper'], color='#e74c3c', alpha=0.3, label='Prediction interval')\nax.legend()\nax.set_title(metric);\n

An important thing to note is that the prediction interval we obtained should not be confused with a confidence interval. Simply put, a prediction interval represents uncertainty for where the true value lies, whereas a confidence interval encapsulates the uncertainty on the prediction. You can find out more by reading this CrossValidated post.

"},{"location":"examples/sentence-classification/","title":"Sentence classification","text":"

In this tutorial we will try to predict whether an SMS is a spam or not. To train our model, we will use the SMSSpam dataset. This dataset is unbalanced, there is only 13.4% spam. Let's look at the data:

from river import datasets\n\ndatasets.SMSSpam()\n
SMS Spam Collection dataset.\n\nThe data contains 5,574 items and 1 feature (i.e. SMS body). Spam messages represent\n13.4% of the dataset. The goal is to predict whether an SMS is a spam or not.\n\n      Name  SMSSpam                                                                              \n      Task  Binary classification                                                                \n   Samples  5,574                                                                                \n  Features  1                                                                                    \n    Sparse  False                                                                                \n      Path  /Users/max/river_data/SMSSpam/SMSSpamCollection                                      \n       URL  https://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip\n      Size  466.71 KB                                                                            \nDownloaded  True\n
from pprint import pprint\n\nX_y = datasets.SMSSpam()\n\nfor x, y in X_y:\n    pprint(x)\n    print(f'Spam: {y}')\n    break\n
{'body': 'Go until jurong point, crazy.. Available only in bugis n great world '\n         'la e buffet... Cine there got amore wat...\\n'}\nSpam: False\n

Let's start by building a simple model like a Naive Bayes classifier. We will first preprocess the sentences with a TF-IDF transform that our model can consume. Then, we will measure the accuracy of our model with the AUC metric. This is the right metric to use when the classes are not balanced. In addition, the Naive Bayes models can perform very well on unbalanced datasets and can be used for both binary and multi-class classification problems.

from river import feature_extraction\nfrom river import naive_bayes\nfrom river import metrics\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    naive_bayes.BernoulliNB(alpha=0)\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    if y_pred is not None:\n        metric.update(y_pred=y_pred, y_true=y)\n        cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 93.00%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,809     17  \n True     102    645\n

The results are quite good with this first model.

Since we are working with an imbalanced dataset, we can use the imblearn module to rebalance the classes of our dataset. For more information about the imblearn module, you can find a dedicated tutorial here.

from river import imblearn\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    imblearn.RandomUnderSampler(\n        classifier=naive_bayes.BernoulliNB(alpha=0),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    if y_pred is not None:\n        metric.update(y_pred=y_pred, y_true=y)\n        cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 94.61%\n

The imblearn module improved our results. Not bad! We can visualize the pipeline to understand how the data is processed.

The confusion matrix:

cm\n
        False   True  \nFalse   4,570    255  \n True      41    706\n
model\n
TFIDF
TFIDF ( normalize=True on=\"body\" strip_accents=True lowercase=True preprocessor=None tokenizer=None ngram_range=(1, 1) )
RandomUnderSampler
RandomUnderSampler ( classifier=BernoulliNB ( alpha=0 true_threshold=0. ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
BernoulliNB
BernoulliNB ( alpha=0 true_threshold=0. )

Now let's try to use logistic regression to classify messages. We will use different tips to make my model perform better. As in the previous example, we rebalance the classes of our dataset. The logistics regression will be fed from a TF-IDF.

from river import linear_model\nfrom river import optim\nfrom river import preprocessing\n\nX_y = datasets.SMSSpam()\n\nmodel = (\n    feature_extraction.TFIDF(on='body') | \n    preprocessing.Normalizer() | \n    imblearn.RandomUnderSampler(\n        classifier=linear_model.LogisticRegression(\n            optimizer=optim.SGD(.9), \n            loss=optim.losses.Log()\n        ),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    metric.update(y_pred=y_pred, y_true=y)\n    cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 93.80%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,584    243  \n True      55    692\n
model\n
TFIDF
TFIDF ( normalize=True on=\"body\" strip_accents=True lowercase=True preprocessor=None tokenizer=None ngram_range=(1, 1) )
Normalizer
Normalizer ( order=2 )
RandomUnderSampler
RandomUnderSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.9 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.9 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

The results of the logistic regression are quite good but still inferior to the naive Bayes model.

Let's try to use word embeddings to improve our logistic regression. Word embeddings allow you to represent a word as a vector. Embeddings are developed to build semantically rich vectors. For instance, the vector which represents the word python should be close to the vector which represents the word programming. We will use spaCy to convert our sentence to vectors. spaCy converts a sentence to a vector by calculating the average of the embeddings of the words in the sentence.

You can download pre-trained embeddings in many languages. We will use English pre-trained embeddings as our SMS are in English.

The command below allows you to download the pre-trained embeddings that spaCy makes available. More informations about spaCy and its installation may be found here here.

python -m spacy download en_core_web_sm\n

Here, we create a custom transformer to convert an input sentence to a dict of floats. We will integrate this transformer into our pipeline.

import spacy\n\nfrom river.base import Transformer\n\nclass Embeddings(Transformer):\n    \"\"\"My custom transformer, word embedding using spaCy.\"\"\"\n\n    def __init__(self, on: str):\n        self.on = on\n        self.embeddings = spacy.load('en_core_web_sm')\n\n    def transform_one(self, x, y=None):\n        return {dimension: xi for dimension, xi in enumerate(self.embeddings(x[self.on]).vector)}\n

Let's train our logistic regression:

X_y = datasets.SMSSpam()\n\nmodel = (\n    Embeddings(on='body') | \n    preprocessing.Normalizer() |\n    imblearn.RandomOverSampler(\n        classifier=linear_model.LogisticRegression(\n            optimizer=optim.SGD(.5), \n            loss=optim.losses.Log()\n        ),\n        desired_dist={0: .5, 1: .5},\n        seed=42\n    )\n)\n\nmetric = metrics.ROCAUC()\ncm = metrics.ConfusionMatrix()\n\nfor x, y in X_y:\n\n    y_pred = model.predict_one(x)\n\n    metric.update(y_pred=y_pred, y_true=y)\n    cm.update(y_pred=y_pred, y_true=y)\n\n    model.learn_one(x, y)\n\nmetric\n
ROCAUC: 91.31%\n

The confusion matrix:

cm\n
        False   True  \nFalse   4,537    290  \n True      85    662\n
model\n
Embeddings
Embeddings ( on=\"body\" )
Normalizer
Normalizer ( order=2 )
RandomOverSampler
RandomOverSampler ( classifier=LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.5 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) desired_dist={0: 0.5, 1: 0.5} seed=42 )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.5 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

The results of the logistic regression using spaCy embeddings are lower than those obtained with TF-IDF values. We could surely improve the results by cleaning up the text. We could also use embeddings more suited to our dataset. However, on this problem, the logistic regression is not better than the Naive Bayes model. No free lunch today.

"},{"location":"examples/the-art-of-using-pipelines/","title":"The art of using pipelines","text":"

Pipelines are a natural way to think about a machine learning system. Indeed with some practice a data scientist can visualise data \"flowing\" through a series of steps. The input is typically some raw data which has to be processed in some manner. The goal is to represent the data in such a way that is can be ingested by a machine learning algorithm. Along the way some steps will extract features, while others will normalize the data and remove undesirable elements. Pipelines are simple, and yet they are a powerful way of designing sophisticated machine learning systems.

Both scikit-learn and pandas make it possible to use pipelines. However it's quite rare to see pipelines being used in practice (at least on Kaggle). Sometimes you get to see people using scikit-learn's pipeline module, however the pipe method from pandas is sadly underappreciated. A big reason why pipelines are not given much love is that it's easier to think of batch learning in terms of a script or a notebook. Indeed many people doing data science seem to prefer a procedural style to a declarative style. Moreover in practice pipelines can be a bit rigid if one wishes to do non-orthodox operations.

Although pipelines may be a bit of an odd fit for batch learning, they make complete sense when they are used for online learning. Indeed the UNIX philosophy has advocated the use of pipelines for data processing for many decades. If you can visualise data as a stream of observations then using pipelines should make a lot of sense to you. We'll attempt to convince you by writing a machine learning algorithm in a procedural way and then converting it to a declarative pipeline in small steps. Hopefully by the end you'll be convinced, or not!

In this notebook we'll manipulate data from the Kaggle Recruit Restaurants Visitor Forecasting competition. The data is directly available through River's datasets module.

from pprint import pprint\nfrom river import datasets\n\nfor x, y in datasets.Restaurants():\n    pprint(x)\n    pprint(y)\n    break\n
{'area_name': 'T\u014dky\u014d-to Nerima-ku Toyotamakita',\n 'date': datetime.datetime(2016, 1, 1, 0, 0),\n 'genre_name': 'Izakaya',\n 'is_holiday': True,\n 'latitude': 35.7356234,\n 'longitude': 139.6516577,\n 'store_id': 'air_04341b588bde96cd'}\n10\n

We'll start by building and running a model using a procedural coding style. The performance of the model doesn't matter, we're simply interested in the design of the model.

from river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\nfrom river import preprocessing\nfrom river import stats\nfrom river import utils\n\nmeans = (\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)),\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)),\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n)\n\nscaler = preprocessing.StandardScaler()\nlin_reg = linear_model.LinearRegression()\nmetric = metrics.MAE()\n\nfor x, y in datasets.Restaurants():\n\n    # Derive date features\n    x['weekday'] = x['date'].weekday()\n    x['is_weekend'] = x['date'].weekday() in (5, 6)\n\n    # Process the rolling means of the target  \n    for mean in means:\n        x = {**x, **mean.transform_one(x)}\n        mean.learn_one(x, y)\n\n    # Remove the key/value pairs that aren't features\n    for key in ['store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude']:\n        x.pop(key)\n\n    # Rescale the data\n    scaler.learn_one(x)\n    x = scaler.transform_one(x)\n\n    # Fit the linear regression\n    y_pred = lin_reg.predict_one(x)\n    lin_reg.learn_one(x, y)\n\n    # Update the metric using the out-of-fold prediction\n    metric.update(y, y_pred)\n\nprint(metric)\n
MAE: 8.316538\n

We're not using many features. We can print the last x to get an idea of the features (don't forget they've been scaled!)

pprint(x)\n
{'is_holiday': -0.23103573677646685,\n 'is_weekend': 1.6249280076334165,\n 'weekday': 1.0292832579142892,\n 'y_mean_by_store_id': -1.3980979075298516}\n

The above chunk of code is quite explicit but it's a bit verbose. The whole point of libraries such as River is to make life easier for users. Moreover there's too much space for users to mess up the order in which things are done, which increases the chance of there being target leakage. We'll now rewrite our model in a declarative fashion using a pipeline \u00e0 la sklearn.

from river import compose\n\n\ndef get_date_features(x):\n    weekday =  x['date'].weekday()\n    return {'weekday': weekday, 'is_weekend': weekday in (5, 6)}\n\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('date_features', compose.FuncTransformer(get_date_features)),\n        ('last_7_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7))),\n        ('last_14_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14))),\n        ('last_21_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)))\n    )),\n    ('drop_non_features', compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude')),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n\nmetric = metrics.MAE()\n\nfor x, y in datasets.Restaurants():\n\n    # Make a prediction without using the target\n    y_pred = model.predict_one(x)\n\n    # Update the model using the target\n    model.learn_one(x, y)\n\n    # Update the metric using the out-of-fold prediction\n    metric.update(y, y_pred)\n\nprint(metric)\n
MAE: 8.413859\n

We use a Pipeline to arrange each step in a sequential order. A TransformerUnion is used to merge multiple feature extractors into a single transformer. The for loop is now much shorter and is thus easier to grok: we get the out-of-fold prediction, we fit the model, and finally we update the metric. This way of evaluating a model is typical of online learning, and so we put it wrapped it inside a function called progressive_val_score part of the evaluate module. We can use it to replace the for loop.

from river import evaluate\n\nmodel = compose.Pipeline(\n    ('features', compose.TransformerUnion(\n        ('date_features', compose.FuncTransformer(get_date_features)),\n        ('last_7_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7))),\n        ('last_14_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14))),\n        ('last_21_mean', feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)))\n    )),\n    ('drop_non_features', compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude')),\n    ('scale', preprocessing.StandardScaler()),\n    ('lin_reg', linear_model.LinearRegression())\n)\n\nevaluate.progressive_val_score(dataset=datasets.Restaurants(), model=model, metric=metrics.MAE())\n
MAE: 8.413859\n

Notice that you couldn't have used the progressive_val_score method if you wrote the model in a procedural manner.

Our code is getting shorter, but it's still a bit difficult on the eyes. Indeed there is a lot of boilerplate code associated with pipelines that can get tedious to write. However River has some special tricks up it's sleeve to save you from a lot of pain.

The first trick is that the name of each step in the pipeline can be omitted. If no name is given for a step then River automatically infers one.

model = compose.Pipeline(\n    compose.TransformerUnion(\n        compose.FuncTransformer(get_date_features),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)),\n        feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n    ),\n    compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude'),\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Under the hood a Pipeline inherits from collections.OrderedDict. Indeed this makes sense because if you think about it a Pipeline is simply a sequence of steps where each step has a name. The reason we mention this is because it means you can manipulate a Pipeline the same way you would manipulate an ordinary dict. For instance we can print the name of each step by using the keys method.

for name in model.steps:\n    print(name)\n
TransformerUnion\nDiscard\nStandardScaler\nLinearRegression\n

The first step is a FeatureUnion and it's string representation contains the string representation of each of it's elements. Not having to write names saves up some time and space and is certainly less tedious.

The next trick is that we can use mathematical operators to compose our pipeline. For example we can use the + operator to merge Transformers into a TransformerUnion.

model = compose.Pipeline(\n    compose.FuncTransformer(get_date_features) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)) + \\\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21)),\n\n    compose.Discard('store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude'),\n    preprocessing.StandardScaler(),\n    linear_model.LinearRegression()\n)\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Likewhise we can use the | operator to assemble steps into a Pipeline.

model = (\n    compose.FuncTransformer(get_date_features) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 7)) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 14)) +\n    feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), 21))\n)\n\nto_discard = ['store_id', 'date', 'genre_name', 'area_name', 'latitude', 'longitude']\n\nmodel = model | compose.Discard(*to_discard) | preprocessing.StandardScaler()\n\nmodel |= linear_model.LinearRegression()\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Hopefully you'll agree that this is a powerful way to express machine learning pipelines. For some people this should be quite remeniscent of the UNIX pipe operator. One final trick we want to mention is that functions are automatically wrapped with a FuncTransformer, which can be quite handy.

model = get_date_features\n\nfor n in [7, 14, 21]:\n    model += feature_extraction.TargetAgg(by='store_id', how=utils.Rolling(stats.Mean(), n))\n\nmodel |= compose.Discard(*to_discard)\nmodel |= preprocessing.StandardScaler()\nmodel |= linear_model.LinearRegression()\n\nevaluate.progressive_val_score(datasets.Restaurants(), model, metrics.MAE())\n
MAE: 8.413859\n

Naturally some may prefer the procedural style we first used because they find it easier to work with. It all depends on your style and you should use what you feel comfortable with. However we encourage you to use operators because we believe that this will increase the readability of your code, which is very important. To each their own!

Before finishing we can take an interactive look at our pipeline.

model\n
get_date_features
def get_date_features(x): weekday = x['date'].weekday() return {'weekday': weekday, 'is_weekend': weekday in (5, 6)}
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=7 ) target_name=\"y\" )
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=14 ) target_name=\"y\" )
y_mean_by_store_id
TargetAgg ( by=['store_id'] how=Rolling ( obj=Mean () window_size=21 ) target_name=\"y\" )
~['area_name', [...]
Discard ( area_name date genre_name latitude longitude store_id )
StandardScaler
StandardScaler ( with_std=True )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () ) "},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/","title":"Part 1","text":"

Table of contents of this tutorial series on matrix factorization for recommender systems:

  • Part 1 - Traditional Matrix Factorization methods for Recommender Systems
  • Part 2 - Factorization Machines and Field-aware Factorization Machines
  • Part 3 - Large scale learning and better predictive power with multiple pass learning
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#introduction","title":"Introduction","text":"

A recommender system is a software tool designed to generate and suggest items or entities to the users. Popular large scale examples include:

  • Amazon (suggesting products)
  • Facebook (suggesting posts in users' news feeds)
  • Spotify (suggesting music)

Social recommendation from graph (mostly used by social networks) are not covered in River. We focus on the general case, item recommendation. This problem can be represented with the user-item matrix:

\\[ \\normalsize \\begin{matrix} & \\begin{matrix} _1 & _\\cdots & _\\cdots & _\\cdots & _I \\end{matrix} \\\\ \\begin{matrix} _1 \\\\ _\\vdots \\\\ _\\vdots \\\\ _\\vdots \\\\ _U \\end{matrix} & \\begin{bmatrix} {\\color{Red} ?} & 2 & \\cdots & {\\color{Red} ?} & {\\color{Red} ?} \\\\ {\\color{Red} ?} & {\\color{Red} ?} & \\cdots & {\\color{Red} ?} & 4.5 \\\\ \\vdots & \\ddots & \\ddots & \\ddots & \\vdots \\\\ 3 & {\\color{Red} ?} & \\cdots & {\\color{Red} ?} & {\\color{Red} ?} \\\\ {\\color{Red} ?} & {\\color{Red} ?} & \\cdots & 5 & {\\color{Red} ?} \\end{bmatrix} \\end{matrix} \\]

Where \\(U\\) and \\(I\\) are the number of user and item of the system, respectively. A matrix entry represents a user's preference for an item, it can be a rating, a like or dislike, etc. Because of the huge number of users and items compared to the number of observed entries, those matrices are very sparsed (usually less than 1% filled).

Matrix Factorization (MF) is a class of collaborative filtering algorithms derived from Singular Value Decomposition (SVD). MF strength lies in its capacity to able to model high cardinality categorical variables interactions. This subfield boomed during the famous Netflix Prize contest in 2006, when numerous novel variants has been invented and became popular thanks to their attractive accuracy and scalability.

MF approach seeks to fill the user-item matrix considering the problem as a matrix completion one. MF core idea assume a latent model learning its own representation of the users and the items in a lower latent dimensional space by factorizing the observed parts of the matrix.

A factorized user or item is represented as a vector \\(\\mathbf{v}_u\\) or \\(\\mathbf{v}_i\\) composed of \\(k\\) latent factors, with \\(k << U, I\\). Those learnt latent variables represent, for an item the various aspects describing it, and for a user its interests in terms of those aspects. The model then assume a user's choice or fondness is composed of a sum of preferences about the various aspects of the concerned item. This sum being the dot product between the latent vectors of a given user-item pair:

\\[ \\normalsize \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{u, f} \\cdot \\mathbf{v}_{i, f} \\]

MF models weights are learnt in an online fashion, often with stochastic gradient descent as it provides relatively fast running time and good accuracy. There is a great and widely popular library named surprise that implements MF models (and others) but in contrast with River doesn't follow a pure online philosophy (all the data have to be loaded in memory and the API doesn't allow you to update your model with new data).

Notes:

  • In recent years, proposed deep learning techniques for recommendation tasks claim state of the art results. However, recent work (August 2019) showed that those promises can't be taken for granted and traditional MF methods are still relevant today.
  • For more information about how the business value of recommender systems is measured and why they are one of the main success stories of machine learning, see the following literature survey (December 2019).
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#lets-start","title":"Let's start","text":"

In this tutorial, we are going to explore MF algorithms available in River and test them on a movie recommendation problem with the MovieLens 100K dataset. This latter is a collection of movie ratings (from 1 to 5) that includes various information about both the items and the users. We can access it from the river.datasets module:

import json\n\nfrom river import datasets\n\nfor x, y in datasets.MovieLens100K():\n    print(f'x = {json.dumps(x, indent=4)}')\n    print(f'y = {y}')\n    break\n
x = {\n    \"user\": \"259\",\n    \"item\": \"255\",\n    \"timestamp\": 874731910000000000,\n    \"title\": \"My Best Friend's Wedding (1997)\",\n    \"release_date\": 866764800000000000,\n    \"genres\": \"comedy, romance\",\n    \"age\": 21.0,\n    \"gender\": \"M\",\n    \"occupation\": \"student\",\n    \"zip_code\": \"48823\"\n}\ny = 4.0\n

Let's define a routine to evaluate our different models on MovieLens 100K. Mean Absolute Error and Root Mean Squared Error will be our metrics printed alongside model's computation time and memory usage:

from river import metrics\nfrom river.evaluate import progressive_val_score\n\ndef evaluate(model, unpack_user_and_item=True):\n    X_y = datasets.MovieLens100K(unpack_user_and_item)\n    metric = metrics.MAE() + metrics.RMSE()\n    _ = progressive_val_score(X_y, model, metric, print_every=25_000, show_time=True, show_memory=True)\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#naive-prediction","title":"Naive prediction","text":"

It's good practice in machine learning to start with a naive baseline and then iterate from simple things to complex ones observing progress incrementally. Let's start by predicting the target running mean as a first shot:

from river import dummy\nfrom river import stats\n\nmodel = dummy.StatisticRegressor(stats.Mean())\nevaluate(model, unpack_user_and_item=False)\n
[25,000] MAE: 0.934259\nRMSE: 1.124469 \u2013 00:00:00 \u2013 898 B\n[50,000] MAE: 0.923893\nRMSE: 1.105 \u2013 00:00:00 \u2013 898 B\n[75,000] MAE: 0.937359\nRMSE: 1.123696 \u2013 00:00:00 \u2013 898 B\n[100,000] MAE: 0.942162\nRMSE: 1.125783 \u2013 00:00:01 \u2013 898 B\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#baseline-model","title":"Baseline model","text":"

Now we can do machine learning and explore available models in river.reco module starting with the baseline model. It extends our naive prediction by adding to the global running mean two bias terms characterizing the user and the item discrepancy from the general tendency. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} \\]

This baseline model can be viewed as a linear regression where the intercept is replaced by the target running mean with the users and the items one hot encoded.

All machine learning models in River expect dicts as input with feature names as keys and feature values as values. Specifically, models from river.reco expect a 'user' and an 'item' entries without any type constraint on their values (i.e. can be strings or numbers), e.g.:

x = {\n    'user': 'Guido',\n    'item': \"Monty Python's Flying Circus\"\n}\n

Other entries, if exist, are simply ignored. This is quite useful as we don't need to spend time and storage doing one hot encoding.

from river import preprocessing\nfrom river import optim\nfrom river import reco\n\nbaseline_params = {\n    'optimizer': optim.SGD(0.025),\n    'l2': 0.,\n    'initializer': optim.initializers.Zeros()\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.Baseline(**baseline_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761844\nRMSE: 0.960972 \u2013 00:00:00 \u2013 161.03 KB\n[50,000] MAE: 0.753292\nRMSE: 0.951223 \u2013 00:00:00 \u2013 216.34 KB\n[75,000] MAE: 0.754177\nRMSE: 0.953376 \u2013 00:00:01 \u2013 254.81 KB\n[100,000] MAE: 0.754651\nRMSE: 0.954148 \u2013 00:00:01 \u2013 278.41 KB\n

We won two tenth of MAE compared to our naive prediction (0.7546 vs 0.9421) meaning that significant information has been learnt by the model.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#funk-matrix-factorization-funkmf","title":"Funk Matrix Factorization (FunkMF)","text":"

It's the pure form of matrix factorization consisting of only learning the users and items latent representations as discussed in introduction. Simon Funk popularized its stochastic gradient descent optimization in 2006 during the Netflix Prize. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle \\]

Note: FunkMF is sometimes referred as Probabilistic Matrix Factorization which is an extended probabilistic version.

funk_mf_params = {\n    'n_factors': 10,\n    'optimizer': optim.SGD(0.05),\n    'l2': 0.1,\n    'initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73)\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.FunkMF(**funk_mf_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 1.070136\nRMSE: 1.397014 \u2013 00:00:00 \u2013 557.99 KB\n[50,000] MAE: 0.99174\nRMSE: 1.290666 \u2013 00:00:01 \u2013 690.31 KB\n[75,000] MAE: 0.961072\nRMSE: 1.250842 \u2013 00:00:01 \u2013 813.07 KB\n[100,000] MAE: 0.944883\nRMSE: 1.227688 \u2013 00:00:02 \u2013 914.17 KB\n

Results are equivalent to our naive prediction (0.9448 vs 0.9421). By only focusing on the users preferences and the items characteristics, the model is limited in his ability to capture different views of the problem. Despite its poor performance alone, this algorithm is quite useful combined in other models or when we need to build dense representations for other tasks.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-1/#biased-matrix-factorization-biasedmf","title":"Biased Matrix Factorization (BiasedMF)","text":"

It's the combination of the Baseline model and FunkMF. The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = \\bar{y} + bu_{u} + bi_{i} + \\langle \\mathbf{v}_u, \\mathbf{v}_i \\rangle \\]

Note: Biased Matrix Factorization name is used by some people but some others refer to it by SVD or Funk SVD. It's the case of Yehuda Koren and Robert Bell in Recommender Systems Handbook (Chapter 5 Advances in Collaborative Filtering) and of surprise library. Nevertheless, SVD could be confused with the original Singular Value Decomposition from which it's derived from, and Funk SVD could also be misleading because of the biased part of the model equation which doesn't come from Simon Funk's work. For those reasons, we chose to side with Biased Matrix Factorization which fits more naturally to it.

biased_mf_params = {\n    'n_factors': 10,\n    'bias_optimizer': optim.SGD(0.025),\n    'latent_optimizer': optim.SGD(0.05),\n    'weight_initializer': optim.initializers.Zeros(),\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73),\n    'l2_bias': 0.,\n    'l2_latent': 0.\n}\n\nmodel = preprocessing.PredClipper(\n    regressor=reco.BiasedMF(**biased_mf_params),\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761818\nRMSE: 0.961057 \u2013 00:00:00 \u2013 643.81 KB\n[50,000] MAE: 0.751667\nRMSE: 0.949443 \u2013 00:00:01 \u2013 817.72 KB\n[75,000] MAE: 0.749653\nRMSE: 0.948723 \u2013 00:00:01 \u2013 964.02 KB\n[100,000] MAE: 0.748559\nRMSE: 0.947854 \u2013 00:00:02 \u2013 1.05 MB\n

Results improved (0.7485 vs 0.7546) demonstrating that users and items latent representations bring additional information.

To conclude this first tutorial about factorization models, let's review the important parameters to tune when dealing with this family of methods:

  • n_factors: the number of latent factors. The more you set, the more items aspects and users preferences you are going to learn. Too many will cause overfitting, l2 regularization could help.
  • *_optimizer: the optimizers. Classic stochastic gradient descent performs well, finding the good learning rate will make the difference.
  • initializer: the latent weights initialization. Latent vectors have to be initialized with non-constant values. We generally sample them from a zero-mean normal distribution with small standard deviation.
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/","title":"Part 2","text":"

As seen in Part 1, strength of Matrix Factorization (MF) lies in its ability to deal with sparse and high cardinality categorical variables. In this second tutorial we will have a look at Factorization Machines (FM) algorithm and study how it generalizes the power of MF.

Table of contents of this tutorial series on matrix factorization for recommender systems:

  • Part 1 - Traditional Matrix Factorization methods for Recommender Systems
  • Part 2 - Factorization Machines and Field-aware Factorization Machines
  • Part 3 - Large scale learning and better predictive power with multiple pass learning
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#factorization-machines","title":"Factorization Machines","text":"

Steffen Rendel came up in 2010 with Factorization Machines, an algorithm able to handle any real valued feature vector, combining the advantages of general predictors with factorization models. It became quite popular in the field of online advertising, notably after winning several Kaggle competitions. The modeling technique starts with a linear regression to capture the effects of each variable individually:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} \\]

Then are added interaction terms to learn features relations. Instead of learning a single and specific weight per interaction (as in polynomial regression), a set of latent factors is learnt per feature (as in MF). An interaction is calculated by multiplying involved features product with their latent vectors dot product. The degree of factorization \u2014 or model order \u2014 represents the maximum number of features per interaction considered. The model equation for a factorization machine of degree \\(d\\) = 2 is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'} \\]

Where \\(\\normalsize \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle\\) is the dot product of \\(j\\) and \\(j'\\) latent vectors:

\\[ \\normalsize \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle = \\sum_{f=1}^{k} \\mathbf{v}_{j, f} \\cdot \\mathbf{v}_{j', f} \\]

Higher-order FM will be covered in a following section, just note that factorization models express their power in sparse settings, which is also where higher-order interactions are hard to estimate.

Strong emphasis must be placed on feature engineering as it allows FM to mimic most factorization models and significantly impact its performance. High cardinality categorical variables one hot encoding is the most frequent step before feeding the model with data. For more efficiency, River FM implementation considers string values as categorical variables and automatically one hot encode them. FM models have their own module river.facto.

## Mimic Biased Matrix Factorization (BiasedMF)

Let's start with a simple example where we want to reproduce the Biased Matrix Factorization model we trained in the previous tutorial. For a fair comparison with Part 1 example, let's set the same evaluation framework:

from river import datasets\nfrom river import metrics\nfrom river.evaluate import progressive_val_score\n\ndef evaluate(model):\n    X_y = datasets.MovieLens100K()\n    metric = metrics.MAE() + metrics.RMSE()\n    _ = progressive_val_score(X_y, model, metric, print_every=25_000, show_time=True, show_memory=True)\n

In order to build an equivalent model we need to use the same hyper-parameters. As we can't replace FM intercept by the global running mean we won't be able to build the exact same model:

from river import compose\nfrom river import facto\nfrom river import preprocessing\nfrom river import optim\nfrom river import stats\n\nfm_params = {\n    'n_factors': 10,\n    'weight_optimizer': optim.SGD(0.025),\n    'latent_optimizer': optim.SGD(0.05),\n    'sample_normalization': False,\n    'l1_weight': 0.,\n    'l2_weight': 0.,\n    'l1_latent': 0.,\n    'l2_latent': 0.,\n    'intercept': 3,\n    'intercept_lr': .01,\n    'weight_initializer': optim.initializers.Zeros(),\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.1, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor |= facto.FMRegressor(**fm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761778\nRMSE: 0.960803 \u2013 00:00:01 \u2013 778.29 KB\n[50,000] MAE: 0.751986\nRMSE: 0.949941 \u2013 00:00:02 \u2013 908.2 KB\n[75,000] MAE: 0.750044\nRMSE: 0.948911 \u2013 00:00:03 \u2013 1.03 MB\n[100,000] MAE: 0.748609\nRMSE: 0.947994 \u2013 00:00:05 \u2013 1.15 MB\n

Both MAE are very close to each other (0.7486 vs 0.7485) showing that we almost reproduced [reco.BiasedMF](../../../api/reco/BiasedMF) algorithm. The cost is a naturally slower running time as FM implementation offers more flexibility.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#feature-engineering-for-fm-models","title":"Feature engineering for FM models","text":"

Let's study the basics of how to properly encode data for FM models. We are going to keep using MovieLens 100K as it provides various feature types:

import json\n\nfor x, y in datasets.MovieLens100K():\n    print(f'x = {json.dumps(x, indent=4)}\\ny = {y}')\n    break\n
x = {\n    \"user\": \"259\",\n    \"item\": \"255\",\n    \"timestamp\": 874731910000000000,\n    \"title\": \"My Best Friend's Wedding (1997)\",\n    \"release_date\": 866764800000000000,\n    \"genres\": \"comedy, romance\",\n    \"age\": 21.0,\n    \"gender\": \"M\",\n    \"occupation\": \"student\",\n    \"zip_code\": \"48823\"\n}\ny = 4.0\n

The features we are going to add to our model don't improve its predictive power. Nevertheless, they are useful to illustrate different methods of data encoding:

  1. Set-categorical variables

We have seen that categorical variables are one hot encoded automatically if set to strings, in the other hand, set-categorical variables must be encoded explicitly by the user. A good way of doing so is to assign them a value of \\(1/m\\), where \\(m\\) is the number of elements of the sample set. It gives the feature a constant \"weight\" across all samples preserving model's stability. Let's create a routine to encode movies genres this way:

def split_genres(x):\n    genres = x['genres'].split(', ')\n    return {f'genre_{genre}': 1 / len(genres) for genre in genres}\n
  1. Numerical variables

In practice, transforming numerical features into categorical ones works better in most cases. Feature binning is the natural way, but finding good bins is sometimes more an art than a science. Let's encode users age with something simple:

def bin_age(x):\n    if x['age'] <= 18:\n        return {'age_0-18': 1}\n    elif x['age'] <= 32:\n        return {'age_19-32': 1}\n    elif x['age'] < 55:\n        return {'age_33-54': 1}\n    else:\n        return {'age_55-100': 1}\n

Let's put everything together:

fm_params = {\n    'n_factors': 14,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FMRegressor(**fm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.759838\nRMSE: 0.961281 \u2013 00:00:03 \u2013 895.78 KB\n[50,000] MAE: 0.751307\nRMSE: 0.951391 \u2013 00:00:08 \u2013 1.02 MB\n[75,000] MAE: 0.750361\nRMSE: 0.951393 \u2013 00:00:12 \u2013 1.18 MB\n[100,000] MAE: 0.749994\nRMSE: 0.951435 \u2013 00:00:16 \u2013 1.33 MB\n

Note that using more variables involves factorizing a larger latent space, then increasing the number of latent factors \\(k\\) often helps capturing more information.

Some other feature engineering tips from 3 idiots' winning solution for Kaggle Criteo display ads competition in 2014:

  • Infrequent modalities often bring noise and little information, transforming them into a special tag can help
  • In some cases, sample-wise normalization seems to make the optimization problem easier to be solved
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#higher-order-factorization-machines-hofm","title":"Higher-Order Factorization Machines (HOFM)","text":"

The model equation generalized to any order \\(d \\geq 2\\) is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{l=2}^{d} \\sum_{j_1=1}^{p} \\cdots \\sum_{j_l=j_{l-1}+1}^{p} \\left(\\prod_{j'=1}^{l} x_{j_{j'}} \\right) \\left(\\sum_{f=1}^{k_l} \\prod_{j'=1}^{l} v_{j_{j'}, f}^{(l)} \\right) \\]
hofm_params = {\n    'degree': 3,\n    'n_factors': 12,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.HOFMRegressor(**hofm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761297\nRMSE: 0.962054 \u2013 00:00:15 \u2013 1.67 MB\n[50,000] MAE: 0.751865\nRMSE: 0.951499 \u2013 00:00:31 \u2013 1.97 MB\n[75,000] MAE: 0.750853\nRMSE: 0.951526 \u2013 00:00:47 \u2013 2.3 MB\n[100,000] MAE: 0.750607\nRMSE: 0.951982 \u2013 00:01:03 \u2013 2.6 MB\n

As said previously, high-order interactions are often hard to estimate due to too much sparsity, that's why we won't spend too much time here.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#field-aware-factorization-machines-ffm","title":"Field-aware Factorization Machines (FFM)","text":"

Field-aware variant of FM (FFM) improved the original method by adding the notion of \"fields\". A \"field\" is a group of features that belong to a specific domain (e.g. the \"users\" field, the \"items\" field, or the \"movie genres\" field).

FFM restricts itself to pairwise interactions and factorizes separated latent spaces \u2014 one per combination of fields (e.g. users/items, users/movie genres, or items/movie genres) \u2014 instead of a common one shared by all fields. Therefore, each feature has one latent vector per field it can interact with \u2014 so that it can learn the specific effect with each different field.

The model equation is defined by:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} \\langle \\mathbf{v}_{j, f_{j'}}, \\mathbf{v}_{j', f_{j}} \\rangle x_{j} x_{j'} \\]

Where \\(f_j\\) and \\(f_{j'}\\) are the fields corresponding to \\(j\\) and \\(j'\\) features, respectively.

ffm_params = {\n    'n_factors': 8,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'latent_initializer': optim.initializers.Normal(mu=0., sigma=0.05, seed=73),\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FFMRegressor(**ffm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.757718\nRMSE: 0.958158 \u2013 00:00:06 \u2013 2.04 MB\n[50,000] MAE: 0.749502\nRMSE: 0.948065 \u2013 00:00:12 \u2013 2.41 MB\n[75,000] MAE: 0.749275\nRMSE: 0.948918 \u2013 00:00:18 \u2013 2.82 MB\n[100,000] MAE: 0.749542\nRMSE: 0.949769 \u2013 00:00:24 \u2013 3.19 MB\n

Note that FFM usually needs to learn smaller number of latent factors \\(k\\) than FM as each latent vector only deals with one field.

"},{"location":"examples/matrix-factorization-for-recommender-systems/part-2/#field-weighted-factorization-machines-fwfm","title":"Field-weighted Factorization Machines (FwFM)","text":"

Field-weighted Factorization Machines (FwFM) address FFM memory issues caused by its large number of parameters, which is in the order of feature number times field number. As FFM, FwFM is an extension of FM restricted to pairwise interactions, but instead of factorizing separated latent spaces, it learns a specific weight \\(r_{f_j, f_{j'}}\\) for each field combination modelling the interaction strength.

The model equation is defined as:

\\[ \\normalsize \\hat{y}(x) = w_{0} + \\sum_{j=1}^{p} w_{j} x_{j} + \\sum_{j=1}^{p} \\sum_{j'=j+1}^{p} r_{f_j, f_{j'}} \\langle \\mathbf{v}_j, \\mathbf{v}_{j'} \\rangle x_{j} x_{j'} \\]
fwfm_params = {\n    'n_factors': 10,\n    'weight_optimizer': optim.SGD(0.01),\n    'latent_optimizer': optim.SGD(0.025),\n    'intercept': 3,\n    'seed': 73,\n}\n\nregressor = compose.Select('user', 'item')\nregressor += (\n    compose.Select('genres') |\n    compose.FuncTransformer(split_genres)\n)\nregressor += (\n    compose.Select('age') |\n    compose.FuncTransformer(bin_age)\n)\nregressor |= facto.FwFMRegressor(**fwfm_params)\n\nmodel = preprocessing.PredClipper(\n    regressor=regressor,\n    y_min=1,\n    y_max=5\n)\n\nevaluate(model)\n
[25,000] MAE: 0.761539\nRMSE: 0.962241 \u2013 00:00:07 \u2013 792.94 KB\n[50,000] MAE: 0.754089\nRMSE: 0.953181 \u2013 00:00:15 \u2013 922.85 KB\n[75,000] MAE: 0.754806\nRMSE: 0.954979 \u2013 00:00:22 \u2013 1.04 MB\n[100,000] MAE: 0.755404\nRMSE: 0.95604 \u2013 00:00:30 \u2013 1.17 MB\n
"},{"location":"examples/matrix-factorization-for-recommender-systems/part-3/","title":"Part 3","text":"

To do.

"},{"location":"faq/","title":"Frequently Asked Questions","text":""},{"location":"faq/#do-all-classifiers-support-multi-class-classification","title":"Do all classifiers support multi-class classification?","text":"

No, they don't. Although binary classification can be seen as a special case of multi-class classification, there are many optimizations that can be performed if we know that there are only two classes. It would be annoying to have to check whether this is the case in an online setting. All in all we find that separating both cases leads to much cleaner code. Note that the multiclass module contains wrapper models that enable you to perform multi-class classification with binary classifiers.

"},{"location":"faq/#how-do-i-know-if-a-classifier-supports-multi-class-classification","title":"How do I know if a classifier supports multi-class classification?","text":"

Each classifier in River inherits from the base.Classifier class. Each classifier therefore has a _multiclass property which indicates whether or not it can process a non-boolean target value.

>>> from river import linear_model\n\n>>> classifier = linear_model.LogisticRegression()\n>>> classifier._multiclass\nFalse\n
"},{"location":"faq/#why-doesnt-river-do-any-input-validation","title":"Why doesn't river do any input validation?","text":"

Python encourages a coding style called EAFP, which stands for \"Easier to Ask for Forgiveness than Permission\". The idea is to assume that runtime errors don't occur, and instead use try/expects to catch errors. The great benefit is that we don't have to drown our code with if statements, which is symptomatic of the LBYL style, which stands for \"look before you leap\". This makes our implementations much more readable than, say, scikit-learn, which does a lot of input validation. The catch is that users have to be careful to use sane inputs. As always, there is no free lunch!

"},{"location":"faq/#what-about-reinforcement-learning","title":"What about reinforcement learning?","text":"

Reinforcement learning works in an online manner because of the nature of the task. Reinforcement learning can be therefore be seen as a subcase of online machine learning. However, we prefer not to support it because there are already many existing opensource libraries dedicated to it.

"},{"location":"faq/#what-are-the-differences-between-scikit-learns-online-learning-algorithm-which-have-a-partial_fit-method-and-their-equivalents-in-river","title":"What are the differences between scikit-learn's online learning algorithm which have a partial_fit method and their equivalents in River?","text":"

The algorithms from sklearn that support incremental learning are mostly meant for mini-batch learning. In a pure streaming context where the observations arrive one by one, then River is much faster than sklearn. This is mostly because sklearn incurs a lot of overhead by performing data checks. Also, sklearn assumes that you're always using the same number of features. This is not the case with River because it use dictionaries which allows you to drop and add features as you wish.

"},{"location":"faq/#how-do-i-save-and-load-models","title":"How do I save and load models?","text":"
>>> from river import ensemble\n>>> import pickle\n\n>>> model = ensemble.AdaptiveRandomForestClassifier()\n\n# save\n>>> with open('model.pkl', 'wb') as f:\n...     pickle.dump(model, f)\n\n# load\n>>> with open('model.pkl', 'rb') as f:\n...     model = pickle.load(f)\n

We also encourage you to try out dill and cloudpickle.

"},{"location":"faq/#what-about-neural-networks","title":"What about neural networks?","text":"

There are many great open-source libraries for building neural network models. We don't feel that we can bring anything of value to the existing Python ecosystem. However, we are open to implementing compatibility wrappers for popular libraries such as PyTorch and Keras.

"},{"location":"faq/#who-are-the-authors-of-this-library","title":"Who are the authors of this library?","text":"

We are research engineers, graduate students, PhDs and machine learning researchers. The members of the develompent team are mainly located in France, Brazil and New Zealand.

"},{"location":"introduction/basic-concepts/","title":"Basic concepts","text":"

Here are some concepts to give you a feel for what problems River addresses.

"},{"location":"introduction/basic-concepts/#data-streams","title":"Data streams","text":"

River is a library to build online machine learning models. Such models operate on data streams. But a data stream is a bit of a vague concept.

In general, a data stream is a sequence of individual elements. In the case of machine learning, each element is a bunch of features. We call these samples, or observations. Each sample might follow a fixed structure and always contain the same features. But features can also appear and disappear over time. That depends on the use case.

"},{"location":"introduction/basic-concepts/#reactive-and-proactive-data-streams","title":"Reactive and proactive data streams","text":"

The origin of a data stream can vary, and usually it doesn't matter. You should be able to use River regardless of where your data comes from. It is however important to keep in mind the difference between reactive and proactive data streams.

Reactive data streams are ones where the data comes to you. For instance, when a user visits your website, that's out of your control. You have no influence on the event. It just happens and you have to react to it.

Proactive data streams are ones where you have control on the data stream. For example, you might be reading the data from a file. You decide at which speed you want to read the data, in what order, etc.

If you consider data analysis as a whole, you're realize that the general approach is to turn reactive streams into proactive datasets. Events are usually logged into a database and are processed offline. Be it for building KPIs or training models.

The challenge for machine learning is to ensure models you train offline on proactive datasets will perform correctly in production on reactive data streams.

"},{"location":"introduction/basic-concepts/#online-processing","title":"Online processing","text":"

Online processing is the act of processing a data stream one element at a time. In the case of machine learning, that means training a model by teaching it one sample at a time. This is completely opposite to the traditional way of doing machine learning, which is to train a model on whole batches of data at a time.

An online model is therefore a stateful, dynamic object. It keeps learning and doesn't have to revisit past data. It's a different way of doing things, and therefore has its own set of pros and cons.

"},{"location":"introduction/basic-concepts/#tasks","title":"Tasks","text":"

Machine learning encompasses many different tasks: classification, regression, anomaly detection, time series forecasting, etc. The ideology behind River is to be a generic machine learning approach which allows these tasks to be performed in a streaming manner. Indeed, many batch machine learning algorithms have online equivalents.

Note that River also supports some more basic tasks. For instance, you might just want to calculate a running average of a data stream. These are usually smaller parts of a whole stream processing pipeline.

"},{"location":"introduction/basic-concepts/#dictionaries-everywhere","title":"Dictionaries everywhere","text":"

River is a Python library. It is composed of a bunch of classes which implement various online processing algorithms. Most of these classes are machine learning models which can process a single sample, be it for learning or for inference.

We made the choice to use dictionaries as the basic building block. First of all, online processing is different to batch processing, in that vectorization doesn't bring any speed-up. Therefore numeric processing libraries such as NumPy and PyTorch actually bring too much overhead. Using native Python data structures is faster.

Dictionaries are therefore a perfect fit. They're native to Python and have excellent support in the standard library. They allow the naming of each feature. They can hold any kind of data type. They allow transparent support of JSON payloads, allowing seamless integration with web apps.

"},{"location":"introduction/basic-concepts/#datasets","title":"Datasets","text":"

In production, you're almost always going to face data streams which you have to react to, such as users visiting your website. The advantage of online machine learning is that you can design models that make predictions as well as learn from this data stream as it flows.

But of course, when you're developping a model, you don't usually have access to a real-time feed on which to evaluate your model. You usually have an offline dataset which you want to evaluate your model on. River provides some datasets which can be read in online manner, one sample at a time. It is however crucial to keep in mind that the goal is to reproduce a production scenario as closely as possible, in order to ensure your model will perform just as well in production.

"},{"location":"introduction/basic-concepts/#model-evaluation","title":"Model evaluation","text":"

Online model evaluation differs from its traditional batch counterpart. In the latter, you usually perform cross-validation, whereby your training dataset is split into a learning and an evaluation dataset. This is fine, but it doesn't exactly reflect the data generation process that occurs in production.

Online model evaluation involves learning and inference in the same order as what would happen in production. Indeed, if you know the order in which your data arrives, then you can process it the exact same order. This allows you to replay a production scenario and evaluate your model with higher fidelity than cross-validation.

This is what makes online machine learning powerful. By replaying datasets in the correct order, you ensure you are designing models which will perform as expected in production.

"},{"location":"introduction/basic-concepts/#concept-drift","title":"Concept drift","text":"

The main reason why an offline model might not perform as expected in production is because of concept drift. But this is true for all machine learning models, be they offline or online.

The advantage of online models over offline models is that they can cope with drift. Indeed, because they can keep learning, they usually adapt to concept drift in a seamless manner. As opposed to batch models which have to be retrained from scratch.

"},{"location":"introduction/installation/","title":"Installation","text":"

River is meant to work with Python 3.8 and above. Installation can be done via pip:

pip install river\n

You can install the latest development version from GitHub, as so:

pip install git+https://github.com/online-ml/river --upgrade\npip install git+ssh://git@github.com/online-ml/river.git --upgrade  # using SSH\n

This method requires having Cython and Rust installed on your machine.

Feel welcome to open an issue on GitHub if you are having any trouble.

"},{"location":"introduction/next-steps/","title":"Next steps","text":"

The Recipes \ud83c\udf71 section is made up of small tutorials. Each one explains how to perform mundane tasks, such as measuring the performance of a model, selecting hyperparameters, etc.

The Examples \ud83c\udf36\ufe0f section contains more involved notebooks with less explanations. Each notebook addresses a particular machine learning problem.

The API \ud83d\udcda section references all the modules, classes, and functions in River. It is automatically generated from the codebase's Python docstrings.

Feel welcome to open a discussion if you have a question. Before that you can check out the FAQ \ud83d\ude4b, which has answers to recurring questions.

The released versions are listed in the Releases \ud83c\udfd7 section. Changes that will be part of the next release are listed in the unreleased section of the documentation's development version, which you may find here.

We recommend checking out Awesome Online Machine Learning if you want to go deeper. There you will find online machine learning related content: research papers, alternative and complementary software, blog posts, etc.

"},{"location":"introduction/related-projects/","title":"Related projects","text":"

Here is a list of projects which are more or less coupled with River:

  • deep-river interfaces PyTorch models with River.
  • light-river implements fast algorithms in rust.
  • river-extra regroups experimental features which have yet to prove themselves to make it into the main River repository. Between us we call this \"the arena\".
  • Beaver is an MLOps tool for covering the whole lifecycle of online machine learning models.
"},{"location":"introduction/why-use-river/","title":"Why use River?","text":""},{"location":"introduction/why-use-river/#processing-one-sample-at-a-time","title":"Processing one sample at a time","text":"

All the tools in the library can be updated with a single observation at a time. They can therefore be used to process streaming data. Depending on your use case, this might be more convenient than using a batch model.

"},{"location":"introduction/why-use-river/#adapting-to-drift","title":"Adapting to drift","text":"

In the streaming setting, data can evolve. Adaptive methods are specifically designed to be robust against concept drift in dynamic environments. Many of River's models can cope with concept drift.

"},{"location":"introduction/why-use-river/#general-purpose","title":"General purpose","text":"

River supports different machine learning tasks, including regression, classification, and unsupervised learning. It can also be used for ad hoc tasks, such as computing online metrics, as well as concept drift detection.

"},{"location":"introduction/why-use-river/#user-experience","title":"User experience","text":"

River is not the only library allowing you to do online machine learning. But it might just the simplest one to use in the Python ecosystem. River plays nicely with Python dictionaries, therefore making it easy to use in the context of web applications where JSON payloads are aplenty.

"},{"location":"introduction/getting-started/binary-classification/","title":"Binary classification","text":"

Classification is about predicting an outcome from a fixed list of classes. The prediction is a probability distribution that assigns a probability to each possible outcome.

A labeled classification sample is made up of a bunch of features and a class. The class is a boolean in the case of binary classification. We'll use the phishing dataset as an example.

from river import datasets\n\ndataset = datasets.Phishing()\ndataset\n
Phishing websites.\n\nThis dataset contains features from web pages that are classified as phishing or not.\n\n    Name  Phishing                                                          \n    Task  Binary classification                                             \n Samples  1,250                                                             \nFeatures  9                                                                 \n  Sparse  False                                                             \n    Path  /Users/max/projects/online-ml/river/river/datasets/phishing.csv.gz\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'empty_server_form_handler': 0.0,\n 'popup_window': 0.0,\n 'https': 0.0,\n 'request_from_other_domain': 0.0,\n 'anchor_from_other_domain': 0.0,\n 'is_popular': 0.5,\n 'long_url': 1.0,\n 'age_of_domain': 1,\n 'ip_in_url': 1}\n
y\n
True\n

A binary classifier's goal is to learn to predict a binary target y from some given features x. We'll try to do this with a logistic regression.

from river import linear_model\n\nmodel = linear_model.LogisticRegression()\nmodel.predict_proba_one(x)\n
{False: 0.5, True: 0.5}\n

The model hasn't been trained on any data, and therefore outputs a default probability of 50% for each class.

The model can be trained on the sample, which will update the model's state.

model.learn_one(x, y)\n

If we try to make a prediction on the same sample, we can see that the probabilities are different, because the model has learned something.

model.predict_proba_one(x)\n
{False: 0.494687699901455, True: 0.505312300098545}\n

Note that there is also a predict_one if you're only interested in the most likely class rather than the probability distribution.

model.predict_one(x)\n
True\n

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = linear_model.LogisticRegression()\n\nmetric = metrics.ROCAUC()\n\nfor x, y in dataset:\n    y_pred = model.predict_proba_one(x)\n    model.learn_one(x, y)\n    metric.update(y, y_pred)\n\nmetric\n
ROCAUC: 89.36%\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = linear_model.LogisticRegression()\nmetric = metrics.ROCAUC()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
ROCAUC: 89.36%\n

A common way to improve the performance of a logistic regression is to scale the data. This can be done by using a preprocessing.StandardScaler. In particular, we can define a pipeline to organise our model into a sequence of steps:

from river import compose\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LogisticRegression()\n)\n\nmodel\n
StandardScaler
StandardScaler ( with_std=True )
LogisticRegression
LogisticRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Log ( weight_pos=1. weight_neg=1. ) l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )
metric = metrics.ROCAUC()\nevaluate.progressive_val_score(dataset, model, metric)\n
ROCAUC: 95.07%\n
"},{"location":"introduction/getting-started/concept-drift-detection/","title":"Concept drift","text":"

In online machine learning, it is assumed that data can change over time. When building machine learning models, we assume data has a probability distribution, which is usually fixed, i.e., stationary. Changes in the data distribution give rise to the phenomenon called Concept drift. Such drifts can be either virtual or real. In virtual drifts, only the distribution of the features, \\(P(X)\\), changes, whereas the relationship between \\(X\\) (features) and the target, \\(y\\), remains unchanged. The joint probability of \\(P(X, y)\\) changes in real concept drifts. Consequently, non-supervised online machine learning problems might face only virtual concept drifts.

Real concept drits can be further divided in abrupt (happen instantly at a given point) or gradual (one \"concept\" changes to another gradually). There are other possible divisions, but they can be fit into abrupt or gradual drifts.

"},{"location":"introduction/getting-started/concept-drift-detection/#examples-of-concept-drift","title":"Examples of concept drift","text":"

Concept drifts might happen in the electricity demand across the year, in the stock market, in buying preferences, and in the likelihood of a new movie's success, among others.

Let us consider the movie example: two movies made at different epochs can have similar features such as famous actors/directors, storyline, production budget, marketing campaigns, etc., yet it is not certain that both will be similarly successful. What the target audience considers is worth watching (and their money worth spending) is constantly changing, and production companies must adapt accordingly to avoid \"box office flops\".

Prior to the pandemic, the usage of hand sanitizers and facial masks was not widespread. When the cases of COVID-19 started increasing, there was a lack of such products for the end consumer. Imagine a batch-learning model deciding how much of each product a supermarket should stock during those times. What a mess!

"},{"location":"introduction/getting-started/concept-drift-detection/#impact-of-drift-on-learning","title":"Impact of drift on learning","text":"

Concept drift can have a significant impact on predictive performance if not handled properly. Most batch learning models will fail in the presence of concept drift as they are essentially trained on different data. On the other hand, stream learning methods continuously update themselves and adapt to new concepts. Furthermore, drift-aware methods use change detection methods (a.k.a. drift detectors) to trigger mitigation mechanisms if a change in performance is detected.

"},{"location":"introduction/getting-started/concept-drift-detection/#detecting-concept-drift","title":"Detecting concept drift","text":"

Multiple drift detection methods have been proposed. The goal of a drift detector is to signal an alarm in the presence of drift. A good drift detector maximizes the number of true positives while keeping the number of false positives to a minimum. It must also be resource-wise efficient to work in the context of infinite data streams.

For this example, we will generate a synthetic data stream by concatenating 3 distributions of 1000 samples each:

  • \\(dist_a\\): \\(\\mu=0.8\\), \\(\\sigma=0.05\\)
  • \\(dist_b\\): \\(\\mu=0.4\\), \\(\\sigma=0.02\\)
  • \\(dist_c\\): \\(\\mu=0.6\\), \\(\\sigma=0.1\\).
import numpy as np\nimport matplotlib.pyplot as plt\nfrom matplotlib import gridspec\n\n# Generate data for 3 distributions\nrandom_state = np.random.RandomState(seed=42)\ndist_a = random_state.normal(0.8, 0.05, 1000)\ndist_b = random_state.normal(0.4, 0.02, 1000)\ndist_c = random_state.normal(0.6, 0.1, 1000)\n\n# Concatenate data to simulate a data stream with 2 drifts\nstream = np.concatenate((dist_a, dist_b, dist_c))\n\n# Auxiliary function to plot the data\ndef plot_data(dist_a, dist_b, dist_c, drifts=None):\n    fig = plt.figure(figsize=(7,3), tight_layout=True)\n    gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1])\n    ax1, ax2 = plt.subplot(gs[0]), plt.subplot(gs[1])\n    ax1.grid()\n    ax1.plot(stream, label='Stream')\n    ax2.grid(axis='y')\n    ax2.hist(dist_a, label=r'$dist_a$')\n    ax2.hist(dist_b, label=r'$dist_b$')\n    ax2.hist(dist_c, label=r'$dist_c$')\n    if drifts is not None:\n        for drift_detected in drifts:\n            ax1.axvline(drift_detected, color='red')\n    plt.show()\n\nplot_data(dist_a, dist_b, dist_c)\n

"},{"location":"introduction/getting-started/concept-drift-detection/#drift-detection-test","title":"Drift detection test","text":"

We will use the ADaptive WINdowing (ADWIN) drift detection method. Remember that the goal is to indicate that drift has occurred after samples 1000 and 2000 in the synthetic data stream.

from river import drift\n\ndrift_detector = drift.ADWIN()\ndrifts = []\n\nfor i, val in enumerate(stream):\n    drift_detector.update(val)   # Data is processed one sample at a time\n    if drift_detector.drift_detected:\n        # The drift detector indicates after each sample if there is a drift in the data\n        print(f'Change detected at index {i}')\n        drifts.append(i)\n\nplot_data(dist_a, dist_b, dist_c, drifts)\n
Change detected at index 1055\nChange detected at index 2079\n

We see that ADWIN successfully indicates the presence of drift (red vertical lines) close to the begining of a new data distribution.

We conclude this example with some remarks regarding concept drift detectors and their usage:

  • In practice, drift detectors provide stream learning methods with robustness against concept drift. Drift detectors monitor the model usually through a performance metric.
  • Drift detectors work on univariate data. This is why they are used to monitor a model's performance and not the data itself. Remember that concept drift is defined as a change in the relationship between data and the target to learn (in supervised learning).
  • Drift detectors define their expectations regarding input data. It is important to know these expectations to feed a given drift detector with the correct data.
"},{"location":"introduction/getting-started/multiclass-classification/","title":"Multi-class classification","text":"

Classification is about predicting an outcome from a fixed list of classes. The prediction is a probability distribution that assigns a probability to each possible outcome.

A labeled classification sample is made up of a bunch of features and a class. The class is a usually a string or a number in the case of multiclass classification. We'll use the image segments dataset as an example.

from river import datasets\n\ndataset = datasets.ImageSegments()\ndataset\n
Image segments classification.\n\nThis dataset contains features that describe image segments into 7 classes: brickface, sky,\nfoliage, cement, window, path, and grass.\n\n    Name  ImageSegments                                                     \n    Task  Multi-class classification                                        \n Samples  2,310                                                             \nFeatures  18                                                                \n Classes  7                                                                 \n  Sparse  False                                                             \n    Path  /Users/max/projects/online-ml/river/river/datasets/segment.csv.zip\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'region-centroid-col': 218,\n 'region-centroid-row': 178,\n 'short-line-density-5': 0.11111111,\n 'short-line-density-2': 0.0,\n 'vedge-mean': 0.8333326999999999,\n 'vegde-sd': 0.54772234,\n 'hedge-mean': 1.1111094,\n 'hedge-sd': 0.5443307,\n 'intensity-mean': 59.629630000000006,\n 'rawred-mean': 52.44444300000001,\n 'rawblue-mean': 75.22222,\n 'rawgreen-mean': 51.22222,\n 'exred-mean': -21.555555,\n 'exblue-mean': 46.77778,\n 'exgreen-mean': -25.222220999999998,\n 'value-mean': 75.22222,\n 'saturation-mean': 0.31899637,\n 'hue-mean': -2.0405545}\n
y\n
'path'\n

A multiclass classifier's goal is to learn how to predict a class y from a bunch of features x. We'll attempt to do this with a decision tree.

from river import tree\n\nmodel = tree.HoeffdingTreeClassifier()\nmodel.predict_proba_one(x)\n
{}\n

The reason why the output dictionary is empty is because the model hasn't seen any data yet. It isn't aware of the dataset whatsoever. If this were a binary classifier, then it would output a probability of 50% for True and False because the classes are implicit. But in this case we're doing multiclass classification.

Likewise, the predict_one method initially returns None because the model hasn't seen any labeled data yet.

print(model.predict_one(x))\n
None\n

If we update the model and try again, then we see that a probability of 100% is assigned to the 'path' class because that's the only one the model is aware of.

model.learn_one(x, y)\nmodel.predict_proba_one(x)\n
{'path': 1.0}\n

This is a strength of online classifiers: they're able to deal with new classes appearing in the data stream.

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = tree.HoeffdingTreeClassifier()\n\nmetric = metrics.ClassificationReport()\n\nfor x, y in dataset:\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n    if y_pred is not None:\n        metric.update(y, y_pred)\n\nmetric\n
            Precision   Recall   F1       Support\n\nbrickface      77.13%   84.85%   80.81%       330  \n   cement      78.92%   83.94%   81.35%       330  \n  foliage      65.69%   20.30%   31.02%       330  \n    grass     100.00%   96.97%   98.46%       330  \n     path      90.63%   91.19%   90.91%       329  \n      sky      99.08%   98.18%   98.63%       330  \n   window      43.50%   67.88%   53.02%       330\n\n    Macro      79.28%   77.62%   76.31%            \n    Micro      77.61%   77.61%   77.61%            \n Weighted      79.27%   77.61%   76.31%\n\n                  77.61% accuracy\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = tree.HoeffdingTreeClassifier()\nmetric = metrics.ClassificationReport()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
            Precision   Recall   F1       Support\n\nbrickface      77.13%   84.85%   80.81%       330  \n   cement      78.92%   83.94%   81.35%       330  \n  foliage      65.69%   20.30%   31.02%       330  \n    grass     100.00%   96.97%   98.46%       330  \n     path      90.63%   91.19%   90.91%       329  \n      sky      99.08%   98.18%   98.63%       330  \n   window      43.50%   67.88%   53.02%       330\n\n    Macro      79.28%   77.62%   76.31%            \n    Micro      77.61%   77.61%   77.61%            \n Weighted      79.27%   77.61%   76.31%\n\n                  77.61% accuracy\n
"},{"location":"introduction/getting-started/regression/","title":"Regression","text":"

Regression is about predicting a numeric output for a given sample. A labeled regression sample is made up of a bunch of features and a number. The number is usually continuous, but it may also be discrete. We'll use the Trump approval rating dataset as an example.

from river import datasets\n\ndataset = datasets.TrumpApproval()\ndataset\n
Donald Trump approval ratings.\n\nThis dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald\nTrump's approval ratings. It contains 5 features, which are approval ratings collected by\n5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of\nthis task is to see if we can reproduce FiveThirtyEight's model.\n\n    Name  TrumpApproval                                                           \n    Task  Regression                                                              \n Samples  1,001                                                                   \nFeatures  6                                                                       \n  Sparse  False                                                                   \n    Path  /Users/max/projects/online-ml/river/river/datasets/trump_approval.csv.gz\n

This dataset is a streaming dataset which can be looped over.

for x, y in dataset:\n    pass\n

Let's take a look at the first sample.

x, y = next(iter(dataset))\nx\n
{'ordinal_date': 736389,\n 'gallup': 43.843213,\n 'ipsos': 46.19925042857143,\n 'morning_consult': 48.318749,\n 'rasmussen': 44.104692,\n 'you_gov': 43.636914000000004}\n

A regression model's goal is to learn to predict a numeric target y from a bunch of features x. We'll attempt to do this with a nearest neighbors model.

from river import neighbors\n\nmodel = neighbors.KNNRegressor()\nmodel.predict_one(x)\n
0.0\n

The model hasn't been trained on any data, and therefore outputs a default value of 0.

The model can be trained on the sample, which will update the model's state.

model.learn_one(x, y)\n

If we try to make a prediction on the same sample, we can see that the output is different, because the model has learned something.

model.predict_one(x)\n
43.75505\n

Typically, an online model makes a prediction, and then learns once the ground truth reveals itself. The prediction and the ground truth can be compared to measure the model's correctness. If you have a dataset available, you can loop over it, make a prediction, update the model, and compare the model's output with the ground truth. This is called progressive validation.

from river import metrics\n\nmodel = neighbors.KNNRegressor()\n\nmetric = metrics.MAE()\n\nfor x, y in dataset:\n    y_pred = model.predict_one(x)\n    model.learn_one(x, y)\n    metric.update(y, y_pred)\n\nmetric\n
MAE: 0.310353\n

This is a common way to evaluate an online model. In fact, there is a dedicated evaluate.progressive_val_score function that does this for you.

from river import evaluate\n\nmodel = neighbors.KNNRegressor()\nmetric = metrics.MAE()\n\nevaluate.progressive_val_score(dataset, model, metric)\n
MAE: 0.310353\n
"},{"location":"license/license/","title":"License","text":"

River is free and open-source software licensed under the 3-clause BSD license.

"},{"location":"recipes/active-learning/","title":"Active learning","text":"

Active learning is a training regime, where the goal is to fit a model on the most discriminative samples. It is usually applied in situations where a limited amount of labeled data is available. In such a case, a human might be asked to annotate a sample. Doing this is expensive, so it's important to ask for labels for the most samples that will have the most impact.

Online active learning is active learning done in a streaming fashion. Every time a prediction is made, an active learning strategy decides whether a label should be asked for or not. In case the strategy decides a yes, then the system could ask for a human to intervene. This is well summarized in the following schema from Online Active Learning Methods for Fast Label-Efficient Spam Filtering.

"},{"location":"recipes/active-learning/#online-active-learning","title":"Online active learning","text":"

River's online active learning strategies are located in the active module. The latter contains wrapper models. These wrappers enrich the predict_one and predict_proba_one methods to include a boolean in the output.

The returned boolean indicates whether or not a label should be asked for. In a production system, we could feed this to a web interface, and get the human to annotate the sample. Offline, we can simply use the label in the dataset.

We'll implement this basic flow. We'll apply a TFIDF followed by logistic regression to a datasets of spam/ham received by SMS.

from river import active\nfrom river import datasets\nfrom river import feature_extraction\nfrom river import linear_model\nfrom river import metrics\n\ndataset = datasets.SMSSpam()\nmetric = metrics.Accuracy()\nmodel = (\n    feature_extraction.TFIDF(on='body') |\n    linear_model.LogisticRegression()\n)\nmodel = active.EntropySampler(model, seed=42)\n\nn_samples_used = 0\nfor x, y in dataset:\n    y_pred, ask = model.predict_one(x)\n    metric.update(y, y_pred)\n    if ask:\n        n_samples_used += 1\n        model.learn_one(x, y)\n\nmetric\n
Accuracy: 86.60%\n

The performance is reasonable, even though all the dataset wasn't used for training. We can check how many samples were actually used.

print(f\"{n_samples_used} / {dataset.n_samples} = {n_samples_used / dataset.n_samples:.2%}\")\n
1921 / 5574 = 34.46%\n

Note that the above logic can be succinctly reproduced with the progressive_val_score function from the evaluate module. It recognises when an active learning model is provided, and will automatically display the number of samples used.

from river import evaluate\n\nevaluate.progressive_val_score(\n    dataset=dataset,\n    model=model.clone(),\n    metric=metric.clone(),\n    print_every=1000\n)\n
[1,000] Accuracy: 84.80% \u2013 661 samples used\n[2,000] Accuracy: 86.00% \u2013 1,057 samples used\n[3,000] Accuracy: 86.37% \u2013 1,339 samples used\n[4,000] Accuracy: 86.65% \u2013 1,568 samples used\n[5,000] Accuracy: 86.54% \u2013 1,790 samples used\n[5,574] Accuracy: 86.60% \u2013 1,921 samples used\n\n\n\n\n\nAccuracy: 86.60%\n
"},{"location":"recipes/active-learning/#reduce-training-time","title":"Reduce training time","text":"

Active learning is primarly used to label data in an efficient manner. However, in an online setting, active learning can also be used simply to speed up training. The point is that you can achieve a very good performance without training on an entire dataset. Active learning is a powerful way to decide which samples to train on.

"},{"location":"recipes/active-learning/#_1","title":"Active learning","text":""},{"location":"recipes/active-learning/#production-considerations","title":"Production considerations","text":"

In production, you might want to deploy a system where humans may annotate samples queried by an active learning strategy. You have several options at your disposal, all of which go beyond the scope of River.

The general idea is to have some kind of queue in which queried samples are fed into. Then you would have a user interface which displays the elements in the queue one-by-one. Each time a sample is labeled, the label would be used to update the model. You might have one or more threads/processes doing inference. You'll want to update the model in each one each time the model learns.

"},{"location":"recipes/bandits-101/","title":"Multi-armed bandits","text":"

River has a bandit module. It contains several multi-armed bandit policies, bandit environments, and utilities to benchmark policies on bandit problems.

Bandit environments in River implement the Gym interface. You can thus load them with gym.make. Note that Gym is intended for reinforcement learning algorithms, while bandit policies are the simplest form of reinforcement learing. Bandit policies learn by receiving a reward after each step, while reinforcement learning algorithms have to learn from feedback that may arrive at the end of a (long) sequence of steps.

import gym\n\nfor k in gym.envs.registry:\n    if k.startswith('river_bandits'):\n        print(k)\n

River's bandit module offers the bandit.evaluate function to benchmark several policies on a given environment. It takes as input a list of bandit policies, a bandit environment (the problem to solve), and a reward object.

import gym\nfrom river import bandit\nimport pandas as pd\nfrom tqdm import tqdm\nfrom river import stats\n\npolicies=[\n    bandit.EpsilonGreedy(epsilon=0.1),\n    bandit.EpsilonGreedy(epsilon=0.01),\n    bandit.EpsilonGreedy(epsilon=0),\n]\n\nenv = gym.make(\n    'river_bandits/KArmedTestbed-v0',\n    max_episode_steps=1000\n)\n\ntrace = bandit.evaluate(\n    policies=policies,\n    env=env,\n    reward_stat=stats.Mean(),\n    n_episodes=(n_episodes := 2000),\n)\n

The bandit.evaluate function returns a generator containing the results at each step of the benchmark. This can be wrapped with a pandas.DataFrame to gather all the results.

trace_df = pd.DataFrame(tqdm(\n    trace, position=0, total=(\n        n_episodes *\n        len(policies) *\n        env._max_episode_steps\n    )\n))\ntrace_df.sample(5, random_state=42)\n
  0%|                                                                                                                                                                   | 0/6000000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6000000/6000000 [00:25<00:00, 236810.21it/s]\n
episode step policy_idx arm reward reward_stat 1324896 441 632 0 2 0.226086 0.499848 3566176 1188 725 1 6 2.363962 0.935468 1109043 369 681 0 5 2.780757 1.467402 4286042 1428 680 2 1 2.039255 1.603312 5395174 1798 391 1 8 1.625523 1.232745

It is then straightforward to plot the average reward each policy obtains at each step, by averaging over episodes.

policy_names = {\n    0: '\u03b5 = 0.1',\n    1: '\u03b5 = 0.01',\n    2: '\u03b5 = 0 (greedy)'\n}\n\n(\n    trace_df\n    .assign(policy=trace_df.policy_idx.map(policy_names))\n    .groupby(['step', 'policy'])\n    ['reward'].mean()\n    .unstack()\n    .plot()\n)\n
<Axes: xlabel='step'>\n

"},{"location":"recipes/bandits-101/#controlling-the-evaluation-loop","title":"Controlling the evaluation loop","text":"

The bandit.evaluate function is useful for benchmarking. But in practice, you'll want to have control over your bandit policy. Indeed you'll want the freedom to pull arms (with the pull method) and update the policy (with the update method) at your discretion.

As an example, the following is a possible reimplementation of the bandit.evaluate function. Here we'll be measuring the rate at which each policy selects the optimal arm.

Note how the pull and update methods are used.

import copy\n\npolicies=[\n    bandit.EpsilonGreedy(epsilon=0.1),\n    bandit.EpsilonGreedy(epsilon=0.01),\n    bandit.EpsilonGreedy(epsilon=0),\n]\n\nenv = gym.make(\n    'river_bandits/KArmedTestbed-v0',\n    max_episode_steps=1000\n)\nn_episodes = 2000\n\ntrace = []\n\nwith tqdm(total=len(policies) * n_episodes * env._max_episode_steps, position=0) as progress:\n    for policy in policies:\n        for episode in range(n_episodes):\n            episode_policy = policy.clone()\n            episode_env = copy.deepcopy(env)\n            episode_env.reset()\n            step = 0\n            while True:\n                action = episode_policy.pull(range(episode_env.action_space.n))\n                observation, reward, terminated, truncated, info = episode_env.step(action)\n                best_action = observation\n                episode_policy.update(action, reward)\n\n                trace.append({\n                    \"episode\": episode,\n                    \"step\": step,\n                    \"policy\": f\"\u03b5 = {policy.epsilon}\",\n                    \"is_action_optimal\": action == best_action\n                })\n                step += 1\n                progress.update()\n\n                if terminated or truncated:\n                    break\n\ntrace_df = pd.DataFrame(trace)\n
  0%|                                                                                                                                                                   | 0/6000000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6000000/6000000 [00:26<00:00, 228987.26it/s]\n
colors = {\n    '\u03b5 = 0.1': 'tab:blue',\n    '\u03b5 = 0.01': 'tab:red',\n    '\u03b5 = 0': 'tab:green'\n}\n\n(\n    trace_df\n    .groupby(['step', 'policy'])\n    ['is_action_optimal'].mean()\n    .unstack()\n    .plot()\n)\n
<Axes: xlabel='step'>\n

"},{"location":"recipes/bandits-101/#handling-drift","title":"Handling drift","text":"

The environment used above is a toy situation used for introducing bandits. It is stationary, meaning that the expected reward of each arm does not change over time.

In practice, arms are dynamic, and their performance can vary over time. A simple example of this is the Candy Cane Contest that was hosted on Kaggle in 2020. The expected reward of each arm diminishes each time it is pulled.

The way bandit policies in River deal with drift depends on the method. For the bandit.EpsilonGreedy policy, it makes sense to use a rolling average as the reward object. What this means is that the empirical reward the policy calculates for each arm is a rolling average, rather than a global one.

from river import proba, utils\n\npolicies=[\n    bandit.EpsilonGreedy(\n        epsilon=0.1,\n        seed=42\n    ),\n    bandit.EpsilonGreedy(\n        epsilon=0.3,\n        reward_obj=utils.Rolling(stats.Mean(), window_size=50),\n        seed=42\n    ),\n    bandit.ThompsonSampling(\n        reward_obj=proba.Beta(),\n        seed=42\n    )\n]\n\nenv = gym.make('river_bandits/CandyCaneContest-v0')\n\ntrace = bandit.evaluate(\n    policies=policies,\n    env=env,\n    n_episodes=(n_episodes := 30),\n    seed=42\n)\n\ntrace_df = pd.DataFrame(tqdm(\n    trace, position=0, total=(\n        n_episodes *\n        len(policies) *\n        env._max_episode_steps\n    )\n))\n
  0%|                                                                                                                                                                    | 0/180000 [00:00<?, ?it/s]/Users/max/Library/Caches/pypoetry/virtualenvs/river--dXL33ck-py3.11/lib/python3.11/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)\n  if not isinstance(terminated, (bool, np.bool8)):\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 180000/180000 [00:11<00:00, 15839.35it/s]\n

We can compare the performance of each policy by checking the average reward at the end of each episode.

(\n    trace_df\n    .groupby(['policy_idx', 'episode'])\n    .last()\n    .groupby('policy_idx')\n    .reward_stat.mean()\n)\n
policy_idx\n0    736.1\n1    817.0\n2    854.0\nName: reward_stat, dtype: float64\n

We see that using a rolling average gives a boost to the epsilon greedy strategy. However, we see that the bandit.ThompsonSampling policy performs even better, even though no particular care was given to drift. A natural next step would thus be to see how it could be improved to handle drift. For instance, its dist parameter could be wrapped with a utils.Rolling:

policy = bandit.ThompsonSampling(\n    reward_obj=utils.Rolling(proba.Beta(), window_size=50),\n    seed=42\n)\n

Bandits can be used for several tasks. They can be used for content personalization, as well as online model selection (see model_selection.BanditRegressor). The policies in River are therefore designed to be flexible, so that they can be used in conjunction with other River modules. For instance, the reward_obj in bandit.EpsilonGreedy can be a metric, a probability distribution, or a statistic. This works because objects in River adher to a coherent get/update interface.

"},{"location":"recipes/cloning-and-mutating/","title":"Cloning and mutating","text":"

Sometimes you might want to reset a model, or edit (what we call mutate) its attributes. This can be useful in an online environment. Indeed, if you detect a drift, then you might want to mutate a model's attributes. Or if you see that a model's performance is plummeting, then you might to reset it to its \"factory settings\".

Anyway, this is not to convince you, but rather to say that a model's attributes don't have be to set in stone throughout its lifetime. In particular, if you're developping your own model, then you might want to have good tools to do this. This is what this recipe is about.

"},{"location":"recipes/cloning-and-mutating/#cloning","title":"Cloning","text":"

The first thing you can do is clone a model. This creates a deep copy of the model. The resulting model is entirely independent of the original model. The clone is fresh, in the sense that it is as if it hasn't seen any data.

For instance, say you have a linear regression model which you have trained on some data.

from river import datasets, linear_model, optim, preprocessing\n\nmodel = (\n    preprocessing.StandardScaler() |\n    linear_model.LinearRegression(\n        optimizer=optim.SGD(3e-2)\n    )\n)\n\nfor x, y in datasets.TrumpApproval():\n    model.predict_one(x)\n    model.learn_one(x, y)\n\nmodel[-1].weights\n
{'ordinal_date': 20.59955380229643,\n 'gallup': 0.39114944304212645,\n 'ipsos': 0.4101918314868111,\n 'morning_consult': 0.12042970179504908,\n 'rasmussen': 0.18951231512561392,\n 'you_gov': 0.04991712783831687}\n

For whatever reason, we may want to clone this model. This can be done with the clone method.

clone = model.clone()\nclone[-1].weights\n
{}\n

As we can see, there are no weights because the clone is fresh copy that has not seen any data. However, the learning rate we specified is preserved.

clone[-1].optimizer.learning_rate\n
0.03\n

You may also specify parameters you want changed. For instance, let's say we want to clone the model, but we want to change the optimizer:

clone = model.clone({\"LinearRegression\": {\"optimizer\": optim.Adam()}})\nclone[-1].optimizer\n
Adam({'lr': Constant({'learning_rate': 0.1}), 'n_iterations': 0, 'beta_1': 0.9, 'beta_2': 0.999, 'eps': 1e-08, 'm': None, 'v': None})\n

The first key indicates that we want to specify a different parameter for the LinearRegression part of the pipeline. Then the second key accesses the linear regression's optimizer parameter.

Finally, note that the clone method isn't reserved to models. Indeed, every object in River has it. That's because they all inherit from the Base class in the base module.

"},{"location":"recipes/cloning-and-mutating/#mutating-attributes","title":"Mutating attributes","text":"

Cloning a model can be useful, but the fact that it essentially resets the model may not be desired. Instead, you might want to change a attribute while preserving the model's state. For example, let's change the l2 attribute, and the optimizer's lr attribute.

model.mutate({\n    \"LinearRegression\": {\n        \"l2\": 0.1,\n        \"optimizer\": {\n            \"lr\": optim.schedulers.Constant(25e-3)\n        }\n    }\n})\n\nprint(repr(model))\n
Pipeline (\n  StandardScaler (\n    with_std=True\n  ),\n  LinearRegression (\n    optimizer=SGD (\n      lr=Constant (\n        learning_rate=0.025\n      )\n    )\n    loss=Squared ()\n    l2=0.1\n    l1=0.\n    intercept_init=0.\n    intercept_lr=Constant (\n      learning_rate=0.01\n    )\n    clip_gradient=1e+12\n    initializer=Zeros ()\n  )\n)\n

We can see the attributes we specified have changed. However, the model's state is preserved:

model[-1].weights\n
{'ordinal_date': 20.59955380229643,\n 'gallup': 0.39114944304212645,\n 'ipsos': 0.4101918314868111,\n 'morning_consult': 0.12042970179504908,\n 'rasmussen': 0.18951231512561392,\n 'you_gov': 0.04991712783831687}\n

In other words, the mutate method does not create a deep copy of the model. It just sets attributes. At this point you may ask:

Why can't I just change the attribute directly, without calling mutate?

The answer is that you're free to do proceed as such, but it's not the way we recommend. The mutate method is safer, in that it prevents you from mutating attributes you shouldn't be touching. We call these immutable attributes. For instance, there's no reason you should be modifying the weights.

try:\n    model.mutate({\n        \"LinearRegression\": {\n            \"weights\": \"this makes no sense\"\n        }\n    })\nexcept ValueError as e:\n    print(e)\n
'weights' is not a mutable attribute of LinearRegression\n

All attributes are immutable by default. Under the hood, each model can specify a set of mutable attributes via the _mutable_attributes property. In theory this can be overriden. But the general idea is that we will progressively add more and more mutable attributes with time.

And that concludes this recipe. Arguably, this recipe caters to advanced users, and in particular users who are developping their own models. And yet, one could also argue that modifying parameters of a model on-the-fly is a great tool to have at your disposal when you're doing online machine learning.

"},{"location":"recipes/feature-extraction/","title":"Feature extraction","text":"

To do.

"},{"location":"recipes/hyperparameter-tuning/","title":"Hyperparameter tuning","text":"

To do.

"},{"location":"recipes/mini-batching/","title":"Mini-batching","text":"

In its purest form, online machine learning encompasses models which learn with one sample at a time. This is the design which is used in River.

The main downside of single-instance processing is that it doesn't scale to big data, at least not in the sense of traditional batch learning. Indeed, processing one sample at a time means that we are unable to fully take advantage of vectorisation and other computational tools that are taken for granted in batch learning. On top of this, processing a large dataset in River essentially involves a Python for loop, which might be too slow for some usecases. However, this doesn't mean that River is slow. In fact, for processing a single instance, River is actually a couple of orders of magnitude faster than libraries such as scikit-learn, PyTorch, and Tensorflow. The reason why is because River is designed from the ground up to process a single instance, whereas the majority of other libraries choose to care about batches of data. Both approaches offer different compromises, and the best choice depends on your usecase.

In order to propose the best of both worlds, River offers some limited support for mini-batch learning. Some of River's estimators implement *_many methods on top of their *_one counterparts. For instance, preprocessing.StandardScaler has a learn_many method as well as a transform_many method, in addition to learn_one and transform_one. Each mini-batch method takes as input a pandas.DataFrame. Supervised estimators also take as input a pandas.Series of target values. We choose to use pandas.DataFrames over numpy.ndarrays because of the simple fact that the former allows us to name each feature. This in turn allows us to offer a uniform interface for both single instance and mini-batch learning.

As an example, we will build a simple pipeline that scales the data and trains a logistic regression. Indeed, the compose.Pipeline class can be applied to mini-batches, as long as each step is able to do so.

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    linear_model.LogisticRegression()\n)\n

For this example, we will use datasets.Higgs.

from river import datasets\n\ndataset = datasets.Higgs()\nif not dataset.is_downloaded:\n    dataset.download()\ndataset\n
Higgs dataset.\n\nThe data has been produced using Monte Carlo simulations. The first 21 features (columns 2-22)\nare kinematic properties measured by the particle detectors in the accelerator. The last seven\nfeatures are functions of the first 21 features; these are high-level features derived by\nphysicists to help discriminate between the two classes.\n\n      Name  Higgs                                                                       \n      Task  Binary classification                                                       \n   Samples  11,000,000                                                                  \n  Features  28                                                                          \n    Sparse  False                                                                       \n      Path  /Users/max/river_data/Higgs/HIGGS.csv.gz                                    \n       URL  https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz\n      Size  2.62 GB                                                                     \nDownloaded  True\n

The easiest way to read the data in a mini-batch fashion is to use the read_csv from pandas.

import pandas as pd\n\nnames = [\n    'target', 'lepton pT', 'lepton eta', 'lepton phi',\n    'missing energy magnitude', 'missing energy phi',\n    'jet 1 pt', 'jet 1 eta', 'jet 1 phi', 'jet 1 b-tag',\n    'jet 2 pt', 'jet 2 eta', 'jet 2 phi', 'jet 2 b-tag',\n    'jet 3 pt', 'jet 3 eta', 'jet 3 phi', 'jet 3 b-tag',\n    'jet 4 pt', 'jet 4 eta', 'jet 4 phi', 'jet 4 b-tag',\n    'm_jj', 'm_jjj', 'm_lv', 'm_jlv', 'm_bb', 'm_wbb', 'm_wwbb'\n]\n\nfor x in pd.read_csv(dataset.path, names=names, chunksize=8096, nrows=3e5):\n    y = x.pop('target')\n    y_pred = model.predict_proba_many(x)\n    model.learn_many(x, y)\n

If you are familiar with scikit-learn, you might be aware that some of their estimators have a partial_fit method, which is similar to river's learn_many method. Here are some advantages that river has over scikit-learn:

  • We guarantee that river's is just as fast, if not faster than scikit-learn. The differences are negligeable, but are slightly in favor of river.
  • We take as input dataframes, which allows us to name each feature. The benefit is that you can add/remove/permute features between batches and everything will keep working.
  • Estimators that support mini-batches also support single instance learning. This means that you can enjoy the best of both worlds. For instance, you can train with mini-batches and use predict_one to make predictions.

Note that you can check which estimators can process mini-batches programmatically:

import importlib\nimport inspect\n\ndef can_mini_batch(obj):\n    return hasattr(obj, 'learn_many')\n\nfor module in importlib.import_module('river.api').__all__:\n    if module in ['datasets', 'synth']:\n        continue\n    for name, obj in inspect.getmembers(importlib.import_module(f'river.{module}'), can_mini_batch):\n        print(name)\n
LocalOutlierFactor\nOneClassSVM\nMiniBatchClassifier\nMiniBatchRegressor\nMiniBatchSupervisedTransformer\nMiniBatchTransformer\nSKL2RiverClassifier\nSKL2RiverRegressor\nFuncTransformer\nPipeline\nSelect\nTransformerProduct\nTransformerUnion\nBagOfWords\nTFIDF\nLinearRegression\nLogisticRegression\nPerceptron\nOneVsRestClassifier\nBernoulliNB\nComplementNB\nMultinomialNB\nMLPRegressor\nOneHotEncoder\nOrdinalEncoder\nStandardScaler\n

Because mini-batch learning isn't treated as a first-class citizen, some of the river's functionalities require some work in order to play nicely with mini-batches. For instance, the objects from the metrics module have an update method that take as input a single pair (y_true, y_pred). This might change in the future, depending on the demand.

We plan to promote more models to the mini-batch regime. However, we will only be doing so for the methods that benefit the most from it, as well as those that are most popular. Indeed, River's core philosophy will remain to cater to single instance learning.

"},{"location":"recipes/model-evaluation/","title":"Model evaluation","text":"

To do.

"},{"location":"recipes/on-hoeffding-trees/","title":"Incremental decision trees in river: the Hoeffding Tree case","text":"

Decision trees (DT) are popular learning models due to their inherently simplicity, flexibility and self-explainable structure. Moreover, when aggregated in ensembles, high predictive power might be achieved. Bagging and gradient boosting-based tree ensembles are very popular solutions in competition platforms such as Kaggle, and also among researchers.

Although fairly lightweight, traditional batch DTs cannot cope with data stream mining/online learning requirements, as they do multiple passes over the data and have to be retrained from scratch every time a new observation appears.

The data stream literature has plenty of incremental DT (iDT) families that are better suited to online learning. Nonetheless, Hoeffding Trees (HT) are historically the most popular family of iDTs to date. In fact, HTs have some nice properties:

  • one-pass learning regime;
  • theoretical guarantees to converge to the batch DT model given enough observations and a stationary data distribution;
  • small memory and running time footprint (in most cases);
  • some of their variations can deal with non-stationary distributions.

And the previous list goes on and on. Besides that, HTs also have the same advantages as batch DTs (C4.5/J48, CART, M5, etc.) do. We can inspect the structure of a HT to understand how decisions were made, which is a nice feature to have in online learning tasks.

In River, HTs are first-class citizens, so we have multiple realizations of this framework that are suited to different learning tasks and scenarios.

This brief introduction to HT does not aims at being extensive nor delving into algorithmic or implementation details of the HTs. Instead, we intend to provide a high-level overview of the HTs as they are envisioned in River, as well as their shared properties and important hyperparameters.

In this guide, we are going to:

  1. summarize the differences accross the multiple HT versions available;
  2. learn how to inspect tree models;
  3. learn how to manage the memory usage of HTs;
  4. compare numerical tree splitters and understand their impact on the iDT induction process.

Well, without further ado, let's go!

First things first, we are going to start with some imports.

import matplotlib.pyplot as plt\nimport datetime as dt\n\nfrom river import datasets\nfrom river import evaluate\nfrom river import metrics\nfrom river import preprocessing  # we are going to use that later\nfrom river.datasets import synth  # we are going to use some synthetic datasets too\nfrom river import tree\n
"},{"location":"recipes/on-hoeffding-trees/#1-trees-trees-everywhere-gardening-101-with-river","title":"1. Trees, trees everywhere: gardening 101 with river","text":"

At first glance, the amount of iDT algorithms in River might seem too much to handle, but in reality the distinction among them is easy to grasp. To facilitate our lives, here's a neat table listing the available HT models and summarizing their differences:

Name Acronym Task Non-stationary? Comments Source Hoeffding Tree Classifier HTC Classification No Basic HT for classification tasks [1] Hoeffding Adaptive Tree Classifier HATC Classification Yes Modifies HTC by adding an instance of ADWIN to each node to detect and react to drift detection [2] Extremely Fast Decision Tree Classifier EFDT Classification No Deploys split decisions as soon as possible and periodically revisit decisions and redo them if necessary. Not as fast in practice as the name implies, but it tends to converge faster than HTC to the model generated by a batch DT [3] Hoeffding Tree Regressor HTR Regression No Basic HT for regression tasks. It is an adaptation of the FIRT/FIMT algorithm that bears some semblance to HTC [4] Hoeffding Adaptive Tree Regressor HATR Regression Yes Modifies HTR by adding an instance of ADWIN to each node to detect and react to drift detection - incremental Structured-Output Prediction Tree Regressor iSOUPT Multi-target regression No Multi-target version of HTR [5] Label Combination Hoeffding Tree Classifier LCHTC Multi-label classification No Creates a numerical code for each combination of the binary labels and uses HTC to learn from this encoded representation. At prediction time, decodes the modified representation to obtain the original label set -

As we can see, although their application fields might overlap sometimes, the HT variations have specific situations in which they are better suited to work. Moreover, in River we provide a standardized API access to all the HT variants since they share many properties in common.

"},{"location":"recipes/on-hoeffding-trees/#2-how-to-inspect-tree-models","title":"2. How to inspect tree models?","text":"

We provide a handful of tools to inspect trained HTs in River. Here, we will provide some examples of how to access their inner structures, get useful information, and plot the iDT structure.

Firstly, let's pick a toy dataset from which our tree will learn from. Here we are going to focus on the classification case, but the same operations apply to other learning tasks. We will select the Phishing dataset from the datasets module to exemplify the HTs' capabilities.

dataset = datasets.Phishing()\ndataset\n
Phishing websites.\n\nThis dataset contains features from web pages that are classified as phishing or not.\n\n    Name  Phishing                                                       \n    Task  Binary classification                                          \n Samples  1,250                                                          \nFeatures  9                                                              \n  Sparse  False                                                          \n    Path  /Users/mastelini/Documents/river/river/datasets/phishing.csv.gz\n

We are going to train an instance of HoeffdingTreeClassifier using this dataset. As everything else in River, training an iDT is a piece of cake!

%%time\n\nmodel = tree.HoeffdingTreeClassifier(grace_period=50)\n\nfor x, y in dataset:\n    model.learn_one(x, y)\n\nmodel\n
CPU times: user 64.8 ms, sys: 2.75 ms, total: 67.6 ms\nWall time: 68.1 ms\n
HoeffdingTreeClassifier
HoeffdingTreeClassifier ( grace_period=50 max_depth=inf split_criterion=\"info_gain\" delta=1e-07 tau=0.05 leaf_prediction=\"nba\" nb_threshold=0 nominal_attributes=None splitter=GaussianSplitter ( n_splits=10 ) binary_split=False min_branch_fraction=0.01 max_share_to_split=0.99 max_size=100. memory_estimate_period=1000000 stop_mem_management=False remove_poor_attrs=False merit_preprune=True )

That's it! We are not going to enter into details about some of the available parameters of HTC here. The user can refer to the documentation page for more information about that. Let's talk about model inspection :D

At any time, we can easily get some statistics about our trained model by using the summary property:

model.summary\n
{'n_nodes': 5,\n 'n_branches': 2,\n 'n_leaves': 3,\n 'n_active_leaves': 3,\n 'n_inactive_leaves': 0,\n 'height': 3,\n 'total_observed_weight': 1250.0}\n

This property show us the internal structure of the tree, including data concerning the memory-management routines that we are going to check later in this guide. We can also get a representation of the tree model as a pandas.DataFrame object:

model.to_dataframe().iloc[:5, :5]\n
parent is_leaf depth stats feature node 0 <NA> False 0 {True: 260.0, False: 390.0} empty_server_form_handler 1 0 True 1 {True: 443.4163997711022, False: 59.8769131081... NaN 2 0 False 1 {True: 71.58360022889781, False: 404.123086891... popup_window 3 2 True 2 {False: 31.426538522574834, True: 33.0} NaN 4 2 True 2 {False: 250.57346147742516, True: 6.0} NaN

Hmm, maybe not the clearest of the representations. What about drawing the tree structure instead?

model.draw()\n

Much better, huh?

Lastly, we can check how the tree predicts one specific instance by using the debug_one method:

x, y = next(iter(dataset))  # Let's select the first example in the stream\nx, y\n
({'empty_server_form_handler': 0.0,\n  'popup_window': 0.0,\n  'https': 0.0,\n  'request_from_other_domain': 0.0,\n  'anchor_from_other_domain': 0.0,\n  'is_popular': 0.5,\n  'long_url': 1.0,\n  'age_of_domain': 1,\n  'ip_in_url': 1},\n True)\n
print(model.debug_one(x))\n
empty_server_form_handler \u2264 0.5454545454545454\nClass True:\n    P(False) = 0.1\n    P(True) = 0.9\n

Our tree got this one right! The method debug_one is especially useful when we are dealing with a big tree model where drawing might not be the wisest of the choices (we will end up with a tree chart that has too much information to visually understand).

Some additional hints:

  • the max_depth parameter is our friend when building HTs that need to be constantly inspected. This parameter, which is available for every HT variant, triggers a pre-pruning mechanism that stops tree growth when the given depth is reached.
  • we can also limit the depth when using the draw method.
  • in the case of tree ensembles, individual trees can be accessed using the [index] operator. Then, the same set of inspection tools are available to play with!
"},{"location":"recipes/on-hoeffding-trees/#3-advanced-gardening-with-river-grab-your-pruning-shears-and-lets-limit-memory-usage","title":"3. Advanced gardening with river: grab your pruning shears and let's limit memory usage","text":"

Online learning is well-suited to highly scalable processing centers with petabytes of data arriving intermittently, but it can also work with Internet of Things (IoT) devices operating at low power and with limited processing capability. Hence, making sure our trees are not going to use too much memory is a nice feature that can impact on both energy usage and the running time. HTs have memory-management routines that put the user in the control of computational resources that are available.

In this brief guide, we are going to use a regression tree, since this kind of iDT typically spends more memory than the classification counterparts. However, the user can control the memory usage in the exact same way in River, regardless of the HT variant!

We will rely on the Friedman synthetic dataset (data generator) from the synth module in our evaluation. Since data generators can produce instances indefinitely, we will select a sample of size 10K for our tests.

We are almost ready to go. Let's first define a simple function that plots the results obtained from a given dataset, metric and

def plot_performance(dataset, metric, models):\n    metric_name = metric.__class__.__name__\n\n    # To make the generated data reusable\n    dataset = list(dataset)\n    fig, ax = plt.subplots(figsize=(10, 5), nrows=3, dpi=300)\n    for model_name, model in models.items():\n        step = []\n        error = []\n        r_time = []\n        memory = []\n\n        for checkpoint in evaluate.iter_progressive_val_score(\n            dataset, model, metric, measure_time=True, measure_memory=True, step=100\n        ):\n            step.append(checkpoint[\"Step\"])\n            error.append(checkpoint[metric_name].get())\n\n            # Convert timedelta object into seconds\n            r_time.append(checkpoint[\"Time\"].total_seconds())\n            # Make sure the memory measurements are in MiB\n            raw_memory = checkpoint[\"Memory\"]\n            memory.append(raw_memory * 2**-20)\n\n        ax[0].plot(step, error, label=model_name)\n        ax[1].plot(step, r_time, label=model_name)\n        ax[2].plot(step, memory, label=model_name)\n\n    ax[0].set_ylabel(metric_name)\n    ax[1].set_ylabel('Time (seconds)')\n    ax[2].set_ylabel('Memory (MiB)')\n    ax[2].set_xlabel('Instances')\n\n    ax[0].grid(True)\n    ax[1].grid(True)\n    ax[2].grid(True)\n\n    ax[0].legend(\n        loc='upper center', bbox_to_anchor=(0.5, 1.25),\n        ncol=3, fancybox=True, shadow=True\n    )\n    plt.tight_layout()\n    plt.close()\n\n    return fig\n
plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"Unbounded HTR\": (\n            preprocessing.StandardScaler() |\n            tree.HoeffdingTreeRegressor(splitter=tree.splitter.EBSTSplitter())\n        )\n    }\n)\n

In our example we use the EBSTSplitter, which is going to discussed later. For now, is enough to know that it is a mechanism to evaluate split candidates in the trees.

As we can see, our tree uses almost 10 MiB to keep its structure. Let's say we wanted to limit our memory usage to 5 MiB. How could we do that?

Note that we are using a illustration case here. In real applications, data may be unbounded, so the trees might grow indefinitely.

HTs expose some parameters related to memory management. The user can refer to the documentation for more details on that matter. Here, we are going to focus on two parameters:

  • max_size: determines the maximum amount of memory (in MiB) that the HT can use.
  • memory_estimate_period: intervals after which the memory-management is triggered.

We are going to limit our HTR to 5 MiB and perform memory checks at intervals of 500 instances.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"Restricted HTR\": (\n            preprocessing.StandardScaler()\n            | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter(),\n                max_size=5,\n                memory_estimate_period=500\n            )\n        )\n    }\n)\n

Note that as soon the memory usage reaches the limit that we determined (at the memory check intervals), HTR starts managing its resource usage to reduce the size. As a consequence, the running time also decreases. For more accurate management, the intervals between memory checks should be decreased. This action, however, has costs since the tree stops the learning process to estimate its size and alter its own structure. Too frequent memory checks might end up result in a slow learning process. Besides, by using fewer resources, the predictive performance can be negatively impacted. So, use this tool with caution!

But how that works at all?

HTs monitor the incoming feature values to perform split attempts. To do so, they rely on a class of algorithms called Attribute Observers (AO) or Splitters (spoiler alert!). Each leaf node in an HT keeps one AO per incoming feature. After pre-determined intervals (grace_period parameter), leaves query their AOs for split candidates. Well, there are costs to monitor input features (mainly the numerical ones). In fact, AOs correspond to one of the most time and memory-consuming portions of the HTs. To manage memory usage, an HT firstly determines its least promising leaves, w.r.t. how likely they will be split. Then, these leaves' AOs are removed, and the tree nodes are said to be \"deactivated.\" That's it! The deactivated leaves do not perform split attempts anymore, but they continue to be updated to provide responses. They will be kept as leaves as long as there are not available resources to enable tree growth. These leaves can be activated again (meaning that new AOs will be created for them) if there is available memory, so don't worry!

Hint: another indirect way to bound memory usage is to limit the tree depth. By default, the trees can grow indefinitely, but the max_depth parameter can control this behavior.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"HTR with at most 5 levels\": (\n            preprocessing.StandardScaler()\n            | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter(),\n                max_depth=5\n            )\n        )\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#4-branching-and-growth-splitters-the-heart-of-the-trees","title":"4. Branching and growth: splitters, the heart of the trees","text":"

As previously stated, one of the core operations of iDT is, well, to grow. Plants and gardening-related jokes apart, growth in HTs is guided by their AOs or splitters, as mentioned in the end of Section 3.

Nominal features can be easily monitored, since the feature partitions are well-defined beforehand. Numerical features, on the other hand, do not have an explicit best cut point. Still, numerical features are typically split by using a binary test: \\(\\le\\) or \\(>\\). Therefore, numerical splitters must somehow summarize the incoming feature values and be able to evaluate the merit of split point candidates.

There are diverse strategies to monitor numerical features and choices related to them, including which data structure will be used to keep a summary of the incoming feature and also how many split points are going to be evaluated during split attempts. Again, this guide does not intend to be an exhaustive delve into the iDT subject. In fact, each of the following aspects of the iDTs could be considered a separate research area: AOs, intervals between split attempts, split heuristics (e.g., info gain, variance reduction, and so on), tree depth and max size, and much more!

Let's focus a bit into the AO matter. River provides a handful of splitters for classification and regression trees, which can be chosen using the parameter splitter. We will list the available tree splitters in the following sections and compare some of their chacteristics.

Some notation:

  • \\(n\\): Number of observations seen so far.
  • \\(c\\): the number of classes.
  • \\(s\\): the number of split points to evaluate (which means that this is a user-given parameter).
  • \\(h\\): the number of histogram bins or hash slots. Tipically, \\(h \\ll n\\).
"},{"location":"recipes/on-hoeffding-trees/#41-classification-tree-splitters","title":"4.1. Classification tree splitters","text":"

The following table summarizes the available classification splitters. The user might refer to the documentation of each splitter for more details about their functioning.

Splitter Description Insertion Memory Split candidate query Works with Naive Bayes leaves? Exhaustive Keeps all the observed input values and class counts in a Binary Search Tree (BST) \\(O(\\log n)\\) (average) or \\(O(n)\\) (worst case) \\(O(n)\\) \\(O(n)\\) No Histogram Builds a histogram for each class in order to discretize the input feature \\(O(\\log h)\\) \\(O(c h)\\) \\(O(c h)\\) Yes Gaussian Approximates the class distributions using Gaussian distributions \\(O(1)\\) \\(O(c)\\) \\(O(cs)\\) Yes

Note that some of the splitters have configurable parameters that directly impact not only on their time and memory costs, but also on the final predictive performance. Examples:

  • The number of split points can be configured in the Gaussian splitter. Increasing this number makes this splitter slower, but it also potentially increases the quality of the obtained query points, implying enhanced tree accuracy.
  • The number of stored bins can be selected in the Histogram splitter. Increasing this number increases the memory footprint and running time of this splitter, but it also potentially makes its split candidates more accurate and positively impacts on the tree's final predictive performance.

Next, we provide a brief comparison of the classification splitters using 10K instances of the Random RBF synthetic dataset. Note that the tree equiped with the Exhaustive splitter does not use Naive Bayes leaves.

plot_performance(\n    synth.RandomRBF(seed_model=7, seed_sample=42).take(10_000),\n    metrics.Accuracy(),\n    {\n        \"HTC + Exhaustive splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.ExhaustiveSplitter(),\n            leaf_prediction=\"mc\"\n        ),\n        \"HTC + Histogram splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.HistogramSplitter()\n        ),\n        \"HTC + Gaussian splitter\": tree.HoeffdingTreeClassifier(\n            splitter=tree.splitter.GaussianSplitter()\n        )\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#42-regression-tree-splitters","title":"4.2 Regression tree splitters","text":"

The available regression tree splitters are summarized in the next table. The TE-BST costs are expressed in terms of \\(n^*\\) because the number of stored elements can be smaller than or equal to \\(n\\).

Splitter Description Insertion Memory Split candidate query Extended Binary Search Tree (E-BST) Stores all the observations and target statistics in a BST \\(O(\\log n)\\) (average) or \\(O(n)\\) (worst case) \\(O(n)\\) \\(O(n)\\) Truncated E-BST (TE-BST) Rounds the incoming data before passing it to the BST \\(O(\\log n^*)\\) (average) or \\(O(n^*)\\) (worst case) \\(O(n^*)\\) \\(O(n^*)\\) Quantization Observer (QO) Uses a hash-like structure to quantize the incoming data \\(O(1)\\) \\(O(h)\\) \\(O(h \\log h)\\)

E-BST is an exhaustive algorithm, i.e., it works as batch solutions usually do, which might be prohibitive in real-world online scenarios. TE-BST and QO apply approximations to alleviate the costs involved in monitoring numerical data and performing split attempts. The number of desired decimal places to round the data (TE-BST) and the quantization radius (QO) are directly related to the running time, memory footprint, and error of the resulting tree model.

We present a brief comparison of the available regression tree splitters using the 10K instances of the Friedman synthetic dataset.

plot_performance(\n    synth.Friedman(seed=42).take(10_000),\n    metrics.MAE(),\n    {\n        \"HTR + E-BST\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.EBSTSplitter()\n            )\n        ),\n        \"HTR + TE-BST\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.TEBSTSplitter()\n            )\n        ),\n        \"HTR + QO\": (\n            preprocessing.StandardScaler() | tree.HoeffdingTreeRegressor(\n                splitter=tree.splitter.QOSplitter()\n            )\n        ),\n\n    }\n)\n

"},{"location":"recipes/on-hoeffding-trees/#wrapping-up","title":"Wrapping up","text":"

This guide provides a walkthrough in the HTs available in River. We discussed about model inspection, memory management, and feature splits. Keep in mind that each HT variant has specific details and capabilities that are out-of-the-scope of this introductory material. The user is advised to check the documentation page of the tree models for detailed information.

"},{"location":"recipes/pipelines/","title":"Pipelines","text":"

Pipelines are an integral part of River. We encourage their usage and apply them in many of their examples.

The compose.Pipeline contains all the logic for building and applying pipelines. A pipeline is essentially a list of estimators that are applied in sequence. The only requirement is that the first n - 1 steps be transformers. The last step can be a regressor, a classifier, a clusterer, a transformer, etc.

Here is an example:

from river import compose\nfrom river import linear_model\nfrom river import preprocessing\nfrom river import feature_extraction\n\nmodel = compose.Pipeline(\n    preprocessing.StandardScaler(),\n    feature_extraction.PolynomialExtender(),\n    linear_model.LinearRegression()\n)\n

You can also use the | operator, as so:

model = (\n    preprocessing.StandardScaler() |\n    feature_extraction.PolynomialExtender() |\n    linear_model.LinearRegression()\n)\n

Or, equally:

model = preprocessing.StandardScaler() \nmodel |= feature_extraction.PolynomialExtender()\nmodel |= linear_model.LinearRegression()\n

A pipeline, as any River estimator, has a _repr_html_ method, which can be used to visualize it in Jupyter-like notebooks:

model\n
StandardScaler
StandardScaler ( with_std=True )
PolynomialExtender
PolynomialExtender ( degree=2 interaction_only=False include_bias=False bias_name=\"bias\" )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

compose.Pipeline implements a learn_one method which in sequence calls the learn_one of each component and a predict_one (resp predict_proba_one) method which calls transform_one on the first n - 1 steps and predict_one (resp predict_proba_one) on the last step.

Here is a small example to illustrate the previous point:

from river import datasets\n\ndataset = datasets.TrumpApproval()\nx, y = next(iter(dataset))\nx, y\n
({'ordinal_date': 736389,\n  'gallup': 43.843213,\n  'ipsos': 46.19925042857143,\n  'morning_consult': 48.318749,\n  'rasmussen': 44.104692,\n  'you_gov': 43.636914000000004},\n 43.75505)\n

We can predict the target value of a new sample by calling the predict_one method, however, by default, predict_one does not update any model parameter, therefore the predictions will be 0 and the model parameters will remain the default values (0 for StandardScaler component):

for (x, y) in dataset.take(2):\n    print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n    print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.00, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 0.0, 'gallup': 0.0, 'ipsos': 0.0, 'morning_consult': 0.0, 'rasmussen': 0.0, 'you_gov': 0.0})\nmodel.predict_one(x)=0.00, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 0.0, 'gallup': 0.0, 'ipsos': 0.0, 'morning_consult': 0.0, 'rasmussen': 0.0, 'you_gov': 0.0})\n

learn_one updates pipeline stateful steps, parameters and the prediction change:

for (x, y) in dataset.take(2):\n    model.learn_one(x, y)\n\n    print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n    print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.88, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.0, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 44.104692, 'you_gov': 43.636914000000004})\nmodel.predict_one(x)=9.44, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.5, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 45.104692, 'you_gov': 42.636914000000004})\n

Each component of the pipeline has been updated with the new data point.

A pipeline is a very powerful tool that can be used to chain together multiple steps in a machine learning workflow.

Notice that it is also possible to call transform_one with a pipeline, this method will run transform_one of each transformer in it, and return the result of the last transformer (which is thus the penultimate step if the last step is a predictor or clusterer, while it is the last step if the last step is a transformer):

model.transform_one(x)\n
{'ordinal_date': 1.0,\n 'gallup': 0.0,\n 'ipsos': 0.0,\n 'morning_consult': 0.0,\n 'rasmussen': 1.0,\n 'you_gov': -1.0,\n 'ordinal_date*ordinal_date': 1.0,\n 'gallup*ordinal_date': 0.0,\n 'ipsos*ordinal_date': 0.0,\n 'morning_consult*ordinal_date': 0.0,\n 'ordinal_date*rasmussen': 1.0,\n 'ordinal_date*you_gov': -1.0,\n 'gallup*gallup': 0.0,\n 'gallup*ipsos': 0.0,\n 'gallup*morning_consult': 0.0,\n 'gallup*rasmussen': 0.0,\n 'gallup*you_gov': -0.0,\n 'ipsos*ipsos': 0.0,\n 'ipsos*morning_consult': 0.0,\n 'ipsos*rasmussen': 0.0,\n 'ipsos*you_gov': -0.0,\n 'morning_consult*morning_consult': 0.0,\n 'morning_consult*rasmussen': 0.0,\n 'morning_consult*you_gov': -0.0,\n 'rasmussen*rasmussen': 1.0,\n 'rasmussen*you_gov': -1.0,\n 'you_gov*you_gov': 1.0}\n

In many cases, you might want to connect a step to multiple steps. For instance, you might to extract different kinds of features from a single input. An elegant way to do this is to use a compose.TransformerUnion. Essentially, the latter is a list of transformers who's results will be merged into a single dict when transform_one is called.

As an example let's say that we want to apply a feature_extraction.RBFSampler as well as the feature_extraction.PolynomialExtender. This may be done as so:

model = (\n    preprocessing.StandardScaler() |\n    (feature_extraction.PolynomialExtender() + feature_extraction.RBFSampler()) |\n    linear_model.LinearRegression()\n)\n\nmodel\n
StandardScaler
StandardScaler ( with_std=True )
PolynomialExtender
PolynomialExtender ( degree=2 interaction_only=False include_bias=False bias_name=\"bias\" )
RBFSampler
RBFSampler ( gamma=1. n_components=100 seed=None )
LinearRegression
LinearRegression ( optimizer=SGD ( lr=Constant ( learning_rate=0.01 ) ) loss=Squared () l2=0. l1=0. intercept_init=0. intercept_lr=Constant ( learning_rate=0.01 ) clip_gradient=1e+12 initializer=Zeros () )

Note that the + symbol acts as a shorthand notation for creating a compose.TransformerUnion, which means that we could have declared the above pipeline as so:

model = (\n    preprocessing.StandardScaler() |\n    compose.TransformerUnion(\n        feature_extraction.PolynomialExtender(),\n        feature_extraction.RBFSampler()\n    ) |\n    linear_model.LinearRegression()\n)\n

Pipelines provide the benefit of removing a lot of cruft by taking care of tedious details for you. They also enable to clearly define what steps your model is made of.

Finally, having your model in a single object means that you can move it around more easily.

Note that you can include user-defined functions in a pipeline by using a compose.FuncTransformer.

"},{"location":"recipes/pipelines/#learning-during-predict","title":"Learning during predict","text":"

In online machine learning, we can update the unsupervised parts of our model when a sample arrives. We don't really have to wait for the ground truth to arrive in order to update unsupervised estimators that don't depend on it.

In other words, in a pipeline, learn_one updates the supervised parts, whilst predict_one (or predict_proba_one for that matter) can update the unsupervised parts, which often yields better results.

In river, we can achieve this behavior using a dedicated context manager: compose.learn_during_predict.

Here is the same example as before, with the only difference of activating the such learning during predict behavior:

model = (\n    preprocessing.StandardScaler() |\n    feature_extraction.PolynomialExtender() |\n    linear_model.LinearRegression()\n)\n
with compose.learn_during_predict():\n    for (x, y) in dataset.take(2):\n\n        print(f\"{model.predict_one(x)=:.2f}, {y=:.2f}\")\n        print(f\"{model['StandardScaler'].means = }\")\n
model.predict_one(x)=0.00, y=43.76\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.0, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 44.104692, 'you_gov': 43.636914000000004})\nmodel.predict_one(x)=0.00, y=43.71\nmodel['StandardScaler'].means = defaultdict(<class 'float'>, {'ordinal_date': 736389.5, 'gallup': 43.843213, 'ipsos': 46.19925042857143, 'morning_consult': 48.318749, 'rasmussen': 45.104692, 'you_gov': 42.636914000000004})\n

Calling predict_one within this context will update each transformer of the pipeline. For instance here we can see that the mean of each feature of the standard scaler step have been updated.

On the other hand, the supervised part of our pipeline, the linear regression, has not been updated or learned anything yet. Hence the prediction on any sample will be nil because each weight is still equal to 0.

model.predict_one(x), model[\"LinearRegression\"].weights\n
(0.0, {})\n
"},{"location":"recipes/pipelines/#performance-comparison","title":"Performance Comparison","text":"

One may wonder what is the advantage of learning during predict. Let's compare the performance of a pipeline with and without learning during predict, in two scenarios: one in which the flow of data stays the same, we just update

from contextlib import nullcontext\nfrom river import metrics\n\nimport pandas as pd\n
def score_pipeline(learn_during_predict: bool, n_learning_samples: int | None = None) -> float:\n    \"\"\"Scores a pipeline on the TrumpApproval dataset.\n\n    Parameters\n    ----------\n    learn_during_predict : bool\n        Whether or not to learn the unsupervided components during the prediction step.\n        If False it will only learn when `learn_one` is explicitly called.\n    n_learning_samples : int | None \n        Number of samples used to `learn_one`.\n\n    Return\n    ------\n    MAE : float\n        Mean absolute error of the pipeline on the dataset\n    \"\"\"\n\n    dataset = datasets.TrumpApproval()\n\n    model = (\n        preprocessing.StandardScaler() |\n        linear_model.LinearRegression()\n        )\n\n    metric = metrics.MAE()\n\n    ctx = compose.learn_during_predict if learn_during_predict else nullcontext\n    n_learning_samples = n_learning_samples or dataset.n_samples\n\n    with ctx():\n        for _idx, (x, y) in enumerate(dataset):\n            y_pred = model.predict_one(x)\n\n            metric.update(y, y_pred)\n\n            if _idx < n_learning_samples:\n                model.learn_one(x, y)\n\n    return metric.get()\n
max_samples = datasets.TrumpApproval().n_samples\n\nresults = [\n    {\n        \"learn_during_predict\": learn_during_predict,\n        \"pct_learning_samples\": round(100*n_learning_samples/max_samples, 0),\n        \"mae\": score_pipeline(learn_during_predict=learn_during_predict, n_learning_samples=n_learning_samples)\n    }\n    for learn_during_predict in (True, False)\n    for n_learning_samples in range(max_samples, max_samples//10, -(max_samples//10))\n]\n
(pd.DataFrame(results)\n .pivot(columns=\"learn_during_predict\", index=\"pct_learning_samples\", values=\"mae\")\n .sort_index(ascending=False)\n .style.format_index('{0}%')\n)\n
learn_during_predict False True pct_learning_samples 100.0% 1.314548 1.347434 90.0% 1.629333 1.355274 80.0% 2.712125 1.371599 70.0% 4.840620 1.440773 60.0% 8.918634 1.498240 50.0% 15.112753 1.878434 40.0% 26.387331 2.105553 30.0% 42.997083 3.654709 20.0% 90.703102 3.504950 10.0% 226.836953 4.803600

As we can see from the resulting table above, the scores are comparable only in the case in which the percentage of learning samples above 90%. After that the score starts to degrade quite fast as the percentage of learning samples decreases, and it is very remarkable (one order of magnitude or more) when less than 50% of the samples are used for learning.

Although a simple case, this examplify how powerful it can be to learn unsupervised components during predict.

"},{"location":"recipes/reading-data/","title":"Reading data","text":"

In River, the features of a sample are stored inside a dictionary, which in Python is called a dict and is a native data structure. In other words, we don't use any sophisticated data structure, such as a numpy.ndarray or a pandas.DataFrame.

The main advantage of using plain dicts is that it removes the overhead that comes with using the aforementioned data structures. This is important in a streaming context because we want to be able to process many individual samples in rapid succession. Another advantage is that dicts allow us to give names to our features. Finally, dicts are not typed, and can therefore store heterogeneous data.

Another advantage which we haven't mentioned is that dicts play nicely with Python's standard library. Indeed, Python contains many tools that allow manipulating dicts. For instance, the csv.DictReader can be used to read a CSV file and convert each row to a dict. In fact, the stream.iter_csv method from River is just a wrapper on top of csv.DictReader that adds a few bells and whistles.

River provides some out-of-the-box datasets to get you started.

from river import datasets\n\ndataset = datasets.Bikes()\ndataset\n
Bike sharing station information from the city of Toulouse.\n\nThe goal is to predict the number of bikes in 5 different bike stations from the city of\nToulouse.\n\n      Name  Bikes                                                         \n      Task  Regression                                                    \n   Samples  182,470                                                       \n  Features  8                                                             \n    Sparse  False                                                         \n      Path  /Users/max/river_data/Bikes/toulouse_bikes.csv                \n       URL  https://maxhalford.github.io/files/datasets/toulouse_bikes.zip\n      Size  12.52 MB                                                      \nDownloaded  True\n

Note that when we say \"loaded\", we don't mean that the actual data is read from the disk. On the contrary, the dataset is a streaming data that can be iterated over one sample at a time. In Python lingo, it's a generator.

Let's take a look at the first sample:

x, y = next(iter(dataset))\nx\n
{'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'station': 'metro-canal-du-midi',\n 'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'pressure': 1017.0,\n 'temperature': 6.54,\n 'wind': 9.3}\n

Each dataset is iterable, which means we can also do:

for x, y in dataset:\n    break\nx\n
{'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n 'station': 'metro-canal-du-midi',\n 'clouds': 75,\n 'description': 'light rain',\n 'humidity': 81,\n 'pressure': 1017.0,\n 'temperature': 6.54,\n 'wind': 9.3}\n

As we can see, the values have different types.

Under the hood, calling for x, y in dataset simply iterates over a file and parses each value appropriately. We can do this ourselves by using stream.iter_csv:

from river import stream\n\nX_y = stream.iter_csv(dataset.path)\nx, y = next(X_y)\nx, y\n
({'moment': '2016-04-01 00:00:07',\n  'bikes': '1',\n  'station': 'metro-canal-du-midi',\n  'clouds': '75',\n  'description': 'light rain',\n  'humidity': '81',\n  'pressure': '1017.0',\n  'temperature': '6.54',\n  'wind': '9.3'},\n None)\n

There are a couple things that are wrong. First of all, the numeric features have not been casted into numbers. Indeed, by default, stream.iter_csv assumes that everything is a string. A related issue is that the moment field hasn't been parsed into a datetime. Finally, the target field, which is bikes, hasn't been separated from the rest of the features. We can remedy to these issues by setting a few parameters:

X_y = stream.iter_csv(\n    dataset.path,\n    converters={\n        'bikes': int,\n        'clouds': int,\n        'humidity': int,\n        'pressure': float,\n        'temperature': float,\n        'wind': float\n    },\n    parse_dates={'moment': '%Y-%m-%d %H:%M:%S'},\n    target='bikes'\n)\nx, y = next(X_y)\nx, y\n
({'moment': datetime.datetime(2016, 4, 1, 0, 0, 7),\n  'station': 'metro-canal-du-midi',\n  'clouds': 75,\n  'description': 'light rain',\n  'humidity': 81,\n  'pressure': 1017.0,\n  'temperature': 6.54,\n  'wind': 9.3},\n 1)\n

That's much better. We invite you to take a look at the stream module to see for yourself what other methods are available. Note that River is first and foremost a machine learning library, and therefore isn't as much concerned about reading data as it is about statistical algorithms. We do however believe that the fact that we use dictionary gives you, the user, a lot of freedom and flexibility.

The stream module provides helper functions to read data from different formats. For instance, you can use the stream.iter_sklearn_dataset function to turn any scikit-learn dataset into a stream.

from sklearn import datasets\n\ndataset = datasets.load_diabetes()\n\nfor x, y in stream.iter_sklearn_dataset(dataset):\n    break\n\nx, y\n
({'age': 0.038075906433423026,\n  'sex': 0.05068011873981862,\n  'bmi': 0.061696206518683294,\n  'bp': 0.0218723855140367,\n  's1': -0.04422349842444599,\n  's2': -0.03482076283769895,\n  's3': -0.04340084565202491,\n  's4': -0.002592261998183278,\n  's5': 0.019907486170462722,\n  's6': -0.01764612515980379},\n 151.0)\n

To conclude, let us shortly mention the difference between proactive learning and reactive learning in the specific context of online machine learning. When we loop over a data with a for loop, we have the control over the data and the order in which it arrives. We are proactive in the sense that we, the user, are asking for the data to arrive.

In contract, in a reactive situation, we don't have control on the data arrival. A typical example of such a situation is a web server, where web requests arrive in an arbitrary order. This is a situation where River shines. For instance, in a Flask application, you could define a route to make predictions with a River model as so:

import flask\n\napp = flask.Flask(__name__)\n\n@app.route('/', methods=['GET'])\ndef predict():\n    payload = flask.request.json\n    river_model = load_model()\n    return river_model.predict_proba_one(payload)\n

Likewise, a model can be updated whenever a request arrives as so:

@app.route('/', methods=['POST'])\ndef learn():\n    payload = flask.request.json\n    river_model = load_model()\n    river_model.learn_one(payload['features'], payload['target'])\n    return {}, 201\n

To summarize, River can be used in many different ways. The fact that it uses dictionaries to represent features provides a lot of flexibility and space for creativity.

"},{"location":"recipes/rolling-computations/","title":"Rolling computations","text":"

You might wonder which classes in River can be wrapped with a utils.Rolling. This can be answered with a bit of metaprogramming.

import importlib\nimport inspect\nfrom river.utils.rolling import Rollable\n\nfor submodule in importlib.import_module(\"river.api\").__all__:\n    for _, obj in inspect.getmembers(\n        importlib.import_module(f\"river.{submodule}\"), lambda x: isinstance(x, Rollable)\n    ):\n        print(f'{submodule}.{obj.__name__}')\n
[covariance.EmpiricalCovariance](../../api/covariance/EmpiricalCovariance)\n[metrics.Accuracy](../../api/metrics/Accuracy)\n[metrics.AdjustedMutualInfo](../../api/metrics/AdjustedMutualInfo)\n[metrics.AdjustedRand](../../api/metrics/AdjustedRand)\n[metrics.BalancedAccuracy](../../api/metrics/BalancedAccuracy)\n[metrics.ClassificationReport](../../api/metrics/ClassificationReport)\n[metrics.CohenKappa](../../api/metrics/CohenKappa)\n[metrics.Completeness](../../api/metrics/Completeness)\n[metrics.ConfusionMatrix](../../api/metrics/ConfusionMatrix)\n[metrics.CrossEntropy](../../api/metrics/CrossEntropy)\n[metrics.F1](../../api/metrics/F1)\n[metrics.FBeta](../../api/metrics/FBeta)\n[metrics.FowlkesMallows](../../api/metrics/FowlkesMallows)\n[metrics.GeometricMean](../../api/metrics/GeometricMean)\n[metrics.Homogeneity](../../api/metrics/Homogeneity)\n[metrics.Jaccard](../../api/metrics/Jaccard)\n[metrics.LogLoss](../../api/metrics/LogLoss)\n[metrics.MAE](../../api/metrics/MAE)\n[metrics.MAPE](../../api/metrics/MAPE)\n[metrics.MCC](../../api/metrics/MCC)\n[metrics.MSE](../../api/metrics/MSE)\n[metrics.MacroF1](../../api/metrics/MacroF1)\n[metrics.MacroFBeta](../../api/metrics/MacroFBeta)\n[metrics.MacroJaccard](../../api/metrics/MacroJaccard)\n[metrics.MacroPrecision](../../api/metrics/MacroPrecision)\n[metrics.MacroRecall](../../api/metrics/MacroRecall)\n[metrics.MicroF1](../../api/metrics/MicroF1)\n[metrics.MicroFBeta](../../api/metrics/MicroFBeta)\n[metrics.MicroJaccard](../../api/metrics/MicroJaccard)\n[metrics.MicroPrecision](../../api/metrics/MicroPrecision)\n[metrics.MicroRecall](../../api/metrics/MicroRecall)\n[metrics.MultiFBeta](../../api/metrics/MultiFBeta)\n[metrics.MutualInfo](../../api/metrics/MutualInfo)\n[metrics.NormalizedMutualInfo](../../api/metrics/NormalizedMutualInfo)\n[metrics.Precision](../../api/metrics/Precision)\n[metrics.R2](../../api/metrics/R2)\n[metrics.RMSE](../../api/metrics/RMSE)\n[metrics.RMSLE](../../api/metrics/RMSLE)\n[metrics.ROCAUC](../../api/metrics/ROCAUC)\n[metrics.Rand](../../api/metrics/Rand)\n[metrics.Recall](../../api/metrics/Recall)\n[metrics.RollingROCAUC](../../api/metrics/RollingROCAUC)\n[metrics.SMAPE](../../api/metrics/SMAPE)\n[metrics.Silhouette](../../api/metrics/Silhouette)\n[metrics.VBeta](../../api/metrics/VBeta)\n[metrics.WeightedF1](../../api/metrics/WeightedF1)\n[metrics.WeightedFBeta](../../api/metrics/WeightedFBeta)\n[metrics.WeightedJaccard](../../api/metrics/WeightedJaccard)\n[metrics.WeightedPrecision](../../api/metrics/WeightedPrecision)\n[metrics.WeightedRecall](../../api/metrics/WeightedRecall)\n[proba.Beta](../../api/proba/Beta)\n[proba.Gaussian](../../api/proba/Gaussian)\n[proba.Multinomial](../../api/proba/Multinomial)\n[proba.MultivariateGaussian](../../api/proba/MultivariateGaussian)\n[stats.BayesianMean](../../api/stats/BayesianMean)\n[stats.Cov](../../api/stats/Cov)\n[stats.KolmogorovSmirnov](../../api/stats/KolmogorovSmirnov)\n[stats.Mean](../../api/stats/Mean)\n[stats.PearsonCorr](../../api/stats/PearsonCorr)\n[stats.SEM](../../api/stats/SEM)\n[stats.Sum](../../api/stats/Sum)\n[stats.Var](../../api/stats/Var)\n
"},{"location":"releases/0.0.2/","title":"0.0.2 - 2019-02-13","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.0.2/#compat","title":"compat","text":"
  • Added sklearn wrappers.
"},{"location":"releases/0.0.2/#ensemble","title":"ensemble","text":"
  • Added ensemble.HedgeClassifier.
"},{"location":"releases/0.0.2/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.RandomDiscarder.
"},{"location":"releases/0.0.2/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.TargetEncoder.
"},{"location":"releases/0.0.2/#impute","title":"impute","text":"
  • Added impute.NumericImputer.
"},{"location":"releases/0.0.2/#optim","title":"optim","text":"
  • Added optim.AbsoluteLoss.
  • Added optim.HingeLoss.
  • Added optim.EpsilonInsensitiveHingeLoss.
"},{"location":"releases/0.0.2/#stats","title":"stats","text":"
  • Added stats.NUnique.
  • Added stats.Min.
  • Added stats.Max.
  • Added stats.PeakToPeak.
  • Added stats.Kurtosis.
  • Added stats.Skew.
  • Added stats.Sum.
  • Added stats.EWMean.
  • Made sure the running statistics produce the same results as pandas.DataFrame.rolling method.
"},{"location":"releases/0.0.3/","title":"0.0.3 - 2019-03-21","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.0.3/#base","title":"base","text":"
  • Calling fit_one now returns the calling instance, not the out-of-fold prediction/transform; fit_predict_one, fit_predict_proba_one, and fit_transform_one are available to reproduce the previous behavior.
  • Binary classifiers now output a dict with probabilities for False and True when calling predict_proba_one, which solves the interface issues of having multi-class classifiers do binary classification.
"},{"location":"releases/0.0.3/#compat","title":"compat","text":"
  • Added compat.convert_river_to_sklearn.
"},{"location":"releases/0.0.3/#compose","title":"compose","text":"
  • Added compose.BoxCoxTransformRegressor.
  • Added compose.TargetModifierRegressor.
"},{"location":"releases/0.0.3/#datasets","title":"datasets","text":"
  • Added datasets.fetch_restaurants.
  • Added datasets.load_airline.
"},{"location":"releases/0.0.3/#dist","title":"dist","text":"
  • Added dist.Multinomial.
  • Added dist.Normal.
"},{"location":"releases/0.0.3/#ensemble","title":"ensemble","text":"
  • Added ensemble.BaggingRegressor.
"},{"location":"releases/0.0.3/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.TargetGroupBy.
"},{"location":"releases/0.0.3/#impute","title":"impute","text":"
  • Added impute.CategoricalImputer.
"},{"location":"releases/0.0.3/#linear_model","title":"linear_model","text":"
  • Added linear_model.FMRegressor.
  • Removed all the passive-aggressive estimators.
"},{"location":"releases/0.0.3/#metrics","title":"metrics","text":"
  • Added metrics.Accuracy.
  • Added metrics.MAE.
  • Added metrics.MSE.
  • Added metrics.RMSE.
  • Added metrics.RMSLE.
  • Added metrics.SMAPE.
  • Added metrics.Precision.
  • Added metrics.Recall.
  • Added metrics.F1.
"},{"location":"releases/0.0.3/#model_selection","title":"model_selection","text":"
  • model_selection.online_score can now be passed a metrics.Metric instead of an sklearn metric; it also checks that the provided metric can be used with the accompanying model.
"},{"location":"releases/0.0.3/#naive_bayes","title":"naive_bayes","text":"
  • Added naive_bayes.GaussianNB.
"},{"location":"releases/0.0.3/#optim","title":"optim","text":"
  • Added optim.PassiveAggressiveI.
  • Added optim.PassiveAggressiveII.
"},{"location":"releases/0.0.3/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.Discarder.
  • Added preprocessing.PolynomialExtender.
  • Added preprocessing.FuncTransformer.
"},{"location":"releases/0.0.3/#reco","title":"reco","text":"
  • Added reco.SVD.
"},{"location":"releases/0.0.3/#stats","title":"stats","text":"
  • Added stats.Mode.
  • Added stats.Quantile.
  • Added stats.RollingQuantile.
  • Added stats.Entropy.
  • Added stats.RollingMin.
  • Added stats.RollingMax.
  • Added stats.RollingMode.
  • Added stats.RollingSum.
  • Added stats.RollingPeakToPeak.
"},{"location":"releases/0.0.3/#stream","title":"stream","text":"
  • Added stream.iter_csv.
"},{"location":"releases/0.0.3/#tree","title":"tree","text":"
  • Added tree.MondrianTreeClassifier.
  • Added tree.MondrianTreeRegressor.
"},{"location":"releases/0.1.0/","title":"0.1.0 - 2019-05-08","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.1.0/#base","title":"base","text":"
  • Removed the fit_predict_one estimator method.
  • Removed the fit_predict_proba_one estimator method.
  • Removed the fit_transform_one estimator method.
"},{"location":"releases/0.1.0/#compat","title":"compat","text":"
  • Added compat.convert_sklearn_to_river.
  • compat.convert_river_to_sklearn now returns an sklearn.pipeline.Pipeline when provided with a compose.Pipeline.
"},{"location":"releases/0.1.0/#compose","title":"compose","text":"
  • Added compose.Discard.
  • Added compose.Select.
  • Added compose.SplitRegressor.
  • The draw method of compose.Pipeline now works properly for arbitrary amounts of nesting, including multiple nested compose.FeatureUnion.
"},{"location":"releases/0.1.0/#datasets","title":"datasets","text":"
  • Added datasets.fetch_electricity.
"},{"location":"releases/0.1.0/#dummy","title":"dummy","text":"
  • Added dummy.NoChangeClassifier.
  • Added dummy.PriorClassifier.
  • Added dummy.StatisticRegressor.
"},{"location":"releases/0.1.0/#feature_extraction","title":"feature_extraction","text":"
  • Added feature_extraction.Differ.
  • Renamed feature_extraction.GroupBy to feature_extraction.Agg.
  • Renamed feature_extraction.TargetGroupBy to feature_extraction.TargetAgg.
"},{"location":"releases/0.1.0/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.SelectKBest.
  • Added feature_selection.VarianceThreshold.
"},{"location":"releases/0.1.0/#impute","title":"impute","text":"
  • Added impute.StatImputer.
  • Removed impute.CategoricalImputer.
  • Removed impute.NumericImputer.
"},{"location":"releases/0.1.0/#linear_model","title":"linear_model","text":"
  • Added linear_model.PAClassifier.
  • Added linear_model.PARegressor.
  • Added linear_model.SoftmaxRegression.
"},{"location":"releases/0.1.0/#metrics","title":"metrics","text":"
  • Added metrics.ConfusionMatrix.
  • Added metrics.CrossEntropy.
  • Added metrics.MacroF1.
  • Added metrics.MacroPrecision.
  • Added metrics.MacroRecall.
  • Added metrics.MicroF1.
  • Added metrics.MicroPrecision.
  • Added metrics.MicroRecall.
  • Each metric now has a bigger_is_better property to indicate if a high value is better than a low one or not.
"},{"location":"releases/0.1.0/#optim","title":"optim","text":"
  • Added optim.OptimalLR.
  • Added optim.CrossEntropy.
  • Removed optim.PassiveAggressiveI.
  • Removed optim.PassiveAggressiveII.
"},{"location":"releases/0.1.0/#preprocessing","title":"preprocessing","text":"
  • Removed preprocessing.Discarder.
  • Added on and sparse parameters to preprocessing.OneHotEncoder.
"},{"location":"releases/0.1.0/#stats","title":"stats","text":"
  • Added stats.Covariance.
  • Added stats.PearsonCorrelation.
  • Added stats.SmoothMean.
"},{"location":"releases/0.1.0/#utils","title":"utils","text":"
  • Added utils.check_estimator.
  • Added utils.Histogram.
  • Added utils.SortedWindow.
  • Added utils.Window.
"},{"location":"releases/0.10.0/","title":"0.10.0 - 2022-02-04","text":""},{"location":"releases/0.10.0/#base","title":"base","text":"
  • Introduce base.MiniBatchTransformer. Add support for mini-batches to compose.TransformerUnion, compose.Select, and preprocessing.OneHotEncoder.
"},{"location":"releases/0.10.0/#checks","title":"checks","text":"
  • Created this module to store estimator unit testing, rather than having it in the utils module.
"},{"location":"releases/0.10.0/#compose","title":"compose","text":"
  • Split compose.Renamer into compose.Prefixer and compose.Suffixer that respectively prepend and append a string to the features' name.
  • Changed compose.Renamer to allow feature renaming following a mapping.
"},{"location":"releases/0.10.0/#evaluate","title":"evaluate","text":"
  • Refactored evaluate.progressive_validation to work with api.anomaly.base.AnomalyDetectors.
"},{"location":"releases/0.10.0/#facto","title":"facto","text":"
  • Added debug_one method to BaseFM.
"},{"location":"releases/0.10.0/#feature_extraction","title":"feature_extraction","text":"
  • Make the by parameter in feature_extraction.Agg and feature_extraction.TargetAgg to be optional, allowing to calculate aggregates over the whole data.
  • Removed feature_extraction.Lagger and feature_extraction.TargetLagger. Their functionality can be reproduced by combining feature_extraction.Agg and stats.Shift.
  • feature_extraction.Agg and feature_extraction.Target now have a state property. It returns a pandas.Series representing the current aggregates values within each group.
"},{"location":"releases/0.10.0/#metrics","title":"metrics","text":"
  • metrics.ROCAUC works with base.AnomalyDetectorss.
"},{"location":"releases/0.10.0/#misc","title":"misc","text":"
  • Created this module to store some stuff that was in the utils module but wasn't necessarily shared between modules.
  • Implement misc.CovMatrix.
"},{"location":"releases/0.10.0/#reco","title":"reco","text":"
  • Renamed the Recommender base class into Ranker.
  • Added a rank method to each recommender.
  • Removed reco.SurpriseWrapper as it wasn't really useful.
  • Added an is_contextual property to each ranker to indicate if a model makes use of contextual features or not.
"},{"location":"releases/0.10.0/#stats","title":"stats","text":"
  • stats.Mean, stats.Var, and stats.Cov each now have an update_many method which accepts numpy arrays.
"},{"location":"releases/0.10.0/#utils","title":"utils","text":"
  • Removed utils.Window and use collections.deque instead where necessary.
"},{"location":"releases/0.10.1/","title":"0.10.1 - 2022-02-05","text":""},{"location":"releases/0.10.1/#evaluate","title":"evaluate","text":"

evaluate.progressive_val_score can now handle models which use **kwargs in their learn_one and predict_one methods. For instance, this is useful for reco.Ranker models which require passing a user and an item.

"},{"location":"releases/0.11.0/","title":"0.11.0 - 2022-05-28","text":"
  • Moved all metrics in metrics.cluster except metrics.Silhouette to river-extra.
"},{"location":"releases/0.11.0/#anomaly","title":"anomaly","text":"
  • There is now a anomaly.base.SupervisedAnomalyDetector base class for supervised anomaly detection.
  • Added api.anomaly.GaussianScorer, which is the first supervised anomaly detector.
  • There is now a anomaly.base.AnomalyFilter base class for anomaly filtering methods. These allow to classify anomaly scores. They can also prevent models from learning on anomalous data, for instance by putting them as an initial step of a pipeline.
  • Added anomaly.ConstantFilter and QuantileFilter, which are the first anomaly filters.
  • Removed anomaly.ConstantThresholder and anomaly.QuantileThresholder, as they overlap with the new anomaly filtering mechanism.
"},{"location":"releases/0.11.0/#base","title":"base","text":"
  • Fixed an issue where the _raw_memory_usage property would spin into an infinite loop if a model's property was an itertools.count.
"},{"location":"releases/0.11.0/#dataset","title":"dataset","text":"
  • Added the datasets.WaterFlow dataset.
"},{"location":"releases/0.11.0/#dist","title":"dist","text":"
  • A revert method has been added to stats.Gaussian.
  • A revert method has been added to stats.Multinomial.
  • Added dist.TimeRolling to measure probability distributions over windows of time.
"},{"location":"releases/0.11.0/#drift","title":"drift","text":"
  • Add the PeriodicTrigger detector, a baseline capable of producing drift signals in regular or random intervals.
  • The numpy usage was removed in drift.KSWIN in favor of collections.deque. Appending or deleting elements to numpy arrays imply creating another object.
  • Added the seed parameter to drift.KSWIN to control reproducibility.
  • The Kolmogorov-Smirnov test mode was changed to the default (\"auto\") to suppress warnings (drift.KSWIN).
  • Unnecessary usage of numpy was also removed in other concept drift detectors.
"},{"location":"releases/0.11.0/#ensemble","title":"ensemble","text":"
  • Streamline SRP{Classifier,Regressor}, remove unneeded numpy usage, make SRP variants robust against missing features, and fix bugs.
  • Remove unneeded numpy usage AdaptiveRandomForest{Classifier,Regressor}.
"},{"location":"releases/0.11.0/#evaluate","title":"evaluate","text":"
  • Added a iter_progressive_val_score function, which does the same as progressive_val_score, except that it yields rather than prints results at each step, which give more control to the user.
"},{"location":"releases/0.11.0/#imblearn","title":"imblearn","text":"
  • Added imblearn.ChebyshevUnderSampler and imblearn.ChebyshevOverSampler for imbalanced regression.
"},{"location":"releases/0.11.0/#linear_model","title":"linear_model","text":"
  • linear_model.LinearRegression and linear_model.LogisticRegression now correctly apply the l2 regularization when their learn_many method is used.
  • Added l1 regularization (implementation with cumulative penalty, see paper) for linear_model.LinearRegression and linear_model.LogisticRegression
"},{"location":"releases/0.11.0/#neighbors","title":"neighbors","text":"
  • neighbors.KNNADWINClassifier and neighbors.SAMKNNClassifier have been deprecated.
  • Introduced neighbors.NearestNeighbors for searching nearest neighbors.
  • Vastly refactored and simplified the nearest neighbors logic.
"},{"location":"releases/0.11.0/#proba","title":"proba","text":"
  • Added proba.Rolling to measure a probability distribution over a window.
"},{"location":"releases/0.11.0/#rules","title":"rules","text":"
  • AMRules's debug_one explicitly indicates the prediction strategy used by each rule.
  • Fix bug in debug_one (AMRules) where prediction explanations were incorrectly displayed when ordered_rule_set=True.
"},{"location":"releases/0.11.0/#time_series","title":"time_series","text":"
  • Added an iter_evaluate function to trace the evaluation at each sample in a dataset.
"},{"location":"releases/0.11.0/#tree","title":"tree","text":"
  • Fix bug in Naive Bayes-based leaf prediction.
  • Remove unneeded numpy usage in HoeffdingAdaptiveTree{Classifier,Regressor}.
"},{"location":"releases/0.11.0/#stats","title":"stats","text":"
  • A revert method has been added to stats.Var.
"},{"location":"releases/0.11.1/","title":"0.11.1 - 2022-06-06","text":"

A small release to introduce benchmarks.

"},{"location":"releases/0.11.1/#anomaly","title":"anomaly","text":"
  • Fixed a bug where anomaly filters were never updated.
"},{"location":"releases/0.12.0/","title":"0.12.0 - 2022-09-02","text":"
  • Moved all the public modules imports from river/__init__.py to river/api.py and removed unnecessary dependencies between modules enabling faster cherry-picked import times (~3x).
  • Adding wheels for Python 3.11.
"},{"location":"releases/0.12.0/#base","title":"base","text":"
  • Introduced an mutate method to the base.Base class. This allows setting attributes in a controlled manner, which paves the way for online AutoML. See the recipe for more information.
"},{"location":"releases/0.12.0/#compat","title":"compat","text":"
  • Moved the PyTorch wrappers to river-extra.
"},{"location":"releases/0.12.0/#covariance","title":"covariance","text":"
  • Created a new covariance module to hold everything related to covariance and inversion covariance matrix estimation.
  • Moved misc.CovarianceMatrix to covariance.EmpiricalCovariance.
  • Added covariance.EmpiricalPrecision to estimate the inverse covariance matrix.
"},{"location":"releases/0.12.0/#compose","title":"compose","text":"
  • Moved utils.pure_inference_mode to compose.pure_inference_mode and utils.warm_up_mode to compose.warm_up_mode.
  • Pipeline parts can now be accessed by integer positions as well as by name.
"},{"location":"releases/0.12.0/#datasets","title":"datasets","text":"
  • Imports synth, enabling `from river import datasets; datasets.synth.
"},{"location":"releases/0.12.0/#drift","title":"drift","text":"
  • Refactor the concept drift detectors to match the remaining of River's API. Warnings are only issued by detectors that support this feature.
  • Drifts can be assessed via the property drift_detected. Warning signals can be acessed by the property warning_detected. The update now returns self.
  • Ensure all detectors automatically reset their inner states after a concept drift detection.
  • Streamline DDM, EDDM, HDDM_A, and HDDM_W. Make the configurable parameters names match their respective papers.
  • Fix bugs in EDDM and HDDM_W.
  • Enable two-sided tests in PageHinkley.
  • Improve documentation and update tests.
"},{"location":"releases/0.12.0/#feature_extraction","title":"feature_extraction","text":"
  • Added a tokenizer_pattern parameter to feature_extraction.BagOfWords and feature_extraction.TFIDF to override the default pattern used for tokenizing text.
  • Added a stop_words parameter to feature_extraction.BagOfWords and feature_extraction.TFIDF for removing stop words once the text has been tokenized.
"},{"location":"releases/0.12.0/#linear_model","title":"linear_model","text":"
  • After long ado, we've finally implemented linear_model.BayesianLinearRegression.
"},{"location":"releases/0.12.0/#metrics","title":"metrics","text":"
  • Removed dependency to optim.
  • Removed metrics.Rolling, due to the addition of utils.Rolling.
  • Removed metrics.TimeRolling, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#proba","title":"proba","text":"
  • Removed proba.Rolling, due to the addition of utils.Rolling.
  • Removed proba.TimeRolling, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#rule","title":"rule","text":"
  • The default splitter was changed to tree.splitter.TEBST for memory and running time efficiency.
"},{"location":"releases/0.12.0/#stats","title":"stats","text":"
  • Removed stats.RollingMean, due to the addition of utils.Rolling.
  • Removed stats.RollingVar, due to the addition of utils.Rolling.
  • Removed stats.RollingCov, due to the addition of utils.Rolling.
  • Removed stats.RollingPearsonCorr, due to the addition of utils.Rolling.
"},{"location":"releases/0.12.0/#stream","title":"stream","text":"
  • stream.iter_array now handles text data.
  • Added stream.TwitterLiveStream, to listen to a filtered live stream of Tweets.
"},{"location":"releases/0.12.0/#time_series","title":"time_series","text":"
  • Added time_series.HorizonAggMetric.
  • Fixed a bug in time_series.SNARIMAX where the number of seasonal components was not correct when sp or sq were specified.
  • Fixed the differencing logic in time_series.SNARIMAX when d or sd were specified.
"},{"location":"releases/0.12.0/#tree","title":"tree","text":"
  • Rename split_confidence and tie_threshold to delta and tau, respectively. This way, the parameters are not misleading and match what the research papers have used for decades.
  • Refactor HoeffdingAdaptiveTree{Classifier,Regressor} to allow the usage of any drift detector. Expose the significance level of the test used to switch between subtrees as a user-defined parameter.
  • Correct test used to switch between foreground and background subtrees in HoeffdingAdaptiveTreeRegressor. Due to the continuous and unbounded nature of the monitored errors, a z-test is now performed to decide which subtree to keep.
  • The default leaf_prediction value was changed to \"adaptive\", as this often results in the smallest errors in practice.
  • The default splitter was changed to tree.splitter.TEBST for memory and running time efficiency.
"},{"location":"releases/0.12.0/#utils","title":"utils","text":"
  • Removed dependencies to anomaly and compose.
  • Added utils.Rolling and utils.TimeRolling, which are generic wrappers for computing over a window (of time).
  • Use binary search to speed-up element removal in utils.SortedWindow.
"},{"location":"releases/0.12.1/","title":"0.12.1 - 2022-09-02","text":""},{"location":"releases/0.12.1/#base","title":"base","text":"
  • Fix the way the clone method handles positional arguments.
"},{"location":"releases/0.13.0/","title":"0.13.0 - 2022-09-15","text":""},{"location":"releases/0.13.0/#compose","title":"compose","text":"
  • compose.TransformerUnion parts can now be accessed by index as well as by name.
"},{"location":"releases/0.13.0/#stats","title":"stats","text":"
  • Added the LossyCount for tracking frequent itemsets. This implementation also supports a forgetting factor to reduce the influence of old elements.
  • The following statistics are now implemented in Rust:
  • Quantile
  • EWMean
  • EWVar
  • IQR
  • Kurtosis
  • PeaktoPeak
  • Skew
  • RollingQuantile
  • RollingIQR
"},{"location":"releases/0.13.0/#stream","title":"stream","text":"
  • Implemented stream.TwitchChatStream.
"},{"location":"releases/0.14.0/","title":"0.14.0 - 2022-10-26","text":"
  • Introducing the bandit module for running multi-armed bandits
  • Introducing the sketch module with summarization tools and data sketches working in a streaming fashion!
"},{"location":"releases/0.14.0/#bandit","title":"bandit","text":"
  • Added bandit.EpsilonGreedy.
  • Added bandit.UCB.
  • Added bandit.ThomsonSampling.
  • Added a bandit.base module.
  • Added bandit.envs.CandyCaneContest, which implements the Gym interface.
  • Added bandit.envs.KArmedTestbed, which implements the Gym interface.
  • Added bandit.evaluate for basic benchmarking of bandit policies on a Gym environment.
"},{"location":"releases/0.14.0/#drift","title":"drift","text":"
  • Exposed more parameters in ADWIN: clock, max_buckets, min_window_length, and grace_period.
"},{"location":"releases/0.14.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.BanditRegressor, which is a generic model selection method that works with any bandit policy.
  • Removed model_selection.EpsilonGreedyRegressor due to the addition of model_selection.BanditRegressor.
  • Removed model_selection.UCBRegressor due to the addition of model_selection.BanditRegressor.
"},{"location":"releases/0.14.0/#proba","title":"proba","text":"
  • Added proba.Beta.
  • Added a sample method to each distribution.
  • Added a mode property to each distribution.
  • Replaced the pmf and pdf methods with a __call__ method.
"},{"location":"releases/0.14.0/#sketch","title":"sketch","text":"
  • Moved misc.Histogram to sketch.Histogram.
  • Moved stats.LossyCount to sketch.HeavyHitters and update its API to better match collections.Counter.
  • Added missing return self in HeavyHitters.
  • Added the Count-Min Sketch (sketch.Counter) algorithm for approximate element counting.
  • Added an implementation of Bloom filter (sketch.Set) to provide approximate set-like operations.
"},{"location":"releases/0.15.0/","title":"0.15.0 - 2023-01-29","text":""},{"location":"releases/0.15.0/#active","title":"active","text":"
  • Created this module dedicated to online active learning.
  • Added api.active.EntropySampler.
"},{"location":"releases/0.15.0/#base","title":"base","text":"
  • Fixed an issue where an estimator that has attribute a pipeline could not be cloned.
  • Added a base.DriftAndWarningDetector to clarify the difference between drift detectors that have a warning_detected property and those that don't.
  • Added MultiLabelClassifier.
  • Added MultiTargetRegressor.
  • Added drift.BinaryDriftDetector.
  • Added drift.BinaryDriftAndWarningDetector.
"},{"location":"releases/0.15.0/#conf","title":"conf","text":"
  • Introduced this new module to perform conformal predictions.
  • Added a conf.Interval dataclass to represent predictive intervals.
  • Added conf.RegressionJackknife.
"},{"location":"releases/0.15.0/#datasets","title":"datasets","text":"
  • Removed unnecessary Numpy usage in the synth submodule.
  • Changed np.random.RandomState to np.random.default_rng where necessary.
"},{"location":"releases/0.15.0/#drift","title":"drift","text":"
  • Added drift.DriftRetrainingClassifier.
  • Renamed drift.PeriodicTrigger to drift.DummyDriftDetector to clarify it is a naive baseline.
  • Created a binary submodule to organize all drift detectors which only apply to binary inputs.
"},{"location":"releases/0.15.0/#ensemble","title":"ensemble","text":"
  • Added ensemble.ADWINBoostingClassifier.
  • Added ensemble.BOLEClassifier.
"},{"location":"releases/0.15.0/#evaluate","title":"evaluate","text":"
  • evaluate.progressive_val_score and evaluate.iter_progressive_val_score will now also produce a report once the last sample has been processed, in addition to every print_every steps.
"},{"location":"releases/0.15.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.BagOfWords now outputs a dictionary, and not a collections.Counter.
"},{"location":"releases/0.15.0/#forest","title":"forest","text":"
  • Created this new module to host all models based on an ensemble of decision trees.
  • Moved ensemble.AdaptiveRandomForestClassifier to forest.ARFClassifier.
  • Moved ensemble.AdaptiveRandomForestRegressor to forest.ARFRegressor.
  • Added forest.AMFClassifier.
  • Added forest.OXTRegressor.
"},{"location":"releases/0.15.0/#linear_model","title":"linear_model","text":"
  • Renamed use_dist to with_dist in linear_model.BayesianLinearRegression's predict_one method.
"},{"location":"releases/0.15.0/#multiclass","title":"multiclass","text":"
  • Added a coding_method method to multiclass.OCC to control how the codes are randomly generated.
"},{"location":"releases/0.15.0/#multioutput","title":"multioutput","text":"
  • Added MultiClassEncoder to convert multi-label tasks into multi-class problems.
"},{"location":"releases/0.15.0/#preprocessing","title":"preprocessing","text":"
  • Renamed alpha to fading_factor in preprocessing.AdaptiveStandardScaler.
"},{"location":"releases/0.15.0/#rules","title":"rules","text":"
  • Renamed alpha to fading_factor in rules.AMRules.
"},{"location":"releases/0.15.0/#sketch","title":"sketch","text":"
  • Renamed alpha to fading_factor in sketch.HeavyHitters.
"},{"location":"releases/0.15.0/#stats","title":"stats","text":"
  • Renamed alpha to fading_factor in stats.Entropy.
  • Renamed alpha to fading_factor in stats.EWMean.
  • Renamed alpha to fading_factor in stats.EWVar.
"},{"location":"releases/0.15.0/#stream","title":"stream","text":"
  • Upgraded stream.iter_sql to SQLAlchemy 2.0.
"},{"location":"releases/0.15.0/#tree","title":"tree","text":"
  • Remove LabelCombinationHoeffdingTreeClassifier. New code should use multioutput.MulticlassEncoder instead.
"},{"location":"releases/0.15.0/#utils","title":"utils","text":"
  • Removed artifacts from the merger.
"},{"location":"releases/0.16.0/","title":"0.16.0 - 2023-05-08","text":"

Added wheels for Python 3.11.

"},{"location":"releases/0.16.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.Agg and feature_extraction.TargetAgg can now be passed an optional t in its learn_one method, which allows it to work with utils.TimeRolling.
"},{"location":"releases/0.16.0/#metrics","title":"metrics","text":"
  • Added metrics.MAPE.
  • Added metrics.RollingROCAUC.
"},{"location":"releases/0.16.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.GaussianRandomProjector.
  • Added preprocessing.SparseRandomProjector.
"},{"location":"releases/0.16.0/#stats","title":"stats","text":"
  • Fixed randomness issue with the first few outputs of stats.Quantile.
"},{"location":"releases/0.17.0/","title":"0.17.0 - 2023-05-27","text":""},{"location":"releases/0.17.0/#bandit","title":"bandit","text":"
  • Bandit policies now return a single arm when the pull method is called, instead of yielding or one more arms at a time. This is simpler to understand. We will move back to multi-armed pulls in the future.
  • Added bandit.Exp3.
  • bandit.UCB and bandit.Exp3 have an extra reward_scaler parameter, which can be any object that inherits from compose.TargetTransformRegressor. This allows scaling rewards before updating arms.
"},{"location":"releases/0.17.0/#compose","title":"compose","text":"
  • compose.TransformerProduct now correctly returns a compose.TransformerUnion when a transformer is added to it.
  • Fixed compose.TransformerProduct's transform_many behavior.
  • compose.TransformerUnion and compose.TransformerProduct will now clone the provided estimators, so that shallow copies aren't shared in different places.
"},{"location":"releases/0.17.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.BanditClassifier, which is the classification equivalent to bandit.BanditRegressor. Both are methods to perform online model selection via a bandit policy.
"},{"location":"releases/0.17.0/#multioutput","title":"multioutput","text":"
  • metrics.multioutput.MacroAverage and metrics.multioutput.MicroAverage now loop over the keys of y_true instead of y_pred. This ensures a KeyError is correctly raised if y_pred is missing an output that is present in y_true.
"},{"location":"releases/0.17.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.TargetMinMaxScaler, which operates the same as preprocessing.TargetStandardScaler, but instead uses min-max scaling.
"},{"location":"releases/0.18.0/","title":"0.18.0 - 2023-06-26","text":""},{"location":"releases/0.18.0/#bandit","title":"bandit","text":"
  • Added bandit.BayesUCB.
  • Added bandit.evaluate_offline, for evaluating bandits on historical (logged) data.
"},{"location":"releases/0.18.0/#cluster","title":"cluster","text":"
  • DBStream will now only recluster on demand, rather than at every call to learn_one.
"},{"location":"releases/0.18.0/#compat","title":"compat","text":"
  • The predict_many method scikit-learn models wrapped with compat.convert_sklearn_to_river raised an exception if the model had not been fitted on any data yet. Instead, default predictions will be produced, which is consistent with the rest of River.
  • compat.SKL2RiverRegressor and compat.SKL2RiverClassifier didn't check whether features were ordered in the same way at each method call. They now store the list of feature names at the first function call, and align subsequent inputs in the same order.
"},{"location":"releases/0.18.0/#compose","title":"compose","text":"
  • compose.TransformerProduct will now preserve the density of sparse columns.
  • Added a transform_many method to compose.FuncTransformer, allowing it to be used in mini-batch pipelines.
  • The compose.pure_inference_mode now works with mini-batching.
"},{"location":"releases/0.18.0/#neighbors","title":"neighbors","text":"
  • Added neighbors.SWINN to power-up approximate nearest neighbor search. SWINN uses graphs to speed up nearest neighbor search in large sliding windows of data.
  • Renamed neighbors.NearestNeighbors to neighbors.LazySearch.
  • Standardize and create base classes for generic nearest neighbor search utilities.
  • The user can now select the nearest neighbor search engine to use in neighbors.KNNClassifier and neighbors.KNNRegressor.
"},{"location":"releases/0.18.0/#preprocessing","title":"preprocessing","text":"
  • Rename sparse parameter to drop_zeros in preprocessing.OneHotEncoder.
  • The transform_many method of preprocessing.OneHotEncoder will now return a sparse dataframe, rather than a dense one, which will consume much less memory.
"},{"location":"releases/0.18.0/#proba","title":"proba","text":"
  • Added a cdf method to proba.Beta.
"},{"location":"releases/0.18.0/#tree","title":"tree","text":"
  • Expose the min_branch_fraction parameter to avoid splits where most of the data goes to a single branch. Affects classification trees.
  • Added the max_share_to_split parameter to Hoeffding Tree classifiers. This parameters avoids splitting when the majority class has most of the data.
"},{"location":"releases/0.18.0/#utils","title":"utils","text":"
  • Fixed utils.math.minkowski_distance.
"},{"location":"releases/0.19.0/","title":"0.19.0 - 2023-08-02","text":"

Calling learn_one in a pipeline will now update each part of the pipeline in turn. Before the unsupervised parts of the pipeline were updated during predict_one. This is more intuitive for new users. The old behavior, which yields better results, can be restored by calling learn_one with the new compose.learn_during_predict context manager.

"},{"location":"releases/0.19.0/#bandit","title":"bandit","text":"
  • Added a bandit.datasets submodule, which is meant to contain contextual bandit datasets.
  • Added bandit.base.ContextualPolicy.
  • Added bandit.datasets.NewsArticles.
  • Added bandit.LinUCBDisjoint, which is River's first contextual bandit policy.
  • Added bandit.RandomPolicy.
"},{"location":"releases/0.19.0/#compose","title":"compose","text":"
  • Removed the compose.warm_up_mode context manager.
  • Removed the compose.pure_inference_mode context manager.
  • The last step of a pipeline will be correctly updated if it is unsupervised, which wasn't the case before.
  • Fixed an edge-case where compose.TransformerProduct would not work when chained more than twice.
"},{"location":"releases/0.19.0/#drift","title":"drift","text":"
  • Added a datasets submodule, which contains datasets that are useful for concept drift experiments.
  • Fix bugs in drift.binary.HDDM_A and drift.binary.HDDM_W.
"},{"location":"releases/0.19.0/#linear_model","title":"linear_model","text":"
  • Added a predict_many method to linear_model.BayesianLinearRegression.
  • Added a smoothing parameter to linear_model.BayesianLinearRegression, which allows it to cope with concept drift.
"},{"location":"releases/0.19.0/#forest","title":"forest","text":"
  • Fixed issue with forest.ARFClassifier which couldn't be passed a CrossEntropy metric.
  • Fixed a bug in forest.AMFClassifier which slightly improves predictive accurary.
  • Added forest.AMFRegressor.
"},{"location":"releases/0.19.0/#multioutput","title":"multioutput","text":"
  • Added metrics.multioutput.SampleAverage, which is equivalent to using average='samples' in scikit-learn.
"},{"location":"releases/0.19.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.OrdinalEncoder, to map string features to integers.
  • The transform_many method of preprocessing.StandardScaler now uses the dtype of the input for the output.
"},{"location":"releases/0.19.0/#proba","title":"proba","text":"
  • Added proba.MultivariateGaussian.
"},{"location":"releases/0.19.0/#stream","title":"stream","text":"
  • stream.iter_arff now supports sparse data.
  • stream.iter_arff now supports multi-output targets.
  • stream.iter_arff now supports missing values indicated with question marks.
"},{"location":"releases/0.19.0/#utils","title":"utils","text":"
  • Added utils.random.exponential to retrieve random samples following an exponential distribution.
"},{"location":"releases/0.2.0/","title":"0.2.0 - 2019-05-27","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.2.0/#compose","title":"compose","text":"
  • compose.Pipeline now has a debug_one.
  • compose.Discard and compose.Select now take variadic inputs, which means you don't have to provide a list of features to exclude/include.
"},{"location":"releases/0.2.0/#datasets","title":"datasets","text":"
  • Added datasets.fetch_bikes
"},{"location":"releases/0.2.0/#feature_extraction","title":"feature_extraction","text":"
  • Classes that inherit from feature_extraction.VectorizerMixin can now directly be passed str instances instead of dict instances.
  • feature_extraction.Agg and feature_extraction.TargetAgg can now aggregate on multiple attributes.
"},{"location":"releases/0.2.0/#metrics","title":"metrics","text":"
  • Added RollingAccuracy
  • Added RollingCrossEntropy
  • Added RollingF1
  • Added RollingLogLoss
  • Added RollingMacroF1
  • Added RollingMacroPrecision
  • Added RollingMacroRecall
  • Added RollingMAE
  • Added RollingMicroF1
  • Added RollingMicroPrecision
  • Added RollingMicroRecall
  • Added RollingMSE
  • Added RollingPrecision
  • Added RollingRecall
  • Added RollingRMSE
  • Added RollingRMSLE
  • Added RollingSMAPE
"},{"location":"releases/0.2.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.online_qa_score.
"},{"location":"releases/0.2.0/#proba","title":"proba","text":"

The dist module has been renamed to proba and is now public, for the moment it contains a single distribution called proba.Gaussian.

"},{"location":"releases/0.2.0/#naive_bayes","title":"naive_bayes","text":"
  • Added naive_bayes.BernoulliNB.
  • Added naive_bayes.ComplementNB.
"},{"location":"releases/0.2.0/#optim","title":"optim","text":"
  • Added optim.AdaBound.
"},{"location":"releases/0.2.0/#tree","title":"tree","text":"
  • Added tree.DecisionTreeClassifier.
  • Removed tree.MondrianTreeClassifier and tree.MondrianTreeRegressor because their performance wasn't good enough.
"},{"location":"releases/0.2.0/#stats","title":"stats","text":"
  • Added stats.AutoCorrelation.
  • Added stats.EWVar.
  • Rename stats.Variance to stats.Var and stats.RollingVariance to stats.RollingVar.
"},{"location":"releases/0.2.0/#stream","title":"stream","text":"
  • Added stream.simulate_qa.
"},{"location":"releases/0.2.0/#utils","title":"utils","text":"
  • Added utils.SDFT.
  • Added utils.Skyline.
  • Renamed the window_size parameter to size in utils.Window and utils.SortedWindow.
"},{"location":"releases/0.20.0/","title":"0.20.0 - 2023-11-09","text":"
  • River's mini-batch methods now support pandas v2. In particular, River conforms to pandas' new sparse API.
  • Dropped support for Python 3.8.
  • Added support for Python 3.12.
"},{"location":"releases/0.20.0/#anomaly","title":"anomaly","text":"
  • Added api.anomaly.LocalOutlierFactor, which is an online version of the LOF algorithm for anomaly detection that matches the scikit-learn implementation.
  • Made score_one method of api.anomaly.LocalOutlierFactor stateless
  • Defined default score for uninitialized detector
  • Implementation of the api.anomaly.StandardAbsoluteDeviation algorithm, which is a uni-variate anomaly detection algorithm, based on the implementation in PySAD (Python Streaming Anomaly Detection)
"},{"location":"releases/0.20.0/#covariance","title":"covariance","text":"
  • Added _from_state method to covariance.EmpiricalCovariance to warm start from previous knowledge.
"},{"location":"releases/0.20.0/#clustering","title":"clustering","text":"
  • Add fixes to cluster.DBSTREAM algorithm, including:
  • Addition of the - sign before the fading_factor in accordance with the algorithm 2 proposed by Hashler and Bolanos (2016) to allow clusters with low weights to be removed.
  • The new micro_cluster is added with the key derived from the maximum key of the existing micro clusters. If the set of micro clusters is still empty (len = 0), a new micro cluster is added with key 0.
  • cluster_is_up_to_date is set to True at the end of the self._recluster() function.
  • Shared density graph update timestamps are initialized with the current timestamp value
  • neighbour_neighbours are appended correctly to the seed_set when generating cluster labels
  • When building weighted adjacency matrix the algorithm accounts for possibly orphaned entries in shared density graph
"},{"location":"releases/0.20.0/#datasets","title":"datasets","text":"
  • Added datasets.WebTraffic, which is a dataset that counts the occurrences of events on a website. It is a multi-output regression dataset with two outputs.
"},{"location":"releases/0.20.0/#drift","title":"drift","text":"
  • Add drift.NoDrift to allow disabling the drift detection capabilities of models. This detector does nothing and always returns False when queried whether or not a concept drift was detected.
"},{"location":"releases/0.20.0/#evaluate","title":"evaluate","text":"
  • Added a yield_predictions parameter to evaluate.iter_progressive_val_score, which allows including predictions in the output.
"},{"location":"releases/0.20.0/#forest","title":"forest","text":"
  • Simplify inner the structures of forest.ARFClassifier and forest.ARFRegressor by removing redundant class hierarchy. Simplify how concept drift logging can be accessed in individual trees and in the forest as a whole.
"},{"location":"releases/0.20.0/#metrics","title":"metrics","text":"
  • metrics.ConfusionMatrix may now be used with evaluate.progressive_val_score and evaluate.iter_progressive_val_score.
"},{"location":"releases/0.20.0/#proba","title":"proba","text":"
  • Added _from_state method to proba.MultivariateGaussian to warm start from previous knowledge.
"},{"location":"releases/0.20.0/#tree","title":"tree","text":"
  • Fix a bug in tree.splitter.NominalSplitterClassif that generated a mismatch between the number of existing tree branches and the number of tracked branches.
  • Fix a bug in tree.ExtremelyFastDecisionTreeClassifier where the split re-evaluation failed when the current branch's feature was not available as a split option. The fix also enables the tree to pre-prune a leaf via the tie-breaking mechanism.
"},{"location":"releases/0.20.0/#stats","title":"stats","text":"
  • Implementation of the incremental Kolmogorov-Smirnov statistics (at stats.KolmogorovSmirnov), with the option to calculate either the original KS or Kuiper's test.
"},{"location":"releases/0.20.0/#utils","title":"utils","text":"
  • Removed utils.dict2numpy and utils.numpy2dict functions. They were not used anywhere in the library.
  • utils.TimeRolling now works correctly if two samples with the same timestamp are added in a row.
"},{"location":"releases/0.20.1/","title":"0.20.1 - 2023-11-09","text":"

Dummy release to make wheels available. No actual difference with v0.20.0.

"},{"location":"releases/0.21.0/","title":"0.21.0 - 2023-12-04","text":"
  • The learn_one and learn_many methods of each estimator don't not return anything anymore. This is to emphasize that the estimators are stateful.
  • The update and revert method of classes that have also cease to return anything.
  • sample_weight has been renamed to w.
"},{"location":"releases/0.21.0/#covariance","title":"covariance","text":"
  • Fixed an issue where update_many would reset covariance.EmpiricalCovariance each time it was called.
"},{"location":"releases/0.21.1/","title":"0.21.1 - 2024-03-28","text":"

This release should fix some of the installation issues when building the River wheel from scratch.

"},{"location":"releases/0.21.1/#anomaly","title":"anomaly","text":"
  • Added PredictiveAnomalyDetection, a semi-supervised technique that employs a predictive model for anomaly detection.
"},{"location":"releases/0.21.1/#drift","title":"drift","text":"
  • Added FHDDM drift detector.
  • Added a iter_polars function to iterate over the rows of a polars DataFrame.
"},{"location":"releases/0.21.1/#neighbors","title":"neighbors","text":"
  • Simplified neighbors.SWINN to avoid recursion limit and pickling issues.
"},{"location":"releases/0.21.2/","title":"0.21.2 - 2024-07-08","text":"

This release makes Polars an optional dependency instead of a required one.

"},{"location":"releases/0.21.2/#cluster","title":"cluster","text":"
  • Added ODAC (Online Divisive-Agglomerative Clustering) for clustering time series.
"},{"location":"releases/0.21.2/#forest","title":"forest","text":"
  • Fix error in forest.ARFClassifer and forest.ARFRegressor where the algorithms would crash in case the number of features available for learning went below the value of the max_features parameter (#1560).
"},{"location":"releases/0.3.0/","title":"0.3.0 - 2019-06-23","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.3.0/#datasets","title":"datasets","text":"
  • Added datasets.load_chick_weights.
"},{"location":"releases/0.3.0/#decomposition","title":"decomposition","text":"
  • Added decomposition.LDA.
"},{"location":"releases/0.3.0/#ensemble","title":"ensemble","text":"
  • Added ensemble.HedgeRegressor.
  • Added ensemble.StackingBinaryClassifier.
"},{"location":"releases/0.3.0/#metrics","title":"metrics","text":"
  • Added metrics.FBeta
  • Added metrics.MacroFBeta
  • Added metrics.MicroFBeta
  • Added metrics.MultiFBeta
  • Added metrics.RollingFBeta
  • Added metrics.RollingMacroFBeta
  • Added metrics.RollingMicroFBeta
  • Added metrics.RollingMultiFBeta
  • Added metrics.Jaccard
  • Added metrics.RollingConfusionMatrix
  • Added metrics.RegressionMultiOutput
  • Added metrics.MCC
  • Added metrics.RollingMCC
  • Added metrics.ROCAUC
  • Renamed metrics.F1Score to metrics.F1.
"},{"location":"releases/0.3.0/#multioutput","title":"multioutput","text":"
  • Added multioutput.ClassifierChain.
  • Added multioutput.RegressorChain.
"},{"location":"releases/0.3.0/#optim","title":"optim","text":"
  • Added optim.QuantileLoss
  • Added optim.MiniBatcher.
"},{"location":"releases/0.3.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.Normalizer.
"},{"location":"releases/0.3.0/#proba","title":"proba","text":"
  • Added proba.Multinomial.
"},{"location":"releases/0.4.1/","title":"0.4.1 - 2019-10-23","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.4.1/#base","title":"base","text":"
  • Tests are now much more extensive, thanks mostly to the newly added estimator tags.
"},{"location":"releases/0.4.1/#compose","title":"compose","text":"
  • Added compose.Renamer.
"},{"location":"releases/0.4.1/#datasets","title":"datasets","text":"
  • Added fetch_kdd99_http.
  • Added fetch_sms.
  • Added fetch_trec07p.
"},{"location":"releases/0.4.1/#ensemble","title":"ensemble","text":"
  • Removed ensemble.HedgeBinaryClassifier because its performance was subpar.
  • Removed ensemble.GroupRegressor, as this should be a special case of ensemble.StackingRegressor.
"},{"location":"releases/0.4.1/#feature_extraction","title":"feature_extraction","text":"
  • Fixed a bug where feature_extraction.CountVectorizer and feature_extraction.TFIDFVectorizer couldn't be pickled.
"},{"location":"releases/0.4.1/#linear_model","title":"linear_model","text":"
  • linear_model.LogisticRegression and linear_model.LinearRegression now have an intercept_lr parameter.
"},{"location":"releases/0.4.1/#metrics","title":"metrics","text":"
  • Metrics can now be composed using the + operator, which is useful for evaluating multiple metrics at the same time.
  • Added metrics.Rolling, which eliminates the need for a specific rolling implementation for each metric.
  • Each metric can now be passed a sample_weight argument.
  • Added metrics.WeightedF1.
  • Added metrics.WeightedFBeta.
  • Added metrics.WeightedPrecision.
  • Added metrics.WeightedRecall.
"},{"location":"releases/0.4.1/#neighbors","title":"neighbors","text":"
  • Added neighbors.KNeighborsRegressor.
  • Added neighbors.KNeighborsClassifier.
"},{"location":"releases/0.4.1/#optim","title":"optim","text":"
  • Added optim.AdaMax.
  • The optim module has been reorganized into submodules; namely optim.schedulers, optim.initializers, and optim.losses. The top-level now only contains optimizers. Some classes have been renamed accordingly. See the documentation for details.
  • Renamed optim.VanillaSGD to optim.SGD.
"},{"location":"releases/0.4.1/#stats","title":"stats","text":"
  • Added stats.IQR.
  • Added stats.RollingIQR.
  • Cythonized stats.Mean and stats.Var.
"},{"location":"releases/0.4.1/#stream","title":"stream","text":"
  • Added stream.shuffle.
  • stream.iter_csv now has fraction and seed parameters to sample rows, deterministically or not.
  • Renamed stream.iter_numpy to stream.iter_array.
  • stream.iter_csv can now read from gzipped files.
"},{"location":"releases/0.4.1/#time_series","title":"time_series","text":"
  • time_series.Detrender now has a window_size parameter for detrending with a rolling mean.
"},{"location":"releases/0.4.1/#tree","title":"tree","text":"
  • Added tree.RandomForestClassifier.
"},{"location":"releases/0.4.1/#utils","title":"utils","text":"
  • Fixed a bug where utils.dot could take longer than necessary.
"},{"location":"releases/0.4.3/","title":"0.4.3 - 2019-10-27","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.4.3/#base","title":"base","text":"
  • Model that inherit from base.Wrapper (e.g. tree.RandomForestClassifier) can now be pickled.
"},{"location":"releases/0.4.3/#datasets","title":"datasets","text":"
  • Added datasets.fetch_credit_card.
"},{"location":"releases/0.4.3/#utils","title":"utils","text":"
  • Added the utils.math sub-module.
"},{"location":"releases/0.4.3/#tree","title":"tree","text":"
  • Fixed the debug_one method of tree.DecisionTreeClassifier.
"},{"location":"releases/0.4.4/","title":"0.4.4 - 2019-11-11","text":"
  • PyPI
  • GitHub

This release was mainly made to provide access to wheels <https://pythonwheels.com/>_ for Windows and MacOS.

"},{"location":"releases/0.4.4/#ensemble","title":"ensemble","text":"
  • Added ensemble.AdaBoostClassifier.
"},{"location":"releases/0.4.4/#linear_model","title":"linear_model","text":"
  • Added a clip_gradient parameter to linear_model.LinearRegression and linear_model.LogisticRegression. Gradient clipping was already implemented, but the maximum absolute value can now be set by the user.
  • The intercept_lr parameter of linear_model.LinearRegression and linear_model.LogisticRegression can now be passed an instance of optim.schedulers.Scheduler as well as a float.
"},{"location":"releases/0.4.4/#metrics","title":"metrics","text":"
  • Fixed metrics.SMAPE, the implementation was missing a multiplication by 2.
"},{"location":"releases/0.4.4/#optim","title":"optim","text":"
  • Added optim.schedulers.Optimal produces results that are identical to sklearn.linear_model.SGDRegressor and sklearn.linear_model.SGDClassifier when setting their learning_rate parameter to 'optimal'.
"},{"location":"releases/0.4.4/#time_series","title":"time_series","text":"
  • Added time_series.SNARIMAX, a generic model which encompasses well-known time series models such as ARIMA and NARX.
"},{"location":"releases/0.5.0/","title":"0.5.0 - 2020-03-13","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.5.0/#compat","title":"compat","text":"
  • Added compat.PyTorch2CremeRegressor.
  • compat.SKL2CremeRegressor and compat.SKL2CremeClassifier now have an optional batch_size parameter in order to perform mini-batching.
"},{"location":"releases/0.5.0/#compose","title":"compose","text":"
  • Renamed compose.Whitelister to compose.Select.
  • Renamed compose.Blacklister to compose.Discard.
"},{"location":"releases/0.5.0/#facto","title":"facto","text":"
  • Added facto.FFMClassifier.
  • Added facto.FFMRegressor.
  • Added facto.FwFMClassifier.
  • Added facto.FwFMRegressor.
  • Added facto.HOFMClassifier.
  • Added facto.HOFMRegressor.
  • Refactored facto.FMClassifier.
  • Refactored facto.FMRegressor.
"},{"location":"releases/0.5.0/#feature_selection","title":"feature_selection","text":"
  • Added feature_selection.PoissonInclusion.
  • Removed feature_selection.RandomDiscarder as it didn't make much sense.
"},{"location":"releases/0.5.0/#feature_extraction","title":"feature_extraction","text":"
  • Renamed feature_extraction.CountVectorizer to feature_extraction.BagOfWords.
  • Renamed feature_extraction.TFIDFVectorizer to feature_extraction.TFIDF.
  • Added preprocessor and ngram_range parameters to feature_extraction.BagOfWords.
  • Added preprocessor and ngram_range parameters to feature_extraction.TFIDF.
"},{"location":"releases/0.5.0/#datasets","title":"datasets","text":"
  • The datasets module has been overhauled. Each dataset is now a class (e.g. fetch_electricity has become datasets.Elec2).
  • Added datasets.TrumpApproval.
  • Added datasets.MaliciousURL.
  • Added datasets.gen.SEA.
  • Added datasets.Higgs.
  • Added datasets.MovieLens100K.
  • Added datasets.Bananas.
  • Added datasets.Taxis.
  • Added datasets.ImageSegments.
  • Added datasets.SMTP
"},{"location":"releases/0.5.0/#impute","title":"impute","text":"
  • Added impute.PreviousImputer.
"},{"location":"releases/0.5.0/#linear_model","title":"linear_model","text":"
  • linear_model.FMClassifier has been moved to the facto module.
  • linear_model.FMRegressor has been moved to the facto module.
  • Added linear_model.ALMAClassifier.
"},{"location":"releases/0.5.0/#metrics","title":"metrics","text":"
  • Added metrics.ClassificationReport.
  • Added metrics.TimeRolling.
  • The implementation of metrics.ROCAUC was incorrect. Using the trapezoidal rule instead of Simpson's rule seems to be more robust.
  • metrics.PerClass has been removed; it is recommended that you use metrics.ClassificationReport instead as it gives a better overview.
"},{"location":"releases/0.5.0/#meta","title":"meta","text":"
  • Moved meta.TransformedTargetRegressor and meta.BoxCoxRegressor to this module (they were previously in the compose module).
  • Added meta.PredClipper
"},{"location":"releases/0.5.0/#model_selection","title":"model_selection","text":"
  • Added model_selection.expand_param_grid to generate a list of models from a grid of parameters.
  • Added the model_selection.successive_halving method for selecting hyperparameters.
  • The online_score and online_qa_score methods have been merged into a single method named model_selection.progressive_val_score.
"},{"location":"releases/0.5.0/#preprocessing","title":"preprocessing","text":"
  • Added preprocessing.RBFSampler.
  • Added preprocessing.MaxAbsScaler.
  • Added preprocessing.RobustScaler.
  • Added preprocessing.Binarizer.
  • Added with_mean and with_std parameters to preprocessing.StandardScaler.
"},{"location":"releases/0.5.0/#optim","title":"optim","text":"
  • Added optim.losses.BinaryFocalLoss.
  • Added the optim.AMSGrad optimizer.
  • Added the optim.Nadam optimizer.
  • Added optim.losses.Poisson.
  • Fixed a performance bug in optim.NesterovMomentum.
"},{"location":"releases/0.5.0/#reco","title":"reco","text":"
  • Added reco.FunkMF.
  • Renamed reco.SVD to reco.BiasedMF.
  • Renamed reco.SGDBaseline to reco.Baseline.
  • Models now expect a dict input with user and item fields.
"},{"location":"releases/0.5.0/#sampling","title":"sampling","text":"
  • Added sampling.RandomUnderSampler.
  • Added sampling.RandomOverSampler.
  • Added sampling.RandomSampler.
  • Added sampling.HardSamplingClassifier.
  • Added sampling.HardSamplingRegressor.
"},{"location":"releases/0.5.0/#stats","title":"stats","text":"
  • Added stats.AbsMax.
  • Added stats.RollingAbsMax.
"},{"location":"releases/0.5.0/#stream","title":"stream","text":"
  • Added stream.iter_libsvm.
  • stream.iter_csv now supports reading from '.zip' files.
  • Added stream.Cache.
  • Added a drop parameter to stream.iter_csv to discard fields.
"},{"location":"releases/0.5.1/","title":"0.5.1 - 2020-03-29","text":"
  • PyPI
  • GitHub
"},{"location":"releases/0.5.1/#compose","title":"compose","text":"
  • compose.Pipeline and compose.TransformerUnion now variadic arguments as input instead of a list. This doesn't change anything when using the shorthand operators | and +.
"},{"location":"releases/0.5.1/#model_selection","title":"model_selection","text":"
  • Removed model_selection.successive_halving
  • Added model_selection.SuccessiveHalvingRegressor and model_selection.SuccessiveHalvingClassifier
"},{"location":"releases/0.5.1/#stream","title":"stream","text":"
  • Added a copy parameter to stream.simulate_qa in order to handle unwanted feature modifications.
"},{"location":"releases/0.5.1/#tree","title":"tree","text":"
  • Added a curtail_under parameter to tree.DecisionTreeClassifier.
  • The speed and accuracy of both tree.DecisionTreeClassifier and tree.RandomForestClassifier has been slightly improved for numerical attributes.
  • The esthetics of the tree.DecisionTreeClassifier.draw method have been improved.
"},{"location":"releases/0.6.0/","title":"0.6.0 - 2020-06-09","text":""},{"location":"releases/0.6.0/#base","title":"base","text":"
  • Added a new base class called SupervisedTransformer from which supervised transformers inherit from. Before this, supervised transformers has a is_supervised property.
"},{"location":"releases/0.6.0/#compose","title":"compose","text":"
  • Added compose.SelectType, which allows selecting feature subsets based on their type.
  • Added a score_one method to compose.Pipeline so that estimators from the anomaly module can be pipelined.
  • Added compose.Grouper, which allows applying transformers within different subgroups.
"},{"location":"releases/0.6.0/#datasets","title":"datasets","text":"
  • Added datasets.Music, which is a dataset for multi-output binary classification.
  • Added datasets.synth.Friedman, which is synthetic regression dataset.
  • The datasets.gen module has been renamed to datasets.synth
  • Each dataset now has a __repr__ method which displays some descriptive information.
  • Added datasets.Insects, which has 10 variants.
"},{"location":"releases/0.6.0/#feature_extraction","title":"feature_extraction","text":"
  • feature_extraction.Differ has been deprecated. We might put it back in a future if we find a better design.
"},{"location":"releases/0.6.0/#impute","title":"impute","text":"
  • impute.StatImputer has been completely refactored.
"},{"location":"releases/0.6.0/#metrics","title":"metrics","text":"
  • In metrics.SMAPE, instead of raising a ZeroDivisionError, the convention is now to use 0 when both y_true and y_pred are equal to 0.
"},{"location":"releases/0.6.0/#model_selection","title":"model_selection","text":"
  • Added the possibility to configure how the progress is printed in model_selection.progressive_val_score. For instance, the progress can now be printed to a file by providing the file argument.
"},{"location":"releases/0.6.0/#multiclass","title":"multiclass","text":"
  • Added multiclass.OutputCodeClassifier.
  • Added multiclass.OneVsOneClassifier.
"},{"location":"releases/0.6.0/#multioutput","title":"multioutput","text":"
  • Fixed a bug where multioutput.ClassifierChain and multioutput.RegressorChain could not be pickled.
"},{"location":"releases/0.6.0/#stats","title":"stats","text":"
  • Added stats.Shift, which can be used to compute statistics over a shifted version of a variable.
  • Added stats.Link, which can be used to compose univariate statistics. Univariate statistics can now be composed via the | operator.
  • Renamed stats.Covariance to stats.Cov.
  • Renamed stats.PearsonCorrelation to stats.PearsonCorr.
  • Renamed stats.AutoCorrelation to stats.AutoCorr.
  • Added stats.RollingCov, which computes covariance between two variables over a window.
  • Added stats.RollingPearsonCorr, which computes the Pearson correlation over a window.
"},{"location":"releases/0.6.0/#stream","title":"stream","text":"
  • Added a stream.iter_sql utility method to work with SQLAlchemy.
  • The target_name parameter of stream.iter_csv has been renamed to target. It can now be passed a list of values in order to support multi-output scenarios.
  • Added stream.iter_arff for handling ARFF files.
"},{"location":"releases/0.6.0/#tree","title":"tree","text":"
  • Cancelled the behavior where tree.DecisionTreeRegressor would raise an exception when no split was found.
"},{"location":"releases/0.6.1/","title":"0.6.1 - 2020-06-10","text":""},{"location":"releases/0.6.1/#compose","title":"compose","text":"
  • Fixed a bug that occurred when part of a compose.Transformer was a compose.Pipeline and wasn't properly handled.
"},{"location":"releases/0.7.0/","title":"0.7.0 - 2021-04-16","text":"

Alas, no release notes for this one.

"},{"location":"releases/0.7.1/","title":"0.7.1 - 2021-06-13","text":"

Fixed an issue where scikit-learn was imported in sam_knn.py but wasn't specified as a dependency.

"},{"location":"releases/0.7.1/#expert","title":"expert","text":"
  • Each expert model will now raise a NotEnoughModels exception if only a single model is passed.
"},{"location":"releases/0.7.1/#stream","title":"stream","text":"
  • Added drop_nones parameter to stream.iter_csv.
"},{"location":"releases/0.8.0/","title":"0.8.0 - 2021-08-31","text":""},{"location":"releases/0.8.0/#base","title":"base","text":"
  • The predict_many and predict_proba_many methods have been removed from base.Classifier. They're part of base.MiniBatchClassifier.
"},{"location":"releases/0.8.0/#ensemble","title":"ensemble","text":"
  • Implemented ensemble.VotingClassifier.
  • Implemented ensemble.SRPRegressor.
"},{"location":"releases/0.8.0/#meta","title":"meta","text":"
  • Renamed meta.TransformedTargetRegressor to meta.TargetTransformRegressor.
  • Added meta.TargetStandardScaler.
"},{"location":"releases/0.8.0/#preprocessing","title":"preprocessing","text":"
  • Added a with_std parameter to StandardScaler.
"},{"location":"releases/0.8.0/#rules","title":"rules","text":"
  • Added rules.AMRules
"},{"location":"releases/0.8.0/#stats","title":"stats","text":"
  • Make stats.RollingQuantile match the default behavior of Numpy's quantile function.
"},{"location":"releases/0.8.0/#tree","title":"tree","text":"
  • Unifed base class structure applied to all tree models.
  • Bug fixes.
  • Added tree.SGTClassifier and tree.SGTRegressor.
"},{"location":"releases/0.9.0/","title":"0.9.0 - 2021-11-30","text":"
  • Wheels for Python 3.6 have been dropped.
  • Wheels for Python 3.9 have been added.
"},{"location":"releases/0.9.0/#anomaly","title":"anomaly","text":"
  • Moved api.anomaly.base.AnomalyDetector to anomaly.AnomalyDetector.
  • Implemented anomaly.ConstantThresholder.
  • Implemented anomaly.QuantileThresholder.
  • Implemented api.anomaly.OneClassSVM.
"},{"location":"releases/0.9.0/#base","title":"base","text":"
  • Renamed base.WrapperMixin to base.Wrapper.
  • Introduced base.WrapperEnsemble.
  • Clarified the difference between a base.typing.Dataset and a base.typing.Stream. A Stream is an instance of a Dataset and is stateful. A Dataset is stateless. It's essentially the same difference between an Iterable and an Iterator in the Python standard library.
"},{"location":"releases/0.9.0/#compat","title":"compat","text":"
  • Added compat.PyTorch2RiverClassifier
  • Implemented median absolute deviation in stats.MAD.
  • Refactored compat.PyTorch2RiverRegressor
  • Fixed an issue where some statistics could not be printed if they had not seen any data yet.
"},{"location":"releases/0.9.0/#compose","title":"compose","text":"
  • You can now use a list as a shorthand to build a TransformerUnion.
  • Fixed a visualization issue when using a pipeline with multiple feature unions.
  • The prejudiced terms blacklist and whitelist have both been renamed to keys.
  • Removed learn_unsupervised parameter from pipeline methods.
  • Implemented compose.TransformerProduct.
"},{"location":"releases/0.9.0/#datasets","title":"datasets","text":"
  • Added datasets.Keystroke.
"},{"location":"releases/0.9.0/#ensemble","title":"ensemble","text":"
  • Bug fixes in ensemble.SRPClassifier and ensemble.SRPRegressor.
  • Some estimators have been moved into the ensemble module.
"},{"location":"releases/0.9.0/#feature_extraction","title":"feature_extraction","text":"
  • Implemented feature_extraction.Lagger.
  • Implemented feature_extraction.TargetLagger.
"},{"location":"releases/0.9.0/#meta","title":"meta","text":"

This module has been deleted.

  • Move meta.PredClipper to the preprocessing module.
  • Removed meta.BoxCoxRegressor.
  • Moved meta.TargetTransformRegressor to compose.TargetTransformRegressor.
  • Moved meta.TargetStandardScaler to preprocessing.TargetStandardScaler.
"},{"location":"releases/0.9.0/#model_selection","title":"model_selection","text":"
  • This new module replaces the expert module.
  • Implemented model_selection.GreedyRegressor.
  • Added ModelSelector base class.
"},{"location":"releases/0.9.0/#optim","title":"optim","text":"
  • optim.Adam and optim.RMSProp now work with utils.VectorDicts as well as numpy.ndarrays.
  • Added optim.losses.Huber.
"},{"location":"releases/0.9.0/#preprocessing","title":"preprocessing","text":"
  • Enabled preprocessing.OneHotEncoder to one-hot encode values that are list or sets.
"},{"location":"releases/0.9.0/#reco","title":"reco","text":"
  • Added a debug_one method to reco.FMRegressor.
"},{"location":"releases/0.9.0/#selection","title":"selection","text":"
  • This new module replaces the expert module.
  • Implemented selection.GreedyExpertRegressor.
"},{"location":"releases/0.9.0/#stats","title":"stats","text":"
  • Fixed an issue where some statistics could not be printed if they had not seen any data yet.
  • Implemented median absolute deviation in stats.MAD.
  • The stats.Mean and stats.Var implementations have been made more numerically stable.
"},{"location":"releases/0.9.0/#time_series","title":"time_series","text":"
  • time_series.Detrender and time_series.GroupDetrender have been removed as they overlap with preprocessing.TargetStandardScaler.
  • Implemented a time_series.evaluate method, which performs progressive validation for time series scenarios.
  • Implemented time_series.HorizonMetric class to evaluate the performance of a forecasting model at each time step along a horizon.
  • Implemented time_series.HoltWinters.
"},{"location":"releases/0.9.0/#utils","title":"utils","text":"
  • Moved model_selection.expand_param_grid to utils.expand_param_grid.
  • Added utils.poisson.
  • Added the utils.log_method_calls context manager.
  • Added the utils.warm_up_mode context manager.
  • Added the utils.pure_inference_model context manager.
"},{"location":"releases/unreleased/","title":"Unreleased","text":"
  • The units used in River have been corrected to be based on powers of 2 (KiB, MiB). This only changes the display, the behaviour is unchanged.
"}]} \ No newline at end of file

pc( z_r3v@m?D%p+cp%zuCPixCV$}3Ebio3Kd@i$86P^z)Slp|EYKZms$IZACAG*Uk*c@* z@`hg!i%TlCNj3==^7x8N@=_w__3p)U*@o2D#1Bw+D+DSeryAuuOj-9egVG!%2_-U9 zA_uQSog9e!Lq!l6*FIZPrTp5K6E|@DsE-#}ki33D>4~ zi^@$?QoDv3t^L%9wr3um+Z<>Gp7vM3x%mby)AUI2XR0yeXSz{l(K#Bhd{1x!?2{o`) z!%Yqdj+c>L?oLoyOUD%3!{GJazI{tD3hSZS5}Q^61igW`xM)}k4_tBogYZBcVuI8d zQQFGTnkWZMR|33K6e>AMjt;bFpxbh>AbLZFRb5}o z6W2^Kak!%G;Oy+`FoQYo|`79M72uyr_@D3-?2E)Y#1CCrans_dpVCAzgy-jkIr z6QiOV78{k#!|}GfchG>qMdZCB**+aPb@DONDG4N5aR7s4?tg~NU;zo_I4av#qzo*OC$ivwg={lL)6=ygLi` z)_g@$^WtbzpDR|DLm?we@FtXT`+}+o5Ji0IC|-dRLaXuKz4L%}8RLK-hBZLCu`Vm@ z%K|ZP`33)hv0ZO|^Uqns;c}<{FF_hb-b3ua6Wjd%_7exD#75@u*})3lX5<+dY&YCS J|84*A{{gDrdX)eG diff --git a/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_25_0.png b/dev/recipes/on-hoeffding-trees_files/on-hoeffding-trees_25_0.png index b919a8e42aecbb238a2beb2b5414b1210ce62bc0..47c8a24dff1acb28422c5cdb3e76cec4a8cb1e49 100644 GIT binary patch delta 142202 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