利用RapidMiner简化数据准备和机器学习任务

star2017 1年前 ⋅ 8585 阅读

众所周知,我们在数据准备上花费的时间太多,而在构建完美的机器学习模型上花费的时间不多。事实上,《哈佛商业评论》的出版物证实了这一点:分析团队花费80%的时间准备数据。它们通常被笨拙的数据准备工具拖慢,且数据科学专家也确实不多。

但不用再花那么长的时间了,伙计们!RapidMiner最近发布了一个非常好的数据准备功能,RapidMiner Turbo Prep。您很快就会知道我们为什么选择这个名称,但是其基本思想是Turbo Prep提供了一种新的数据准备体验,使用拖放界面既快速又有趣。

让我们来看看这个特性的一些可能性,并演示它是如何集成到我们的自动机器学习产品RapidMiner Auto Model中的。这两个特性真正使数据准备和机器学习变得快速、有趣、简单。如果你想跟上,请确保你已经下载RapidMiner Studio 9.0。所有免费用户都可以访问Auto Model 和Turbo Prep30天。

目录表

  1. 加载和检查数据
  2. 变换数据
  3. 查看过程
  4. 使用自动机器学习预测延迟
  5. 数据准备与机器学习简化

1. 加载和检查数据

首先,我们将开始加载一些数据。可以从所有基于存储库的源添加数据,也可以从本地计算机导入数据。

快速启动屏幕

在这个例子中,我们使用了从2007英国新英格兰起飞的所有国内航班的数据集,大约230000行。您可以在Studio的预安装库中找到此数据集。点击‘Load Data’ / ‘Community Samples’ / ‘Community Data Sets’ / ‘Transportation’

加载样本数据集

一旦加载数据,马上就可以在数据中心查看,同时还可以看到一些数据质量指标。在列的顶部,显示数据的分布和质量测量。这些指示列是否将有助于机器学习和建模。例如,假设列中的大多数数据丢失,这可能会混淆机器学习模型,因此最好一起删除它们。如果列充当ID,则意味着实际上所有值在数据集中只出现一次,因此这对于识别模式没有用,也应该删除。

数据中心的RapidMiner Turbo Prep视图

变换数据

基准表

作为第一步,为了查看聚合中的数据,我们将创建一个数据透视表。为了生成这个数据透视表,首先,我们将查看机场代码,由“Origin”表示,机场名称为“OriginName”,并计算这些位置的平均延迟。我们可以通过拖拽“DepDelay”进入“Aggregates”区域,计算平均值。在这种情况下,最大的延误发生在南塔基特机场,这是一个非常小的机场,有一个高平均延误超过51分钟。为了考虑航班数量,我们还会加上“原点计数”并排序以显示最大的机场。在这种情况下,波士顿洛根机场是最大的,有近130000个航班。

RapidMiner Turbo Prep中的数据透视表

这个数据透视表帮助我们快速确定应该关注Boston Logan,所以我们将退出这个视图,回到我们开始的原始数据。现在,只显示“BOS”飞行数据:选择“Origin”列,右击,然后选择“Transfomations”,然后选择“Filter”。马上就会有一个预览的数据,所、从而你会知道结果是否正确。所有的统计和质量测量也被更新。

应用滤波器

接下来,我们将带来一些关于同一年New England天气的数据。该数据集可以在与飞行数据相同的“Transportation”文件夹中找到。根据个人经验,我们知道天气会造成延误,所以我们想把这个数据加进去,看看模型是否会接受。在一个较长的情况分析中,我们可能首先查看飞行数据,发现模型有60%精确率的。然后添加天气信息,看看模型的准确性是如何提高的。但为了这次演示,我们将直接加入天气。在这个数据中,只有一个“Date”列,但是在我们的飞行数据中有两个列,一个是天数的,一个是月份的,所以我们需要转换天气数据以匹配。

气象数据中的“日期”栏

通过复制“Date”列开始转换,因此有两个相邻的重复列。然后将列重命名为“W_Day'”和“W_Month”,以获得一致性。

在天气数据中复制和重命名“Date”

然后我们需要从这些列中分离数据。单击“W_Day”列并选择“Change Type”,这将显示“Change to number”,选项为“Extract”。在这种情况下,我们需要提取与月份相对应的一天,然后单击“Apply”。对于“W_Month”列,我们需要遵循相同的步骤,只是需要提取与年份相关的月份并单击“Apply”。一旦结果看起来不错,我们就进行转换。

