我目前正在收集关于买方和卖方发起的不同金融工具(主要是证券)的交易的第二次数据。如果在给定的第二次交易中有更多的买方启动交易,那么该秒的数据点将在相关特性中包含一个正值。如果有更多的卖家开始交易,那么就会有一个负值。如果有相同数量的买入与卖方发起的交易,或者如果在给定的秒内根本没有任何交易,则该数据点中的特性将为0。除了这个特性之外,还有其他几个基于在前几秒钟中发生的特性(例如,如果上面讨论的值是当前点之前的数据点的12,那么当前数据点的第二个特性是12 -如果这一点不清楚),经过大量故障排除后,我的结论是,如果有太多的数据点,对于特征来说,0's太多,那么简单的分类器就无法工作。当我打印出评估数据点落入不同类别的概率时,我只需得到
0:NaN,1:NaN对于所有的模型评估点,我尝试分类。(我使用的是apache-mahout的逻辑回归。总共有183个功能,但超过4000万个数据点。数据点可以分为三类)
我发现,如果我将默认值设置为1,那么我就不会再遇到这个错误,例如,如果没有交易,值将是1,如果有一个卖方发起的交易,则值将为0。
因此,考虑到这些,我有两个相关的问题:
1)是否有其他人遇到过这一问题?例如,如果你有一个具有x特征的向量,对于大多数数据点,大多数特征包含0's,这能给出问题吗?
( 2)用常量(如1)将所有值向上移动是否是对此问题的有效修正?我假设,如果这个常量应用于所有的值,那么它就不应该扭曲数据,但是我认为向专家检查不会有什么害处。
而且,我对此还不熟悉,所以如果你认为我的问题可以使用更多的信息,请告诉我,如果你能给我什么信息包括的想法,将不胜感激。
提前感谢
发布于 2015-01-12 10:41:57
从你的问题,我不知道你是如何使用逻辑回归。logistic回归的“香草”版本给出了一个二进制分类器,但是您的目标有三个值:正值、负值和零。Apache站点在logistic回归页面上引用Paul的论文,其中logistic回归指二进制分类器。因此,您的问题可能是目标变量有3个值。
假设情况如此,您有许多选择,例如:( a)使用“多元物流”,- b)使用普通逻辑回归3次来拟合3个模型,每个级别一个,以区别于另外两个组合。
https://datascience.stackexchange.com/questions/4855
复制相似问题