StandardScaler в sklearn используется для нормализации данных с помощью формулы: x_normalize = (x-mean) / std.Однако у меня другой результат.
Вот мой маленький пример:
a = pd.DataFrame({'X': [1,2,3,4],
'Y': [1,2,4,72]})
StandardScaler().fit_transform(a)
Результат:
array([[-1.34164079, -0.6211513 ],
[-0.4472136 , -0.58802323],
[0.4472136 , -0.52176709],
[ 1.34164079, 1.73094161]])
Я пытаюсь вычислить сам:
a.loc[:,'X'].mean()
Out[61]: 2.5
a.loc[:,'X'].std()
Out[62]: 1.2909944487358056
(1-a.loc[:,'X'].mean())/a.loc[:,'X'].std()
Out[63]: -1.161895003862225
Вы можете видеть, что на основе StardardScale a.loc [0, 'X'] равен 1, а затем -1,3416 после преобразования.Но мой результат -1.1618.
Может кто-нибудь объяснить мне, если я ошибся?