說明:
針對 SparkDataFrame 擬合邏輯回歸模型。它支持"binomial":帶旋轉的二元邏輯回歸; "multinomial":多項式邏輯(softmax)回歸,無需旋轉,類似於 glmnet。用戶可以對生成的模型進行打印、預測,並將模型保存到輸入路徑。
用法:
spark.logit(data, formula, ...)
## S4 method for signature 'SparkDataFrame,formula'
spark.logit(
data,
formula,
regParam = 0,
elasticNetParam = 0,
maxIter = 100,
tol = 1e-06,
family = "auto",
standardization = TRUE,
thresholds = 0.5,
weightCol = NULL,
aggregationDepth = 2,
lowerBoundsOnCoefficients = NULL,
upperBoundsOnCoefficients = NULL,
lowerBoundsOnIntercepts = NULL,
upperBoundsOnIntercepts = NULL,
handleInvalid = c("error", "keep", "skip")
)
## S4 method for signature 'LogisticRegressionModel'
summary(object)
## S4 method for signature 'LogisticRegressionModel'
predict(object, newData)
## S4 method for signature 'LogisticRegressionModel,character'
write.ml(object, path, overwrite = FALSE)
參數:
data
SparkDataFrame 用於訓練。formula
要擬合的模型的符號說明。目前僅支持少數公式運算符,包括'~'、'.'、':'、'+'和'-'。...
傳遞給該方法的附加參數。regParam
正則化參數。elasticNetParam
ElasticNet 混合參數。對於 alpha = 0.0,懲罰是 L2 懲罰。對於 alpha = 1.0,這是 L1 懲罰。對於 0.0 < alpha < 1.0,懲罰是 L1 和 L2 的組合。默認值為 0.0,這是 L2 懲罰。maxIter
最大迭代次數。tol
迭代的收斂容差。family
族的名稱,它是模型中要使用的標簽分布的說明。支持的選項:- "auto":根據類數自動選擇族:如果類數== 1 ||類數 == 2,設置為 "binomial"。否則,設置為"multinomial"。
- "binomial":帶旋轉的二元邏輯回歸。
- "multinomial":多項邏輯(softmax)回歸,無需旋轉。
standardization
是否在擬合模型之前對訓練特征進行標準化。模型的係數將始終按原始比例返回,因此對用戶來說是透明的。請注意,無論有無標準化,當不應用正則化時,模型應始終收斂到相同的解決方案。默認為 TRUE,與 glmnet 相同。thresholds
在二進製分類中,在 [0, 1] 範圍內。如果類標簽 1 的估計概率 > 閾值,則預測 1,否則為 0。高閾值鼓勵模型更頻繁地預測 0;低閾值鼓勵模型更頻繁地預測 1。注意:使用閾值 p 設置此值等同於設置閾值 c(1-p, p)。在多類(或二元)分類中調整預測每個類的概率。數組的長度必須等於類的數量,其值 > 0,除了最多一個值可能是 0。預測具有最大值 p/t 的類,其中 p 是該類的原始概率,t 是類的門檻。weightCol
權重列名稱。aggregationDepth
treeAggregate 的深度(大於或等於 2)。如果特征的維度或分區的數量很大,可以將此參數調整為更大的大小。這是一個專家參數。對於大多數情況,默認值應該是好的。lowerBoundsOnCoefficients
如果在有界約束優化下擬合,則係數的下限。綁定矩陣必須與二項式回歸的形狀(1,特征數)或多項式回歸的形狀(類數,特征數)兼容。是一個 R 矩陣。upperBoundsOnCoefficients
如果在有界約束優化下擬合,則係數的上限。綁定矩陣必須與二項式回歸的形狀(1,特征數)或多項式回歸的形狀(類數,特征數)兼容。是一個 R 矩陣。lowerBoundsOnIntercepts
如果在邊界約束優化下擬合,則截距的下限。對於二項式回歸,邊界向量大小必須等於 1,或者對於多項式回歸,邊界向量大小必須等於 1。upperBoundsOnIntercepts
如果在邊界約束優化下擬合,則截距的上限。對於二項式回歸,綁定向量大小必須等於 1,或者對於多項式回歸,必須等於類數。handleInvalid
如何處理字符串類型的特征和標簽列中的無效數據(看不見的標簽或 NULL 值)。支持的選項:"skip"(過濾掉包含無效數據的行)、"error"(拋出錯誤)、"keep"(將無效數據放入特殊的附加存儲桶中,索引為 numLabels)。默認為"error"。object
由spark.logit
擬合的 LogisticRegressionModel。newData
用於測試的 SparkDataFrame。path
保存模型的目錄。overwrite
如果輸出路徑已經存在,是否覆蓋。默認為 FALSE,這意味著如果輸出路徑存在則拋出異常。
返回:
spark.logit
返回擬合的邏輯回歸模型。
summary
返回擬合模型的匯總信息,是一個列表。該列表包括coefficients
(擬合模型的係數矩陣)。
predict
返回基於 LogisticRegressionModel 的預測值。
注意:
spark.logit 自 2.1.0 起
摘要(LogisticRegressionModel)自 2.1.0 起
從 2.1.0 開始預測(LogisticRegressionModel)
write.ml(LogisticRegression, character) 自 2.1.0 起
例子:
sparkR.session()
# binary logistic regression
t <- as.data.frame(Titanic)
training <- createDataFrame(t)
model <- spark.logit(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)
# binary logistic regression against two classes with
# upperBoundsOnCoefficients and upperBoundsOnIntercepts
ubc <- matrix(c(1.0, 0.0, 1.0, 0.0), nrow = 1, ncol = 4)
model <- spark.logit(training, Species ~ .,
upperBoundsOnCoefficients = ubc,
upperBoundsOnIntercepts = 1.0)
# multinomial logistic regression
model <- spark.logit(training, Class ~ ., regParam = 0.5)
summary <- summary(model)
# multinomial logistic regression with
# lowerBoundsOnCoefficients and lowerBoundsOnIntercepts
lbc <- matrix(c(0.0, -1.0, 0.0, -1.0, 0.0, -1.0, 0.0, -1.0), nrow = 2, ncol = 4)
lbi <- as.array(c(0.0, 0.0))
model <- spark.logit(training, Species ~ ., family = "multinomial",
lowerBoundsOnCoefficients = lbc,
lowerBoundsOnIntercepts = lbi)
相關用法
- R SparkR spark.lm用法及代碼示例
- R SparkR spark.lapply用法及代碼示例
- R SparkR spark.lda用法及代碼示例
- R SparkR spark.decisionTree用法及代碼示例
- R SparkR spark.powerIterationClustering用法及代碼示例
- R SparkR spark.svmLinear用法及代碼示例
- R SparkR spark.gaussianMixture用法及代碼示例
- R SparkR spark.naiveBayes用法及代碼示例
- R SparkR spark.getSparkFiles用法及代碼示例
- R SparkR spark.survreg用法及代碼示例
- R SparkR spark.mlp用法及代碼示例
- R SparkR spark.fmClassifier用法及代碼示例
- R SparkR spark.gbt用法及代碼示例
- R SparkR spark.getSparkFilesRootDirectory用法及代碼示例
- R SparkR spark.addFile用法及代碼示例
- R SparkR spark.isoreg用法及代碼示例
- R SparkR spark.als用法及代碼示例
- R SparkR spark.glm用法及代碼示例
- R SparkR spark.fmRegressor用法及代碼示例
- R SparkR spark.kmeans用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 Logistic Regression Model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。