【问题标题】:C# (encog) load dataset from txt fileC# (encog) 从 txt 文件加载数据集
【发布时间】:2014-02-16 20:32:39
【问题描述】:

我想用 ENCOG 构建一个简单的神经网络来执行分类。我找到了一个显示异或的例子。有一个包含输入的双数组和另一个包含学习过程的理想输出的数组。所以数据集看起来像这样:

 /// Input f o r the XOR f unc t i on .
 public static double [ ] [ ] XORInput = {
 new[ ] { 0.0 , 0.0 },
 new[ ] { 1.0 , 0.0 },
 new[ ] { 0.0 , 1.0 },
 new[ ] { 1.0 , 1.0}
 } ;

 /// I d e a l output f o r the XOR f unc t i on .
 public static double [ ] [ ] XORIdeal = {
 new[ ] { 0.0 } ,
 new[ ] { 1.0 } ,
 new[ ] { 1.0 } ,
 new[ ] {0.0}
 } ;

 // create training data
        IMLDataSet trainingSet = new BasicMLDataSet(XORInput, XORIdeal);

然后它自己的网络被创建,这里是初始化的学习过程

 // train the neural network
        IMLTrain train = new ResilientPropagation(network, trainingSet);

现在我想知道如何从 txt 文件加载我自己的数据集,以便我可以使用它来代替 XORInput、XORIdeal。

我试过了:

 string[] ins = File.ReadAllLines(path);
 double [] inputs = new double[ins.Length]

 for(int i=0; i<ins.Length; i++)
 {
 inputs[i] = Double.Parse(ins[i]);
 } 

编辑:这就是我的输入的样子:

166 163 180 228
165 162 160 226
166 163 180 228
166 164 180 228
171 162 111 225

然后出去:

0 0 1

0 0 1

0 1 0

1 0 0

0 1 0

这不起作用。我认为这是因为我没有索引 txt 文件的每一个元素。我被困在这里。有人可以帮忙吗?谢谢。

【问题讨论】:

  • 您可以展示您尝试加载的文件的示例吗?
  • 我已经编辑了我的帖子。
  • 谢谢。这个问题是关于 ENCOG 库还是输入文件的读取?如果两者兼而有之,我建议写两个单独的问题。
  • 现在,我只想说我想将我的数据集加载到 ENCOG 可以接受的那种格式(double[][] 数组)

标签: c# file.readalllines


【解决方案1】:

好的,快速sn-p:

using System.Linq;

public static class Load {
    public static double[][] FromFile(string path) {
        var rows = new List<double[]>();
        foreach (var line in File.ReadAllLines(path)) {
            rows.Add(line.Split(new[]{' '}).Select(double.Parse).ToArray());
        }
        return rows.ToArray();
    }
}

致电XORInput = Load.FromFile("C:\\..."); 希望如果您选择它,它应该会变得清晰。

【讨论】:

  • 我试过了,但是一旦我尝试这样称呼它: public static double[][] Input = Load.FromFile("E:\vstup.txt");我收到错误消息:非静态方法 Load.FromFile(string) 需要对象引用。当我将 Load 类更改为公共类并在我的 main 方法中创建一个对象引用,例如 Load l = new Load();然后 double[][] Input = l.FromFile(@"E:\vstup.txt");它说输入格式不正确,并且日期时间不正确。有什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-10
  • 2022-01-19
  • 1970-01-01
  • 2017-11-20
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多