Giriş
Bu makale, sıfır olmayan iki vektörü karşılaştırmak için bir araç olan kosinüs benzerliğini tartışacaktır. Boyutları ne olursa olsun vektörlerin yönünü belirlemedeki etkinliği, metin analizi gibi alanlarda yaygın olarak kullanılmasına yol açmaktadır. veri madenciliği, ve bilgi alma. Bu makale kosinüs benzerliğinin matematiğini araştırıyor ve bunun Python'da nasıl kullanılacağını gösteriyor.
Genel bakış:
- Yönlerini etkili bir şekilde karşılaştırmak için kosinüs benzerliğinin iki vektör arasındaki açıyı nasıl ölçtüğünü öğrenin.
- Kosinüs benzerliğinin metin analizi, veri madenciliği ve öneri sistemlerinde uygulamalarını keşfedin.
- Kosinüs benzerliğinin matematiksel temelini ve Python kullanarak pratik uygulamasını anlayın.
- Python'daki NumPy ve scikit-learn kitaplıklarıyla kosinüs benzerliğini uygulamaya yönelik içgörüler edinin.
- Belge karşılaştırması ve öneri sistemleri de dahil olmak üzere, kosinüs benzerliğinin gerçek dünya senaryolarında nasıl kullanıldığını keşfedin.
İçindekiler
Kosinüs Benzerliği Nedir?
Kosinüs benzerliği, çok boyutlu bir uzayda iki vektör arasındaki açının kosinüsünü ölçer. Sıfır olmayan iki vektörün kosinüsü, Öklid nokta çarpım formülü kullanılarak türetilebilir:
A ve B gibi n boyutlu iki öznitelik vektörü verildiğinde, kosinüs benzerliği cos(θ), bir nokta çarpım ve büyüklük kullanılarak temsil edilir:
Kosinüs benzerliği -1 ile 1 arasında değişir; burada:
- 1, vektörlerin aynı olduğunu gösterir,
- 0, vektörlerin dik olduğunu (benzerlik olmadığını) gösterir,
- -1, vektörlerin taban tabana zıt olduğunu gösterir.
Veri Bilimindeki Uygulamalar
- Metin benzerliği: NLP'de belge benzerliklerini anlamak için kosinüs benzerliğini kullanırız. Bu belgelerdeki metinleri dönüştürüyoruz TF-IDF vektörleri ve sonra benzerliklerini bulmak için kosinüs benzerliğini kullanın.
- Öneri Sistemleri: Diyelim ki bir müziğimiz var öneri sistemi. Burada kullanıcılar arasındaki benzerliği hesaplıyoruz ve puana göre diğer kullanıcılara şarkı veya müzik öneriyoruz. Genellikle öneri sistemleri kosinüs benzerliğini kullanır. ortak filtreleme veya kullanıcılarımıza öğeler önermek için diğer filtreleme teknikleri.
Kosinüs Benzerliğinin Uygulanması
Şimdi farklı kütüphaneleri kullanarak kosinüs benzerliğini nasıl uygulayacağımızı öğrenelim:
Numpy Kütüphanesini Kullanarak Uygulama
# Using numpy
import numpy as np
# Define two vectors
A = np.array([1, 2, 3])
B = np.array([4, 5, 6])
# Compute cosine similarity
cos_sim = np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))
print("Cosine Similarity (NumPy):", cos_sim)
Burada karşılaştırmamız gereken vektörler olarak görev yapacak A ve B olmak üzere iki dizi oluşturuyoruz. Kosinüs benzerliği formülünü, yani A ve B'nin AX mod B'nin moduna göre nokta çarpımını kullanıyoruz.
Scikit-learn Kütüphanesini Kullanarak Uygulama
sklearn.metrics.pairwise'dan cosine_similarity'yi içe aktar
# Define two vectors
A = [[1, 2, 3]]
B = [[4, 5, 6]]
# Compute cosine similarity
cos_sim = cosine_similarity(A, B)
print("Cosine Similarity (scikit-learn):", cos_sim[0][0])
Burada sklearn kütüphanesindeki yerleşik fonksiyonun kosinüs benzerliğini bulma işimizi yaptığını görebiliriz.
Numpy Kodunun Arkasında Adım Adım Matematik
- Vektör Tanımlama
Vektörleri tanımlamada numpy kodunun arkasındaki ilk adım.
- Nokta çarpımı hesaplayın
A ve B iki vektörünün nokta çarpımını hesaplayın. Nokta çarpım, vektörlerin karşılık gelen elemanlarının çarpılması ve sonuçların toplanmasıyla elde edilir.
- Her Vektörün Büyüklüğünü Hesaplayın
Her A ve B vektörünün büyüklüğünü (veya normunu) belirleyin. Bu, elemanlarının kareleri toplamının karekökünün hesaplanmasını içerir.
- Kosinüs benzerliğini hesaplayın
Son adım değerleri hesaplamaktır.
Sonuç
Kosinüs benzerliği, vektörler arasındaki benzerliği bulmak için güçlü bir araçtır ve özellikle yüksek boyutlu ve seyrek veri kümelerinde kullanışlıdır. Bu yazıda ayrıca Python kullanarak kosinüs benzerliğinin oldukça basit bir şekilde uygulanmasını da gördük. Kosinüs benzerliğini uygulamak için Python'un NumPy ve scikit-learn kütüphanelerini kullandık. Kosinüs benzerliği, vektörün büyüklüğünden bağımsız olduğu için NLP, metin analizi ve öneri sistemlerinde önemlidir.
Sıkça Sorulan Sorular
A. Kosinüs benzerliği, çok boyutlu bir uzayda sıfır olmayan iki vektör arasındaki açının kosinüsünü ölçer ve vektörlerin ne kadar benzer olduğunu gösterir.
C. Metin analizinde, metinleri TF-IDF vektörlerine dönüştürüp benzerliklerini hesaplayarak kosinüs benzerliğini kullanarak belgeleri karşılaştırırız.
C. Basit hesaplama yöntemleri sağlayan NumPy veya scikit-learn kitaplıklarını kullanarak Python'da kosinüs benzerliğini uygulayabilirsiniz.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://www.analyticsvidhya.com/blog/2024/06/cosine-similarity-in-python/
Amazon Redshift veri toplama seçenekleri | Amazon Web Hizmetleri