---
# System prepended metadata

title: 特徴量についてのあれこれ
tags: [データ分析　機械学習]

---

# 特徴量についてのあれこれ

###### tags: `データ分析　機械学習`

### 特徴量とは
* 分析すべきデータや対象物の特徴・特性を、定量的に表した数値
* 分析コンペでモデル精度を上げるために最も重要な要素である

### 欠損値の扱い
* 欠損値になっている理由
    * 値が存在しない
    * 何らかの意図がある
    * 値を取得するのに失敗した

* GBDTでは欠損値をそのまま取り扱うことができる
* しかし、補完した方が精度が上がるケースもある
* なので、欠損値のまま扱う場合と、埋める場合の両方を試してみる必要がある

### 欠損値を代表値で埋める
* 欠損値を埋めるシンプルな方法は、その変数の代表値で埋めること
    * 平均値
    * 中央値など
* 平均の取り方も、単純に全データの平均ではなく、別のカテゴリの変数の値でグループ分けし、そのグループごとの平均を代入する方法も考えられる
* カテゴリ変数の場合は、欠損値を1つのカテゴリとみなして、欠損を表すカテゴリを新たに作り置き換える方法や、最も多いカテゴリを代表値として置き換える方法がある

### 欠損値を他の変数から予測する
* 欠損している変数が他の変数と関連を持っている場合には、それらの変数から本来の値を予測できる可能性
* 欠損している変数が重要な変数である場合、予測により精緻な補完ができれば精度の工場が見込める
1. 欠損を補完したい変数を目的変数とみなし、その他の変数を特徴量とした補完のためのモデルを作成し、学習を行う
2. 補完したい変数が欠損していないレコードを学習データとし、欠損しているデータを予測対象のデータとする
3. 補完のためのモデルで予測を行なった値で欠損値を埋める
* 上記の際に、補完のためのモデルの特徴量に、本来の目的変数を含めない
* なぜなら、テストデータの補完ができなくなるから（テストデータには目的変数ないしね、予測対象だから）

### 欠損値から新たな特徴量を作成する
* 欠損の発生が完全にランダムに起こることはあまりなく、何らかの理由がある場合が多い
* その場合、欠損していること自体に情報があるため、欠損値から特徴量を作ることが有効
* シンプルな方法として、欠損かどうかを表す二値変数