机器学习二级分类

时间:2018-08-21 14:33:30

标签: machine-learning neural-network

我在Azure ML studio中构建了此ML模型,其中包括日期列等4个功能。

试图预测明天的价格是否会比今天高。更高= 1,不更高= 0

这是一个两类神经网络(具有Tune模型的超参数)。

当我测试它时,我希望得到的答案是0-1。当我将功能从1更改为0时,问题就来了。得到几乎类似的答案。

我认为如果1 =得分概率为0.6 那么0(具有相同的特征)的得分应为0.4

Azure ML output

数据快照(是的,我知道我需要更多) enter image description here

模型是通过“ Over5”功能进行训练/调整的,我希望从2级神经网络模块中得到一个介于0 -1之间的答案。

“分数”模块还会产生1到0之间的结果。一切看起来都是正确的。

我更改了规范化方法(在注释者的推荐之后),但是它并没有太大地改变输出。

一切似乎都井然有序,但是我的目标是预测一天结束“ Over5”并得出1的可能性。

当我在Over5列中使用“ 1”测试模型时,得到的预测值为0.55 ...然后我使用相同的设置测试了模型,只是将1更改为0,我仍然得到相同的输出0.55 ...

我不明白为什么会这样,因为模型是在Over5功能上进行训练/调整的。更改该列中的输入应该产生不同的结果?

1 个答案:

答案 0 :(得分:2)

(通常)神经网络的输出不是概率,所以这可能是您未获得所需的“ 1-P”结果的原因。

现在,如果它是简单的逻辑回归,则将获得概率作为输出,但是我假设您所说的是正确的,并且您正在使用超简单的神经网络。

此外,您可能要更改的是偏差“特征”,这也可能导致模型在训练后为您提供相同的结果。老实说,这篇文章中的信息太少,无法确定正在发生的事情。我建议您尝试规范您的功能,然后再试一次。

编辑:您是否知道您的神经网络实际上有2个输出节点,还是仅仅是一个输出节点?如果有两个,则原始输出与哪个节点具有较高的输出无关紧要。如果仅仅是一个,我会在某个地方对它进行阈值处理(例如> 0.5表示价格将上涨,而<= 0.5则意味着价格将下跌,或者您想要对它进行阈值设置。)某些系统在误报中使用比假阴性阈值在更低的值(例如0.2)下更容易接受。