欧氏距离矩阵

2024-05-17 10:11:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算两个词之间的欧几里德距离。首先,对每个音素进行矢量化:

g = (0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0)
a = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0)
k = (0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0)
n = (0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0)
N = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)

例如,两个单词“gaN”和“gak”之间的距离是

^{pr2}$

我想做的是一个巨大的矩阵,显示800多个单词之间的所有距离。这应该像下表所示(如csv文件)

    gaN   gak   gan  gal ...
gaN 0     1.73  1.41
gak 1.73  0     2.24
gan 1.41  2.24  0
gal
...

有人能帮我吗?我目前正在使用Python,但R也可以。在


Tags: 文件csv距离矩阵单词矢量化galgan
1条回答
网友
1楼 · 发布于 2024-05-17 10:11:40

如你所知,欧几里得距离只能在数字对象上操作。我不确定什么是现象,但是如果你已经有了所有单词的数字表示,那么它应该是微不足道的。(在这种情况下,您的问题是将距离矩阵转换回GaN,gak表吗?如果是这样,则需要更多关于如何从那里到现象对象的信息。在

至于转换成csv,那是微不足道的。实际上,您可以使用优秀的pandas软件包额外添加零行代码:

将熊猫作为pd导入 距离=pd数据帧(欧几里得距离(tbl1,tbl2))。到\u csv('距离.csv')

相关问题 更多 >