web-dev-qa-db-ja.com

WEKAで分類子混同行列を読み取る方法

申し訳ありませんが、私はWEKAを使い始めたばかりです。

私の決定木(J48)分類子の出力には、混乱行列があります。

a    b   <----- classified as
130  8     a = functional
15   150   b = non-functional
  • このマトリックスを読むにはどうすればよいですか? aとbの違いは何ですか?
  • また、誰でもドメインの値を説明できますか?
16
JakeSays

私はそれをこのように置きます:

混同行列は、このJ48モデルが何が正しく、何が間違っているかに関して、このJ48モデルがどの程度優れているかを報告するWekaです。

データでは、ターゲット変数は「機能的」または「非機能的」でした。マトリックスの右側は、列「a」が機能し、「b」が機能しないことを示しています。

列は、モデルがどのようにサンプルを分類したかを示します-モデルが予測したものです:

  • 最初の列には、モデルが「a」であると考えるすべてのサンプルが含まれます-それらの合計145
  • 2番目の列には、モデルが「b」であると考えるすべてのサンプルが含まれます-それらの158

一方、行は現実を表しています。

  • 最初の行には、実際に "a"であるすべてのサンプルが含まれています-合計138
  • 2番目の行には、実際には「b」であるすべてのサンプルが含まれています-それらの165

列と行を知っているので、詳細を掘り下げることができます。

  • 左上、130は、モデルが「a」であると考えるもので、実際には「a」です<-これらは正しかった
  • 左下、15は、モデルが「a」であると考えるものですが、実際には「b」です。<-ある種のエラー
  • 右上、8は、モデルが「b」と考えているものですが、実際には「a」です<-別の種類のエラー
  • 右下、150はモデルが「b」であると考えるもので、実際には「b」です。

したがって、マトリックスの左上と右下は、モデルが正しいことを示しています。

マトリックスの左下と右上は、モデルが混乱している場所を示しています。

12
Mental Nomad

混同行列に関するウィキペディアのページ を読みましたか?例のマトリックスの周りのテキストの配置は少し異なります(行ラベルは右側ではなく左側にあります)が、同じように読んでいます。

行は真のクラスを示し、列は分類子の出力を示します。次に、各エントリは、<row>として分類された<column>のインスタンスの数を示します。あなたの例では、15のBは(誤って)Asとして分類され、150のBは正しくBとして分類されました。

その結果、すべての正しい分類は、左上から右下の対角線上にあります。その対角線上のすべては、ある種の誤った分類です。

編集:ウィキペディアのページで行と列が入れ替わっています。これが起こります。混同行列を調べるときは、必ずラベルをチェックして、それが行の真のクラス、列の予測されたクラス、またはその逆かどうかを確認してください。

21
Junuxx