メインコンテンツ

plot

受信者動作特性 (ROC) 曲線やその他の性能曲線のプロット

R2022a 以降

説明

plot(rocObj) は、rocmetrics オブジェクト rocObjClassNames プロパティの各クラスについて、真陽性率 (TPR) と偽陽性率 (FPR) の関係を示す受信者動作特性 (ROC) 曲線を作成します。関数は各曲線のモデル操作点をマークし、ROC 曲線の下の領域 (AUC) の値と曲線のクラス名を凡例に表示します。

plot(ax,rocObj) は、現在の座標軸ではなく ax によって指定された座標軸にプロットを作成します。

plot(___,Name=Value) では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、AverageCurveType="macro",ClassNames=[] は、マクロ平均法を使用して平均パフォーマンス メトリクスを計算し、平均 ROC 曲線のみをプロットします。

curveObj = plot(___) は、各性能曲線の ROCCurve オブジェクトを返します。

[curveObj,graphicsObjs] = plot(___) は、モデル操作点と対角線のグラフィックス オブジェクトも返します。

すべて折りたたむ

マルチクラス分類問題の rocmetrics オブジェクトを作成し、各クラスの ROC 曲線をプロットします。

fisheriris データ セットを読み込みます。行列 meas には、150 種類の花についての測定値が格納されています。ベクトル species には、それぞれの花の種類がリストされています。species には、3 種類の花の名前が格納されています。

load fisheriris

観測値を 3 つのラベルのいずれかに分類する分類木に学習させます。10 分割の交差検証をモデルに対して実行します。

rng("default") % For reproducibility
Mdl = fitctree(meas,species,Crossval="on");

検証分割観測値の分類スコアを計算します。

[~,Scores] = kfoldPredict(Mdl);
size(Scores)
ans = 1×2

   150     3

Scores は、1503 列のサイズの行列です。Scores の列の順序は Mdl のクラスの順序に従います。Mdl.ClassNames に格納されているクラスの順序を表示します。

Mdl.ClassNames
ans = 3×1 cell
    {'setosa'    }
    {'versicolor'}
    {'virginica' }

species の真のラベルと Scores の分類スコアを使用して rocmetrics オブジェクトを作成します。Mdl.ClassNames を使用して Scores の列の順序を指定します。

rocObj = rocmetrics(species,Scores,Mdl.ClassNames);

各クラスの ROC 曲線をプロットします。

plot(rocObj)

Figure contains an axes object. The axes object with title ROC Curve, xlabel False Positive Rate, ylabel True Positive Rate contains 7 objects of type roccurve, scatter, line. These objects represent setosa (AUC = 1), setosa Model Operating Point, versicolor (AUC = 0.9636), versicolor Model Operating Point, virginica (AUC = 0.9636), virginica Model Operating Point.

関数 plot は、各クラスの ROC 曲線をプロットし、モデル操作点に塗りつぶされた円のマーカーを表示します。凡例に各曲線のクラスの名前と AUC の値が表示されます。

関数 plot を使用して平均 ROC 曲線をプロットします。関数 plot の出力の ROCCurve オブジェクトを使用してメトリクスの平均値を取得します。

fisheriris データ セットを読み込みます。行列 meas には、150 種類の花についての測定値が格納されています。ベクトル species には、それぞれの花の種類がリストされています。species には、3 種類の花の名前が格納されています。

load fisheriris

観測値を 3 つのラベルのいずれかに分類する分類木に学習させます。10 分割の交差検証をモデルに対して実行します。

rng("default") % For reproducibility
Mdl = fitctree(meas,species,Crossval="on");

検証分割観測値の分類スコアを計算します。

[~,Scores] = kfoldPredict(Mdl);

rocmetrics オブジェクトを作成します。

rocObj = rocmetrics(species,Scores,Mdl.ClassNames);

各クラスの ROC 曲線をプロットします。AverageCurveType="macro" を指定し、マクロ平均法を使用して平均 ROC 曲線のメトリクスを計算します。

curveObj = plot(rocObj,AverageCurveType="macro")

Figure contains an axes object. The axes object with title ROC Curve, xlabel False Positive Rate, ylabel True Positive Rate contains 9 objects of type roccurve, scatter, line. These objects represent setosa (AUC = 1), setosa Model Operating Point, versicolor (AUC = 0.9636), versicolor Model Operating Point, virginica (AUC = 0.9636), virginica Model Operating Point, Macro-average (AUC = 0.9788), Macro-average Model Operating Point.

