我正在使用scikit-learn构建分类器,它可以处理(较大的)文本文件。目前我需要一个简单的词袋特征,因此我尝试使用TfidfVectorizer/HashingVectorizer/CountVectorizer来获取特征向量。
然而,一次性处理整个训练数据以获取特征向量会导致numpy/scipy内存错误(取决于使用哪个矢量化器)。
当从原始文本中提取文本特征时:如果我将数据分块拟合到矢量化器中,那么这是否与一次性拟合所有数据相同?
为了用代码说明这一点,以下是示例:
然而,一次性处理整个训练数据以获取特征向量会导致numpy/scipy内存错误(取决于使用哪个矢量化器)。
当从原始文本中提取文本特征时:如果我将数据分块拟合到矢量化器中,那么这是否与一次性拟合所有数据相同?
为了用代码说明这一点,以下是示例:
vectoriser = CountVectorizer() # or TfidfVectorizer/HashingVectorizer
train_vectors = vectoriser.fit_transform(train_data)
与以下内容不同:
vectoriser = CountVectorizer() # or TfidfVectorizer/HashingVectorizer
start = 0
while start < len(train_data):
vectoriser.fit(train_data[start:(start+500)])
start += 500
train_vectors = vectoriser.transform(train_data)