我习惯于 map 和 starmap 池方法在任何可迭代对象上分配 FUNCTION 。通常,这是我从熊猫数据帧的原始内容列中提取词干的方式:
pool = mp.Pool(cpu_nb)
totalvocab_stemmed = pool.map(tokenize_and_stem, site_df["raw_content"])
pool.close()
a good article on function parallelization in python
到目前为止,一切都很好。但是,有没有一种简便易行的方法可以并行执行sklearn METHODS 。这是我想要分发的示例
tfidf_vectorizer = TfidfVectorizer(max_df=0.6, max_features=200000,
min_df=0.2, stop_words=stop_words,
use_idf=True, tokenizer=tokenize_and_stem, ngram_range=(1,3))
tfidf_matrix = tfidf_vectorizer.fit_transform(self.site_df["raw_content"])
tfidf_matrix 不是逐个元素的列表,因此将 site_df [“ raw_content”] 拆分为与我在CPU中具有内核的数量一样多的元素来执行GOF池,以后不能将所有内容堆叠在一起。我看到了一些有趣的选项:
我可能很愚蠢,但两次尝试都不是很成功。你会怎么做?