使用Azure进行自动化机器学习

什么是自动化机器学习?

自动化的机器学习,也称为 AutoML,让数据科研人员、 分析人员和开发人员,同时维护模型质量构建具备高缩放性、 效率和工做效率的机器学习模型。算法

自动化机器学习生成的机器学习模型自动、 智能地选择用于训练的模型的集合,并推荐最适合您。 传统的机器学习模型开发是资源密集型须要大量域知识和时间来生成和比较数十个模型。 与自动化机器学习将加快所需获取生产的 ML 模型很好的轻松和高效的时间。数组

在幕后,将训练数据是采用一个定义的目标的功能,并以智能方式在循环的机器学习算法和功能选择的组合。 而后,根据训练的分数,最拟合的模型是标识并向你推荐。并发

您仍然能够控制您的实验和的透明度了解发生了什么状况。 您能够定义约束和试验根据时间、 准确性或迭代次数,例如目标。 在实验中,每次迭代的训练流和由给定模型的影响最大功能,能够看到每一个生成的模型。app

如何自动机器学习工做原理

使用Azure 机器学习服务,能够设计和使用这些步骤运行自动化的机器学习训练实验:机器学习

  1. 肯定机器学习问题待解决: 分类,预测或回归性能

  2. 指定的源和标记的训练数据的格式:Numpy 数组或 Pandas 数据帧学习

  3. 配置计算目标,以便为模型定型,如你本地计算机、 Azure 机器学习计算、 远程 Vm 或 Azure Databricks。测试

  4. 配置自动化的机器学习参数,肯定经过不一样的模型超参数设置的迭代数高级预处理/特征化,以及要在肯定最佳的模型时,查询的指标。 
    ui

提交训练运行。编码


在训练期间,Azure 机器学习服务会建立多个尝试不一样算法和参数的管道。 它将中止后它会命中在试验中定义的退出条件。

此外能够检查记录运行的信息,其中包含运行期间收集的指标。 训练运行生成 Python 序列化对象 (.pkl文件),其中包含的模型和数据预处理。

在 Azure 门户中建立和浏览自动化的机器学习试验 (预览版) 

必备组件

开始使用

导航到你的工做区的左窗格中。 在创做 (预览版) 部分下选择自动机器学习。

若是这是你第一次执行任何使用自动化的机器学习试验,你将看到如下信息:

不然,你将看到自动机器学习仪表板与全部自动化机器学习试验,包括那些运行随 SDK 的概述。 此处能够筛选和按日期浏览在运行过程当中,试验名称,并运行状态。

建立试验

选择建立试验按钮以填充如下窗体。

  1. 输入试验名称。

  2. 选择计算的数据事件探查和训练做业。 在下拉列表中提供了您现有的计算资源的列表。 若要建立新的计算,请执行步骤 3 中的说明。

  3. 选择建立新的计算按钮以打开下方窗格中,并配置对于此试验计算上下文。




    字段 描述
    计算名称 输入用于标识您的计算上下文的惟一名称。
    虚拟机大小 选择在计算的虚拟机大小。
    其余设置 最小节点:输入在计算节点的最小数目。 最小的 AML 计算节点数为 0。 若要启用数据事件探查,您必须具备一个或多个节点。 
    最大节点:根据计算输入的最大节点数。 默认值为 6 个节点的 AML 计算。

    若要开始建立新计算,请选择建立。 这可能须要一些时间。

  4. 选择你的数据的存储账户。 公共预览版仅支持本地文件上传和 Azure Blob 存储账户。

  5. 选择一个存储容器。

  6. 从存储容器,选择一个数据文件或上传到容器的文件从本地计算机。

  7. 使用预览和配置文件选项卡进一步配置你的数据对于此试验。
    • 在预览选项卡上,指示是否你的数据包含标头,并选择特征 (列) 是用于定型包含每一个功能列中切换按钮。
      数据预览
    • 在配置文件选项卡,你能够查看数据配置文件的功能,以及每一个分发、 类型和摘要的统计信息 (平均值、 中间值、 最大/最小值等) 。
      数据配置文件选项卡

  8. 选择训练做业类型: 分类、 回归或预测。
  9. 选择目标列。 其想要对预测的列。
  10. 用于预测:

    • 选择时间列:此列包含要使用的时间数据。
    • 选择预测时间范围:指示多少个时间单位 (分钟/小时/天/周/月/年) 将该模型可以预测到未来的发展。 随着更长远的预测,模型将变得不太准确。 
  11. (可选)高级设置: 可用于更好地控制训练做业的其余设置。