curveObj = 
  4×1 ROCCurve array:

  ROCCurve    (setosa (AUC = 1))
  ROCCurve    (versicolor (AUC = 0.9636))
  ROCCurve    (virginica (AUC = 0.9636))
  ROCCurve    (Macro-average (AUC = 0.9788))

関数 plot は、各性能曲線の ROCCurve オブジェクトを返します。このオブジェクトを使用して、プロットの作成後にそのプロパティのクエリと設定を行うことができます。

curveObj の 4 番目の要素に格納されている平均 ROC 曲線のデータ点を表示します。

tbl_average = table(curveObj(4).Thresholds,curveObj(4).XData,curveObj(4).YData, ...
    VariableNames=["Threshold",curveObj(4).XAxisMetric,curveObj(4).YAxisMetric])
tbl_average=33×3 table
    Threshold    FalsePositiveRate    TruePositiveRate
    _________    _________________    ________________

           1                 0                  0     
           1         0.0066667            0.60667     
     0.95455              0.01               0.64     
     0.95349              0.01               0.68     
     0.95238          0.013333            0.72667     
     0.95122          0.013333            0.82667     
     0.91304          0.016667               0.86     
     0.91111          0.023333            0.88667     
     0.86957          0.026667            0.91333     
         0.6          0.026667            0.92667     
     0.33333          0.026667               0.94     
         0.2          0.026667            0.94667     
        -0.2              0.03            0.94667     
    -0.33333          0.036667            0.94667     
        -0.6          0.043333            0.94667     
        -0.6          0.046667            0.94667     
      ⋮

rocmetrics オブジェクトを作成し、関数 plot を使用して性能曲線をプロットします。関数 plot の名前と値の引数 XAxisMetricYAxisMetric を指定して、ROC 曲線とは異なるタイプの性能曲線をプロットします。関数 plot を呼び出すときに新しいメトリクスを指定すると、その新しいメトリクスが関数で計算され、それらを使用して曲線がプロットされます。

ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子 (X) と、不良 ('b') または良好 ('g') という 351 個の二項反応 (Y) が含まれています。

load ionosphere

データを学習セットとテスト セットに分割します。観測値の約 80% をサポート ベクター マシン (SVM) モデルの学習に使用し、観測値の約 20% を学習済みモデルの新しいデータでの性能の検定に使用します。データの分割には cvpartition を使用します。

rng("default") % For reproducibility of the partition
c = cvpartition(Y,Holdout=0.20);
trainingIndices = training(c); % Indices for the training set
testIndices = test(c); % Indices for the test set
XTrain = X(trainingIndices,:);
YTrain = Y(trainingIndices);
XTest = X(testIndices,:);
YTest = Y(testIndices);

SVM 分類モデルに学習させます。

Mdl = fitcsvm(XTrain,YTrain);

テスト セットの分類スコアを計算します。

[~,Scores] = predict(Mdl,XTest);

rocmetrics オブジェクトを作成します。関数 rocmetrics により、さまざまなしきい値における FPR と TPR が計算されます。

rocObj = rocmetrics(YTest,Scores,Mdl.ClassNames);

1 番目のクラスの適合率-再現率曲線をプロットします。"y" 軸のメトリクスを適合率 (つまり陽性の予測値)、"x" 軸のメトリクスを再現率 (つまり真陽性率) として指定します。関数 plot により、新しいメトリクスが計算されて曲線がプロットされます。名前と値の引数 ShowModelOperatingPointtrue に設定してモデル操作点を表示します。

curveObj = plot(rocObj,ClassNames=Mdl.ClassNames(1), ...
    YAxisMetric="PositivePredictiveValue",XAxisMetric="TruePositiveRate",...
    ShowModelOperatingPoint=true);

Figure contains an axes object. The axes object with title Precision-Recall Curve, xlabel Recall (True Positive Rate), ylabel Precision (Positive Predictive Value) contains 2 objects of type roccurve, scatter. These objects represent b (PR-AUC = 0.8699), b Model Operating Point.

1 番目のクラスの検出誤差トレードオフ (DET) グラフをプロットします。"y" 軸のメトリクスを偽陰性率、"x" 軸のメトリクスを偽陽性率として指定します。"x" 軸と "y" 軸に対数スケールを使用します。

