Collaborative Filtering
协同过滤是经典的基于邻域的推荐算法,平台上的协同过滤算法是通过 ALS 的矩阵分解优化求解的。
训练节点
- 输入
- 数据形式:Dense 或 Libsvm
- 格式:| User | Item | Rating |
- User:User 所在列,通过算法参数中的 User 列指定。
- Item:Item 所在列,通过算法参数中的 Item 列指定。
- Rating:评分所在列的列号,通过算法参数中的 Rating 列指定。
- 输出
- PMML 格式的模型。
- userPath:|id|features|
- id:用户 ID。
- features:用户的特征向量。
- itemPath:|id|features|
- id:商品 ID。
- features:商品的特征向量。
- 算法参数
- User 列:User 所在列,从0开始计数。
- Item 列:Item 所在列的列号,从0开始计数。
- Rating 列:评分所在列的列号,从0开始计数。
- 隐变量数:矩阵变换中隐变量的个数,推荐值:10-200。
- 正则系数:正则项系数,推荐值:0.01。
- 最大迭代次数:最大迭代次数,推荐值:10-20。
- 反馈方式:隐性反馈与显性反馈方式。
- 是否使用非负的限制:是否对最小二乘法使用非负的限制。
- 偏好行为强度的基准:专门针对隐性反馈的参数,决定了偏好行为强度的基准
- 并行数:训练数据的分区数、Spark 的并行数。
- 抽样率:输入数据的采样率。
预测节点
- 输入
- 格式:| User | Item |
- 说明:以空格连接各字段。
- User:同训练节点。
- Item:同训练节点。
- 输出
- 格式:| 原始数据 | ratings |
- 说明:以空格连接各字段。
- ratings:预测的评分。