我一直致力于矩阵规范化问题,声明如下:
给定矩阵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)
我可以构建一个互惠蒙版,我想在整个矩阵中应用,作为元素产品,但我似乎无法做到正确。谢谢!
答案 0 :(得分:2)
(解决已编辑的问题)看起来您打算使用axis=0
:
i = 1 / class_matrix.sum(axis=0)
i[~np.isfinite(i)] = 0
class_matrix *= i