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


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