高级设置 描述
主要指标 用于进行评分模型的主要度量。
退出条件 当知足如下任意条件时,训练做业结束以前彻底完成。 
训练做业时间 (分钟):容许运行训练做业的时间。 
最大迭代数:管道 (迭代) 中,以便测试在训练做业的最大数目。 该做业将不会运行多个指定的迭代次数。 
指标分数阈值:全部管道的最小指标分数。 这可确保,若是您想要达到定义的目标度量值,则执行不花更多时间比实际所需的训练做业。
预处理 选择此选项能够启用或禁用经过自动的机器学习的预处理。 预处理包括自动数据清理、 准备,和转换以生成综合的功能。
验证 选择一个要在训练做业中使用的交叉验证选项。 
并发 选择你想要使用多核计算时使用的多核限制。
已阻止的算法 选择你想要从训练做业中排除的算法。

高级的设置窗体

数据事件探查

跨您的数据集以验证您的数据集是不是机器学习准备就绪,能够获取各类汇总统计信息。 对于非数字列,其中包括 min、 max 和错误计数等的仅基本统计信息。 对于数值列,您还能够查看其统计一点时间,估计分位数。 具体而言,咱们的数据配置文件包括:

  • 功能: 这汇总的列的名称。

  • 配置文件: 在行中可视化效果基于推断出的类型。 例如,字符串、 布尔值和日期将具备值计数,而小数 (数字) 具备近似直方图。 这容许您快速了解数据的分布。

  • 键入分发: 类型列中的行中值计数。 Null 值是其本身的类型,所以此可视化效果可用于检测异常或缺失值。

  • 类型: 列的推断的类型。 可能的值包括: 字符串、 布尔值、 日期和小数位数。

  • 最小值: 列的最小值。 对于其类型不具备固有的排序 (例如布尔值) 的功能显示为空白条目。

  • 最大: 列的最大值。 如"最小值,"为空白条目出如今不相关类型的功能。

  • 计数: 缺乏和非缺乏列中的项的总数。

  • 不会错过计数: 列不是缺失的条目数。 请注意,空字符串和错误被视为值,所以它们不会构成"不缺乏计数"。

  • 分位数(在 0.一、 一、 五、 2五、 50、 7五、 9五、 99 和 99.9%的时间间隔): 在每一个分位来提供数据的分布的意义上的近似的值。 功能与不相关的类型显示为空白条目。

  • 意味着: 列的算术平均值。 功能与不相关的类型显示为空白条目。

  • 标准误差: 列的标准误差。 功能与不相关的类型显示为空白条目。

  • 方差: 列的方差。 功能与不相关的类型显示为空白条目。

  • 不对称度: 列的不对称度。 功能与不相关的类型显示为空白条目。

  • 峰度: 列的峰值。 功能与不相关的类型显示为空白条目。

高级预处理

在配置在实验时,能够启用高级的设置Preprocess。 所以,这样作意味着自动执行如下数据预处理和特征化步骤。

预处理 步骤 描述
删除较大的基数或者无差别的特征 请先删除这些从训练和验证集,包含全部缺失,相同的值之间的全部行或具备极高基数 (例如,哈希、 Id 或 Guid) 值中包括的功能。
估算缺失值 数字特征,输入与列中值的平均值。

分类特征、 输入与最经常使用的值。
生成其余特征 对于日期时间特征:年、月、日、星期、年日期、季、年周、小时、分钟、秒。

对于文本特征:根据得到、 双元语法和三元字符语法的字词频率。
转换和编码 不多惟一值的数字功能会被转换为分类特征。

独热编码为较小的基数分类; 执行为高的基数,一个热的哈希编码。
词嵌入 文本特征化器,可将文本标记的向量转换到句子矢量使用预先训练的模型。 在文档中的每一个单词嵌入向量被聚合在一块儿以生成文档特征向量。
目标编码 分类特征、 将映射与平均的目标值对于回归问题,并为每一个类分类问题的类几率的每一个类别。 基于频率的权重和 k-折叠交叉验证用于减小经过映射和干扰引发的稀疏数据类别中调整。
文本目标编码 文本输入具备包的单词的堆积线性模型用于生成每一个类的几率。
证据 (出错) 的权重 计算为分类列与目标列的关联的度量值出错。 它的计算方式的类在 vs 扩展类的几率的比率的日志。 此步骤中输出每一个类的一个数字特征列,而且无需显式用户输入缺失值和离群值处理方法。
分类距离 训练的 k 平均值聚类分析模型对全部数字列。 输出 k 新功能,每一个群集,其中包含每一个示例与每一个群集的形心的距离的一个新数字功能。

运行实验并查看结果

若要运行此试验,请单击开始。 实验准备过程须要几分钟的时间。

查看实验详细信息

实验准备阶段完成后,你将看到运行详细信息屏幕。 这样,您建立的模型的完整列表。 默认状况下,最高评分的模型基于您的参数列表的顶部。 如训练做业尝试出更多的模型,则将它们添加到迭代列表和图表中。 使用迭代图表以获取到目前为止生成的模型的快速度量值的比较。

训练做业可能须要每一个管道完成运行一段时间。

查看训练运行详细信息

向下钻取的任何输出模型,以查看运行详细信息,如性能指标和分发图表的训练。 

迭代详细信息

相关文章
相关标签/搜索