作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
如果你能预测你选择的股票在下个月是涨是跌呢? 或者你最喜欢的足球队下一场比赛是赢还是输? 你怎么能做出这样的预测呢? 也许机器学习可以提供部分答案. 小娜,新的数字个人助理,由 必应 Windows Phone 8自带的.我准确预测了2014年世界杯16场比赛中的15场.
在本Azure教程中, 我们将通过解决我们日常生活中面临的一个问题来探索Azure机器学习的特性和功能.
从 机器学习开发人员 观点, 问题可以分为两类,一类是可以用标准方法解决的问题, 以及那些不能用标准方法解决的问题. 不幸的是,大多数现实生活中的问题都属于第二种人. 这就是机器学习发挥作用的地方. 基本思想是使用机器在历史数据中找到有意义的模式,并用它来解决问题.
汽油价格可能已经是大多数人预算中的一项了. 持续的上涨或下跌也会影响到其他杂货和服务的价格. 影响汽油价格的因素有很多, 从天气状况到政治决策和行政费用, 以及完全不可预测的因素,如自然灾害或战争.
这篇Azure机器学习教程的计划是研究一些可访问的数据,并找到可以用来创建预测模型的相关性.
Azure机器学习工作室 是基于web的集成开发环境(IDE)开发数据实验. 它与Azure的其他云服务紧密结合,简化了机器学习模型和服务的开发和部署.
创建机器学习示例有五个基本步骤. 我们将通过开发我们自己的天然气价格预测模型来检验每一个步骤.
收集数据是这个过程中最重要的步骤之一. 数据的相关性和清晰度是建立良好预测模型的基础. Azure机器学习工作室提供了大量的样本数据集. 另一个很棒的数据集可以在 存档.ics.uci.edu/ml/datasets.html.
在收集数据之后, 我们需要通过简单的数据上传机制将其上传到Studio:
上传后,我们可以预览数据. 下图是我们刚刚上传的部分数据. 我们的目标是预测标签为E95的栏下的价格.
我们的下一步是创建一个新的实验,从左边的面板上拖放模块到工作区域.
预处理可用数据包括根据需要调整可用数据. 我们要用到的第一个模块是"描述性统计". 它从可用数据中计算统计数据. 除了“描述性统计”模块外,一个常用的模块是“清理缺失数据”。. 此步骤的目的是通过用其他值替换或完全删除缺失(null)值来赋予其意义.
在我们的教程中这一步应用的另一个模块是“Filter Based Feature Selection”模块. 该模块确定与我们想要预测的结果最相关的数据集特征. 在这种情况下, 如下图所示, 与“E95”值最相关的四个特征是“EDG BS”。, “油”, “美元/ HRK”, 和“欧元/美元”.
因为“EDG BS”是另一个不能用于预测的“输出”值, 我们将从剩下的重要特征中只选择两个——石油价格, 美元兑港币一栏下的汇率.
处理后的数据集样本如下:
我们的下一步是使用“split”模块拆分可用数据. 数据的第一部分(在我们的例子中是80%)将用于训练模型,其余部分用于对训练后的模型进行评分.
以下步骤是整个Azure机器学习过程中最重要的步骤. 模块“Train Model”接受两个输入参数. 一是原始训练数据,二是学习算法. 在这里,我们将使用“线性回归”算法. “训练模型”模块的输出是“分数模型”模块的输入参数之一. 另一个是剩余的可用数据. Score Model为我们的数据集添加了一个新列,scores Labels. 当所应用的学习算法与可用数据很好地配合时,“得分标签”列下的值更接近其对应的E95值.
评估模型模块给我们一个用统计值表示的训练模型的评估. 如果我们看"决定系数", 我们可以得出结论,使用该模型预测正确价格的机会约为80%.
现在,使用“神经网络回归”模块是值得尝试的. 我们需要添加新的“训练模型”和“评分模型”模块,并将输出连接到现有的“评估模型”模块.
“神经网络回归”模块需要更多的配置. 因为这是整个实验中最重要的模块, 这是我们应该集中努力的地方, 调整和实验的设置和选择适当的学习算法作为一个整体.
在本例中,Evaluate模块为我们提供了两个训练模型的比较. 再一次。, 基于决定系数,我们看到神经网络提供的预测精度略低.
在这一点上,我们可以保存选定的训练模型以供将来使用.
当我们有一个训练好的模型时,我们可以继续创建“评分实验”. 这可以通过从头开始创建一个新的实验或使用Azure机器学习工作室助手来完成. 只需选择训练好的模型,点击“创建计分实验”. 这里我们需要的新模块是“Web服务输入”和“Web服务输出”. 我们将添加一个“Project Columns”模块来选择输入和输出值. 输入值为Oil和USD/HRK, ,输出为“得分模型”输出“得分标签”列下的预测值.
下图显示了经过这些调整并相应地连接“Web服务输入”和“Web服务输出”模块后的评分实验.
此时,另一个漂亮的助手特性开始发挥作用. 通过“发布Web服务”,你可以在Azure的云基础设施上创建一个简单的Web服务.
最后,我们可以使用一个简单的测试表单来测试我们的预测web服务.
通过这个简单的 机器学习教程 我们已经展示了如何创建一个功能齐全的预测web服务. Azure机器学习工作室集成到Azure平台中可以非常 强大的工具 创建数据实验. 除了机器学习工作室,还有其他机器学习解决方案,例如 橙色 和 Tiberious. 不管你喜欢什么样的开发环境, 我鼓励你探索机器学习,找到你内心的数据科学家.
世界级的文章,每周发一次.
世界级的文章,每周发一次.