我使用Encog,我使用SVM来预测数据。我的训练集值没有标准化,但最初在[-1,1]范围内。我不明白为什么会出现问题。
我的培训数据:
EURUSD_OPEN_CH,EURUSD_HIGH_CH,EURUSD_LOW_CH,EURUSD_CLOSE_CH,EURUSD_MACD,EURUSD_MACDS,EURUSD_STTDEV
0.0134883819,0.0132838637,0.0135361889,0.0140344719,0.0023983892,0.0010403195,0.0054870487
0.0001454143,0.0000969039,-0.0002216665,-0.0005261919,0.0035244907,0.0013168603,0.0070012526
-0.0005261846,0.0006574986,0.0001593581,0.0009628839,0.0044774819,0.0017225556,0.0081131621
0.0009282350,-0.0001867452,-0.0004156506,-0.0005882475,0.0051052958,0.0021969854,0.0088044648
-0.0005605769,-0.0006641071,0.0001455382,0.0000069246,0.0055397905,0.0027231400,0.0092672117
(...)
我应该将这些值标准化吗?我认为这不是问题,但是谁知道......我训练SVM并且一切似乎都正确,但是当我评估SVM时,输出对于每个输入都是相同的。如果需要,我可以附加代码。
答案 0 :(得分:3)
我是个小伙子......规范化解决了这个问题。这些值太小而无法预测,因此我将整个CSV标准化为[0.1,0.9]范围,并且有所帮助。