获取和准备数据
数据是机器学习的基础。 数据数量和数据质量都会影响模型的准确度。
若要训练机器学习模型,需要:
- 确定数据源和格式。
- 选择提供数据的方式。
- 设计数据引入解决方案。
若要获取和准备用于训练机器学习模型的数据,需要从数据源中提取数据,并将其提供给要用于训练模型或进行预测的 Azure 服务。
确定数据源和格式
首先,需要确定数据源及其当前数据格式。
| 确定 | 示例 |
|---|---|
| 数据源 | 例如,数据可以存储在客户关系管理 (CRM) 系统中、事务数据库(如 SQL 数据库)中,也可以由物联网 (IoT) 设备生成。 |
| 数据格式 | 你需要了解数据的当前格式,可以是表格或结构化数据、半结构化数据或非结构化数据。 |
然后,你需要确定需要哪些数据来训练模型,以及希望以何种格式将数据提供给模型。
设计数据引入解决方案
一般情况下,最佳做法是在分析数据前从源中提取数据。 无论是将数据用于数据工程、数据分析还是数据科学,都可能需要从数据源中提取数据,对其进行转换,并将其加载到服务层中。 此类流程也称为提取、转换和加载 (ETL) 或提取、加载和转换 (ELT)。 服务层使数据可供你用于进一步数据处理(如训练机器学习模型)的服务。
要移动和转换数据,可以使用数据引入管道。 数据引入管道是移动和转换数据的任务序列。 通过创建管道,可以选择手动触发任务,或者在希望自动执行任务时计划管道。 可以使用 Azure Synapse Analytics、Azure Databricks 和 Azure 机器学习等 Azure 服务创建此类管道。
数据引入解决方案的常用方法是:
- 从数据源(如 CRM 系统或 IoT 设备)中提取原始数据。
- 通过 Azure Synapse Analytics 复制和转换数据。
- 将准备好的数据存储在 Azure Blob 存储中。
- 使用 Azure 机器学习训练模型。
探索示例
假设你想训练一个天气预报模型。 你希望将所有每分钟的温度度量值都合并到一个表中。 你想创建数据的聚合,并拥有一个包含每小时平均温度的表。 若要创建该表,需要将从 IoT 设备(该设备按间隔测量温度)引入的半结构化数据转换为表格数据。
例如,若要创建可用于训练预测模型的数据集,可以执行以下操作:
- 从 IoT 设备中提取数据度量值作为 JSON 对象。
- 将 JSON 对象转换为表。
- 转换数据以获取每分钟每台机器的温度。
接下来,让我们探索可用于训练机器学习模型的服务。