Numpy技巧: 由label获得相等矩阵

Numpy技巧: 由label获得相等矩阵
 
 
假设Label为:  [ABAC] , 如何方便的得到一个矩阵, 其元素i,j表示第i位和第j位相等呢?
 
先把Label复制扩展成: m,m 的矩阵: l.expand(m,m)
 
ABAC
ABAC
ABAC
ABAC
 
这个矩阵M1只和col有关 [x,j] 为 第j个 标签 
 
再转置一下: l.expand(m,m).t()
 
AAAA
BBBB
AAAA
CCCC
 
这个矩阵M2只和row有关 [i,x] 为第i个 标签
 
M2==M1 其中为1的地方就是 [i,j] 这两个标签相等
 
写在一起就是: l.expand(m,m).t().eq(l.expand(m,m)).int()
 
 
当然还有另一种写法: l.unsqueeze(1)==l.unsqueeze(0)

 

 

posted @   酱_油  阅读(157)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示