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