tslearn.datasets.UCR_UEA_datasets

class tslearn.datasets.UCR_UEA_datasets(use_cache=True)[source]

一个方便访问UCR/UEA时间序列数据集的类。

在研究项目中使用这些数据集中的一个(或几个)时,请引用[1]

该类将尝试从一些已知的错误命名的文件中恢复,例如提供的StarLightCurves数据集在StarlightCurves.zip中以及类似的情况。

Parameters:
use_cachebool (default: True)

是否应使用数据集的缓存版本在 load_dataset()中,如果找到的话。 数据集在加载时总是被缓存,此参数仅确定在加载时是否应刷新缓存版本。

另请参阅

CachedDatasets

提供预选数据集以供离线使用。

注释

下载数据集文件可能很耗时,建议使用use_cache=True(默认)以便每个数据集只经历一次下载时间,之后在数据集的缓存版本上工作。

参考文献

[1]

A. Bagnall, J. Lines, W. Vickers 和 E. Keogh, UEA & UCR 时间序列分类库, www.timeseriesclassification.com

方法

baseline_accuracy([list_datasets, list_methods])

报告UEA/UCR网站提供的基础性能(仅适用于单变量数据集)。

cache_all()

缓存UCR/UEA存档中的所有数据集以供以后使用。

list_cached_datasets()

列出UCR/UEA存档中可用的缓存数据集。

list_datasets()

列出UCR/UEA存档中可用的数据集(包括单变量和多变量)。

list_multivariate_datasets()

列出UCR/UEA存档中的多变量数据集。

list_univariate_datasets()

列出UCR/UEA存档中的单变量数据集。

load_dataset(dataset_name)

根据名称从UCR/UEA档案中加载数据集。

baseline_accuracy(list_datasets=None, list_methods=None)[source]

报告由UEA/UCR网站提供的基线性能(仅适用于单变量数据集)。

Parameters:
list_datasets: list or None (default: None)

一个字符串列表,指示应报告哪些数据集的性能。 如果为None,则报告所有数据集的性能。

list_methods: list or None (default: None)

应报告性能的基线方法列表。 如果为None,则报告所有基线方法的性能。

Returns:
dict

一个字典,其中键是数据集名称,关联的值本身也是字典,这些字典为请求的方法提供准确度分数。

示例

>>> uea_ucr = UCR_UEA_datasets()
>>> dict_acc = uea_ucr.baseline_accuracy(
...         list_datasets=["Adiac", "ChlorineConcentration"],
...         list_methods=["C45"])
>>> len(dict_acc)
2
>>> dict_acc["Adiac"]  
{'C45': 0.542199...}
>>> all_dict_acc = uea_ucr.baseline_accuracy()
>>> len(all_dict_acc)
85
cache_all()[source]

缓存UCR/UEA存档中的所有数据集以供后续使用。

list_cached_datasets()[source]

列出UCR/UEA存档中可在缓存中获取的数据集。

示例

>>> beetlefly = UCR_UEA_datasets().load_dataset("BeetleFly")
>>> l = UCR_UEA_datasets().list_cached_datasets()
>>> "BeetleFly" in l
True
list_datasets()[source]

列出UCR/UEA存档中可用的数据集(包括单变量和多变量)。

Returns:
list of str:

所有(单变量和多变量)数据集名称的列表。

示例

>>> l = UCR_UEA_datasets().list_datasets()
>>> "PenDigits" in l
True
>>> "BeetleFly" in l
True
>>> "DatasetThatDoesNotExist" in l
False
list_multivariate_datasets()[source]

列出UCR/UEA存档中的多变量数据集。

Returns:
list of str:

所有多元数据集名称的列表。

示例

>>> l = UCR_UEA_datasets().list_multivariate_datasets()
>>> "PenDigits" in l
True
list_univariate_datasets()[source]

列出UCR/UEA存档中的单变量数据集。

Returns:
list of str:

所有单变量数据集名称的列表。

示例

>>> l = UCR_UEA_datasets().list_univariate_datasets()
>>> len(l)
85
load_dataset(dataset_name)[source]

根据名称从UCR/UEA档案库加载数据集。

失败时,四个值中的每一个都返回None,并且会打印一个RuntimeWarning

Parameters:
dataset_namestr

数据集的名称。应该在list_datasets返回的列表中。

Returns:
numpy.ndarray of shape (n_ts_train, sz, d) or None

训练时间序列。如果不成功则为None。

numpy.ndarray of integers or strings with shape (n_ts_train, ) or None

训练标签。如果不成功则为None。

numpy.ndarray of shape (n_ts_test, sz, d) or None

测试时间序列。如果不成功则为None。

numpy.ndarray of integers or strings with shape (n_ts_test, ) or None

测试标签。如果不成功则为None。

示例

>>> data_loader = UCR_UEA_datasets()
>>> X_train, y_train, X_test, y_test = data_loader.load_dataset(
...         "TwoPatterns")
>>> X_train.shape
(1000, 128, 1)
>>> y_train.shape
(1000,)
>>> X_train, y_train, X_test, y_test = data_loader.load_dataset(
...         "Adiac")
>>> X_train.shape
(390, 176, 1)
>>> X_train, y_train, X_test, y_test = data_loader.load_dataset(
...         "PenDigits")
>>> X_train.shape
(7494, 8, 2)
>>> assert (None, None, None, None) == data_loader.load_dataset(
...         "DatasetThatDoesNotExist")

使用tslearn.datasets.UCR_UEA_datasets的示例

使用SAX + MINDIST的1-NN

1-NN with SAX + MINDIST

早期分类

Early Classification