Numpy - построчная нормализация - PullRequest
0 голосов
/ 14 мая 2018

Я работал над проблемой нормализации матрицы, сформулированной как:

Учитывая матрицу M, нормализуйте ее элементы так, чтобы каждый элемент был разделен с соответствующей суммой столбца, если элемент не равен 0.

cwsums = np.sum(class_matrix,axis=1)
cwsums = np.reciprocal(cwsums.astype(np.float32))
cwsums[cwsums == np.inf] = 0
## this is the problem
final_matrix = np.multiply(final_matrix, cwsums)

Я могу построить взаимную маску, которую я хотел бы применить через матрицу, как поэлементный продукт, но, похоже, я не могу понять, что это правильно.Спасибо!

1 Ответ

0 голосов
/ 14 мая 2018

(Обращение к отредактированному вопросу) Похоже, вы хотели суммировать строки, используя axis=0:

i = 1 / class_matrix.sum(axis=0)
i[~np.isfinite(i)] = 0

class_matrix *= i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...