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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。