f = figure;
plot(rocObj,ClassNames=Mdl.ClassNames(1), ...
    YAxisMetric="FalseNegativeRate",XAxisMetric="FalsePositiveRate")
f.CurrentAxes.XScale = "log";
f.CurrentAxes.YScale = "log";
title("DET Graph")

Figure contains an axes object. The axes object with title DET Graph, xlabel False Positive Rate, ylabel False Negative Rate contains an object of type roccurve. This object represents b.

ブートストラップ標本を使用して FPR と TPR の固定のしきい値に対する信頼区間を計算し、ROC 曲線に TPR の信頼区間をプロットします。

fisheriris データ セットを読み込みます。行列 meas には、150 種類の花についての測定値が格納されています。ベクトル species には、それぞれの花の種類がリストされています。species には、3 種類の花の名前が格納されています。

load fisheriris

観測値を 3 つのラベルのいずれかに分類する単純ベイズ モデルに学習させます。10 分割の交差検証をモデルに対して実行します。

rng("default") % For reproducibility
Mdl = fitcnb(meas,species,Crossval="on");

検証分割観測値の分類スコアを計算します。

[~,Scores] = kfoldPredict(Mdl);

rocmetrics オブジェクトを作成します。NumBootstraps を 100 と指定し、100 個のブートストラップ標本を使用して信頼区間を計算します。

rocObj = rocmetrics(species,Scores,Mdl.ClassNames, ...
    NumBootstraps=100);

TPR の ROC 曲線と信頼区間をプロットします。信頼区間を表示するために ShowConfidenceIntervals=true を指定します。

plot(rocObj,ShowConfidenceIntervals=true)

Figure contains an axes object. The axes object with title ROC Curve, xlabel False Positive Rate, ylabel True Positive Rate contains 7 objects of type roccurve, scatter, line. These objects represent setosa (AUC = 1), setosa Model Operating Point, versicolor (AUC = 0.9896), versicolor Model Operating Point, virginica (AUC = 0.9896), virginica Model Operating Point.

各曲線の周囲に影付きの領域で信頼区間が示されます。setosa の信頼区間は非ゼロの偽陽性率の幅が 0 であるため、プロットに setosa に対する影付きの領域はありません。

rocmetrics は、交差検証済みスコアから ROC 曲線を計算します。そのため、各 ROC 曲線は、データ セット全体 (measspecies) で学習させたモデルの未観測のテスト データでの ROC 曲線の推定を表します。信頼区間は、曲線の不確かさの推定を表しています。この不確かさは、データ セット全体で学習させたモデルの未観測のテスト データでの分散によるものです。

rocmetrics オブジェクトを作成してバイナリ分類問題のパフォーマンス メトリクス (FPR と TPR) を計算し、関数 plot を使用して ROC 曲線をプロットします。関数 plot により、モデル操作点に塗りつぶされた円が表示されます。モデル操作点にデータ ヒントを表示します。

ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子 (X) と、不良 ('b') または良好 ('g') という 351 個の二項反応 (Y) が含まれています。

load ionosphere

データを学習セットとテスト セットに分割します。観測値の約 80% をサポート ベクター マシン (SVM) モデルの学習に使用し、観測値の約 20% を学習済みモデルの新しいデータでの性能の検定に使用します。データの分割には cvpartition を使用します。

rng("default") % For reproducibility of the partition
c = cvpartition(Y,Holdout=0.20);
trainingIndices = training(c); % Indices for the training set
testIndices = test(c); % Indices for the test set
XTrain = X(trainingIndices,:);
YTrain = Y(trainingIndices);
XTest = X(testIndices,:);
YTest = Y(testIndices);

SVM 分類モデルに学習させます。

Mdl = fitcsvm(XTrain,YTrain);

テスト セットの分類スコアを計算します。

[~,Scores] = predict(Mdl,XTest);

rocmetrics オブジェクトを作成します。

rocObj = rocmetrics(YTest,Scores,Mdl.ClassNames);

関数 rocmetrics により、さまざまなしきい値における FPR と TPR が計算され、AUC の値が特定されます。

ROC 曲線をプロットします。ClassNames を指定して 1 番目のクラスの曲線をプロットします。

curveObj = plot(rocObj,ClassNames=Mdl.ClassNames(1));

