The Altair Community is migrating to a new platform to provide a better experience for you. The RapidMiner Community will merge with the Altair Community at the same time. In preparation for the migration, both communities are on read-only mode from July 15th - July 24th, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here.
Options

Problem with mapping nominal -

andyknownasabuandyknownasabu Member Posts: 3 Contributor I
edited August 2019 in Help
Dear all,

I'm still struggling with the feature evaluation processing chain also described in my post from yesterday:
<?xml version="1.0" encoding="US-ASCII"?>
<process version="4.3">

  <operator name="Root" class="Process" expanded="yes">
      <operator name="Data Source" class="ArffExampleSource">
          <parameter key="data_file"    value="all_subjects.arff"/>
          <parameter key="id_attribute" value="id"/>
          <parameter key="label_attribute"      value="label"/>
      </operator>
      <operator name="YAGGA2" class="YAGGA2" expanded="yes">
          <parameter key="use_diff"    value="true"/>
          <parameter key="use_max"      value="true"/>
          <parameter key="use_min"      value="true"/>
          <parameter key="use_sin"      value="false"/>
          <parameter key="use_square_roots"    value="true"/>
          <operator name="SimpleValidation" class="SimpleValidation" expanded="yes">
              <parameter key="create_complete_model"    value="true"/>
              <operator name="OperatorChain" class="OperatorChain" expanded="yes">
                  <operator name="Mapping" class="Mapping">
                  </operator>
                  <operator name="LibSVMLearner" class="LibSVMLearner" breakpoints="before">
                      <parameter key="calculate_confidences"    value="true"/>
                      <parameter key="svm_type" value="epsilon-SVR"/>
                  </operator>
              </operator>
              <operator name="Applier Chain" class="OperatorChain" expanded="yes">
                  <operator name="Test" class="ModelApplier">
                      <list key="application_parameters">
                      </list>
                      <parameter key="keep_model"      value="true"/>
                  </operator>
                  <operator name="ClassificationPerformance" class="ClassificationPerformance">
                      <parameter key="keep_example_set" value="true"/>
                      <parameter key="root_mean_squared_error"  value="true"/>
                      <parameter key="root_relative_squared_error"      value="true"/>
                      <parameter key="weighted_mean_precision"  value="true"/>
                      <parameter key="weighted_mean_recall"    value="true"/>
                  </operator>
              </operator>
          </operator>
          <operator name="ProcessLog" class="ProcessLog">
              <parameter key="filename" value="process_log.txt"/>
              <list key="log">
                <parameter key="Generation"    value="operator.YAGGA2.value.generation"/>
                <parameter key="Recall" value="operator.ClassificationPerformance.value.weighted_mean_recall"/>
                <parameter key="Precision"      value="operator.ClassificationPerformance.value.weighted_mean_precision"/>
              </list>
          </operator>
      </operator>
      <operator name="AttributeWeightsWriter" class="AttributeWeightsWriter">
          <parameter key="attribute_weights_file"      value="svm/attribute.wgt"/>
      </operator>
      <operator name="PerformanceWriter" class="PerformanceWriter">
          <parameter key="performance_file"    value="svm/performance.per"/>
      </operator>
      <operator name="AttributeConstructionsWriter" class="AttributeConstructionsWriter">
          <parameter key="attribute_constructions_file" value="svm/attribute.att"/>
      </operator>
  </operator>

</process>
With NaiveBayes or Decision Trees this scheme works fine (despite the error message, see my post from yesterday), however, with LibSVMLearner I run into a problem: This operator requires numerical attributes while ClassificationPerformance requires nominal ones. That's why I added this Mapping operator.

My questions are: 1) Is this the right way to solve this problem? and 2) How do I configure the Mapping operator to map my nominal labels to values 1..n?

Thanks a lot in advance!
Tagged:

Answers

  • Options
    steffensteffen Member Posts: 347 Maven
    Hello

    With NaiveBayes or Decision Trees this scheme works fine (despite the error message, see my post from yesterday), however, with LibSVMLearner I run into a problem: This operator requires numerical attributes while ClassificationPerformance requires nominal ones. That's why I added this Mapping operator.
    You have to select a mode capable for classification. The description says (select operator and press F1)

    This operator supports the SVM types C-SVC and nu-SVC for classification tasks and epsilon-SVR and nu-SVR for regression tasks
    So I would try another mode :).

    In general it is no good idea to transform a classification task (nominal label) into a regression task (numerical label) without justification by domain knowledge

    regards,

    Steffen
  • Options
    martynsmartyns Member Posts: 15 Maven
    Unless of course, it works consistently in which case you could start looking for ways to explain more about the domain given that fact.

    ???
  • Options
    steffensteffen Member Posts: 347 Maven
    Yes ... if this consistent behaviour does not happen by chance ... and is not what me and my colleagues call an "artifact", an event reflecting the properties of the involved formulas, not the reality :)
Sign In or Register to comment.