データのテスト方法
機械学習におけるデータのテスト方法の1つに「ホールドアウト法」「交差検証法」というものがあります。
今回はその違いを理解していきたいと思います。
ホールドアウト法(hold-out)とは
データを訓練(トレーニング)データと検証用のテストデータに分割してモデル評価を行う方法です。
イメージとしては以下の感じです。
ホールドアウト法のイメージ
<評価手順>
- 全データからトレーニングデータとテストデータに分けてます。
- トレーニングデータを使って予測モデルを作成します。
- テストデータを入力して、予測モデルを通した結果を出力します。
- 出力結果とテストデータにある答えを比較することで予測精度を確認できます。
※補足ですが、トレーニングデータとテストデータの比率としては80:20から70:30の間で分けることが多いです。
教師あり機械学習で使われるデータ今回は、教師あり機械学習をもとに、使われるトレーニングとテストデータの違いを含めて勉強していきたいと思います! 学習の流れ教師あり[…]
ホールドアウト法は簡単ですが、データの分割の仕方により、精度の評価に影響が出る可能性がある事が問題点となってしまいます。
つまり、ばらつきの大きなデータの場合、予測精度が低くなってしまうイメージです。
交差検証法(Cross-validation)とは
交差検証ではデータの分割を何度も繰り返して行って複数のモデルを訓練し、一般に最後は複数のモデルの平均値をとって最終的な評価をするという方法です。
そのため、ホールドアウト法の問題点であったばらつきの大きなデータの場合でも使える評価方法です。
また、分類と回帰でも使える評価方法となります。
早速、イメージをみてみましょう。
交差検証法のイメージ
<評価手順>
① 全データを3分割以上の任意の数(上図では4つ)にテストデータとトレーニングデータに分割します。
② トレーニングデータを使って予測モデルを作成します。
③ テストデータを入力して、予測モデルを通した結果を出力します。
④ 出力結果とテストデータにある答えを比較することで予測精度を確認できます。
⑤ このプロセスを分割した分(上図では4回)だけ繰り返します。
⑥ 全てのプロセスが完了したら、予測精度の平均で評価できます。
イメージできたでしょうか?
まとめ
「ホールドアウト法」「交差検証法」は予測精度の高いモデルかを調べる評価方法です。
予測モデルを評価する事で、より精度が高くできるので、この作業に大事です。
今回は評価方法に関する記事でした。