开始使用免费开始使用

创建训练/测试划分并构建 ALS 模型

您在上一章已经学习了如何构建 ALS 模型。我们将再次完成这个过程,但这一次会增加一些步骤,以完整构建一个带交叉验证的模型。

首先,请导入所需函数,并创建训练集和测试集,为后续的交叉验证做好准备。

本练习是课程的一部分

使用 PySpark 构建推荐引擎

查看课程

练习说明

  • ml.evaluation 导入 RegressionEvaluator,从 ml.recommendation 导入 ALS 算法,并从 ml.tuning 导入 ParamGridBuilderCrossValidator
  • 使用 randomSplit 方法在 ratings 数据上创建 0.80/0.20 的训练/测试划分。将数据集命名为 traintest,并将随机种子设为 1234
  • 构建 ALS 模型,告知 Spark 在 ratings 数据框中对应 userColitemColratingCol 的列名。将 nonnegative 参数设为 TruecoldStartStrategy 设为 "drop",并通过将 implicitPrefs 参数设为 False 告诉 Spark 这不是隐式反馈。将该模型命名为 als
  • 通过对 als 调用 type() 函数来验证模型是否已创建。输出应指示模型的类型。

交互式实操练习

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

# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____

# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)

# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)

# Confirm that a model called "als" was created
type(____)
编辑并运行代码