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


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