特徴量スケーリング
- 正規化は、データを0から1の範囲にスケーリングします。
- 標準化は、データの平均を0、標準偏差を1にスケーリングします。
これらの手法は、特に距離ベースのアルゴリズム(例:k近傍法やSVM)で重要です。データのスケールが揃っていないと、モデルの性能が低下する可能性があります。
正規化 (Normalization)
正規化は、データの範囲を0から1の間に収める手法です。これにより、異なるスケールの特徴量を同じスケールに揃えることができます。
from sklearn.preprocessing import MinMaxScaler
import numpy as np
# サンプルデータ
data = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
# Min-Maxスケーリング
scaler = MinMaxScaler()
normalized_data = scaler.fit_transform(data)
print("Normalized Data:")
print(normalized_data)
標準化 (Standardization)
標準化は、データの平均を0、標準偏差を1にする手法です。これにより、データの分布を標準正規分布に近づけます。
from sklearn.preprocessing import StandardScaler
import numpy as np
# サンプルデータ
data = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
# 標準化
scaler = StandardScaler()
standardized_data = scaler.fit_transform(data)
print("Standardized Data:")
print(standardized_data)
特徴選択
特徴選択とは、モデルの予測に最も関連性の高い特徴量(変数)を選び出すプロセスです。これにより、モデルの精度を向上させ、計算コストを削減し、過学習を防ぐことができます。
具体例1: 家賃予測
例えば、賃貸物件の家賃を予測するモデルを考えてみましょう。以下のようなデータがあるとします:
- 専有面積(平方メートル)
- 築年数(年)
- 最寄駅からの距離(分)
- 階数
- バルコニーの有無
この中で、家賃に最も影響を与える特徴量を選び出すことが特徴選択です。例えば、専有面積と築年数が家賃に強く関連していると判断された場合、これらの特徴量をモデルに使用します。
具体例2: 売上予測
もう一つの例として、アイスクリームの売上を予測するモデルを考えます。以下のデータがあるとします:
- 最高気温(℃)
- 最低気温(℃)
- 降水量(mm)
- 休日かどうか(はい/いいえ)
この場合、売上に最も影響を与える特徴量を選び出します。例えば、最高気温と休日かどうかが売上に強く関連していると判断された場合、これらの特徴量をモデルに使用します。
特徴選択の手法
特徴選択にはいくつかの手法があります:
- フィルタ法(Filter Method): 統計的な手法を用いて各特徴量の重要度を評価し、上位の特徴量を選びます。例えば、相関係数やカイ二乗検定を使用します。
- ラッパー法(Wrapper Method): 特徴量の組み合わせを試行錯誤しながら最適なセットを見つけます。例えば、逐次後退選択法や逐次前進選択法があります。
- 組み込み法(Embedded Method): モデルの学習過程で特徴選択を行います。例えば、Lasso回帰や決定木ベースの手法があります。
今回の感想
日本語のデータセットが少なく使えそうなものがなかったため、実践編は断念しましたが、概念としてはなんとなく理解ができました。また実践する際には読み返しながら行いたいと思います。
※このシリーズは下記の書籍を参考に書いています。
コメント