【问题标题】:Requirement failed in LogisticRegressionModel.predictLogisticRegressionModel.predict 中的要求失败
【发布时间】:2016-07-12 08:03:11
【问题描述】:

我想在 JavaApplication 中测试我的模型 (SparkMLlib)

 LogisticRegressionModel sameModel = LogisticRegressionModel.load(sc,"/home/storm/Desktotp/LogisticRegressionModel");
        Vector meu = Vectors.dense(1.0, 26.0, 0.4872, 2.0, 3.0, 1.0, 0.4925, 0.6182, 0.2762, 0.5468, 0.12, 9.0, 1.0, 2.0, 0.12, 1.0, 2.0, 3.0, 3.0, 1.0, 1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 1.0, 2.0, 3.0, 0.4507, 0.0, 132.0, 2.0, 1.0, 1.0, 3.0, 2.0, 2.0, 2.0, 141.0, 3.0, 2.0, 3.0, 3.0, 1.0, 3.0, 1.0, 1.0, 2.0, 1.0, 2.0, 3.0, 2.0, 2.0, 3.0, 1.0, 1.0, 2.0, 3.0, 3.0, 3.0, 1.0, 3.0, 2.0, 1.0, 3.0, 3.0);
        Double prediction = sameModel.predict(meu);

运行时出现以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: requirement failed
    at scala.Predef$.require(Predef.scala:221)
    at org.apache.spark.mllib.classification.LogisticRegressionModel.predictPoint(LogisticRegression.scala:117)
    at org.apache.spark.mllib.regression.GeneralizedLinearModel.predict(GeneralizedLinearAlgorithm.scala:84)

【问题讨论】:

    标签: java apache-spark apache-spark-mllib


    【解决方案1】:

    由于在predictPoint 中检查的唯一要求是输入向量大小,因此它很可能与用于训练模型的数据形状不匹配。

    检查是否是这种情况的一种简单方法是检查model.numFeatures 并将其与输入向量的size 进行比较。

    【讨论】:

      猜你喜欢
      • 2018-08-30
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2018-01-05
      • 2012-01-11
      相关资源
      最近更新 更多