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


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


说明:

spark.lm 针对 SparkDataFrame 拟合线性回归模型。用户可以调用summary打印拟合模型的摘要,调用predict对新数据进行预测,调用write.ml/read.ml保存/加载拟合模型。

用法:

spark.lm(data, formula, ...)

## S4 method for signature 'SparkDataFrame,formula'
spark.lm(
  data,
  formula,
  maxIter = 100L,
  regParam = 0,
  elasticNetParam = 0,
  tol = 1e-06,
  standardization = TRUE,
  solver = c("auto", "l-bfgs", "normal"),
  weightCol = NULL,
  aggregationDepth = 2L,
  loss = c("squaredError", "huber"),
  epsilon = 1.35,
  stringIndexerOrderType = c("frequencyDesc", "frequencyAsc", "alphabetDesc",
    "alphabetAsc")
)

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

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

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

参数:

  • data 用于模型拟合的 SparkDataFrame 观察值和标签。
  • formula 要拟合的模型的符号说明。目前仅支持少数公式运算符,包括'~'、'.'、':'、'+'和'-'。
  • ... 传递给该方法的附加参数。
  • maxIter 最大迭代次数。
  • regParam 正则化参数。
  • elasticNetParam ElasticNet 混合参数,在 [0, 1] 范围内。对于 alpha = 0,惩罚是 L2 惩罚。对于 alpha = 1,这是 L1 惩罚。
  • tol 迭代的收敛容差。
  • standardization 是否在拟合模型之前对训练特征进行标准化。
  • solver 用于优化的求解器算法。支持的选项:"l-bfgs"、"normal" 和 "auto"。
  • weightCol 重量列名称。
  • aggregationDepth treeAggregate (>= 2) 的建议深度。
  • loss 要优化的损失函数。支持的选项:"squaredError" 和 "huber"。
  • epsilon 形状参数来控制鲁棒性的大小。
  • stringIndexerOrderType 如何对字符串特征列的类别进行排序。这用于确定字符串特征的基本级别,作为编码字符串时删除排序后的最后一个类别。支持的选项有 "frequencyDesc"、"frequencyAsc"、"alphabetDesc" 和 "alphabetAsc"。默认值为"frequencyDesc"。当 ordering 设置为 "alphabetDesc" 时,这会在编码字符串时丢弃与 R 相同的类别。
  • object spark.lm 拟合的线性回归模型模型。
  • newData 用于测试的 SparkDataFrame。
  • path 保存模型的目录。
  • overwrite 如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。

返回:

spark.lm 返回拟合的线性回归模型。

summary 返回拟合模型的汇总信息,是一个列表。

predict 返回基于线性回归模型的预测值。

注意:

spark.lm 自 3.1.0 起

摘要(线性回归模型)自 3.1.0 起

从 3.1.0 开始预测(线性回归模型)

write.ml(LinearRegressionModel, character) 自 3.1.0 起

例子:

df <- read.df("data/mllib/sample_linear_regression_data.txt", source = "libsvm")

# fit Linear Regression Model
model <- spark.lm(df, label ~ features, regParam = 0.01, maxIter = 1)

# get the summary of the model
summary(model)

# make predictions
predictions <- predict(model, df)

# save and load the model
path <- "path/to/model"
write.ml(model, path)
savedModel <- read.ml(path)
summary(savedModel)

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Linear Regression Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。