【技术实现步骤摘要】
增强机器学习流水线语料库以合成新机器学习流水线
[0001]相关申请的交叉引用/引用加入
[0002]本申请要求于2021年9月3日提交的标题为“UsingData Augmentation With LearningFromHuman
‑
Written Pipelines To Generate High
‑
Quality MLPipelines”的美国临时专利申请序列第63/260,908号的优先权,该美国临时专利申请的全部内容在此通过引用并入本文。
[0003]本公开内容中讨论的实施方式涉及增强机器学习流水线语料库以合成新机器学习流水线。
技术介绍
[0004]人工智能(artificial intelligence,AI)和机器学习(machine learning,ML)领域的进步已经带来AI/ML算法在各种领域中的应用。通常,ML流水线(MLpipeline)可以由数据科学家针对给定数据集手动创建。ML流水线的手动创建可能是耗时的任务,这可能需要专家用户(例如数据科学家)的大量努力。最近,已经开发了用于针对数据集的ML流水线的自动生成的某些技术。用于ML流水线的自动生成的当前技术通常遵循探索性方法,其中可以基于多个候选ML流水线的实例化和测试来迭代地搜索可能的ML流水线的巨大空间以找到针对给定数据集的最佳流水线。因此,用于ML流水线的自动生成的当前技术可能不能生成准确的ML流水线并且可能需要大量的计算时间和资源。
[0005]本公开内容中要求保护 ...
【技术保护点】
【技术特征摘要】
1.一种由处理器执行的方法,包括:接收来自存储在机器学习ML语料数据库中的多个ML项目中的ML项目,其中,所述多个ML项目中的每一个ML项目包括数据集和适用于所述数据集的ML流水线集合;基于预定义ML流水线集合,使与所接收的ML项目相关联的第一ML流水线集合中的第一ML流水线转变,以确定第二ML流水线集合,其中,所述第一ML流水线的转变对应于用与所述预定义ML流水线集合中的一个预定义ML流水线相关联的第二ML模型替换与所述第一ML流水线相关联的第一ML模型;基于与所确定的第二ML流水线集合中的每一个第二ML流水线相关联的性能分数,从所确定的第二ML流水线集合中选择一个或更多个ML流水线;以及增强所述ML语料数据库以包括所选择的一个或更多个ML流水线以及与所接收的ML项目相关联的所述第一ML流水线集合。2.根据权利要求1所述的方法,还包括:从与存储在所增强的ML语料数据库中的所述多个ML项目中的每一个ML项目相关联的数据集中提取元特征集合;从与存储在所增强的ML语料数据库中的所述多个ML项目中的每一个ML项目相关联的ML流水线集合中提取ML流水线分量集合;以及基于所提取的元特征集合和所提取的ML流水线分量集合来训练元学习模型。3.根据权利要求1所述的方法,其中,与所确定的第二ML流水线集合中的每一个第二ML流水线相关联的性能分数对应于以下中的至少一个:与对应ML流水线相关联的F1分数或R2分数。4.根据权利要求1所述的方法,其中,从所确定的第二ML流水线集合中选择的一个或更多个ML流水线包括以下之一:来自所确定的第二ML流水线集合的与最大性能分数相关联的ML流水线,来自所确定的第二ML流水线集合的与阈值以上的性能分数相对应的第一组ML流水线,或者来自所确定的第二ML流水线集合的与基于所述性能分数的前预定义数量个ML流水线相对应的第二组ML流水线。5.根据权利要求1所述的方法,还包括:识别与所述第一ML流水线相关联的所述第一ML模型的代码片段;确定与所识别的代码片段相关联的一个或更多个输入参数;从与所述预定义ML流水线集合相关联的预定义模型集合中选择所述第二ML模型;以及基于在所述第一ML流水线中用所选择的第二ML模型替换所述第一ML模型来对所选择的第二ML模型进行实例化。6.根据权利要求5所述的方法,其中,所确定的与所识别的代码片段相关联的一个或更多个输入参数包括以下中的至少一个:与所述第一ML模型相关联的训练数据集、测试数据集和超参数集合。7.根据权利要求5所述的方法,还包括:选择与所述第二ML模型相关联的预定义模板,所选择的预定义模板被注释有所识别的
所述第一ML模型的代码片段的所述一个或更多个输入参数;基于使用所注释的一个或更多个输入参数对所选择的预定义模板中的一个或更多个函数调用进行参数化来构建所述第二ML模型的代码片段;以及用所构建的所述第二ML模型的代码片段代替所识别的所述第一ML模型的代码片段,以对所述第二ML模型进行实例化。8.根据权利要求5所述的方法,还包括:构建与所述第一ML流水线相关联的抽象语法树AST;基于所构建的AST,确定所述第一ML流水线中与预测函数相关联的最后一个应用编程接口API调用;将所确定的最后一个API调用指定为目标行;以及基于所指定的目标行来识别与所述第一ML模型相关联的一个或更多个语句。9.根据权利要求8所述的方法,其中,基于从所指定的目标行开始应用反向程序切片直到到达与所述第一ML模型相关联的模型声明,来识别与所述第一ML模型相关联的所述一个或更多个语句。10.根据权利要求8所述的方法,还包括:存储与所述第一ML模型相关联的所述一个或更多个语句中的每个语句的行号,其中,所述一个或更多个语句对应于以下中的至少一个:模型定义、拟合函数调用或预测函数调用。11.根据权利要求8所述的方法,还包括:从所述第一ML流水线中检索所指定的目标行;将检索到的目标行添加到包括与所述第一ML流水线相关联的语句集合的队列中;从所述队列中弹出第一语句;控制第一操作集合的执行,以从所述第一ML流水线中获得与所述第一ML模型相关联的模型切片,其中,所述第一操作集合包括:从所述第一语句中提取一个或更多个变量和对象,识别在所述第一ML流水线中在所述第一语句之前出现并且包括所提取的一个或更多个变量和对象中至少之一的第二语句集合,确定所识别的第二语句集合中的第三语句是否在与所述第一ML模型相关联的模型定义之前出现,基于确定所述第三语句在所述模型定义之前出现,将所述第三语句添加至所述队列,将所述第一语句添加至所述模型切片,以及基于确定所述队列不为空,从所述队列中弹出第四语句作为所述第一语句;以及基于所述第一操作集合的迭代执行,获得所述模型切片以识别所述第一ML模型的所述代码片段。12.一种或更多种非暂...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。