DTW 和 kNN-DTW 时间复杂度

问题描述

我已经使用自定义 DTW 指标和 sci-kit learn 实现了 KNN,如下所示:

def dtw(t1,t2):
    distance = fastdtw(t1,t2)[0]
    return distance
model = KNeighborsClassifier(n_neighbors=1,metric=dtw)

此外,我还为模板匹配实现了独立的 DTW,如下所示:

 def calc_dtw():
    predictions = []
    for i in range(len(X)): #X is an array containing X values to be predicted
        distances = []
        for j in range(len(self.X_)):
            distances.append(fastdtw(X[i],self.X_[j])[0]) #self.X_ are the templates
        closest = distances.index(min(distances))
        predictions.append(self.y_[closest])
    
     return predictions

DTW 的两种实现都使用相同的“快速 dtw”库。我运行了一个测试来计算每种算法计算预测所需的时间,结果表明 kNN-DTW 比独立 DTW 快。独立 DTW(二次时间复杂度)不应该比 kNN-DTW(三次时间复杂度)快吗?这是因为我的 DTW 实现中有错误吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...