当你打算通过Azure Machine Learning(简称“AML”) Studio构建一个预测模型,你需要做的第一步就是把训练数据导入到AML Studio中。首先你需要了解AML Studio已经内置了很多样本数据,如下图所示:
粗略统计大概有40+种样本数据,包括销售数字方面的、客户关系管理CRM方面的,防欺诈信用卡账单方面的,癌症相关的,电影分级等不同领域,这些样本能帮助使用者快速了解和学习AML,初学者可直接使用这些样本理解和验证各种内置算法的特点和准确性,帮助初学者快速上手。将这些样本数据在AML Studio直接拖拽到工作区,在选中情况下点击右键,就可以看到“下载”和“可视化”的选项,可下载到本地或直接在Workspace查看数据集的内容。
当然,用户也可以使用自己已有的数据集用于模型训练,你可以直接从本地硬盘上传数据集,也可以使用AML Studio中的“Reader”模块访问在线的数据源,包括:
•Azure Blob storage, table, or SQL database
•Hadoop using HiveQL
•A web URL using HTTP
•A data feed provider
(1)从Azure中获取数据:
•Azure Blob Storage - 如果你使用ARFF格式存储,列会通过头元数据映射。如果你使用TSV或CSV数据,会根据样本列数据进行映射。(关于ARFF格式不赘述,大家百度一下自行理解)
•Azure Table Storage - Reader模块会扫描数据确定列的数据类型。如果你的数据同质性非常高且可预测,你可以限制扫描的行数。
•Azure SQL Database - 这是Azure上提供的Paas层数据库服务,Reader模块会利用SQL Azure客户端API,并通过你提供的数据库查询导入数据。
总结,对于Azure Blob和Table存储,你使用共享访问签名URI(SAS URI)或者Azure存储账号信息提供对数据的访问。对于Azure SQL 数据库,你需要提供数据库和账号信息,并通过查询语句判定你想要导入哪些数据。
(2)从网页或FTP站点获取数据,你需要提供:
•完整的HTTP URL地址;
•数据的文件格式(CSV, TSV, ARFF,或 SvmLight);
•对于CSV或TSV文件,需要指明第一行是否是标头;
(3)从Hadoop获取数据:
你可以使用HiveQL查询语言通过Reader模块从分布式存储系统中获取数据,你需要定义Hive数据查询语句及HCatalog服务器的访问信息。你还需要定义数据是存储在Hadoop HDFS上还是在Azure上。
(4)从数据提供者获取数据:
通过定义OData URL,你能从特定的数据提供者获取数据,你需要提供源URL和数据类型。
数据导入到AML Studio中后,你可能有时需要中间结果作为其他模型训练的数据源,这时你可以把数据源存储起来。选中模块右键会看到选项“Save as a dataset”。保存后该数据集就可以被你的工作区中其他模型使用。