Kesamaan Jaccard diberikan oleh
sij=pp+q+r
dimana,
p = # atribut positif untuk kedua objek
q = # atribut 1 untuk i dan 0 untuk j
r = # atribut 0 untuk i dan 1 untuk j
Sedangkan, cosine similarity = mana A dan B adalah vektor objek.A⋅B∥A∥∥B∥
Sederhananya, dalam kesamaan cosinus, jumlah atribut umum dibagi dengan jumlah total atribut yang mungkin. Sedangkan dalam Jaccard Similarity, jumlah atribut umum dibagi dengan jumlah atribut yang ada di setidaknya satu dari dua objek.
Dan ada banyak ukuran kesamaan lainnya, masing-masing dengan eksentrisitasnya sendiri. Saat memutuskan mana yang akan digunakan, coba pikirkan beberapa kasus representatif dan cari tahu indeks mana yang akan memberikan hasil yang paling bermanfaat untuk mencapai tujuan Anda.
Indeks Cosine dapat digunakan untuk mengidentifikasi plagiarisme, tetapi tidak akan menjadi indeks yang baik untuk mengidentifikasi situs-situs mirror di internet. Sedangkan indeks Jaccard, akan menjadi indeks yang baik untuk mengidentifikasi situs cermin, tetapi tidak begitu hebat dalam menangkap copy paste plagiarisme (dalam dokumen yang lebih besar).
Saat menerapkan indeks ini, Anda harus memikirkan masalah Anda secara menyeluruh dan mencari cara untuk mendefinisikan kesamaan. Setelah Anda memiliki definisi dalam pikiran, Anda dapat berbelanja indeks.
Sunting:
Sebelumnya, saya memiliki contoh yang disertakan dalam jawaban ini, yang akhirnya salah. Berkat beberapa pengguna yang telah menunjukkan hal itu, saya telah menghapus contoh yang salah.
cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0])
. Tentu saja, persamaan cosinus juga akan menjadi 1 di sini, karena keduanya mengukur mengabaikan elemen-elemen yang nol di kedua vektor.Saya tidak dapat berkomentar karena saya tidak memiliki status apa pun, tetapi jawaban yang diperiksa salah, dan juga tidak menjawab pertanyaan. ∥A∥ berarti norma L2 dari A, yaitu panjang vektor dalam ruang Euclidean, bukan dimensi vektor A. Dengan kata lain, Anda tidak menghitung 0 bit, Anda menjumlahkan 1 bit dan mengambil akar pangkat dua. Jadi contoh dari 10 atribut dari vektor 100-panjang juga salah. Maaf saya tidak memiliki jawaban yang sebenarnya tentang kapan Anda harus menggunakan metrik mana, tapi saya tidak bisa membiarkan jawaban yang salah tidak tertandingi.
sumber
Kesamaan Jaccard digunakan untuk dua jenis kasus biner:
Kesamaan cosine biasanya digunakan dalam konteks penambangan teks untuk membandingkan dokumen atau email. Jika kesamaan cosinus antara dua vektor istilah dokumen lebih tinggi, maka kedua dokumen memiliki jumlah kata yang lebih banyak
Perbedaan lainnya adalah Koefisien 1 - Jaccard dapat digunakan sebagai perbedaan atau ukuran jarak, sedangkan kesamaan cosinus tidak memiliki konstruksi seperti itu. Hal serupa adalah jarak Tonimoto, yang digunakan dalam taksonomi.
sumber
cosine
adalah ukuran yang berbeda tetapi tidak valid.Seperti disebutkan di atas, jawaban yang diperiksa salah.
Dimana dan adalah biner vektor, mereka dapat diartikan sebagai set indeks dengan nilai 1. Oleh karena itu Mari mempertimbangkan set dan .a b A B
Kesamaan Jaccard kemudian diberikan olehJ(A,B)=|A∩B||A∪B|=|A∩B||A∩B|+|A−B|+|B−A|
Kesamaan cosine kemudian diberikan olehC(A,B)=|A∩B||A||B|−−−−−√=|A∩B|(|A∩B|+|A−B|)(|A∩B|+|B−A|)−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
Beberapa perbandingan:
Saya belum memiliki intuisi yang jelas tentang di mana seseorang harus lebih disukai daripada yang lain, kecuali bahwa, sebagaimana dicatat Vikram Venkat, 1 - Jaccard sesuai dengan metrik yang benar, tidak seperti kosinus; dan cosinus secara alami meluas ke vektor bernilai nyata.
sumber