您正在查看的是RapidMiner Studio 9.0 -版本文档查看最新版本
涡轮预科
数据准备耗时较长。您已经以多种格式从多个来源收集了数据,现在您想知道:我如何将所有碎片组合在一起?我如何决定什么是重要的?我如何以别人能理解的方式展示我的成果?
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显示为一个视图,位于Design视图、Results视图和Auto Model旁边。
示例:在汇总表中显示结果
在接下来的内容中,我们将把Turbo Prep应用于泰坦尼克号数据集。注意它是不我们的目的是为建立模型准备数据。清理泰坦尼克号数据集的问题将在汽车模型;Turbo Prep可以通过相同的方式清洗数据清洗
>汽车清洗
.
另请参阅视频介绍到使用Turbo Prep进行数据清理。
我们的目的是创建一个单一的数据表,捕捉与生存相关的基本因素。我们假设结果来自汽车模型文档是已知的。特别是,我们知道在泰坦尼克号上的生存取决于以下因素:
- 性
- 乘客类
- 年龄
自动模型使得研究这些因素成为可能交互模型.现在我们想用Turbo Prep来展示我们的结果汇总表.
因为性别在决定泰坦尼克号上生存的其他因素中占主导地位,而且因为我们想了解乘客等级和年龄等不那么重要的因素的作用,我们将把数据分成男性和女性两部分,分别研究每一部分,然后在最后重新组合数据。
目标是创建如下表单的表,包括男性和女性乘客。
泰坦尼克号上女性乘客的存活率
年龄 | 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数据集,它就有一个上下文(右键单击)菜单,其中有许多选项。
例如,你可以选择图表
图表样式颜色直方图
,并绘制“幸存”作为“性别”的函数,以查看男性和女性存活率的差异:
新闻取消
离开Chart视图并返回Data视图。
生成
在Data视图的顶部,选择名为生成
.这类函数的目的是基于现有的数据列生成新的数据列。例如,泰坦尼克号数据集包括“船上兄弟姐妹或配偶人数”和“船上父母或子女人数”两列。如果您正在设计新功能,则可以添加这两列以生成名为“No of Relatives Onboard”的新列。
为“幸存”生成数值
在当前的分析中,我们正在检查存活率,因此根据“幸存”生成一个新列将是有用的,但数值为1和0而不是“是”和“否”,这样我们就可以更容易地计算平均值和其他统计数据。我们为新列指定一个名称(“survived_value”),并在公式编辑器中构建一个函数,将“Yes”转换为1,将“No”转换为0。请注意,左边列表中的列名可以拖到公式编辑器中,右边有函数文档。
如果((存活)= = " Yes ", 1, 0)
点击更新预览
要查看结果列,和提交生成
保存结果。“幸存”列现在是多余的,可以删除(变换
>删除
),但这是不必要的。
注意:通过函数也可以实现类似的结果变换
>取代
(将“Yes”替换为1,“No”替换为0),结合函数变换
>变化类型
(“更改编号”)。在这种情况下,不会创建新的数据列,原始数据列“幸存”将从分类转换为数值。
为“Age”数据生成箱子
我们之前说过,我们想了解“乘客等级”和“年龄”对生存的影响。为了使数据更适合汇总表,我们将乘客分为年龄组——0-9岁、10-19岁、20-29岁等。为此,我们再次单击生成
,给出一个列名(“age_category”),并在公式编辑器中构建一个函数。请注意,地板上是一个舍入函数,因此20-29范围内的任何数字都舍入到20。
10 *楼层([年龄]/ 10)
点击更新预览
要查看结果列,和提交生成
保存结果。
注意:通过函数也可以实现类似的结果清洗
>离散化
,通过为“年龄”列中的数据创建8个等宽的容器,因为范围为0-80岁。在这种情况下,没有创建新的数据列,原始数据列“Age”从数值转换为类别,其值为{range1, range2,…range8}。
复制数据
我们想要制作两个泰坦尼克数据集的副本,分别称为“泰坦尼克男性”和“泰坦尼克女性”。
在Data视图中,右键单击Titanic数据集,然后选择
复制
菜单上的。右键单击副本,然后选择
重命名
菜单上的。将副本命名为“Titanic_female”。重复步骤(1)和(2)创建“Titanic_male”
现在data视图中显示了三个相同的数据集。要创建男性和女性数据集,我们需要转换数据。
变换
在Data视图的顶部,选择名为变换
.对于名为“Titanic_female”的数据集,我们的目的是保留所有与女性乘客相关的数据,丢弃所有与男性乘客相关的数据。
点击名为“Sex”的数据列。
选择
过滤器
从左边的函数列表中。关系选择“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% vs 50%)。
在男性乘客中,头等舱乘客的生还几率明显高于二等舱或三等舱乘客(35% vs 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”。不幸的是,两个数据透视表具有几乎相同的结构,只有数据集的名称才能清楚地表明哪些数据是男性数据,哪些数据是女性数据。为避免丢失重要信息,我们将(变换
>重命名
)“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流程来生成每周汇总表,然后将新数据集提供给该流程。
图表
您可以使用各种图表来显示您的数据。