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 参数。
我正在研究 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 参数。