如何使用Rapidminer测试testset?

时间:2013-04-08 11:36:43

标签: performance evaluation rapidminer

我正在使用Rapidminer进行分析。我在几个模型上使用交叉验证来获得最佳工作模型。现在我想使用这个模型来测试我使用Split Data来估算性能的单独测试集。

如何使用测试集?据我所知,所有验证模块都使用模型制作的训练集。我可以使用哪种性能指标来获取模型和我的测试集?

1 个答案:

答案 0 :(得分:3)

使用“Apply Model”运算符,将模型作为第一个输入,将测试集作为第二个输入。此运算符将返回标记数据集,该数据集是您的数据输入,具有一些其他特殊属性,例如预测和信心。 “性能”运算符需要此属性来衡量应用于测试集的模型的性能。

以下是一个使用“Samples”存储库中的训练和测试集的小例子。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.007">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.3.007" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="retrieve" compatibility="5.3.007" expanded="true" height="60" name="Golf" width="90" x="45" y="30">
        <parameter key="repository_entry" value="//Samples/data/Golf"/>
      </operator>
      <operator activated="true" class="decision_tree" compatibility="5.3.007" expanded="true" height="76" name="Decision Tree" width="90" x="179" y="30"/>
      <operator activated="true" class="retrieve" compatibility="5.3.007" expanded="true" height="60" name="Golf-Testset" width="90" x="179" y="120">
        <parameter key="repository_entry" value="//Samples/data/Golf-Testset"/>
      </operator>
      <operator activated="true" breakpoints="before,after" class="apply_model" compatibility="5.3.007" expanded="true" height="76" name="Apply Model" width="90" x="313" y="30">
        <list key="application_parameters"/>
      </operator>
      <operator activated="true" class="performance" compatibility="5.3.007" expanded="true" height="76" name="Performance" width="90" x="447" y="30"/>
      <connect from_op="Golf" from_port="output" to_op="Decision Tree" to_port="training set"/>
      <connect from_op="Decision Tree" from_port="model" to_op="Apply Model" to_port="model"/>
      <connect from_op="Golf-Testset" from_port="output" to_op="Apply Model" to_port="unlabelled data"/>
      <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
      <connect from_op="Performance" from_port="performance" 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>