Options

multiclass classification performance error?

ThisGuyThisGuy Member Posts: 1 Newbie
Hi, all. Performed a fairly straightforward classification by regression problem with SVM, and got a multiclass classification performance error.  Problem is part of a grad class, so it's a shared, known problem set with a known outcome.  At least others are not experiencing it, but I've received the errors on two different computers, even using the professor's XML code that worked for him.  Any one else experience this error?  Ideas on how to fix?  Code below for reference.

ERROR CONTENT: "Error executing background job 'Calculating result: multiclass_classification_perfromance': java.lang.ArrayIndexOutOfBoundsException: 0"

CODE: 
<?xml version="1.0" encoding="UTF-8"?><process version="9.10.008">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="9.10.008" 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.10.008" expanded="true" height="68" name="Retrieve Carpal_Tunnel" width="90" x="45" y="85">
        <parameter key="repository_entry" value="//HC642/Wk_10/Carpal_Tunnel"/>
      </operator>
      <operator activated="true" class="filter_examples" compatibility="9.10.008" expanded="true" height="103" name="Filter Examples" width="90" x="246" y="34">
        <parameter key="parameter_expression" value=""/>
        <parameter key="condition_class" value="custom_filters"/>
        <parameter key="invert_filter" value="false"/>
        <list key="filters_list">
          <parameter key="filters_entry_key" value="CTS state.equals.Severe"/>
          <parameter key="filters_entry_key" value="CTS state.equals.Without"/>
        </list>
        <parameter key="filters_logic_and" value="true"/>
        <parameter key="filters_check_metadata" value="true"/>
      </operator>
      <operator activated="true" class="remove_unused_values" compatibility="9.10.008" expanded="true" height="103" name="Remove Unused Values" width="90" x="380" y="34">
        <parameter key="return_preprocessing_model" value="false"/>
        <parameter key="create_view" value="false"/>
        <parameter key="attribute_filter_type" value="subset"/>
        <parameter key="attribute" value=""/>
        <parameter key="attributes" value="CTS state"/>
        <parameter key="use_except_expression" value="false"/>
        <parameter key="value_type" value="nominal"/>
        <parameter key="use_value_type_exception" value="false"/>
        <parameter key="except_value_type" value="file_path"/>
        <parameter key="block_type" value="single_value"/>
        <parameter key="use_block_type_exception" value="false"/>
        <parameter key="except_block_type" value="single_value"/>
        <parameter key="invert_selection" value="false"/>
        <parameter key="include_special_attributes" value="false"/>
        <parameter key="sort_alphabetically" value="true"/>
      </operator>
      <operator activated="true" class="select_attributes" compatibility="9.10.008" expanded="true" height="82" name="Select Attributes" width="90" x="514" y="34">
        <parameter key="attribute_filter_type" value="subset"/>
        <parameter key="attribute" value=""/>
        <parameter key="attributes" value="CTS state|Palmar Ambient temp.|Palmar Average temp.|Palmar Below index finger avg. tmp.|Palmar Below middle finger avg. tmp.|Palmar Below pinky finger avg. tmp.|Palmar Below ring finger avg. tmp.|Palmar Below thumb avg. tmp|Palmar Index finger avg. tmp.|Palmar Little finger avg. tmp|Palmar Middle finger avg. tmp.|Palmar Ring finger avg. tmp.|Palmar Thumb avg. temp.|Palmar Wrist pinky side avg. tmp.|Palmar Wrist thumb side avg. tmp."/>
        <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="false"/>
      </operator>
      <operator activated="true" class="set_role" compatibility="9.10.008" expanded="true" height="82" name="Set Role" width="90" x="648" y="34">
        <parameter key="attribute_name" value="CTS state"/>
        <parameter key="target_role" value="label"/>
        <list key="set_additional_roles"/>
      </operator>
      <operator activated="true" class="split_validation" compatibility="9.10.008" expanded="true" height="124" name="Validation" width="90" x="782" y="85">
        <parameter key="create_complete_model" value="false"/>
        <parameter key="split" value="relative"/>
        <parameter key="split_ratio" value="0.7"/>
        <parameter key="training_set_size" value="100"/>
        <parameter key="test_set_size" value="-1"/>
        <parameter key="sampling_type" value="automatic"/>
        <parameter key="use_local_random_seed" value="false"/>
        <parameter key="local_random_seed" value="1992"/>
        <process expanded="true">
          <operator activated="true" class="classification_by_regression" compatibility="9.10.008" expanded="true" height="82" name="Classification by Regression" width="90" x="112" y="34">
            <process expanded="true">
              <operator activated="true" class="support_vector_machine_evolutionary" compatibility="9.10.008" expanded="true" height="82" name="SVM (2)" width="90" x="313" y="85">
                <parameter key="kernel_type" value="radial"/>
                <parameter key="kernel_gamma" value="1.0"/>
                <parameter key="kernel_sigma1" value="1.0"/>
                <parameter key="kernel_sigma2" value="0.0"/>
                <parameter key="kernel_sigma3" value="2.0"/>
                <parameter key="kernel_degree" value="3.0"/>
                <parameter key="kernel_shift" value="1.0"/>
                <parameter key="kernel_a" value="1.0"/>
                <parameter key="kernel_b" value="0.0"/>
                <parameter key="C" value="0.0"/>
                <parameter key="epsilon" value="0.1"/>
                <parameter key="start_population_type" value="random"/>
                <parameter key="max_generations" value="10000"/>
                <parameter key="generations_without_improval" value="30"/>
                <parameter key="population_size" value="1"/>
                <parameter key="tournament_fraction" value="0.75"/>
                <parameter key="keep_best" value="true"/>
                <parameter key="mutation_type" value="gaussian_mutation"/>
                <parameter key="selection_type" value="tournament"/>
                <parameter key="crossover_prob" value="1.0"/>
                <parameter key="use_local_random_seed" value="false"/>
                <parameter key="local_random_seed" value="1992"/>
                <parameter key="hold_out_set_ratio" value="0.0"/>
                <parameter key="show_convergence_plot" value="false"/>
                <parameter key="show_population_plot" value="false"/>
                <parameter key="return_optimization_performance" value="false"/>
              </operator>
              <connect from_port="training set" to_op="SVM (2)" to_port="training set"/>
              <connect from_op="SVM (2)" from_port="model" to_port="model"/>
              <portSpacing port="source_training set" spacing="0"/>
              <portSpacing port="sink_model" spacing="0"/>
            </process>
          </operator>
          <connect from_port="training" to_op="Classification by Regression" to_port="training set"/>
          <connect from_op="Classification by Regression" 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="9.10.008" 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" compatibility="9.10.008" expanded="true" height="82" name="Performance" width="90" x="313" y="34">
            <parameter key="use_example_weights" value="true"/>
          </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>
      <connect from_op="Retrieve Carpal_Tunnel" from_port="output" to_op="Filter Examples" to_port="example set input"/>
      <connect from_op="Filter Examples" from_port="example set output" to_op="Remove Unused Values" to_port="example set input"/>
      <connect from_op="Remove Unused Values" from_port="example set output" to_op="Select Attributes" to_port="example set input"/>
      <connect from_op="Select Attributes" 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="Validation" to_port="training"/>
      <connect from_op="Validation" from_port="model" to_port="result 1"/>
      <connect from_op="Validation" from_port="training" to_port="result 2"/>
      <connect from_op="Validation" from_port="averagable 1" 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>


Best Answer

  • Options
    jwpfaujwpfau Employee, Member Posts: 280 RM Engineering
    edited June 2022 Solution Accepted
    Hi,

    thank you for the bug report.

    Your "Filters Examples" is set to "Match all" which will result in 0 examples left since the "CTS state" can't be "Severe" and "Without" at the same time.

    Either use "does not equals" to filter them out, or "Match any" to only include "Severe" and "Without" CTS states.

    Greetings,
    Jonas
Sign In or Register to comment.