← retour aux snippets

cosine similarity: plus proches par cosinus

calculer similarité cosinus et récupérer les k plus proches

cosine similarity: plus proches par cosinus

objectif

Expliquer et montrer comment calculer similarité cosinus et récupérer les k plus proches.

code minimal

import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

X = np.random.rand(100, 32)
X = X / np.linalg.norm(X, axis=1, keepdims=True)
S = cosine_similarity(X[:5], X)  # 5 x 100
top3 = np.argsort(-S, axis=1)[:, :3]
top3[0]

utilisation

# exclure l'identité (index 0)
nearest = [row[1] for row in top3]
nearest[:3]

variante(s) utile(s)

# pour grands volumes, utilisez FAISS (voir snippet FAISS)

notes

  • Normalisez avant pour que IP = cosinus.
  • cosine_similarity est dense; pour sparse, utilisez linear_kernel sur TF-IDF.