Как конвертировать csv в 2 массива данных и классов?
Я хочу сделать и-операцию, мой csv-это
0,0,0
0,1,0
1,0,0
1,1,1
Я хочу получить 2 массива: входной и выходной массив
ввод данных)
0,0
0,1
1,0
1,1
классы (выходные данные)
0
0
0
1
Я пробую этот код:
Что я уже пробовал:
double[][] input = new double[samples][]; double[][] output = new double[samples][]; public static void convertCSV() { StreamReader reader = new StreamReader("D:\\and.csv"); samples = 0; try { string str = null; while((samples<50)&&((str=reader.ReadLine())!=null)) { string[] strs = str.Split(';'); if (strs.Length == 1) strs = str.Split(','); //// parse tokens tempData[samples, 0] = double.Parse(strs[0]); tempData[samples, 1] = double.Parse(strs[1]); tempClasses[samples] = int.Parse(strs[2]); samples++; } data = new double[samples, 2]; Array.Copy(tempData, 0, data, 0, samples * 2); classes = new int[samples]; Array.Copy(tempClasses, 0, classes, 0, samples); } catch(Exception) { return; } finally { if (reader != null) reader.Close(); } } public static void SearchSolution() { // prepare learning data for (int i = 0; i < samples; i++) { input[i] = new double[2]; output[i] = new double[1]; //// set input input[i][0] = data[i, 0]; input[i][1] = data[i, 1]; //// set output output[i][0] = classes[i]; } //} }
мой код не может дать моим 2 массивам использовать его в обучении, я хочу получить некоторую помощь, если это возможно, пожалуйста
CHill60
Что происходит, когда вы запускаете и отлаживаете свой код?
Это плохая конструкция
catch(Exception) { return; }потому что вы никогда не узнаете, какая ошибка произошла.
Вы еще не объявили об этом
tempData
или tempClasses
- может быть, это твоя проблема?
Richard MacCutchan
Ваш код, по-видимому, не делает ничего, кроме попыток прочитать цифры и перемещать их с места на место. Сначала вы считываете их в tempData, а затем копируете в данные, чтобы в конечном итоге скопировать их оттуда на вход и выход. Чего именно вы пытаетесь достичь?
Member 14129828
Я хочу отделить входные данные от выходных, чтобы использовать их в обучении с помощью
trainingSet = новый BasicNeuralDataSet(вход, выход);
Richard MacCutchan
Смотрите мое решение ниже.