
34
2
章 実例を対象とした分類法入門
このループの最後で、全てのデータを対象としてモデルを評価しています
†
。しかし、先ほど議論し
た問題はおこりません。なぜなら、訓練用のデータの中には、テストに用いるデータは含まれていない
からです。そのため、モデルがどれほど汎用的かということについて、確かな評価ができていると言え
ます。
leave-one-out 法の問題は、今回の場合、本来の100倍以上の仕事をしなければならないことで
す。実際、全てのデータを対象としているため、データが増えるにしたがって、処理時間も増加します。
ここでは、K-分割交差検定(K-fold Cross Validation)という手法を用いることで、leave-one-out
法の処理コストを数分の1に減らすことができることを見ていきます。K-分割交差検定のK の値は、
たとえば5など、小さい数字が一般的です。もし5分割交差検定を行うとすると、データセットを5つ
のブロックに分割します。そし
て、1つのブロックを除いたデータ集合を訓練データとして用い、除い
たブロックをテスト用のデータとして用います。同じことを各ブロックを対象に、全部で5回行います。
以上のことを行うためのコードは、先ほどのコードとほとんど同じです。ただし、前の例ではデータ
を一つだけ除いたのに対して、今回は全体の20%のデータを除くことになります。学習モデルは除外
したデータをテストデータとして用い、評価を行います。そして、各回で算出した誤差を平均して最終
結果を報