#python-3.x #apache-spark #pyspark #apache-spark-mllib #apache-spark-ml
Вопрос:
Вот мой вклад
data
DataFrame[features: vector, label: double]
Вот мой код
from mmlspark.lightgbm._LightGBMClassifier import _LightGBMClassifier
_LightGBMClassifier().fit(data)
Вот мой вывод
--------------------------------------------------------------------------- Py4JJavaError Traceback (most recent call last) lt;ipython-input-15-a413c8f6b6a2gt; in lt;modulegt; ----gt; 1 model = _LightGBMClassifier().fit(data) /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/ml/base.py in fit(self, dataset, params) 130 return self.copy(params)._fit(dataset) 131 else: --gt; 132 return self._fit(dataset) 133 else: 134 raise ValueError("Params must be either a param map or a list/tuple of param maps, " /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/ml/wrapper.py in _fit(self, dataset) 293 294 def _fit(self, dataset): --gt; 295 java_model = self._fit_java(dataset) 296 model = self._create_model(java_model) 297 return self._copyValues(model) /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/ml/wrapper.py in _fit_java(self, dataset) 289 :return: fitted Java model 290 """ --gt; 291 self._transfer_params_to_java() 292 return self._java_obj.fit(dataset._jdf) 293 /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/ml/wrapper.py in _transfer_params_to_java(self) 125 self._java_obj.set(pair) 126 if self.hasDefault(param): --gt; 127 pair = self._make_java_param_pair(param, self._defaultParamMap[param]) 128 pair_defaults.append(pair) 129 if len(pair_defaults) gt; 0: /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/ml/wrapper.py in _make_java_param_pair(self, param, value) 111 sc = SparkContext._active_spark_context 112 param = self._resolveParam(param) --gt; 113 java_param = self._java_obj.getParam(param.name) 114 java_value = _py2java(sc, value) 115 return java_param.w(java_value) /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py in __call__(self, *args) 1255 answer = self.gateway_client.send_command(command) 1256 return_value = get_return_value( -gt; 1257 answer, self.gateway_client, self.target_id, self.name) 1258 1259 for temp_arg in temp_args: /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/pyspark/sql/utils.py in deco(*a, **kw) 61 def deco(*a, **kw): 62 try: ---gt; 63 return f(*a, **kw) 64 except py4j.protocol.Py4JJavaError as e: 65 s = e.java_exception.toString() /opt/cloudera/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name) 326 raise Py4JJavaError( 327 "An error occurred while calling {0}{1}{2}.n". --gt; 328 format(target_id, ".", name), value) 329 else: 330 raise Py4JError( Py4JJavaError: An error occurred while calling o3889.getParam. : java.util.NoSuchElementException: Param generateMissingLabels does not exist. at org.apache.spark.ml.param.Params$anonfun$getParam$2.apply(params.scala:729) at org.apache.spark.ml.param.Params$anonfun$getParam$2.apply(params.scala:729) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.ml.param.Params$class.getParam(params.scala:728) at org.apache.spark.ml.PipelineStage.getParam(Pipeline.scala:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:238) at java.lang.Thread.run(Thread.java:748)