说明:
spark.lda
适合 SparkDataFrame 上的潜在 Dirichlet 分配模型。用户可以调用summary
获取拟合LDA模型的摘要,spark.posterior
计算新数据的后验概率,spark.perplexity
计算新数据的log perplexity和write.ml
/read.ml
保存/加载拟合楷模。
用法:
spark.lda(data, ...)
spark.posterior(object, newData)
spark.perplexity(object, data)
## S4 method for signature 'SparkDataFrame'
spark.lda(
data,
features = "features",
k = 10,
maxIter = 20,
optimizer = c("online", "em"),
subsamplingRate = 0.05,
topicConcentration = -1,
docConcentration = -1,
customizedStopWords = "",
maxVocabSize = bitwShiftL(1, 18)
)
## S4 method for signature 'LDAModel'
summary(object, maxTermsPerTopic)
## S4 method for signature 'LDAModel,SparkDataFrame'
spark.perplexity(object, data)
## S4 method for signature 'LDAModel,SparkDataFrame'
spark.posterior(object, newData)
## S4 method for signature 'LDAModel,character'
write.ml(object, path, overwrite = FALSE)
参数:
data
用于训练的 SparkDataFrame。...
传递给方法的附加参数。object
spark.lda
拟合的潜在狄利克雷分配模型。newData
用于测试的 SparkDataFrame。features
特征列名。 libSVM-format 列或character-format 列有效。k
主题数。maxIter
最大迭代次数。optimizer
用于训练 LDA 模型的优化器,"online" 或 "em",默认为 "online"。subsamplingRate
(对于在线优化器)要在小批量梯度下降的每次迭代中采样和使用的语料库的分数,范围为 (0, 1]。topicConcentration
浓度参数(通常命名为beta
或eta
)用于优先放置在主题分布上的术语,默认为 -1 以在 Spark 端自动设置。使用summary
检索有效的topicConcentration。只接受 1 号数字。docConcentration
浓度参数(通常命名为alpha
)用于优先放置在主题上的文档分布(theta
),默认为 -1 以在 Spark 端自动设置。使用summary
检索有效的 docConcentration。只接受 1-size 或k
-size numeric。customizedStopWords
需要从给定语料库中删除的停用词。如果 libSVM-format 列用作特征列,则忽略该参数。maxVocabSize
最大词汇量,默认 1 << 18maxTermsPerTopic
为每个主题收集的最大术语数。默认值为 10。path
保存模型的目录。overwrite
如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。
返回:
spark.lda
返回一个拟合的潜在狄利克雷分配模型。
summary
返回拟合模型的汇总信息,是一个列表。该列表包括
浓度参数通常命名为docConcentration
alpha
,用于先前放置在主题上的文档分布theta
浓度参数通常命名为topicConcentration
beta
或eta
用于在术语上放置主题分布的先验
整个语料库的对数似然logLikelihood
日志困惑logPerplexity
TRUE 用于分布式模型,FALSE 用于本地模型isDistributed
语料库中的术语数vocabSize
前 10 个术语及其在所有主题中的权重topics
训练语料库的全部术语,如果 libsvm 格式文件用作训练集,则为 NULLvocabulary
给定当前参数估计,在训练集中观察到的标记的对数似然:log P(docs | topic, topic distributions for docs, Dirichlet hyperparameters) 它仅适用于分布式 LDA 模型(即优化器 = "em")trainingLogLikelihood
当前参数估计的对数概率:log P(topics, topic distributions for docs | Dirichlet hyperparameters) 仅适用于分布式 LDA 模型(即优化器 = "em")logPrior
spark.perplexity
返回给定 SparkDataFrame 的 log perplexity,或者如果缺少参数 "data",则返回训练数据的 log perplexity。
spark.posterior
返回一个包含名为"topicDistribution" 的后验概率向量的 SparkDataFrame。
注意:
spark.lda 自 2.1.0
摘要(LDAModel)自 2.1.0 起
spark.perplexity(LDAModel) 自 2.1.0 起
spark.posterior(LDAModel) 自 2.1.0 起
write.ml(LDAModel, character) 自 2.1.0 起
例子:
text <- read.df("data/mllib/sample_lda_libsvm_data.txt", source = "libsvm")
model <- spark.lda(data = text, optimizer = "em")
# get a summary of the model
summary(model)
# compute posterior probabilities
posterior <- spark.posterior(model, text)
showDF(posterior)
# compute perplexity
perplexity <- spark.perplexity(model, text)
# save and load the model
path <- "path/to/model"
write.ml(model, path)
savedModel <- read.ml(path)
summary(savedModel)
相关用法
- R SparkR spark.lm用法及代码示例
- R SparkR spark.logit用法及代码示例
- R SparkR spark.lapply用法及代码示例
- R SparkR spark.decisionTree用法及代码示例
- R SparkR spark.powerIterationClustering用法及代码示例
- R SparkR spark.svmLinear用法及代码示例
- R SparkR spark.gaussianMixture用法及代码示例
- R SparkR spark.naiveBayes用法及代码示例
- R SparkR spark.getSparkFiles用法及代码示例
- R SparkR spark.survreg用法及代码示例
- R SparkR spark.mlp用法及代码示例
- R SparkR spark.fmClassifier用法及代码示例
- R SparkR spark.gbt用法及代码示例
- R SparkR spark.getSparkFilesRootDirectory用法及代码示例
- R SparkR spark.addFile用法及代码示例
- R SparkR spark.isoreg用法及代码示例
- R SparkR spark.als用法及代码示例
- R SparkR spark.glm用法及代码示例
- R SparkR spark.fmRegressor用法及代码示例
- R SparkR spark.kmeans用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Latent Dirichlet Allocation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。