Jaccard'ın ( ikili verilerin herhangi iki sütunu arasında hesaplandığını biliyoruz.X) dır-dir bira + b + c, Rogers-Tanimoto ise a + da + d+ 2 ( b + c ), nerede
- a - her iki sütunun da 1 olduğu satır sayısı
- b - diğer sütunun değil, bunun olduğu satır sayısı 1
- c - bu sütunun değil, diğerinin olduğu satır sayısı 1
- d - her iki sütunun da 0 olduğu satır sayısı
a + b + c + d= n, içindeki satır sayısı X
Sonra elimizde:
X′X=A kare simetrik matrisidir a tüm sütunlar arasında.
(notX)′(notX)=D kare simetrik matrisidir d Tüm sütunlar arasında ("X değil" X'te 1-> 0 ve 0-> 1'i dönüştürüyor).
Yani, An−D tüm sütunlar arasındaki Jaccard'ın kare simetrik matrisidir.
A+DA+D+2(n−(A+D))=A+D2n−A−D tüm sütunlar arasındaki Rogers-Tanimoto'nun kare simetrik matrisidir.
Bu formüllerin doğru sonuç verip vermediğini sayısal olarak kontrol ettim. Onlar yapar.
Post. Matrisler de elde edebilirsinizB ve C:
B=[1]′X−A, burada "[1]", X. B kare asimetrik matrisi btüm sütunlar arasında; ij öğesi , içindeki satır sayısıdırXi sütununda 0 ve j sütununda 1 .
Sonuç olarak, C=B′.
Matris D tabii ki bu şekilde de hesaplanabilir: n−A−B−C.
Matrisleri bilmek A,B,C,D, ikili veriler için icat edilen herhangi bir çift (dis) benzerlik katsayısının bir matrisini hesaplayabilirsiniz.
veganpakette zaten bir dizi benzerlik endeksinin (Jaccard'lar dahil) uygulandığını da işaret ettiğimi düşündüm . Bence hız için de oldukça iyi optimize edilmişler.