我有一个关于特定主题的一般问题。
我正在使用 Word2Vec 生成的向量作为特征馈送到我的分布式随机森林模型中,以便对一些记录进行分类。我有数百万条记录,并且每天都会收到新记录。由于新记录的到来,我希望使用与以前的记录相同的矢量模型对新记录进行编码。这意味着单词"AT"现在和将来将是相同的向量。 我知道 Word2Vec 使用随机种子为语料库中的单词生成向量,但我想关闭它。我需要设置种子,这样,如果我今天在数据的一部分上训练模型,然后在将来再次训练相同的数据,我希望它为每个单词生成具有完全相同向量的相同模型。 生成新模型然后编码的问题在于,对这些记录进行编码需要花费大量时间,最重要的是,我的 DRF 分类模型不再有用,因为单词的向量已经改变。所以我必须重新训练一个新的 DRF。 通常这不是问题,因为我可以只训练一个模型,然后永远使用它;但是我知道一个好的做法是定期更新您的软件包。这是 h2o 的一个问题,因为一旦更新,就无法与以前版本生成的模型进行向后比较。
我是否可以阅读有关如何在python中为h2o设置Word2Vec模型的种子的任何来源?我正在使用 Python 版本 3 和 h2o 版本 3.18
H2O-3 中的 word2vec 使用 hogwild 实现 - 模型参数从多个线程并发更新,无法保证此实现中的可重复性。
您的文本语料库有多大?以模型训练速度减慢为代价,您可以通过限制算法仅使用单个线程(h2o 启动参数-nthread
(来获得可重现的结果。