问题描述
我已经使用自定义 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 (将#修改为@)