1
Azure 机器学习实验
一、项目背景
【项目简介】
Azure Machine Learning(简称“AML”)是微软在其公有云 Azure 上推出的基于 Web 使用的一项机器学习服务,机器学习属人
工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行识别。这种方式能够通过历史数据来预测未来事件和行为,其实现
方式明显优于传统的商业智能形式。微软的目标是简化使用机器学习的过程,以便于开发人员、业务分析师和数据科学家进行广泛、
便捷地应用。这款服务的目的在于“将机器学习动力与云计算的简单性相结合”。AML 目前在微软的 Global Azure 云服务平台提供
服务,用户可以通过站点:https://studio.azureml.net/ 申请免费试用。
【项目涉及知识点】
下载、处理和上传收入普查的数据集;
创建一个新的 Azure 机器学习实验;
训练和评价一个预测模型;
二、项目基本需求及目的
【项目需求】
了解机器学习从数据到建模并最终评估预测的整个流程。
【项目目的】
根据人口普查数据预测不同人员收入情况
三、项目准备工作
【项目平台】
1,PC 机,如果你的电脑内存低于 512M,希望你不要安装虚拟机及项目所需的环境。
2,注册 Azure 平台并免费使用
四、项目实现步骤
【项目实现步骤】
1、数据集简介及准备
1.1 数据集简介
2
UCI 机器学习数据库的网址:http://archive.ics.uci.edu/ml/
该数据库是加州大学欧文分校(UniversityofCaliforniaIrvine)提出的用于机器学习的数据库,这个数据库目前共有 187 个数据集,其
数目还在不断增加,UCI 数据集是一个常用的标准测试数据集。数据库不断更新,是所有学习人工智能、机器学习等都需要用到的数
据库,是看文章、写论文、测试算法的必备数据集。数据库种类涉及生活、工程、科学各个领域,记录数也是从少到多,最多达几十
万条。
我们使用其中:美国人口普查数据集(https://archive.ics.uci.edu/ml/datasets/census+income)的数据,该数据从美国 1994
年人口普查数据库抽取而来,可以用来预测居民收入是否超过 50K/year。该数据集类变量为年收入是否超过 50k,属性变量包含年龄,
工种,学历,职业,人种等重要信息,
值得一提的是,14 个属性变量中有 7 个类别型变量,数据集各属性:其中序号 0~13 是属性, 14 是类别
3
数据集局部图如下图所示:
注 1:
已清洗的数据仅供本课程学习使用,有一定的模拟性质。如需要更多的信息,则需要从原始数据按照相应的目的进行清洗。
注 2:
CSV 格式是数据分析工作中常见的一种数据格式。CSV 意为逗号分隔值(Comma-Separated Values),其文件以纯文本形式
存储表格数据(数字和文本)。每行只有一条记录,每条记录被逗号分隔符分隔为字段,并且每条记录都有同样的字段序列。
CSV 格式能被大多数应用程序所支持,广泛用于在不同的系统之间转移数据,是一种容易被兼容的格式。实验楼中大量的数据
分析类课程都使用了 CSV 格式的数据集,不仅如此,我们也推荐你在今后的数据分析工作中应用此格式来存储数据。
4
2、Azure 云平台的机器学习应用
2.1 观察数据集
现在,用 Microsoft Excel 或任何其他电子表格工具中打开 adult.data 文件,并为其添加网站中属性列表的详细信息,这些信息如
下列出。注意,其中的一部分属性值为连续的,因为它们以数值的形式表现,另一部分则为离散的。
年龄(age),连续值
工作种类(Workclass)个人(Private), 无限责任公司(Self-emp-not-inc), 有限责任公司(Self-emp-inc), 联邦政府
( Federal-gov ) , 地 方 政 府 ( Local-gov ) , 州 政 府 ( State-gov ) , 无 薪 人 员 ( Without-pay ) , 无 工 作 经 验 人 员
(Never-worked)离散值
序列号(Fnlwgt)连续值
教育情况(Education) Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th,
12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool )离散值
受教育年限(Education-num),连续值
婚 姻 状 况 ( Marital-status ) 已 婚 ( Married-civ-spouse ) , 离 婚 ( Divorced ) , 未 婚 ( Never-married ) , 离 异
(Separated),丧偶(Widowed),已婚配偶缺席(Married-spouse-absent)、 再婚(Married-AF-spouse),离散值
职业情况(Occupation)技术支持(Tech-support),维修工艺(Craft-repair),服务行业(Other-service)、 销售
(Sales)、 执行管理(Exec-managerial)、 专业教授(Prof-specialty),清洁工(Handlers-cleaners),机床操控人员
(Machine-op-inspct)、 行政文员(Adm-clerical)、 养殖渔业(Farming-fishing)、 运输行业(Transport-moving),私
人房屋服务(Priv-house-serv),保卫工作(Protective-serv), 武装部队(Armed-Forces)职业情况,离散值
亲属情况(Relationship)妻子(Wife),子女(Own-child),丈夫(Husband),外来人员(Not-in-family)、 其他亲
戚(Other-relative)、 未婚(Unmarried),离散值
种 族 肤 色 ( Race ) 白 人 ( White ) , 亚 洲 太 平 洋 岛 民 ( Asian-Pac-Islander ) , 阿 米 尔 - 印 度 - 爱 斯 基 摩 人
(Amer-Indian-Eskimo)、 其他(Other),黑人(Black)离散值
性别(Sex )男性(Female),女性( Male),离散值
资本盈利(Capital-gain )连续值
资本损失(Capital-loss) ,连续值
每周工作时间(Hours-per-week ),连续值
国籍(Native-country )美国(United-States)、 柬埔寨(Cambodia)、 英国(England),波多黎各(Puerto-Rico),
加拿大(Canada),德国(Germany),美国周边地区(关岛-美属维尔京群岛等)(Outlying-US(Guam-USVI-etc)),印度
(India)、 日本(Japan)、 希腊(Greece)、 美国南部(South)、 中国(China)、 古巴(Cuba)、 伊朗(Iran)、 洪
都拉斯(Honduras),菲律宾(Philippines)、 意大利(Italy)、 波兰(Poland)、 牙买加(Jamaica)、 越南(Vietnam)、
墨西哥(Mexico)、 葡萄牙(Portugal)、 爱尔兰(Ireland)、 法国(France)、多米尼加共和国(Dominican-Republic)、
老挝(Laos)、 厄瓜多尔(Ecuador)、 台湾(Taiwan)、 海地(Haiti)、 哥伦比亚(Columbia)、 匈牙利(Hungary)、
危地马拉(Guatemala)、 尼加拉瓜(Nicaragua)、苏格兰(Scotland)、 泰国(Thailand)、 南斯拉夫(Yugoslavia),萨
尔 瓦 多 ( El-Salvador ) 、 特 立 尼 达 和 多 巴 哥 ( Trinadad&Tobago ) 、 秘 鲁 ( Peru ) , 香 港 ( Hong ) , 荷 兰
(Holland-Netherlands)离散值
收入 (incom) >50K, <=50K ,离散值
注意,在插入这些列的标题后,一定要以 .csv 格式保存,且保存时将文件命名为 Adult.data.csv 。
2.2 导入数据
2.2.1 总结数据集
总括一下数据集的数据特征:
5
1,十四个与结果相关的唯一属性
2,数据集的实例数为 48,842
3,预测任务是确定用户是否一年收入超过$50,000 美元。
此人口收入的普查数据集以被微软作为一个样本数据提供出来了,在其成人普查收入的二元分类(Adult Census Income Binary
Classification)数据集中便可以找到。以下我们将手动地一步步全面地介绍整个 Azure 机器学习工作流过程,很有可能,您的用于预
测模型地真实数据集来自于其他外部资源,因此了解机器学习是怎么从开始至结束的全过程是很有必要的。
2.2.2 数据上载至 Azure 机器学习实验
将人口收入普查数据集添加了列标题后,我们即可将数据上载至 Azure 机器学习工作区,并将其纳入预测模型。点击屏幕左下方的
"+",然后选择上传的数据集。下图显示上传本地数据文件的选项。
下一步,点击从本地文件选择即"FROM LOCAL FILE",您可看见如下图所示的上载界面。在此界面您可指定上载文件的属性,比如
文件的位置、名称(本例中我们使用 Adult.data.csv )和类型(通常是 CSV 类型),以及新的数据集的可选说明。