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