データ分析で特徴量を作成する3つのポイント

Data Science

データ分析は、特徴量の作成が最も重要。

データ分析のコンペティションで上位の入賞実績のあるデータサインエンティスは、
データの分析手法のポイントについて、以下のように述べています。

データ分析の作業の手順と配分は、
 モデルの種類→ハイパーパラメーター → 特徴量のセット

まず初めに、分析の目的に適したモデルを選択する。
次に、特徴量作成が最も重要で、分析コンペの半分から8割の作業時間を費やす。

ハイパーパラメーターは、変更したときにどれくらい影響があるか時折見ながら、
最後に調整を行う。

モデルは、GBDTでまず行い、タスクの性質によってニューラルネットワークを使用し、
アンサンブルを考える場合は、他のモデルも作成する

そして、モデルの評価、バリデーションの枠組みを変更することもある

つまり、作業時間の8割近くは、特徴量の作成に費やしており、データ分析は
特徴量の作成の理解が最重要の作業であると言える。

データ分析において、モデルの精度を上げるためには、特徴量が最重要な要素である。
しかし、データの内容や予測目的によって、有効な特徴量は異なるため、注意深く選択することが必要である。 

特徴量を作成する方法

対象データから新たに特徴量を作成する方法は、以下の通り主に3つあります。

1.変数を変換することで特徴量を作成する方法

例えば、欠損値をどう処理するのか?
数値変数やカテゴリ変数をどう変換するのか?
日付・時刻からどういった情報を抽出できるか?
単一の変数を変換することで特徴量を作成する。

2.別のテーブルのデータや時系列データから特徴量を作成する方法

データを単に結合したり、集計して統計量を計算したあとにデータを結合して特徴量
を作成する。

3.次元削減・教師なし学習による特徴量を作成する方法

データ全体の情報から各レコードの特徴を抽出する。

モデルと特徴量

適切な特徴量を作成するには、どのモデルの入力として使用されるを十分に理解する必要がある。

例えば、各モデルには、以下のような特徴がある。

GBDT(Gradient Boosting Decision Tree)
数値の大きさ自体に意味がなく、大小関係のみが影響する
欠損値があっても、そのまま扱うことができる
決定木の分岐の繰り返しによって変数間の相互作用を反映する

ニューラルネットワーク
数値の大きさが影響する
欠損値を埋めなくてはいけない
前の層の出力を結合する計算などによって変数間の相互作用を反映する。

欠損値の扱い

欠損値となっている主な理由:
値が存在しないケース

何らかの意図があるケース

値を取得するのに失敗したケース

対処方法としては、欠損値をそのまま取り扱う、但し、取り扱えるモデルが、xgboost,lightgbmなどのモデルに限定されます。

欠損値をその変数の代表値(平均値)で埋める

欠損値を他の変数から予測する

手順は、欠損を保管したい変数を目的変数とみなし、その他の変数を特徴量とした補完の
モデルを作成し、学習をおこなう。 そして、補完のためのモデルで予測を行った欠損値を
埋める。

 

数値変数の変換

基本的な変換は、線形変換によって変数のスケールを変えることです。
例えば、変数の平均を0、標準偏差を1にする操作をする標準化です。

カテゴリ変数の変換

例えば、one-hot encodingは、カテゴリ変数の各水準に対して、その水準かどうかを0,1の二値変数を作成します。

これらは、ダミー変数と呼ばれます。

label encoding は、各水準を単純に整数に置き換えるものです。
例えば、5個の水準があるカテゴリ変数をlabel encodingすると、各水準が0から4までの数値に
変換されます。

 

 

タイトルとURLをコピーしました