NullPointerException in Weka trees

Hi,

I’ve got a problem with some trees models of Weka like NBTree and J48(Weka). When i execute a node it starts but doesn’t ends. Shortly after it starts the node produces an error: “Execute failed: NullPointerException in Weka during training. Please verify your settings.”. I changed the settings but it doesn’t works.

I thought that It could be that the dataset i’m using is very large (around 120000 samples), so i used a Row Sampling to reduces the number of instances. The trees works but i’m not sure about the cause. Does anyone have any idea?

Thanks

I have a rough idea, but you might help a bit more, if you put in the stack trace. (It is in the knime.log file, which can be found in your workspace: .metadata\knime\knime.log ; another option is to change the Console View Log Level to DEBUG in File/Preferences…/KNIME/KNIME GUI)
So my guess: you have a non-numeric column in your input data. You might have to filter those out.

A wrong colum type should usually not issue a NullPointer Exception. I would be very interested in the stacktrace, too.

Hi,

Here is the log. The information that it gives is very useful, i didn’t know about this file. I should increased the heap space. It have sense … I’m going to do it and i will tell you.

Thank you guys!

2009-04-29 09:41:25,739 ERROR KNIME-Worker-9 NBTree : Execute failed: OutOfMemoryError in Weka during training. Please verify your settings. Java heap space 2009-04-29 09:41:25,739 DEBUG KNIME-Worker-9 NBTree : Execute failed: OutOfMemoryError in Weka during training. Please verify your settings. Java heap space org.knime.core.node.InvalidSettingsException: OutOfMemoryError in Weka during training. Please verify your settings. Java heap space at org.knime.ext.weka.classifier.WekaClassifierNodeModel.execute(WekaClassifierNodeModel.java:237) at org.knime.core.node.NodeModel.executeModel(NodeModel.java:410) at org.knime.core.node.Node.execute(Node.java:653) at org.knime.core.node.workflow.SingleNodeContainer.executeNode(SingleNodeContainer.java:587) at org.knime.core.node.workflow.SingleNodeContainer.access$1(SingleNodeContainer.java:561) at org.knime.core.node.workflow.SingleNodeContainer$1.run(SingleNodeContainer.java:446) at org.knime.core.node.workflow.JobRunnable.run(JobRunnable.java:43) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:98) at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:166) 2009-04-29 09:41:25,739 DEBUG KNIME-Worker-9 NBTree : reset 2009-04-29 09:41:25,740 DEBUG KNIME-Worker-9 NBTree : clean output ports. 2009-04-29 09:41:25,740 DEBUG KNIME-Worker-9 NBTree : Configure succeeded. (NBTree) 2009-04-29 09:41:25,740 DEBUG KNIME-Worker-9 WorkflowManager : NBTree 0:4:68:65 doAfterExecute - failure 2009-04-29 09:41:25,740 DEBUG KNIME-Worker-9 NodeContainer : Weka Predictor 0:4:68:66 has new state: CONFIGURED 2009-04-29 09:41:25,740 DEBUG KNIME-Worker-9 NodeContainer : Scorer 0:4:68:67 has new state: CONFIGURED 2009-04-29 09:41:25,741 DEBUG KNIME-Worker-9 NodeContainer : NBTree 0:4:68:65 has new state: CONFIGURED 2009-04-29 09:41:25,741 DEBUG KNIME-Worker-9 Weka Predictor : Configure succeeded. (Weka Predictor) 2009-04-29 09:41:25,741 DEBUG KNIME-Worker-9 NodeContainer : Weka Predictor 0:4:68:66 has new state: CONFIGURED 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 Scorer : Configure succeeded. (Scorer) 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 NodeContainer : Scorer 0:4:68:67 has new state: CONFIGURED 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 KnimeResourceNavigator : state changed to IDLE 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 NodeContainer : MetaNode 2 : 1 0:4:68 has new state: IDLE 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 KnimeResourceNavigator : state changed to IDLE 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 NodeContainer : Workflow Manager 0:4 has new state: IDLE 2009-04-29 09:41:25,742 DEBUG KNIME-Worker-9 NodeContainer : Workflow Manager 0 has new state: IDLE 2009-04-29 09:41:25,743 DEBUG KNIME-Worker-9 NodeContainer : MetaNode 2 : 1 0:4:68 has new state: IDLE 2009-04-29 09:41:26,103 DEBUG main KnimeResourceNavigator : didn't find project name - do refresh

