Options

"The process inside loop operator gathered different results from outside loop"

yasinkayayasinkaya Member Posts: 10 Contributor II
edited June 2019 in Help
I used loop parameters and macro operator to test the effect of NN hidden layer size to classification accuracy. Loop operator produced all the results and I learned optimum hidden layer size.

When I set up  the same parameters in different process, it achieved different results from loop operator's results.

My data  201x7000 matrix. it contains 200 real atribute, one class label, 7000 sample.

For example this process saves all results for NN whose hidden layer sizes: 2,4,6,8,10,12,14,16,18,20.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="6.4.000">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="6.0.002" expanded="true" name="Process">
   <parameter key="notification_email" value=""/>
   <process expanded="true">
     <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve" width="90" x="45" y="30">
       <parameter key="repository_entry" value="../data/Veri_7000_N_V_200Nokta"/>
     </operator>
     <operator activated="true" class="loop_parameters" compatibility="6.4.000" expanded="true" height="76" name="Loop Parameters" width="90" x="380" y="30">
       <list key="parameters">
         <parameter key="Set Macro.value" value="2,4,6,8,10,12,14,16,18,20"/>
       </list>
       <process expanded="true">
         <operator activated="true" class="set_macro" compatibility="6.4.000" expanded="true" height="76" name="Set Macro" width="90" x="179" y="75">
           <parameter key="macro" value="ilk"/>
           <parameter key="value" value="18"/>
         </operator>
         <operator activated="true" class="x_validation" compatibility="6.4.000" expanded="true" height="112" name="Validation" width="90" x="380" y="75">
           <parameter key="sampling_type" value="stratified sampling"/>
           <process expanded="true">
             <operator activated="true" class="neural_net" compatibility="6.4.000" expanded="true" height="76" name="Neural Net" width="90" x="45" y="30">
               <list key="hidden_layers">
                 <parameter key="hiddenlayer" value="%{ilk}"/>
               </list>
             </operator>
             <connect from_port="training" to_op="Neural Net" to_port="training set"/>
             <connect from_op="Neural Net" 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="6.4.000" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30">
               <list key="application_parameters"/>
             </operator>
             <operator activated="true" class="performance_binominal_classification" compatibility="6.4.000" expanded="true" height="76" name="Performance" width="90" x="179" y="30">
               <parameter key="f_measure" value="true"/>
               <parameter key="sensitivity" value="true"/>
               <parameter key="specificity" value="true"/>
             </operator>
             <operator activated="true" class="log" compatibility="6.4.000" expanded="true" height="76" name="Log (2)" width="90" x="313" y="30">
               <parameter key="filename" value=""/>
               <list key="log">
                 <parameter key="Accuracy" value="operator.Performance.value.accuracy"/>
                 <parameter key="Sensitivity" value="operator.Performance.value.sensitivity"/>
                 <parameter key="Specificity" value="operator.Performance.value.specificity"/>
                 <parameter key="F1" value="operator.Performance.value.f_measure"/>
                 <parameter key="MacroParameter" value="operator.Set Macro.parameter.value"/>
                 <parameter key="LoopTime" value="operator.Performance.value.looptime"/>
               </list>
             </operator>
             <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_op="Log (2)" to_port="through 1"/>
             <connect from_op="Log (2)" from_port="through 1" 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>
         <operator activated="true" class="log" compatibility="6.4.000" expanded="true" height="76" name="Log" width="90" x="648" y="75">
           <list key="log">
             <parameter key="Validation Süre - Eğitim" value="operator.Validation.value.execution-time"/>
             <parameter key="Accuracy" value="operator.Validation.value.performance"/>
             <parameter key="hiddenlayersize" value="operator.Set Macro.parameter.value"/>
           </list>
         </operator>
         <connect from_port="input 1" to_op="Set Macro" to_port="through 1"/>
         <connect from_op="Set Macro" from_port="through 1" to_op="Validation" to_port="training"/>
         <connect from_op="Validation" from_port="averagable 1" to_op="Log" to_port="through 1"/>
         <connect from_op="Log" from_port="through 1" to_port="performance"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="source_input 2" spacing="0"/>
         <portSpacing port="sink_performance" spacing="0"/>
         <portSpacing port="sink_result 1" spacing="0"/>
         <portSpacing port="sink_result 2" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Retrieve" from_port="output" to_op="Loop Parameters" to_port="input 1"/>
     <connect from_op="Loop Parameters" from_port="result 1" 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>