Figure contains an axes object. The axes object with title ROC Curve, xlabel False Positive Rate, ylabel True Positive Rate contains 3 objects of type roccurve, scatter, line. These objects represent b (AUC = 0.8587), b Model Operating Point.

関数 plot は、各性能曲線の ROCCurve オブジェクトを返します。このオブジェクトを使用して、プロットの作成後にそのプロパティのクエリと設定を行うことができます。

塗りつぶされた円のマーカーは、しきい値が 0 であるモデル操作点を示します。0 以下の最も大きいしきい値をもつ点が関数で選択されます。凡例に曲線のクラスの名前と AUC の値が表示されます。

曲線上のデータ点をクリックしてデータ ヒントを作成できます。あるいは、関数 datatip を使用してデータ ヒントを作成できます。

rocObjMetrics プロパティでクラス b のモデル操作点を特定します。関数 predict は、スコアが高い方のクラスに観測値を分類します。これは、調整スコアが非負になるクラスに対応します。つまり、関数 predict で使用される標準のしきい値は 0 です。rocObjMetrics プロパティのクラス b に対する行から、最も小さい非負のしきい値をもつ点を見つけます。曲線上の点は、しきい値 0 の性能と同じ性能を示します。

idx_b = strcmp(rocObj.Metrics.ClassName,"b");
t = rocObj.Metrics(idx_b,:);
X = rocObj.Metrics(idx_b,:).FalsePositiveRate;
Y = rocObj.Metrics(idx_b,:).TruePositiveRate;
T = rocObj.Metrics(idx_b,:).Threshold;
idx_model = find(T>=0,1,"last");
modelpt = [T(idx_model) X(idx_model) Y(idx_model)]
modelpt = 1×3

    0.1045    0.0222    0.6800

モデル操作点にデータ ヒントを表示します。ターゲットのグラフ オブジェクトを関数 plot の出力オブジェクトとして指定します。

datatip(curveObj,DataIndex=idx_model,Location="southeast");

Figure contains an axes object. The axes object with title ROC Curve, xlabel False Positive Rate, ylabel True Positive Rate contains 3 objects of type roccurve, scatter, line. These objects represent b (AUC = 0.8587), b Model Operating Point.

入力引数

すべて折りたたむ

分類性能を評価するオブジェクト。rocmetrics オブジェクトとして指定します。

ターゲットの座標軸。Axes オブジェクトを指定します。

現在の座標軸が直交である場合に座標軸が指定されなかった場合、plot は現在の座標軸 (gca) を使用します。Axes オブジェクトを作成する方法の詳細については、axesgca を参照してください。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: plot(rocObj,YAxisMetric="PositivePredictiveValue",XAxisMetric="TruePositiveRate") は、適合率 (陽性の予測値) と再現率 (真陽性率) の関係を表す適合率-再現率曲線をプロットします。

R2024b 以降

ROC 曲線や他の性能曲線の平均化方法。"none""micro""macro""weighted"、方法の名前の string 配列、または方法の名前の cell 配列として指定します。

  • "none" (既定) を指定した場合、plot 関数で平均性能曲線が作成されません。

  • string 配列または文字ベクトルの cell 配列として複数の方法を指定した場合、plot 関数で指定した方法を使用して複数の平均性能曲線がプロットされます。

  • 1 つ以上の平均化方法を指定し、ClassNames=[] を指定した場合、plot 関数で平均性能曲線のみがプロットされます。

plot は、マルチクラス分類問題のパフォーマンス メトリクスの平均を計算し、次の方法を使用して平均性能曲線をプロットします。

  • "micro" (マイクロ平均) — plot は、1 対他のすべてのバイナリ分類問題を 1 つのバイナリ分類問題として扱うことで平均パフォーマンス メトリクスを求めます。関数は、結合されたバイナリ分類問題の混同行列の成分を計算してから、その混同行列の値を使用して平均メトリクス (名前と値の引数 XAxisMetric および YAxisMetric で指定) を計算します。

  • "macro" (マクロ平均) — plot は、1 対他のすべてのバイナリ分類問題の値を平均してメトリクスの平均値を計算します。

  • "weighted" (加重マクロ平均) — plot は、マクロ平均法を使用し、事前クラス確率 (rocObjPrior プロパティ) を重みとして使用してメトリクスの加重平均値を計算します。

平均性能曲線用に plot から返される ROCCurve オブジェクトの XDataYData、および Thresholds プロパティに含まれているベクトルの長さは、アルゴリズムのタイプに応じて決まります。詳細については、パフォーマンス メトリクスの平均を参照してください。

