此示例中的数字减少,使事物更具可读性。我实际上处理的是更多更大的数据。
目前我正在使用sklearn.preprocessing中的Normalizer来规范化矩阵:
from sklearn.preprocessing import Normalizer
from scipy.sparse import csr_matrix
tab = csr_matrix((5, 10))
tab[2,3] = 1
tab[4,5] = 2 #The columns represent my 10 items in a 5-dimensions space
transformer = Normalizer(norm='l1')
tab = transformer.fit_transform(tab.T).T #normalize by column
这可以按我的预期工作(它会转换tab
,因此按列进行标准化)。
但是现在我有一个新的数组arr
(大小为5),我想在它上面应用与选项卡列相同的转换。我不能这样做:
result = transformer.transform(arr)
因为.transform需要一个矩阵,但无论如何都不要记住上一次转换。我怎样才能保留这段记忆?
考虑到数据总量(tab
的大小)