this process saves only one results for NN whose hidden layer sizes is 10. but it is different from prevus results. All parameters and input data are the same.
What is the problem?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="6.4.000">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="6.0.002" expanded="true" name="Process">
   <parameter key="notification_email" value="yasin@ktu.edu.tr"/>
   <process expanded="true">
     <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve" width="90" x="45" y="30">
       <parameter key="repository_entry" value="../data/Veri_7000_N_V_200Nokta"/>
     </operator>
     <operator activated="true" class="x_validation" compatibility="6.4.000" expanded="true" height="112" name="Validation" width="90" x="447" y="30">
       <parameter key="sampling_type" value="stratified sampling"/>
       <process expanded="true">
         <operator activated="true" class="neural_net" compatibility="6.4.000" expanded="true" height="76" name="Neural Net" width="90" x="112" y="30">
           <list key="hidden_layers">
             <parameter key="HiddenLayer" value="10"/>
           </list>
         </operator>
         <connect from_port="training" to_op="Neural Net" to_port="training set"/>
         <connect from_op="Neural Net" 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="6.4.000" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30">
           <list key="application_parameters"/>
         </operator>
         <operator activated="true" class="performance_binominal_classification" compatibility="6.4.000" expanded="true" height="76" name="Performance" width="90" x="179" y="30">
           <parameter key="precision" value="true"/>
           <parameter key="recall" value="true"/>
           <parameter key="f_measure" value="true"/>
           <parameter key="sensitivity" value="true"/>
           <parameter key="specificity" value="true"/>
           <parameter key="positive_predictive_value" value="true"/>
         </operator>
         <operator activated="true" class="log" compatibility="6.4.000" expanded="true" height="76" name="Log (2)" width="90" x="313" y="30">
           <parameter key="filename" value=""/>
           <list key="log">
             <parameter key="Validation Süre - Eğitim" value="operator.Validation.value.looptime"/>
             <parameter key="Accuracy" value="operator.Performance.value.accuracy"/>
             <parameter key="Sensitivity" value="operator.Performance.value.sensitivity"/>
             <parameter key="Specificity" value="operator.Performance.value.specificity"/>
             <parameter key="F" value="operator.Performance.value.f_measure"/>
           </list>
         </operator>
         <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_op="Log (2)" to_port="through 1"/>
         <connect from_op="Log (2)" from_port="through 1" 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>
     <operator activated="true" class="log" compatibility="6.4.000" expanded="true" height="76" name="Log" width="90" x="715" y="75">
       <list key="log">
         <parameter key="Validation Süre - Eğitim" value="operator.Validation.value.execution-time"/>
         <parameter key="Accuracy" value="operator.Validation.value.performance"/>
       </list>
     </operator>
     <connect from_op="Retrieve" from_port="output" to_op="Validation" to_port="training"/>
     <connect from_op="Validation" from_port="model" to_port="result 1"/>
     <connect from_op="Validation" from_port="averagable 1" to_op="Log" to_port="through 1"/>
     <connect from_op="Log" from_port="through 1" to_port="result 2"/>
     <portSpacing port="source_input 1" spacing="0"/>
     <portSpacing port="sink_result 1" spacing="0"/>
     <portSpacing port="sink_result 2" spacing="0"/>
     <portSpacing port="sink_result 3" spacing="0"/>
   </process>
 </operator>
</process>
Sign In or Register to comment.