创建训练/测试划分并构建 ALS 模型
您在上一章已经学习了如何构建 ALS 模型。我们将再次完成这个过程,但这一次会增加一些步骤,以完整构建一个带交叉验证的模型。
首先,请导入所需函数,并创建训练集和测试集,为后续的交叉验证做好准备。
本练习是课程的一部分
使用 PySpark 构建推荐引擎
练习说明
- 从
ml.evaluation导入RegressionEvaluator,从ml.recommendation导入ALS算法,并从ml.tuning导入ParamGridBuilder和CrossValidator。 - 使用
randomSplit方法在ratings数据上创建 0.80/0.20 的训练/测试划分。将数据集命名为train和test,并将随机种子设为1234。 - 构建 ALS 模型,告知 Spark 在
ratings数据框中对应userCol、itemCol和ratingCol的列名。将nonnegative参数设为True,coldStartStrategy设为"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(____)