Spark - простая линейная регрессия - PullRequest
0 голосов
/ 09 сентября 2018

Я новичок в 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, "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...