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 類似係数スコア(Score)を計算します。
Jaccard index、またはJaccard similarity coefficientは、交差点のサイズを2つのラベルセットの和のサイズで割ったものと定義され、サンプルの予測ラベルのセットをy_true
の対応するラベルのセットと比較するために使用されます。
詳細はユーザーガイドを参照。
Parameters y_true1d array-like, or label indicator array / sparse matrix
Ground Truth (correct) labels.予測されるラベルを表す配列。
y_pred1d array-like, or label indicator array / sparse matrix
Predicted labels, as returned by a classifier.
labelsarray-like of shape (n_classes,), default=None
set of labels to include when average != 'binary'
, and theirorder if average is None
. データ中に存在するラベルは、例えば負クラスを無視したマルチクラス平均を計算する場合、除外することができる一方、データ中に存在しないラベルは、マクロ平均では0成分となる。 マルチラベル・ターゲットでは、ラベルは列インデックスである。
pos_labelstr or int, default=1
average='binary'
でデータがバイナリの場合、報告するクラス。
average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’
None
の場合、各クラスのスコアが返されます。 それ以外の場合は、
'binary'
データに対して行われる平均化のタイプを決定する。
pos_label
で指定されたクラスについてのみ結果を報告する。ターゲット(y_{true,pred}
)がバイナリの場合のみ適用される。
真陽性、偽陰性、偽陽性の合計をカウントすることにより、グローバルにメトリクスを計算します。
各ラベルごとにメトリクスを計算し、その非加重平均を求めます。 これはラベルの不均衡を考慮しません。
'weighted'
:
各ラベルについてメトリクスを計算し、サポート(各ラベルの真のインスタンスの数)で重み付けした平均を求めます。 これにより、ラベルの不均衡を考慮した’マクロ’に変更されます。
各インスタンスのメトリクスを計算し、その平均を求める (マルチラベル分類にのみ意味がある)。
sample_weightarray-like of shape (n_samples,), default=None
サンプル重み。
zero_division “warn”, {0.0, 1.0}, default=”warn”
ゼロ分割、すなわち予測値とラベルに負の値がないときに返す値を指定します。
戻り値 scorefloat (if average is not None) or array of floats, shape =
See also
accuracy_score
, f_score
, multilabel_confusion_matrix
注意
jaccard_score
いくつかのサンプルまたはクラスで非正がある場合は悪いメトリックである可能性もある。 Jaccard は、真のラベルや予測されるラベルがない場合は定義されず、私たちの実装は警告とともにスコア 0 を返します。
例
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
バイナリの場合:
>>> jaccard_score(y_true, y_pred)0.6666...
マルチラベルの場合:
バイナリの場合:
>>> jaccard_score(y_true, y_pred)0.6666...
バイナリの場合:
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
>>> 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()
マルチクラスの場合:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()