ALS预测

功能介绍

ALS预测,可进行评分预测。

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
userCol User列列名 User列列名 String
itemCol Item列列名 Item列列名 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='stream')
  17. als = AlsTrainBatchOp().setUserCol("user").setItemCol("item").setRateCol("rating") \
  18. .setNumIter(10).setRank(10).setLambda(0.01)
  19. predictor = AlsPredictStreamOp()\
  20. .setUserCol("user").setItemCol("item").setPredictionCol("predicted_rating")
  21. model = als.linkFrom(data)
  22. predictor.linkFrom(model, data).print()

脚本运行结果

  1. user item rating predicted_rating
  2. 0 1 1 0.6 0.579622
  3. 1 2 2 0.8 0.766851
  4. 2 2 3 0.6 0.581079
  5. 3 4 1 0.6 0.574481
  6. 4 4 2 0.3 0.298500
  7. 5 4 3 0.4 0.382157