Я новичок в Spark и попробовал простую линейную регрессию. Похоже, не удается понять, как исправить эту ошибку.
Может ли какой-нибудь эксперт помочь?
Набор данных http://archive.ics.uci.edu/ml/machine-learning-databases/00294/
from pyspark.ml.regression import LinearRegression
from pyspark.ml.feature import VectorAssembler
pp_df = spark.read.csv('D:/OneDrive/MachineLearning/Spark
/CCPP/CCPP/Folds5x2_pp.csv',header= True,inferSchema=True)
vectorAssembler = VectorAssembler (inputCols=["AT","V","AP","RH"],
outputCol = "features")
vpp_df = vectorAssembler.transform(pp_df)
vd = vpp_df.select("features","PE")
vdN = vd.selectExpr("features as features", "PE as label")
lr = LinearRegression(featuresCol="features", labelCol = "label")
lr_model = lr.fit(vdN)
pp_df.take(1)
[Row(AT=14.96, V=41.76, AP=1024.07, RH=73.17, PE=463.26)]
pp_df.dtypes
[('AT', 'double'),
('V', 'double'),
('AP', 'double'),
('RH', 'double'),
('PE', 'double')]
vpp_df.take(1)
[Row(AT=14.96, V=41.76, AP=1024.07, RH=73.17, PE=463.26,
features=DenseVector([14.96, 41.76, 1024.07, 73.17]))]
vdN.take(1)
[Row(features=DenseVector([14.96, 41.76, 1024.07, 73.17]), label=463.26)]
Вот ошибка, которую я вижу
Py4JJavaError Traceback (последний вызов был последним)
в ()
----> 1 lr_model = lr.fit (vdN)
D:\Spark\spark-2.3.1-bin-hadoop2.7\python\pyspark\ml\base.py in
fit(self, dataset, params)
130 return self.copy(params)._fit(dataset)
131 else:
--> 132 return self._fit(dataset)
133 else:
134 raise ValueError("Params must be either a param
map or a list/tuple of param maps, "