Well, i increased the heap space and execute again the node and this appears in the log file. The information that it gave is not much clear. I don’t know exactly what is the problem. Any idea?

Num Instances: 127268 Num Attributes: 5
 Name                      Type  Nom  Int Real     Missing      Unique  Dist

1 Tamano Num 0% 0% 100% 0 / 0% 56525 / 44% 62985
2 orden Num 0% 80% 20% 0 / 0% 25501 / 20% 25510
3 recorrido_Soma Num 0% 0% 100% 0 / 0% 91095 / 72% 94781
4 Distancia_euclidea Num 0% 0% 100% 0 / 0% 90886 / 71% 94659
5 00 Nom 100% 0% 0% 0 / 0% 0 / 0% 2

2009-04-29 11:08:57,315 DEBUG KNIME-Worker-3 NBTree : reset
2009-04-29 11:08:57,316 DEBUG KNIME-Worker-3 NBTree : clean output ports.
2009-04-29 11:08:57,316 ERROR KNIME-Worker-3 NBTree : Execute failed: NullPointerException in Weka during training. Please verify your settings.
2009-04-29 11:08:57,316 DEBUG KNIME-Worker-3 NBTree : Execute failed: NullPointerException in Weka during training. Please verify your settings.
org.knime.core.node.InvalidSettingsException: NullPointerException in Weka during training. Please verify your settings.
at org.knime.ext.weka.classifier.WekaClassifierNodeModel.execute(WekaClassifierNodeModel.java:237)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:410)
at org.knime.core.node.Node.execute(Node.java:653)
at org.knime.core.node.workflow.SingleNodeContainer.executeNode(SingleNodeContainer.java:587)
at org.knime.core.node.workflow.SingleNodeContainer.access$1(SingleNodeContainer.java:561)
at org.knime.core.node.workflow.SingleNodeContainer$1.run(SingleNodeContainer.java:446)
at org.knime.core.node.workflow.JobRunnable.run(JobRunnable.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:98)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:166)
2009-04-29 11:08:57,317 DEBUG KNIME-Worker-3 NBTree : reset
2009-04-29 11:08:57,317 DEBUG KNIME-Worker-3 NBTree : clean output ports.
2009-04-29 11:08:57,317 DEBUG KNIME-Worker-3 NBTree : Configure succeeded. (NBTree)
2009-04-29 11:08:57,317 DEBUG KNIME-Worker-3 WorkflowManager : NBTree 0:2:68:65 doAfterExecute - failure
2009-04-29 11:08:57,318 DEBUG KNIME-Worker-3 NodeContainer : NBTree 0:2:68:65 has new state: CONFIGURED
2009-04-29 11:08:57,318 DEBUG KNIME-Worker-3 Weka Predictor : Configure succeeded. (Weka Predictor)
2009-04-29 11:08:57,318 DEBUG KNIME-Worker-3 NodeContainer : Weka Predictor 0:2:68:66 has new state: CONFIGURED
2009-04-29 11:08:57,319 DEBUG KNIME-Worker-3 Scorer : Configure succeeded. (Scorer)
2009-04-29 11:08:57,319 DEBUG KNIME-Worker-3 NodeContainer : Scorer 0:2:68:67 has new state: CONFIGURED
2009-04-29 11:08:57,319 DEBUG KNIME-Worker-3 KnimeResourceNavigator : state changed to IDLE
2009-04-29 11:08:57,320 DEBUG KNIME-Worker-3 NodeContainer : MetaNode 2 : 1 0:2:68 has new state: IDLE
2009-04-29 11:08:57,320 DEBUG KNIME-Worker-3 KnimeResourceNavigator : state changed to IDLE
2009-04-29 11:08:57,320 DEBUG KNIME-Worker-3 NodeContainer : Workflow Manager 0:2 has new state: IDLE
2009-04-29 11:08:57,320 DEBUG KNIME-Worker-3 NodeContainer : Workflow Manager 0 has new state: IDLE
2009-04-29 11:08:57,320 DEBUG KNIME-Worker-3 NodeContainer : MetaNode 2 : 1 0:2:68 has new state: IDLE
2009-04-29 11:08:57,814 DEBUG main KnimeResourceNavigator : didn’t find project name - do refresh

This calls for a debugging session. Is it possible for you to send me the flow (with the data)?
nicolas.cebron(at)uni-konstanz.de