从月份中提取天数

从一年中提取月份

合并数据

现在,我们需要把这两个数据集合并在一起。Turbo PreP使用智能算法来智能地识别数据匹配。如果两个数据集有两个相互匹配的列,则它们是一个很好的匹配。如果两个列包含相似的值,则两个列相互匹配。在这个例子中,我们看到了94%的相当高的匹配。

两个数据集的匹配百分比

联接

现在,如果我们想加入机场代码,我们从下拉菜单中选择合并类型“Inner Join”“Airport Code”,它将最好的匹配列排名。最好的匹配是另一个数据集中的“Origin”代码列,这是一个好的标志。接下来,我们选择月份,月份弹出到顶部,显示它是最好的匹配。最后,我们选择天数和'DayofMonth',它是列表顶部的最佳匹配。这有助于确保连接和合并提供正确的结果。点击“Update Preview”将显示紫色的三个连接键,蓝色显示所有的天气信息,绿色显示Boston Logan的所有原始飞行信息。

合并数据视图

生成列

接下来,我们将根据现有数据集中的新信息生成一个新列。“DepDelay”列中的数据表示航班延误的分钟数。如果航班晚点一分钟,我们实际上不会认为是航班延误,所以这个列对我们来说并不那么重要。我们想要做的是使用这个列来定义Delay是什么。对于这个例子,我们将考虑任何延误超过15分钟的航班延误。要生成这个新列,我们将单击“Generate”,并通过创建一个名为“Delay Class”的新列来开始。下一步,我们可以拖入或键入“If()”的公式。拖动或键入“DepDelay”,其中延迟大于十五分钟为true,其余为false。最后,公式将读取,‘if([DepDelay]>15,TRUE,FALSE)’。然后,我们希望更新预览,以查看truefalse的数量。在我们的例子中,公式似乎起作用,因此我们提交了生成并添加了新的列。

生成“延迟类”列

清洗数据

建模前的最后一步就是清理我们的数据。当我们第一次看到我们的数据时,我们可以看到一些数据质量问题,例如,在“Cancellation”列中,所以我们知道需要解决这个问题。我们可以逐行检查数据,或者我们可以使用“Auto Cleansing”功能。点击这个功能会弹出一个对话框,促使我们识别我们想要预测的内容。

RapidMiner Turbo Prep自动清洗选项

在自动清洗中定义目标

基于该选择,RapidMiner建议并选择应该移除的列。这些建议是因为数据丢失太多,或者因为数据太稳定。只需点击“Next”,这些列就会被删除。还有很多方法可以提高数据质量,但此步骤是我们在本示例中使用的惟一步骤,剩下的留给默认设置。然后,我们点击“Commit Cleanse”。

自动清洗中移除有质量问题的列

查看过程

历史

我们做了相当多的更改,我们可以通过点击“History”来查看它们,其中显示了我们所采取的所有单独步骤。如果愿意,我们可以单击其中一个步骤,并决定在该步骤之前回滚更改或创建回滚步骤的副本。

历史视图

RapidMiner Studio Process

Turbo Prep最令人兴奋的是,我们可以通过点击“Process”看到完整的数据准备过程,可以在RapidMiner Studio 看到完全注释过的视图。RapidMiner没有黑匣子。我们可以看到每一个步骤,并且可以根据需要进行编辑和修改。每当我们看到一个模型,我们喜欢,我们可以点击它,并可以打开过程。这个过程是用注释生成的,所以我们对发生的事情有一个完整的解释。我们可以保存这个,我们可以将它应用在新的数据集,比如2008的飞行数据,我们可以与我们的同事分享这一过程,或者我们可以部署和频繁运行。

RapidMiner Studio的过程视图

结果还可以以各种文件格式导出到RapidMiner存储库,或者可以将其移交给RapidMiner Auto Model 以便立即创建模型。在本例中,我们将通过简单地点击“Auto Model”选项卡来探索使用RapidMiner Auto Model构建一些快速模型。

4.使用自动机器学习预测延迟

RAPIDEMIER自动模型

从这里,我们能够建立一些聚类,分割,或离群预测。在这种情况下,我们要预测“Delay Class”列。要做到这一点,我们只需点击"Delay Class”和已经被选中的“Predict”,所以我们继续点击“Next”

预测“Delay Class”

“Prepare Target”视图中,我们可以选择映射值或更改最感兴趣的类,但是我们最感兴趣的是预测延迟,因此我们将在这里保留默认设置。

