📓
前処理について(機械学習)
前処理について学ぶ
機械学習のワークフロー中の前処理について、学習していきます。
前処理:データを学習しやすく整形する工程
収集される生のデータは…
- データが一部なかったり(欠損値)
- 異常なデータがあったり(外れ値)
- 学習の際に使える形式に加工する必要があったり(徳微量エンジニアリング)
などの状況であることがほとんど
欠損値
:何らかの理由により記録されなかった値
欠損値が存在すれば最終的なモデルの精度の値に影響を与えてしまう
処理方法は...
- 削除法
欠損値を含む業過列を削除する手法
シンプルで簡単だが、有益な情報が失われる可能性も - 補完法
欠損部分を埋め、データを完成させる
一般的にはこの補完法を使用する!
・平均補完法:平均値で補完
・最頻値補完:最頻値(もっとも頻度が高い値)で補完
・中央値補完:中央値(データを大きい順で並べた時に真ん中に来る値で補完)
外れ値
:他の値と極端に異なるデータのこと
生成モデルに悪影響を及ぼす可能性があるため、
除去もしくは補完する必要がある!
- 箱ひげ法
四分位数とは…データを小さい順に並び変えた時に、データの数で4等分した時の区切り値
4等分すると3つの区切りの値が得られ、小さいほうから
25パーセンタイル(第一四分位数)
50パーセンタイル(中央値)
75パーセンタイル(第三四分位数)
・第三四分位数+(1.5×IQR)より小さい最大値
・第一四分位数+(1.5×IQR)より大きい最小値
この範囲外が外れ値になる
外れ値がある場合は除去し、そうとうする値に補完する
徳微量エンジニアリング
-
目的変数:予測する目的の値
-
説明変数:目的変数を説明する値
例)学歴から年収を出す場合、目的変数が年収で説明変数が学歴 -
特微量
説明変数のままでは学習の際に用いるデータ形式として適切ではない可能性がある
そのため、説明変数の加工を行い、適切に加工する
加工したデータを特微量と呼ぶ
この加工する行為を特微量エンジニアリング
カテゴリー変数
カテゴリー変数はそのままでは入力の値として使えないので
数値として表現する必要がある!
- ワンホットエンコーディング(ダミー変数化)
→カテゴリー特微量を「0」「1」で表現
スケール変換
機械学習のアルゴリズムは特微量のスケールによって大きく影響を受ける
尺度が高い特微量が過大評価される可能性があるため
「スケールをそろえる」必要がある!
- 正規化…特微量の最小値を0、最大値を1へ変換
事例:画像認識AI
読み込んだ画像を0-255の範囲で表現するが、255で割ることで0-1の正規化を行う
→認識の精度があがるため - 標準化…特微量の分布を標準偏差を1、平均を0へ変換
過学習・汎化性能
- 汎化性能…道のテストデータに対する識別能力
AIを使って実現したいことは「予測」! - 過学習…学習データに対して過剰に学習してしまうこと
学習しすぎると精度がよくなりすぎてしまい、汎化性能が低くなる
データの分割
機械学習ではデータセットを学習させる前に
- 訓練データ:訓練(学習)用のデータセット
- テストデータ:評価用のデータセット
の2つに分割する必要がある
学習させた後に疑似的に道のデータに対する性能を測定するため
評価用のデータセットを用意する
最終目的!!
汎化性能が最大になるモデルを構築すること!
所感
今回は前処理について、座学を行いました。
初めて学習した単語も多かったですが、アウトプットできてよかったです。
次は学習と評価ですね、実装できるよう頑張ります!
Discussion