4章数値データの取り扱い

レシピ4.0 はじめに

 定量的なデータとは、何かを測定した値、例えば特定の種類のもののサイズ、月ごとの売上、学生の成績などのことだ。これらの量を表現するには数値を用いるのが自然だ(学生29人、売上529,392ドル、など)。本章では、生の数値データを、機械学習アルゴリズムに適した特徴量に変換するさまざまな戦略を紹介する。

レシピ4.1 特徴量のスケール変換

問題

 数値特徴量が、2つの値の間になるようにスケール変換したい。

解決策

 特徴量配列をスケール変換するにはscikit-learnのMinMaxScalerを用いる。

# ライブラリをロード
import numpy as np
from sklearn import preprocessing

# 特徴量を作成
feature = np.array([[-500.5],
                    [-100.1],
                    [0],
                    [100.1],
                    [900.9]])

# スケール変換器を作成
minmax_scale = preprocessing.MinMaxScaler(feature_range=(0, 1))

# 特徴量をスケール変換
scaled_feature = minmax_scale.fit_transform(feature)

# 特徴量を表示
scaled_feature
array([[ 0.        ],
       [ 0.28571429],
       [ 0.35714286],
       [ 0.42857143],
       [ 1.        ]])

議論

 スケール変換は、機械学習において広く用いられている前処理だ。本書でこの後紹介するアルゴリズムの多くのは、すべての特徴量が同じスケールになっていることを前提としている。0から1、もしくは−1から1の間にスケール変換することが多い。スケール変換にはさまざまな方法があるが、最も単純なものがこの ...

Get Python機械学習クックブック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.