Python 2.7 在大文本数据中使用HashingVectorizer时如何获取TF-IDF

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 =

我正在使用python中的scikit sklearn。当我使用
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
    ,是 使用
    哈希矢量器执行
    或在完成
    哈希矢量器
  • 在线学习是否可用于计算TF-IDF?如何操作 是吗