例: AverageCurveType="macro"

例: AverageCurveType=["micro","macro"]

データ型: char | string | cell

プロットするクラス ラベル。categorical 配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列として指定します。ClassNames の値とデータ型は、rocObjClassNames プロパティのクラス名のものと一致しなければなりません。(文字配列または string 配列は文字ベクトルの cell 配列として扱われます。)

  • 複数のクラス ラベルを指定した場合、関数 plot で各クラスの ROC 曲線がプロットされます。

  • ClassNames=[] を指定し、AverageCurveType を使用して 1 つ以上の平均化方法を指定した場合、関数 plot で平均 ROC 曲線のみがプロットされます。

例: ClassNames=["red","blue"]

データ型: single | double | logical | char | string | cell | categorical

y 軸のメトリクス (YAxisMetric) の信頼区間を表示するためのフラグ。数値または logical の 0 (false) または 1 (true) として指定します。

ShowConfidenceIntervals の値を true にできるのは、rocObjMetrics プロパティに y 軸のメトリクスの信頼区間が格納されている場合のみです。

例: ShowConfidenceIntervals=true

データ型: single | double | logical

[0,0] から [1,1] までの対角線を表示するためのフラグ。数値または logical の 1 (true) または 0 (false) として指定します。

既定値は、ROC 曲線または平均 ROC 曲線をプロットする場合は true、それ以外の場合は false です。

ROC 曲線のプロットでは、対角線はランダムな分類器を表し、[0,0][0,1]、および [1,1] を通る線は完璧な分類器を表します。

例: ShowDiagonalLine=false

データ型: single | double | logical

モデル操作点を表示するためのフラグ。数値または logical の 1 (true) または 0 (false) として指定します。

既定値は、ROC 曲線の場合は true、それ以外の場合は false です。

例: ShowModelOperatingPoint=false

データ型: single | double | logical

x 軸のメトリクス。組み込みメトリクスの名前またはカスタム メトリクスの名前の文字ベクトルまたは string スカラー、あるいは関数ハンドル (@metricName) として指定します。

  • 組み込みメトリクス — 文字ベクトルまたは string スカラーを使用して次の組み込みメトリクスの名前を指定します。

    名前説明
    "TruePositives" または "tp"真陽性の数 (TP)
    "FalseNegatives" または "fn"偽陰性の数 (FN)
    "FalsePositives" または "fp"偽陽性の数 (FP)
    "TrueNegatives" または "tn"真陰性の数 (TN)
    "SumOfTrueAndFalsePositives" または "tp+fp"TP と FP の和
    "RateOfPositivePredictions" または "rpp"陽性予測率 (RPP)、(TP+FP)/(TP+FN+FP+TN)
    "RateOfNegativePredictions" または "rnp"陰性予測率 (RNP)、(TN+FN)/(TP+FN+FP+TN)
    "Accuracy" または "accu"精度、(TP+TN)/(TP+FN+FP+TN)
    "TruePositiveRate""tpr"、または "recall"真陽性率 (TPR) (再現率または感度とも呼ばれる)、TP/(TP+FN)
    "FalseNegativeRate""fnr"、または "miss"偽陰性率 (FNR)、失敗率、FN/(TP+FN)
    "FalsePositiveRate" または "fpr"偽陽性率 (FPR) (フォールアウトまたは 1 - 特異度とも呼ばれる)、FP/(TN+FP)
    "TrueNegativeRate""tnr"、または "spec"真陰性率 (TNR)、特異度、TN/(TN+FP)
    "PositivePredictiveValue""ppv""prec"、または "precision"陽性予測値 (PPV)、適合率、TP/(TP+FP)
    "NegativePredictiveValue" または "npv"陰性予測値 (NPV)、TN/(TN+FN)
    "f1score"F1 スコア、2*TP/(2*TP+FP+FN)
    "ExpectedCost" または "ecost"

    予測コスト、(TP*cost(P|P)+FN*cost(N|P)+FP*cost(P|N)+TN*cost(N|N))/(TP+FN+FP+TN)。ここで、cost[0,cost(N|P);cost(P|N),0] を含む 2 行 2 列の誤分類コスト行列です。cost(N|P) は陽性クラス (P) を陰性クラス (N) として誤分類するコストで、cost(P|N) は陰性クラスを陽性クラスとして誤分類するコストです。

    1 対他の各バイナリ問題について、rocmetrics の名前と値の引数 Cost で指定された KK 列の行列が 2 行 2 列の行列に変換されます。詳細については、誤分類コスト行列を参照してください。

    事前クラス確率 (Prior) と Labels のクラス数を使用してスケール ベクトルが計算され、このスケール ベクトルに従ってパフォーマンス メトリクスがスケーリングされます。詳細については、パフォーマンス メトリクスを参照してください。

  • Metrics プロパティに格納されているカスタム メトリクス — 入力オブジェクト rocObjMetrics プロパティに格納されているカスタム メトリクスの名前を指定します。関数 rocmetrics は、カスタム メトリクスに "CustomMetricN" として名前を付けます。ここで、N はカスタム メトリクスを参照する番号です。たとえば、Metrics の 1 番目のカスタム メトリクスを x 軸のメトリクスとして使用するには XAxisMetric="CustomMetric1" と指定します。

  • カスタム メトリクス — 関数ハンドルを使用して新しいカスタム メトリクスを指定します。パフォーマンス メトリクスを返すカスタム関数は次の形式でなければなりません。

    metric = customMetric(C,scale,cost)

    • 出力引数 metric はスカラー値です。

    • カスタム メトリクスは混同行列 (C)、スケール ベクトル (scale)、およびコスト行列 (cost) の関数です。1 対他の各バイナリ分類について、それらの入力値が特定されます。詳細については、パフォーマンス メトリクスを参照してください。

      • C[TP,FN;FP,TN] で構成される 22 列の混同行列です。

      • scale21 列のスケール ベクトルです。

      • cost22 列の誤分類コスト行列です。

    関数 plot は、カスタム メトリクスの軸ラベルに "Custom Metric" という名前を付けます。

    カスタム メトリクスに対する交差検証はサポートされていません。代わりに、rocmetrics オブジェクトの作成時にブートストラップを使用するように指定できます。

