LoginSignup
1
0

More than 1 year has passed since last update.

AWS公式資料で挑むMLS認定(15)-データ前処理の基礎知識

Last updated at Posted at 2022-05-30
[前回] AWS公式資料で挑むMLS認定(14)-データラベリング(データ準備)

はじめに

今回は、データ前処理の基礎知識です。
機械学習はデータ前処理が8割、と言われるほどですので。

機械学習ワークフローにおける、データ前処理の位置づけ

  • 1. データ準備
  • 2. データ前処理
  • 3. モデルトレーニング(学習)
  • 4. モデルテスト(評価)
  • 5. モデルチューニング(改善)

データ前処理とは

  • 事前に得られた生のデータを機械学習アルゴリズムに与える前に、何かしら加工を行うこと
  • 生のデータを、構造や関係性がつかみやすく、かつ機械学習アルゴリズムが学習しやすくなるように形を整える

生のデータの特徴

  • データの型が揃っていない
  • データのフォーマットが揃っていない
  • 重複データが削除されていない
  • データ入力が徹底されず欠損が存在する
  • 共有キーがないため、他システムのデータと連携できない

データ前処理の必要性

  • 入手したデータは、大抵欠損、ノイズ、エラー値などが存在
    • データ欠損を適切な値で埋めたり
    • 好ましくないデータ値を取り除く必要あり
  • 生のデータそのままでは、データの内部構造や関係性を表せない
    • 最大限にデータ活用するには、統計的処理を施す必要あり
  • 機械学習アルゴリズムによって、データフォーマットとの相性が異なる
    • ニューラルネットワークで使用する画像サイズは固定なので、画像のリサイズが必要
    • ランダムフォレストは欠損値をそのまま扱えないので補完が必要

データ前処理のタスク

  • データクレンジング(データクリーニング)
    • データから、入力ミス/文字化け/欠落/不要データを特定し、一定基準でデータを修正すること
  • データ統合
    • 異なるタイプのデータ、複数システムにまたがって存在するデータを結びつけること

いずれも、目的は機械学習の精度を高めること。

データ前処理方法

欠損値処理

  • 欠損値とは、何らかの理由で記載されず、欠落した値
    • 欠損値が多いデータ項目から、全体の分布や平均値など特徴の調査分析は困難
  • 欠損値の発生原因
    • 入力の際、必須項目でなかったので
    • 担当者のミスで未入力になっている
  • 欠損値の対処
    • 欠損値の割合や分析の目的などによって補完か除外かを判断
      • 欠損値を含むデータを除外したら、学習に必要なデータ量が確保できない場合
        • 平均値や最頻値などで補完
      • 欠損値を除外しても分析結果に大きな影響を与えない場合
        • 欠損値が含まれる行ごとまたは列ごと除外
      • 欠損値の割合が高い行や列があるデータ
        • 情報量が少なく分析に耐えられないので除外

外れ値処理

  • 外れ値とは、他の多くの値から大きく外れている値
    • 外れ値が残ったまま学習データとして使用すると、全体の結果がゆがんでしまう
    • 極端に大きな値や小さな値を学習データに含めると、結果が外れ値に引っ張られてしまう
  • データの分布から外れ値の有無を確認
    • データをヒストグラムや箱ひげ図などにしてチェック
  • 外れ値の発生原因
    • データ入力の誤り
    • 値そのものは正しいが、偶然外れが生じた
  • 外れ値の対処法
    • 発生原因が、入力ミスやシステムエラーなどと判明した場合
      • 正しい値に修正
    • 発生原因不明、または外れ具合が大きい場合
      • データを行ごと除外
    • 発生原因判明し、かつ分析結果に大きな影響がない場合
      • そのまま使用

ダミー変数化

  • ダミー変数とは、ある状態であるか否か0/1で表すもの
    • ダミー変数化によって数字ではないデータを数字に変換して扱える
  • 質的データからダミー変数への変換例
    • 男性: 1、女性: 0

多重共線性問題の回避

  • 多重共線性問題とは
    • 関連性が高い変数を同時にモデルに組み込むと、正しい結果が得られないこと
  • 確認方法
    • データ間の相関係数が大きい場合、多重共線性が疑われる
  • 対処法
    • 関連性が高い変数が2つある場合は、どちらかを除外してから使用

おわりに

信頼できるMLモデル生成には、データ前処理が欠かせない。
データ前処理、奥深いですね。
次回も続きます。お楽しみに。

[次回] AWS公式資料で挑むMLS認定(16)-特徴量エンジニアリング(データ前処理)
1
0
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
0