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