1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

機械学習におけるデータ前処理と特徴量エンジニアリングの違い

Posted at

結論

データ前処理は「データをモデルが理解しやすいように整える」こと、特徴量エンジニアリングは「モデルの性能が向上するようにデータを改良する」こと。

データ前処理とは

データ前処理とは、モデルにデータを学習させる際にデータを「学習しやすいように整える」こと。

機械学習でデータを扱う際、最初から完璧に整ったものがそろっていることは少ないです。多くのデータには欠損値があり、データの形式が異なることもあります。
そういったデータをそのまま学習させてもエラーが発生したり、正しく予測ができなかったりすることが考えられます。

そこで、訓練データの前処理を行います。
具体的な処理として、以下のようなものが挙げられます。

  • 欠損値の削除、補完(欠損値を含む行や列を削除したり、平均値や中央値などで補完する)
  • データ形式の変換(One-Hot EncodingやLabel Encodingなど)
  • データの標準化

これらを行うことで、モデルがデータを学習するのを助けます。

特徴量エンジニアリングとは

一方で特徴量エンジニアリングとは、データから新しい特徴を作り出したり、既存の特徴量(説明変数)を変換させることでモデルの性能を向上させるプロセスである。

具体的な処理として、以下のようなものが挙げられます。

  • 新たな情報の抽出(日時データから曜日データを追加)
  • 数値データのビン分割(1~10, 11~20のように、数値をグループ分けする)
  • 特徴量の変換(対数変換や平方根変換など)
  • 特徴量の統合、分割(日時データを月と日、時間の3つに分割する)

これらを行うと、データからより目的に沿った情報が引き出され、モデルがより高精度で予測を行うことに繋がります。

まとめ

以上のように、データ前処理と特徴量エンジニアリングは異なる目的で行われます。

ただし、One-Hot Encodingのようなデータ変換の処理はどちらの目的でも用いられることがあります。そういった意味では、それぞれの処理がこの2つのどちらかに明確に分けられるわけではなく、あくまでこれら2つは目的が違うだけとも言えます。

(間違いや誤解を生む点などあれば知らせていただけると幸いです。)

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?