我在scikit-learn中使用FeatureHasher。
任何人都可以解释为什么我在稀疏矩阵中最终得到4个非零数据而不是以下2个:
>>> f = FeatureHasher(input_type='string')
>>> g = f.transform(('as','bs'))
<2x1048576 sparse matrix of type '<type 'numpy.float64'>'
with 4 stored elements in Compressed Sparse Row format>
>>> g.data
array([-1., 1., -1., -1.])
>>> g.nonzero()
(array([0, 0, 1, 1], dtype=int32), array([341263, 354738, 98813, 341263], dtype=int32))
答案 0 :(得分:3)
似乎期待一系列序列。外部序列用于观察,内部是特征。输入时,内部序列是字符串的字符。
观察0:&#39; a&#39; - &GT; 354738,&#39; s&#39; - &GT; 341263
观察1:&#39; b&#39; - &GT; 98813,&#39; s&#39; - &GT; 341263
试试这个:
g = f.transform([['as'],['bs']])
输出:
>>> g.nonzero()
(array([0, 1], dtype=int32), array([494108, 335425], dtype=int32))