spark-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rprabhu <>
Subject Getting py4j.protocol.Py4JError: An error occurred while calling o39.predict. while doing batch prediction using decision trees
Date Wed, 12 Nov 2014 15:20:36 GMT
I'm trying to run a classification task using mllib decision trees. After
successfully training the model, I was trying to test the model using some
sample rows when I hit this exception.

The code snippet that caused this error is :
model = DecisionTree.trainClassifier(parsedData, numClasses=2,
                                     impurity='gini', maxDepth=30,

predictions = model.predict( x: x.features))

which is pretty much like the example given on the website. 

I'm giving all the details that I think will help here (some of them might
not be totally useful). Please let me know if you need additional details.

Programming Language: Python
Platform: Linux (Ubuntu 14.04)
Dataset: A part of the KDD 1999 dataset with 19 attributes and 450K rows.
mllib version : The latest master. (Using master because of the issue
reported here


Stack Trace
Traceback (most recent call last):
  File "/home/rprabhu/Coding/github/SDNDDoS/classification/",
line 49, in <module>
    predictions = model.predict( x: x.features))
  File "/home/rprabhu/Software/spark/python/pyspark/mllib/", line 42,
in predict
  File "/home/rprabhu/Software/spark/python/pyspark/mllib/", line
140, in call
    return callJavaFunc(self._sc, getattr(self._java_model, name), *a)
  File "/home/rprabhu/Software/spark/python/pyspark/mllib/", line
117, in callJavaFunc
    return _java2py(sc, func(*args))
line 538, in __call__
line 304, in get_return_value
py4j.protocol.Py4JError: An error occurred while calling o39.predict. Trace:
py4j.Py4JException: Method predict([class]) does not exist
	at py4j.reflection.ReflectionEngine.getMethod(
	at py4j.reflection.ReflectionEngine.getMethod(
	at py4j.Gateway.invoke(
	at py4j.commands.AbstractCommand.invokeMethod(
	at py4j.commands.CallCommand.execute(

Note: I am not hitting this issue when I try to predict with just one row.
predictions = model.predict(row)

Can anyone let me know what is going wrong here?


View this message in context:
Sent from the Apache Spark User List mailing list archive at

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message