當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R SparkR spark.kmeans用法及代碼示例


說明:

針對 SparkDataFrame 擬合 k-means 聚類模型,類似於 R 的 kmeans()。用戶可以調用summary打印擬合模型的摘要,調用predict對新數據進行預測,調用write.ml/read.ml保存/加載擬合模型。

用法:

spark.kmeans(data, formula, ...)

## S4 method for signature 'SparkDataFrame,formula'
spark.kmeans(
  data,
  formula,
  k = 2,
  maxIter = 20,
  initMode = c("k-means||", "random"),
  seed = NULL,
  initSteps = 2,
  tol = 1e-04
)

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

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

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

參數:

  • data 用於訓練的 SparkDataFrame。
  • formula 要擬合的模型的符號說明。目前僅支持少數公式運算符,包括'~'、'.'、':'、'+'和'-'。注意,公式的響應變量在 spark.kmeans 中為空。
  • ... 傳遞給方法的附加參數。
  • k 中心的數量。
  • maxIter 最大迭代次數。
  • initMode 選擇適合模型的初始化算法。
  • seed 集群初始化的隨機種子。
  • initSteps k-means|| 的步數初始化模式。這是一個高級設置,默認值 2 幾乎總是足夠的。必須 > 0。
  • tol 迭代的收斂容差。
  • object 擬合的k-means 模型。
  • newData 用於測試的 SparkDataFrame。
  • path 保存模型的目錄。
  • overwrite 如果輸出路徑已經存在,是否覆蓋。默認為 FALSE,這意味著如果輸出路徑存在則拋出異常。

返回:

spark.kmeans 返回一個擬合的 k-means 模型。

summary 返回擬合模型的匯總信息,是一個列表。該列表包括模型的k(配置的聚類中心數)、coefficients(模型聚類中心)、size(每個聚類中的數據點數)、cluster(轉換數據的聚類中心) , is.loaded(模型是否從保存的文件中加載),和clusterSize(實際聚類中心數。使用initMode = "random"時,clusterSize可能不等於k)。

predict 返回基於 k-means 模型的預測值。

注意:

spark.kmeans 自 2.0.0 起

摘要(KMeansModel)自 2.0.0 起

從 2.0.0 開始預測(KMeansModel)

write.ml(KMeansModel, character) 自 2.0.0 起

例子:

sparkR.session()
t <- as.data.frame(Titanic)
df <- createDataFrame(t)
model <- spark.kmeans(df, Class ~ Survived, k = 4, initMode = "random")
summary(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大神的英文原創作品 K-Means Clustering Model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。