Стандартизация данных по образцам или по функциям? - PullRequest
1 голос
/ 03 августа 2020

У меня есть 4 образца данных с 5 функциями в виде массива data.

введите описание изображения здесь

 import numpy as np


data = np.array([[1,1,1,1,0],
                 [0,0,0,0,0],
                 [1,1,1,1,0],
                 [1,0,0,0,0]])

print (data)

n_samples, n_features = data.shape = (4,5)

Когда я применяю к нему StandardScaler следующим образом, стандартизирует ли он данные по функциям или по образцам?

from sklearn.preprocessing import StandardScaler, MinMaxScaler
result = StandardScaler().fit_transform(data)
print (result)

[[ 0.57735027  1.          1.          1.          0.        ]
 [-1.73205081 -1.         -1.         -1.          0.        ]
 [ 0.57735027  1.          1.          1.          0.        ]
 [ 0.57735027 -1.         -1.         -1.          0.        ]]

Какая наилучшая практика стандартизации данных в машинном обучении по образцам или по функциям?

1 Ответ

1 голос
/ 03 августа 2020

в случае StandardScaler / MinMaxScaler данные масштабируются по функциям, и это наиболее распространенная практика

import numpy as np
from sklearn.preprocessing import StandardScaler

data = np.array([[1,1,1,1,0],
                 [0,0,0,0,0],
                 [1,1,1,1,0],
                 [1,0,0,0,0]])

result = StandardScaler().fit_transform(data)
result

array([[ 0.57735027,  1.        ,  1.        ,  1.        ,  0.        ],
       [-1.73205081, -1.        , -1.        , -1.        ,  0.        ],
       [ 0.57735027,  1.        ,  1.        ,  1.        ,  0.        ],
       [ 0.57735027, -1.        , -1.        , -1.        ,  0.        ]])

вы можете проверить это самостоятельно

(data - data.mean(0))/data.std(0).clip(1e-5)

array([[ 0.57735027,  1.        ,  1.        ,  1.        ,  0.        ],
       [-1.73205081, -1.        , -1.        , -1.        ,  0.        ],
       [ 0.57735027,  1.        ,  1.        ,  1.        ,  0.        ],
       [ 0.57735027, -1.        , -1.        , -1.        ,  0.        ]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...