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