У меня есть цифровая матрица, содержащая числа.
1,0,1,1
0,1,1,1
0,0,1,0
1,1,1,1
Я хотел бы выполнить нормализацию Z-счета для каждого столбца;z_Score [y] = (y-среднее (столбец)) / sqrt (var) y - каждый элемент в столбце, среднее значение - средняя функция, возведем в квадрат квадратную корневую функцию и изменим дисперсию.
Мой подходбыло следующее:
x_trainT = x_train.T #transpose the matrix to iterate over columns
for item in x_trainT:
m = item.mean()
var = np.sqrt(item.var())
item = (item - m)/var
x_train = x_trainT.T
Я думал, что после итерации каждая строка доступна по ссылке (как, например, в списках c #), поэтому я могу изменять значения матрицы путем изменения значений строки.
Однако я был неправ, так как матрица сохраняет свои исходные значения без изменений.
Ваша помощь приветствуется.