2014-03-07 25 views
0

我想知道如何製作一個csv文件來將訓練數據存儲在encog中。目前我有200個功能(f)作爲輸入和多個輸出(o)(例如作者A,B,C ...)。那麼如何組織CSV文件呢?我應該看起來像這樣嗎?用於encog 3.0並使用它的CSV類型的訓練數據的格式

f1, f2, f3 ... f200, o1 
f1, f2, f3 ... f200, o2 
f1, f2, f3 ... f200, o3 

我的一些問題是:

  • 可以O1,O2和O3接受字符串? (作者姓名)。
  • 培訓csv文件和測試cvs文件的格式看起來是否相同?
  • 是否可以直接使用CSV文件提供NN?或者這個例子必須轉換爲多維數組?由於我需要200個功能作爲輸入,這將非常困難。通過使用encog框架 -
double XOR_INPUT[][] = [ 
     [0,0], 
     [1,0], 
     [0,1], 
     [1,1] 
]; 
  • 如何正常化csv文件(+ 1米範圍內)的數據?


非常感謝。

回答

0

不需要。神經網絡只能使用浮點數進行操作,最好是0到1(輸出)或-1到1(輸入)。對於字符串,使用n個編碼中的1個。

例如,如果你的輸出是「A」,「B」,「C」,將其設置爲

1 0 0  = 'a' 
0 1 0  = 'b' 
0 0 1  = 'c' 

您還可以根據需要添加一個空的類,因爲沒有發現結果。 您可以從csv讀取數據,但是encog正在尋找2d雙數組中的所有內容(或者更準確地說是'數組數組')。 爲了簡化,首先說10個功能。

標準化是按功能完成的。因此,對於每一個特徵,用於歸一的數據點一計算公式爲:

((a - min)/range) + 1

如果該功能的range = max - min

因此,所有輸入數據點應在-1到1

也許發佈數據的一個真實的例子,這可能會給你需要做一個更好的印象。

相關問題