このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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 = 10x1 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 = 10x1 categorical
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
入力引数
group
— 既知のグループ
数値ベクトル | logical ベクトル | 文字配列 | string 配列 | 文字ベクトルの cell 配列 | categorical ベクトル
観測値を分類するための既知のグループ。数値ベクトル、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
grouphat
— 予測グループ
数値ベクトル | logical ベクトル | 文字配列 | 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
grouporder
— グループの順序
数値ベクトル | logical ベクトル | 文字配列 | string 配列 | 文字ベクトルの cell 配列 | categorical ベクトル
グループの順序。数値ベクトル、logical ベクトル、文字配列、string 配列、文字ベクトルの cell 配列、または categorical ベクトルとして指定します。
grouporder
は、group
および grouphat
に含まれるすべての異なる要素を含むグループ化変数です。grouporder
を指定して C
の行と列の順序を定義します。group
または grouphat
に存在しない要素が grouporder
に含まれている場合、C
内の対応するエントリは 0
になります。
既定では、グループの順序は s = [group;grouphat]
のデータ型に依存します。
数値ベクトルと logical ベクトルの場合、この順序は
s
のソート順序になります。categorical ベクトルの場合、この順序は
によって返された順序になります。categories
(s)その他のデータ型の場合、
s
で出現した順序になります。
例: 'order',{'setosa','versicolor','virginica'}
データ型: single
| double
| logical
| char
| string
| cell
| categorical
出力引数
C
— 混同行列
行列
混同行列。引数 group
および grouphat
に含まれる異なる要素の総数と同じサイズの正方行列として返されます。C(i,j)
は、グループ i
に含まれることがわかっており、グループ j
に含まれることが予測される観測値の数です。
C
の行と列は、同じグループのインデックスと同じ順序で並んでいます。既定では、グループの順序は s = [group;grouphat]
のデータ型に依存します。
数値ベクトルと logical ベクトルの場合、この順序は
s
のソート順序になります。categorical ベクトルの場合、この順序は
によって返された順序になります。categories
(s)その他のデータ型の場合、
s
で出現した順序になります。
順序を変更するには、grouporder
を指定します。
関数 confusionmat
は、グループ化変数に含まれる NaN
の値、空の値、および 'undefined'
の値を欠損値として扱い、C
の行と列にそれらを格納しません。
order
— 行と列の順序
数値ベクトル | logical ベクトル | categorical ベクトル | 文字ベクトルの cell 配列
C
の行と列の順序。数値ベクトル、logical ベクトル、categorical ベクトル、または文字ベクトルの cell 配列として返されます。group
および grouphat
が文字配列、string 配列、または文字ベクトルの cell 配列の場合、変数 order
は文字ベクトルの cell 配列になります。そうでない場合、order
は、group
および grouphat
と同じ型になります。
代替機能
confusionchart
を使用し、混同行列の計算とプロットを行います。また、confusionchart
は、データに関する要約統計量を表示し、クラスごとの適合率 (陽性の予測値)、クラスごとの再現率 (真陽性率)、または正しく分類された観測値の総数に基づいて混同行列のクラスを並べ替えます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)