0
我想从[页] [1]的例子。为什么我会得到无效的语法错误?火花回归示例无效的语法错误
>>> MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y)/valuesAndPreds.count()
File "<stdin>", line 1
MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y)/valuesAndPreds.count()
^
SyntaxError: invalid syntax
版本信息
>>> print(sys.version)
3.5.1 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 15:01:46) [MSC v.1900 64 bit (AMD64)]
>>> sys.version_info
sys.version_info(major=3, minor=5, micro=1, releaselevel='final', serial=0)
我试图在注释中给出的建议,但没有运气
>>> MSE = valuesAndPreds.map(lambda v, p: (v - p)**2).reduce(lambda x, y: x + y)/valuesAndPreds.count()
[Stage 179:> (0 + 2)/2]16/03/14 20:06:22 ERROR Executor: Exception in task 0.0 in stage 179.0 (TID 346)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
哪个Python版本在运行? –
它是3.但我怎么能确认? – user2543622
您使用哪种Spark版本?我注意到您提供的Spark文档链接是指一个非常旧的版本。 这里是最新的链接:https://spark.apache.org/docs/latest/mllib-linear-methods.html#linear-least-squares-lasso-and-ridge-regression 如果使用Python 3,你可能会需要删除括号并引用'lambda v,p:'我现在建议坚持使用python 2.7来减少这些类型的问题。 – MrChristine