最後に以下のコードを実行し、
実際に'SalePrice'に対し、
sklearn.preprocessingの中から、標準化である、StandardScalerを用い、
値に対して標準化を適応した訳だが、
実際にmatplotlibを用いて、標準化前と標準化後のyの値(ここでは、'SalePrice')
がどのように変化したか確認して、本書のおわりとしたいと思う。


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('AmesHousing.csv')

x = np.arange(0, len(df['SalePrice']))
y = df['SalePrice'].values

plt.scatter(x, y)
plt.show()

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
y = y.reshape(-1, 1)
y = scaler.fit_transform(y)
plt.scatter(x, y)
plt.show()


標準化前の縦軸yの値は、最大値が700000程あることが確認できる。


標準化後は縦軸yの値は、平均値±1の範囲内に値は収められ、
値の最大値は、7程度と抑えられている。

いかがだっただろうか。
学習データに最大値と最小値がない場合、
機械学習のモデルは、最適な特徴量を見つけ出すことが、
できず、その結果学習が上手くいかないと言う問題があった。

標準化、正規化で、最大値と最小値の範囲内に値を収めることで、
学習が上手くいくことが、確認できたのではないか。