diff --git a/Deployment/Linear_regression/requirements.txt b/Deployment/Linear_regression/requirements.txt index 042b208..8cfc955 100644 --- a/Deployment/Linear_regression/requirements.txt +++ b/Deployment/Linear_regression/requirements.txt @@ -1,4 +1,4 @@ -numpy==1.16.3 +numpy==1.22.0 pandas==0.24.2 requests==2.22.0 scikit-learn==0.21.2 diff --git a/Deployment/rnn_app/requirements.txt b/Deployment/rnn_app/requirements.txt index 4fb6913..cee79e4 100644 --- a/Deployment/rnn_app/requirements.txt +++ b/Deployment/rnn_app/requirements.txt @@ -1,4 +1,4 @@ -numpy==1.16.3 +numpy==1.22.0 pandas==0.24.2 requests==2.22.0 diff --git a/README.md b/README.md index bc4c537..077c9d7 100644 --- a/README.md +++ b/README.md @@ -148,4 +148,11 @@ See my articles on Medium on this topic. ### Unit testing ML code with Pytest Check the files and detailed instructions in the [Pytest](https://github.com/tirthajyoti/Machine-Learning-with-Python/tree/master/Pytest) directory to understand how one should write unit testing code/module for machine learning models +--- + +### Memory and timing profiling + +Profiling data science code and ML models for memory footprint and computing time is a critical but often overlooed area. Here are a couple of Notebooks showing the ideas, +* [Memory profling using Scalene](https://github.com/tirthajyoti/Machine-Learning-with-Python/tree/master/Memory-profiling/Scalene) +* [Time-profiling data science code](https://github.com/tirthajyoti/Machine-Learning-with-Python/blob/master/Time-profiling/cProfile.ipynb) diff --git a/Time-profiling/8.14 - profile-DS-workflow.png b/Time-profiling/8.14 - profile-DS-workflow.png new file mode 100644 index 0000000..e17e393 Binary files /dev/null and b/Time-profiling/8.14 - profile-DS-workflow.png differ diff --git a/Time-profiling/Readme.md b/Time-profiling/Readme.md new file mode 100644 index 0000000..6d6d34d --- /dev/null +++ b/Time-profiling/Readme.md @@ -0,0 +1 @@ +## Time-profiling ML code diff --git a/Time-profiling/cProfile.ipynb b/Time-profiling/cProfile.ipynb new file mode 100644 index 0000000..a65359a --- /dev/null +++ b/Time-profiling/cProfile.ipynb @@ -0,0 +1,513 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fc118b68-6776-4504-ace0-0e076616fde6", + "metadata": {}, + "source": [ + "# Time-profiling Data Science code using `cProfile`\n", + "\n", + "## Dr. Tirthajyoti Sarkar\n", + "\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "98192c2c-f90d-4a7b-b3b2-ae23870d6f4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 3 function calls in 0.064 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.064 0.064 0.064 0.064 :1()\n", + " 1 0.000 0.000 0.064 0.064 {built-in method builtins.exec}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import cProfile\n", + "\n", + "SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "\n", + "cProfile.run('a+b')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9500a64c-9d19-4e05-97cf-231ab5f1842e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "a+b\n" + ] + } + ], + "source": [ + "code = \"\"\"SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "a+b\"\"\"\n", + "\n", + "print(code)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6d810ec6-245d-4082-8f64-d5c16b162936", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 5 function calls in 0.488 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.078 0.078 0.488 0.488 :1()\n", + " 1 0.000 0.000 0.488 0.488 {built-in method builtins.exec}\n", + " 1 0.028 0.028 0.028 0.028 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.381 0.381 0.381 0.381 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "cProfile.run(code)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8a5bf74f-fa5b-4997-a864-82a6d9503216", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 0.531 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.055 0.055 0.510 0.510 1735574101.py:1(add)\n", + " 1 0.021 0.021 0.531 0.531 :1()\n", + " 1 0.000 0.000 0.531 0.531 {built-in method builtins.exec}\n", + " 1 0.057 0.057 0.057 0.057 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.397 0.397 0.397 0.397 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "def add():\n", + " SIZE = 10_000_000\n", + " a = np.arange(SIZE)\n", + " b = np.random.normal(size=SIZE)\n", + " c=a+b\n", + "\n", + "cProfile.run('add()')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f899c334-2d1f-41ef-aceb-71348e5a6818", + "metadata": {}, + "outputs": [], + "source": [ + "def add(size):\n", + " a = np.arange(size)\n", + " b = np.random.normal(size=size)\n", + " c=a+b" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "cdf8d43a-f240-4de6-9a92-6dee6c1cd98b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 0.500 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.054 0.054 0.478 0.478 1565836920.py:1(add)\n", + " 1 0.021 0.021 0.500 0.500 :1()\n", + " 1 0.000 0.000 0.500 0.500 {built-in method builtins.exec}\n", + " 1 0.030 0.030 0.030 0.030 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.394 0.394 0.394 0.394 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "SIZE = 10_000_000\n", + "cProfile.run('add(SIZE)')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8d038a76-4394-472b-9949-be9ef936dca5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 1.034 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.114 0.114 0.987 0.987 1565836920.py:1(add)\n", + " 1 0.047 0.047 1.034 1.034 :1()\n", + " 1 0.000 0.000 1.034 1.034 {built-in method builtins.exec}\n", + " 1 0.082 0.082 0.082 0.082 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.791 0.791 0.791 0.791 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "SIZE = 20_000_000\n", + "cProfile.run('add(SIZE)')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f14c476d-cc19-4ce5-b74e-abf211eabc7a", + "metadata": {}, + "outputs": [], + "source": [ + "def ops(a,b):\n", + " x1 = a+b\n", + " x2 = a-b\n", + " x3 = a*b\n", + " x4 = a/b" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "771a1452-2d4a-476e-8775-3479beac3700", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 4 function calls in 0.287 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.251 0.251 0.251 0.251 3200973052.py:1(ops)\n", + " 1 0.036 0.036 0.286 0.286 :1()\n", + " 1 0.000 0.000 0.287 0.287 {built-in method builtins.exec}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "cProfile.run('ops(a,b)')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "5af6602e-a66f-4bf0-9d22-bc5b71e8c4d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total function calls: 48\n", + "Total time (seconds): 1.1839559\n" + ] + } + ], + "source": [ + "import cProfile, pstats\n", + "\n", + "profiler = cProfile.Profile()\n", + "# Enable profiler\n", + "profiler.enable()\n", + "# Function execution\n", + "add(SIZE)\n", + "# Disable profiler\n", + "profiler.disable()\n", + "# pstats\n", + "stats = pstats.Stats(profiler)\n", + "# Print the total time and function calls\n", + "print(\"Total function calls:\", stats.total_calls)\n", + "print(\"Total time (seconds):\", stats.total_tt)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "91f2d625-37bf-41f6-9c92-ae52bf608d02", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 48 function calls in 1.184 seconds\n", + "\n", + " Random listing order was used\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:86(__init__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:112(__enter__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:121(__exit__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:242(helper)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\traitlets\\traitlets.py:535(get)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\traitlets\\traitlets.py:566(__get__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\utils\\ipstruct.py:125(__getattr__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\codeop.py:142(__call__)\n", + " 4 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\compilerop.py:166(extra_flags)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:1286(user_global_ns)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3354(compare)\n", + " 2 0.000 0.000 1.184 0.592 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3416(run_code)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\hooks.py:103(__call__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\hooks.py:168(pre_run_code_hook)\n", + " 1 0.000 0.000 0.000 0.000 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/3775033682.py:9()\n", + " 1 0.044 0.044 1.184 1.184 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/3775033682.py:7()\n", + " 1 0.114 0.114 1.140 1.140 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/1565836920.py:1(add)\n", + " 1 0.081 0.081 0.081 0.081 {built-in method numpy.arange}\n", + " 1 0.945 0.945 0.945 0.945 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + " 2 0.000 0.000 0.000 0.000 {built-in method builtins.compile}\n", + " 2 0.000 0.000 1.184 0.592 {built-in method builtins.exec}\n", + " 4 0.000 0.000 0.000 0.000 {built-in method builtins.getattr}\n", + " 4 0.000 0.000 0.000 0.000 {built-in method builtins.next}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stats = pstats.Stats(profiler)\n", + "stats.print_stats()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "06fa3a62-5fef-4d9e-8c6a-d9e309d80e16", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pstats.Stats" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(stats)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "cefecaa0-9933-49ae-b0dc-3f869e83fa89", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.1839559" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stats.total_tt" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "fe15e37e-d329-4168-a479-60c219126e16", + "metadata": {}, + "outputs": [], + "source": [ + "stats.fcn_list" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "15c966eb-e094-4e5f-8e54-1a2c3923f6c7", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "560a8a4d-84fc-43c2-a1c8-79113dcc73ac", + "metadata": {}, + "outputs": [], + "source": [ + "size = [int(i*1e6) for i in range(5,26,5)]\n", + "total_tt = []\n", + "for s in size:\n", + " profiler = cProfile.Profile()\n", + " profiler.enable()\n", + " add(s)\n", + " profiler.disable()\n", + " stats = pstats.Stats(profiler)\n", + " total_tt.append(round(stats.total_tt,3)) " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "264f4589-e40b-4c2d-bb08-9116dc4eb2e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0.274, 0.464, 0.706, 0.94, 1.187]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "total_tt" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "695c9306-bcc6-45ea-8939-28e8e127eec3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(6,3),dpi=120)\n", + "plt.bar(x=[str(i)+'-million' for i in range(5,26,5)],\n", + " height=total_tt, \n", + " edgecolor='k',\n", + " color=\"#2c75b0\")\n", + "plt.xlabel(\"Array size\", fontsize=16)\n", + "plt.ylabel(\"Time taken (seconds)\",fontsize=16)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9b1e4af3-385a-420a-be85-449119210f93", + "metadata": {}, + "source": [ + "## Data science workflow profiling\n", + "\n", + "While measuring the execution time of these small standalone functions serve as basic demonstration of the usage of these profilers, the real utility is realized when they are used in a large-scale data science workflow. Such a workflow has a variety of modules and functions and we can set up profiling for all of them if necessary. The output may be logged into a database or even be fed into a monitoring system that will track the performance of the modules over time and take action if needed (e.g., a function has poorly performed and took too much time in a certain run or for a certain input data).\n", + "\n", + "![ds-workflow](https://raw.githubusercontent.com/tirthajyoti/Machine-Learning-with-Python/master/Time-profiling/8.14%20-%20profile-DS-workflow.png)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Timing-decorator/Readme.md b/Timing-decorator/Readme.md new file mode 100644 index 0000000..8936534 --- /dev/null +++ b/Timing-decorator/Readme.md @@ -0,0 +1 @@ +## Timing decorator with ML estimators diff --git a/Timing-decorator/Timing-decorator-ML-optimization.ipynb b/Timing-decorator/Timing-decorator-ML-optimization.ipynb new file mode 100644 index 0000000..2d4bbc9 --- /dev/null +++ b/Timing-decorator/Timing-decorator-ML-optimization.ipynb @@ -0,0 +1,489 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 201, + "id": "5a0b11ef-4d23-4678-98de-2e2c5d6ac365", + "metadata": {}, + "outputs": [], + "source": [ + "from functools import wraps\n", + "from time import time,sleep\n", + "import numpy as np, matplotlib.pyplot as plt\n", + "from sklearn.linear_model import LogisticRegressionCV\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.datasets import make_classification,make_regression\n", + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "markdown", + "id": "179c44d3-b908-4544-a506-c24170c9f642", + "metadata": {}, + "source": [ + "## Timing decorator with `functools.wraps`" + ] + }, + { + "cell_type": "code", + "execution_count": 235, + "id": "ed5eaae6-1f2b-490d-9a77-16dfca402aa0", + "metadata": {}, + "outputs": [], + "source": [ + "def timing(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " print (f\"Function '{func.__name__}' took {tdelta} milliseconds to run\")\n", + " return result\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "39761a68-afed-428f-9f2f-58d933bc61ad", + "metadata": {}, + "outputs": [], + "source": [ + "@timing\n", + "def list_length(a):\n", + " if isinstance(a,list):\n", + " sleep(0.1)\n", + " s = len(a)\n", + " return s\n", + " else:\n", + " print(\"Argument is not a list\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "573c97d3-b24f-4590-a492-d34588777c23", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Function 'list_length' took 111.291 milliseconds to run\n" + ] + }, + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_length([1,2,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "4e4096ba-226d-4f73-a801-eb85bfad14d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Argument is not a list\n", + "Function 'list_length' took 0.0 milliseconds to run\n" + ] + } + ], + "source": [ + "list_length(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bb695ae1-b0bf-4389-aff0-526929dd216a", + "metadata": {}, + "outputs": [], + "source": [ + "def time_return(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " return tdelta\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "7fbea76a-a77d-408a-a1e4-92ddb6ce1ced", + "metadata": {}, + "outputs": [], + "source": [ + "@time_return\n", + "def numpy_matmul(a,b):\n", + " return (np.matmul(a,b))" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "cdbacc07-0035-4223-85ef-480c296c26f7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "16.48" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SIZE = 1000\n", + "a = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "b = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "numpy_matmul(a,b)" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "33a26139-375f-406d-92ff-f2fffc958b26", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "111.301" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SIZE = 2000\n", + "a = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "b = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "numpy_matmul(a,b)" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "8b62edde-40ac-4d10-abc6-7fc77b057916", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Matrix multiplication of size (500x500) took 3.0 milliseconds\n", + "Matrix multiplication of size (1000x1000) took 17.031 milliseconds\n", + "Matrix multiplication of size (2000x2000) took 111.501 milliseconds\n", + "Matrix multiplication of size (3000x3000) took 359.307 milliseconds\n", + "Matrix multiplication of size (4000x4000) took 835.614 milliseconds\n", + "Matrix multiplication of size (5000x5000) took 1611.042 milliseconds\n" + ] + } + ], + "source": [ + "SIZE = [500,1000,2000,3000,4000,5000]\n", + "for s in SIZE:\n", + " a = np.random.beta(1.0,2.0,size=(s,s))\n", + " b = np.random.beta(1.0,2.0,size=(s,s))\n", + " t = numpy_matmul(a,b)\n", + " print(f\"Matrix multiplication of size ({s}x{s}) took {t} milliseconds\")" + ] + }, + { + "cell_type": "markdown", + "id": "68f93384-d0c4-45d8-bf44-ac2657089d2d", + "metadata": {}, + "source": [ + "## Throwing an ML estimator into the mix" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "id": "28dc6ecb-4a34-473d-b3a4-a607afd4e8de", + "metadata": {}, + "outputs": [], + "source": [ + "def time_estimator(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " return (tdelta, result)\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "id": "6cbe46a4-0a4d-4cb8-866e-14646442e918", + "metadata": {}, + "outputs": [], + "source": [ + "@time_estimator\n", + "def classifier_accuracy(estimator,x,y):\n", + " X_train, X_test, y_train, y_test = train_test_split(x, y, \n", + " test_size=0.33, \n", + " random_state=42)\n", + " estimator.fit(X_train,y_train)\n", + " score = estimator.score(X_test,y_test)\n", + " return round(score,3)" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "id": "50dd6f15-7df4-4627-a62f-0f55e5e90d74", + "metadata": {}, + "outputs": [], + "source": [ + "data = make_classification(n_samples=1000,n_features=20,n_informative=20,n_redundant=0,\n", + " flip_y=0.05,class_sep=1.5)\n", + "x,y = data[0],data[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "id": "4da09873-f5c3-4edf-8347-c995d95eb043", + "metadata": {}, + "outputs": [], + "source": [ + "log_model = LogisticRegressionCV()" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "id": "39c5e844-b61c-4763-9ccb-c9d058e7be63", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(312.083, 0.836)" + ] + }, + "execution_count": 181, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifier_accuracy(log_model,x,y)" + ] + }, + { + "cell_type": "markdown", + "id": "b987ae48-52e9-449b-9fd3-663459465097", + "metadata": {}, + "source": [ + "## Change the data and record execution time" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "f21f6487-9c84-48cf-8d43-414b8aa88428", + "metadata": {}, + "outputs": [], + "source": [ + "SIZE = [1000+500*i for i in range(21)]\n", + "log_model = LogisticRegressionCV()\n", + "model_time, model_acc = [],[]\n", + "\n", + "for s in SIZE:\n", + " data = make_classification(n_samples=s,n_features=20,n_informative=20,n_redundant=0,\n", + " flip_y=0.05,class_sep=1.5)\n", + " x,y = data[0],data[1]\n", + " m_time, m_acc = classifier_accuracy(log_model,x,y)\n", + " model_time.append(m_time)\n", + " model_acc.append(m_acc)" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "593abe3d-4d07-404e-87c5-7374379689cb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig,ax = plt.subplots(1,2,figsize=(12,4))\n", + "ax[0].scatter(SIZE,model_acc,edgecolor='k',s=100)\n", + "ax[0].plot(SIZE,model_acc)\n", + "ax[0].set_title(\"Accuracy score with data size\",fontsize=15)\n", + "ax[0].set_xlabel(\"Data size\",fontsize=14)\n", + "ax[0].grid(True)\n", + "ax[1].scatter(SIZE,model_time,edgecolor='k',s=100)\n", + "ax[1].plot(SIZE,model_time)\n", + "ax[1].set_title(\"Training time (msec) with data size\",fontsize=15)\n", + "ax[1].set_xlabel(\"Data size\",fontsize=14)\n", + "ax[1].grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "102ece6b-e0be-4ff3-8ee2-7fa3012c3741", + "metadata": {}, + "source": [ + "## Change the model and optimize" + ] + }, + { + "cell_type": "code", + "execution_count": 229, + "id": "52a0dca9-879c-4f8c-9942-8960a734a210", + "metadata": {}, + "outputs": [], + "source": [ + "num_trees = [5*x for x in range(1,21)]\n", + "model_time, model_acc = [],[]\n", + "data = make_classification(n_samples=1000, n_features=20, \n", + " n_informative=20, n_redundant=0, \n", + " flip_y=0.05,class_sep=1.0)\n", + "x,y = data[0],data[1]\n", + "for n in num_trees:\n", + " rf_model = RandomForestClassifier(n_estimators=n)\n", + " m_time, m_acc = classifier_accuracy(rf_model,x,y)\n", + " model_time.append(m_time)\n", + " model_acc.append(m_acc)" + ] + }, + { + "cell_type": "code", + "execution_count": 232, + "id": "ce3efbe4-e817-4296-9227-75bd3905e41d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig,ax = plt.subplots(1,2,figsize=(12,4))\n", + "ax[0].scatter(num_trees,model_acc,edgecolor='k',s=100)\n", + "ax[0].plot(num_trees,model_acc)\n", + "ax[0].set_title(\"Accuracy score with Random Forest\",fontsize=15)\n", + "ax[0].set_xlabel(\"Number of trees\",fontsize=14)\n", + "ax[0].grid(True)\n", + "ax[1].scatter(num_trees,model_time,edgecolor='k',s=100)\n", + "ax[1].plot(num_trees,model_time)\n", + "ax[1].set_title(\"Training time (msec) with Random Forest\",fontsize=15)\n", + "ax[1].set_xlabel(\"Number of trees\",fontsize=14)\n", + "ax[1].grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 233, + "id": "e2db0158-f14b-46d9-81fe-f5698ceb9be7", + "metadata": {}, + "outputs": [], + "source": [ + "model_time = np.array(model_time)\n", + "model_acc = np.array(model_acc)\n", + "model_opt = model_acc + 1/model_time" + ] + }, + { + "cell_type": "code", + "execution_count": 236, + "id": "9e2568d9-9ec5-4a6f-8540-6a286c6252b8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(dpi=120)\n", + "plt.title(\"Model optimization with number of trees\", fontsize=15)\n", + "plt.plot(num_trees,model_opt)\n", + "plt.scatter(num_trees,model_opt,s=100,edgecolor='k')\n", + "plt.xlabel(\"Number of trees\",fontsize=14)\n", + "plt.grid(True)\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}