我在RapidMiner中创建了一个利用一些循环的流程。我不确定我的Store Model操作符应该连接到哪里,以便将通过此过程派生的模型参数保存到新进程中。
附带的示例将我的数据替换为一些示例数据,但是其余的过程就是我对实际数据集的所有过程。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.012">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.3.012" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="retrieve" compatibility="5.3.012" expanded="true" height="60" name="Retrieve Sonar" width="90" x="45" y="30">
<parameter key="repository_entry" value="//Samples/data/Sonar"/>
</operator>
<operator activated="true" class="numerical_to_binominal" compatibility="5.3.012" expanded="true" height="76" name="Numerical to Binominal" width="90" x="179" y="30">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="20_OV_COVER"/>
</operator>
<operator activated="true" class="set_role" compatibility="5.3.012" expanded="true" height="76" name="Set Role" width="90" x="45" y="120">
<parameter key="attribute_name" value="class"/>
<parameter key="target_role" value="label"/>
<list key="set_additional_roles"/>
</operator>
<operator activated="true" class="normalize" compatibility="5.3.012" expanded="true" height="94" name="Normalize" width="90" x="179" y="120"/>
<operator activated="true" class="nominal_to_numerical" compatibility="5.3.012" expanded="true" height="94" name="Nominal to Numerical (2)" width="90" x="45" y="210">
<list key="comparison_groups"/>
</operator>
<operator activated="true" class="replace_missing_values" compatibility="5.3.012" expanded="true" height="94" name="Replace Missing Values" width="90" x="179" y="210">
<list key="columns"/>
</operator>
<operator activated="true" class="independent_component_analysis" compatibility="5.3.012" expanded="true" height="94" name="ICA" width="90" x="313" y="210">
<parameter key="number_of_components" value="700"/>
</operator>
<operator activated="true" class="optimize_selection_forward" compatibility="5.3.012" expanded="true" height="94" name="Forward Selection" width="90" x="514" y="75">
<parameter key="maximal_number_of_attributes" value="100"/>
<parameter key="speculative_rounds" value="10"/>
<process expanded="true">
<operator activated="true" class="x_validation" compatibility="5.3.012" expanded="true" height="112" name="Validation" width="90" x="112" y="30">
<parameter key="number_of_validations" value="5"/>
<process expanded="true">
<operator activated="true" class="naive_bayes" compatibility="5.3.012" expanded="true" height="76" name="Naive Bayes" width="90" x="112" y="30"/>
<connect from_port="training" to_op="Naive Bayes" to_port="training set"/>
<connect from_op="Naive Bayes" from_port="model" to_port="model"/>
<portSpacing port="source_training" spacing="0"/>
<portSpacing port="sink_model" spacing="0"/>
<portSpacing port="sink_through 1" spacing="0"/>
</process>
<process expanded="true">
<operator activated="true" class="apply_model" compatibility="5.3.012" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30">
<list key="application_parameters"/>
</operator>
<operator activated="true" class="performance" compatibility="5.3.012" expanded="true" height="76" name="Performance" width="90" x="276" y="30"/>
<connect from_port="model" to_op="Apply Model" to_port="model"/>
<connect from_port="test set" 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="averagable 1"/>
<portSpacing port="source_model" spacing="0"/>
<portSpacing port="source_test set" spacing="0"/>
<portSpacing port="source_through 1" spacing="0"/>
<portSpacing port="sink_averagable 1" spacing="0"/>
<portSpacing port="sink_averagable 2" spacing="0"/>
</process>
</operator>
<connect from_port="example set" to_op="Validation" to_port="training"/>
<connect from_op="Validation" from_port="averagable 1" to_port="performance"/>
<portSpacing port="source_example set" spacing="0"/>
<portSpacing port="sink_performance" spacing="0"/>
</process>
</operator>
<connect from_op="Retrieve Sonar" from_port="output" to_op="Numerical to Binominal" to_port="example set input"/>
<connect from_op="Numerical to Binominal" from_port="example set output" to_op="Set Role" to_port="example set input"/>
<connect from_op="Set Role" from_port="example set output" to_op="Normalize" to_port="example set input"/>
<connect from_op="Normalize" from_port="example set output" to_op="Nominal to Numerical (2)" to_port="example set input"/>
<connect from_op="Nominal to Numerical (2)" from_port="example set output" to_op="Replace Missing Values" to_port="example set input"/>
<connect from_op="Replace Missing Values" from_port="example set output" to_op="ICA" to_port="example set input"/>
<connect from_op="ICA" from_port="example set output" to_op="Forward Selection" to_port="example set"/>
<connect from_op="ICA" from_port="original" to_port="result 1"/>
<connect from_op="ICA" from_port="preprocessing model" to_port="result 2"/>
<connect from_op="Forward Selection" from_port="example set" to_port="result 3"/>
<connect from_op="Forward Selection" from_port="attribute weights" to_port="result 4"/>
<connect from_op="Forward Selection" from_port="performance" to_port="result 5"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="18"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
<portSpacing port="sink_result 5" spacing="0"/>
<portSpacing port="sink_result 6" spacing="0"/>
</process>
</operator>
</process>
答案 0 :(得分:0)
前向选择操作符输出一组权重,这些权重可用于选择操作员为获得最佳性能而找到的属性。因此,要做的第一件事是使用这些权重和Select by Weight运算符来给出用于构建模型的示例集。
从那里你可以简单地重建模型,在远程选择操作符之外设置此示例。如果您还希望估计未见数据的性能,可以对所有数据使用验证块,但如果没有,那么只需使用模型运算符就可以创建所需的模型。
当我尝试它时,我得到的估计性能与前向选择运算符产生的性能不同,因为验证块中的分区由于不同的随机数种子而不同。前向选择中的验证块也是基于10个数据分区构建的10个模型的平均性能的情况。这10个模型可能都不同,因此没有一个真正的模型可以保存。
希望有所帮助。
问候
安德鲁