Options

Rapidminer run slowly

Riyadh_SabryRiyadh_Sabry Member Posts: 8 Contributor II
edited November 2018 in Help
Hi All

when i using  Rapidminer for optimization a problems, its run for some time faster and then slowly and finally stopped without complete all generation that i wanted. therefor the problem didn't optimized, and the performance very bad.
any help???

my PC specification
RAM:32G
CPU: i7-3820
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.2.006">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="5.2.006" expanded="true" name="Process">
   <process expanded="true" height="650" width="748">
     <operator activated="true" class="retrieve" compatibility="5.2.006" expanded="true" height="60" name="Retrieve" width="90" x="13" y="106">
       <parameter key="repository_entry" value="../Gene Expression DataSet/LungCancer"/>
     </operator>
     <operator activated="true" class="normalize" compatibility="5.2.006" expanded="true" height="94" name="Normalize" width="90" x="246" y="120">
       <parameter key="method" value="range transformation"/>
     </operator>
     <operator activated="true" class="parallel:optimize_selection_evolutionary_parallel" compatibility="5.1.000" expanded="true" height="94" name="Optimize Selection (Evolutionary)" width="90" x="581" y="165">
       <parameter key="restrict_maximum" value="true"/>
       <parameter key="min_number_of_attributes" value="2"/>
       <parameter key="max_number_of_attributes" value="10"/>
       <parameter key="population_size" value="30"/>
       <parameter key="maximum_number_of_generations" value="10"/>
       <parameter key="generations_without_improval" value="5"/>
       <parameter key="keep_best_individual" value="true"/>
       <parameter key="p_mutation" value="0.1"/>
       <parameter key="number_of_threads" value="3"/>
       <parameter key="parallelize_evaluation_process" value="true"/>
       <process expanded="true" height="632" width="570">
         <operator activated="true" class="extract_macro" compatibility="5.2.006" expanded="true" height="60" name="Extract Macro" width="90" x="45" y="30">
           <parameter key="macro" value="atts"/>
           <parameter key="macro_type" value="number_of_attributes"/>
         </operator>
         <operator activated="true" class="loop_attribute_subsets" compatibility="5.2.006" expanded="true" height="60" name="Loop Subsets" width="90" x="180" y="30">
           <parameter key="use_exact_number" value="true"/>
           <parameter key="exact_number_of_attributes" value="%{atts}"/>
           <process expanded="true">
             <portSpacing port="source_example set" spacing="0"/>
           </process>
         </operator>
         <operator activated="true" class="parallel:optimize_parameters_evolutionary_parallel" compatibility="5.1.000" expanded="true" height="112" name="Optimize Parameters (Evolutionary)" width="90" x="313" y="30">
           <list key="parameters">
             <parameter key="SVM.degree" value="[1.0;1000.0]"/>
             <parameter key="SVM.gamma" value="[0.001;50.0]"/>
             <parameter key="SVM.coef0" value="[0;100]"/>
             <parameter key="SVM.C" value="[0.01;1000.0]"/>
           </list>
           <parameter key="generations_without_improval" value="5"/>
           <parameter key="population_size" value="120"/>
           <parameter key="mutation_type" value="switching_mutation"/>
           <parameter key="number_of_threads" value="5"/>
           <parameter key="parallelize_optimization_process" value="true"/>
           <process expanded="true" height="650" width="300">
             <operator activated="true" class="free_memory" compatibility="5.2.006" expanded="true" height="76" name="Free Memory" width="90" x="45" y="30"/>
             <operator activated="true" class="optimize_parameters_grid" compatibility="5.2.006" expanded="true" height="94" name="Optimize Parameters (Grid)" width="90" x="180" y="30">
               <list key="parameters">
                 <parameter key="SVM.kernel_type" value="linear,rbf,poly,sigmoid"/>
               </list>
               <parameter key="parallelize_optimization_process" value="true"/>
               <process expanded="true" height="650" width="547">
                 <operator activated="true" class="x_validation" compatibility="5.2.006" expanded="true" height="112" name="Validation" width="90" x="313" y="75">
                   <parameter key="sampling_type" value="shuffled sampling"/>
                   <parameter key="use_local_random_seed" value="true"/>
                   <process expanded="true" height="650" width="304">
                     <operator activated="true" class="support_vector_machine_libsvm" compatibility="5.2.006" expanded="true" height="76" name="SVM" width="90" x="184" y="30">
                       <parameter key="kernel_type" value="poly"/>
                       <parameter key="degree" value="6"/>
                       <parameter key="gamma" value="37.72802935994529"/>
                       <parameter key="coef0" value="2.637011248736243"/>
                       <parameter key="C" value="119.2946119514599"/>
                       <list key="class_weights"/>
                       <parameter key="calculate_confidences" value="true"/>
                     </operator>
                     <connect from_port="training" to_op="SVM" to_port="training set"/>
                     <connect from_op="SVM" 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" height="650" width="482">
                     <operator activated="true" class="apply_model" compatibility="5.2.006" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30">
                       <list key="application_parameters"/>
                     </operator>
                     <operator activated="true" class="performance_classification" compatibility="5.2.006" expanded="true" height="76" name="Performance" width="90" x="179" y="30">
                       <parameter key="main_criterion" value="accuracy"/>
                       <parameter key="classification_error" value="true"/>
                       <list key="class_weights"/>
                     </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_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="5.2.006" expanded="true" height="76" name="Outer" width="90" x="447" y="75">
                   <list key="log">
                     <parameter key="SVM.C" value="operator.SVM.parameter.C"/>
                     <parameter key="SVM.GAMMA" value="operator.SVM.parameter.gamma"/>
                     <parameter key="SVM.DEGREE" value="operator.SVM.parameter.degree"/>
                     <parameter key="SVM.COEF" value="operator.SVM.parameter.coef0"/>
                     <parameter key="KERNEL.TYPE" value="operator.SVM.parameter.kernel_type"/>
                     <parameter key="PERFORMANCE" value="operator.Performance.value.performance"/>
                     <parameter key="LOOP.FATURESUBSET.NO" value="operator.Loop Subsets.value.feature_number"/>
                     <parameter key="LOOP.FEATURESUBSET.NAME" value="operator.Loop Subsets.value.feature_names"/>
                     <parameter key="Valid.perf" value="operator.Validation.value.performance"/>
                   </list>
                 </operator>
                 <connect from_port="input 1" to_op="Validation" to_port="training"/>
                 <connect from_op="Validation" from_port="averagable 1" to_op="Outer" to_port="through 1"/>
                 <connect from_op="Outer" 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"/>
               </process>
             </operator>
             <connect from_port="input 1" to_op="Free Memory" to_port="through 1"/>
             <connect from_op="Free Memory" from_port="through 1" to_op="Optimize Parameters (Grid)" to_port="input 1"/>
             <connect from_op="Optimize Parameters (Grid)" from_port="performance" to_port="performance"/>
             <connect from_op="Optimize Parameters (Grid)" from_port="parameter" to_port="result 1"/>
             <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_port="example set" to_op="Extract Macro" to_port="example set"/>
         <connect from_op="Extract Macro" from_port="example set" to_op="Loop Subsets" to_port="example set"/>
         <connect from_op="Loop Subsets" from_port="example set" to_op="Optimize Parameters (Evolutionary)" to_port="input 1"/>
         <connect from_op="Optimize Parameters (Evolutionary)" from_port="performance" to_port="performance"/>
         <portSpacing port="source_example set" spacing="0"/>
         <portSpacing port="source_through 1" spacing="0"/>
         <portSpacing port="sink_performance" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Retrieve" from_port="output" to_op="Normalize" to_port="example set input"/>
     <connect from_op="Normalize" from_port="example set output" to_op="Optimize Selection (Evolutionary)" to_port="example set in"/>
     <connect from_op="Optimize Selection (Evolutionary)" from_port="example set out" to_port="result 1"/>
     <connect from_op="Optimize Selection (Evolutionary)" from_port="weights" to_port="result 2"/>
     <connect from_op="Optimize Selection (Evolutionary)" from_port="performance" to_port="result 3"/>
     <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"/>
     <portSpacing port="sink_result 4" spacing="0"/>
   </process>
 </operator>
</process>

Answers

  • Options
    MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    Hi Riyadh,

    we have to admit the the Parallel extension sometimes has some hickups and needs a major revamp. Please try to run your process without the parallelization features.

    Furthermore you are using an evolutionary parameter optimization for an SVM. For some parameter settings the SVM becomes very slow (e.g. large C). With the evolutionary optimization you have no control over the parameter values, which means that "slow" parameters could be introduced and probably survive for some generations. In that case your process could become very slow. So in case of the SVM you should consider to you Optimize Parameters (Grid) instead of the evolutionary variant.

    Best, Marius
  • Options
    Riyadh_SabryRiyadh_Sabry Member Posts: 8 Contributor II
    thanks Marius
Sign In or Register to comment.