用于encog 3.0的CSV类型的训练数据格式并使用它

时间:2014-03-07 13:46:00

标签: neural-network encog

我想知道如何制作用于在encog中存储训练数据的csv文件。目前我有200个功能(f)作为输入和多输出(o)(例如作者A,B,C ......)。那么如何组织CSV文件呢?我应该这样吗?

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

我的一些问题是:

  • o1,o2和o3可以接受字符串吗? (作者姓名)。
  • 培训csv文件和测试cvs文件的格式是否一样?
  • 是否可以直接使用CSV文件提供NN?或者它必须转换为多维数组作为这个例子?由于我需要200个功能作为输入,这将非常困难。
double XOR_INPUT[][] = [
        [0,0],
        [1,0],
        [0,1],
        [1,1]
];
  • 如何使用encog框架规范化csv文件中的数据(到 - + 1范围)?


非常感谢你。

1 个答案:

答案 0 :(得分: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的标准化公式为:

((a - min) / range) + 1

该功能的range = max - min

所以所有输入数据点都应该在-1到1的范围内。

也许发布一个真实的数据示例,可能会更好地展示您需要做的事情。