Azure ML教程-建立预测模型

作者 : IT 大叔 本文共3585个字,预计阅读时间需要9分钟 发布时间: 2020-08-15

使用Azure ML Studio(概述)

本教程将指导用户使用与传统数据挖掘框架相同的过程,在Azure机器学习中构建分类模型。在本教程中,我们将使用公共的Titanic数据集。从数据集中,我们可以建立一个预测模型,该模型将根据乘客的人口统计特征和情况正确地对您是否会生还进行分类。

关于数据

我们在数据科学训练营中使用了Titanic数据集,并发现它是为初学者和专家提供的少数几个数据集之一,因为它的复杂性会随着特征工程的发展而扩大。有许多公共资源可获取Titanic数据集,但是,可以从Kaggle获得最完整(最原始)的数据版本,尤其是其“火车”数据。

火车“泰坦尼克号”数据有891行,每行涉及灾难当晚RMS泰坦尼克号上的一名乘客。数据集还有12列,每列记录有关每个乘员的情况和人口统计的属性:用户ID,乘客舱位,年龄,性别,姓名,同胞和配偶的人数,父母和子女的人数,票价,机票号码,机舱号,登机口以及是否在折磨中幸存。

为了进一步阅读,可以在此处找到与RMS泰坦尼克号上每个人有关的传记资料库(带有图片)。


预处理和数据探索

删除低值列

首先确定对预测建模几乎没有价值的列。这些列将被删除。

要删除的第一个最明显的候选者是PassengerID。没有提供有关如何导出这些密钥的信息。因此,键可能是完全随机的,可能会向我们的模型添加错误的相关性或噪声。

第二个要删除的候选项是“旅客姓名”列。通常,名称可用于导出缺少的性别值,但“性别”列中不包含任何空值。因此,除非我们使用它来设计另一个名称列,否则此列对我们没有用。

要删除的第三个候选者将是“票证”列,该列代表票证序列号。与旅客ID十分相似,关于这些票证字符串是如何得出的信息也不容易获得。高级用户可以查看历史文档,以调查旅行社如何设置其机票名称,执行聚类分析或对机票价值进行分类。这些技术超出了本实验的范围。

最后要降落的候机室将是客舱,这是乘客所住的客舱编号。尽管该列在合并后可能保留值,但此列中有147个缺失值(约占数据的21%)。高级用户可以通过字母将机舱聚类,或者可以深入挖掘实际的RMS Titanic船舶示意图的精髓,以得出有用的功能,例如距船体破损的舱室距离或距海平面的平均高度。

Azure ML教程-建立预测模型插图

定义分类变量

现在,我们必须通过将其强制转换为类别来定义哪些值是不连续的。连续值和非连续值的数学方法差异很大。例如,如果我们现在绘制“ Survived”列,它看起来会很有趣,因为它将尝试考虑介于“ 0”和“ 1”之间的范围。但是,在这种情况下部分活着是荒谬的。分类值彼此独立地视为“选择”或“选项”,而不是数字范围。

要进行快速(但不是详尽无遗)的练习以查看是否应归类,只需问:“此值的十进制间隔有意义吗?”

Azure ML教程-建立预测模型插图(2)

在本练习中,应转换为类别的列是:Survived,Pclass,Sex和Embarked。其中最难确定的可能是Pclass,因为它是一个从1到3的数值。但是,在第二类和第三类之间使用2.5类实际上没有任何意义。同样,每个PClass间隔之间的关系或“距离”也不明确。

要投射这些列,请拖动“编辑元数据”模块。指定要转换的列,然后将“分类”参数更改为“分类”。

Azure ML教程-建立预测模型插图(4)

清除Azure ML中的丢失数据

大多数算法无法解释缺失值,有些算法则与其他算法不一致。为了解决这个问题,我们必须确保我们的数据集不包含任何缺失,“空”或“ NA”值。有许多方法可以解决缺失值。我们将介绍三个:替换,排除和删除。

当我们有意识地决定通过完全删除该列而不使用“机舱”属性时,就已经使用了排除。

替换是最通用且首选的方法,因为它允许我们保留数据。它还可以将由于一个单元格的不良行为而对其他色谱柱造成的附带损害降至最低。在替换中,可以轻松地用平均值,中位数或众数之类的统计值替换数值。中位数通常是机器学习的首选,因为它保留了数据的分布并且受异常值的影响较小。但是,中位数会偏斜并使您的频率过载,这意味着它会与您的条形图混乱,而不与您的箱形图混乱。

我们将在本节后面介绍删除。

现在我们可以寻找缺失的值。拖入“汇总数据”模块,并将其连接到“编辑元数据”模块。运行实验并可视化摘要输出。您将获得一列,总结每个属性的“缺失值计数”。此时,“年龄”缺少177个值,而“禁运”则缺少2个值。

Azure ML教程-建立预测模型插图(6)

Azure ML教程-建立预测模型插图(8)


查看“年龄”的元数据可以发现它是“数字”类型。这样,我们可以轻松地用中位数替换所有年龄缺失值。在这种情况下,每个缺失值将被替换为“ 28”。

