有谁知道有DTW实现的python库?mlpy似乎有我正在寻找的东西,但我似乎无法正确安装 - 目前正在等待邮件列表的回复,所以我想我会扩展其他库.
Ste*_*vak 23
不得不在这一个上写下来.为了跟进C的响应,这里的实现更倾向于与NumPy中生成的数据进行交互.我发现这更有用,因为通常我在Python中生成数据并希望与R资源接口.
import numpy as np
import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
# Set up our R namespaces
R = rpy2.robjects.r
DTW = importr('dtw')
# Generate our data
idx = np.linspace(0, 2*np.pi, 100)
template = np.cos(idx)
query = np.sin(idx) + np.array(R.runif(100))/10
# Calculate the alignment vector and corresponding distance
alignment = R.dtw(query, template, keep=True)
dist = alignment.rx('distance')[0][0]
print(dist)
Run Code Online (Sandbox Code Playgroud)
请注意,这是DTW站点上说明的示例问题.
C. *_*eed 10
为了记录,我已经能够使用R中的R,DTW和rpy2的混搭.在Python中使用R非常简单,并且大大扩展了python的统计功能.这是找到偏移噪声正弦和余弦系列之间距离的示例:
import rpy2.robjects as robjects
r = robjects.r
r('library("dtw")')
idx = r.seq(0,6.28,len=100)
template = r.cos(idx)
query = r.sin(idx)+r('runif(100)/10')
alignment=r.dtw(query,template,keep=r('TRUE'))
robjects.globalenv["alignment"] = alignment
dist = r('alignment$distance')
print(dist)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27224 次 |
| 最近记录: |