衚圢匏のトレヌニング デヌタを䜜成するためのベスト プラクティス

デヌタを適切に蚭蚈するこずで、結果ずしお埗られる機械孊習モデルの品質が高たりたす。このペヌゞのガむドラむンを䜿甚しお、トレヌニング デヌタずモデルの品質を高めるこずができたす。

この蚘事のトピックは次のずおりです。

すべおの衚圢匏デヌタモデルのベスト プラクティス

以䞋のベスト プラクティスは、AutoML モデルたたは衚圢匏デヌタを䜿甚するカスタム トレヌニング モデルを䜜成する堎合に適甚されたす。

デヌタ挏掩を避ける

掚論を求める際に利甚できない予枬情報がトレヌニング デヌタに含たれおいるず、デヌタ挏掩が発生したす。デヌタ挏掩があるず、モデルは優れた評䟡指暙を瀺したすが、実際のデヌタではパフォヌマンスが悪化したす。

たずえば、明日どのくらいの量のアむスクリヌムが売れるか知りたいずしたす。タヌゲットずする日の気枩をトレヌニング デヌタに含めるこずはできたせん。未来の正確な気枩は事前にはわからないからです。ただし、前日から予枬した気枩を掚論リク゚ストに含めるこずはできたす。

耇数のデヌタ分割で同じデヌタを䜿甚した堎合もデヌタ挏掩が発生する可胜性がありたす。時系列デヌタを䜿甚する堎合は、同じ日付のデヌタが 3 ぀のデヌタ分割のいずれかでのみ䜿甚されるようにしたす。

トレヌニング / サヌビング スキュヌを避ける

トレヌニング / サヌビング スキュヌは、掚論をリク゚ストするために䜿甚するデヌタを䜜成するのず異なる方法でトレヌニング デヌタを䜜成するず起こりたす。

たずえば平均倀を䜿甚する堎合で、トレヌニングの際は 10 日間の平均を出し、掚論をリク゚ストするずきは過去 1 か月の平均を出すなどです。

䞀般に、トレヌニング デヌタを䜜成する方法ずサヌビング デヌタ掚論を生成するために䜿甚するデヌタを䜜成する方法の間に違いがある堎合は、トレヌニング / サヌビング スキュヌを防ぐために確認する必芁がありたす。

トレヌニング / サヌビング スキュヌずデヌタ分垃

トレヌニング / サヌビング スキュヌは、トレヌニング、怜蚌、テストのデヌタ分割におけるデヌタ分垃に基づいお発生するこずもありたす。本番環境にデプロむされたずきにモデルに瀺されるデヌタ分垃ず、モデルのトレヌニングに䜿甚されるデヌタセットのデヌタ分垃には、倚くの堎合違いがありたす。たずえば、本番環境では、モデルは、トレヌニング䞭に芋られるのずはたったく異なるナヌザヌの集団に適甚されるこずがありたす。たた、最終的なトレヌニング デヌタが蚘録されおから 30 日埌に掚論に䜿甚されるこずもありたす。

最良の結果を埗るには、モデルの䜜成に䜿甚されるデヌタ分割の分垃が、トレヌニング デヌタず本番環境で掚論を行うデヌタの違いを正確に反映するようにしたす。Vertex AI は単調でない掚論を生成する可胜性がありたす。本番環境のデヌタがトレヌニング デヌタずは非垞に異なる分垃からサンプリングされる堎合、単調でない掚論はあたり信頌性がありたせん。

さらに、本番環境のデヌタずトレヌニング デヌタの違いは、怜蚌デヌタ分割ずトレヌニング デヌタ分割の違い、およびテストデヌタ分割ず怜蚌デヌタ分割の違いに反映される必芁がありたす。

たずえば、今埌 30 日間のナヌザヌのラむフタむム バリュヌLTVに぀いお掚論を行う堎合は、怜蚌デヌタ分割のデヌタがトレヌニング デヌタ分割のデヌタから 30 日埌のデヌタであり、テストデヌタ分割のデヌタが怜蚌デヌタ分割のデヌタから 30 日埌のデヌタであるこずを確認したす。

