crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の個人企業経済調査のデータの分析8 - R言語でconfusionMatrixを作成する。Accuracy, Sensitivity, Specificityとは?

 

www.crosshyou.info

 の続きです。

前回はロジスティクス回帰分析で、売上高が伸びているかどうか、というのをsaiyou: 採用人数で回帰する分析モデルをつくりました。

今回は結果をもう少し詳しくみてみます。

まず、saiyouとchg_net_dummy: 売上高が伸びていれば1、そうでないなら0 の散布図にモデルの予測数値を重ねてみましょう。

f:id:cross_hyou:20210321091657p:plain

f:id:cross_hyou:20210321091742p:plain

正直なところ、あまりモデルはあてはまっていないです。というかそもそもchg_net_dummyをsaiyouだけで説明するのは厳しい感じですね。

confusionMatrixを作成してみます。caretパッケージを読み込みます。

f:id:cross_hyou:20210321092025p:plain

predict関数でモデルの予測値を作ります。

f:id:cross_hyou:20210321093453p:plain


confusionMatrix関数を実行します。

f:id:cross_hyou:20210321093607p:plain
実際は0だったのを正しく0と予測したのが、23個、実際は1だったのを正しく1と予測したのが11個、合わせて34個が正解です。正解率は34/47=0.7234です。これがAccuracyのところの数値です。

実際は0だったのを正しく予測したのが23個、間違って予測したのが4個、なので、実際が0のときの正解率は、23/(23+4)=0.8519です。これがSensitivityのところの数字です。

実際は1だったのを正しく予測したのが9個、間違って予測したのが11個、なので実際が1のときの正解率は、11/(9+11)=0.5500です。これがSpecificityです。

一番はじめのモデル、glm_1でも同じようにconfusionMatrixをやってみます。

まずは、glm_1の確認です。

f:id:cross_hyou:20210321093307p:plain

このモデルの予測値を作ります。

f:id:cross_hyou:20210321094100p:plain

confusionMatrixを作ります。

f:id:cross_hyou:20210321094324p:plain

glm_1のほうがAccuracyとSpecificityの値が高いですね。

Accuracyが全体の正解率。

SensitivityがPositive classの正解率。

SpecificityがNegative classの正解率でした。

今回は以上です。

はじめから読むには、

 

www.crosshyou.info

 です。