lda模型有两个参数
我在“em”模式下docConcentration
和 topicDistribution
一般设置多少合适
我想输出logLikelihood
和logPerplexity
看看效果
但是我这样写ldaModel.logPerplexity(input)
会返回NaN
这里的input输入格式是怎么样的?
谢谢~~~
lda模型有两个参数
我在“em”模式下docConcentration
和 topicDistribution
一般设置多少合适
我想输出logLikelihood
和logPerplexity
看看效果
但是我这样写ldaModel.logPerplexity(input)
会返回NaN
这里的input输入格式是怎么样的?
谢谢~~~
3 回答3.4k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
1 回答4.4k 阅读
1 回答2.7k 阅读
2 回答1.3k 阅读
2.7k 阅读
2.5k 阅读
关于你提到的LDA模型参数设置问题:
docConcentration和topicDistribution的合适设置取决于你的具体数据集和需求。通常情况下,docConcentration(文档-主题分布)的默认值为1.0,而topicDistribution(主题-词汇分布)的默认值为0.01。这些值可能不适用于所有数据集,建议你尝试使用交叉验证或其他模型选择方法来确定最佳参数。
关于logPerplexity返回NaN的问题,这可能是由于输入数据格式不正确导致的。logPerplexity方法接受一个参数,即一个已经被处理为org.apache.spark.ml.linalg.Vector类型的文档词频向量的数据集。你需要确保输入数据集已经通过CountVectorizer或其他适当的转换方法处理,以便每个文档都表示为一个词频向量。一个简单的例子说明如何准备输入数据:
在这个例子中,原始数据集中的"rawTokens"列应包含每个文档的分词结果。CountVectorizer会将这些分词结果转换为词频向量,然后将结果存储在"features"列中。这就可以将这个处理后的数据集传递给logPerplexity方法。