Spark MLLib LogisticRegression 调试模型?

Spark MLLib LogisticRegression debug model?

我正在研究 LogisticRegression 模型并尝试调试。

这是一件简单的事情,但似乎无法让它发挥作用:只有 time of day 和一个 state 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

我之前在向分类器提供一个不可能的特征集时看到过这个,但在这里我只使用了一个特征,而且它是一个简单的模型,所以我不明白哪里出了问题。

知道如何查看正在发生的事情吗?

我也用过BinaryClassificationMetrics而且它returns

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)将您的数据集复制到您的问题中。 (2) 确保 0 和 1 的情况散布在您的数据中(即您的输入中没有硬截断 space)。这确保了参数是一些有限值。 (3) 在您的模型上调用 clearThreshold,然后 predict 将产生原始(概率)输出。 (4) 有一种方法可以得到拟合参数,我忘记了。关于这一点,我唯一的建议是浏览代码并尝试查看如何 return 参数。