Создайте libsvm из нескольких файлов CSV для обучения внешней памяти xgboost - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь обучить модель xgboost, используя версию внешней памяти, которая принимает файл libsvm в качестве обучающего набора.Прямо сейчас все данные хранятся в куче CSV-файлов, которые объединяются вместе намного больше, чем у меня, скажем, 70G (вы можете легко прочитать любой из них).Мне просто интересно, как создать один большой файл libsvm для xgboost.Или если есть какой-либо другой раунд для этого.Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2018

Если у ваших csv-файлов нет заголовков, вы можете объединить их с помощью команды Unix cat.

Пример:

> ls
file1.csv file2.csv
> cat *.csv > combined.csv

Теперь combined.csv - это cat enation всех остальных файлов.

Если у всех ваших csv-файлов есть заголовки, вы захотите сделать что-то более хитрое, например взять n-1 строки с tail.

XGBoost поддерживает csv в качестве входных данных.

Если вы хотите преобразовать это в libsvm независимо от этого, вы можете использовать сценарии phraug .

...