Как рассчитать индекс Жаккара [закрыто]

Я хочу рассчитать индекс Жаккара между двумя соединениями. Каков алгоритм? Я искал его, он просто дает формулу, но как применять его к соединениям, мне неизвестно. Вы можете помочь?

Как именно вы хотите его использовать? В экологии его обычно используют для сравнения сходства сообществ видов, но вы имеете в виду только два соединения. Какие объекты вы хотите сравнить? Что касается его кодирования, вы, вероятно, могли бы найти много полезной информации в текущих 345 вопросах StackOverflow по коэффициенту / индексу Жаккара.
Пропустил подробность про "два соединения". Мой ответ включает ссылку на два набора соединений, но было бы хорошо, если бы вы пояснили, что именно вы имеете в виду.
Как вы обозначаете соединение? только по составу?? Например, C3H6O3 может представлять собой молочную кислоту, глицеральдегид или триоксан.
Да, обозначьте соединение их атомами, из которых они состоят..
или в формате SMILES

Ответы (1)

Индекс Жаккара — это мера сходства между двумя множествами. Взгляните на статью в Википедии здесь . Это очень легко вычислить:

Коэффициент сходства Жаккара для наборов X и Y определяется как:

J(X,Y) = |intersection(X,Y)| / |union(X,Y)|

Где | |указывается размер (количество элементов) множества. Представьте, что у вас есть два множества X и Y, определенные следующим образом:

X = {A, B, C, D}
Y = {C, D, E, F, G}

Затем:

intersection(X,Y) = {C, D} => |intersection(X,Y)| = 2
union(X,Y) = {A,B,C,D,E,F} => |union(X,Y)| = 5

Поэтому:J(X,Y) = 2/5

В качестве альтернативы расстояние Жаккара будетD(X,Y) = 1 - J(X,Y) = 1 - 2/5 = 3/5

В биологии индекс Жаккара использовался для вычисления сходства между сетями путем сравнения количества общих ребер (например , методы Bass, Nature 2013 ) .


Что касается применения его к соединениям, если у вас есть два набора с разными соединениями, вы можете определить, насколько похожи два набора, используя этот индекс. Элементы множеств, в данном случае соединения, в моем примере соответствуют A, B, C и т. д.

химические соединения будут иметь атомы, поэтому в основном для каждого соединения мы создаем набор атомов, а затем находим индекс. Будет ли это делать?