我在本地机器上构建了一个XGBoost模型,该模型接受训练数据并在测试数据集上验证该模型。然而,我已经硬编码了日期值,因为训练数据是每月创建的。训练数据是根据我通过的日期参数创建的。例如,jan=dt(2021,1,1(。
我现在必须自动化这个过程,因为模型必须部署在AWS上,并且应该每月运行一次,而无需编辑代码。我应该如何将日期参数传递给AWS Wrangler,以便流程自动化,并且代码将每月在新的数据集上执行一次。
一种方法是将数据Wrangler流导出到SageMaker管道(这可以通过数据WranglerUI完成(。假设您的数据集在S3中,导出的Flow将生成一个笔记本,该笔记本定义一个SageMaker管道,该管道可以将S3 URI作为输入,并通过Data Wrangler步骤运行它。您可以将SageMaker Pipeline配置为按计划运行,并通过SageMaker Pipeline的执行参数为每次执行传递新的S3 URI。
另一种方法是使用Lambda函数,如AWS博客中所述-https://aws.amazon.com/blogs/machine-learning/schedule-an-amazon-sagemaker-data-wrangler-flow-to-process-new-data-periodically-using-aws-lambda-functions/.
我在AWS工作,我的观点是我自己的。