Spark MLLib LogisticRegression调试模型?

时间:2016-02-10 19:54:46

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

我正在使用LogisticRegression模型并尝试调试。

这是一件简单的事情,但似乎无法让它发挥作用:只需拥有time of daystate 0 or 1,并希望预测一天中给定时间的状态

训练模型时没有错误,但我看到了: GradientDescent: GradientDescent.runMiniBatchSGD finished. Last 10 stochastic losses NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN

在日志中 在尝试eval时,我总是遇到错误java.util.NoSuchElementException: key not found: keyname

我之前看到过这种情况,为分类器提供了一个不可能的功能集,但在这里我只使用了1个功能而且它是一个简单的模型,所以我不明白什么是错的。

知道我怎么能看到发生了什么?

我还使用了BinaryClassificationMetrics并返回

FmeasureCurve = (NaN,0.17630133869823753)

ROCCurve =

(0.0,0.0) (1.0,1.0) (1.0,1.0)

如何打印模型信息以查看其中的值? 我有一个简单的方法来获取这些数据吗?

当我打印模型时,我只得到: org.apache.spark.mllib.classification.LogisticRegressionModel: intercept = 0.0, numFeatures = 1, numClasses = 2, threshold = None

由于

1 个答案:

答案 0 :(得分:0)

不确定发生了什么。一些想法:(1)将您的数据集复制到您的问题中。 (2)确保0和1个案例散布在您的数据中(即输入空间中没有硬截止)。这确保了参数是一些有限的值。 (3)在模型上调用clearThreshold,然后predict将产生原始(概率)输出。 (4)有一种方法可以得到拟合的参数,我忘了怎么做。关于这一点,我唯一的建议是浏览代码并尝试查看如何返回参数。