homogeneity_score#

sklearn.metrics.homogeneity_score(labels_true, labels_pred)[Quelle]#

Homogenitätsmetrik einer Cluster-Beschriftung gegeben eine Grundwahrheit.

Ein Clustering-Ergebnis erfüllt Homogenität, wenn alle seine Cluster nur Datenpunkte enthalten, die zu einer einzigen Klasse gehören.

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 nicht symmetrisch: Wenn Sie label_true mit label_pred vertauschen, erhalten Sie die completeness_score, die im Allgemeinen unterschiedlich sein wird.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
labels_truearray-like von Form (n_samples,)

Wahre Klassenlabels als Referenz.

labels_predarray-like von Form (n_samples,)

Zu bewertende Clusterlabels.

Gibt zurück:
homogeneityfloat

Score zwischen 0,0 und 1,0. 1,0 steht für eine perfekt homogene Beschriftung.

Siehe auch

completeness_score

Vollständigkeitsmetrik der Cluster-Beschriftung.

v_measure_score

V-Maß (NMI mit arithmetischem Mittelwert-Option).

Referenzen

Beispiele

Perfekte Beschriftungen sind homogen

>>> from sklearn.metrics.cluster import homogeneity_score
>>> homogeneity_score([0, 0, 1, 1], [1, 1, 0, 0])
1.0

Nicht perfekte Beschriftungen, die Klassen weiter in mehr Cluster aufteilen, können perfekt homogen sein

>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 1, 2]))
1.000000
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 2, 3]))
1.000000

Cluster, die Stichproben aus verschiedenen Klassen enthalten, führen nicht zu einer homogenen Beschriftung

>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 0, 1]))
0.0...
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 0, 0]))
0.0...