"Neural Net ..... getting a positive Outcome"

CorrelationCorrelation Member Posts: 7 Contributor II
edited May 23 in Help
Hi Everybody,

I'm running a simple X validation with a neural net trainer, and apply model and performance testing.
It's reading 5 columns of data and I'm comparing it against a simple 1,0 label.
I want the neural net to predict the outcome of 1 but it returns the 0 with no predictions of 1.

I have used another neural net program and it was the same until I added in a non-linear neuron ?
Is this possible to do in rapid miner.

Thanks in advance.

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,525   Unicorn
    Hi,
    of course, just insert a hidden layer, it will be non linear. The type of the outcome neuron will be determined by the type of task: Linear for regression tasks, non-linear for classification. So I would check, if you 0/1 labeling is misinterpreted as numerical attribute resulting in a regression task.

    Greetings,
      Sebastian
  • CorrelationCorrelation Member Posts: 7 Contributor II
    Hi Sebastian,

    Thanks very much, Do I need to insert a hidden layer for both outcomes 1, 0 ?
    Also on a side issue how can i output a performance table to Excel.
    I've tried write excel but i cant find how to assign the performance table result.
    I've tried write performance but that doesn't output to excel format.

    Regards Correlation
  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,525   Unicorn
    Hi,
    you can use the Reporting Extension to write tables into Excel. You have to add an Generate Report Operator first, specify excel format and then add Report operators for each result that should be added to the excel sheet.

    Greetings,
      Sebastian
  • CorrelationCorrelation Member Posts: 7 Contributor II
    Hi,  I'm still having problems with the 0/1 label in non linear classification mode.
    I've tried adding a hidden label ( not sure if I've done this right )
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.0">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="5.0.10" expanded="true" name="Process">
        <process expanded="true" height="-20" width="-50">
          <operator activated="true" class="retrieve" compatibility="5.0.10" expanded="true" height="60" name="Retrieve" width="90" x="42" y="59">
            <parameter key="repository_entry" value="//MyRepository/Learning Data/Marketing Sales"/>
          </operator>
          <operator activated="true" class="x_validation" compatibility="5.0.10" expanded="true" height="112" name="Validation" width="90" x="242" y="63">
            <process expanded="true" height="435" width="325">
              <operator activated="true" class="neural_net" compatibility="5.0.10" expanded="true" height="76" name="Neural Net" width="90" x="75" y="40">
                <list key="hidden_layers">
                  <parameter key="null" value="-1"/>
                </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" height="435" width="325">
              <operator activated="true" class="apply_model" compatibility="5.0.10" expanded="true" height="76" name="Apply Model" width="90" x="24" y="34">
                <list key="application_parameters"/>
              </operator>
              <operator activated="true" class="performance" compatibility="5.0.10" expanded="true" height="76" name="Performance" width="90" x="154" y="46"/>
              <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" 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="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>
    I'm looking for a result like I can get using Bayes with the performance of 1 and 0

    Thanks for any help.
  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,525   Unicorn
    Hi,
    what exactly are you trying to do? I don't understand what you mean by "using bayes with the performance of 1 and 0". Bayes? Performance?

    Greetings,
      Sebastian
  • CorrelationCorrelation Member Posts: 7 Contributor II
    Hi Sebastian,

    I have a database of 5 columns and a label column.
    The 5 columns contain various marketing data and the label column is filled with only 1 and 0 indicating a sale or not.
    When I run a bayes model and look at the results from the performance table, I get some results labelled as 0 and some results labelled as 1
    This is exactly what i'm after.

    But if I change the learning engines to say neural net .....  most of the time I only get a result against the 0 data.
    You hinted earlier that the 1 and 0 information could be being misread and being labelled as regression rather than classification.
    Is there anyway I can avoid this.

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,525   Unicorn
    Hi,
    if NaiveBayes works on the exactly same example set, it's not the problem, since NaiveBayes does not support numerical labels.
    But such results are not too surprising if your data is biased or the problem cannot be solved with the algorithm you use.

    Greetings,
      Sebastian
Sign In or Register to comment.