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


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


說明:

針對 SparkDataFrame 擬合線性 SVM 模型,類似於 e1071 包中的 svm。目前隻支持帶有線性核的二分類模型。用戶可以對生成的模型進行打印、預測,並將模型保存到輸入路徑。

用法:

spark.svmLinear(data, formula, ...)

## S4 method for signature 'SparkDataFrame,formula'
spark.svmLinear(
  data,
  formula,
  regParam = 0,
  maxIter = 100,
  tol = 1e-06,
  standardization = TRUE,
  threshold = 0,
  weightCol = NULL,
  aggregationDepth = 2,
  handleInvalid = c("error", "keep", "skip")
)

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

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

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

參數:

  • data SparkDataFrame 用於訓練。
  • formula 要擬合的模型的符號說明。目前僅支持少數公式運算符,包括'~'、'.'、':'、'+'、'-'、'*'和'^'。
  • ... 傳遞給該方法的附加參數。
  • regParam 正則化參數。目前僅支持 L2 正則化。
  • maxIter 最大迭代次數。
  • tol 迭代的收斂容差。
  • standardization 是否在擬合模型之前對訓練特征進行標準化。模型的係數將始終按原始比例返回,因此對用戶來說是透明的。請注意,無論有無標準化,當不應用正則化時,模型應始終收斂到相同的解決方案。
  • threshold 應用於線性模型預測的二元分類閾值。該閾值可以是任何實數,其中 Inf 將使所有預測為 0.0,-Inf 將使所有預測為 1.0。
  • weightCol 權重列名稱。
  • aggregationDepth treeAggregate 的深度(大於或等於 2)。如果特征的維度或分區的數量很大,可以將此參數調整為更大的大小。這是一個專家參數。對於大多數情況,默認值應該是好的。
  • handleInvalid 如何處理字符串類型的特征和標簽列中的無效數據(看不見的標簽或 NULL 值)。支持的選項:"skip"(過濾掉包含無效數據的行)、"error"(拋出錯誤)、"keep"(將無效數據放入特殊的附加存儲桶中,索引為 numLabels)。默認為"error"。
  • object spark.svmLinear 擬合的 LinearSVCModel。
  • newData 用於測試的 SparkDataFrame。
  • path 保存模型的目錄。
  • overwrite 如果輸出路徑已經存在,是否覆蓋。默認為 FALSE,這意味著如果輸出路徑存在則拋出異常。

返回:

spark.svmLinear 返回擬合的線性 SVM 模型。

predict 返回基於 LinearSVCModel 的預測值。

summary 返回擬合模型的匯總信息,是一個列表。該列表包括coefficients(擬合模型的係數)、numClasses(類數)、numFeatures(特征數)。

注意:

spark.svmLinear 從 2.2.0 開始

從 2.2.0 開始預測(LinearSVCModel)

摘要(LinearSVCModel)自 2.2.0 起

write.ml(LogisticRegression, character) 自 2.2.0 起

例子:

sparkR.session()
t <- as.data.frame(Titanic)
training <- createDataFrame(t)
model <- spark.svmLinear(training, Survived ~ ., regParam = 0.5)
summary <- summary(model)

# fitted values on training data
fitted <- predict(model, training)

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

# can also read back the saved model and predict
# Note that summary deos not work on loaded model
savedModel <- read.ml(path)
summary(savedModel)

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 Linear SVM Model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。