我目前正在收集有关买方与卖方针对不同金融工具(主要是证券)发起的交易的逐秒数据。如果在给定的一秒内有更多买家发起的交易,那么该秒的数据点将在相关特征中包含一个正值。如果有更多卖家发起的交易,那么就会有负值。如果购买与卖方发起的交易数量相等,或者如果在给定的秒内根本没有任何交易,则该数据点中的特征将为 0。除此功能外,还有几个其他功能基于前几秒发生的情况(例如,如果上面讨论的值对于当前点之前的数据点为 12,那么当前数据点的第二个特征将是 12 - 如果不清楚,请告诉我)经过多次故障排除后,我得出的结论是,如果数据点太多,特征 0 太多,分类器根本无法工作. 当我打印出评估数据点落入不同类别的概率时,我得到了
0:NaN,1:NaN
对于所有模型评估点,我尝试进行分类。(我正在使用来自 apache-mahout 的逻辑回归。总共有 183 个特征,但超过 4000 万个数据点。数据点可以分为三类)
我发现如果我将默认值设置为 1,那么我将不再遇到此错误,例如,如果没有交易,则值为 1,如果有一个卖家发起交易,则值为 0。
因此,考虑到所有这些,我有两个相关的问题:
1)有没有其他人遇到过这个问题?例如,如果您有一个具有 x 个特征的向量,并且对于大多数数据点,大多数特征包含 0,这是否会产生问题?
2) 将所有值向上移动一个常数(例如 1)是否是解决此问题的有效方法?我假设如果这个常数应用于所有值,那么它不应该扭曲数据,但我认为与专家核实不会有什么坏处。
另外,我是新手,所以如果您认为我的问题可以使用更多信息,请告诉我,如果您能告诉我要包含哪些信息,我们将不胜感激。
提前致谢