使用 numpy 变量之间的相关性

我需要计算标记为假/非假的文本中大写字母、特殊标点符号、特定单词的存在之间的相关性。


例如:


Text      Label        Uppercase       Special Punctuation    Specific Word

text1       1                1                       0                   1

text2       0                0                       0                   0

text3       1                1                       1                   1

text4       1                1                       1                   1

text5       0                0                       0                   1

大写字母、特殊标点符号和特定单词只能取这两个值之一:1 或 0。我想确定与标签相关的这些特征之间的相关性(假=1/非假=0)。我想使用皮尔逊相关系数如下


import numpy as np


# Create correlation matrix

corr_matrix = df.corr().abs()

我可以问你这是否是正确的函数,或者Python中是否有不同的相关函数来计算二进制变量之间的相关性?


紫衣仙女
浏览 116回答 2
2回答

侃侃无极

该函数是正确的,但我不明白为什么你只使用绝对值。相关性的符号可以为关联的方向提供信息。我不熟悉你的背景,所以我只是标记这一点,而不做进一步的说明。相关性可以用略有不同的方式计算,即“pearson”、“kendall”、“spearman”。默认方法是“pearson”。您可以通过指定“method”参数来使用其他方法进行计算。像这样:corr_matrix = df.corr(method = 'kendall')

LEATH

.corr()如果你有数值,应该可以工作。如果您的变量是字符串,只需将它们转换为整数并使用相关性即可。这应该有效:df[['Uppercase','Special Punctuation', 'Specific Word']].astype(int).corr()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python