湯LOG

主に自分用のメモ

numpyを使ったデータの標準化

各次元が平均0、分散1になるようにデータの標準化

def scale(X):
    """データ行列Xを属性ごとに標準化したデータを返す"""
    # 属性の数 (列の数)
    col = X.shape[1]

    # 属性ごとに平均値と標準偏差を計算
    mu = np.mean(X, axis=0)
    sigma = np.std(X, axis=0)

    # 属性ごとにデータを標準化
    for i in range(col):
        X[:,i] = (X[:,i] - mu[i]) / sigma[i]

    return X