データのサンプリングと分割

サンプリングの概要

多くの場合、機械学習プロジェクトに必要なデータを収集するのに苦労しています。ただし、データが多すぎて、トレーニングにはサンプルのサブセットを選択する必要があります。

そのサブセットはどのように選択しますか?例として Google 検索について考えてみましょう。どのくらい大量のデータをサンプリングしますか。ランダムクエリを使用するランダム セッションランダム ユーザーか?

最終的には、答えは問題によって異なります。つまり、何を予測し、何を特徴化するかです。

  • この機能の前のクエリを使用するには、セッションに一連のクエリが含まれているため、セッション レベルでサンプリングする必要があります。
  • 前日のユーザーの行動」機能を使用するには、ユーザーレベルでサンプリングする必要があります。

PII(個人を特定できる情報)のフィルタリング

データに PII(個人を特定できる情報)が含まれている場合は、データからフィルタする必要がある場合があります。ポリシーによって、頻度の低い機能の削除などが求められる場合があります。

このフィルタリングは分布を偏らせます。テールの情報(平均値から大きく外れた値が非常に低い分布部分)は失われます。

非常に頻度の低い特徴は学習が困難なため、このフィルタは便利です。ただし、データセットはヘッドクエリに対してバイアスがあることに注意する必要があります。トレーニング時には、トレーニング データから除外されたサンプルがテールから提供されるサンプルが提供されるため、パフォーマンスが低下する可能性があります。この偏りを防ぐことはできませんが、分析時には注意が必要です。