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


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

说明:

适合 SparkDataFrame 的二等分 k-means 聚类模型。用户可以调用summary打印拟合模型的摘要,调用predict对新数据进行预测,调用write.ml/read.ml保存/加载拟合模型。

从二等分 k-means 模型中获取拟合结果。注意:saved-loaded 型号不支持此方法。

用法:

spark.bisectingKmeans(data, formula, ...)

## S4 method for signature 'SparkDataFrame,formula'
spark.bisectingKmeans(
  data,
  formula,
  k = 4,
  maxIter = 20,
  seed = NULL,
  minDivisibleClusterSize = 1
)

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

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

## S4 method for signature 'BisectingKMeansModel'
fitted(object, method = c("centers", "classes"))

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

参数:

  • data 用于训练的 SparkDataFrame。
  • formula 要拟合的模型的符号说明。目前仅支持少数公式运算符,包括'~'、'.'、':'、'+'、'-'、'*'和'^'。注意,公式的响应变量在 spark.bisectingKmeans 中为空。
  • ... 传递给方法的附加参数。
  • k 所需的叶簇数量。必须 > 1。如果没有可分割的叶簇,实际数字可能会更小。
  • maxIter 最大迭代次数。
  • seed 随机种子。
  • minDivisibleClusterSize 可分簇的最小点数(如果大于或等于 1.0)或最小点数(如果小于 1.0)。请注意,它是一个专家参数。对于大多数情况,默认值应该足够好。
  • object 拟合的二等分 k-means 模型。
  • newData 用于测试的 SparkDataFrame。
  • method 拟合结果的类型,"centers" 用于聚类中心或 "classes" 用于分配的类。
  • path 保存模型的目录。
  • overwrite 如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。

返回:

spark.bisectingKmeans 返回拟合的二等分 k-means 模型。

summary 返回拟合模型的汇总信息,是一个列表。该列表包括模型的k(聚类中心数)、coefficients(模型聚类中心)、size(每个聚类中的数据点数)、cluster(转换数据的聚类中心;聚类为如果 is.loaded 为 TRUE,则为 NULL)和 is.loaded(模型是否从保存的文件中加载)。

predict 返回基于二等分 k-means 模型的预测值。

fitted 返回包含拟合值的 SparkDataFrame。

注意:

spark.bisectingKmeans 从 2.2.0 开始

从 2.2.0 开始的摘要(BisectingKMeansModel)

从 2.2.0 开始预测(BisectingKMeansModel)

自 2.2.0 起安装

write.ml(BisectingKMeansModel, character) 自 2.2.0 起

例子:

sparkR.session()
t <- as.data.frame(Titanic)
df <- createDataFrame(t)
model <- spark.bisectingKmeans(df, Class ~ Survived, k = 4)
summary(model)

# get fitted result from a bisecting k-means model
fitted.model <- fitted(model, "centers")
showDF(fitted.model)

# fitted values on training data
fitted <- predict(model, df)
head(select(fitted, "Class", "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大神的英文原创作品 Bisecting K-Means Clustering Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。