Я работаю над созданием библиотеки машинного обучения C ++ для некоторых из моих собственных работ, и мне было интересно узнать о передовых методах представления входных данных. Сейчас я думаю об использовании класса DataManager, который обрабатывает операции ввода-вывода для чтения данных из файла, из потока и т. Д. При разработке этого я понял, что также необходимо создать классы для управления метками объектов. (связать с входными данными) и метками классов (в случае данных обучения).
Поэтому в моей реализации есть класс, который считывает данные из файла (я использую репозиторий машинного обучения UCI) в объект boost :: variable. Класс DataManager перегружает оператор >>, так что я могу прочитать каждое значение функции, разделенное запятыми, из предоставленной строки; если значение функции равно «?», оно вводит struct t_missing {}.
Для менеджеров классов / объектов, я думаю, что было бы целесообразно поддерживать связанный список имен объектов / классов и количество экземпляров, попадающих в каждый из них.
Во всяком случае, это была только моя первоначальная мысль о таком классе, и я хотел бы услышать некоторые другие мысли / предложения по реализации. Показывать код не обязательно; В основном мне просто интересно услышать о других вещах, которые, возможно, следует рассмотреть.
Спасибо!