Ticket #1356 (closed bug: fixed)

Opened 8 months ago

Last modified 6 months ago

"nan is not in list" for neural.py after normalization with std 0

Reported by: andreykurenkov Owned by: Ales Erjavec <ales.erjavec@…>
Milestone: Next 2.x Component: library
Severity: minor Keywords: neural,net,exception
Cc: Blocking:
Blocked By:


This happens for Orange version 2.0b (20:41:48, Jan 24 2014).

This error appears to happen after normalizing the input to a neural net where one of the input features has a constant value, and therefore a standard deviation of zero. This is an example of such a dataset:  http://archive.ics.uci.edu/ml/datasets/Australian+Sign+Language+signs+(High+Quality).

Traceback (most recent call last):

File "learner.py", line 9, in testSuccess

val = classifier(example)

File "/usr/local/lib/python2.7/dist-packages/Orange/classification/neural.py", line 304, in call

mt_value = Orange.data.Value(self.domain.class_var, cprob.values().index(max(cprob)))

ValueError: nan is not in list

Change History

comment:1 Changed 7 months ago by has207

The link to the dataset seems broken (missing final paren):


Andrey, did you by chance come up with a workaround? I'm having the same issue and would really like NeuralNet classifier working on my dataset..

Btw, I'm on the latest 2.7 snapshot.

Last edited 7 months ago by has207 (previous) (diff)

comment:3 Changed 6 months ago by Ales Erjavec <ales.erjavec@…>

  • Status changed from new to closed
  • Owner set to Ales Erjavec <ales.erjavec@…>
  • Resolution set to fixed

In [9cb115c8df89a98afc5811315399d73139ea59ef/orange]:

Prevent division by zero in NeuralNetworkLearner/Classifier.

(fixes #1356)

Note: See TracTickets for help on using tickets.