mutual_info_score#
- sklearn.metrics.mutual_info_score(labels_true, labels_pred, *, contingency=None)[Quelle]#
Gegenseitige Information zwischen zwei Clusterings.
Die gegenseitige Information ist ein Maß für die Ähnlichkeit zwischen zwei Labeln derselben Daten. Wenn \(|U_i|\) die Anzahl der Stichproben im Cluster \(U_i\) und \(|V_j|\) die Anzahl der Stichproben im Cluster \(V_j\) ist, dann ist die gegenseitige Information zwischen den Clusterings \(U\) und \(V\) gegeben durch
\[MI(U,V)=\sum_{i=1}^{|U|} \sum_{j=1}^{|V|} \frac{|U_i\cap V_j|}{N} \log\frac{N|U_i \cap V_j|}{|U_i||V_j|}\]Diese Metrik ist unabhängig von den absoluten Werten der Labels: eine Permutation der Klassen- oder Cluster-Labelwerte ändert den Score-Wert in keiner Weise.
Diese Metrik ist außerdem symmetrisch: Das Vertauschen von \(U\) (d.h.
label_true) mit \(V\) (d.h.label_pred) ergibt denselben Score-Wert. Dies kann nützlich sein, um die Übereinstimmung von zwei unabhängigen Label-Zuweisungsstrategien für denselben Datensatz zu messen, wenn die tatsächliche Grundwahrheit nicht bekannt ist.Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- labels_truearray-like von der Form (n_samples,), dtype=integral
Eine Clusterung der Daten in disjunkte Teilmengen, in der obigen Formel als \(U\) bezeichnet.
- labels_predarray-like von der Form (n_samples,), dtype=integral
Eine Clusterung der Daten in disjunkte Teilmengen, in der obigen Formel als \(V\) bezeichnet.
- contingency{array-like, sparse matrix} von der Form (n_classes_true, n_classes_pred), Standard=None
Eine Kontingenzmatrix, die von der Funktion
contingency_matrixgeliefert wird. Wenn der WertNoneist, wird er berechnet, andernfalls wird der angegebene Wert verwendet, wobeilabels_trueundlabels_predignoriert werden.
- Gibt zurück:
- mifloat
Gegenseitige Information, ein nicht-negativer Wert, gemessen in Nats unter Verwendung des natürlichen Logarithmus.
Siehe auch
adjusted_mutual_info_scoreGegenseitige Information, korrigiert für Zufall.
normalized_mutual_info_scoreNormalisierte gegenseitige Information.
Anmerkungen
Der verwendete Logarithmus ist der natürliche Logarithmus (Basis-e).
Beispiele
>>> from sklearn.metrics import mutual_info_score >>> labels_true = [0, 1, 1, 0, 1, 0] >>> labels_pred = [0, 1, 0, 0, 1, 1] >>> mutual_info_score(labels_true, labels_pred) 0.0566
Galeriebeispiele#
Anpassung für Zufälligkeit in der Clusterleistungsbewertung