Я хочу использовать читатель CSV из библиотеки Encog, например:Encog C#, VersatileMLDataSet из CSV, как получить исходные данные?
var format = new CSVFormat('.', ' ');
IVersatileDataSource source = new CSVDataSource(filename, false, format);
var data = new VersatileMLDataSet(source);
Можно ли получить исходные данные из переменных данных? Я должен показать записи из CSV пользователю в dataGridView, прежде чем использовать его для нейронной сети. Я также хочу иметь возможность изменять исходные данные. Согласно documentation, есть свойство Данные, но это не работает для меня. Если я попробую что-то вроде:
data.Data[1][1]
Я получаю исключение из null указателя. Существует еще одна проблема с использованием данных до нормализации. Я хочу, чтобы получить количество записей по:
data.GetRecordCount()
Но я получаю ошибку Вы должны нормализовать набор данных, прежде чем использовать его. Так что, даже если я еще не использовал данные, я должен его нормализовать? Если это правда, то, вероятно, лучше использовать мой собственный CSV-ридер, а затем загрузить его в encog из памяти, правильно?
Я не знаком с 'Encog', но я проверил, что тип' CSVDataSource' имеет 'ReadLine()' метод. Поэтому вы можете использовать 'source.ReadLine' для чтения данных. Тем не менее вы не сможете изменять данные. Я предлагаю найти другую библиотеку, которая имеет дело с 'CSV', например. [CsvHelper] (https://joshclose.github.io/CsvHelper). – Gabrielius
Я не очень хорошо знаком с encog, но мне очень любопытно посмотреть на него. Кроме того, я сегодня ловля рыцарей LOL. Данные определяются как double [] []. Вы должны иметь возможность получить что-то из этого ... так что нулевой указатель странный. Почему вы используете индексы 1? Разве это не индекс на основе 0? Что находится внутри data.Data [0] [0]? – HBomb