Каков наилучший подход и инструменты для применения коэффициента Жакара и Колмогорова – Смирнова к двум текстовым спискам? - PullRequest
0 голосов
/ 12 июня 2019

Я использую коэффициент Колмогорова-Смирнова и Жакара, чтобы определить, существует ли корреляция между 2 списками текстовых слов (списки ранжируются от 1 до n, разное количество элементов в каждом списке и только некоторые элементы в каждомсписок одинаковый, в списке нет повторяющихся элементов)

Вопрос 1 Каков наилучший способ применения этих статистических алгоритмов Колмогорова-Смирнова и коэффициента Жакара.

  • Применить статистические данные только к полным спискам?
  • Применить статистические данные для каждого ранжированного элемента в списке и построить график в виде линейного графика?
  • оба подхода?

Вопрос 2 Какие языки и инструменты лучше всего использовать для расчета этой статистики для текстовых списков.То, что я читал до сих пор, python часто используется для Jacards Ratio, а excel / python используется для вычисления Колмогорова-Смирнова

. Любое руководство, которое можно было бы предоставить, было бы наиболее ценно.Спасибо

Соотношение Jaccards

Я обнаружил следующее, что применяет Jaccard к полному списку текстовых строк Справочник по коду - Как вычислить сходство по Jaccardиз двух списков, содержащих строки в 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))

Колмогоров-Смирнов

Ссылка на код https://kite.com/python/examples/704/scipy-compute-the-kolmogorov-smirnov-statistic-on-2-samples

Соответствующие выходные данные, такие как Википедия, показывают график, поэтому я не знаю, должно ли это применяться, например, для каждого элемента в спискекак показано в википедии 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...