开始使用免费开始使用

补零

许多推荐引擎会使用隐式评分。很多情况下,这类数据集不会包含用户从未购买过的商品的行为计数。遇到这种情况,您需要将这些组合补齐,并把缺失的计数设为 0。已为您提供数据框 Z,其中包含 userIdproductIdnum_purchases(某位用户购买某个商品的次数)。

本练习是课程的一部分

使用 PySpark 构建推荐引擎

查看课程

练习说明

  • 使用 .show() 方法查看数据框 Z
  • 使用 .distinct() 方法从 Z 中提取唯一的 userIdproductId。分别将结果命名为 usersproducts
  • 对数据框 usersproducts 执行 .crossJoin(),将结果命名为 cj
  • ["userId", "productId"] 上将 cj 与原始评分数据框 Z 进行 "left" 连接。对结果调用 .fillna(0),用 0 填补空值。将最终结果命名为 Z_expanded

交互式实操练习

通过完成这段示例代码来试试这个练习。

# View the data
Z.____()

# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()

# Cross join users and products
____ = users.____(products)

# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)

# View Z_expanded
____.show()
编辑并运行代码