{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#from sklearn.datasets import load_boston\n", "from sklearn.linear_model import LinearRegression\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Διάνυσμα με 256 στοιχεία με τιμές από το 0 μέχρι το 100 (από ομοιόμορφη κατανομή)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "x = 100 * np.random.rand(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Δημιουργία των δεδομένων χρησιμοποιώντας τη διαδικασία\n", "$$ y = A + B x + \\epsilon$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "A = 10\n", "B = 4\n", "sigma_epsilon = 10" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "y = B * x + sigma_epsilon * np.random.randn(10) + A" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "dataset = pd.DataFrame()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "dataset['x'] = x\n", "dataset['y'] = y" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
010.56855539.818205
127.653339129.680680
25.03052539.228481
328.863857129.151640
471.290622293.830941
521.35030687.861720
689.176592380.298711
728.008078111.512206
847.077837205.019795
955.232391242.248821
\n", "
" ], "text/plain": [ " x y\n", "0 10.568555 39.818205\n", "1 27.653339 129.680680\n", "2 5.030525 39.228481\n", "3 28.863857 129.151640\n", "4 71.290622 293.830941\n", "5 21.350306 87.861720\n", "6 89.176592 380.298711\n", "7 28.008078 111.512206\n", "8 47.077837 205.019795\n", "9 55.232391 242.248821" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVPElEQVR4nO3df2xd93nf8ffDe0mapEPZjjmVlRzJa7XJTobIHusxSzFkdts4djC5W+u52Eot8KBucDZnyH4kgYc0QIO1RRu3wTADap1GEtIkqpPAQuAV8xwDXTaICeW4jm2liJqYtWTJYutYTESK1CWf/XGPTmib+kXz8OqS7xdwcc/5nh96dHHu/fD7PeeeG5mJJEkAHa0uQJJ0+TAUJEklQ0GSVDIUJEklQ0GSVKq3uoA349prr83Nmze3ugxJaisHDx7868wcWGxZW4fC5s2bGRsba3UZktRWImL8XMscPpIklQwFSVLJUJAklQwFSVLJUJAklQwFSWozU7MNjp88zdRsY9n33daXpErSWnPopUn2jo7TmJunXutgZHgTWwf7l23/9hQkqU1MzTbYOzpOb2eNwXU99HbW2HNgfFl7DIaCJLWJyekGjbl5+rqbgzx93XUac/NMThsKkrTm9PfUqdc6ODXTDIFTMw3qtQ76e5bvTIChIEltorerzsjwJqbOzHHs5DRTZ+YYGd5Eb9fyhYInmiWpjWwd7OeBO29gcrpBf099WQMBDAVJaju9XcsfBmc5fCRJKhkKkqSSoSBJKhkKkqSSoSBJKhkKkqSSoSBJKhkKkqSSoSBJKhkKkqRSZaEQEVdExDci4s8j4rmI+ETR/tmI+H5EPF08thXtERGfjojDEfFMRNxcVW2SpMVVee+jGeDWzPxRRHQCX4+I/1ks+0+Z+cjr1n8fsKV4/APgoeJZkrRCKuspZNOPitnO4pHn2WQ7sKfY7gBwVUQMVlWfJOmNKj2nEBG1iHgaOAE8npmjxaJPFkNED0ZEd9G2AXhxweZHirbX73NnRIxFxNjExESV5UvSmlNpKGTmXGZuAzYCt0TEO4CPAluBnwGuAf7LJe5zV2YOZebQwMDAcpcsSWvailx9lJmvAk8Ct2fmsWKIaAb4I+CWYrWjwHULNttYtEmSVkiVVx8NRMRVxXQP8PPAd86eJ4iIAO4Cni022Q+MFFchDQMnM/NYVfVJkt6oyquPBoHdEVGjGT77MvOrEfG1iBgAAnga+DfF+o8BdwCHgSngAxXWJklaRGWhkJnPADct0n7rOdZP4L6q6pEkXZjfaJYklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVKpslCIiCsi4hsR8ecR8VxEfKJovz4iRiPicER8MSK6ivbuYv5wsXxzVbVJkhZXZU9hBrg1M98JbANuj4hh4LeABzPzp4EfAPcW698L/KBof7BYT5K0gioLhWz6UTHbWTwSuBV4pGjfDdxVTG8v5imW3xYRUVV9kqQ3qvScQkTUIuJp4ATwOPCXwKuZ2ShWOQJsKKY3AC8CFMtPAm9dZJ87I2IsIsYmJiaqLF/SZWhqtsHxk6eZmm1ceGVdsnqVO8/MOWBbRFwFfAXYugz73AXsAhgaGso3uz9J7ePQS5PsHR2nMTdPvdbByPAmtg72t7qsVWVFrj7KzFeBJ4F3AVdFxNkw2ggcLaaPAtcBFMvXAX+zEvVJuvxNzTbYOzpOb2eNwXU99HbW2HNg3B7DMqvy6qOBoodARPQAPw8cohkOv1SstgN4tJjeX8xTLP9aZtoTkATA5HSDxtw8fd3Nvyn7uus05uaZnDYUllOVw0eDwO6IqNEMn32Z+dWIeB74QkT8BvAt4OFi/YeBvRFxGHgFuKfC2iS1mf6eOvVaB6dmGvR11zk106Be66C/p9JR8DWnslczM58Bblqk/XvALYu0nwZ+uap6JLW33q46I8Ob2HNgnMnTZ8pzCr1dhsJy8tWU1Da2DvbzwJ03MDndoL+nbiBUwFdUUlvp7TIMquS9jyRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklSqLBQi4rqIeDIino+I5yLi/qL91yPiaEQ8XTzuWLDNRyPicET8RUS8t6raJEmLq/KHThvAhzPzqYh4C3AwIh4vlj2Ymb+zcOWIuBG4B3g78JPA/46Iv5OZcxXWKElaoLKeQmYey8yniukfAoeADefZZDvwhcycyczvA4eBW6qqT5L0RityTiEiNgM3AaNF0wcj4pmI+ExEXF20bQBeXLDZERYJkYjYGRFjETE2MTFRZdmStOZUHgoRcSXwJeBDmTkJPAT8FLANOAb87qXsLzN3ZeZQZg4NDAwsd7lS25qabXD85GmmZhutLkVtrMpzCkREJ81A+FxmfhkgM19esPwPgK8Ws0eB6xZsvrFok3QBh16aZO/oOI25eeq1DkaGN7F1sL/VZakNVXn1UQAPA4cy81ML2gcXrPaLwLPF9H7gnojojojrgS3AN6qqT1otpmYb7B0dp7ezxuC6Hno7a+w5MG6PQUtSZU/h3cCvAt+OiKeLto8BvxIR24AEXgB+DSAzn4uIfcDzNK9cus8rj6QLm5xu0Jibp+/KbgD6uutMnj7D5HSD3q5KBwO0ClV2xGTm14FYZNFj59nmk8Anq6pJWo36e+rUax2cmmnQ113n1EyDeq2D/h4DQZfObzRLba63q87I8Camzsxx7OQ0U2fmGBneZC9BS+JRI60CWwf7eeDOG5icbtDfUzcQtGQeOdIq0dtlGOjNc/hIklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklQyFCRJJUNBklS6YChExL+LiKtXohhJUmtdTE9hPfDNiNgXEbcXv70s6TymZhscP3na30lW27ngzdcz84GI+K/ALwAfAP578VvKD2fmX1ZdoNRuDr00yd7RcRpz89RrHYwMb2LrYH+ry5IuykWdU8jMBI4XjwZwNfBIRPx2hbVJbWdqtsHe0XF6O2sMruuht7PGngPj9hjUNi7mnML9EXEQ+G3g/wJ/LzP/LfD3gX92nu2ui4gnI+L5iHguIu4v2q+JiMcj4rvF89VFe0TEpyPicEQ8ExE3L8v/UFpBk9MNGnPz9HU3O+F93XUac/NMThsKag8X01O4BvinmfnezPyTzDwDkJnzwPvPs10D+HBm3ggMA/dFxI3AR4AnMnML8EQxD/A+YEvx2Ak8tJT/kNRK/T116rUOTs00Q+DUTIN6rYP+Hn8mU+3hgqGQmR/PzPFzLDt0nu2OZeZTxfQPgUPABmA7sLtYbTdwVzG9HdiTTQeAqyJi8GL/I9LloLerzsjwJqbOzHHs5DRTZ+YYGd7kbyerbazIkRoRm4GbgFFgfWYeKxYdp3l1EzQD48UFmx0p2o4taCMidtLsSfC2t72tuqKlJdo62M8Dd97A5HSD/p66gaC2UvmX1yLiSuBLwIcyc3LhsuIEdl7K/jJzV2YOZebQwMDAMlYqLZ/erjo/se4KA0Ftp9JQiIhOmoHwucz8ctH88tlhoeL5RNF+FLhuweYbizZJ0gqpLBSKL7k9DBzKzE8tWLQf2FFM7wAeXdA+UlyFNAycXDDMJElaAVX2bd8N/Crw7Yh4umj7GPCbwL6IuBcYB+4ulj0G3AEcBqZoflFOkrSCKguFzPw6cK5bYty2yPoJ3FdVPZKkC/MuqZKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSoZCpKkkqEgSSpVFgoR8ZmIOBERzy5o+/WIOBoRTxePOxYs+2hEHI6Iv4iI91ZVlyTp3KrsKXwWuH2R9gczc1vxeAwgIm4E7gHeXmzzPyKiVmFtkqRFVBYKmflnwCsXufp24AuZOZOZ3wcOA7dUVZskaXGtOKfwwYh4phheurpo2wC8uGCdI0XbG0TEzogYi4ixiYmJqmuVpDVlpUPhIeCngG3AMeB3L3UHmbkrM4cyc2hgYGCZy5OktW1FQyEzX87MucycB/6AHw8RHQWuW7DqxqJNkrSCVjQUImJwwewvAmevTNoP3BMR3RFxPbAF+MZK1iZJgnpVO46IzwPvAa6NiCPAx4H3RMQ2IIEXgF8DyMznImIf8DzQAO7LzLmqapMkLS4ys9U1LNnQ0FCOjY21ugxJaisRcTAzhxZb5jeaJUklQ0GSVDIUtGRTsw2OnzzN1Gyj1aVIWiaVnWjW6nbopUn2jo7TmJunXutgZHgTWwf7mZptMDndoL+nTm+Xh5fUbnzX6pJNzTbYOzpOb2eNviu7OTXTYM+BcX755g38yVNH3xAUktqHw0e6ZJPTDRpz8/R1N/+m6Ouuc3q2GQy9nTUG1/XQ21ljz4Fxh5akNmMo6JL199Sp1zo4NdP8wD8102AeiOA1QdGYm2dy2lCQ2omhoEvW21VnZHgTU2fmOHZymqkzc/yrd23mis76a4KiXuugv8cRSqmd+I7Vkmwd7OeBO294zUnlK4oho8nTZ8pzCp5sltqL71gtWW/Xa68wWiwoJLUX37VaVq8PCkntxXMKkqSSoSBJKhkKetO83YW0ejj4qzflXLe7kNSe7CloyRbe7sJvMUurg6GgJVvsdhd+i1lqb4aClmyx2134LWapvRkKWrLFbnfht5il9ua7V2+K32KWVpfKegoR8ZmIOBERzy5ouyYiHo+I7xbPVxftERGfjojDEfFMRNxcVV1afr1ddX5i3RUGgrQKVDl89Fng9te1fQR4IjO3AE8U8wDvA7YUj53AQxXWJUk6h8pCITP/DHjldc3bgd3F9G7grgXte7LpAHBVRAxWVZskaXErfaJ5fWYeK6aPA+uL6Q3AiwvWO1K0vUFE7IyIsYgYm5iYqK5SSVqDWnb1UWYmkEvYbldmDmXm0MDAQAWVSdLatdKh8PLZYaHi+UTRfhS4bsF6G4s2SdIKWulQ2A/sKKZ3AI8uaB8prkIaBk4uGGaSJK2Qyq4hjIjPA+8Bro2II8DHgd8E9kXEvcA4cHex+mPAHcBhYAr4QFV1rTVTsw2/QyDpolX2KZGZv3KORbctsm4C91VVy1rlHUwlXSpvc7FKeQdTSUthKKxS3sFU0lIYCquUdzCVtBSGwirlHUwlLYWfEKuYdzCVdKn8lFjlersMA0kXz+EjSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklQwFSVLJUJAklVpyT+WIeAH4ITAHNDJzKCKuAb4IbAZeAO7OzB+0oj5JWqta2VP4x5m5LTOHivmPAE9k5hbgiWJekrSCLqfho+3A7mJ6N3BX60qRpLWpVaGQwP+KiIMRsbNoW5+Zx4rp48D6xTaMiJ0RMRYRYxMTEytRqyStGa36ncafzcyjEfG3gMcj4jsLF2ZmRkQutmFm7gJ2AQwNDS26jiRpaVrSU8jMo8XzCeArwC3AyxExCFA8n2hFbZK0lq14KEREX0S85ew08AvAs8B+YEex2g7g0apqmJptcPzkaaZmG5fl/iSpVVoxfLQe+EpEnP33/zgz/zQivgnsi4h7gXHg7ir+8UMvTbJ3dJzG3Dz1Wgcjw5vYOth/2exPklppxXsKmfm9zHxn8Xh7Zn6yaP+bzLwtM7dk5s9l5ivL/W9PzTbYOzpOb2eNwXU99HbW2HNgfMl/4S/3/iSp1S6nS1IrNzndoDE3T193s4PU112nMTfP5PTSPsSXe3+S1GprKhT6e+rUax2cmml+aJ+aaVCvddDfs7RRtOXenyS12poKhd6uOiPDm5g6M8exk9NMnZljZHgTvV1L+xBf7v1JUqtFZvte6j80NJRjY2OXvN3UbIPJ6Qb9PfVl+QBf7v1JUpUi4uCCWwy9xpr8BOvtWt4P7+XenyS1ypoaPpIknZ+hIEkqGQqSpJKhIEkqGQqSpFJbX5IaERM075Ok17oW+OtWF3EZ8/U5P1+fC2v312hTZg4stqCtQ0GLi4ixc12DLF+fC/H1ubDV/Bo5fCRJKhkKkqSSobA67Wp1AZc5X5/z8/W5sFX7GnlOQZJUsqcgSSoZCpKkkqHQxiLiuoh4MiKej4jnIuL+ov2aiHg8Ir5bPF/d6lpbKSJqEfGtiPhqMX99RIxGxOGI+GJEdLW6xlaKiKsi4pGI+E5EHIqId3kM/VhE/Ifi/fVsRHw+Iq5YzceQodDeGsCHM/NGYBi4LyJuBD4CPJGZW4Anivm17H7g0IL53wIezMyfBn4A3NuSqi4fvw/8aWZuBd5J87XyGAIiYgPw74GhzHwHUAPuYRUfQ4ZCG8vMY5n5VDH9Q5pv5g3AdmB3sdpu4K6WFHgZiIiNwJ3AHxbzAdwKPFKsstZfn3XAPwIeBsjM2cx8FY+hhepAT0TUgV7gGKv4GDIUVomI2AzcBIwC6zPzWLHoOLC+VXVdBn4P+M/AfDH/VuDVzGwU80doBuladT0wAfxRMcT2hxHRh8cQAJl5FPgd4K9ohsFJ4CCr+BgyFFaBiLgS+BLwocycXLgsm9ccr8nrjiPi/cCJzDzY6louY3XgZuChzLwJOMXrhorW+DF0Nc1e0/XATwJ9wO0tLapihkKbi4hOmoHwucz8ctH8ckQMFssHgROtqq/F3g38k4h4AfgCzS7/7wNXFUMBABuBo60p77JwBDiSmaPF/CM0Q8JjqOnngO9n5kRmngG+TPO4WrXHkKHQxorx8YeBQ5n5qQWL9gM7iukdwKMrXdvlIDM/mpkbM3MzzZODX8vMfwE8CfxSsdqafX0AMvM48GJE/N2i6TbgeTyGzvorYDgieov329nXZ9UeQ36juY1FxM8C/wf4Nj8eM/8YzfMK+4C30by1+N2Z+UpLirxMRMR7gP+Yme+PiL9Ns+dwDfAt4F9m5kwLy2upiNhG80R8F/A94AM0/2D0GAIi4hPAP6d5td+3gH9N8xzCqjyGDAVJUsnhI0lSyVCQJJUMBUlSyVCQJJUMBUlSyVCQJJUMBUlSyVCQllFE/ExEPFPcc7+vuA//O1pdl3Sx/PKatMwi4jeAK4AemvcV+m8tLkm6aIaCtMyKX+H6JnAa+IeZOdfikqSL5vCRtPzeClwJvIVmj0FqG/YUpGUWEftp3iztemAwMz/Y4pKki1a/8CqSLlZEjABnMvOPI6IG/L+IuDUzv9bq2qSLYU9BklTynIIkqWQoSJJKhoIkqWQoSJJKhoIkqWQoSJJKhoIkqfT/Aavw8+RgXv9IAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dataset.plot.scatter(x='x', y='y',alpha=0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Χρήση της υλοποίησης του μοντέλου γραμμικής παλινδρόμησης από sklearn" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "reg = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10.56855455],\n", " [27.65333924],\n", " [ 5.03052461],\n", " [28.86385736],\n", " [71.29062164],\n", " [21.35030616],\n", " [89.17659176],\n", " [28.00807826],\n", " [47.07783661],\n", " [55.23239071]])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(np.expand_dims(x,1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Προσαρμογή της ευθείας στις παρατηρήσεις (συνάρτηση fit)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression()" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reg.fit(np.expand_dims(x,1),y)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([47.61343162])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reg.predict(np.expand_dims(np.array([10]),1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Υπολογισμός του $a$, είναι $a = \\hat y(0)$" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "a = reg.predict(np.expand_dims(np.array([0]), 1))[0]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.0124414901955845" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Η παράμετρος της κλίσης $b$ περιέχεται στο " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "b = reg.coef_" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.0124414901955845" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4.16009901])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Υπολογισμός του $\\hat y(100)$ ώστε να έχουμε 2ο σημείο (το πρώτο είναι το $(0,a)$) για να σχεδιάσουμε την ευθεία" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "y_hat_100 = reg.predict(np.expand_dims(np.array([100]), -1))[0]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "422.0223428276207" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_hat_100" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dataset.plot.scatter(x='x', y='y',alpha=0.5)\n", "plt.plot((0,100),(a, y_hat_100), color = 'red', lw=3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.16" } }, "nbformat": 4, "nbformat_minor": 4 }