主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

confusionchart

分類問題用の混同行列チャートの作成

説明

confusionchart (trueLabelspredictedLabelsは,真のラベルtrueLabelsおよび予測ラベルpredictedLabelsから混同行列チャートを作成し,ConfusionMatrixChartオブジェクトを返します。混同行列の行は真のクラスに、列は予測クラスに対応します。対角線上のセルは正しく分類された観測値に、対角線外のセルは誤って分類された観測値に対応します。作成後に混同行列チャートを変更するには、厘米を使用します。プロパティの一覧については、ConfusionMatrixChartのプロパティを参照してください。

confusionchart (は,数値混同行列から混同行列チャートを作成します。既に数値混同行列がワークスペースにある場合は,この構文を使用します。

confusionchart (classLabelsは,x軸とy軸に沿って表示するクラスラベルを指定します。既に数値混同行列とクラスラベルがワークスペースにある場合は,この構文を使用します。

confusionchart (___は,で指定された人物,パネル,またはタブに混同チャートを作成します。

confusionchart (___名称,值は1つ以上の名前と値のペアの引数を使用してConfusionMatrixChartの追加プロパティを指定します。プロパティは、他のすべての入力引数の後で指定します。プロパティの一覧については、ConfusionMatrixChartのプロパティを参照してください。

厘米= confusionchart (___は,ConfusionMatrixChartオブジェクトを返します。チャートのプロパティを作成した後にこのプロパティを変更するには,厘米を使用します。プロパティの一覧については、ConfusionMatrixChartのプロパティを参照してください。

すべて折りたたむ

フィッシャーのアヤメのデータセットを読み込みます。

负载fisheririsX =量;Y =物种;

Xは150本のアヤメについて4つの花弁の測定値が含まれている数値行列です。Yは,対応するアヤメの種類が含まれている文字ベクトルの细胞配列です。

k最近傍(资讯)分類器に学習させます。ここで,予測子の最近傍の個数(k5)はです。数値予測子データを標準化することをお勧めします。

Mdl = fitcknn (X, Y,“NumNeighbors”5,“标准化”1);

学習データのラベルを予測します。

predictedY = resubPredict (Mdl);

真のラベルYと予測ラベルpredictedYから混同行列チャートを作成します。

厘米= confusionchart (Y, predictedY);

Figure包含一个confusimatrixchart类型的对象。

混同行列では,観測値の総数が各セルに表示されます。混同行列の行は真のクラスに、列は予測クラスに対応します。対角線上のセルは正しく分類された観測値に、対角線外のセルは誤って分類された観測値に対応します。

既定では,confusionchart排序によって定義される自然な順序にクラスを並べ替えます。この例では,クラスラベルが文字ベクトルなので,confusionchartはクラスをアルファベット順に並べ替えます。指定した順序または混同行列の値でクラスを並べ替えるには,sortClassesを使用します。

NormalizedValuesプロパティには、混同行列の値が格納されています。ドット表記を使用して、これらの値を表示します。

厘米。NormalizedValues
ans =3×350 0 0 47 3 0 4 46

プロパティ値を変更して,混同行列チャートの外観と動作を変更します。タイトルを追加します。

厘米。Title =‘利用KNN进行鸢尾花分类’

列と行の要約を追加します。

厘米。RowSummary =“row-normalized”; cm.摘要=“column-normalized”

Figure包含一个confusimatrixchart类型的对象。类型混淆矩阵图的图表题目为:基于KNN的鸢尾花分类。

行正規化による行要約では,真のクラスのそれぞれについて,正しく分類された観測値と誤って分類された観測値の割合が表示されます。列正規化による列要約では,各予測クラスについて,正しく分類された観測値と誤って分類された観測値の割合が表示されます。

混同行列チャートを作成し,クラス単位の真陽性率(再現率)またはクラス単位の陽性の予測値(精度)に従ってチャートのクラスを並べ替えます。

心律失常データセットを読み込み検証します。

负载心律失常isLabels =独特(Y);nLabels =元素个数(isLabels)
nLabels = 13
汇总(分类(Y))
值计数百分比1 245 54.20% 2 44 9.73% 3 15 3.32% 4 15 3.32% 5 13 2.88% 6 25 5.53% 73 0.66% 8 2 0.44% 99 1.99% 10 50 11.06% 14 4 0.88% 15 5 1.11% 16 22 4.87%

不整脈のさまざまな段階を表す16個の異なるラベルがデータに含まれていますが,応答(Y13)には個の異なるラベルのみが含まれています。

分類木に学習をさせ,木の再代入応答を予測します。

Mdl = fitctree (X, Y);predictedY = resubPredict (Mdl);

真のラベルYと予測ラベルpredictedYから混同行列チャートを作成します。真陽性率と偽陽性率を行要約に表示するため,“RowSummary”として“row-normalized”を指定します。また,陽性の予測値と偽発見率を列要約に表示するため,“ColumnSummary”として“column-normalized”を指定します。

无花果=图;厘米= confusionchart (Y, predictedY,“RowSummary”“row-normalized”“ColumnSummary”“column-normalized”);

混同チャートのコンテナーのサイズを変更して,パーセントが行要約に表示されるようにします。

fig_Position = fig.Position;fig_Position (3) = fig_Position (3) * 1.5;fig.Position = fig_Position;

Figure包含一个confusimatrixchart类型的对象。

真陽性率に従って混同行列を並べ替えるため,归一化プロパティを“row-normalized”に設定することにより各行でセルの値を正規化してから,sortClassesを使用します。並べ替えた後で,観測値の総数を各セルに表示するため,归一化プロパティを“绝对”にリセットします。

厘米。归一化=“row-normalized”;sortClasses(厘米,“descending-diagonal”)厘米。归一化=“绝对”

Figure包含一个confusimatrixchart类型的对象。

陽性の予測値に従って混同行列を並べ替えるため,归一化プロパティを“column-normalized”に設定することにより各列でセルの値を正規化してから,sortClassesを使用します。並べ替えた後で,観測値の総数を各セルに表示するため,归一化プロパティを“绝对”にリセットします。

厘米。归一化=“column-normalized”;sortClasses(厘米,“descending-diagonal”)厘米。归一化=“绝对”

Figure包含一个confusimatrixchart类型的对象。

フィッシャーのアヤメのデータセットの高配列に対して分類を実行します。関数confusionchartを使用して,既知の高ラベルと予測した高ラベルに対する混同行列チャートを計算します。

高配列に対する計算を実行する場合,MATLAB®は並列プール(并行计算工具箱™がある場合は既定)またはローカルのMATLABセッションを使用します。并行计算工具箱がある場合にローカルのMATLABセッションを使用して例を実行するには,関数mapreduceを使用してグローバルな実行環境を変更します。

mapreduce (0)

フィッシャーのアヤメのデータセットを読み込みます。

负载fisheriris

インメモリ配列梅斯および物种を高配列に変換します。

tx =高(量);泰=高(物种);

高配列内の観測値の個数を求めます。

numObs =收集(长度(ty));% gather将高数组收集到内存中

再現性を得るためにrngtallrngを使用して乱数発生器のシードを設定し,学習標本を無作為に選択します。高配列の場合、ワーカーの個数と実行環境によって結果が異なる可能性があります。詳細については、コードの実行場所の制御を参照してください。

rng(“默认”) tallrng (“默认”) numTrain = floor(nummob /2);[txTrain, trIdx] = datasample (tx numTrain,“替换”、假);tyTrain =泰(trIdx);

決定木分類器モデルを学習標本にあてはめます。

mdl = fitctree (txTrain tyTrain);
使用本地MATLAB会话评估tall表达式:-第1次,共2次:在0.94秒内完成-第2次,共2次:在0.8秒内完成评估在2.6秒内完成使用本地MATLAB会话评估tall表达式:-第1次,共4次:在0.54秒内完成-第2次,共4次:在0.87秒内完成-第3次,共4次:在0.59秒内完成-第4次:在0.81秒内完成评估在3.5秒内完成使用本地MATLAB会话评估tall表达式:-第1次,共4次:在0.39秒内完成-第2次,共4次:在0.48秒内完成-第3次,共4次:在0.4秒内完成评估在2.8秒内完成使用本地MATLAB评估tall表达式课程:-第1次,共4次:在0.33秒内完成-第2次,共4次:在1.4秒内完成-第3次,共4次:在0.43秒内完成-第4次,共4次:在0.56秒内完成评估在3.1秒内完成使用本地MATLAB评估tall表达式课程:-第1次,共4次:在0.3秒内完成-第2次,共4次:在0.26秒内完成-第3次,共4次:在0.56秒-通过4次中的第4次:在0.51秒内完成评估在2.3秒内完成

学習済みのモデルを使用して,検定標本のラベルを予測します。

txt = tx (~ trIdx:);标签=预测(mdl, txt);

生成された分類について混同行列チャートを作成します。

tyTest =泰(~ trIdx);厘米= confusionchart (tyTest标签)
using the Local MATLAB Session: - Pass 1 of 1: Completed in 0.35 sec Evaluation Completed in 0.6 sec使用Local MATLAB Session: - Pass 1 of 1: Completed in 0.3 sec Evaluation Completed in 0.47 sec

Figure包含一个confusimatrixchart类型的对象。

cm = ConfusionMatrixChart with properties: NormalizedValues: [3x3 double] ClassLabels: {3x1 cell}显示所有属性

この混同行列チャートは,杂色的クラスの測定値の3つが誤分類されたことを示しています。setosaおよびvirginicaに属している測定は,すべて正しく分類されています。

入力引数

すべて折りたたむ

分類問題の真のラベル。直言ベクトル,数値ベクトル,字符串ベクトル,文字配列,文字ベクトルの细胞配列,または逻辑ベクトルを指定します。trueLabelsがベクトルである場合,各要素は1つの観測値に対応します。trueLabelsが文字配列である場合,各行が1つの観測値のラベルに対応する2次元配列でなければなりません。

分類問題の予測ラベル。分类ベクトル、数値ベクトル、string ベクトル、文字配列、文字ベクトルの cell 配列、または logical ベクトルを指定します。predictedLabelsがベクトルである場合,各要素は1つの観測値に対応します。predictedLabelsが文字配列である場合,各行が1つの観測値のラベルに対応する2次元配列でなければなりません。

混同行列。行列を指定します。は正方行列でなければならず,その要素は正の整数でなければなりません。要素m (i, j)は,番目の真のクラスに属する観測値がj番目のクラスのものであると予測された回数です。混同行列チャートの色付きの各セルは,混同行列の1つの要素に対応します。

混同行列チャートのクラスラベル。直言ベクトル、数値ベクトル、字符串ベクトル、文字配列、文字ベクトルの细胞配列、または logical ベクトルを指定します。classLabelsがベクトルである場合,要素数は混同行列の行数および列数と同じでなければなりません。classLabelsが文字配列である場合,各行が1つのクラスのラベルに対応する2次元配列でなければなりません。

親コンテナー。数字面板选项卡TiledChartLayoutGridLayoutのいずれかのオブジェクトとして指定します。

名前と値のペアの引数

オプションの名称,值引数のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:cm = confectionchart (true elabel,predictedLabels,'Title','My Title Text','ColumnSummary','column-normalized')

メモ

ここでは,プロパティの一部だけを紹介しています。完全な一覧については,ConfusionMatrixChartのプロパティを参照してください。

混同行列チャートのタイトル。文字ベクトルまたは string スカラーを指定します。

例:cm = confusionchart(__,'Title','My Title Text')

例:厘米。Title = '我的标题文本'

混同行列チャートの列の要約。以下のいずれかを指定します。

オプション 説明
“关闭” 列の要約を表示しません。
“绝对” 各予測クラスについて,正しく分類された観測値と誤って分類された観測値の総数を表示します。
“column-normalized” 各予測クラスについて,正しく分類された観測値と誤って分類された観測値の個数を,対応する予測クラスの観測値数に対する割合で表示します。正しく分類された観測値の割合は,クラス単位の精度(または陽性の予測値)であると考えることができます。
“total-normalized” 各予測クラスについて,正しく分類された観測値と誤って分類された観測値の個数を,観測値の総数に対する割合で表示します。

例:厘米= confusionchart(__,‘ColumnSummary’,‘column-normalized’)

例:厘米。ColumnSummary = ' column-normalized '

混同行列チャートの行の要約。次のいずれかを指定します。

オプション 説明
“关闭” 行の要約を表示しません。
“绝对” 真のクラスのそれぞれについて,正しく分類された観測値と誤って分類された観測値の総数を表示します。
“row-normalized” 真のクラスのそれぞれについて,正しく分類された観測値と誤って分類された観測値の個数を,対応する予測クラスの観測値数に対する割合で表示します。正しく分類された観測値の割合は,クラス単位の再現率(つまり真陽性率)であると考えることができます。
“total-normalized” 真のクラスのそれぞれについて,正しく分類された観測値と誤って分類された観測値の個数を,観測値の総数に対する割合で表示します。

例:厘米= confusionchart(__,‘RowSummary’,‘row-normalized’)

例:厘米。RowSummary = ' row-normalized '

セルの値の正規化。次のいずれかを指定します。

オプション 説明
“绝对” 観測値の総数を各セルに表示します。
“column-normalized” 予測クラスが同じである観測値の個数によって各セルの値を正規化します。
“row-normalized” 真のクラスが同じである観測値の個数によって各セルの値を正規化します。
“total-normalized” 観測値の総数によって各セルの値を正規化します。

セルの値の正規化を変更すると,セルの色も変更されます。

例:厘米= confusionchart(__“正常化”,“total-normalized”)

例:厘米。归一化= ' total-normalized '

出力引数

すべて折りたたむ

ConfusionMatrixChartオブジェクト。スタンドアロンの可視化です。厘米を使用して,混同行列チャートの作成後にそのプロパティを設定します。

制限

  • ConfusionMatrixChartオブジェクトではMATLAB®コードの生成はサポートされていません。

詳細

すべて折りたたむ

スタンドアロンの可視化

スタンドアロンの可視化は,他のグラフから独立して機能する特別な目的のために設計されたチャートです。情节冲浪などの他のチャートとは異なり,スタンドアロンの可視化には事前設定された組み込みの轴オブジェクトがあり,利用できないカスタマイズ項目があります。スタンドアロンの可視化には,次の特性もあります。

  • ライン,パッチ,表面などの他のグラフィックス要素と組み合わせることができません。したがって,持有コマンドはサポートされていません。

  • 関数gcaは,現在の軸座標としてチャートオブジェクトを返すことができます。

  • 入力引数として轴オブジェクトを受け入れる多くのMATLAB関数に,チャートオブジェクトを渡すことができます。たとえば,関数标题にチャートオブジェクトを渡すことができます。

拡張機能

R2018bで導入