功能介绍

ALS topk 预测

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
topK 推荐商品件数 推荐商品件数 Integer 100
userCol User列列名 User列列名 String
predictionCol 预测结果列名 预测结果列名 String

脚本示例

脚本代码

  1. data = np.array([
  2. [1, 1, 0.6],
  3. [2, 2, 0.8],
  4. [2, 3, 0.6],
  5. [4, 1, 0.6],
  6. [4, 2, 0.3],
  7. [4, 3, 0.4],
  8. ])
  9. df_data = pd.DataFrame({
  10. "user": data[:, 0],
  11. "item": data[:, 1],
  12. "rating": data[:, 2],
  13. })
  14. df_data["user"] = df_data["user"].astype('int')
  15. df_data["item"] = df_data["item"].astype('int')
  16. data = dataframeToOperator(df_data, schemaStr='user bigint, item bigint, rating double', op_type='batch')
  17. als = AlsTrainBatchOp().setUserCol("user").setItemCol("item").setRateCol("rating") \
  18. .setNumIter(10).setRank(10).setLambda(0.01)
  19. predictor = AlsTopKPredictBatchOp()\
  20. .setUserCol("user").setPredictionCol("recommend")
  21. model = als.linkFrom(data)
  22. predictor.linkFrom(model, data.select("user").distinct()).print()