将Jaccard的Ratio和Kolmogorov-Smirnov应用于两个文本列表的最佳方法和工具是什么?

时间:2019-06-12 06:53:21

标签: python-3.x string list statistics

我正在使用Kolmogorov-Smirnov和Jaccard的比率来确定2个文本单词列表之间是否存在相关性(列表的排名为1-n,每个列表中的项目数不同,每个列表中只有一些项目相同的列表,列表中没有重复的项目)

问题1 :应用这些统计算法Kolmogorov-Smirnov和Jaccard的比率的最佳方法是什么。

  • 仅将统计信息应用于完整列表吗?
  • 要应用列表中每个排名项目的统计信息并以线形图的形式绘制内容?
  • 两种方法都可以吗?

问题2 :用于计算文本列表统计信息的最佳语言和工具是什么?到目前为止,我所阅读的python经常用于Jaccards Ratio,而excel / python则用于计算Kolmogorov-Smirnov

任何可以提供的指导将不胜感激。 谢谢

Jaccards比率

我发现以下内容将Jaccard应用于文本字符串的完整列表 代码参考-How can I calculate the Jaccard Similarity of two lists containing strings in Python?

def jaccard_similarity(list1, list2):
    intersection = len(list(set(list1).intersection(list2)))
    print(list(set(list1).intersection(list2)))
    union = (len(list1) + len(list2)) - intersection
    return float(intersection / union)

但是我也发现了以下与各个字符串有关的内容 代码参考https://towardsdatascience.com/overview-of-text-similarity-metrics-3397c4601f50

def get_jaccard_sim(str1, str2): 
    a = set(str1.split()) 
    b = set(str2.split())
    c = a.intersection(b)
    return float(len(c)) / (len(a) + len(b) - len(c))

Kolmogorov-Smirnov

代码参考https://kite.com/python/examples/704/scipy-compute-the-kolmogorov-smirnov-statistic-on-2-samples

像Wikipedia这样的相关输出显示了一个图表,所以我也不知道是否也应将其应用于列表中的每个项目,例如Wikipedia https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test

from scipy.stats import ks_2samp
x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]

ks_statistic, p_value = ks_2samp(x, y)

print(ks_statistic)
print(p_value)

0 个答案:

没有答案