上车有点麻烦,因为它是分类字符串。通常,类别列中的孔可以用占位符值填充。在这种情况下,只有2个缺失值,因此以S,C,Q或U(未知)的形式向“ Embarked”添加另一个分类值(仅用于容纳2行)可能没有多大意义。只需删除这些行,我们可能会丢失0.2%的数据。这是删除的示例。

Azure ML教程-建立预测模型插图(10)

若要清除Azure ML中的缺失值,请使用“清除缺失的数据”模块。该模块将对所选功能进行单一覆盖操作。首先,我们从一个“清除缺失数据”模块开始,用中位数替换所有缺失的数字实例。要选择所有数字列,请在“清除缺少的数据”属性的“启动列选择器”下选择“列类型”和“数字”。这将仅针对“年龄”列,因为它是唯一缺少值的数字列。数据通过模块后,整个数据集中“ Embarked”列中应该只剩下两个缺失值。然后,我们添加另一个“清除丢失的数据”模块,将其设置为删除丢失的行,以删除“ Embarked”的2个丢失值。

Azure ML教程-建立预测模型插图(12)


指定响应类别

现在,我们必须直接通过将属性强制转换为“标签”,直接告诉Azure ML我们希望我们的算法训练要预测的属性。通过拖动“编辑元数据”模块来执行此操作。使用列选择器指定“生存”,并将“字段”参数更改为“标签”。数据集一次只能有1个标签才能起作用。我们的模型现在可以进行机器学习了!

Azure ML教程-建立预测模型插图(14)


建筑模型

分区和撤销数据

在训练算法以测试模型的有效性和性能之前,随机划分数据非常重要。如果预测模型只能准确地预测已知值,则对我们而言毫无价值。保留数据表示模型在训练算法时从未见过的数据。这样一来,您便可以在以后对模型的性能进行评分,以评估模型预测未来值或未知值的能力。

拖入“拆分数据”模块。通常将70/30的比例设置为行业惯例。为此,将“第一个输出数据集中的行的分数”设置为0.7。70%的数据将随机混入左输出节点,而其余30%的数据将混入右输出节点。

Azure ML教程-建立预测模型插图(16)


选择一种算法

首先,我们必须确定这是什么类型的机器学习问题:分类,回归,聚类等。由于响应类是生存或死亡的分类值,即“ 0”或“ 1”,因此我们可以说出它是是分类问题。具体来说,我们可以说这是一个两类或二进制分类问题,因为只有两种可能的结果:存活或死亡。幸运的是,Azure ML附带了许多两类分类算法。由于没有使用特定于算法的实现,因此此问题非常适合决策林和决策树,因为预测变量类既是数值类又是分类类。选择一种算法(任何两类算法都可以使用)。

Azure ML教程-建立预测模型插图(18)

训练模型

拖入“训练模型”模块,然后将算法连接到该模块。将您的训练数据(70%)连接到“训练模型”模块的右侧输入。要对模型评分,请拖动“分数模型”模块。将“训练模型”连接到“分数模型”的左侧输入节点,将30%的预扣数据连接到“分数模型”的右侧输入节点。最后,要评估模型的性能,请拖入“评估模型”模块,并将其左输入连接到“得分模型”的输出。

运行模型。

Azure ML教程-建立预测模型插图(20)


评估模型

如果在运行模型后可视化“评估模型”模块,则会看到数量惊人的指标。每个机器学习问题都有其独特的目标,因此在评估“好”或“坏”性能时具有不同的优先级。结果,每个问题还将优化不同的指标。

对于我们的实验,我们选择最大化RoC AuC,因为这是低风险情况,其中假阴性或假阳性的结果没有不同的权重。

由于随机分割,RoC AuC会略有不同。我们的两类增强决策树的默认参数得出的RoC AuC为0.832。这是一个公平的表现模型。通过微调参数,我们可以进一步提高模型的性能。

Azure ML教程-建立预测模型插图(22)

要优化哪个指标?

  1. RoC AuC:总体绩效
  2. 精度:相关性
  3. 回忆:彻底
  4. 准确性:正确性

RoC AuC入门指南

  • o.9〜1 =很好
  • 0.8〜0.9 =一般
  • 0.7〜0.8 =体面的模特
  • 0.5〜0.6 =无价值模型

比较您的模型

我们的模型将如何与其他算法相对应?让我们找出答案。拖入“两级决策森林”模块。复制并粘贴“训练模型”模块和“得分模型”模块。将新创建的“培训模型”模块的输入重新路由到决策林。将新创建的“得分模型”模块的输出连接到“评估模型”模块的右侧输入节点。现在我们可以比较两种分别训练的机器学习模型的性能。
Azure ML教程-建立预测模型插图(24)

两种模型均表现良好(每个〜0.81 RoC AuC)。提升后的决策树总体上具有更高的RoC AuC,但是两个模型非常接近,可以认为在性能方面是并列的。作为决胜局,我们可以看看其他指标,例如准确性,准确性和召回率。使用这些度量,我们发现与两类决策林相比,增强型决策树的准确性,准确性和召回率较低。如果我们现在选择一个成功的模型,那可能就是两级决策林。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » Azure ML教程-建立预测模型

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论