本教程将指导您完成使用JupyterLab笔记本recipebuilder模板创建模型的所需步骤。
配方生成器笔记本允许您在笔记本内运行培训和评分运行。这样,您可以在运行培训和评分数据的实验之间灵活地更改其train()和score()方法。对培训和评分的结果感到满意后,您可以创建一个配方,然后使用配方来建模功能,将其作为模型发布。
当您从启动器中选择配方生成器笔记本时,该笔记本将在新标签页中打开。
在提供的资源文件夹中为Luma倾向模型propensity_model.ipynb。使用JupyterLab中的“上载笔记本”选项,上载提供的型号并打开笔记本。
本教程的其余部分介绍了在倾向性模型笔记本中预定义的以下文件:
以下视频教程介绍了“亮度倾向模型”笔记本:
python=3.6.7scikit-learnpandasnumpydata_access_sdk_pythonNOTE您添加的库或特定版本可能与上述库不兼容。此外,如果您选择手动创建环境文件,则不允许覆盖name字段。对于Luma倾向性模型笔记本,无需更新要求。
配置文件training.conf和scoring.conf用于指定要用于训练和评分以及添加超参数的数据集。有单独的训练和评分配置。
要使模型运行培训,必须提供trainingDataSetId、ACP_DSW_TRAINING_XDM_SCHEMA和tenantId。此外,对于计分,您必须提供scoringDataSetId、tenantId和scoringResultsDataSetId。
完成后,您的培训和评分配置应类似于以下屏幕截图:
默认情况下,在训练数据和对数据进行评分时,将为您设置以下配置参数:
训练数据加载器的目的是实例化用于创建机器学习模型的数据。通常,培训数据加载器需要完成两项任务:
以下两个部分将重载数据和数据准备。
本节向您介绍如何将JSON或CSV文件导入Pandas对象。大熊猫图书馆的官方文件可在此处找到:
在此示例中,数据是使用PlatformSDK加载的。可通过在页面顶部包含行来导入库:
fromplatform_sdk.dataset_readerimportDatasetReader
然后,您可以使用load()方法从配置(recipe.conf)文件中设置的trainingDataSetId中获取训练数据集。
加载数据后,需要清除数据并进行数据准备。在本例中,模型的目标是预测客户是否打算订购产品。由于模型未查看特定产品,因此您不需要productListItems,因此该列被删除。接下来,删除仅在一列中包含单个值或两个值的其他列。在训练模型时,请务必仅保留有助于预测目标的有用数据。
一旦删除了任何不必要的数据,就可以开始特征工程。用于此示例的演示数据不包含任何会话信息。通常,您需要特定客户的当前和过去会话的数据。由于缺少会话信息,此示例改为通过历程划分来模拟当前和过去的会话。
完成标界后,为数据添加标签并创建旅程。
接下来,创建特征并将其分为过去和现在。然后,任何不必要的列都会被丢弃,从而为您留下Luma客户的过去和当前历程。这些历程包含信息,例如客户是否购买了一个项目以及购买之前他们经历的历程。
加载评分数据的过程与加载培训数据类似。仔细查看代码,您可以看到除了dataset_reader中的scoringDataSetId之外的所有内容都相同。这是因为相同的Luma数据源用于训练和评分。
如果希望使用不同的数据文件来进行训练和评分,则训练和评分数据加载器是分开的。这允许您执行额外的预处理,例如根据需要将您的培训数据映射到您的评分数据。
pipeline.py文件包含用于训练和计分的逻辑。
培训的目的是使用培训数据集中的功能和标签创建模型。选择训练模型后,必须将x和y训练数据集适合模型,并且函数会返回经过训练的模型。
score()函数应包含评分算法并返回一个度量值以指示模型执行的成功程度。score()函数使用评分数据集标签和经过训练的模型生成一组预测的功能。然后,将这些预测值与评分数据集中的实际特征进行比较。在此示例中,score()函数使用训练后的模型使用评分数据集中的标签来预测特征。返回预测特征。
evaluator.py文件包含您希望如何评估训练配方以及如何拆分训练数据的逻辑。
培训的数据准备阶段要求拆分用于培训和测试的数据集。此val数据在经过训练后隐式用于评估模型。此流程与评分是分开的。
evaluate()函数在模型训练后执行,并返回一个量度以指示模型执行的成功程度。evaluate()函数使用测试数据集标签和经过训练的模型来预测一组功能。然后将这些预测值与测试数据集中的实际特征进行比较。在此示例中,使用的度量是precision、recall、f1和accuracy。请注意,该函数返回一个包含评估度量数组的metric对象。这些度量用于评估训练后的模型的性能。
添加print(metric)允许您查看度量结果。
datasaver.py文件包含save()函数,用于在测试评分时保存您的预测。save()函数进行预测并使用ExperiencePlatformCatalog个API,将数据写入您在scoring.conf文件中指定的scoringResultsDataSetId。您可以
请注意,在运行评分之前,您必须至少运行一次训练。选择运行得分按钮将在训练期间生成的训练模型上得分。评分脚本出现在datasaver.py下。
出于调试目的,如果希望看到隐藏的输出,请将debug添加到输出单元格的末尾,然后重新运行它。
编辑完方法并对训练/评分输出感到满意后,您可以通过选择右上角的创建方法,从笔记本中创建方法。
选择创建方法后,系统会提示您输入方法名称。此名称表示在Platform上创建的实际方法。
通过完成本教程,您已了解如何在配方生成器笔记本中创建机器学习模型。您还学习了如何练习笔记本的配方工作流程。
要继续了解如何使用DataScienceWorkspace中的资源,请访问DataScienceWorkspace配方和模型下拉列表。