0

我想知道如何制作一个用于在 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 可以接受 String 吗?(作者姓名)。
  • 训练 csv 文件和测试 cvs 文件的格式看起来是否相同?
  • 是否可以直接使用 CSV 文件输入 NN?或者它必须转换为多维数组作为这个例子?由于我必须将 200 个特征作为输入,这将非常困难。
double XOR_INPUT[][] = [
        [0,0],
        [1,0],
        [0,1],
        [1,1]
];
  • 如何使用 encog 框架规范化 csv 文件中的数据(到 -+1 范围)?


非常感谢。

4

1 回答 1

0

不可以。神经网络只能使用浮点数进行操作,最好是 0 到 1(输出)或 -1 到 1(输入)。对于字符串,使用 1 of n 编码。

所以例如。如果您的输出是“a”、“b”、“c”,请将其设置为

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

如果需要,您也可以添加一个空类,因为没有找到结果。您可以从 csv 读取数据,但 encog 正在寻找二维双精度数组(或更准确地说是“数组数组”)中的所有内容。为了简化事情,从 10 个功能开始。

标准化是按特征完成的。因此,对于每个特征,数据点 a 的标准化公式为:

((a - min) / range) + 1

该功能在哪里range = max - min

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

也许发布一个真实的数据示例,这可能会给你需要做什么更好的印象。

于 2014-03-07T14:06:16.567 回答