任意のサブセットでデータを分割する交差検証
投稿日: 2022年7月19日
OS: MacOS Monterey
バージョン: RapidMiner 9.10
Cross Validationオペレーターを使用すると、交差検証に使用されるExampleSetは、同じサイズのk個のサブセットに分割されます。
k個のサブセットのうち、1つのサブセットがテストデータセットとして保持されます。
残りのk-1サブセットは、トレーニングデータセットとして使用されます。
次に、交差検証がk回繰り返され、 k個のサブセットのそれぞれがテストデータとして1回だけ使用されます。
値kは、number_of_foldsパラメーターを使用して調整できます。
サブセットの数を指定するのではなく、任意のサブセットで分割することも可能です。
split_on_batch_attributeパラメーターが有効になっている場合、
データをランダムに分割する代わりに、特別なロール「batch」を持つ属性を使用してデータをパーティション分割します。
これにより、モデルのトレーニングデータセットを任意で制御できます。
特定の属性に「batch」ロールを設定するにはSet Roleオペレーターを使用します。
通常、学習するためのターゲット属性として「label」ロールを設定しますが、
それに加えてサブセットの分割単位となる属性に「batch」ロールを設定します。
例えば、ロットNoに「batch」ロールを設定します。
このようにすることで、例えば、ロットNoがNo1〜5ある場合、
最初のループではNo1がテストデータとなり、残りのNo2~5が学習データとなります。
次のループではNo2がテストデータとなり、残りのNo1、No3~5が学習データとなり、順次処理されます。
Studioのチュートリアルに下記「batch」ロールを使用した交差検証のサンプルがございます。
こちらをご参考いただければと存じます。