confusionmat
分類問題の混同行列の計算
構文
説明
例
分類問題で使用する予測ラベルと真のラベルのサンプルを読み込みます。trueLabels
はイメージ分類問題で使用する真のラベル、predictedLabels
は畳み込みニューラル ネットワークの予測です。
load('Cifar10Labels.mat','trueLabels','predictedLabels');
数値混同行列を計算します。order
は、混同行列に含まれるクラスの順序です。
[m,order] = confusionmat(trueLabels,predictedLabels)
m = 10×10
923 4 21 8 4 1 5 5 23 6
5 972 2 0 0 0 0 1 5 15
26 2 892 30 13 8 17 5 4 3
12 4 32 826 24 48 30 12 5 7
5 1 28 24 898 13 14 14 2 1
7 2 28 111 18 801 13 17 0 3
5 0 16 27 3 4 943 1 1 0
9 1 14 13 22 17 3 915 2 4
37 10 4 4 0 1 2 1 931 10
20 39 3 3 0 0 2 1 9 923
order = 10×1 categorical
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
confusionchart
を使用すると、混同行列を混同行列チャートとしてプロットできます。
figure cm = confusionchart(m,order);
プロットする前に混同行列を計算する必要はありません。代わりに、真のラベルと予測ラベルから混同行列チャートを直接プロットします。列と行の要約やタイトルを追加することもできます。
figure cm = confusionchart(trueLabels,predictedLabels, ... 'Title','My Title', ... 'RowSummary','row-normalized', ... 'ColumnSummary','column-normalized');
ConfusionMatrixChart
オブジェクトは、NormalizedValues
プロパティに数値混同行列を格納し、ClassLabels
プロパティにクラスを格納します。
cm.NormalizedValues
ans = 10×10
923 4 21 8 4 1 5 5 23 6
5 972 2 0 0 0 0 1 5 15
26 2 892 30 13 8 17 5 4 3
12 4 32 826 24 48 30 12 5 7
5 1 28 24 898 13 14 14 2 1
7 2 28 111 18 801 13 17 0 3
5 0 16 27 3 4 943 1 1 0
9 1 14 13 22 17 3 915 2 4
37 10 4 4 0 1 2 1 931 10
20 39 3 3 0 0 2 1 9 923
cm.ClassLabels
ans = 10×1 categorical
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
入力引数
観測値を分類するための既知のグループ。数値ベクトル、logical ベクトル、文字配列、string 配列、文字ベクトルの cell 配列、または categorical ベクトルとして指定します。
group
は、grouphat
と同じ型のグループ化変数です。引数 group
は、グループ化変数 (Statistics and Machine Learning Toolbox)で説明されているように、grouphat
と同じ数の観測値をもたなければなりません。関数 confusionmat
は、文字配列と string 配列を文字ベクトルの cell 配列として扱います。また、confusionmat
は、group
に含まれる NaN
の値、空の値、および 'undefined'
の値を欠損値として扱い、異なるグループまたはカテゴリとしてカウントしません。
例: {'Male','Female','Female','Male','Female'}
データ型: single
| double
| logical
| char
| string
| cell
| categorical
観測値を分類するための予測グループ。数値ベクトル、logical ベクトル、文字配列、string 配列、文字ベクトルの cell 配列、または categorical ベクトルとして指定します。
grouphat
は、group
と同じ型のグループ化変数です。引数 grouphat
は、グループ化変数 (Statistics and Machine Learning Toolbox)で説明されているように、group
と同じ数の観測値をもたなければなりません。関数 confusionmat
は、文字配列と string 配列を文字ベクトルの cell 配列として扱います。また、confusionmat
は、grouphat
に含まれる NaN
の値、空の値、および 'undefined'
の値を欠損値として扱い、異なるグループまたはカテゴリとしてカウントしません。
例: [1 0 0 1 0]
データ型: single
| double
| logical
| char
| string
| cell
| categorical
グループの順序。数値ベクトル、logical ベクトル、文字配列、string 配列、文字ベクトルの cell 配列、または categorical ベクトルとして指定します。
grouporder
は、group
および grouphat
に含まれるすべての異なる要素を含むグループ化変数です。grouporder
を指定して C
の行と列の順序を定義します。group
または grouphat
に存在しない要素が grouporder
に含まれている場合、C
内の対応するエントリは 0
になります。
既定では、グループの順序は s = [group;grouphat]
のデータ型に依存します。
数値ベクトルの場合、この順序は
s
内の一意の値のソート順序になります。logical ベクトルの場合、この順序は
false
(0
)、true
(1
) の順になります。categorical ベクトルの場合、この順序は
によって返された順序になります。categories
(s)その他のデータ型の場合、
s
で出現した順序になります。
例: 'order',{'setosa','versicolor','virginica'}
データ型: single
| double
| logical
| char
| string
| cell
| categorical
出力引数
混同行列。引数 group
および grouphat
に含まれる異なる要素の総数と同じサイズの正方行列として返されます。C(i,j)
は、グループ i
に含まれることがわかっており、グループ j
に含まれることが予測される観測値の数です。
C
の行と列は、同じグループのインデックスと同じ順序で並んでいます。既定では、グループの順序は s = [group;grouphat]
のデータ型に依存します。
数値ベクトルの場合、この順序は
s
内の一意の値のソート順序になります。logical ベクトルの場合、この順序は
false
(0
)、true
(1
) の順になります。categorical ベクトルの場合、この順序は
によって返された順序になります。categories
(s)その他のデータ型の場合、
s
で出現した順序になります。
順序を変更するには、grouporder
を指定します。
関数 confusionmat
は、グループ化変数に含まれる NaN
の値、空の値、および 'undefined'
の値を欠損値として扱い、C
の行と列にそれらを格納しません。
C
の行と列の順序。数値ベクトル、logical ベクトル、categorical ベクトル、または文字ベクトルの cell 配列として返されます。group
および grouphat
が文字配列、string 配列、または文字ベクトルの cell 配列の場合、変数 order
は文字ベクトルの cell 配列になります。そうでない場合、order
は、group
および grouphat
と同じ型になります。
代替機能
confusionchart
を使用し、混同行列の計算とプロットを行います。また、confusionchart
は、データに関する要約統計量を表示し、クラスごとの適合率 (陽性の予測値)、クラスごとの再現率 (真陽性率)、または正しく分類された観測値の総数に基づいて混同行列のクラスを並べ替えます。
バージョン履歴
logical
型の観測値を 1 つだけ使用して混同行列を作成した場合、confusionmat
関数はスカラー値ではなく行列を返します。行と列の既定の順序は、false
(0
)、true
(1
) の順になります。
confusionmat(true,true)
ans = 0 0 0 1
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)