You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sitc/ml21/visualization/07_Temporal_Charts.ipynb

452 lines
192 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"![](images/EscUpmPolit_p.gif \"UPM\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"# Course Notes for Learning Intelligent Systems"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"Department of Telematic Engineering Systems, Universidad Politécnica de Madrid, © Carlos A. Iglesias"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"## [Introduction to Visualization](00_Intro_Visualization.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"# Temporal Charts\n",
"Charts for comparing temporal data."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Timeseries plot"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>subject</th>\n",
" <th>timepoint</th>\n",
" <th>event</th>\n",
" <th>region</th>\n",
" <th>signal</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>s13</td>\n",
" <td>18</td>\n",
" <td>stim</td>\n",
" <td>parietal</td>\n",
" <td>-0.017552</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>s5</td>\n",
" <td>14</td>\n",
" <td>stim</td>\n",
" <td>parietal</td>\n",
" <td>-0.080883</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>s12</td>\n",
" <td>18</td>\n",
" <td>stim</td>\n",
" <td>parietal</td>\n",
" <td>-0.081033</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>s11</td>\n",
" <td>18</td>\n",
" <td>stim</td>\n",
" <td>parietal</td>\n",
" <td>-0.046134</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>s10</td>\n",
" <td>18</td>\n",
" <td>stim</td>\n",
" <td>parietal</td>\n",
" <td>-0.037970</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" subject timepoint event region signal\n",
"0 s13 18 stim parietal -0.017552\n",
"1 s5 14 stim parietal -0.080883\n",
"2 s12 18 stim parietal -0.081033\n",
"3 s11 18 stim parietal -0.046134\n",
"4 s10 18 stim parietal -0.037970"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fmri = sns.load_dataset(\"fmri\")\n",
"fmri.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='timepoint', ylabel='signal'>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.lineplot(x=\"timepoint\", y=\"signal\", data=fmri)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='timepoint', ylabel='signal'>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.lineplot(x=\"timepoint\", y=\"signal\", hue=\"event\", data=fmri)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Stackplot graph\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKxElEQVR4nO3deVzUdeI/8NdwDecMl1wKiPeVdlipW1rb6bb+ttwjszXbshMUxTOt1drUtM3atrJtD7O20sosN0/k8laUQwVUBGQGBblnYIAZZubz+8PkG4IKODPvOV7Px2MeyXw+zOf19m3y8nPKJEmSQERERGQjbqIDEBERkWth+SAiIiKbYvkgIiIim2L5ICIiIpti+SAiIiKbYvkgIiIim2L5ICIiIpti+SAiIiKb8hAd4EpmsxkXLlxAQEAAZDKZ6DhERETUBZIkoaGhAVFRUXBzu/a+DbsrHxcuXEB0dLToGERERNQDarUaffr0ueY6dlc+AgICAFwKr1AoBKchIiKirtBqtYiOjm77OX4tdlc+Lh9qUSgULB9EREQOpiunTPCEUyIiIrIplg8iIiKyKZYPIiIisim7O+ejKyRJgtFohMlkEh2FLMTd3R0eHh68vJqIyAU4XPkwGAwoLy9HU1OT6ChkYb6+voiMjISXl5foKEREZEUOVT7MZjNKSkrg7u6OqKgoeHl58V/KTkCSJBgMBlRVVaGkpAQDBw687g1qiIjIcTlU+TAYDDCbzYiOjoavr6/oOGRBPj4+8PT0RGlpKQwGA7y9vUVHIiIiK3HIf17yX8XOifNKROQa+Lc9ERER2RTLBxEREdmUQ53zcS19F2216fbOvfWIxT7rnnvuwc0334z33nsPANC3b1/Mnj0bs2fPttg2RHCWcRARkWU5Tfmwd08//TTWr1/f4f3CwkJ899138PT0FJDKujIzM+Hn5yc6BhER2RmWDxt6+OGHsW7dunbv9erVC+7u7oISWVevXr1ERyAiIjvEcz5sSC6XIyIiot3L3d0d99xzT4dDEw0NDZg6dSr8/f0RFRWFv//97+2Wq1Qq/OY3v4G/vz8UCgX+8Ic/4OLFi23Lly1bhptvvhmff/45+vbtC6VSiSlTpqChoaFtnR07duCuu+5CYGAgQkJC8Otf/xpFRUXttlNWVoYpU6YgODgYfn5+GD16NA4fPty2fMuWLRg9ejS8vb0RGhqKyZMnty3r27dv26EkIiKiy1g+7NTbb7+NkSNHIisrC6+88grmzJmD5ORkAJduyvXoo4+itrYWGRkZSE5ORlFRER5//PF2n1FUVITvv/8eP/74I3788UdkZGTgrbfealuu0+mQlJSEzMxMpKSkwM3NDY899hjMZjMAoLGxERMmTMCFCxewZcsW5ObmYsGCBW3Lt27dismTJ+ORRx5BdnY2UlJSMHr0aBv9DhERUU+kqdJER+BhF1v68ccf4e/v3/b1xIkT8c0333S67i9+8QssWrQIADBo0CDs378f7777Lh544AHs3r0bx48fR0lJCaKjowEAn3/+OYYPH47MzEzcfvvtAC7dEfbTTz9FQEAAAGDatGlISUnB8uXLAQC//e1v223z3//+N8LCwpCfn48RI0bgyy+/RFVVFTIzMxEcHAwAGDBgQNv6y5cvx5QpU/D666+3vTdq1Kgb+j0iIiLrkCQJH+R8gK9Pf429MXuFZuGeDxu69957kZOT0/Z6//33r7ru2LFjO3xdUFAAACgoKEB0dHRb8QCAYcOGITAwsG0d4NJhj8vFAwAiIyNRWVnZ9nVRURGmTp2Kfv36QaFQIC4uDsClQzoAkJOTg1tuuaWteFwpJycH9913X1eHT0REguhNeizcsxCfHP8EEiTRcbjnw5b8/Pza7TnorsvPsZEkqdNn2lz5/pVX0MhksrZDJgAwadIkREdH45///CeioqJgNpsxYsQIGAwGAJdueX4t11tORETi1TTXIDEtEblVuaKjtOGeDzt16NChDl8PGTIEwKW9HCqVCmq1um15fn4+NBoNhg4d2qXPr6mpQUFBAV599VXcd999GDp0KOrq6tqtM3LkSOTk5KC2trbTzxg5ciRSUlK6MywiIrKhovoiPLntSbsqHgDLh93av38/Vq9ejTNnzuDDDz/EN998g8TERADA/fffj5EjR+LJJ59EVlYWjhw5gqeeegoTJkzo8gmfQUFBCAkJwSeffIKzZ88iNTUVSUlJ7dZ54oknEBERgUcffRT79+9HcXExNm3ahIMHDwIAli5diq+++gpLly5FQUEBTpw4gdWrV1v2N4KIiHrkwIUDmLZtGs43nhcdpQOnOexiyTuO2oO5c+fi2LFjeP311xEQEIB33nkHDz30EIBLh0++//57zJw5E+PHj4ebmxsefvjhDpfjXoubmxs2bNiAWbNmYcSIERg8eDDef/993HPPPW3reHl5YdeuXZg7dy5+9atfwWg0YtiwYfjwww8BXLoz6zfffIO//OUveOutt6BQKDB+/HiL/j4QEVH3fXPmG6w4tAJGySg6SqdkkiSJP/PkZ7RaLZRKJTQaDRQKRbtlLS0tKCkpQVxcHB+57oQ4v0REN8YsmfHO0XfwWf5nV11HKVdi35R9Ft/2tX5+X8lp9nwQERG5sqbWJizauwhpavH38bgelg8iIiIHV9lUiYSUBBTUFlx/ZTvA8kFEROTATtWeQnxKPCqbKq+/sp3g1S5EREQOKl2djqe2P+VQxQPgng8iIiKH9FneZ3jn2DswS+brr2xnWD6IiIgciNFsxFtH3sLG0xtFR+kxlg8iIiIH0WhoxLyMedh/Yb/oKDeE5YOIiMgBXGi8gPiUeJytPys6yg1j+SAiIrJzx6uOY1bqLNS01IiOYhHOUz6WKW28PU23Vn/66aexfv36Du8/9NBD2LFjh6VSERGRk9lxbgde3fcq9Ca96CgW4zzlwwE8/PDDWLduXbv35HK5oDRERGTvPjn+CT7I/gAS7OpJKDeM9/mwIblcjoiIiHavoKAgPPHEE5gyZUq7dVtbWxEaGtpWViRJwurVq9GvXz/4+Phg1KhR+Pbbb9vWT09Ph0wmQ0pKCkaPHg1fX1+MGzcOp0+fblsnNzcX9957LwICAqBQKHDbbbfh6NGjthk8ERF1WaupFUv2LcHfs//udMUDYPmwC08++SS2bNmCxsbGtvd27twJnU6H3/72twCAV199FevWrcPatWuRl5eHOXPm4I9//CMyMjLafdaSJUvwzjvv4OjRo/Dw8MAzzzzTbjt9+vRBZmYmjh07hkWLFsHT09M2gyQioi7R6DV4Pvl5bCnaIjqK1fCwiw39+OOP8Pf3b/fewoULsWjRIvj5+WHz5s2YNm0aAODLL7/EpEmToFAooNPpsGbNGqSmpmLs2LEAgH79+mHfvn34xz/+gQkTJrR93vLly9u+XrRoER555BG0tLTA29sbKpUK8+fPx5AhQwAAAwcOtMWwiYioi0q1pYhPiUeptlR0FKti+bChe++9F2vXrm33XnBwMDw9PfH73/8eX3zxBaZNmwadTocffvgBX375JQAgPz8fLS0teOCBB9p9r8FgwC233NLuvZEjR7b9OjIyEgBQWVmJmJgYJCUlYcaMGfj8889x//334/e//z369+9vjaESEVE3Ha04ijnpc1CvrxcdxepYPmzIz88PAwYM6HTZk08+iQkTJqCyshLJycnw9vbGxIkTAQBm86Vb527duhW9e/du931XnrD688MoMpms3fcvW7YMU6dOxdatW7F9+3YsXboUGzZswGOPPWaZARIRUY/8cPYHvH7wdbSaW0VHsQmWDzsxbtw4REdHY+PGjdi+fTt+//vfw8vLCwAwbNgwyOVyqFSqdodYemLQoEEYNGgQ5syZgyeeeALr1q1j+SAiEkSSJPw9++/454l/io5iUywfNqTX61FRUdHuPQ8PD4SGhkImk2Hq1Kn4+OOPcebMGaSlpbWtExAQgHnz5mHOnDkwm8246667oNVqceDAAfj7+2P69OnX3XZzczPmz5+P3/3ud4iLi0NZWRkyMzPbTmglIiLb0pv0WLJvCXae2yk6is2xfNj
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"x = [1, 2, 3, 4, 5]\n",
"y1 = [1, 1, 2, 3, 5]\n",
"y2 = [0, 4, 2, 6, 8]\n",
"y3 = [1, 3, 5, 7, 9]\n",
"\n",
"y = np.vstack([y1, y2, y3])\n",
"\n",
"labels = [\"Fibonacci \", \"Evens\", \"Odds\"]\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.stackplot(x, y1, y2, y3, labels=labels)\n",
"ax.legend(loc='upper left')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.stackplot(x, y)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Streamgraph"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def layers(n, m):\n",
" \"\"\"\n",
" Return *n* random Gaussian mixtures, each of length *m*.\n",
" \"\"\"\n",
" def bump(a):\n",
" x = 1 / (.1 + np.random.random())\n",
" y = 2 * np.random.random() - .5\n",
" z = 10 / (.1 + np.random.random())\n",
" for i in range(m):\n",
" w = (i / m - y) * z\n",
" a[i] += x * np.exp(-w * w)\n",
" a = np.zeros((m, n))\n",
" for i in range(n):\n",
" for j in range(5):\n",
" bump(a[:, i])\n",
" return a\n",
"\n",
"\n",
"d = layers(3, 100)\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.stackplot(range(100), d.T, baseline='wiggle')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"# References\n",
"* [Data Preprocessing for Machine learning in Python, GeeksForGeeks](https://www.geeksforgeeks.org/data-preprocessing-machine-learning-python/)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"## Licence\n",
"The notebook is freely licensed under under the [Creative Commons Attribution Share-Alike license](https://creativecommons.org/licenses/by/2.0/). \n",
"\n",
"© Carlos A. Iglesias, Universidad Politécnica de Madrid."
]
}
],
"metadata": {
"datacleaner": {
"position": {
"top": "50px"
},
"python": {
"varRefreshCmd": "try:\n print(_datacleaner.dataframe_metadata())\nexcept:\n print([])"
},
"window_display": false
},
"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.10.13"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}