![]() |
Matlab中时间序列之间的相似性搜索。有可能吗我在Matlab中找不到R-tree实现
我想在Matlab中实现相似性搜索。我想知道有可能吗?
我的计划是使用两种流行的相似性度量,即欧氏距离和动态时间扭曲。这两个都将应用于时间序列数据集。我现在的问题是如何评估这两个测量性能和准确性?我看到一些文献说我应该使用K-NN算法。 然后,我计划在时间序列数据集上应用降维。减少后的数据集的维数。我将需要使用R树或任何可用的索引技术来索引数据集。 但是我的问题是要做到这一点,我需要R-tree matlab代码,但我几乎无法在Internet上找到它。 我确实意识到,相似性搜索的大多数实现都是在C ++,C和Java中实现的,但是我对这些并不熟悉。我希望我可以在Matlab中实现这些功能……任何上师都可以帮助我吗? 另外,我可以进行哪种评估来评估每种算法的性能。 谢谢 [B]回答:[/B] 最近(我相信是R2010a),MATLAB在统计工具箱中添加了使用[URL="http://en.wikipedia.org/wiki/Kd-tree"]KD-tree[/URL] (类似于R-tree的[URL="http://en.wikipedia.org/wiki/Spatial_index"]空间索引[/URL]方法[URL="https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm"])[/URL]进行[URL="https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm"]k最近邻(kNN)[/URL]搜索的新功能。例: 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); 有关详细说明,请参阅[URL="https://www.mathworks.com/help/stats/classification-using-nearest-neighbors.html"]此页面[/URL] 。 同样,如果您拥有图像处理工具箱,则它包含(很长时间了)kd-tree和kNN搜索的实现。它们是私有函数: [matlabroot '\images\images\private\kdtree.m'] [matlabroot '\images\images\private\nnsearch.m'] 为了比较两种方法( [URL="https://en.wikipedia.org/wiki/Dynamic_time_warping"]动态时间规整[/URL]和[URL="https://en.wikipedia.org/wiki/Euclidean_distance"]欧几里得距离[/URL] ),您可以设计一个经典的分类问题。给定一组标记的训练/测试时间序列,任务是通过使用kNN查找最相似的序列,然后预测多数类来预测每个测试序列的标记。要评估性能,请使用任何标准分类方法,例如准确性/错误等。 [url=https://stackoverflow.com/questions/3326145]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 10:55。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.