我運行一個k - means算法。我的特點是倍增式和沒有取消,但我得到:提高TypeError(“參數必須參數映射或列表/參數元組映射但有% s。”% type(params). Anyone have any idea how to solve this?
文件/磚/火花/ python / pyspark / ml /基地。py: 205年估計量。適合(自我、數據集參數)
203年返回self.copy (params) ._fit(數據集)
204年:
- - > 205年返回self._fit(數據集)
206年:
207提高TypeError (
208”參數必須參數圖或列表/參數元組地圖,”
209年“但有% s。”%類型(params)
210)
文件/磚/火花/ python / pyspark / ml /包裝。py: 381年JavaEstimator。_fit(自我,數據集)
380 def _fit(自我,數據集:DataFrame) - > JM:
- - > 381 java_model = self._fit_java(數據集)
382 = self._create_model模型(java_model)
383年返回self._copyValues(模型)
文件/磚/火花/ python / pyspark / ml /包裝。py: 378年JavaEstimator。_fit_java(自我,數據集)
375堅持自我。_java_obj不是沒有
377年self._transfer_params_to_java ()
- - > 378年返回self._java_obj.fit (dataset._jdf)
文件/磚/火花/ python / lib / py4j-0.10.9.7-src.zip / py4j / java_gateway。py: 1322年JavaMember。__call__(自我,* args) 1316命令=原型。CALL_COMMAND_NAME + 1318 \ 1317 self.command_header + \ args_command + \ 1319原型。END_COMMAND_PART 1321回答= self.gateway_client.send_command(命令)
1323 - > 1322 return_value = get_return_value(答案,自我。gateway_client,自我。target_id self.name) 1325年在temp_args temp_arg: 1326如果hasattr (temp_arg“_detach”):
文件/磚/火花/ python / pyspark /錯誤/異常/捕獲。py: 162年capture_sql_exception。<當地人> .deco(*, * *千瓦)
160 def德科(*:任何* *千瓦:有)- >任何:
161年試題:
- - > 162返回f(*, * *千瓦)
163年除了Py4JJavaError e:
164 = convert_exception轉換(e.java_exception)
文件/磚/火花/ python / lib / py4j-0.10.9.7-src.zip / py4j /協議。py: 326年get_return_value(答案,gateway_client target_id,名稱)
324值= OUTPUT_CONVERTER[型](回答[2],gateway_client)
325如果[1]= = REFERENCE_TYPE回答:
- - > 326提高Py4JJavaError (
327”時發生一個錯誤調用{0}{1}{2}。\ n”。
328格式(target_id”。“名字),值)
329年:
330提高Py4JError (
331”時發生一個錯誤調用{0}{1}{2}。跟蹤:\ n {3} \ n”。
332格式(target_id”。“、名稱、值))
Py4JJavaError:調用o13759.fit時發生一個錯誤。:org.apache.spark。SparkException:工作階段失敗而終止:任務9階段4052.0失敗了4次,最近的失敗:失去了任務
9.3在4052.0 (TID 29072)階段(10.1.2.11執行人0):. lang。AssertionError:斷言
失敗了……
我找到了答案隻是通過幾件事情,雖然我不明白問題是什麼。我所要做的就是緩存之前輸入數據擬合模型:
組裝= VectorAssembler (inputCols = columns_input outputCol =“特性”)assembled_data = assemble.transform (df) assembled_data = assembled_data.cache () KMeans_algo = KMeans (featuresCol =“特性”,k = number_of_clusters) KMeans_fit = KMeans_algo.fit (assembled_data)