sklearn.metrics.jaccard_score¶

sklearn.metrics.jaccard_score(y_true, y_pred, *, labels=None, pos_label=1, average=’binary’, sample_weight=None, zero_division=’warn’)¶

Jaccard similarity coefficient score.

Jaccard-indekset eller Jaccard-sammenfaldskoefficienten, der er defineret som størrelsen af skæringspunktet divideret med størrelsen af foreningen af to etiketsæt, bruges til at sammenligne sæt af forudsagte etiketter for en prøve med det tilsvarende sæt etiketter i y_true.

Læs mere i brugervejledningen.

Parametre y_true1d array-lignende, eller etiketindikator array / sparsom matrix

Grund sandhed (korrekte) etiketter.

y_pred1d array-lignende, eller etiketindikator array / sparse matrix

Forudsagte etiketter, som returneret af en klassifikator.

labelsarray-lignende af form (n_classes,), default=None

Sættet af etiketter, der skal medtages, hvis average != 'binary', og deres rækkefølge, hvis average is None. Etiketter, der er til stede i dataene, kan udelukkes, f.eks. for at beregne et gennemsnit af flere klasser, der ignorerer en overvejende negativ klasse, mens etiketter, der ikke er til stede i dataene, vil resultere i 0 komponenter i et makrogennemsnit. For multilabel-mål er etiketterne kolonneindekser. Som standard anvendes alle etiketter i y_true ogy_pred i sorteret rækkefølge.

pos_labelstr eller int, default=1

Den klasse, der skal rapporteres, hvis average='binary' og dataene er binære.Hvis dataene er multiklasser eller multilabel, ignoreres dette; hvis labels= og average != 'binary' indstilles, rapporteres kun scorer for det pågældende label.

average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’

Hvis None, returneres scoren for hver klasse. I modsat fald bestemmer dette den type middelværdiberegning, der udføres på dataene:

'binary': y_{true,pred}) er binære. 'micro':

Beregn målinger globalt ved at tælle det samlede antal sande positive, falske negative og falske positive resultater.

'macro':

Beregn metrikker for hver etiket og find deres uvægtede gennemsnit. Dette tager ikke hensyn til ubalance mellem etiketter.

'weighted':

Beregn metrikker for hver etiket og find deres gennemsnit, vægtet med støtte (antallet af sande tilfælde for hver etiket). Dette ændrer “makro” for at tage hensyn til ubalance mellem etiketter.

'samples':

Beregn målinger for hver instans og find deres gennemsnit (kun betydningsfuldt for klassifikation med flere etiketter).

sample_weightarray-like of shape (n_samples,), default=None

Sample weights.

zero_division “warn”, {0.0, 1.0}, default=”warn”

Indstiller den værdi, der skal returneres, når der er en nuldivision, dvs. når der ikke er negative værdier i forudsigelser og etiketter. Hvis indstillet til “warn”, fungerer dette som 0, men der gives også en advarsel.

Returnerer scorefloat (hvis average ikke er None) eller array af floats, shape =

Se også

accuracy_score, f_score, multilabel_confusion_matrix

Notes

jaccard_score kan være en dårlig måleenhed, hvis der er nopositive værdier for nogle prøver eller klasser. Jaccard er udefineret, hvis der ikke er nogen sande eller forudsagte etiketter, og vores implementering vil returnere en score på 0 med en advarsel.

1

Wikipedia-indlæg om Jaccard-indekset.

Eksempler

>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])

I det binære tilfælde:

>>> jaccard_score(y_true, y_pred)0.6666...

I tilfældet med flere etiketter:

>>> jaccard_score(y_true, y_pred, average='samples')0.5833...>>> jaccard_score(y_true, y_pred, average='macro')0.6666...>>> jaccard_score(y_true, y_pred, average=None)array()

I multiklassetilfældet:

>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()

Eksempler ved hjælp af sklearn.metrics.jaccard_score¶

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.