在RapidMiner自动模型中准备目标视图

下一步,我们将再次看到这些质量度量,并且我们看到在这个概览中没有红色列。那是因为我们已经在Turbo Prep进行了自动清洗。但是我们仍然有一些可疑的列用黄色标出。Auto Model指出“DepDelay”是可疑的列非常重要,因为这是我们用来创建预测的列。如果你记得,当“Delay”大于15分钟时,这是一个延迟,否则,它不是。如果我们保持这种状态,那么所有的模型都将集中在那一列上,而这不是我们想要基于它的预测,所以我们必须删除该列。在本例中,我们还将通过单击“Deselect Yellow”来删除其他两个可疑列,但是这些列可以保留。这是Turbo Prep和Auto Model的一个重要特性,虽然我们尽可能地进行自动化,但我们仍然可以选择覆盖推荐。

消除黄色可疑列

在取消所有三个可疑列之后,我们单击“Next”并转到“Model Types”视图。在这个视图中,我们看到一些已经选择的模型(由Auto Model建议)Naïve Bayes和GLM,我们也可以选择Logistic回归。

模型类型的选择

几秒钟后,我们看到了Naïve Bayes模型,可以通过在结果页面中单击“Naïve Bayes”下面的“Model”开始检查它。在这里,我们有一种可视化的方法来检查模型,因此,例如,“Actual Lapsed Time”属性并不是非常有用,但是我们可以下拉并选择“Min Humidity”,可以看到两个类稍有不同。

Actual Lapsed Time

Min Humidity

还有另一种方式通过Auto Model查看这些信息,方法是在结果页面中点击“Model”下的“Simulator”。这里我们可以对模型进行一点实验。马上我们就会发现,对于我们的模型的平均输入来说,更可能是航班延误。然后我们可以做一些改变。可见性似乎相当重要,由类名下面的灰色条的长度来表示,因此让我们通过减少可见性来稍微改变一下可见性,这使得航班更可能延误。

具有平均输入的朴素贝叶斯模拟器

能见度降低的朴素贝叶斯模拟器

“OverView”中我们可以看到不同模型的表现如何,在这里我们看到GLM和Logistic回归比Naïve Bayes表现得更好。我们也可以看看ROC比较,或个人模型性能和提升图表。

Auto Model 结果概览

最后,你可以看到数据本身,在“General”和最重要的影响因素点击“Weights”。最有影响的因素是来往的飞机是否延误,这是有道理的。我们可能想考虑一下,因为这可能不是我们能影响的事情,但现在我们会继续努力。

重要影响因素

就像Turbo Prep一样,自动建模过程可以在RapidMiner Studio中打开,用注解显示完整的过程。Auto Model每一步都解释了它的重要性以及为什么在模型创建过程中做出某些预测。我们可以看到完整模型是如何创建的,没有黑匣子!

自动建模过程

5.数据准备与机器学习简化

通过这个演示,我们已经表明,Turbo Prep是一个非常令人兴奋和有用的新功能,它从根本上简化和加速了耗时的数据准备任务。实验表明,该方法可以快速地提取、加入、过滤、分组、旋转、变换和清洗数据。您还可以连接到各种资源,如关系数据库、电子表格、应用程序、社交媒体等等。

您还可以创建可重复的数据准备步骤,使重用过程更快。数据还可以保存为Excel格式、CSV格式或发送到数据可视化产品,如Qlik。

我们还演示了,一旦我们准备好用新转换的数据构建预测模型,只需单击一下即可跳转到Auto Model。与市场上其他工具不同,RapidMiner Auto Model通过利用十年的数据科学智慧使机器学习自动化,从而您可以集中精力快速地从数据中解开有价值的见解。最重要的是,没有黑匣子,我们总是能准确地看到背景中发生了什么,我们可以复制它。

如果您还没有尝试过这两个特性,我们将向所有免费用户提供为期30天的Studio Large试用版,这里可以下载

关于RapidMiner

RapidMiner通过开放和可扩展的数据科学平台为企业带来人工智能。RapidMiner是为分析团队构建的,它统一了从数据准备到机器学习到预测模型部署的整个数据科学生命周期。400000个分析专家使用RapidMiner产品来提高收入,降低成本,并避免风险。欲了解更多信息,请访问www. RaqdMix.com。

原文链接:Simplifying Data Preparation and Machine Learning Tasks using RapidMiner

翻译:徐大白



更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: