说明:
spark.fmClassifier
针对 SparkDataFrame 拟合分解分类模型。用户可以调用summary
打印拟合模型的摘要,调用predict
对新数据进行预测,调用write.ml
/read.ml
保存/加载拟合模型。仅支持分类数据。
用法:
spark.fmClassifier(data, formula, ...)
## S4 method for signature 'SparkDataFrame,formula'
spark.fmClassifier(
data,
formula,
factorSize = 8,
fitLinear = TRUE,
regParam = 0,
miniBatchFraction = 1,
initStd = 0.01,
maxIter = 100,
stepSize = 1,
tol = 1e-06,
solver = c("adamW", "gd"),
thresholds = NULL,
seed = NULL,
handleInvalid = c("error", "keep", "skip")
)
## S4 method for signature 'FMClassificationModel'
summary(object)
## S4 method for signature 'FMClassificationModel'
predict(object, newData)
## S4 method for signature 'FMClassificationModel,character'
write.ml(object, path, overwrite = FALSE)
参数:
data
用于模型拟合的SparkDataFrame
观察值和标签。formula
要拟合的模型的符号说明。目前仅支持少数公式运算符,包括'~'、'.'、':'、'+'和'-'。...
传递给该方法的附加参数。factorSize
因子的维度。fitLinear
是否拟合线性项。 # TODO 我们可以用公式来表达吗?regParam
正则化参数。miniBatchFraction
小批量分数参数。initStd
初始系数的标准差。maxIter
最大迭代次数。stepSize
步长参数。tol
迭代的收敛容差。solver
求解器参数,支持的选项:"gd"(小批量梯度下降)或"adamW"。thresholds
在二进制分类中,在 [0, 1] 范围内。如果类标签 1 的估计概率 > 阈值,则预测 1,否则为 0。高阈值鼓励模型更频繁地预测 0;低阈值鼓励模型更频繁地预测 1。注意:使用阈值 p 设置此值等同于设置阈值 c(1-p, p)。seed
权重初始化的种子参数。handleInvalid
如何处理字符串类型的特征和标签列中的无效数据(看不见的标签或 NULL 值)。支持的选项:"skip"(过滤掉包含无效数据的行)、"error"(抛出错误)、"keep"(将无效数据放入特殊的附加存储桶中,索引为 numLabels)。默认为"error"。object
spark.fmClassifier
拟合的 FM 分类模型。newData
用于测试的 SparkDataFrame。path
保存模型的目录。overwrite
如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。
返回:
spark.fmClassifier
返回拟合的分解机分类模型。
summary
返回拟合模型的汇总信息,是一个列表。
predict
返回基于 FM 分类模型的预测值。
注意:
spark.fmClassifier 自 3.1.0 起
摘要(FMClassificationModel)自 3.1.0 起
从 3.1.0 开始预测(FMClassificationModel)
write.ml(FMClassificationModel, character) 自 3.1.0 起
例子:
df <- read.df("data/mllib/sample_binary_classification_data.txt", source = "libsvm")
# fit Factorization Machines Classification Model
model <- spark.fmClassifier(
df, label ~ features,
regParam = 0.01, maxIter = 10, fitLinear = TRUE
)
# 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)
相关用法
- R SparkR spark.fmRegressor用法及代码示例
- R SparkR spark.fpGrowth用法及代码示例
- 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.lm用法及代码示例
- R SparkR spark.mlp用法及代码示例
- R SparkR spark.gbt用法及代码示例
- R SparkR spark.getSparkFilesRootDirectory用法及代码示例
- R SparkR spark.logit用法及代码示例
- R SparkR spark.addFile用法及代码示例
- R SparkR spark.isoreg用法及代码示例
- R SparkR spark.als用法及代码示例
- R SparkR spark.glm用法及代码示例
- R SparkR spark.lapply用法及代码示例
- R SparkR spark.kmeans用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Factorization Machines Classification Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。