Partage de technologie

Explorer la similarité des données : analyse complète des méthodes de calcul de similarité dans sklearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Explorer la similarité des données : analyse complète des méthodes de calcul de similarité dans sklearn

Dans le monde de la science des données et de l’apprentissage automatique, calculer les similitudes entre les points de données est une tâche fondamentale et critique. Le calcul de similarité peut nous aider à identifier des modèles dans les données, à effectuer une analyse de cluster, à concevoir un système de recommandation, etc. scikit-learn (sklearn en abrégé), en tant que bibliothèque d'apprentissage automatique populaire en Python, fournit diverses méthodes pour calculer la similarité des données. Cet article présentera en détail la méthode utilisée pour le calcul de similarité dans sklearn et fournira des exemples de code pratiques.

1. L'importance du calcul de similarité

Le calcul de similarité a des applications importantes dans les domaines suivants :

  • L'analyse par grappes : Regroupez les points de données similaires.
  • Système recommandé : Recommander des articles similaires en fonction des préférences historiques de l'utilisateur.
  • détection anormale : identifiez les valeurs aberrantes qui ne sont pas similaires à la plupart des points de données.
  • Identification des images: Identifiez le contenu de l’image en comparant les vecteurs de caractéristiques.
2. Méthode de calcul de similarité dans sklearn

sklearn fournit une variété d'outils et d'algorithmes pour le calcul de similarité. Voici quelques méthodes couramment utilisées :

2.1 Similitude cosinus

La similarité cosinus évalue la similarité entre deux vecteurs en mesurant l'angle entre eux.

from sklearn.metrics.pairwise import cosine_similarity

# 假设X是数据集
cosine_sim = cosine_similarity(X)
  • 1
  • 2
  • 3
  • 4
2.2 Distance euclidienne

La distance euclidienne est la méthode de mesure de distance la plus intuitive, calculant la distance en ligne droite entre deux points.

from sklearn.metrics.pairwise import euclidean_distances

# 假设X是数据集
distances = euclidean_distances(X)
# 计算相似度,通常使用1减去距离
similarity = 1 / (1 + distances)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2.3 Distance de Manhattan

La distance de Manhattan (également appelée distance entre pâtés de maisons) mesure la somme des distances absolues sur les axes de deux points sur un système de coordonnées standard.

from sklearn_extra.metrics import manhattan_distances

# 假设X是数据集
manhattan_dist = manhattan_distances(X)
# 转换为相似度
similarity = 1 / (1 + manhattan_dist)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2.4 Coefficient de similarité de Jaccard

Le coefficient de similarité de Jaccard est principalement utilisé pour mesurer la similarité de deux ensembles, avec une valeur comprise entre 0 et 1.

from sklearn.metrics import jaccard_score

# 假设X和Y是两个数据集
jaccard_sim = jaccard_score(X, Y, average='micro')
  • 1
  • 2
  • 3
  • 4
2.5 Coefficient de corrélation de Pearson

Le coefficient de corrélation de Pearson est utilisé pour mesurer la corrélation linéaire entre deux ensembles de données.

from sklearn.metrics.pairwise import pearsonr

# 假设X和Y是两个数据集
correlation, _ = pearsonr(X[:, 0], Y[:, 0])
  • 1
  • 2
  • 3
  • 4
3. Exemples d'application du calcul de similarité

Supposons que nous devions recommander des produits que des utilisateurs similaires apprécient en fonction de leur comportement historique :

from sklearn.metrics.pairwise import cosine_similarity

# 假设user_behavior是一个DataFrame,记录了用户对商品的评分
user_behavior = ...

# 计算用户之间的相似度
user_similarity = cosine_similarity(user_behavior)

# 推荐系统可以根据相似度来推荐商品
# 例如,找出与目标用户相似度最高的用户喜欢的其他商品
similar_users = user_similarity[目标用户索引].argsort()[::-1]
recommended_products = 商品列表[similar_users[1]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
4. Conclusion

Le calcul de similarité est une technologie de base dans l'analyse des données et l'apprentissage automatique, et sklearn propose diverses méthodes pour effectuer ce travail. Grâce à cet article, nous avons découvert les différentes méthodes de calcul de similarité dans sklearn et fourni des exemples de code pratiques.

Le but de cet article est d'aider les lecteurs à mieux comprendre les calculs de similarité et à maîtriser les méthodes de mise en œuvre de ces techniques dans sklearn. Nous espérons que les lecteurs pourront améliorer leur compréhension du calcul de similarité grâce à cet article et appliquer efficacement ces techniques dans des projets réels. À mesure que la quantité de données continue de croître, les calculs de similarité continueront de jouer un rôle important dans le domaine de la science des données.