栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将dask数据框中的列转换为Doc2Vec的TaggedDocument

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将dask数据框中的列转换为Doc2Vec的TaggedDocument

我不熟悉Dask API /限制,但通常:

  • 如果您可以将数据迭代为(单词,标签)元组(甚至忽略

    Doc2Vec
    /
    Taggeddocument
    步骤),那么Dask端将已经处理,并将这些元组转换为
    Taggeddocument
    实例应该是微不足道的

  • 通常,对于大型数据集,您不想(并且可能没有足够的RAM来)将整个数据集实例化为

    list
    内存中的内容-因此,涉及
    list()
    或的尝试
    .append()
    可能在某种程度上都可以正常工作,但会耗尽本地内存(导致严重的交换)和/或仅未达到数据末尾。

大型数据集的首选方法是创建一个可迭代的对象,该对象每次被要求对数据进行迭代(因为

Doc2Vec
训练将需要多次通过)可以依次提供每个项目,但永远不要将整个数据集读入内存中的对象。

关于此模式的一个不错的博客文章是:Python中的数据流:生成器,迭代器,可迭代

给定您显示的代码,我怀疑适合您的方法可能是:

from gensim.utils import simple_preprocessclass MyDataframeCorpus(object):    def __init__(self, source_df, text_col, tag_col):        self.source_df = source_df        self.text_col = text_col        self.tag_col = tag_col    def __iter__(self):        for i, row in self.source_df.iterrows(): yield Taggeddocument(words=simple_preprocess(row[self.text_col]), tags=[row[self.tag_col]])corpus_for_doc2vec = MyDataframeCorpus(df, 'claim_txt', 'claim_no')


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516937.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号