2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
In der Welt der Datenwissenschaft und des maschinellen Lernens ist die Berechnung von Ähnlichkeiten zwischen Datenpunkten eine grundlegende und entscheidende Aufgabe. Die Ähnlichkeitsberechnung kann uns helfen, Muster in Daten zu identifizieren, Clusteranalysen durchzuführen, Empfehlungssysteme zu entwerfen usw. scikit-learn (kurz sklearn) bietet als beliebte Bibliothek für maschinelles Lernen in Python eine Vielzahl von Methoden zur Berechnung der Ähnlichkeit von Daten. In diesem Artikel wird die Methode zur Ähnlichkeitsberechnung in sklearn ausführlich vorgestellt und praktische Codebeispiele bereitgestellt.
Die Ähnlichkeitsberechnung hat wichtige Anwendungen in den folgenden Bereichen:
sklearn bietet eine Vielzahl von Tools und Algorithmen zur Ähnlichkeitsberechnung. Im Folgenden sind einige häufig verwendete Methoden aufgeführt:
Die Kosinusähnlichkeit bewertet die Ähnlichkeit zwischen zwei Vektoren durch Messung des Winkels zwischen ihnen.
from sklearn.metrics.pairwise import cosine_similarity
# 假设X是数据集
cosine_sim = cosine_similarity(X)
Die euklidische Distanz ist die intuitivste Distanzmessmethode und berechnet die geradlinige Distanz zwischen zwei Punkten.
from sklearn.metrics.pairwise import euclidean_distances
# 假设X是数据集
distances = euclidean_distances(X)
# 计算相似度,通常使用1减去距离
similarity = 1 / (1 + distances)
Die Manhattan-Distanz (auch Stadtblockdistanz genannt) misst die Summe der absoluten Achsenabstände zweier Punkte in einem Standardkoordinatensystem.
from sklearn_extra.metrics import manhattan_distances
# 假设X是数据集
manhattan_dist = manhattan_distances(X)
# 转换为相似度
similarity = 1 / (1 + manhattan_dist)
Der Jaccard-Ähnlichkeitskoeffizient wird hauptsächlich zur Messung der Ähnlichkeit zweier Mengen verwendet und hat einen Wert zwischen 0 und 1.
from sklearn.metrics import jaccard_score
# 假设X和Y是两个数据集
jaccard_sim = jaccard_score(X, Y, average='micro')
Der Pearson-Korrelationskoeffizient wird verwendet, um die lineare Korrelation zwischen zwei Datensätzen zu messen.
from sklearn.metrics.pairwise import pearsonr
# 假设X和Y是两个数据集
correlation, _ = pearsonr(X[:, 0], Y[:, 0])
Angenommen, wir müssen Produkte empfehlen, die ähnlichen Benutzern gefallen, basierend auf dem historischen Verhalten des Benutzers:
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]]
Die Ähnlichkeitsberechnung ist eine grundlegende Technologie in der Datenanalyse und im maschinellen Lernen, und sklearn bietet eine Vielzahl von Methoden für diese Arbeit. In diesem Artikel haben wir die verschiedenen Ähnlichkeitsberechnungsmethoden in sklearn kennengelernt und praktische Codebeispiele bereitgestellt.
Der Zweck dieses Artikels besteht darin, den Lesern zu helfen, Ähnlichkeitsberechnungen besser zu verstehen und die Methoden zur Implementierung dieser Techniken in sklearn zu beherrschen. Wir hoffen, dass die Leser durch diesen Artikel ihr Verständnis der Ähnlichkeitsberechnung verbessern und diese Techniken effektiv in tatsächlichen Projekten anwenden können. Da die Datenmenge weiter wächst, werden Ähnlichkeitsberechnungen auch weiterhin eine wichtige Rolle im Bereich der Datenwissenschaft spielen.