Weil "Verwirrungsmatrix" von "Scikit-Lernen" nicht jeden Index erhalten konnte. (Vielleicht ist es Ihnen möglich?)
Wenn Sie beispielsweise feststellen, ob eine Katze eine Katze ist, ist 1 eine Katze und 0 keine Katze. Sagen Sie "preds" voraus und verwenden Sie "label" als korrekte Antwortdaten.
In eine Numpy-Matrix konvertieren
import numpy as np
preds = [0., 1., 1., ..., 0., 1., 0.] #Eine geeignete Liste von 0 oder 1
labels = [0., 1., 1., ..., 0., 1., 0.] #Eine geeignete Liste von 0 oder 1
preds = np.array(preds)
labels = np.array(labels)
Indexieren Sie die Katze
one_ind_p = preds == 1
one_ind_l = labels == 1
zero_ind_p = np.logical_not(one_ind_p) #Inversion von Bool
zero_ind_l = np.logical_not(one_ind_l)
# array([False, True, True, ..., False, True, False])Es werden Daten wie
Holen Sie sich den Index jedes Elements der Verwirrungsmatrix
tp = np.argwhere(one_ind_l & one_ind_p)
fp = np.argwhere(zero_ind_l & one_ind_p)
fn = np.argwhere(one_ind_l & zero_ind_p)
tn = np.argwhere(zero_ind_l & zero_ind_p)
appendix Dies ist die Verwirrungsmatrix http://ibisforest.org/index.php?F%E5%80%A4