- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在 pandas
中有一个数据框,其中包含根据维基百科文章计算的指标。两个分类变量 nation
文章是关于哪个国家的,以及 lang
这是从哪个语言维基百科中获取的。对于单个指标,我想看看国家和语言变量的相关性有多密切,我相信这是使用 Cramer 的统计数据完成的。
index qid subj nation lang metric value
5 Q3488399 economy cdi fr informativeness 0.787117
6 Q3488399 economy cdi fr referencerate 0.000945
7 Q3488399 economy cdi fr completeness 43.200000
8 Q3488399 economy cdi fr numheadings 11.000000
9 Q3488399 economy cdi fr articlelength 3176.000000
10 Q7195441 economy cdi en informativeness 0.626570
11 Q7195441 economy cdi en referencerate 0.008610
12 Q7195441 economy cdi en completeness 6.400000
13 Q7195441 economy cdi en numheadings 7.000000
14 Q7195441 economy cdi en articlelength 2323.000000
我想生成一个矩阵,显示所有国家组合(法国、美国、科特迪瓦和乌干达)之间的克莱默系数 ['fra','usa','uga']
和三种语言 ['fr','en','sw']
。所以会有一个 4 x 3 矩阵,如:
en fr sw
usa Cramer11 Cramer12 ...
fra Cramer21 Cramer22 ...
cdi ...
uga ...
最终,我将对我正在跟踪的所有不同指标进行此操作。
for subject in list_of_subjects:
for metric in list_of_metrics:
cramer_matrix(metric, df)
然后我可以检验我的假设,即语言为维基百科语言的文章的指标会更高。谢谢
最佳答案
在我进行的一些测试中,cramers V 似乎过于乐观了。维基百科推荐一个更正的版本。
import scipy.stats as ss
def cramers_corrected_stat(confusion_matrix):
""" calculate Cramers V statistic for categorial-categorial association.
uses correction from Bergsma and Wicher,
Journal of the Korean Statistical Society 42 (2013): 323-328
"""
chi2 = ss.chi2_contingency(confusion_matrix)[0]
n = confusion_matrix.sum()
phi2 = chi2/n
r,k = confusion_matrix.shape
phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
rcorr = r - ((r-1)**2)/(n-1)
kcorr = k - ((k-1)**2)/(n-1)
return np.sqrt(phi2corr / min( (kcorr-1), (rcorr-1)))
另请注意,混淆矩阵可以通过内置的 pandas 分类列方法计算:
import pandas as pd
confusion_matrix = pd.crosstab(df[column1], df[column2])
关于python - 使用 pandas,计算 Cramér 的系数矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892799/
作为练习,我正在尝试在 Go 中实现一个带有 CRAM-MD5 身份验证的模拟 SMTP 服务器(不遵循 RFC 2195,因为对于客户端来说,预哈希挑战是什么格式似乎无关紧要in; 我还假设只有一个
我正在编写一个 SMTP 服务器并实现了 CRAM-MD5 身份验证。为了计算质询响应字符串,我显然需要在服务器上存储明文密码。 这背后的原因是什么?这种身份验证机制似乎存在难以置信的缺陷,前提是:
我正在编写一个 SMTP 服务器并实现了 CRAM-MD5 身份验证。为了计算质询响应字符串,我显然需要在服务器上存储明文密码。 这背后的原因是什么?这种身份验证机制似乎存在难以置信的缺陷,前提是:
我想知道 jCryption + 挑战响应认证机制是 SSL 的一个很好的替代方案。 我知道 SSL 好得多,但我正在做一个所有者不想购买 SSL 证书的项目,我想找到一个解决方案来提供可以获得的最佳
遵循 SMTP with CRAM-MD5 in Java 中给出的指南我用 Python 编写了一个小程序来计算将随机数作为输入时的响应: import hashlib from base64 im
我需要从 Java 通过(外部)SMTP 服务器发送电子邮件,但是该服务器只接受 CRAM-MD5 身份验证,JavaMail 不支持它。 发送这些电子邮件的好方法是什么? (它必须在 Java 中。
我目前正在使用 Java SASL API,并编写了一个小程序来使用 CRAM-MD5 模拟质询响应序列。但是,我不确定如何执行此操作,因为 SaslClient 和 SaslServer 仅具有方法
System.Net.Mail.SmtpClient 是否支持 CRAM-MD5 身份验证,如果支持,我是否需要执行任何操作才能启用它? MSDN 似乎对此事保持沉默。 最佳答案 不,它不受支持(在
我是一名优秀的程序员,十分优秀!