Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想在Matlab中实现相似性搜索。我想知道有可能吗?
我的计划是使用两种流行的相似性度量,即欧氏距离和动态时间扭曲。这两个都将应用于时间序列数据集。我现在的问题是如何评估这两个测量性能和准确性?我看到一些文献说我应该使用K-NN算法。 然后,我计划在时间序列数据集上应用降维。减少后的数据集的维数。我将需要使用R树或任何可用的索引技术来索引数据集。 但是我的问题是要做到这一点,我需要R-tree matlab代码,但我几乎无法在Internet上找到它。 我确实意识到,相似性搜索的大多数实现都是在C ++,C和Java中实现的,但是我对这些并不熟悉。我希望我可以在Matlab中实现这些功能……任何上师都可以帮助我吗? 另外,我可以进行哪种评估来评估每种算法的性能。 谢谢 回答: 最近(我相信是R2010a),MATLAB在统计工具箱中添加了使用KD-tree (类似于R-tree的空间索引方法)进行k最近邻(kNN)搜索的新功能。例: 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); 有关详细说明,请参阅此页面 。 同样,如果您拥有图像处理工具箱,则它包含(很长时间了)kd-tree和kNN搜索的实现。它们是私有函数: [matlabroot '\images\images\private\kdtree.m'] [matlabroot '\images\images\private\nnsearch.m'] 为了比较两种方法( 动态时间规整和欧几里得距离 ),您可以设计一个经典的分类问题。给定一组标记的训练/测试时间序列,任务是通过使用kNN查找最相似的序列,然后预测多数类来预测每个测试序列的标记。要评估性能,请使用任何标准分类方法,例如准确性/错误等。 更多&回答... |
![]() |
![]() |