入力オブジェクト rocObjMetrics プロパティにない新しいメトリクスを指定すると、関数 plot でメトリクスの値が計算されてプロットされます。rocObj の作成時に信頼区間を計算した場合、関数 plot で新しいメトリクスの信頼区間も計算されます。

関数 plot は、パフォーマンス メトリクスの値に含まれる NaN を無視します。すべて棄却しきい値 (TP = FP = 0) では陽性予測値 (PPV) が NaN になり、すべて確定しきい値 (TN = FN = 0) では陰性予測値 (NPV) が NaN になることに注意してください。詳細については、しきい値、固定のメトリクス、固定のメトリクスの値を参照してください。

例: XAxisMetric="FalseNegativeRate"

データ型: char | string | function_handle

y 軸のメトリクス。組み込みメトリクスの名前またはカスタム メトリクスの名前の文字ベクトルまたは string スカラー、あるいは関数ハンドル (@metricName) として指定します。詳細については、XAxisMetric を参照してください。

例: YAxisMetric="FalseNegativeRate"

データ型: char | string | function_handle

出力引数

すべて折りたたむ

性能曲線のオブジェクト。ROCCurve オブジェクトまたは ROCCurve オブジェクトの配列として返されます。plot は、各性能曲線の ROCCurve オブジェクトを返します。

curveObj は、プロットの作成後にそのプロパティのクエリと変更を行う場合に使用します。プロパティの一覧については、ROCCurve のプロパティ を参照してください。

モデル操作点と対角線のグラフィックス オブジェクト。Scatter オブジェクトと Line オブジェクトを含むグラフィックス配列として返されます。

graphicsObjs には、各モデル操作点の Scatter オブジェクト (ShowModelOperatingPoint=true の場合) と対角線の Line オブジェクト (ShowDiagonalLine=true の場合) が格納されます。graphicsObjs は、プロットの作成後にモデル操作点や対角線のプロパティのクエリと変更を行う場合に使用します。プロパティの一覧については、Scatter のプロパティ および Line のプロパティ を参照してください。

詳細

すべて折りたたむ

アルゴリズム

すべて折りたたむ

参照

[1] Sebastiani, Fabrizio. "Machine Learning in Automated Text Categorization." ACM Computing Surveys 34, no. 1 (March 2002): 1–47.

バージョン履歴

R2022a で導入

すべて展開する