涡轮预科
数据准备耗时较长。您已经从多个来源以多种格式收集了数据,现在您想知道:如何将所有的数据片段组合在一起?我如何决定什么是重要的?我如何以别人能理解的方式展示我的研究结果?
Turbo Prep旨在使数据准备更容易。它提供了一个用户界面,您的数据始终在前端和中心可见,您可以在其中逐步进行更改并立即看到结果,具有广泛的支持功能,可以为模型构建或演示准备数据。
在后台,当您准备数据时,Turbo Prep构建了一个RapidMiner进程。您可以保存该过程并稍后将其应用于类似的数据集,这样您就不必两次执行相同的工作。
涡轮预科不会解决你所有的问题。如果您想使用您的数据进行预测并了解结果,请参阅汽车模型.但你不能用毫无价值或不一致的数据做出预测。Turbo Prep将帮助您把所有的碎片放在一起,消除没有价值的数据,将剩余的数据转换成一致和有用的格式,并呈现结果,一旦您对数据有了更好的理解。
Turbo Prep的支持功能分为五大类:
- 变换-这些函数可帮助您创建有用的数据子集(
过滤器
,范围
,样本
,删除
)或修改个别列中的数据(取代
). - 净化-这些函数帮助您丢失的值,重复,规范化和分组。中讨论的低质量数据汽车模型,可通过自动移除
汽车清洗
. - 生成-这些函数帮助您从现有数据列生成新的数据列。各种各样的逻辑和数学运算符对于特征工程和更复杂的数据转换特别有用。
- 主-这些函数简化了从数据创建汇总表(数据透视表)的任务。
- 合并-这些功能可帮助您合并两个或多个数据集(
加入
).
Within Turbo Prep, click on the symbol to learn more about any of these categories.
一旦你准备好了数据,你就可以额外的行动,包括:
- 模型-通过你的数据自动模型来帮助你建立一个模型!
- 图表-使用各种图表显示数据。
- 过程-将数据准备步骤保存为RapidMiner进程,以便以后重用。
- 历史-检查数据准备的历史记录,回滚到较早的步骤,并进行更改。
- 出口-将数据保存到文件中,或保存在RapidMiner存储库中。
在RapidMiner Studio中,Turbo Prep显示为一个视图,紧挨着设计视图、结果视图和自动模型。
示例:在汇总表中显示结果
接下来,我们将把Turbo Prep应用到泰坦尼克号的数据集上。注意,它是不我们打算为模型构建准备数据。清理泰坦尼克号数据集的问题在汽车模型;Turbo Prep可以通过同样的方式清理数据清洗
>汽车清洗
.
参见视频介绍到使用Turbo Prep进行数据清理。
我们的目的是创建一个单一的数据表,捕获与生存相关的基本因素。我们假设结果来自汽车模型文档是已知的。特别是,我们知道泰坦尼克号上的生存取决于以下因素:
- 性
- 乘客类
- 年龄
Auto Model使得在一个上下文环境中研究这些因素成为可能交互模型.现在我们想用Turbo Prep在a中展示我们的结果汇总表.
因为性别在泰坦尼克号上决定生存的其他因素中占主导地位,因为我们想了解乘客等级和年龄等不太重要的因素的作用,我们将数据分成两部分,男性和女性,并分别研究每个部分,最后再组合数据。
目标是创建如下形式的表,其中包括男性和女性乘客。
泰坦尼克号上女乘客的存活率
年龄 | 1类 | 二级 | 第三类 |
---|---|---|---|
0 - 9 | 0.0 | 1.0 | 0.51 |
10 - 19 | 1.0 | 0.92 | 0.55 |
为20 - 29 | 0.96 | 0.86 | 0.46 |
- 39 | 0.97 | 0.90 | 0.42 |
40至49 | 1.0 | 0.91 | 0.25 |
50-59 | 0.95 | 0.83 | |
60 - 69 | 0.87 | 0.0 | 1.0 |
70 - 79 | 1.0 |
要开始,请选择涡轮预科
通过按下RapidMiner Studio顶部的按钮来查看。
加载数据
启动Turbo Prep后,第一步是从一个存储库中选择一个数据集。
点击
加载数据
.从存储库中选择Titanic数据集,在
样品
>数据
.(如果数据不在存储库中,请选择导入数据
在屏幕的顶部。)点击
加载数据
再一次。您的数据集现在出现在屏幕的左侧。
注意,一旦加载了Titanic数据集,就会有一个上下文(右键单击)菜单,其中包含许多选项。
例如,你可以选择图表
带有图表样式颜色直方图
,并将“幸存”作为“性别”的函数来绘制,以了解男性和女性存活率的差异:
新闻取消
离开图表视图并返回到数据视图。
生成
在Data视图的顶部,选择名为生成
.这类函数的目的是基于现有的数据列生成新的数据列。例如,泰坦尼克号的数据集包括两列,分别是“船上没有兄弟姐妹或配偶”和“船上没有父母或子女”。如果您正在设计新功能,您可能会添加这两个专栏来生成一个名为“船上亲属编号”的新专栏。
生成“幸存”的数值
在当前的分析中,我们检查的是存活率,因此基于“存活”生成一个新的列是很有用的,但是用数值1和0代替“Yes”和“No”,这样我们就可以更容易地计算平均值和其他统计数据。我们为新列指定一个名称(“survived_value”),并在公式编辑器中构建一个函数,将“Yes”转换为1,将“No”转换为0。注意,左边列表中的列名可以拖到公式编辑器中,右边的函数文档可用。
如果((存活)= = " Yes ", 1, 0)
点击更新预览
要查看结果列,和提交生成
保存结果。“幸存”列现在是多余的,可以删除(变换
>删除
),但这是不必要的。
注意:通过函数也可以得到类似的结果变换
>取代
(“是”替换为1,“否”替换为0),结合函数变换
>变化类型
(“更改为数字”)。在本例中,不创建新的数据列,并且将原始数据列“幸存”从分类转换为数字。
为“Age”数据生成箱子
我们之前说过,我们要了解“乘客等级”和“年龄”对生存的影响。为了使数据更适合汇总表,我们将乘客分为0-9岁、10-19岁、20-29岁等年龄组。为此,我们再次单击生成
,给出一个列名(“age_category”),并在公式编辑器中构建一个函数。请注意,地板上是一个舍入函数,因此在20-29范围内的任何数字都会舍入到20。
10 *楼([年龄]/ 10)
点击更新预览
要查看结果列,和提交生成
保存结果。
注意:通过函数也可以得到类似的结果清洗
>离散化
,通过为“Age”列中的数据创建8个等宽的箱子,因为范围跨越0-80年。在本例中,不创建新的数据列,将原始数据列“Age”从数值转换为分类,值为{range1, range2,…range8}。
复制数据
我们要为泰坦尼克数据集创建两个副本,并将它们命名为“Titanic_male”和“Titanic_female”。
在Data视图中,右键单击Titanic数据集,然后选择
复制
菜单上的。右键单击副本,然后选择
重命名
菜单上的。将副本命名为“Titanic_female”。重复步骤(1)和(2)创建“Titanic_male”
现在data视图中显示了三个相同的数据集。要创建男性和女性数据集,我们需要转换数据。
变换
在Data视图的顶部,选择名为变换
.对于名为“Titanic_female”的数据集,我们的目的是保留所有与女性乘客相关的数据,丢弃所有与男性乘客相关的数据。
点击名为“性别”的数据栏。
选择
过滤器
从左边的函数列表中。选择“equals”作为关系,选择“Female”作为值。点击应用
.点击
提交转换
.
完成对“Titanic_female”的变换后,重复对“Titanic_male”的操作,使用Filter函数中的值“Male”。
主
参见视频介绍到使用Turbo Prep进行数据旋转。
在Data视图的顶部,选择名为主
.数据透视表是汇总数据表。通常,行和列由原始数据集中的类别组成,而单个单元格包含数字数据,通常以属于这些类别的所有数据点的总和(例如,“总销售额”)或平均值(例如,“存活率”)的形式。
使用Turbo Prep,创建数据透视表很容易:从左侧拖动列名,并将其放到三个框之一:
group by
-您在这里选择的数据类别将成为数据透视表中的行。列分组
-此处选择的数据类别将成为数据透视表中的列。聚合
-您在这里选择的数字数据通常将被求和或平均。
对每个数据集“Titanic_female”和“Titanic_male”执行以下步骤:
拖拽"survived_value"到
聚合
.第一个版本的数据透视表由一个值组成,即所有雌性(雄性)的存活率。将“乘客级别”拖到
列分组
.透视表现在有3个单元格,每个乘客级别都有一个存活率。拖拽“age_category”到
group by
.数据透视表现在包括几个类别中每个类别中女性(男性)的存活率,并根据年龄(行)和类别(列)进行排序。
在我们的示例中,存活率是通过对数据透视表中的每个单元格取“survived_value”的平均值来计算的,但是请注意,您可以右键单击“survived_value”并选择不同的统计数据,例如“sum”(获得幸存的乘客数量)或“count”(获得乘客总数)。
创建完数据透视表后,单击提交主
.
结果
检查“Titanic_female”和“Titanic_male”的两个数据透视表,我们可以得出一些结论:
在女性乘客中,头等舱和二等舱的生还几率明显高于三等舱(90%对50%)。
在男性乘客中,头等舱乘客的存活率明显高于二等或三等舱乘客(35%比15%)。
三等舱的男乘客实际上是更有可能比二等人活得更久,除非他们是小孩子。
年龄在40岁以上的乘客不太可能要比年轻乘客存活下来,头等舱和二等舱的女性除外。
女性乘客的存活率在上面的表.
泰坦尼克号上男性乘客的存活率
年龄 | 1类 | 二级 | 第三类 |
---|---|---|---|
0 - 9 | 1.0 | 1.0 | 0.37 |
10 - 19 | 0.42 | 0.06 | 0.08 |
为20 - 29 | 0.44 | 0.09 | 0.19 |
- 39 | 0.41 | 0.09 | 0.17 |
40至49 | 0.32 | 0.05 | 0.06 |
50-59 | 0.28 | 0.0 | 0.0 |
60 - 69 | 0.07 | 0.16 | 0.0 |
70 - 79 | 0.0 | 0.0 | 0.0 |
80 - 89 | 1.0 |
合并
参见视频介绍与Turbo Prep合并数据。
现在我们想要合并两个数据透视表,“Titanic_female”和“Titanic_male”。不幸的是,这两个数据透视表具有几乎相同的结构,只有数据集的名称才能明确哪些数据是男性数据,哪些是女性数据。为了避免丢失重要信息,我们将(变换
>重命名
)将3个乘客等级改为“Titanic_female”中的{female1, female2, female3}和“Titanic_male”中的{male1, male2, male3}。
然后我们创建一个名为“Titanic_merged”的新数据透视表。
右键单击“Titanic_female”并选择
复制
.右键单击副本并选择
重命名
.将新数据集命名为“Titanic_merged”。
在Data视图的顶部,选择名为合并
.“加入是每一行数据都可以用一个唯一的“键”来标识;当两个数据集中的两行具有相同的键时,它们的数据将被合并。当一个键在一个数据集中出现,而在另一个数据集中没有出现时,就会出现问题。然后,您必须决定是否应该将该数据包含在合并表中。
方法 | 将数据包含在合并表中… |
---|---|
内连接 | …只有当键在两个数据集中都出现时 |
左连接 | …仅当键出现在第一个数据集中时 |
正确的连接 | …仅当键出现在第二个数据集中时 |
外连接 | …如果键出现在任一数据集中(所有数据) |
在我们的示例中,“连接键”是“age_category”的值,但是“Titanic_male”包含一个80岁以上的乘客,而“Titanic_female”中没有这样的乘客。对于内连接或左连接,我们将丢失这些数据;要包含它,必须选择右连接或外连接。包含所有数据的最可靠的方法是使用外部连接。
- 合并-“Titanic_male”,因为我们的起点是“Titanic_female”
- 合并类型-“外连接”,所以没有数据丢失
- 连接键——“age_category”
点击提交合并
.注意,“Titanic_merged”包含了缺少“age_category”的行。你可以通过点击“age_category”来删除它们,后面跟着变换
>过滤器
>“没有丢失”。
额外行动(⋯)
还剩下什么要做?我们已经成功地生成了泰坦尼克号上存活率的数据透视表,测量了“性别”、“乘客等级”和“年龄”的影响,结果现在包含在一个表中。
数据视图右上方的附加操作菜单(⋯)给出了一些提示。
出口
您可以将最终的数据透视表保存到文件或RapidMiner存储库中。支持的文件格式包括Excel (.xlsx)、CSV (. CSV)和Qlik (.qvx)。
历史
您可以检查数据准备的历史记录,回滚到较早的步骤,并进行更改。
模型
这与我们当前的示例无关,但是如果我们已经为模型构建准备了数据,那么下一步可能是将其传递给汽车模型.
过程
这与我们当前的示例无关,但是如果每周生成一次新版本的数据集,我们可以通过将工作保存为RapidMiner进程来生成每周汇总表,然后将新数据集提供给该进程。
图表
您可以使用各种图表来显示数据。