当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SparkR spark.gaussianMixture用法及代码示例


说明:

针对 SparkDataFrame 拟合多元高斯混合模型,类似于 R 的mvnormalmixEM()。用户可以调用summary打印拟合模型的摘要,调用predict对新数据进行预测,调用write.ml/read.ml保存/加载拟合模型。

用法:

spark.gaussianMixture(data, formula, ...)

## S4 method for signature 'SparkDataFrame,formula'
spark.gaussianMixture(data, formula, k = 2, maxIter = 100, tol = 0.01)

## S4 method for signature 'GaussianMixtureModel'
summary(object)

## S4 method for signature 'GaussianMixtureModel'
predict(object, newData)

## S4 method for signature 'GaussianMixtureModel,character'
write.ml(object, path, overwrite = FALSE)

参数:

  • data 用于训练的 SparkDataFrame。
  • formula 要拟合的模型的符号说明。目前仅支持少数公式运算符,包括'~'、'.'、':'、'+'和'-'。注意,公式的响应变量在 spark.gaussianMixture 中为空。
  • ... 传递给该方法的附加参数。
  • k 混合模型中独立高斯的数量。
  • maxIter 最大迭代次数。
  • tol 收敛容差。
  • object 拟合高斯混合模型。
  • newData 用于测试的 SparkDataFrame。
  • path 保存模型的目录。
  • overwrite 如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。

返回:

spark.gaussianMixture 返回拟合的多元高斯混合模型。

summary 返回拟合模型的摘要,这是一个列表。该列表包括模型的lambda (lambda)、mu (mu)、sigma (sigma)、loglik (loglik) 和 posterior (posterior)。

predict 在名为"prediction" 的列中返回包含预测标签的 SparkDataFrame。

注意:

spark.gaussianMixture 自 2.1.0

摘要(GaussianMixtureModel)自 2.1.0 起

从 2.1.0 开始预测(GaussianMixtureModel)

write.ml(GaussianMixtureModel, character) 自 2.1.0

例子:

sparkR.session()
library(mvtnorm)
set.seed(100)
a <- rmvnorm(4, c(0, 0))
b <- rmvnorm(6, c(3, 4))
data <- rbind(a, b)
df <- createDataFrame(as.data.frame(data))
model <- spark.gaussianMixture(df, ~ V1 + V2, k = 2)
summary(model)

# fitted values on training data
fitted <- predict(model, df)
head(select(fitted, "V1", "prediction"))

# save fitted model to input path
path <- "path/to/model"
write.ml(model, path)

# can also read back the saved model and print
savedModel <- read.ml(path)
summary(savedModel)

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Multivariate Gaussian Mixture Model (GMM)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。