ウェブサイト検索

データの前処理によるモデルの精度の向上


データの準備は、モデルの予測能力を左右する可能性があります。

Kuhn と Johnson は、著書『Applied Predictive Modeling』の第 3 章で、データ準備のプロセスを紹介しています。彼らはこれをトレーニング セット データの追加、削除、または変換と呼んでいます。

この投稿では、モデルの予測能力を向上させるために使用できるデータの前処理手順について説明します。

私の新しい本『Data Preparation for Machine Learning』 でプロジェクトをキックスタートします。これにはステップバイステップのチュートリアルPython ソース コード ファイルが含まれています。すべての例。

始めましょう。

データの準備

問題をモデル化する前に、生データを前処理する必要があります。具体的な準備は、利用可能なデータと使用する機械学習アルゴリズムによって異なる場合があります。

場合によっては、データの前処理により、モデルの精度が予期せぬ改善につながる可能性があります。これは、データ内の関係が単純化されているか、不明瞭になっていないことが原因である可能性があります。

データの準備は重要なステップであり、データに適したデータ前処理ステップを試して、モデルの精度を望ましい程度に高めることができるかどうかを確認する必要があります。

データに対して検討できる前処理には 3 つのタイプがあります。

  • データに属性を追加する
  • データから属性を削除する
  • データ内の属性を変換する

これら 3 種類の前処理のそれぞれについて詳しく説明し、実行できる操作の具体的な例をいくつか確認します。

データ属性の追加

高度なモデルでは複雑な属性から関係を抽出できますが、一部のモデルではそれらの関係を明確に記述する必要があります。トレーニング データから新しい属性を導出し、モデリング プロセスに含めることで、モデルのパフォーマンスを向上させることができます。

  • ダミー属性: カテゴリ属性は n バイナリ属性に変換できます。n は属性が持つカテゴリ (またはレベル) の数です。これらの非正規化または分解された属性は、ダミー属性またはダミー変数として知られています。
  • 変換された属性: 属性間の可能な線形および非線形関係を線形手法で利用できるようにするために、属性の変換されたバリエーションをデータセットに追加できます。対数、平方、平方根などの単純な変換を使用できます。
  • 欠損データ: 欠損データのある属性には、k 最近傍法などの信頼できる方法を使用して欠損データを代入することができます。

データ属性の削除

一部のメソッドは、冗長または重複した属性を使用するとパフォーマンスが低下します。データから属性を削除すると、モデルの精度が向上します。

  • 投影: トレーニング データは低次元空間に投影できますが、それでもデータ内の固有の関係を特徴付けます。一般的なアプローチは主成分分析 (PCA) で、この方法で見つかった主成分を入力属性の縮小セットとして取得できます。
  • 空間符号: データの空間符号投影は、データを多次元球の表面に変換します。結果を使用して、データから変更または削除できる外れ値の存在を強調できます。
  • 相関関係のある属性: 一部のアルゴリズムは、相関性の高い属性が存在すると重要性が低下します。相関性の高いペアごとの属性を特定し、最も相関性の高い属性をデータから削除できます。

データ属性の変換

トレーニング データを変換すると、データの歪みだけでなく、データ内の外れ値の顕著さも軽減できます。多くのモデルでは、アルゴリズムを適用する前にデータが変換されることが期待されます。

  • センタリング: 平均が 0、標準偏差が 1 になるようにデータを変換します。これは通常、データの標準化と呼ばれます。
  • スケーリング: 標準的なスケーリング変換では、データを元のスケールから 0 と 1 の間のスケールにマッピングします。これは通常、データの正規化と呼ばれます。
  • 偏りを除去: 偏ったデータとは、正規分布ではなく、どちらか一方に偏った分布 (値が大きいか小さい) を持つデータです。一部のメソッドは正規分布データを前提としており、スキューが解消されるとパフォーマンスが向上します。属性を値の対数、平方根、または逆数に置き換えてみてください。
  • Box-Cox: Box-Cox 変換または変換ファミリーを使用すると、データを確実に調整してスキューを除去できます。
  • ビン化: 値をビンにグループ化することで、数値データを離散化できます。これは通常、データの離散化と呼ばれます。このプロセスは手動で実行できますが、ドメイン内で意味のあるヒューリスティックを使用して体系的かつ自動的に実行した方が信頼性が高くなります。

まとめ

データの前処理は、モデリング用の生データを準備し、特定の機械学習アルゴリズムのデータの期待に応えるために必要となる重要なステップであり、モデルの精度が予期せぬ向上をもたらす可能性があります。

この投稿では、次の 3 つのグループのデータ前処理方法を発見しました。

  • 属性の追加
  • 属性の削除
  • 属性の変換

次回モデルの精度を向上させたい場合は、モデルを探索して活用するために、データに対してどのような新しい視点を設計できるかを検討してください。

関連記事