Python 2.7 在大文本数据中使用HashingVectorizer时如何获取TF-IDF
我正在使用python中的scikit sklearn。当我使用Python 2.7 在大文本数据中使用HashingVectorizer时如何获取TF-IDF,python-2.7,scikit-learn,tf-idf,Python 2.7,Scikit Learn,Tf Idf,我正在使用python中的scikit sklearn。当我使用countvectorizer或HashingVectorizer中的所有文本数据时,它会报告内存错误。因此,我试图通过在线学习大文本数据来使用HashingVectorizer获取TF-IDF。代码如下: chunk_size = 1000 vectorizer = HashingVectorizer() transformer = TfidfTransformer() train_data_text = [] tfidf =
countvectorizer
或HashingVectorizer
中的所有文本数据时,它会报告内存错误。因此,我试图通过在线学习大文本数据来使用HashingVectorizer
获取TF-IDF
。代码如下:
chunk_size = 1000
vectorizer = HashingVectorizer()
transformer = TfidfTransformer()
train_data_text = []
tfidf = None
for i in range(0,df.shape[0]):
file_word = convert_doc_to_wordlist(str(df.iloc[i,1]), cut_all=False)
sentencestr = " ".join(word for word in file_word)
train_data_text.append(sentencestr)
if (i+1)%chunk_size == 0:
Wordfrequency = vectorizer.transform(train_data_text)
tfidfchunk = transformer.fit_transform(Wordfrequency)
if tfidf == None:
tfidf = tfidfchunk
else:
tfidf = np.vstack((tfidf, tfidfchunk))
train_data_text =[]
sys.stdout.flush()
sys.stdout.write("%.3f" %(float(i)/float(df.shape[0])))
sys.stdout.write( ' ')
我发现hashingvectorier有一个方法。我还了解了如何通过哈希向量器
从不适合主内存的数据中学习。但是我没有看到partial_-fit
方法,而是看到了一些分类器的partial_-fit
方法
HashingVectorizer
的partial\u-fit
方法,还是仅使用
当我的代码使用转换时
hashingvectorier
计算TF-IDF
,是
使用哈希矢量器执行
或在完成
哈希矢量器