multi label modeling operator - use several models

LeMarc
LeMarc New Altair Community Member
edited November 2024 in Community Q&A
Hi,
the goal is to apply several models for/within the multi label modeling operator. Therefore I use the Loop Parameters Operator within the Multi Label Modeling Operator. However it doesnt work. Below is the process with the titanic data set. Does anyone have another suggestion? Thanks!


<process version="9.7.000">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="9.7.000" expanded="true" name="Process">
    <parameter key="logverbosity" value="init"/>
    <parameter key="random_seed" value="2001"/>
    <parameter key="send_mail" value="never"/>
    <parameter key="notification_email" value=""/>
    <parameter key="process_duration_for_mail" value="30"/>
    <parameter key="encoding" value="SYSTEM"/>
    <process expanded="true">
      <operator activated="true" class="retrieve" compatibility="9.7.000" expanded="true" height="68" name="Retrieve Titanic Training" width="90" x="45" y="34">
        <parameter key="repository_entry" value="//Samples/data/Titanic Training"/>
      </operator>
      <operator activated="true" class="set_role" compatibility="9.7.000" expanded="true" height="82" name="Set Role" width="90" x="179" y="34">
        <parameter key="attribute_name" value="Survived"/>
        <parameter key="target_role" value="Survived"/>
        <list key="set_additional_roles">
          <parameter key="Passenger Class" value="Passenger Class"/>
        </list>
      </operator>
      <operator activated="true" class="time_series:multi_label_model_learner" compatibility="9.7.000" expanded="true" height="103" name="Multi Label Modeling" width="90" x="313" y="34">
        <parameter key="attribute_filter_type" value="subset"/>
        <parameter key="attribute" value=""/>
        <parameter key="attributes" value="Survived|Passenger Class"/>
        <parameter key="use_except_expression" value="false"/>
        <parameter key="value_type" value="attribute_value"/>
        <parameter key="use_value_type_exception" value="false"/>
        <parameter key="except_value_type" value="time"/>
        <parameter key="block_type" value="attribute_block"/>
        <parameter key="use_block_type_exception" value="false"/>
        <parameter key="except_block_type" value="value_matrix_row_start"/>
        <parameter key="invert_selection" value="false"/>
        <parameter key="include_special_attributes" value="true"/>
        <parameter key="add_macros" value="false"/>
        <parameter key="current_label_name_macro" value="current_label_attribute"/>
        <parameter key="current_label_type_macro" value="current_label_type"/>
        <parameter key="enable_parallel_execution" value="true"/>
        <process expanded="true">
          <operator activated="true" class="concurrency:loop_parameters" compatibility="9.7.000" expanded="true" height="103" name="Loop Parameters" width="90" x="313" y="34">
            <list key="parameters">
              <parameter key="Select Subprocess.select_which" value="[1.0;2;2;linear]"/>
            </list>
            <parameter key="error_handling" value="fail on error"/>
            <parameter key="log_performance" value="true"/>
            <parameter key="log_all_criteria" value="false"/>
            <parameter key="synchronize" value="false"/>
            <parameter key="enable_parallel_execution" value="true"/>
            <process expanded="true">
              <operator activated="true" class="select_subprocess" compatibility="9.7.000" expanded="true" height="103" name="Select Subprocess" width="90" x="313" y="34">
                <parameter key="select_which" value="1"/>
                <process expanded="true">
                  <operator activated="true" class="concurrency:cross_validation" compatibility="9.7.000" expanded="true" height="145" name="Cross Validation" width="90" x="179" y="34">
                    <parameter key="split_on_batch_attribute" value="false"/>
                    <parameter key="leave_one_out" value="false"/>
                    <parameter key="number_of_folds" value="10"/>
                    <parameter key="sampling_type" value="automatic"/>
                    <parameter key="use_local_random_seed" value="false"/>
                    <parameter key="local_random_seed" value="1992"/>
                    <parameter key="enable_parallel_execution" value="true"/>
                    <process expanded="true">
                      <operator activated="true" class="concurrency:parallel_random_forest" compatibility="9.7.000" expanded="true" height="103" name="Random Forest" width="90" x="112" y="34">
                        <parameter key="number_of_trees" value="100"/>
                        <parameter key="criterion" value="gain_ratio"/>
                        <parameter key="maximal_depth" value="10"/>
                        <parameter key="apply_pruning" value="false"/>
                        <parameter key="confidence" value="0.1"/>
                        <parameter key="apply_prepruning" value="false"/>
                        <parameter key="minimal_gain" value="0.01"/>
                        <parameter key="minimal_leaf_size" value="2"/>
                        <parameter key="minimal_size_for_split" value="4"/>
                        <parameter key="number_of_prepruning_alternatives" value="3"/>
                        <parameter key="random_splits" value="false"/>
                        <parameter key="guess_subset_ratio" value="true"/>
                        <parameter key="subset_ratio" value="0.2"/>
                        <parameter key="voting_strategy" value="confidence vote"/>
                        <parameter key="use_local_random_seed" value="false"/>
                        <parameter key="local_random_seed" value="1992"/>
                        <parameter key="enable_parallel_execution" value="true"/>
                      </operator>
                      <connect from_port="training set" to_op="Random Forest" to_port="training set"/>
                      <connect from_op="Random Forest" from_port="model" to_port="model"/>
                      <portSpacing port="source_training set" 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="9.7.000" expanded="true" height="82" name="Apply Model" width="90" x="112" y="34">
                        <list key="application_parameters"/>
                        <parameter key="create_view" value="false"/>
                      </operator>
                      <operator activated="true" class="performance_classification" compatibility="9.7.000" expanded="true" height="82" name="Performance" width="90" x="246" y="34">
                        <parameter key="main_criterion" value="first"/>
                        <parameter key="accuracy" value="true"/>
                        <parameter key="classification_error" value="false"/>
                        <parameter key="kappa" value="false"/>
                        <parameter key="weighted_mean_recall" value="false"/>
                        <parameter key="weighted_mean_precision" value="false"/>
                        <parameter key="spearman_rho" value="false"/>
                        <parameter key="kendall_tau" value="false"/>
                        <parameter key="absolute_error" value="false"/>
                        <parameter key="relative_error" value="false"/>
                        <parameter key="relative_error_lenient" value="false"/>
                        <parameter key="relative_error_strict" value="false"/>
                        <parameter key="normalized_absolute_error" value="false"/>
                        <parameter key="root_mean_squared_error" value="false"/>
                        <parameter key="root_relative_squared_error" value="false"/>
                        <parameter key="squared_error" value="false"/>
                        <parameter key="correlation" value="false"/>
                        <parameter key="squared_correlation" value="false"/>
                        <parameter key="cross-entropy" value="false"/>
                        <parameter key="margin" value="false"/>
                        <parameter key="soft_margin_loss" value="false"/>
                        <parameter key="logistic_loss" value="false"/>
                        <parameter key="skip_undefined_labels" value="true"/>
                        <parameter key="use_example_weights" 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="performance 1"/>
                      <portSpacing port="source_model" spacing="0"/>
                      <portSpacing port="source_test set" spacing="0"/>
                      <portSpacing port="source_through 1" spacing="0"/>
                      <portSpacing port="sink_test set results" spacing="0"/>
                      <portSpacing port="sink_performance 1" spacing="0"/>
                      <portSpacing port="sink_performance 2" spacing="0"/>
                    </process>
                  </operator>
                  <connect from_port="input 1" to_op="Cross Validation" to_port="example set"/>
                  <connect from_op="Cross Validation" from_port="model" to_port="output 1"/>
                  <connect from_op="Cross Validation" from_port="performance 1" to_port="output 2"/>
                  <portSpacing port="source_input 1" spacing="0"/>
                  <portSpacing port="source_input 2" spacing="0"/>
                  <portSpacing port="sink_output 1" spacing="0"/>
                  <portSpacing port="sink_output 2" spacing="0"/>
                  <portSpacing port="sink_output 3" spacing="0"/>
                </process>
                <process expanded="true">
                  <operator activated="true" class="concurrency:cross_validation" compatibility="9.7.000" expanded="true" height="145" name="Cross Validation (2)" width="90" x="179" y="34">
                    <parameter key="split_on_batch_attribute" value="false"/>
                    <parameter key="leave_one_out" value="false"/>
                    <parameter key="number_of_folds" value="10"/>
                    <parameter key="sampling_type" value="automatic"/>
                    <parameter key="use_local_random_seed" value="false"/>
                    <parameter key="local_random_seed" value="1992"/>
                    <parameter key="enable_parallel_execution" value="true"/>
                    <process expanded="true">
                      <operator activated="true" class="naive_bayes" compatibility="9.7.000" expanded="true" height="82" name="Naive Bayes" width="90" x="112" y="34">
                        <parameter key="laplace_correction" value="true"/>
                      </operator>
                      <connect from_port="training set" to_op="Naive Bayes" to_port="training set"/>
                      <connect from_op="Naive Bayes" from_port="model" to_port="model"/>
                      <portSpacing port="source_training set" 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="9.7.000" expanded="true" height="82" name="Apply Model (2)" width="90" x="112" y="34">
                        <list key="application_parameters"/>
                        <parameter key="create_view" value="false"/>
                      </operator>
                      <operator activated="true" class="performance_classification" compatibility="9.7.000" expanded="true" height="82" name="Performance (2)" width="90" x="246" y="34">
                        <parameter key="main_criterion" value="first"/>
                        <parameter key="accuracy" value="true"/>
                        <parameter key="classification_error" value="false"/>
                        <parameter key="kappa" value="false"/>
                        <parameter key="weighted_mean_recall" value="false"/>
                        <parameter key="weighted_mean_precision" value="false"/>
                        <parameter key="spearman_rho" value="false"/>
                        <parameter key="kendall_tau" value="false"/>
                        <parameter key="absolute_error" value="false"/>
                        <parameter key="relative_error" value="false"/>
                        <parameter key="relative_error_lenient" value="false"/>
                        <parameter key="relative_error_strict" value="false"/>
                        <parameter key="normalized_absolute_error" value="false"/>
                        <parameter key="root_mean_squared_error" value="false"/>
                        <parameter key="root_relative_squared_error" value="false"/>
                        <parameter key="squared_error" value="false"/>
                        <parameter key="correlation" value="false"/>
                        <parameter key="squared_correlation" value="false"/>
                        <parameter key="cross-entropy" value="false"/>
                        <parameter key="margin" value="false"/>
                        <parameter key="soft_margin_loss" value="false"/>
                        <parameter key="logistic_loss" value="false"/>
                        <parameter key="skip_undefined_labels" value="true"/>
                        <parameter key="use_example_weights" value="true"/>
                        <list key="class_weights"/>
                      </operator>
                      <connect from_port="model" to_op="Apply Model (2)" to_port="model"/>
                      <connect from_port="test set" to_op="Apply Model (2)" to_port="unlabelled data"/>
                      <connect from_op="Apply Model (2)" from_port="labelled data" to_op="Performance (2)" to_port="labelled data"/>
                      <connect from_op="Performance (2)" from_port="performance" to_port="performance 1"/>
                      <portSpacing port="source_model" spacing="0"/>
                      <portSpacing port="source_test set" spacing="0"/>
                      <portSpacing port="source_through 1" spacing="0"/>
                      <portSpacing port="sink_test set results" spacing="0"/>
                      <portSpacing port="sink_performance 1" spacing="0"/>
                      <portSpacing port="sink_performance 2" spacing="0"/>
                    </process>
                  </operator>
                  <connect from_port="input 1" to_op="Cross Validation (2)" to_port="example set"/>
                  <connect from_op="Cross Validation (2)" from_port="model" to_port="output 1"/>
                  <connect from_op="Cross Validation (2)" from_port="performance 1" to_port="output 2"/>
                  <portSpacing port="source_input 1" spacing="0"/>
                  <portSpacing port="source_input 2" spacing="0"/>
                  <portSpacing port="sink_output 1" spacing="0"/>
                  <portSpacing port="sink_output 2" spacing="0"/>
                  <portSpacing port="sink_output 3" spacing="0"/>
                </process>
              </operator>
              <connect from_port="input 1" to_op="Select Subprocess" to_port="input 1"/>
              <connect from_op="Select Subprocess" from_port="output 1" to_port="output 1"/>
              <connect from_op="Select Subprocess" from_port="output 2" 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_output 1" spacing="0"/>
              <portSpacing port="sink_output 2" spacing="0"/>
              <portSpacing port="sink_output 3" spacing="0"/>
            </process>
          </operator>
          <connect from_port="training set" to_op="Loop Parameters" to_port="input 1"/>
          <connect from_op="Loop Parameters" from_port="output 1" to_port="model"/>
          <connect from_op="Loop Parameters" from_port="output 2" to_port="output 1"/>
          <portSpacing port="source_training set" spacing="0"/>
          <portSpacing port="source_input 1" spacing="0"/>
          <portSpacing port="sink_model" spacing="0"/>
          <portSpacing port="sink_output 1" spacing="0"/>
          <portSpacing port="sink_output 2" spacing="0"/>
        </process>
      </operator>
      <connect from_op="Retrieve Titanic Training" from_port="output" to_op="Set Role" to_port="example set input"/>
      <connect from_op="Set Role" from_port="example set output" to_op="Multi Label Modeling" to_port="training set"/>
      <connect from_op="Multi Label Modeling" from_port="model" to_port="result 1"/>
      <connect from_op="Multi Label Modeling" from_port="output 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>




Tagged:

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answers

Answers

  • LeMarc
    LeMarc New Altair Community Member
    edited July 2020
    @hbajpai yes im trying to use several models inside the multi label modeling operator. I want the models to run at the same time. Therefore the output of the MLM Operator should be several models for each selected label. [RF & NB model for "survived ; RF & NB model for "passenger class"]
    In your approach only one single model will be the output depending on which model you select. 
  • LeMarc
    LeMarc New Altair Community Member
    edited July 2020
    Using the Optimize Parameters Grid works. Thank you!
     
    thanks @hbajpai for the hint, that the output of the MLM Operator will select automatically the best model.

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.