这个错误几乎没有出现在哪里。我正在使用以下代码在pysark中运行简单的线性回归:
from pyspark.ml.regression import LinearRegression
# initialize regression model object
linreg = LinearRegression()
# Fit 2 models, using different regularization parameters
modelA = linreg.fit(X_train_vector)
preds = modelA.transform(X_test_vector)
from pyspark.ml.evaluation import RegressionEvaluator
evaluator = RegressionEvaluator(metricName="r2")
R2 = evaluator.evaluate(preds)
print("ModelA: R2 = " + str(R2))
我的第一个想法是可能存在空值,但在创建我的功能集之前我已经处理过了。
以下是完整错误:
IllegalArgumentException: u'requirement failed: init value should <= bound'
---------------------------------------------------------------------------
IllegalArgumentException Traceback (most recent call last)
<command-37272> in <module>()
5
6 # Fit 2 models, using different regularization parameters
----> 7 modelA = linreg.fit(X_train_vector)
8
9 preds = modelA.transform(X_test_vector)
/databricks/spark/python/pyspark/ml/base.pyc in fit(self, dataset, params)
62 return self.copy(params)._fit(dataset)
63 else:
---> 64 return self._fit(dataset)
65 else:
66 raise ValueError("Params must be either a param map or a list/tuple of param maps, "
/databricks/spark/python/pyspark/ml/wrapper.pyc in _fit(self, dataset)
263
264 def _fit(self, dataset):
--> 265 java_model = self._fit_java(dataset)
266 return self._create_model(java_model)
我不完全确定这意味着什么。
答案 0 :(得分:0)
看起来您正在使用过时的Spark版本并体验SPARK-21523 - 修复强大的wolfe linesearch init
参数失效的错误。
如果你使用Spark 2.2,请确保更新到2.2.1版本,其中已经修复了错误。