类别

版本

您正在查看9.2 -版本的RapidMiner Studio文档点击这里查看最新版本

样本(分层)(RapidMiner Studio Core)

剧情简介

这个操作符从一个ExampleSet创建一个分层样本。分层抽样构建随机子集,并确保子集中的类分布与整个ExampleSet中的类分布相同。此运算符不能应用于没有标签或带有数字标签的数据集。样品的尺寸可按绝对尺寸和相对尺寸指定。

描述

分层抽样构建随机子集,并确保子集中的类分布与整个ExampleSet中的类分布相同。例如,在二项分类的情况下,分层抽样构建随机子集,使每个子集包含大致相同的两个类值的比例标签

当一个ExampleSet中有不同的类时,对每个类进行独立采样有时是有利的。分层是在抽样前将ExampleSet的示例划分为同质子组(即类)的过程。子组应该是互斥的,也就是说,ExampleSet中的每个例子必须只分配给一个子组(或类)。子组也应该是全面的,即不能排除任何例子。然后在每个子组内进行随机抽样。这通常通过减少抽样误差来提高样本的代表性。

使用分层抽样的一个实际例子是政治调查。如果受访者需要反映人口的多样性,研究人员将特别寻求包括各种少数群体的参与者,如种族或宗教,根据他们的比例总人口如上所述。因此,分层调查可以声称比简单随机抽样或系统抽样的调查更能代表人口。

与简单抽样算子(样本算子)相反,该算子对具有标称标签属性的数据集进行分层抽样,即抽样后的类分布(几乎)保持不变。因此,此运算符不能应用于没有标签或带有数字标签的数据集。在这些情况下,应通过样本操作员进行简单的抽样,而不进行分层。

这个操作符在原则上类似于Filter Examples操作符,它接受一个ExampleSet作为输入,并提供一个ExampleSet的子集作为输出。不同之处在于Filter Examples操作符根据指定的条件过滤示例。但样本算子关注的是样本的数量和类分布。而且样本是随机生成的。样本中的样例数量可以根据的设置,以绝对和相对的方式指定样本参数。

输入

  • 示例集输入(IOObject)

    这个输入端口需要一个ExampleSet。它是附带的示例过程中的过滤器示例操作符的输出。

输出

  • 示例集输出(IOObject)

    输入ExampleSet的随机样本是该端口的输出。样本的类分布(几乎)与完整的ExampleSet的类分布相同。

  • 原始(IOObject)

    作为输入给出的ExampleSet不会通过该端口更改为输出。这通常用于在进一步的操作符中重用相同的ExampleSet,或者在结果工作区中查看ExampleSet。

参数

  • 样本此参数决定如何指定数据量。
    • absolute:如果sample参数被设置为'absolute',那么样本是由精确指定数量的例子创建的。所需的示例数在样本量参数中指定。
    • 相对的:如果样本参数设置为“相对的”,那么样本将作为输入ExampleSet中样本总数的一部分创建。所需的样本比例在样本比率参数中指定。
    选择范围:
  • sample_size此参数指定应该采样的示例的确切数量。此参数仅在样本参数设置为'absolute'。范围:整数
  • sample_ratio此参数指定应该采样的示例的比例。此参数仅在样本参数设置为“相对”。范围:真正的
  • use_local_random_seed该参数表示a局部随机种子应该用于随机化样本的例子。使用相同的值局部随机种子会产生相同的样品。改变这个参数的值改变了样本随机化的方式,因此样本将有一组不同的样本。范围:布尔
  • local_random_seed此参数指定局部随机种子。此参数仅在使用当地的随机种子参数设置为true。范围:整数

教程的过程

高尔夫数据集的分层抽样

使用Retrieve操作符加载'Golf'数据集。对其应用Filter Example Range操作符以选择前10个示例。这样做是为了简化示例过程,否则这里不需要过滤。这里插入了一个断点,以便您可以在应用Sample (Stratified)操作符之前查看ExampleSet。如您所见,ExampleSet有10个示例。6个例子(即60%)属于“是”类,4个例子(即40%)属于“否”类。Sample (Stratified)操作符应用于ExampleSet。样本参数设置为“绝对”,样本大小参数设置为5。因此,最终的样本将只有5个例子。样本将具有与输入ExampleSet的类分布相同的类分布,即60%的示例类为“yes”,40%的示例类为“no”。 You can verify this by viewing the results of this process. 3 out of 5 examples (i.e. 60%) have class 'yes' and 2 out of 5 examples (i.e. 40%) have class 'no'.