- 功能介绍
- 参数说明
- 脚本示例
- 脚本代码
- 脚本代码
功能介绍
ALS topk 预测
参数说明
名称 | 中文名称 | 描述 | 类型 | 是否必须? | 默认值 | |
---|---|---|---|---|---|---|
topK | 推荐商品件数 | 推荐商品件数 | Integer | 100 | ||
userCol | User列列名 | User列列名 | String | ✓ | ||
predictionCol | 预测结果列名 | 预测结果列名 | String | ✓ |
脚本示例
脚本代码
data = np.array([
[1, 1, 0.6],
[2, 2, 0.8],
[2, 3, 0.6],
[4, 1, 0.6],
[4, 2, 0.3],
[4, 3, 0.4],
])
df_data = pd.DataFrame({
"user": data[:, 0],
"item": data[:, 1],
"rating": data[:, 2],
})
df_data["user"] = df_data["user"].astype('int')
df_data["item"] = df_data["item"].astype('int')
data = dataframeToOperator(df_data, schemaStr='user bigint, item bigint, rating double', op_type='batch')
als = AlsTrainBatchOp().setUserCol("user").setItemCol("item").setRateCol("rating") \
.setNumIter(10).setRank(10).setLambda(0.01)
predictor = AlsTopKPredictBatchOp()\
.setUserCol("user").setPredictionCol("recommend")
model = als.linkFrom(data)
predictor.linkFrom(model, data.select("user").distinct()).print()