![](/img/trans.png)
[英]python sklearn: what is the different between “sklearn.preprocessing.normalize(X, norm='l2')” and “sklearn.svm.LinearSVC(penalty='l2')”
[英]What does norm='l2' in sklearn.preprocessing.normalize do for matrix normalization?
我在这里通过使用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
对这里的归一化有什么作用?
normsA2 = normalize(sA, norm='l2', axis=0)
print sum(normsA2)
print sum(normsA2.T)
>>(0, 0) 1.41421356237
(0, 1) 1.0
(0, 2) 1.4
(0, 0) 1.70710678119
(0, 1) 0.6
(0, 2) 1.50710678119
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.