{ "cells": [ { "cell_type": "markdown", "source": [ "# Shapelet based time series machine learning\n", "\n", "Shapelets a subsections of times series taken from the train data that are a useful for time series machine learning. They were first proposed ia primitive for machine learning [1][2] and were embedded in a decision tree for classification. The Shapelet Transform Classifier (STC)[3,4] is a pipeline classifier which searches the training data for shapelets, transforms series to vectors of distances to a filtered set of selected shapelets based on information gain, then builds a classifier on the latter.\n", "\n", "Finding shapelets involves selecting and evaluating shapelets. The original shapelet tree and STC performed a full enumeration of all possible shapelets before keeping the best ones. This is computationally inefficient, and modern shapelet based machine learning algorithms randomise the search." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 2, "outputs": [ { "data": { "text/plain": "[('ShapeletTransformClassifier',\n aeon.classification.shapelet_based._stc.ShapeletTransformClassifier)]" }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import warnings\n", "\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score\n", "\n", "from aeon.datasets import load_basic_motions\n", "from aeon.registry import all_estimators\n", "from aeon.transformations.collection.shapelet_based import RandomShapeletTransform\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "all_estimators(\"classifier\", filter_tags={\"algorithm_type\": \"shapelet\"})" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Shapelet Transform for Classification\n", "\n", "The `RandomShapeletTransform` transformer takes a set of labelled training time series in the `fit` function, randomly samples `n_shapelet_samples` shapelets, keeping the best `max_shapelets`. The resulting shapelets are used in the `transform` function to create a new tabular dataset, where each row represents a time series instance, and each column stores the distance from a time series to a shapelet. The resulting tabular data can be used by any scikit learn compatible classifier. In this notebook we will explain these terms and describe how the algorithm works. But first we show it in action. We will use the BasicMotions data as an example. This data set contains time series of motion traces for the activities \"running\", \"walking\", \"standing\" and \"badminton\". The learning problem is to predict the activity given the time series. Each time series has six channels: x, y, z position and x, y, z accelerometer of the wrist. Data was recorded on a smart watch." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [ "X, y = load_basic_motions(split=\"train\")\n", "rst = RandomShapeletTransform(n_shapelet_samples=100, max_shapelets=10, random_state=42)\n", "st = rst.fit_transform(X, y)\n", "print(\" Shape of transformed data = \", st.shape)\n", "print(\" Distance of second series to third shapelet = \", st[1][2])\n", "testX, testy = load_basic_motions(split=\"test\")\n", "tr_test = rst.transform(testX)\n", "rf = RandomForestClassifier(random_state=10)\n", "rf.fit(st, y)\n", "preds = rf.predict(tr_test)\n", "print(\" Shapelets + random forest acc = \", accuracy_score(preds, testy))" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Visualising Shapelets\n", "The first column of the transformed data represents the distance from the first shapelet to each time series. The shapelets are sorted, so the first shapelet is the one we estimate is the best (using the calculation described below). You can recover the shapelets from the transform. Each shapelet is a 7-tuple, storing the following information:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 44, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quality = 0.8112781244589999\n", "Length = 38\n", "position = 8\n", "Channel = 0\n", "Origin Instance Index = 13\n", "Class label = running\n", "Shapelet = [ 0.80928584 1.26598641 1.26598641 0.50311921 0.63023046 0.63023046\n", " 0.11160244 -1.38265413 -2.42561733 -0.63775503 0.51153018 0.51153018\n", " 0.49074957 0.9142872 0.62033438 0.119901 -1.85423662 -2.14976266\n", " -0.0038555 0.91317676 0.10631423 0.28619945 0.21756569 0.40019312\n", " -0.00474682 -1.59844468 -1.59844468 -0.25564779 1.08972374 0.66380345\n", " 0.71833283 0.7425672 0.3354944 0.14130263 -1.59331817 -1.59331817\n", " 0.54917717 0.54917717]\n" ] } ], "source": [ "running_shapelet = rst.shapelets[0]\n", "print(\"Quality = \", running_shapelet[0])\n", "print(\"Length = \", running_shapelet[1])\n", "print(\"position = \", running_shapelet[2])\n", "print(\"Channel = \", running_shapelet[3])\n", "print(\"Origin Instance Index = \", running_shapelet[4])\n", "print(\"Class label = \", running_shapelet[5])\n", "print(\"Shapelet = \", running_shapelet[6])" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "We can directly extract shapelets and inspect them. These are the the two shapelets that are best at discriminating badminton and running against other activities. All shapelets are normalised to provide scale invariance." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 47, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " walking shapelet from channel (0.616271397965, 12, 24, 0, 32, 'badminton', array([-0.64704846, -0.6359159 , -0.6027561 , -0.60881816, -0.58686402,\n", " -0.51156492, -0.44793226, -0.04608355, 0.71941478, 2.12366136,\n", " 2.00632024, -0.76241302]))\n" ] }, { "data": { "text/plain": "" }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "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7P7772927B9//HGDv/nEiROZzWZjR48eFc/bs2cPM5lMrP7bifD6c/jwYfG8t956iwFgqamprLi4WDz/scceYwB8LjtlyhTWvn37BvcnKSmJnT17Vjx/2bJlDAD75ptvxPNmzpzZYDyMMbZ06VIGgP3rX//yOf+aa65hBoOBHTx40Gf8FovF57zt27czAOzVV19tcGwSPFqa0Zn58+dj5cqVWLlyJT788EOMHj0at956q8+n6s8++wwOhwMXX3wxTp8+LX4NHDgQsbGx4ifAhIQEAMC3336LmpoaScaXkJCA3bt348CBAy1e9o477vD5efjw4fjzzz99zvPOYSgsLITT6cTw4cOxdevWBscbOnQoBg4cKP7crl07XHnllVi+fDlcLhcYY/jiiy9w+eWXgzHm87cZN24cnE5no8cFgLNnz+LHH3/Eddddh5KSEvF6Z86cwbhx43DgwAHk5ua2+LcBpPt7f/fddwCABx54wOf8Bx98EADwv//9z+f8jh07Yty4cX4f32q14pZbbglxlMBtt93mM3U+fPhwuFwuHD161OdyWVlZGD58uPhzSkoKunfv3uB/ojGxsbE+s4IWiwWDBw/2ue4PP/yAtm3b4oorrhDPs9lsmDFjhl/3w/t/saamBmfOnEGXLl2QkJDQ6P9NS/d71apVqK6uxt133+1zueZm5RozceJEtG3bVvx58ODBGDJkiPj/UX/slZWVOH36NM477zwAEMfucrmwfPlyTJw4Ee3atRMv37Nnzyb/by666CKf5ZUhQ4YAACZNmoS4uLgG5/vzWE6ePBmJiYniz8L/hD/X/e6772AymXDPPff4nP/ggw+CMdagwnDMmDHo3Lmz+HPfvn0RHx/v120R/1EgojODBw/GmDFjMGbMGNx000343//+h6ysLMyaNUuczj1w4ACcTidat26NlJQUn6/S0lLk5+cDAEaOHIlJkyZh7ty5SE5OxpVXXomFCxc2yC8IxFNPPYWioiJ069YNffr0wcMPP4wdO3Y0uJzNZhPzTwSJiYkNcli+/fZbnHfeebDZbGjVqpW4XOR0Ohscs2vXrg3O69atG8rLy1FQUICCggIUFRVhwYIFDf4uwhuu8Lep7+DBg2CM4Yknnmhw3dmzZzd7XYHUf++jR4/CaDSiS5cuPuenpqYiISGhwRt9x44dAzp+27ZtJUmO9X5TAyC+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9FduGs2IkLDAGENeEZ/q/MdlPXH7yE64f0k2cs5W4Lq3NuDuC7tg1uguiDJRbE2IFtjNJux5apxqtx2I0aNH44033gAAFBYW4vXXX8cll1yCzZs3o3379liyZAleeeUVHDp0CKWlpaitrUV8fLx4/b179+KOO+7wOebQoUOxZs0an/N69erl0/StTZs2PomoJpMJSUlJyM/Pb3a8ffv2FU+npaUBAPLz89GuXbtGL793715kZmYiMzNTPC8rKwsJCQnYu3cvzj33XABAhw4dEBcX53PslsYiBQpESFgoKq9BRQ3f0TPVYUOH5Bh8d+9wzF62G19ty8VLqw7gpz8K8NLkAWiXRC2mCVGbwWAIenlEaTExMejSpYv48zvvvAOHw4G3334bl112GW666SbMnTsX48aNg8PhwCeffIIXXngh4Nsxm32XkQ0GQ6Pnud1uv48jdDdt6TrBjk+K47aEPj6SsCBUyiTHWmGr+7QTbzPjxcn98fL1/RFnjcLWY0W49JWf8eXW4wEnqxFCiMBgMMBoNKKiogLr169H+/bt8fe//x2DBg1C165dcfToUZ/L9+zZE5s2bfI5b+PGjUoOWWSxWOByuXzO69mzJ3JycpCTkyOet2fPHhQVFTW6hKQ0WQORefPm4dxzz0VcXBxat26NiRMnitm9hARCyA9pm2Br8Lsr+7fFd/cOx7kdElFaVYsHPt2Oez7JhrOipsFlCSGkvqqqKpw8eRInT57E3r17cffdd6O0tBSXX345unbtimPHjuGTTz7BoUOH8Morr+Crr77yuf69996Ld999FwsXLsQff/yB2bNnY/fu3arclw4dOuDw4cPIzs7G6dOnUVVVhTFjxqBPnz646aabsHXrVmzevBl//etfMXLkSAwaNEiVcXqTNRBZt24dZs6ciY0bN2LlypWoqanB2LFjUVZWJufNEh0SApH0BHujv89sFY1PbhuKh8Z2g8lowDfb83Dpyz9j059nlBwmISQM/fDDD0hLS0NaWhqGDBmC3377DZ999hlGjRqFK664Avfffz9mzZqF/v37Y/369XjiiSd8rj958mQ88cQTeOSRRzBw4EAcPXoUd955pyr3ZdKkSRg/fjxGjx6NlJQUfPzxxzAYDFi2bBkSExMxYsQIjBkzBp06dcKSJUtUGWN9BqbgHHZBQQFat26NdevWYcSIES1evri4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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "badminton_shapelet = rst.shapelets[4]\n", "print(\" Badminton shapelet from channel 0 (x-dimension)\", badminton_shapelet)\n", "plt.title(\"Best shapelets for running and badminton\")\n", "plt.plot(badminton_shapelet[6], label=\"Badminton\")\n", "plt.plot(running_shapelet[6], label=\"Running\")\n", "plt.legend()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Both shapelets are in the x-axis, so represent side to side motion. Badminton is characterised by sa single large peak in one direction, capturing the drawing of the hand back and quickly hittig the shuttlcock. Running is chaaracterised by a longer repetition of side to side motions, with a sharper peak representing bringing the arm forward accross the body in a running motion." ], "metadata": { "collapsed": false } } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }