diff --git a/examples/classification/classification.ipynb b/examples/classification/classification.ipynb index 99bf4bf2a6..8ec2f4563b 100644 --- a/examples/classification/classification.ipynb +++ b/examples/classification/classification.ipynb @@ -1,678 +1,931 @@ { - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# Time Series Classification\n", - "\n", - "Time Series Classification (TSC) involves training a model from a collection\n", - " of time series (real valued, ordered, data) in order to predict a discrete target\n", - " variable. For example, we might want to build a model that can predict whether a patient\n", - " is sick based on their ECG reading, or a persons type of movement based on the trace\n", - " of the position of their hand. This notebook gives a quick guide to TSC to get you\n", - " started using aeon time series classifiers. If you can use scikit-learn, it should\n", - " be easy, because the basic usage is identical.\n", - "\n", - "\"time" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "## Classification Notebooks\n", - "\n", - "This note book gives an overview of TSC. More specific notebooks on TSC are base on\n", - "the type of representation or transformation they use:\n", - "\n", - "- [Convolution based](convolution_based.ipynb)\n", - "- [Deep learning](deep_learning.ipynb)\n", - "- [Dictionary based](dictionary_based.ipynb)\n", - "- [Distance based](distance_based.ipynb)\n", - "- [Feature based](feature_based.ipynb)\n", - "- [Interval based](interval_based.ipynb)\n", - "- [Shapelet based](shapelet_based.ipynb)\n", - "- [Hybrid](hybrid.ipynb)\n", - "- [Early classification](early_classification.ipynb)\n" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "## Data Storage and Problem Types\n", - "\n", - "Time series can be univariate (each observation is a single value) or multivariate\n", - "(each observation is a vector). For example, an ECG reading from a single\n", - "sensor is a univariate series, but a motion trace of from a smart watch would be\n", - "multivariate, with at least three dimensions (x,y,z co-ordinates). The image above is\n", - " a univariate problem: each series has its own label. The dimension of the time\n", - " series instance is also often called the channel. We recommend storing time series\n", - " in 3D numpy array of shape `(n_cases, n_channels, n_timepoints)` and\n", - " where possible our single problem loaders will return a\n", - " 3D numpy. Unequal length classification problems are stored in a list of 2D numpy\n", - " arrays. More details on data storage can be found in the [data storage](../datasets/datasets.ipynb) notebook." - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 1, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ArrowHead series of type and shape (36, 1, 251)\n", - "Motions type of shape (40,)\n" - ] - } - ], - "source": [ - "# Plotting and data loading imports used in this notebook\n", - "import matplotlib.pyplot as plt\n", - "\n", - "from aeon.datasets import load_arrow_head, load_basic_motions\n", - "\n", - "arrow, arrow_labels = load_arrow_head(split=\"train\")\n", - "motions, motions_labels = load_basic_motions(split=\"train\")\n", - "print(f\"ArrowHead series of type {type(arrow)} and shape {arrow.shape}\")\n", - "print(f\"Motions type {type(motions)} of shape {motions_labels.shape}\")" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "We use 3D numpy even if the data is univariate: even though classifiers\n", - "can work using a 2D array of shape `(n_cases, n_timepoints)`, this 2D shape can get\n", - "confused with single multivariate time series, which are of shape `(n_channels, n_timepoints)`.\n", - "Hence, to differentiate both cases, we enforce the 3D format `(n_cases, n_channels,\n", - "n_timepoints)` to avoid any confusion.\n", - "\n", - "If your series are unequal length, have missing values or are\n", - " sampled at irregular time intervals, you should read the note book\n", - " on [data preprocessing](../transformations/preprocessing.ipynb).\n", - "\n", - "The [TSC dataset archive](https://timeseriesclassification.com/) contains a\n", - "large number of example TSC problems that have been used thousands of times in the\n", - "literature to assess TSC algorithms. These datasets have certain characteristics that\n", - "influence what data structure we use to store them in memory.\n", - "\n", - "Most datasets in the archive contain time series all the same length. For example,\n", - "the [ArrowHead dataset](https://timeseriesclassification.com/description.php?Dataset=ArrowHead) we have just loaded consists of outlines of the images of\n", - "arrow heads. The classification of projectile points is an important topic in anthropology.\n", - "\n", - "\"arrow\n", - "\n", - "The shapes of the projectile points are converted into a sequence using the\n", - "angle-based method as described in this [blog post](https://izbicki.me/blog/converting-images-into-time-series-for-data-mining.html) about converting images into time series for data mining.\n", - "\n", - "\"from\n", - "\n", - "Each instance consists of a single time series (i.e. the problem is univariate) of\n", - "equal length and a class label based on shape distinctions such as the presence and\n", - "location of a notch in the arrow. The data set consists of 210 instances, by default split into 36 train and 175 test instances.\n", - "\n", - "The [BasicMotions dataset](https://timeseriesclassification.com/description.php?Dataset=BasicMotions) is an example of a multivariate TSC problem. It was generated\n", - " as part of a project where four students performed four activities whilst wearing a\n", - " smartwatch. The watch collects 3D accelerometer and 3D gyroscope data. Each instance\n", - " involved a subject performing one of four tasks (walking, resting, running and\n", - " badminton) for ten seconds. Time series in this data set have six dimensions or\n", - " channels." - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": "[]" - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": "
", - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\n", - " f\"First and second dimensions of the first instance in BasicMotions data, \"\n", - " f\"(student {motions_labels[0]})\"\n", - ")\n", - "plt.plot(motions[0][0])\n", - "plt.plot(motions[0][1])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": "[]" - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": "
", - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(f\"First instance in ArrowHead data (class {arrow_labels[0]})\")\n", - "plt.plot(arrow[0, 0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It is possible to use a standard `sklearn` classifier for univariate, equal length\n", - "classification problems, but it is unlikely to perform as well as bespoke time series\n", - " classifiers, since `sklearn` classifiers ignore the sequence information in the variables.\n", - "\n", - "To apply `sklearn` classifiers directly, the data needs to be reshaped into a 2D\n", - "numpy array. We also offer the ability to load univariate TSC problems directly in 2D\n", - " arrays although we recommend using 3D numpy of shape `(n_channels, 1, n_timepoints)\n", - " ` for univariate collections." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "outputs": [ - { - "data": { - "text/plain": "0.7028571428571428" - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.ensemble import RandomForestClassifier\n", - "from sklearn.metrics import accuracy_score\n", - "\n", - "rand_forest = RandomForestClassifier(n_estimators=100)\n", - "arrow2d = arrow.squeeze()\n", - "arrow_test, arrow_test_labels = load_arrow_head(split=\"test\", return_type=\"numpy2d\")\n", - "rand_forest.fit(arrow2d, arrow_labels)\n", - "y_pred = rand_forest.predict(arrow_test)\n", - "accuracy_score(arrow_test_labels, y_pred)" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "## Time Series Classifiers in aeon\n", - "\n", - "`aeon` contains the state of the art in time series classifiers in the package\n", - "`classification`. These are grouped based on the data representation used to find\n", - "discriminatory features. We provide a separate notebook for each of type:\n", - "[convolution based](convolution_based.ipynb), [deep learning](deep_learning.ipynb), [distance based](distance_based.ipynb), [dictionary based](dictionary_based.ipynb),\n", - "[feature_based](feature_based.ipynb), [hybrid](hybrid.ipynb), [interval based](interval_based.ipynb), and [shapelet based](shapelet_based.ipynb). We also\n", - "provide some\n", - "standard classifiers not available in scikit learn in the sklearn package.\n", - "We show the simplest use cases for classifiers and demonstrate how to build bespoke\n", - "pipelines for time series classification. An accurate and relatively\n", - "fast classifier is the [ROCKET](https://link.springer.com/article/10.1007/s10618-020-00701-z) classifier. ROCKET is a convolution based algorithm\n", - "described in detail in the [convolution based](convolution_based.ipynb) note book." - ] - }, - { - "cell_type": "code", - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-16T19:16:46.486243Z", - "start_time": "2024-11-16T19:15:42.973051Z" - } - }, - "source": [ - "from aeon.classification.convolution_based import RocketClassifier\n", - "\n", - "rocket = RocketClassifier(n_kernels=2000)\n", - "rocket.fit(arrow, arrow_labels)\n", - "y_pred = rocket.predict(arrow_test)\n", - "\n", - "accuracy_score(arrow_test_labels, y_pred)" - ], - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'arrow' is not defined", - "output_type": "error", - "traceback": [ - "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m", - "\u001B[1;31mNameError\u001B[0m Traceback (most recent call last)", - "Cell \u001B[1;32mIn[1], line 4\u001B[0m\n\u001B[0;32m 1\u001B[0m \u001B[38;5;28;01mfrom\u001B[39;00m \u001B[38;5;21;01maeon\u001B[39;00m\u001B[38;5;21;01m.\u001B[39;00m\u001B[38;5;21;01mclassification\u001B[39;00m\u001B[38;5;21;01m.\u001B[39;00m\u001B[38;5;21;01mconvolution_based\u001B[39;00m \u001B[38;5;28;01mimport\u001B[39;00m RocketClassifier\n\u001B[0;32m 3\u001B[0m rocket \u001B[38;5;241m=\u001B[39m RocketClassifier(n_kernels\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m2000\u001B[39m)\n\u001B[1;32m----> 4\u001B[0m rocket\u001B[38;5;241m.\u001B[39mfit(\u001B[43marrow\u001B[49m, arrow_labels)\n\u001B[0;32m 5\u001B[0m y_pred \u001B[38;5;241m=\u001B[39m rocket\u001B[38;5;241m.\u001B[39mpredict(arrow_test)\n\u001B[0;32m 7\u001B[0m accuracy_score(arrow_test_labels, y_pred)\n", - "\u001B[1;31mNameError\u001B[0m: name 'arrow' is not defined" - ] - } - ], - "execution_count": 1 - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "A slower but generally more accurate classifier for time series classification is\n", - "version 2 of the [HIVE-COTE](https://link.springer.com/article/10.1007/s10994-021-06057-9) algorithm.\n", - "(HC2) is described in the [hybrid notebook](hybrid.ipynb) notebook. HC2 is particularly\n", - "slow\n", - "on small problems like these examples. However, it can be\n", - "configured with an approximate maximum run time as follows (it may take a bit longer\n", - "than 12 seconds to run this cell, very short times are approximate since there is a\n", - "minimum amount of work the classifier needs to do):" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": "0.8685714285714285" - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aeon.classification.hybrid import HIVECOTEV2\n", - "\n", - "hc2 = HIVECOTEV2(time_limit_in_minutes=0.2)\n", - "hc2.fit(arrow, arrow_labels)\n", - "y_pred = hc2.predict(arrow_test)\n", - "\n", - "accuracy_score(arrow_test_labels, y_pred)" - ] - }, - { - "cell_type": "markdown", - "source": [], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "## Multivariate Classification\n", - "To use ``sklearn`` classifiers directly on multivariate data, one option is to flatten\n", - "the data so that the 3D array `(n_cases, n_channels, n_timepoints)` becomes a 2D array\n", - "of shape `(n_cases, n_channels*n_timepoints)`." - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 7, - "outputs": [ - { - "data": { - "text/plain": "0.925" - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "motions_test, motions_test_labels = load_basic_motions(split=\"test\")\n", - "motions2d = motions.reshape(motions.shape[0], motions.shape[1] * motions.shape[2])\n", - "motions2d_test = motions_test.reshape(\n", - " motions_test.shape[0], motions_test.shape[1] * motions_test.shape[2]\n", - ")\n", - "rand_forest.fit(motions2d, motions_labels)\n", - "y_pred = rand_forest.predict(motions2d_test)\n", - "accuracy_score(motions_test_labels, y_pred)" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "However, many ``aeon`` classifiers, including ROCKET and HC2, are configured to\n", - "work with multivariate input. This works exactly like univariate classification. For example:" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 8, - "outputs": [ - { - "data": { - "text/plain": "1.0" - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rocket.fit(motions, motions_labels)\n", - "y_pred = rocket.predict(motions_test)\n", - "accuracy_score(motions_test_labels, y_pred)" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [ - "A list of classifiers capable of handling multivariate classification can be obtained\n", - " with this code" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 9, - "outputs": [ - { - "data": { - "text/plain": "[('Arsenal', aeon.classification.convolution_based._arsenal.Arsenal),\n ('CNNClassifier', aeon.classification.deep_learning.cnn.CNNClassifier),\n ('CanonicalIntervalForestClassifier',\n aeon.classification.interval_based._cif.CanonicalIntervalForestClassifier),\n ('Catch22Classifier',\n aeon.classification.feature_based._catch22.Catch22Classifier),\n ('ChannelEnsembleClassifier',\n aeon.classification.compose._channel_ensemble.ChannelEnsembleClassifier),\n ('DrCIFClassifier',\n aeon.classification.interval_based._drcif.DrCIFClassifier),\n ('DummyClassifier', aeon.classification._dummy.DummyClassifier),\n ('ElasticEnsemble',\n aeon.classification.distance_based._elastic_ensemble.ElasticEnsemble),\n ('EncoderClassifier',\n aeon.classification.deep_learning.encoder.EncoderClassifier),\n ('FCNClassifier', aeon.classification.deep_learning.fcn.FCNClassifier),\n ('FreshPRINCEClassifier',\n aeon.classification.feature_based._fresh_prince.FreshPRINCEClassifier),\n ('HIVECOTEV2', aeon.classification.hybrid._hivecote_v2.HIVECOTEV2),\n ('InceptionTimeClassifier',\n aeon.classification.deep_learning.inception_time.InceptionTimeClassifier),\n ('IndividualInceptionClassifier',\n aeon.classification.deep_learning.inception_time.IndividualInceptionClassifier),\n ('IndividualOrdinalTDE',\n aeon.classification.ordinal_classification._ordinal_tde.IndividualOrdinalTDE),\n ('IndividualTDE', aeon.classification.dictionary_based._tde.IndividualTDE),\n ('IntervalForestClassifier',\n aeon.classification.interval_based._interval_forest.IntervalForestClassifier),\n ('KNeighborsTimeSeriesClassifier',\n aeon.classification.distance_based._time_series_neighbors.KNeighborsTimeSeriesClassifier),\n ('MLPClassifier', aeon.classification.deep_learning.mlp.MLPClassifier),\n ('MUSE', aeon.classification.dictionary_based._muse.MUSE),\n ('OrdinalTDE',\n aeon.classification.ordinal_classification._ordinal_tde.OrdinalTDE),\n ('RDSTClassifier', aeon.classification.shapelet_based._rdst.RDSTClassifier),\n ('RSTSF', aeon.classification.interval_based._rstsf.RSTSF),\n ('RandomIntervalClassifier',\n aeon.classification.interval_based._interval_pipelines.RandomIntervalClassifier),\n ('RandomIntervalSpectralEnsembleClassifier',\n aeon.classification.interval_based._rise.RandomIntervalSpectralEnsembleClassifier),\n ('ResNetClassifier',\n aeon.classification.deep_learning.resnet.ResNetClassifier),\n ('RocketClassifier',\n aeon.classification.convolution_based._rocket_classifier.RocketClassifier),\n ('ShapeletTransformClassifier',\n aeon.classification.shapelet_based._stc.ShapeletTransformClassifier),\n ('SignatureClassifier',\n aeon.classification.feature_based._signature_classifier.SignatureClassifier),\n ('SummaryClassifier',\n aeon.classification.feature_based._summary_classifier.SummaryClassifier),\n ('SupervisedIntervalClassifier',\n aeon.classification.interval_based._interval_pipelines.SupervisedIntervalClassifier),\n ('SupervisedTimeSeriesForest',\n aeon.classification.interval_based._stsf.SupervisedTimeSeriesForest),\n ('TSFreshClassifier',\n aeon.classification.feature_based._tsfresh_classifier.TSFreshClassifier),\n ('TapNetClassifier',\n aeon.classification.deep_learning.tapnet.TapNetClassifier),\n ('TemporalDictionaryEnsemble',\n aeon.classification.dictionary_based._tde.TemporalDictionaryEnsemble),\n ('TimeSeriesForestClassifier',\n aeon.classification.interval_based._tsf.TimeSeriesForestClassifier)]" - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aeon.utils.discovery import all_estimators\n", - "\n", - "all_estimators(\n", - " tag_filter={\"capability:multivariate\": True},\n", - " type_filter=\"classifier\",\n", - ")" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "An alternative for MTSC is to build a univariate classifier on each channel, then\n", - "ensemble. Channel ensembling can be easily done via ``ClassifierChannelEnsemble``\n", - "which fits classifiers independently to specified channels, then\n", - "combines predictions through a voting scheme. The example below builds a DrCIF\n", - "classifier on the first channel and a RocketClassifier on the fourth and fifth\n", - "dimensions, ignoring the second, third and sixth." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": "0.925" - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aeon.classification.compose import ClassifierChannelEnsemble\n", - "from aeon.classification.interval_based import DrCIFClassifier\n", - "\n", - "cls = ClassifierChannelEnsemble(\n", - " classifiers=[\n", - " (\"DrCIF0\", DrCIFClassifier(n_estimators=5, n_intervals=2)),\n", - " (\"ROCKET3\", RocketClassifier(n_kernels=1000)),\n", - " ],\n", - " channels=[[0], [3, 4]],\n", - ")\n", - "\n", - "cls.fit(motions, motions_labels)\n", - "y_pred = cls.predict(motions_test)\n", - "\n", - "accuracy_score(motions_test_labels, y_pred)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## sklearn Compatibility\n", - "\n", - "`aeon` classifiers are compatible with `sklearn` model selection and\n", - "composition tools using `aeon` data formats. For example, cross-validation can\n", - "be performed using the `sklearn` `cross_val_score` and `KFold` functionality:" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([0.88888889, 0.66666667, 0.88888889, 0.77777778])" - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.model_selection import KFold, cross_val_score\n", - "\n", - "cross_val_score(rocket, arrow, y=arrow_labels, cv=KFold(n_splits=4))" - ] - }, - { - "cell_type": "markdown", - "source": [ - "Parameter tuning can be done using `sklearn` `GridSearchCV`. For example, we can tune\n", - " the _k_ and distance measure for a K-NN classifier:" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "0.8" - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.model_selection import GridSearchCV\n", - "\n", - "from aeon.classification.distance_based import KNeighborsTimeSeriesClassifier\n", - "\n", - "knn = KNeighborsTimeSeriesClassifier()\n", - "param_grid = {\"n_neighbors\": [1, 5], \"distance\": [\"euclidean\", \"dtw\"]}\n", - "parameter_tuning_method = GridSearchCV(knn, param_grid, cv=KFold(n_splits=4))\n", - "\n", - "parameter_tuning_method.fit(arrow, arrow_labels)\n", - "y_pred = parameter_tuning_method.predict(arrow_test)\n", - "\n", - "accuracy_score(arrow_test_labels, y_pred)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "Probability calibration is possible with the `sklearn` `CalibratedClassifierCV`:" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": "0.7714285714285715" - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Time Series Classification\n", + "\n", + "Time Series Classification (TSC) involves training a model from a collection\n", + " of time series (real valued, ordered, data) in order to predict a discrete target\n", + " variable. For example, we might want to build a model that can predict whether a patient\n", + " is sick based on their ECG reading, or a persons type of movement based on the trace\n", + " of the position of their hand. This notebook gives a quick guide to TSC to get you\n", + " started using aeon time series classifiers. If you can use scikit-learn, it should\n", + " be easy, because the basic usage is identical.\n", + "\n", + "\"time" + ], + "metadata": { + "collapsed": false, + "id": "_pBlXBeTh5IG" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Classification Notebooks\n", + "\n", + "This note book gives an overview of TSC. More specific notebooks on TSC are base on\n", + "the type of representation or transformation they use:\n", + "\n", + "- [Convolution based](convolution_based.ipynb)\n", + "- [Deep learning](deep_learning.ipynb)\n", + "- [Dictionary based](dictionary_based.ipynb)\n", + "- [Distance based](distance_based.ipynb)\n", + "- [Feature based](feature_based.ipynb)\n", + "- [Interval based](interval_based.ipynb)\n", + "- [Shapelet based](shapelet_based.ipynb)\n", + "- [Hybrid](hybrid.ipynb)\n", + "- [Early classification](early_classification.ipynb)\n" + ], + "metadata": { + "collapsed": false, + "id": "weha73tPh5IH" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Data Storage and Problem Types\n", + "\n", + "Time series can be univariate (each observation is a single value) or multivariate\n", + "(each observation is a vector). For example, an ECG reading from a single\n", + "sensor is a univariate series, but a motion trace of from a smart watch would be\n", + "multivariate, with at least three dimensions (x,y,z co-ordinates). The image above is\n", + " a univariate problem: each series has its own label. The dimension of the time\n", + " series instance is also often called the channel. We recommend storing time series\n", + " in 3D numpy array of shape `(n_cases, n_channels, n_timepoints)` and\n", + " where possible our single problem loaders will return a\n", + " 3D numpy. Unequal length classification problems are stored in a list of 2D numpy\n", + " arrays. More details on data storage can be found in the [data storage](../datasets/datasets.ipynb) notebook." + ], + "metadata": { + "collapsed": false, + "id": "EyjESzTQh5II" + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "ArrowHead series of type and shape (36, 1, 251)\n", + "Motions type of shape (40,)\n" + ] + } + ], + "source": [ + "# Plotting and data loading imports used in this notebook\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from aeon.datasets import load_arrow_head, load_basic_motions\n", + "\n", + "arrow, arrow_labels = load_arrow_head(split=\"train\")\n", + "motions, motions_labels = load_basic_motions(split=\"train\")\n", + "print(f\"ArrowHead series of type {type(arrow)} and shape {arrow.shape}\")\n", + "print(f\"Motions type {type(motions)} of shape {motions_labels.shape}\")" + ], + "metadata": { + "id": "bjW-qRxOh5II", + "outputId": "a17f6f06-04b2-4fed-877e-92ef9680cdef", + "colab": { + "base_uri": "https://localhost:8080/" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "We use 3D numpy even if the data is univariate: even though classifiers\n", + "can work using a 2D array of shape `(n_cases, n_timepoints)`, this 2D shape can get\n", + "confused with single multivariate time series, which are of shape `(n_channels, n_timepoints)`.\n", + "Hence, to differentiate both cases, we enforce the 3D format `(n_cases, n_channels,\n", + "n_timepoints)` to avoid any confusion.\n", + "\n", + "If your series are unequal length, have missing values or are\n", + " sampled at irregular time intervals, you should read the note book\n", + " on [data preprocessing](../transformations/preprocessing.ipynb).\n", + "\n", + "The [TSC dataset archive](https://timeseriesclassification.com/) contains a\n", + "large number of example TSC problems that have been used thousands of times in the\n", + "literature to assess TSC algorithms. These datasets have certain characteristics that\n", + "influence what data structure we use to store them in memory.\n", + "\n", + "Most datasets in the archive contain time series all the same length. For example,\n", + "the [ArrowHead dataset](https://timeseriesclassification.com/description.php?Dataset=ArrowHead) we have just loaded consists of outlines of the images of\n", + "arrow heads. The classification of projectile points is an important topic in anthropology.\n", + "\n", + "\"arrow\n", + "\n", + "The shapes of the projectile points are converted into a sequence using the\n", + "angle-based method as described in this [blog post](https://izbicki.me/blog/converting-images-into-time-series-for-data-mining.html) about converting images into time series for data mining.\n", + "\n", + "\"from\n", + "\n", + "Each instance consists of a single time series (i.e. the problem is univariate) of\n", + "equal length and a class label based on shape distinctions such as the presence and\n", + "location of a notch in the arrow. The data set consists of 210 instances, by default split into 36 train and 175 test instances.\n", + "\n", + "The [BasicMotions dataset](https://timeseriesclassification.com/description.php?Dataset=BasicMotions) is an example of a multivariate TSC problem. It was generated\n", + " as part of a project where four students performed four activities whilst wearing a\n", + " smartwatch. The watch collects 3D accelerometer and 3D gyroscope data. Each instance\n", + " involved a subject performing one of four tasks (walking, resting, running and\n", + " badminton) for ten seconds. Time series in this data set have six dimensions or\n", + " channels." + ], + "metadata": { + "collapsed": false, + "id": "pPrsdjsOh5IJ" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "9T5zoVT9h5IJ", + "outputId": "2aa3e84a-9fdd-4cd7-fcff-4f6f8172c5ce", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 469 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 7 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.title(\n", + " f\"First and second dimensions of the first instance in BasicMotions data, \"\n", + " f\"(student {motions_labels[0]})\"\n", + ")\n", + "plt.plot(motions[0][0])\n", + "plt.plot(motions[0][1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "TtIuima2h5IK", + "outputId": "17310dc6-8ba5-45bb-8e2b-a07f80402bef", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 469 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": {}, + "execution_count": 8 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.title(f\"First instance in ArrowHead data (class {arrow_labels[0]})\")\n", + "plt.plot(arrow[0, 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dEZoDQSTh5IK" + }, + "source": [ + "It is possible to use a standard `sklearn` classifier for univariate, equal length\n", + "classification problems, but it is unlikely to perform as well as bespoke time series\n", + " classifiers, since `sklearn` classifiers ignore the sequence information in the variables.\n", + "\n", + "To apply `sklearn` classifiers directly, the data needs to be reshaped into a 2D\n", + "numpy array. We also offer the ability to load univariate TSC problems directly in 2D\n", + " arrays although we recommend using 3D numpy of shape `(n_channels, 1, n_timepoints)\n", + " ` for univariate collections." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.72" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.metrics import accuracy_score\n", + "\n", + "rand_forest = RandomForestClassifier(n_estimators=100)\n", + "arrow2d = arrow.squeeze()\n", + "arrow_test, arrow_test_labels = load_arrow_head(split=\"test\", return_type=\"numpy2d\")\n", + "rand_forest.fit(arrow2d, arrow_labels)\n", + "y_pred = rand_forest.predict(arrow_test)\n", + "accuracy_score(arrow_test_labels, y_pred)" + ], + "metadata": { + "id": "qG96PKaCh5IK", + "outputId": "07ae1abe-a9d2-4e19-f515-9ca20e017177", + "colab": { + "base_uri": "https://localhost:8080/" + } + } + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "id": "r2T8AclIh5IK" + }, + "source": [ + "## Time Series Classifiers in aeon\n", + "\n", + "`aeon` contains the state of the art in time series classifiers in the package\n", + "`classification`. These are grouped based on the data representation used to find\n", + "discriminatory features. We provide a separate notebook for each of type:\n", + "[convolution based](convolution_based.ipynb), [deep learning](deep_learning.ipynb), [distance based](distance_based.ipynb), [dictionary based](dictionary_based.ipynb),\n", + "[feature_based](feature_based.ipynb), [hybrid](hybrid.ipynb), [interval based](interval_based.ipynb), and [shapelet based](shapelet_based.ipynb). We also\n", + "provide some\n", + "standard classifiers not available in scikit learn in the sklearn package.\n", + "We show the simplest use cases for classifiers and demonstrate how to build bespoke\n", + "pipelines for time series classification. An accurate and relatively\n", + "fast classifier is the [ROCKET](https://link.springer.com/article/10.1007/s10618-020-00701-z) classifier. ROCKET is a convolution based algorithm\n", + "described in detail in the [convolution based](convolution_based.ipynb) note book." + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-16T19:16:46.486243Z", + "start_time": "2024-11-16T19:15:42.973051Z" + }, + "id": "2xIrRErYh5IL", + "outputId": "372654b5-3fae-42e8-a315-da9e33ad8e38", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "from aeon.classification.convolution_based import RocketClassifier\n", + "\n", + "rocket = RocketClassifier(n_kernels=2000)\n", + "rocket.fit(arrow, arrow_labels)\n", + "y_pred = rocket.predict(arrow_test)\n", + "\n", + "accuracy_score(arrow_test_labels, y_pred)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.76" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "id": "t9Ngfjfzh5IL" + }, + "source": [ + "A slower but generally more accurate classifier for time series classification is\n", + "version 2 of the [HIVE-COTE](https://link.springer.com/article/10.1007/s10994-021-06057-9) algorithm.\n", + "(HC2) is described in the [hybrid notebook](hybrid.ipynb) notebook. HC2 is particularly\n", + "slow\n", + "on small problems like these examples. However, it can be\n", + "configured with an approximate maximum run time as follows (it may take a bit longer\n", + "than 12 seconds to run this cell, very short times are approximate since there is a\n", + "minimum amount of work the classifier needs to do):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "u0rqqET8h5IL", + "outputId": "b1347f40-c82b-4ecf-ec72-500b1f7f8a12", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.8685714285714285" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ], + "source": [ + "from aeon.classification.hybrid import HIVECOTEV2\n", + "\n", + "hc2 = HIVECOTEV2(time_limit_in_minutes=0.2)\n", + "hc2.fit(arrow, arrow_labels)\n", + "y_pred = hc2.predict(arrow_test)\n", + "\n", + "accuracy_score(arrow_test_labels, y_pred)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "The LITETime Classifier is an efficient deep learning-based model for time series classification. It is designed to handle both univariate and multivariate time series data effectively, offering lightweight architecture and competitive performance. For simplicity, this notebook uses 10 epochs to demonstrate the classifier's functionality. To observe the full performance of deep learning models in aeon, it’s recommended to use the library's default epochs. The reduced epochs here simplify the demonstration and reduce runtime. Deep learning approaches for time series classification, are further described in the [deep learning notebook](./deep_learning.ipynb).\n" + ], + "metadata": { + "id": "gTQRU2rkuPvw" + } + }, + { + "cell_type": "code", + "source": [ + "from aeon.classification.deep_learning import LITETimeClassifier\n", + "\n", + "lite_time = LITETimeClassifier(n_epochs=10, batch_size=32, random_state=42)\n", + "lite_time.fit(arrow, arrow_labels)\n", + "y_pred = lite_time.predict(arrow_test)\n", + "\n", + "accuracy_score(arrow_test_labels, y_pred)" + ], + "metadata": { + "id": "-nnwMXqtSzzc", + "outputId": "5ca88c72-3d6d-4d0b-90e7-b76da94aa62f", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m6/6\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 122ms/step\n", + "\u001b[1m6/6\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 126ms/step\n", + "\u001b[1m6/6\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 132ms/step\n", + "\u001b[1m6/6\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 122ms/step\n", + "\u001b[1m6/6\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 119ms/step\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.3942857142857143" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "markdown", + "source": [], + "metadata": { + "collapsed": false, + "id": "3y4vwmA1h5IL" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Multivariate Classification\n", + "To use ``sklearn`` classifiers directly on multivariate data, one option is to flatten\n", + "the data so that the 3D array `(n_cases, n_channels, n_timepoints)` becomes a 2D array\n", + "of shape `(n_cases, n_channels*n_timepoints)`." + ], + "metadata": { + "collapsed": false, + "id": "OaBVEJmnh5IM" + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.925" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ], + "source": [ + "motions_test, motions_test_labels = load_basic_motions(split=\"test\")\n", + "motions2d = motions.reshape(motions.shape[0], motions.shape[1] * motions.shape[2])\n", + "motions2d_test = motions_test.reshape(\n", + " motions_test.shape[0], motions_test.shape[1] * motions_test.shape[2]\n", + ")\n", + "rand_forest.fit(motions2d, motions_labels)\n", + "y_pred = rand_forest.predict(motions2d_test)\n", + "accuracy_score(motions_test_labels, y_pred)" + ], + "metadata": { + "id": "1mfxhLaZh5IM", + "outputId": "c0a7278f-7feb-45dc-a337-e0da2bcbbf60", + "colab": { + "base_uri": "https://localhost:8080/" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "However, many ``aeon`` classifiers, including ROCKET and HC2, are configured to\n", + "work with multivariate input. This works exactly like univariate classification. For example:" + ], + "metadata": { + "collapsed": false, + "id": "Hc2DrT2Fh5IM" + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ], + "source": [ + "rocket.fit(motions, motions_labels)\n", + "y_pred = rocket.predict(motions_test)\n", + "accuracy_score(motions_test_labels, y_pred)" + ], + "metadata": { + "id": "yXZW8cAch5IM", + "outputId": "f3b7b3b7-8204-4e30-cca8-1f07b4d53d90", + "colab": { + "base_uri": "https://localhost:8080/" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "A list of classifiers capable of handling multivariate classification can be obtained\n", + " with this code" + ], + "metadata": { + "collapsed": false, + "id": "vW1usODIh5IM" + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[('Arsenal', aeon.classification.convolution_based._arsenal.Arsenal),\n", + " ('CanonicalIntervalForestClassifier',\n", + " aeon.classification.interval_based._cif.CanonicalIntervalForestClassifier),\n", + " ('Catch22Classifier',\n", + " aeon.classification.feature_based._catch22.Catch22Classifier),\n", + " ('ClassifierChannelEnsemble',\n", + " aeon.classification.compose._channel_ensemble.ClassifierChannelEnsemble),\n", + " ('DisjointCNNClassifier',\n", + " aeon.classification.deep_learning._disjoint_cnn.DisjointCNNClassifier),\n", + " ('DrCIFClassifier',\n", + " aeon.classification.interval_based._drcif.DrCIFClassifier),\n", + " ('DummyClassifier', aeon.classification.dummy.DummyClassifier),\n", + " ('ElasticEnsemble',\n", + " aeon.classification.distance_based._elastic_ensemble.ElasticEnsemble),\n", + " ('EncoderClassifier',\n", + " aeon.classification.deep_learning._encoder.EncoderClassifier),\n", + " ('FCNClassifier', aeon.classification.deep_learning._fcn.FCNClassifier),\n", + " ('FreshPRINCEClassifier',\n", + " aeon.classification.feature_based._fresh_prince.FreshPRINCEClassifier),\n", + " ('HIVECOTEV2', aeon.classification.hybrid._hivecote_v2.HIVECOTEV2),\n", + " ('HydraClassifier',\n", + " aeon.classification.convolution_based._hydra.HydraClassifier),\n", + " ('InceptionTimeClassifier',\n", + " aeon.classification.deep_learning._inception_time.InceptionTimeClassifier),\n", + " ('IndividualInceptionClassifier',\n", + " aeon.classification.deep_learning._inception_time.IndividualInceptionClassifier),\n", + " ('IndividualLITEClassifier',\n", + " aeon.classification.deep_learning._lite_time.IndividualLITEClassifier),\n", + " ('IndividualOrdinalTDE',\n", + " aeon.classification.ordinal_classification._ordinal_tde.IndividualOrdinalTDE),\n", + " ('IndividualTDE', aeon.classification.dictionary_based._tde.IndividualTDE),\n", + " ('IntervalForestClassifier',\n", + " aeon.classification.interval_based._interval_forest.IntervalForestClassifier),\n", + " ('KNeighborsTimeSeriesClassifier',\n", + " aeon.classification.distance_based._time_series_neighbors.KNeighborsTimeSeriesClassifier),\n", + " ('LITETimeClassifier',\n", + " aeon.classification.deep_learning._lite_time.LITETimeClassifier),\n", + " ('LearningShapeletClassifier',\n", + " aeon.classification.shapelet_based._ls.LearningShapeletClassifier),\n", + " ('MLPClassifier', aeon.classification.deep_learning._mlp.MLPClassifier),\n", + " ('MUSE', aeon.classification.dictionary_based._muse.MUSE),\n", + " ('MiniRocketClassifier',\n", + " aeon.classification.convolution_based._minirocket.MiniRocketClassifier),\n", + " ('MultiRocketClassifier',\n", + " aeon.classification.convolution_based._multirocket.MultiRocketClassifier),\n", + " ('MultiRocketHydraClassifier',\n", + " aeon.classification.convolution_based._mr_hydra.MultiRocketHydraClassifier),\n", + " ('OrdinalTDE',\n", + " aeon.classification.ordinal_classification._ordinal_tde.OrdinalTDE),\n", + " ('QUANTClassifier',\n", + " aeon.classification.interval_based._quant.QUANTClassifier),\n", + " ('RDSTClassifier', aeon.classification.shapelet_based._rdst.RDSTClassifier),\n", + " ('REDCOMETS', aeon.classification.dictionary_based._redcomets.REDCOMETS),\n", + " ('RISTClassifier', aeon.classification.hybrid._rist.RISTClassifier),\n", + " ('RSTSF', aeon.classification.interval_based._rstsf.RSTSF),\n", + " ('RandomIntervalClassifier',\n", + " aeon.classification.interval_based._interval_pipelines.RandomIntervalClassifier),\n", + " ('RandomIntervalSpectralEnsembleClassifier',\n", + " aeon.classification.interval_based._rise.RandomIntervalSpectralEnsembleClassifier),\n", + " ('ResNetClassifier',\n", + " aeon.classification.deep_learning._resnet.ResNetClassifier),\n", + " ('RocketClassifier',\n", + " aeon.classification.convolution_based._rocket.RocketClassifier),\n", + " ('ShapeletTransformClassifier',\n", + " aeon.classification.shapelet_based._stc.ShapeletTransformClassifier),\n", + " ('SignatureClassifier',\n", + " aeon.classification.feature_based._signature_classifier.SignatureClassifier),\n", + " ('SummaryClassifier',\n", + " aeon.classification.feature_based._summary.SummaryClassifier),\n", + " ('SupervisedIntervalClassifier',\n", + " aeon.classification.interval_based._interval_pipelines.SupervisedIntervalClassifier),\n", + " ('SupervisedTimeSeriesForest',\n", + " aeon.classification.interval_based._stsf.SupervisedTimeSeriesForest),\n", + " ('TSFreshClassifier',\n", + " aeon.classification.feature_based._tsfresh.TSFreshClassifier),\n", + " ('TemporalDictionaryEnsemble',\n", + " aeon.classification.dictionary_based._tde.TemporalDictionaryEnsemble),\n", + " ('TimeCNNClassifier',\n", + " aeon.classification.deep_learning._cnn.TimeCNNClassifier),\n", + " ('TimeSeriesForestClassifier',\n", + " aeon.classification.interval_based._tsf.TimeSeriesForestClassifier)]" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ], + "source": [ + "from aeon.utils.discovery import all_estimators\n", + "\n", + "all_estimators(\n", + " tag_filter={\"capability:multivariate\": True},\n", + " type_filter=\"classifier\",\n", + ")" + ], + "metadata": { + "id": "-efZQXWCh5IN", + "outputId": "778d4b99-7f28-4722-bbc1-c0937d8bdfb9", + "colab": { + "base_uri": "https://localhost:8080/" + } + } + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "id": "UBibXSh1h5IN" + }, + "source": [ + "An alternative for MTSC is to build a univariate classifier on each channel, then\n", + "ensemble. Channel ensembling can be easily done via ``ClassifierChannelEnsemble``\n", + "which fits classifiers independently to specified channels, then\n", + "combines predictions through a voting scheme. The example below builds a DrCIF\n", + "classifier on the first channel and a RocketClassifier on the fourth and fifth\n", + "dimensions, ignoring the second, third and sixth." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "xtlozU2Hh5IN", + "outputId": "9c5478f1-0184-4afa-87e3-1526988796fe", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "from aeon.classification.compose import ClassifierChannelEnsemble\n", + "from aeon.classification.interval_based import DrCIFClassifier\n", + "\n", + "cls = ClassifierChannelEnsemble(\n", + " classifiers=[\n", + " (\"DrCIF0\", DrCIFClassifier(n_estimators=5, n_intervals=2)),\n", + " (\"ROCKET3\", RocketClassifier(n_kernels=1000)),\n", + " ],\n", + " channels=[[0], [3, 4]],\n", + ")\n", + "\n", + "cls.fit(motions, motions_labels)\n", + "y_pred = cls.predict(motions_test)\n", + "\n", + "accuracy_score(motions_test_labels, y_pred)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## sklearn Compatibility\n", + "\n", + "`aeon` classifiers are compatible with `sklearn` model selection and\n", + "composition tools using `aeon` data formats. For example, cross-validation can\n", + "be performed using the `sklearn` `cross_val_score` and `KFold` functionality:" + ], + "metadata": { + "collapsed": false, + "id": "-7NDHcmzh5IN" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Pw_ZNfJvh5IN", + "outputId": "7963c9b6-673f-4d66-95df-e7aa418e39ce", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0.88888889, 0.66666667, 0.77777778, 0.77777778])" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ], + "source": [ + "from sklearn.model_selection import KFold, cross_val_score\n", + "\n", + "cross_val_score(rocket, arrow, y=arrow_labels, cv=KFold(n_splits=4))" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Parameter tuning can be done using `sklearn` `GridSearchCV`. For example, we can tune\n", + " the _k_ and distance measure for a K-NN classifier:" + ], + "metadata": { + "collapsed": false, + "id": "aJNXKkYHh5IO" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "K67ps0Bnh5IO", + "outputId": "460d0d39-ae25-4cfa-ea50-02dde57654da", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.8" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ], + "source": [ + "from sklearn.model_selection import GridSearchCV\n", + "\n", + "from aeon.classification.distance_based import KNeighborsTimeSeriesClassifier\n", + "\n", + "knn = KNeighborsTimeSeriesClassifier()\n", + "param_grid = {\"n_neighbors\": [1, 5], \"distance\": [\"euclidean\", \"dtw\"]}\n", + "parameter_tuning_method = GridSearchCV(knn, param_grid, cv=KFold(n_splits=4))\n", + "\n", + "parameter_tuning_method.fit(arrow, arrow_labels)\n", + "y_pred = parameter_tuning_method.predict(arrow_test)\n", + "\n", + "accuracy_score(arrow_test_labels, y_pred)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Probability calibration is possible with the `sklearn` `CalibratedClassifierCV`:" + ], + "metadata": { + "collapsed": false, + "id": "FtiuhfARh5IO" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "oyywFEuhh5IO", + "outputId": "719c1f06-7eff-429b-dd26-e7da6be20972", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.7485714285714286" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ], + "source": [ + "from sklearn.calibration import CalibratedClassifierCV\n", + "\n", + "from aeon.classification.interval_based import DrCIFClassifier\n", + "\n", + "calibrated_drcif = CalibratedClassifierCV(\n", + " estimator=DrCIFClassifier(n_estimators=10, n_intervals=5), cv=4\n", + ")\n", + "\n", + "calibrated_drcif.fit(arrow, arrow_labels)\n", + "y_pred = calibrated_drcif.predict(arrow_test)\n", + "\n", + "accuracy_score(arrow_test_labels, y_pred)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "id": "flt4wrMOh5IO" + }, + "source": [ + "### Background info and references for classifiers used here\n", + "\n", + "#### KNeighborsTimeSeriesClassifier\n", + "\n", + "One nearest neighbour (1-NN) classification with Dynamic Time Warping (DTW) is\n", + "a [distance based](distance_based.ipynb) classifier and one of the most frequently used\n", + "approaches, although it is less accurate on average than the state of the art.\n", + "\n", + "#### RocketClassifier\n", + "The RocketClassifier is a [convolution based](convolution_based.ipynb) classifier\n", + "made up of a pipeline combination of the ROCKET transformation\n", + " (transformations.panel.rocket) and the sklearn RidgeClassifierCV classifier. The RocketClassifier is configurable to use variants MiniRocket and MultiRocket. ROCKET is based on generating random convolutional kernels. A large number are generated, then a linear classifier is built on the output.\n", + "\n", + "[1] Dempster, Angus, François Petitjean, and Geoffrey I. Webb. \"Rocket: exceptionally fast and accurate time series classification using random convolutional kernels.\" Data Mining and Knowledge Discovery (2020)\n", + "[arXiv version](https://arxiv.org/abs/1910.13051)\n", + "[DAMI 2020](https://link.springer.com/article/10.1007/s10618-020-00701-z)\n", + "\n", + "#### DrCIF\n", + "The Diverse Representation Canonical Interval Forest Classifier (DrCIF) is an\n", + "[interval based](interval_based.ipynb) classifier. The algorithm takes multiple\n", + "randomised intervals from each series and extracts a range of features. These features are used to build a decision tree, which in turn are ensembled into a decision tree forest, in the style of a random forest.\n", + "\n", + "Original CIF classifier:\n", + "[2] Matthew Middlehurst and James Large and Anthony Bagnall. \"The Canonical Interval Forest (CIF) Classifier for Time Series Classification.\" IEEE International Conference on Big Data (2020)\n", + "[arXiv version](https://arxiv.org/abs/2008.09172)\n", + "[IEEE BigData (2020)](https://ieeexplore.ieee.org/abstract/document/9378424?casa_token=8g_IG5MLJZ4AAAAA:ItxW0bY4eCRwfdV9kLvf-8a8X73UFCYUGU9D19PwrHigjivLJVchxHwkM3Btn7vvlOJ_0HiLRa3LCA)\n", + "\n", + "The DrCIF adjustment was proposed in [3].\n", + "\n", + "#### HIVE-COTE 2.0 (HC2)\n", + "The HIerarchical VotE Collective of Transformation-based Ensembles is a meta ensemble\n", + " [hybrid](hybrid.ipynb) that combines classifiers built on different representations.\n", + " Version 2 combines DrCIF, TDE, an ensemble of RocketClassifiers called the Arsenal and the ShapeletTransformClassifier. It is one of the most accurate classifiers on the UCR and UEA time series archives.\n", + "\n", + "[3] Middlehurst, Matthew, James Large, Michael Flynn, Jason Lines, Aaron Bostrom, and Anthony Bagnall. \"HIVE-COTE 2.0: a new meta ensemble for time series classification.\" Machine Learning (2021)\n", + "[ML 2021](https://link.springer.com/article/10.1007/s10994-021-06057-9)\n", + "\n", + "#### LITETime Classifier\n", + "\n", + "The LITETimeClassifier, is a lightweight [deep learning model](https://github.com/aeon-toolkit/aeon/blob/main/examples/classification/deep_learning.ipynb). designed specifically for efficient and accurate time series classification (TSC). It leverages techniques like depthwise separable convolutions to minimize the number of parameters and computational overhead without compromising performance.\n", + "\n", + "[4] Ismail-Fawaz et al. LITE: Light Inception with boosTing tEchniques for Time Series Classification, IEEE International Conference on Data Science and Advanced Analytics, 2023 [LITE (pdf)](https://germain-forestier.info/publis/dsaa2023.pdf)\n", + "\n", + "[5] Ismail-Fawaz, Ali, et al. “Look Into the LITE in Deep Learning for Time Series Classification.” arXiv preprint arXiv:2409.02869 (2024).arXiv preprint arXiv:2409.02869 [arXiv preprint](https://arxiv.org/abs/2409.02869)\n" + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "ms0mSnWEU11v" + }, + "execution_count": null, + "outputs": [] } - ], - "source": [ - "from sklearn.calibration import CalibratedClassifierCV\n", - "\n", - "from aeon.classification.interval_based import DrCIFClassifier\n", - "\n", - "calibrated_drcif = CalibratedClassifierCV(\n", - " estimator=DrCIFClassifier(n_estimators=10, n_intervals=5), cv=4\n", - ")\n", - "\n", - "calibrated_drcif.fit(arrow, arrow_labels)\n", - "y_pred = calibrated_drcif.predict(arrow_test)\n", - "\n", - "accuracy_score(arrow_test_labels, y_pred)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "### Background info and references for classifiers used here\n", - "\n", - "#### KNeighborsTimeSeriesClassifier\n", - "\n", - "One nearest neighbour (1-NN) classification with Dynamic Time Warping (DTW) is\n", - "a [distance based](distance_based.ipynb) classifier and one of the most frequently used\n", - "approaches, although it is less accurate on average than the state of the art.\n", - "\n", - "#### RocketClassifier\n", - "The RocketClassifier is a [convolution based](convolution_based.ipynb) classifier\n", - "made up of a pipeline combination of the ROCKET transformation\n", - " (transformations.panel.rocket) and the sklearn RidgeClassifierCV classifier. The RocketClassifier is configurable to use variants MiniRocket and MultiRocket. ROCKET is based on generating random convolutional kernels. A large number are generated, then a linear classifier is built on the output.\n", - "\n", - "[1] Dempster, Angus, François Petitjean, and Geoffrey I. Webb. \"Rocket: exceptionally fast and accurate time series classification using random convolutional kernels.\" Data Mining and Knowledge Discovery (2020)\n", - "[arXiv version](https://arxiv.org/abs/1910.13051)\n", - "[DAMI 2020](https://link.springer.com/article/10.1007/s10618-020-00701-z)\n", - "\n", - "#### DrCIF\n", - "The Diverse Representation Canonical Interval Forest Classifier (DrCIF) is an\n", - "[interval based](interval_based.ipynb) classifier. The algorithm takes multiple\n", - "randomised intervals from each series and extracts a range of features. These features are used to build a decision tree, which in turn are ensembled into a decision tree forest, in the style of a random forest.\n", - "\n", - "Original CIF classifier:\n", - "[2] Matthew Middlehurst and James Large and Anthony Bagnall. \"The Canonical Interval Forest (CIF) Classifier for Time Series Classification.\" IEEE International Conference on Big Data (2020)\n", - "[arXiv version](https://arxiv.org/abs/2008.09172)\n", - "[IEEE BigData (2020)](https://ieeexplore.ieee.org/abstract/document/9378424?casa_token=8g_IG5MLJZ4AAAAA:ItxW0bY4eCRwfdV9kLvf-8a8X73UFCYUGU9D19PwrHigjivLJVchxHwkM3Btn7vvlOJ_0HiLRa3LCA)\n", - "\n", - "The DrCIF adjustment was proposed in [3].\n", - "\n", - "#### HIVE-COTE 2.0 (HC2)\n", - "The HIerarchical VotE Collective of Transformation-based Ensembles is a meta ensemble\n", - " [hybrid](hybrid.ipynb) that combines classifiers built on different representations.\n", - " Version 2 combines DrCIF, TDE, an ensemble of RocketClassifiers called the Arsenal and the ShapeletTransformClassifier. It is one of the most accurate classifiers on the UCR and UEA time series archives.\n", - "\n", - "[3] Middlehurst, Matthew, James Large, Michael Flynn, Jason Lines, Aaron Bostrom, and Anthony Bagnall. \"HIVE-COTE 2.0: a new meta ensemble for time series classification.\" Machine Learning (2021)\n", - "[ML 2021](https://link.springer.com/article/10.1007/s10994-021-06057-9)\n" - ] - } - ], - "metadata": { - "interpreter": { - "hash": "9d800c14abb2bd109b7479fe8830174a66f0a4a77373f77c2c7334932e1a4922" - }, - "kernelspec": { - "name": "python3", - "language": "python", - "display_name": "Python 3 (ipykernel)" + ], + "metadata": { + "interpreter": { + "hash": "9d800c14abb2bd109b7479fe8830174a66f0a4a77373f77c2c7334932e1a4922" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "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.8.12" + }, + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "accelerator": "GPU" }, - "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.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 0 + "nbformat": 4, + "nbformat_minor": 0 }