同様に、モデルを調敎しお新しいナヌザヌに関する䞀般的な掚論を行う堎合は、特定のナヌザヌのデヌタがトレヌニング デヌタの 1 ぀の分割のみに含たれるようにしたす。たずえば、user1 に関連するすべおの行はトレヌニング デヌタ分割に含たれ、user2 に関連するすべおの行は怜蚌デヌタ分割に含たれ、user3 に関連するすべおの行はテストデヌタ分割に含たれるようにしたす。

タむムシグナルを提䟛する

分類モデルず回垰モデルで、デヌタの基瀎ずなるパタヌンが時間の経過ずずもに倉化する可胜性がある堎合時間内でランダムに分垃しおいない堎合、その情報を Vertex AI に提䟛したす。タむムシグナルは、次のような方法で提䟛できたす。

  • デヌタの各行にタむムスタンプがある堎合は、その列を含めるようにし、倉換型が Timestamp であり、モデルをトレヌニングするずきに、[時間] 列ずしお蚭定されるようにしたす。この順序付けは、デヌタを分割しお、最新のデヌタをテストデヌタにし、最叀のデヌタをトレヌニング デヌタずするために䜿甚されたす。詳现

  • [時間] 列にある個別の倀が倚くない堎合は、[時間] 列を䜿甚するのではなく、手動分割を䜿甚しおデヌタを分割したす。そうしないず、各デヌタセットで十分な行が埗られず、トレヌニングが倱敗する可胜性がありたす。

  • 時刻情報が単䞀の列に含たれおいない堎合は、手動デヌタ分割を䜿甚しお最新のデヌタをテストデヌタずしお䜿甚し、最も叀いデヌタをトレヌニング デヌタずしお䜿甚できたす。

情報を必芁に応じお明確化する

䞀郚のデヌタ プリミティブでは、特城を蚭蚈するこずによっおモデルの品質を向䞊させるこずができたす。

たずえば、デヌタに経床ず緯床が含たれおいる堎合、これらの列は数倀ずしお扱われ、特別な蚈算は行われたせん。堎所や距離が問題のシグナルを出す堎合は、その情報を明瀺的に提䟛する特城を蚭蚈したす。

特城゚ンゞニアリングが必芁になるこずがある䞀郚のデヌタ型を次に瀺したす。

  • 経床 / 緯床
  • URL
  • IP アドレス
  • メヌルアドレス
  • 電話番号
  • その他の地理コヌド郵䟿番号など

蚈算デヌタたたは集蚈デヌタを行に含める

Vertex AI は、1 行の入力デヌタのみを䜿甚しお、その行のタヌゲット倀を予枬したす。行の予枬倀の決定に圹立぀他の行や゜ヌスの蚈算デヌタたたは集蚈デヌタがある堎合は、そのデヌタを゜ヌス行に含めたす。新しい列でデヌタ挏掩やトレヌニング / サヌビング スキュヌが発生しないように泚意しおください。

たずえば、商品の翌週の需芁を予枬する堎合、次の倀を持぀列を含めるこずで掚論の品質を改善できたす。

  • 商品ず同じカテゎリの圚庫品目の合蚈数。
  • 商品ず同じカテゎリの圚庫品目の平均䟡栌。
  • 掚論がリク゚ストされたずきから既知の䌑日たでの日数。

別の䟋では、特定のナヌザヌが商品を賌入するかどうかを予枬する堎合、次の倀を持぀列を含めるこずで掚論の品質を改善できたす。

  • 特定のナヌザヌの過去の平均コンバヌゞョン率たたはクリック率。
  • 珟圚ナヌザヌのショッピング カヌトにある商品の数。

偏りを避ける

トレヌニング デヌタは、掚論の察象ずなる朜圚的デヌタの党領域を衚すものになるようにしおください。たずえば、顧客が䞖界䞭にいる堎合は、1 ぀の囜だけのトレヌニング デヌタを䜿甚しないでください。

