根据 mllib.feature.Word2Vec - spark 1.3.1文档[1],可以得知:
设置迭代次数(默认值为1),应该小于或等于分区数。
设置分区数(默认值为1)。为了获得更高的准确性,请使用较小的数字。
但在这个拉取请求[2]中:
为了使我们的实现更具可扩展性,我们单独训练每个分区,并在每次迭代后合并每个分区的模型。为了使模型更准确,可能需要进行多次迭代。
问题:
- numIterations和numPartitions参数如何影响算法的内部工作? - 在考虑以下规则时,设置分区数和迭代次数之间是否存在权衡?
- 更高的准确性->根据[2]进行更多的迭代 - 更多的迭代->更多的分区根据[1] - 更多的分区->更少的准确性
def setNumIterations(numIterations: Int): Word2Vec.this.type
设置迭代次数(默认值为1),应该小于或等于分区数。
def setNumPartitions(numPartitions: Int): Word2Vec.this.type
设置分区数(默认值为1)。为了获得更高的准确性,请使用较小的数字。
但在这个拉取请求[2]中:
为了使我们的实现更具可扩展性,我们单独训练每个分区,并在每次迭代后合并每个分区的模型。为了使模型更准确,可能需要进行多次迭代。
问题:
- numIterations和numPartitions参数如何影响算法的内部工作? - 在考虑以下规则时,设置分区数和迭代次数之间是否存在权衡?
- 更高的准确性->根据[2]进行更多的迭代 - 更多的迭代->更多的分区根据[1] - 更多的分区->更少的准确性