【Rによるデータサイエンス】線形判別分析 〜 結果の検証

【Rによるデータサイエンス】線形判別分析」では、線形判別分析がどのような分析手法なのかを簡単に勉強した。

今回は、線形判別分析を実施する上での制約と結果の確認方法について勉強する。

◎線形判別分析の制約

線形判別分析は、複数の群にデータを分類した際に、各群の母分散が等しいとの仮定に基づいている

これは制約である。各群の母分散が異なる場合は、マハラノビス距離による判別のような母分散に制約がない方法を用いるべきらしい。

マハラノビス距離とユークリッド距離の違いは、次の資料を見れば良さそう。

さて、線形判別分析を使用したとして、結果の考察はどのように行うのだろうか。

◎交差確認
データセットから学習用データとテストデータに分けて、モデルの構築・テストを行うのに、交差確認(cross validation)という方法がある。

n重交差確認では、図のStep1、Step2、Step3を、全てのデータの組み合わせ分(n個)、繰り返して行う。

Rでは交差確認のための引数CVが用意されており、次のように確認する。

> iris.CV<-lda(Species~.,data=iris,CV=TRUE)
> (lda.tab<-table(iris[,5],iris.CV$class))
            
             setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         48         2
  virginica       0          1        49

判別率と誤判別率は次のように求める。

> sum(lda.tab[row(lda.tab)==col(lda.tab)])/sum(lda.tab) #判別率
[1] 0.98
> sum(lda.tab[row(lda.tab)!=col(lda.tab)])/sum(lda.tab) #誤判別率
[1] 0.02