将二进制选择转换为距离矩阵

2024-06-28 14:43:45 发布

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

我正试图将一项关于二进制选择的调查与一个基于距离的矩阵(或绘图)相结合。假设我做了一项调查,让人们在二进制选择中选择a、B、C和D

以下是我的调查问题,有100人回答:

Q1: Choose A or B
Q2: Choose A or C
Q3: Choose A or D
Q4: Choose B or C
Q5: Choose B or D
Q6: Choose C or D

现在,我的输入数据如下所示:

            Q1  Q2  Q3  Q4  Q5  Q6
Person00    A   C   D   B   B   C
Person02    A   C   A   B   D   D
Person03    B   A   A   C   B   C
Person04    A   A   A   C   B   D
...
Person99    B   C   D   C   D   D

现在我想把这些数据转换成答案之间的总距离。换言之:在A、B、C和D之间(而不是在人与人之间)。例如,对于第一季度选择A的人,在A不是选项的其他问题中,他们有多喜欢B?他们从不选择D吗

我已经研究过余弦相似性和多维缩放,但我很难从概念上知道从哪里开始。也许我应该对每个问题都进行虚拟编码?我正试图建立一个距离矩阵,或者更好的某种绘图:

Example desired output

任何有意义的帮助都将不胜感激。最好是以Python代码的形式编写,也非常欢迎和欣赏一般的想法


Tags: or数据绘图距离二进制矩阵chooseq3