自動データ準備と変換
実験用に選択したデータセットは、モデル トレーニング用に準備するために自動的に前処理されます。前処理ステップには、データの準備と変換が含まれます。前処理によりデータの品質が向上し、正確な結果を生成するモデルを取得できます。
データの前処理には、さまざまなデータ サイエンス手法が使用されます。ほとんどのステップはデフォルトで実行され、多くのユースケースでうまく機能します。これらのデフォルトのステップと基本的な概念を知ることで、データをモデルのトレーニングに使用する前に、特定のユース ケースでどのように扱う必要があるかを理解できるようになります。
実験の設定
前処理を開始する前に、AutoML はいくつかの準備工程を実行し、データが扱われる方法のプレビューを提供します。以下のステップが適用されます。
-
データセット内の列をカテゴリ、数値、日付、フリー テキスト特徴量タイプとして分類します。
-
Float、Double、Decimal データ型は常に数値とみなされます。
-
平均 50 文字未満の文字列データ型を含む列は、カテゴリとして分類されます。
-
平均 50 文字以上の文字列データ型を含む列は、フリー テキストとして分類されます。ただし、現段階では、これらの列がフリー テキスト特徴量として使用できるかどうかは保証されていません。追加の要件は前処理中にチェックされます。「前処理ステップ」を参照してください。
-
整数データ タイプは常に数値とみなされます。
-
日付とタイムスタンプ データ型は、常に日付特徴量タイプがあるものとみなされます。実験の設定中、AutoML は、親日付特徴量から派生した可能性のある自動設計特徴量をプレビューします。
-
-
スパース性、定数、高カーディナリティについて各列をチェックします。次の場合は列を除外します。
-
列の 50% が null 以上である。特徴量に null 値が含まれるレコードを削除すると、有用なトレーニングの例が破棄されてしまう可能性があります。あるいは、値を代入することで例を保存できますが、レコードは現実の近似値にしかなりません。したがって、null 値の数が多い (50% 以上) 特徴量は、多くの場合において除外するほうがよくなります。0 は null とはみなされないことに注意してください。
-
列は、すべての行で同じ値を持つ (定数)。つまり、カーディナリティの低い列です。単一の値しか持たない特徴量には、予測値はありません。
-
列はカテゴリ別で、90% 以上の一意の値がある (高カーディナリティ)。一意の値が多すぎると、トレーニング データセットを超えてモデルを一般化することが難しくなります。
-
前処理の開始後、データの処理方法に調整を加えることができます。
前処理ステップ
ターゲット列を選択すると、ターゲット値が null の行が識別されて分離され、ターゲットがトレーニング セットと認識された行が残ります。次のステップでは、トレーニング データセットのデータのみが決定に使用されます。ステップは、メタデータとともに保存され、モデルが予測するための新しいデータに適用されます。
新しい実験バージョンを実行するたびに、含まれる特徴量に対して前処理が実行されます。
-
数値の場合は平均値、カテゴリ値の場合は最頻値を計算し、保存します。
-
欠損値を代入します。詳細については、「Null の代入」を参照してください。
-
カテゴリ変数をエンコードします。
-
データセットにある既存の列から新しい特徴量を生成します。これらの新しい自動設計特徴量は、作成するモデルのパフォーマンスと予測能力を向上させることができます。
フリー テキストの可能性があると識別された列は、平均単語数が確認されます。列の平均単語数が 5 単語を超える場合は、自動特徴量エンジニアリングを使用してフリー テキスト特徴量としてエンコードできます。5 単語を超えない場合は、警告が表示されます。フリー テキストとして使用できない場合、カーディナリティが高い特徴量の選択を解除する必要があります。
-
各列の要約統計を計算して保存し、特徴量スケーリングに使用します。
-
各列を特徴量スケーリングで標準化します。
-
トレーニング データの自動ホールドアウトと 5 分割クロス検証を使用します。詳細については、「ホールドアウト データとクロス検証」を参照してください。