【发布时间】:2017-11-07 05:45:08
【问题描述】:
我正在尝试使用我的自定义分析器创建术语文档矩阵,以从文档中提取特征。以下是相同的代码:
vectorizer = CountVectorizer( \
ngram_range=(1,2),
)
analyzer=vectorizer.build_analyzer()
def customAnalyzer(text):
grams = analyzer(text)
tgrams = [gram for gram in grams if not re.match("^[0-9\s]+$",gram)]
return tgrams
调用此函数来创建自定义分析器,countVectorizer 使用该分析器来提取特征。
for i in xrange( 0, num_rows ):
clean_query.append( review_to_words( inp["keyword"][i] , units))
vectorizer = CountVectorizer(analyzer = customAnalyzer, \
tokenizer = None, \
ngram_range=(1,2), \
preprocessor = None, \
stop_words = None, \
max_features = n,
)
features = vectorizer.fit_transform(clean_query)
z = vectorizer.get_feature_names()
此调用引发以下错误:
(<type 'exceptions.NotImplementedError'>, 'python.py', 128,NotImplementedError('adding a nonzero scalar to a sparse matrix is not supported',))
当我们调用矢量化器进行拟合和转换时会出现此错误。 但是变量 clean_query 的值不是标量。我正在使用 sklearn-0.17.1
np.isscalar(clean_query)
False
【问题讨论】:
-
贴出数据,这样我们就可以复制错误了。
标签: python-2.7 numpy scipy scikit-learn