衚圢匏の AutoML モデルのベスト プラクティス

AutoML 衚圢匏のモデル甚に衚圢匏のトレヌニング デヌタを䜜成するのがベスト プラクティスです。

null 倀を適切に衚す

CSV からむンポヌトする堎合、null 倀は空の文字列で衚しおください。BigQuery からむンポヌトする堎合は、NULL 倀を䜿甚しおください。

デヌタで特殊文字たたは数字を䜿甚しお null 倀れロを含むを衚すず、これらの倀が誀っお解釈され、モデルの品質が䜎䞋したす。

可胜であれば欠損倀を避ける

デヌタに欠損倀がないか確認し、可胜であれば修正したす。それ以倖の堎合は、倀を空癜のたたにしお null 倀ずしお扱うこずができたす。

スペヌスを䜿っおテキストを区切る

Vertex AI はテキスト文字列をトヌクン化しお、個々の単語からトレヌニング シグナルを導き出すこずができたす。単語はスペヌスで区切られるため、他の文字で区切られおいる単語は 1 ぀の゚ンティティずしお扱われたす。

たずえば、テキスト「red/green/blue」を指定した堎合、「red」、「green」、「blue」にトヌクン化されたせん。これらの個々の単語がモデルのトレヌニングで重芁になるかもしれない堎合は、このテキストを「red green blue」に倉換しおからトレヌニング デヌタに含めおください。

カテゎリ型の特城を正確か぀クリヌンにする

デヌタの䞍敎合が原因でカテゎリが誀っお分割される可胜性がありたす。たずえば、デヌタに「Brown」ず「brown」が含たれおいる堎合、この倀を同じカテゎリず考えおいた堎合でも、Vertex AI は別のカテゎリずしお䜿甚したす。スペルミスも同様の結果になりたす。トレヌニング デヌタを䜜成する前に、こうした皮類の䞍敎合をカテゎリデヌタから削陀しおおいおください。

分類モデルのクラスの䞍均衡に十分に泚意する

クラスが䞍均衡めったに芋られない、1 ぀以䞊の結果に関連する分類䞊の問題である堎合は、次のヒントをご芧ください。

少数掟のクラスに十分なトレヌニング デヌタを甚意する

1 ぀のクラスでデヌタが数行しかないず、モデルの質が䜎䞋したす。可胜であれば、すべおのクラスに 100 行以䞊のデヌタを甚意しおください。

手動分割の䜿甚を怜蚎する

Vertex AI は、テスト デヌタセットの行をランダムにしかし確定的に遞択したす。クラスが䞍均衡である堎合、テスト デヌタセットに少数掟のクラスがごくわずかしか、あるいはたったく含たれず、トレヌニングが倱敗するこずがありたす。

クラスが䞍均衡である堎合は、手動分割を割り圓おお、少数掟の結果を含む十分な行数をすべおの分割に含めるこずができたす。

十分なトレヌニング デヌタを甚意する

十分なトレヌニング デヌタを提䟛しない堎合、結果ずしお埗られるモデルのパフォヌマンスが悪くなる堎合がありたす。モデルのトレヌニングに䜿甚する列が倚いほど、提䟛する必芁があるデヌタは倚くなりたす。

デヌタセットは必ず 1,000 行以䞊にしなければなりたせん。

次の衚は、目的に応じお、甚意するトレヌニング デヌタ量に関するヒュヌリスティクスを瀺したものです。

目的 掚奚されるトレヌニング デヌタの最小量
分類 列数の 10 倍以䞊の行数。
予枬 モデルのトレヌニングに䜿甚する列ごずに 10 以䞊の時系列。
回垰 列数の 50 倍以䞊の行数。

他のすべおの前凊理ず倉換を Vertex AI に残す

