我在这里用sklearn.preprocessing.normalize
规范化了scipy.sparse
矩阵sA
。我阅读了文档,但不了解norm='l...'
嗯,所以我测试了它。在
norm='l1'
进行得很好,我得到的结果与预期的一样,在所有行中为1。在
A = np.array([[1,2,0],[0,0,3],[1,0,4]])
sA = sp.csr_matrix(A)
normsA = normalize(sA, norm='l1', axis=0)
print normsA
print "---"
print sum(normsA)
>>(0, 0) 0.5
(2, 0) 0.5
(0, 1) 1.0
(1, 2) 0.428571428571
(2, 2) 0.571428571429
---
(0, 0) 1.0
(0, 1) 1.0
(0, 2) 1.0
但是,当我尝试l2
时,我无法找到它是如何规范化矩阵的。矩阵或转置矩阵之和不等于1。l2
在这里规范化有什么作用?在
即使用l2 norm(或欧几里德范数/距离),换句话说,元素的平方和给出一。在
以下输出1的预期向量:
相关问题 更多 >
编程相关推荐