【问题标题】:IllegalArgumentException: 'Field "label" does not exist Spark MLlibIllegalArgumentException:'字段“标签”不存在 Spark MLlib
【发布时间】:2018-12-11 08:04:30
【问题描述】:

我正在尝试使用逻辑回归对一些数据进行建模,这是 spark MLlib 的一部分。对于模型创建,我有以下列:

ID,
features,
label

我可以通过以下方式将其拆分为训练数据和价值数据

(trainsample,testsample) =  sample.randomSplit([0.7, 0.3], seed)

另外,我可以定义我的模型:

lr = LogisticRegression(featuresCol="features", labelCol="label", 
predictionCol="prediction")

然后我可以训练和测试它:

lrmodel = lr.fit(trainsample)
result = lrmodel.transform(testmodel)

一切都好。但现在我想使用我的模型并预测未标记的数据。我总是得到 以下错误:

IllegalArgumentException: 'Field "label" does not exist 

我尝试创建一个虚拟标签列(所有值 999)。但是,我所有的预测都属于一个类(7 个不同类的第 6 类)。因此,即使使用预训练模型,标签似乎也会影响我的预测。

也许“lrmodel.transform”只是为了测试,还有其他语法可以使用模型。但我没有找到任何关于这个话题的东西。任何帮助将不胜感激。

【问题讨论】:

  • 听起来很奇怪,标签不应该影响你的模型预测。它用于您的模型评估。 Transform 执行“前向”,因此无论您是在交叉验证还是测试中,您都应该获得一个预测
  • 是的,我就是这么想的。我得到 IllegalArgumentException: 'Field "label" does not exist when I run: result = lrmodel.transform(unlabeled_data) ;/

标签: scala apache-spark pyspark apache-spark-mllib


【解决方案1】:

找到问题...我的功能集 x_x 中有标签...感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 2016-06-09
    • 2018-07-19
    • 2015-07-08
    • 2015-10-19
    • 2016-03-07
    • 2016-09-04
    • 1970-01-01
    相关资源
    最近更新 更多