【发布时间】:2020-09-11 18:35:55
【问题描述】:
我正在尝试检查垃圾邮件和工作日之间是否存在相关性。
我的dataframe 如下:
Spam? Day
0 1.0 Saturday
1 1.0 Saturday
3 0.0 Saturday
5 1.0 Saturday
7 0.0 Friday
... ... ...
346 0.0 Friday
348 1.0 Friday
361 0.0 Saturday
383 1.0 Thursday
387 1.0 Friday
其中 1 表示垃圾邮件,0 不是垃圾邮件。
我已经尝试如下
corr = (numpy.corrcoef(df['Spam?'],df['Days']))
我收到了这个错误:
TypeError: unsupported operand type(s) for /: 'str' and 'int'
【问题讨论】:
-
你能澄清一下“相关性”吗?
-
weekday 是一个分类值,而不是数字。您不能为此使用 Pearson 相关性(好吧,除非您有充分的理由相信存在线性依赖关系)
-
感谢马拉。所以我需要对工作日列进行编码,不是吗?
-
一种常见的方法是在给定所有其他日期的情况下,计算偶然获得周六统计数据的机会。您可以计算垃圾邮件率平均值、影响大小或分布之间的距离之间的差异。其中任何一个都是合理的开始;重要的是要考虑随机性
-
要查看特定日期的垃圾邮件异常高还是低,您需要一个分类指标。相关系数适用于具有连续关系的数据,例如注意到一周内垃圾邮件增加的趋势。相反,请尝试卡方检验。
标签: python numpy correlation