过滤掉Rapidminer中的“最新”示例记录

时间:2017-04-03 20:33:55

标签: rapidminer

我正在尝试在rapidminer中过滤一组示例商业属性。许多属性都是重复的,因为属性事务历史记录包含在数据表中,并且许多属性在数据表期间被多次出售。我想要做的是过滤掉每个属性的最新事务。

我无法弄清楚如何使用最近的交易日期过滤除记录以外的所有记录。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

您应该发布一个独立的可重现示例,其中包含数据以显示您到目前为止所尝试的内容。

如果没有这个,一般的建议可能就是这些。使用Aggregate运算符查找给定属性的最大日期,然后使用Join运算符将原始示例集内连接到包含最大值的示例集。

以下是使用可能适用于您的情况的Iris数据集的玩具示例。

<?xml version="1.0" encoding="UTF-8"?><process version="7.4.000">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="7.4.000" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="retrieve" compatibility="7.4.000" expanded="true" height="68" name="Retrieve Iris" width="90" x="112" y="187">
        <parameter key="repository_entry" value="//Samples/data/Iris"/>
      </operator>
      <operator activated="true" class="aggregate" compatibility="7.4.000" expanded="true" height="82" name="Aggregate" width="90" x="313" y="187">
        <list key="aggregation_attributes">
          <parameter key="a1" value="maximum"/>
        </list>
        <parameter key="group_by_attributes" value="label"/>
      </operator>
      <operator activated="true" class="join" compatibility="7.4.000" expanded="true" height="82" name="Join" width="90" x="514" y="187">
        <parameter key="use_id_attribute_as_key" value="false"/>
        <list key="key_attributes">
          <parameter key="label" value="label"/>
          <parameter key="a1" value="maximum(a1)"/>
        </list>
      </operator>
      <connect from_op="Retrieve Iris" from_port="output" to_op="Aggregate" to_port="example set input"/>
      <connect from_op="Aggregate" from_port="example set output" to_op="Join" to_port="right"/>
      <connect from_op="Aggregate" from_port="original" to_op="Join" to_port="left"/>
      <connect from_op="Join" from_port="join" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>