【问题标题】:Missing predicted label in performance evaluation of test data在测试数据的性能评估中缺少预测标签
【发布时间】:2018-11-25 16:07:42
【问题描述】:

我已经使用 neural set 运算符训练了一个模型,现在我想应用该模型并评估它在测试数据上的性能(没有标签属性)。为此,我使用了 apply model 运算符,它的第一个输入是我经过训练的建模数据的输出,其中包含(预测值和置信度值),apply model 运算符的第二个输入是我的未标记测试数据,以供参考( How to test on testset using Rapidminer?)。下面是我原始模型执行前的截图:

当我执行该过程时,它会抛出,输入示例集必须有特殊的属性标签,看下面的截图:

当我点击帮我解决问题的链接时,它会在我设置标签属性的地方添加设置角色运算符,执行后它会显示缺少预测的标签属性

更新: 请参阅下面的 XML:

<?xml version="1.0" encoding="UTF-8"?><process version="8.2.000">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="8.2.000" expanded="true" name="Process">
<process expanded="true">
  <operator activated="true" class="retrieve" compatibility="8.2.000" expanded="true" height="68" name="Retrieve" width="90" x="246" y="34">
    <parameter key="repository_entry" value="../data/neural"/>
  </operator>
  <operator activated="true" class="set_role" compatibility="8.2.000" expanded="true" height="82" name="Set Role (2)" width="90" x="380" y="34">
    <parameter key="attribute_name" value="Elective1"/>
    <parameter key="target_role" value="label"/>
    <list key="set_additional_roles"/>
  </operator>
  <operator activated="true" class="nominal_to_numerical" compatibility="8.2.000" expanded="true" height="103" name="Nominal to Numerical" width="90" x="514" y="34">
    <list key="comparison_groups"/>
  </operator>
  <operator activated="true" class="neural_net" compatibility="8.2.000" expanded="true" height="82" name="Neural Net" width="90" x="648" y="34">
    <list key="hidden_layers"/>
  </operator>
  <operator activated="true" class="retrieve" compatibility="8.2.000" expanded="true" height="68" name="Retrieve (2)" width="90" x="246" y="136">
    <parameter key="repository_entry" value="../data/testing neural"/>
  </operator>
  <operator activated="true" class="apply_model" compatibility="8.2.000" expanded="true" height="82" name="Apply Model (2)" width="90" x="447" y="187">
    <list key="application_parameters"/>
  </operator>
  <operator activated="true" class="apply_model" compatibility="8.2.000" expanded="true" height="82" name="Apply Model" width="90" x="648" y="187">
    <list key="application_parameters"/>
  </operator>
  <operator activated="true" class="set_role" compatibility="8.2.000" expanded="true" height="82" name="Set Role" width="90" x="916" y="85">
    <parameter key="attribute_name" value="prediction(Elective1)"/>
    <parameter key="target_role" value="label"/>
    <list key="set_additional_roles"/>
  </operator>
  <operator activated="true" class="performance" compatibility="8.2.000" expanded="true" height="82" name="Performance" width="90" x="1184" y="136"/>
  <connect from_op="Retrieve" from_port="output" to_op="Set Role (2)" to_port="example set input"/>
  <connect from_op="Set Role (2)" from_port="example set output" to_op="Nominal to Numerical" to_port="example set input"/>
  <connect from_op="Nominal to Numerical" from_port="example set output" to_op="Neural Net" to_port="training set"/>
  <connect from_op="Nominal to Numerical" from_port="preprocessing model" to_op="Apply Model (2)" to_port="model"/>
  <connect from_op="Neural Net" from_port="model" to_op="Apply Model" to_port="model"/>
  <connect from_op="Retrieve (2)" from_port="output" to_op="Apply Model (2)" to_port="unlabelled data"/>
  <connect from_op="Apply Model (2)" from_port="labelled data" to_op="Apply Model" to_port="unlabelled data"/>
  <connect from_op="Apply Model" from_port="labelled data" to_op="Set Role" to_port="example set input"/>
  <connect from_op="Set Role" from_port="example set output" 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>

有什么建议吗??

【问题讨论】:

  • 您好,您的流程设置看起来是正确的,我没有发现明显的错误。您能否分享一下性能操作员的输入。它应该有一个“标签”类型和“预测”类型的属性。
  • 嗨,我有一个属性在性能运算符之前使用 set role 运算符设置为 label,如果我已经使用 set role 运算符将属性设置为 label,如何将其设置为类型预测?
  • 简要情况是,我在“retrieve”运算符中有数据,其中包含 4 列中的数据,第 4 个是 label 类型,而在“retrieve2”运算符中,我有相同 3 列的数据,不包括我需要预测的第四个。
  • 我在更新部分也添加了 XML
  • 你修好了吗?我也有同样的问题。

标签: performance machine-learning neural-network classification rapidminer


【解决方案1】:

据我所知,您不需要两个“应用模型”运算符。 . . 尝试使用 one 应用模型并将测试数据连接到 unl 并将训练数据连接到 mod

【讨论】:

  • 进程设置正确。他正在将“Nominal to Numerical”算子的预处理模型应用于测试集。这是正确的,因此对两个数据集应用了相同的转换。
猜你喜欢
  • 2017-08-23
  • 2015-06-18
  • 1970-01-01
  • 2015-10-26
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 2018-12-06
  • 1970-01-01
相关资源
最近更新 更多