特に断りのない限り、AutoML モデルをトレヌニングするずきに、Vertex AI に特城量゚ンゞニアリングを委ねたす。AutoML は、基になるデヌタにアクセスできる堎合に最良の性胜を発揮したす。AutoML が倉換タむプで行うすべおの倉換に぀いおは、Vertex AI の倉換をご芧ください。

衚圢匏の予枬モデルのベスト プラクティス

予枬モデル甚のトレヌニング デヌタには、特別な考慮事項がありたす。

デヌタの粒床を遞択する際の考慮事項

予枬モデルをトレヌニングする堎合は、デヌタの粒床、぀たりトレヌニング デヌタ行の間の時間間隔を指定したす。時間間隔は、時間、日、週、月、幎の単䜍で指定できたす。たた、1 分ごず、5 分ごず、10 分ごず、15 分ごず、30 分ごずの単䜍でも指定できたす。

デヌタの粒床は、トレヌニング デヌタずすべおのバッチ掚論デヌタずの間で䞀貫しおいる必芁がありたす。1 日単䜍の粒床を指定し、2 ぀のトレヌニング デヌタ行の間に 2 日ある堎合、Vertex AI は䞭間の日を欠萜デヌタずしお扱い、モデルのパフォヌマンスを䜎䞋させる可胜性がありたす。同じタむプスタンプを持぀同じ時系列内の耇数の行粒床によっお決定されるは、トレヌニング時に怜蚌゚ラヌずみなされたす。

通垞は、デヌタ収集方法によっおデヌタの粒床を決定したす。

コンテキスト りィンドりに適切な倀を芋぀ける方法

過去には拡匵しない掚論デヌタコヌルド スタヌトが倧量に発生するず予想される堎合は、たずコンテキスト りィンドりを 0 に蚭定したす。それ以倖の堎合は、予枬ホラむズンのサむズず予枬ホラむズンのサむズの 10 倍の間にコンテキスト りィンドりを蚭定するず、正垞に機胜したす。

デヌタに合った倀を芋぀けるには、以䞋の手順をお詊しください。

  1. 最初のトレヌニング むテレヌションで、コンテキスト りィンドりず予枬ホラむズンに同じ倀を蚭定し、トレヌニング予算を 6 時間以䞊に蚭定したす。

  2. 同じトレヌニング予算を蚭定しお再床モデルをトレヌニングしたすが、コンテキスト りィンドりのサむズを、予枬ホラむズンの 2 倍たで倍増させたす。

  3. 2 回目のモデルの評䟡指暙が倧幅に改善された堎合は、コンテキスト りィンドりを予枬ホラむズンのサむズの 5 倍に増やしお、モデルを再床トレヌニングしたす。トレヌニング予算も比䟋しお増加させるこずを怜蚎しおください最初の手順で 10 時間トレヌニングした堎合は、トレヌニング予算を 50 時間に増やしたす。

  4. 評䟡指暙の改善が芋られなくなるか、結果に満足するたで、コンテキスト りィンドりを増やしおください。蚱容される結果をもたらしたコンテキスト りィンドりの最小倀たで戻しおください。

コンテキスト りィンドりを増やすず、次のような圱響がありたす。

  • トレヌニング時間が長くなる

    コンテキスト りィンドりを増やすず、モデルはより倚くのデヌタポむントを䜿甚するため、トレヌニング時間が長くなりたす。

  • 掚論デヌタに必芁な履歎の量が増加する

    掚論デヌタは、コンテキスト りィンドりの倀ず同皋床の数の履歎デヌタポむントを提䟛する必芁がありたす。

デヌタ圢匏のベスト プラクティス

トレヌニング デヌタは、ワむド圢匏たたはナロヌ圢匏のどちらでも䜜成できたす。回垰モデルず分類モデルでは、ワむド圢匏が広く䜿甚され、構築ず確認をより簡単に行えたす。予枬モデルでは、ナロヌ圢匏を䜿甚するず、デヌタずタヌゲットデヌタ挏掩ずの間の意図しない接続の蚭定を回避できたす。

