說明:
spark.als
通過交替最小二乘法學習協同過濾中的潛在因子。用戶可以調用summary
獲取擬合的潛在因子,調用predict
對新數據進行預測,調用write.ml
/read.ml
保存/加載擬合模型。
用法:
spark.als(data, ...)
## S4 method for signature 'SparkDataFrame'
spark.als(
data,
ratingCol = "rating",
userCol = "user",
itemCol = "item",
rank = 10,
regParam = 0.1,
maxIter = 10,
nonnegative = FALSE,
implicitPrefs = FALSE,
alpha = 1,
numUserBlocks = 10,
numItemBlocks = 10,
checkpointInterval = 10,
seed = 0
)
## S4 method for signature 'ALSModel'
summary(object)
## S4 method for signature 'ALSModel'
predict(object, newData)
## S4 method for signature 'ALSModel,character'
write.ml(object, path, overwrite = FALSE)
參數:
data
用於訓練的 SparkDataFrame。...
傳遞給方法的附加參數。ratingCol
評級的列名稱。userCol
用戶 ID 的列名。 Id 必須是(或可以強製轉換為)整數。itemCol
項目 ID 的列名。 Id 必須是(或可以強製轉換為)整數。rank
矩陣分解的秩 (> 0)。regParam
正則化參數(> = 0)。maxIter
最大迭代次數 (>= 0)。nonnegative
指示是否應用非負約束的邏輯值。implicitPrefs
指示是否使用隱式偏好的邏輯值。alpha
隱式偏好公式中的 alpha 參數 (>= 0)。numUserBlocks
用於並行計算的用戶塊數(> 0)。numItemBlocks
用於並行計算的項目塊數(> 0)。checkpointInterval
檢查點間隔數 (>= 1) 或禁用檢查點 (-1)。注意:如果未設置檢查點目錄,此設置將被忽略。seed
用於隨機數生成的整數種子。object
擬合的 ALS 模型。newData
用於測試的 SparkDataFrame。path
保存模型的目錄。overwrite
如果輸出路徑已經存在,是否覆蓋的邏輯值。默認為 FALSE,這意味著如果輸出路徑存在則拋出異常。
細節:
有關詳細信息,請參閱 MLlib: Collaborative Filtering 。
返回:
spark.als
返回擬合的 ALS 模型。
summary
返回擬合模型的匯總信息,是一個列表。該列表包括user
(用戶列的名稱)、item
(項目列)、rating
(評級列)、userFactors
(估計的用戶因子)、itemFactors
(估計的項目因子)和rank
(矩陣分解模型的秩)。
predict
返回包含預測值的 SparkDataFrame。
注意:
spark.als 自 2.1.0 起
ALS 實施的輸入評級 DataFrame 應該是確定性的。非確定性數據可能會導致擬合 ALS 模型失敗。例如,像重新分區後采樣這樣的 order-sensitive 操作會使數據幀輸出不確定,例如 sample(repartition(df, 2L), FALSE, 0.5, 1618L)
。檢查點采樣數據幀或在采樣前添加排序可以幫助使數據幀具有確定性。
摘要(ALSModel)自 2.1.0 起
從 2.1.0 開始預測(ALSModel)
write.ml(ALSModel, character) 自 2.1.0 起
例子:
ratings <- list(list(0, 0, 4.0), list(0, 1, 2.0), list(1, 1, 3.0), list(1, 2, 4.0),
list(2, 1, 1.0), list(2, 2, 5.0))
df <- createDataFrame(ratings, c("user", "item", "rating"))
model <- spark.als(df, "rating", "user", "item")
# extract latent factors
stats <- summary(model)
userFactors <- stats$userFactors
itemFactors <- stats$itemFactors
# make predictions
predicted <- predict(model, df)
showDF(predicted)
# save and load the model
path <- "path/to/model"
write.ml(model, path)
savedModel <- read.ml(path)
summary(savedModel)
# set other arguments
modelS <- spark.als(df, "rating", "user", "item", rank = 20,
regParam = 0.1, nonnegative = TRUE)
statsS <- summary(modelS)
相關用法
- R SparkR spark.addFile用法及代碼示例
- 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.fmClassifier用法及代碼示例
- R SparkR spark.gbt用法及代碼示例
- R SparkR spark.getSparkFilesRootDirectory用法及代碼示例
- R SparkR spark.logit用法及代碼示例
- R SparkR spark.isoreg用法及代碼示例
- R SparkR spark.glm用法及代碼示例
- R SparkR spark.lapply用法及代碼示例
- R SparkR spark.fmRegressor用法及代碼示例
- R SparkR spark.kmeans用法及代碼示例
- R SparkR spark.lda用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 Alternating Least Squares (ALS) for Collaborative Filtering。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。