dtaidistance 笔记:相似度&压缩

1 相似度

相似度:1表示相等,0表示疏远

给定一组时间序列(每一行是一个),计算基于DTW的逐对相似度


python 复制代码
from dtaidistance import dtw, similarity
s = np.array([[0., 0, 1, 2, 1, 0, 1, 0, 0],
              [0., 1, 2, 0, 0, 0, 0, 0, 0],
              [1., 2, 0, 0, 0, 0, 0, 1, 1],
              [0., 0, 1, 2, 1, 0, 1, 0, 0],
              [0., 1, 2, 0, 0, 0, 0, 0, 0],
              [1., 2, 0, 0, 0, 0, 0, 1, 1]])
dis_matrix=dtw.distance_matrix(s)
dis_matrix
'''
array([[0.        , 1.41421356, 2.23606798, 0.        , 1.41421356,
        2.23606798],
       [1.41421356, 0.        , 1.73205081, 1.41421356, 0.        ,
        1.73205081],
       [2.23606798, 1.73205081, 0.        , 2.23606798, 1.73205081,
        0.        ],
       [0.        , 1.41421356, 2.23606798, 0.        , 1.41421356,
        2.23606798],
       [1.41421356, 0.        , 1.73205081, 1.41421356, 0.        ,
        1.73205081],
       [2.23606798, 1.73205081, 0.        , 2.23606798, 1.73205081,
        0.        ]])
'''


sim_matrix=similarity.distance_to_similarity(dis_matrix)
sim_matrix
'''
array([[1.        , 0.53128561, 0.36787944, 1.        , 0.53128561,
        0.36787944],
       [0.53128561, 1.        , 0.46088963, 0.53128561, 1.        ,
        0.46088963],
       [0.36787944, 0.46088963, 1.        , 0.36787944, 0.46088963,
        1.        ],
       [1.        , 0.53128561, 0.36787944, 1.        , 0.53128561,
        0.36787944],
       [0.53128561, 1.        , 0.46088963, 0.53128561, 1.        ,
        0.46088963],
       [0.36787944, 0.46088963, 1.        , 0.36787944, 0.46088963,
        1.        ]])
'''

2 压缩

相似性将高值反转为低值,低值反转为高值。如果要保持方向但将距离压缩到0到1之间,可以使用squash函数

python 复制代码
sq_matrix=similarity.squash(dis_matrix)
sq_matrix
'''
array([[1.        , 0.53128561, 0.36787944, 1.        , 0.53128561,
        0.36787944],
       [0.53128561, 1.        , 0.46088963, 0.53128561, 1.        ,
        0.46088963],
       [0.36787944, 0.46088963, 1.        , 0.36787944, 0.46088963,
        1.        ],
       [1.        , 0.53128561, 0.36787944, 1.        , 0.53128561,
        0.36787944],
       [0.53128561, 1.        , 0.46088963, 0.53128561, 1.        ,
        0.46088963],
       [0.36787944, 0.46088963, 1.        , 0.36787944, 0.46088963,
        1.        ]])
'''
相关推荐
聪明蛋子哟13 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
不可求~14 小时前
用 AI 读论文别只看摘要:建立可追溯的证据链
人工智能·深度学习·机器学习
今天AI了吗14 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境14 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
liuyicenysabel14 小时前
多服务上线日记三:
运维·服务器·笔记·学习
CHENGQUAN_kenan14 小时前
佛山亚马逊卖家出口退税合规指南|9610免税、一般贸易退税、无票采购、申报误区全覆盖
大数据·经验分享·笔记·百度
空堂与归14 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
TELL52114 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn15 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
一只小小的芙厨15 小时前
基础数论总结
笔记·学习·算法