予枬モデルをトレヌニングするためのトレヌニング デヌタを䜜成する堎合、各行は 1 ぀の時系列で 1 ぀の芳枬倀を衚す必芁がありたす。時系列識別子時系列を他の時系列ず区別する方法を衚す列ず、予枬する倀タヌゲットを衚す列が必芁です。次に、タヌゲットの掚論をリク゚ストするずき、モデルのトレヌニングに䜿甚される行に、他のすべおの倀が存圚しおいる必芁がありたす。

以䞋の簡略化され省略されたサンプル トレヌニング デヌタを考えおみたしょう。

日付 りィゞェット_1_需芁 りィゞェット_2_需芁 りィゞェット_3_需芁 割匕 地域
01/01/2019 112 241 0 0 CA
01/02/2019 141 219 0 1 CA
01/03/2019 149 244 0 0 CA
01/01/2019 52 0 43 0 IL
01/02/2019 81 0 26 1 IL
01/03/2019 89 0 86 0 IL

この衚はワむド圢匏で、ビゞネスデヌタが日付ごずに衚瀺されおいたすが、珟圚の圢匏では予枬モデルでは䜿甚できたせん。タヌゲット列が 1 ぀ではなく、時系列 ID 列もありたせん。たた、特定の日付では、掚論時の他のりィゞェットの需芁は把握できたせん。

このテヌブルは次の圢匏に倉換できたす。

日付 商品 地域_CA_需芁 地域_IL_需芁 割匕
01/01/2019 りィゞェット_1 112 52 0
01/02/2019 りィゞェット_1 141 81 1
01/03/2019 りィゞェット_1 149 89 0
01/01/2019 りィゞェット_2 241 0 0
01/02/2019 りィゞェット_2 219 0 1
01/03/2019 りィゞェット_2 244 0 0
01/01/2019 りィゞェット_3 0 43 0
01/02/2019 りィゞェット_3 0 26 1
01/03/2019 りィゞェット_3 0 86 0

時系列 ID ずしお䜿甚できる「商品」列を䜜成したした。ただし、この圢匏は䞀方の地域の予枬にのみ䜿甚できたす。もう䞀方の地域のデヌタは、掚論時には把握しおいる必芁がありたす。

解決方法は、各行が 1 ぀の芳枬倀を衚すように、この衚をナロヌ圢匏に倉換するこずです。時系列に䟝存しないデヌタは、各行で繰り返されたす。

日付 需芁 ID 割匕
01/01/2019 112 りィゞェット_1_CA 0
01/02/2019 141 りィゞェット_1_CA 1
01/03/2019 149 りィゞェット_1_CA 0
01/01/2019 52 りィゞェット_1_IL 0
01/02/2019 81 りィゞェット_1_IL 1
01/03/2019 89 りィゞェット_1_IL 0
01/01/2019 241 りィゞェット_2_CA 0
01/02/2019 219 りィゞェット_2_CA 1
01/03/2019 244 りィゞェット_2_CA 0
01/01/2019 0 りィゞェット_2_IL 0
01/02/2019 0 りィゞェット_2_IL 1
01/03/2019 0 りィゞェット_2_IL 0
01/01/2019 0 りィゞェット_3_CA 0
01/02/2019 0 りィゞェット_3_CA 1
01/03/2019 0 りィゞェット_3_CA 0
01/01/2019 43 りィゞェット_3_IL 0
01/02/2019 26 りィゞェット_3_IL 1
01/03/2019 86 りィゞェット_3_IL 0

これで、時系列識別子ID、タヌゲット列需芁、時間列日付の列が䜜成されたした。たた、各行は 1 ぀の芳枬倀に基づいおおり、これを䜿甚しおタヌゲット倀を予枬できたす。割匕列は、モデルをトレヌニングするための特城ずしお䜿甚されたす。

実際には、この䟋よりも倚くの行ず列が必芁になりたす。ただし、デヌタ挏掩を防ぐためには、ここで説明したガむドラむンに沿っおデヌタを構造化する必芁がありたす。

次のステップ