說明:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。