matlab - Matlab 中时间序列之间的相似性搜索。可能的 ?我在 matlab 中找不到 R 树实现

标签 matlab machine-learning similarity time-series r-tree

我想在matlab中实现相似性搜索。我想知道这可能吗?

我的计划是使用两种流行的相似性测量,即欧几里德距离和动态时间扭曲。这两者都将应用于时间序列数据集。我现在的问题是如何评估这两种测量性能和准确性?我看到一些文献说我应该使用K-NN算法。

然后,我计划对时间序列数据集应用降维。降低数据集的维数后。我需要使用 R 树或任何可用的索引技术来索引数据集。

但是我的问题是,要做到这一点,我需要 R-tree matlab 代码,我在互联网上几乎找不到任何代码......

我确实意识到相似性搜索的大部分实现都是用 C++、C 和 Java 编写的……但我对这些并不熟悉。我希望我可以在 Matlab 中实现这些......任何大师都可以帮助我吗?

我还可以进行什么样的评估来评估每种算法的性能。

谢谢

最佳答案

最近(我相信是 R2010a),MATLAB 添加了新函数 k-Nearest Neighbor (kNN)使用 KD-tree 进行搜索(类似于 R 树的 spatial indexing 方法)到统计工具箱。示例:

load fisheriris                            % Iris dataset
Q = [6 3 4 1 ; 5 4 3 2];                   % query points

% build kd-tree
knnObj = createns(meas, 'NSMethod','kdtree', 'Distance','euclidean');

% find k=5 Nearest Neighbors to Q
[idx Dist] = knnsearch(knnObj, Q, 'K',5);

引用this page以获得精彩的描述。

此外,如果您有图像处理工具箱,它包含(很长一段时间以来)kd 树和 kNN 搜索的实现。但它们是私有(private)函数:

[matlabroot '\images\images\private\kdtree.m']
[matlabroot '\images\images\private\nnsearch.m']

要比较两种方法( Dynamic Time WarpingEuclidean distance ),您可以设计一个经典的分类问题;给定一组带标签的训练/测试时间序列,任务是通过使用 kNN 查找最相似的序列来预测每个测试序列的标签,然后预测多数类。要评估性能,请使用任何标准的分类度量,例如准确性/错误等。

关于matlab - Matlab 中时间序列之间的相似性搜索。可能的 ?我在 matlab 中找不到 R 树实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326145/

相关文章:

matlab - Buttondownfcn 不适用于 slider

matlab - 一行中除元素本身以外的所有元素的平均值 - MATLAB

python - 如何在keras中将回归输出限制在0到1之间

machine-learning - 如何将 LMDB 文件加载到 TensorFlow 中?

python - 如何将向量之间的欧氏距离转换为相似度分数

java - Java 或 groovy 中包含整数的集合之间的相似性

swift - 最佳字符串比较方法swift

matlab - Mat循环的for循环矢量处理RGB图像中的像素

matlab代码: Gaussian blurring in fourier domain

python - Scikit 学习混淆矩阵总是看起来几乎一样