Python'da kosinüs benzerliği nasıl hesaplanır


Kosinüs benzerliği, bir iç çarpım uzayının iki vektörü arasındaki benzerliğin bir ölçüsüdür.

A ve B gibi iki vektör için kosinüs benzerliği şu şekilde hesaplanır:

Kosinüs benzerliği = ΣA i B ben / (√ΣA i 2 √ΣB i 2 )

Bu eğitimde, NumPy kütüphanesindeki fonksiyonları kullanarak Python’da vektörler arasındaki kosinüs benzerliğinin nasıl hesaplanacağı açıklanmaktadır.

Python’da iki vektör arasındaki kosinüs benzerliği

Aşağıdaki kod Python’da iki dizi arasındaki kosinüs benzerliğinin nasıl hesaplanacağını gösterir:

 from numpy import dot
from numpy. linalg import norm

#define arrays
a = [23, 34, 44, 45, 42, 27, 33, 34]
b = [17, 18, 22, 26, 26, 29, 31, 30]

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)* norm (b))

cos_sim

0.965195008357566

İki tablo arasındaki kosinüs benzerliği 0,965195 olarak ortaya çıkıyor.

Bu yöntemin herhangi bir uzunluktaki iki dizide çalışacağını unutmayın:

 import numpy as np
from numpy import dot
from numpy. linalg import norm

#define arrays
a = np.random.randint(10, size= 100 )
b = np.random.randint(10, size= 100 )

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)* norm (b))

cos_sim

0.7340201613960431

Ancak bu yalnızca iki dizinin aynı uzunlukta olması durumunda işe yarar:

 import numpy as np
from numpy import dot
from numpy. linalg import norm

#define arrays
a = np.random.randint(10, size= 90 ) #length=90
b = np.random.randint(10, size= 100 ) #length=100

#calculate Cosine Similarity
cos_sim = dot (a, b)/( norm (a)* norm (b))

cos_sim

ValueError : shapes (90,) and (100,) not aligned: 90 (dim 0) != 100 (dim 0)

Yorumlar

1. Python kullanarak kosinüs benzerliğini hesaplamanın birkaç yolu vardır, ancak bu Yığın Taşması başlığında açıklandığı gibi, bu makalede açıklanan yöntemin en hızlı olduğu ortaya çıkıyor.

2. Kosinüs benzerliği hakkında daha fazla bilgi edinmek içinbu Wikipedia sayfasına bakın.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir