Main Content

sortClasses

混同行列チャートのクラスの並べ替え

説明

sortClasses(cm,order) は、order で指定された順序で混同行列チャート cm のクラスを並べ替えます。混同行列の対角線上の値に基づく自然順、または指定した固定の順序でクラスを並べ替えることができます。

すべて折りたたむ

分類問題で使用する予測ラベルと真のラベルのサンプルを読み込みます。trueLabels はイメージ分類問題で使用する真のラベル、predictedLabels は畳み込みニューラル ネットワークの予測です。混同行列チャートを作成します。

load('Cifar10Labels.mat','trueLabels','predictedLabels');
figure
cm = confusionchart(trueLabels,predictedLabels);

クラスが固定の順序となるように、混同行列チャートのクラスを並べ替えます。

sortClasses(cm, ...
    ["cat" "dog" "horse" "deer" "bird" "frog", ...
    "airplane" "ship" "automobile" "truck"])

分類問題で使用する予測ラベルと真のラベルのサンプルを読み込みます。trueLabels はイメージ分類問題で使用する真のラベル、predictedLabels は畳み込みニューラル ネットワークの予測です。列と行の要約が示された混同行列チャートを作成します。

load('Cifar10Labels.mat','trueLabels','predictedLabels');
figure
cm = confusionchart(trueLabels,predictedLabels, ...
    'ColumnSummary','column-normalized', ...
    'RowSummary','row-normalized');

クラスごとの再現率 (真陽性率) に基づいて混同行列のクラスを並べ替えるには、セルの値を行単位で (真のクラスが同じである観測値の数に基づいて) 正規化します。対応する対角セルの値に基づいてクラスを並べ替え、セルの値の正規化をリセットします。これにより、行の要約に含まれる青いセルで示された割合が右に向かって減少するようにクラスが並べ替えられます。

cm.Normalization = 'row-normalized';
sortClasses(cm,'descending-diagonal');
cm.Normalization = 'absolute';

クラスごとの適合率 (陽性の予測値) に基づいてクラスを並べ替えるには、セルの値を列単位で (予測クラスが同じである観測値の数に基づいて) 正規化します。対応する対角セルの値に基づいてクラスを並べ替え、セルの値の正規化をリセットします。これにより、列の要約に含まれる青いセルで示された割合が下に向かって減少するようにクラスが並べ替えられます。

cm.Normalization = 'column-normalized';
sortClasses(cm,'descending-diagonal');
cm.Normalization = 'absolute';

入力引数

すべて折りたたむ

混同行列チャート。ConfusionMatrixChart オブジェクトとして指定します。混同行列チャートを作成するには、confusionchart を使用します。

混同行列チャートのクラスを並べ替える順序。次のいずれかの値として指定します。

  • 'auto' — 関数 sort による定義に基づき自然順でクラスを並べ替えます。たとえば、混同行列チャートのクラス ラベルが string ベクトルである場合、アルファベット順に並べ替えます。クラス ラベルが序数の categorical ベクトルである場合、クラス ラベルの順序を使用します。

  • 'ascending-diagonal' — 混同行列の対角線上の値が左上から右下に向かって大きくなるようにクラスを並べ替えます。

  • 'descending-diagonal' — 混同行列の対角線上の値が左上から右下に向かって小さくなるようにクラスを並べ替えます。

  • 'cluster' (Statistics and Machine Learning Toolbox™ が必要) — 似たようなクラスがクラスターになるようにクラスを並べ替えます。関数 pdist (Statistics and Machine Learning Toolbox)linkage (Statistics and Machine Learning Toolbox)、および optimalleaforder (Statistics and Machine Learning Toolbox) を使用して、クラスター化をカスタマイズできます。詳細については、クラスの並べ替えによる類似するクラスのクラスター化 (Statistics and Machine Learning Toolbox)を参照してください。

  • Array — categorical ベクトル、数値ベクトル、string ベクトル、文字配列、文字ベクトルの cell 配列、または logical ベクトルとして指定された一意の順序でクラスを並べ替えます。この配列は、混同行列チャートの ClassLabels プロパティの順列でなければなりません。

例: sortClasses(cm,'ascending-diagonal')

例: sortClasses(cm,["owl","cat","toad"])

バージョン履歴

R2018b で導入