小编Vik*_*ant的帖子

如何有效地调整 Gensim Doc2Vec 的超参数以在文档相似度问题上实现最大精度?

我有大约 20k 个包含 60 - 150 个单词的文档。在这 20K 份文档中,有 400 份文档的相似文档是已知的。这400个文档作为我的测试数据。

目前我正在删除这 400 个文档,并使用剩余的 19600 个文档来训练 doc2vec。然后我提取训练数据和测试数据的向量。现在,对于每个测试数据文档,我找到它与所有 19600 个训练文档的余弦距离,并选择余弦距离最小的前 5 个。如果标记的相似文档出现在前 5 个文档中,则认为它是准确的。准确率% = 准确记录数/记录总数。

我找到类似文档的另一种方法是使用 doc2Vec 最相似的方法。然后使用上面的公式计算准确度。

上面两个精度不匹配。随着每个时期,一个增加,另一个减少。

我正在使用此处给出的代码:https ://medium.com/scaleabout/a-gentle-introduction-to-doc2vec-db3e8c0cce5e 。用于训练 Doc2Vec。

我想知道如何调整超参数,以便我可以使用上述公式获得准确度。我应该使用余弦距离来查找最相似的文档还是应该使用 gensim 的最相似函数?

python nlp gensim sentence-similarity doc2vec

1
推荐指数
1
解决办法
4852
查看次数

如何计算多个浮点列的累积总和?

我在数据框中有 100 个按日期排序的浮动列。

ID   Date         C1       C2 ....... C100
1     02/06/2019   32.09  45.06         99
1     02/04/2019   32.09  45.06         99
2     02/03/2019   32.09  45.06         99
2     05/07/2019   32.09  45.06         99
Run Code Online (Sandbox Code Playgroud)

我需要根据 ID 和日期在累积总和中获得 C1 到 C100。

目标数据框应如下所示:

ID   Date         C1       C2 ....... C100
1     02/04/2019   32.09  45.06         99
1     02/06/2019   64.18  90.12         198
2     02/03/2019   32.09  45.06         99
2     05/07/2019   64.18  90.12         198
Run Code Online (Sandbox Code Playgroud)

我想在不从 C1-C100 循环的情况下实现这一点。

一列的初始代码:

var DF1 =  DF.withColumn("CumSum_c1", sum("C1").over(
         Window.partitionBy("ID")
        .orderBy(col("date").asc)))
Run Code Online (Sandbox Code Playgroud)

我在这里发现了一个类似的问题,但他手动为两列做了这个:Spark 中的累积总和

scala apache-spark apache-spark-sql

1
推荐指数
1
解决办法
130
查看次数