Python列表和sklearn HashingVectorizer

时间:2017-09-11 11:19:37

标签: python scikit-learn

我有一个嵌套的python列表,格式如下

npes = [['a','b'], ['d','e'],['f','g']]

我需要使用HashingVectorizer()对此列表进行矢量化,但我无法理解如何使用vectorizer.fit_transform处理此列表

vectorizer = HashingVectorizer()
Xc = vectorizer.fit_transform(npes)

上面给出了以下错误

  AttributeError: 'list' object has no attribute 'lower'

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

npes是列表列表,vectorizer不列出列表作为参数。因此,将列表展平并将其作为参数发送,即

npes = [['a','b'], ['d','e'],['f','g']]
vectorizer = HashingVectorizer()
Xc = vectorizer.fit_transform(sum(npes, []))

如果你正在使用numpy,那么npes = np.ravel(npes)