Данные Python h2o svmlight

У меня есть файл в формате svmlight со значениями вида:

92.91 18256731:1 71729421:1 72329637:1 83328561:1 118265976:1 134892759:1 198163358:1 352348616:1 526943048:1 5.30 102156934:1 134892759:1 198163358:1 254112843:1 262373758:1 512748316:1 526943048:1 22.00 32172600:1 72329637:1 118265976:1 134892759:1 198163358:1 411824213:1 443226486:1 445371412:1 526943048:1

Я пытаюсь импортировать это в h2o, используя h2o.import_file(fname.svmlight)

Поддерживает ли h2o высокоразмерные разреженные бинарные функции?

Нужно ли мне конвертировать хешированные значения в некоторые индексы, чтобы это работало?


person user90772    schedule 02.08.2017    source источник
comment
Можете ли вы показать свой полный код и некоторые примеры данных?   -  person Vivek Kumar    schedule 03.08.2017
comment
И, возможно, попробуйте переименовать файл в "fname.svmlight".   -  person Vivek Kumar    schedule 03.08.2017
comment
Данные примера такие, как показано, импорт файла занимает много времени, но когда я конвертирую их в небольшие индексы, кажется, что все работает нормально.   -  person user90772    schedule 03.08.2017
comment
Это то, что планируется исправить?   -  person user90772    schedule 08.08.2017


Ответы (1)


Твои три строчки svmlight как вирус! Согласно top, процесс java настолько близок к 800% ЦП (8-ядерная машина), насколько это возможно. После 45 м нагрузки на процессор (5-6 минут настенных часов) мне пришлось использовать kill -9, чтобы вернуть свою машину.

Даже если ваш тип файла официально не поддерживается, я думаю, что тот факт, что он останавливает машину, делает его серьезной ошибкой, поэтому я сообщил об этом здесь: https://0xdata.atlassian.net/просмотреть/PUBDEV-4798

Кстати, здесь вы можете найти модульный тест, показывающий использование smvlight: ="nofollow noreferrer">https://github.com/h2oai/h2o-3/blob/30f382efac687be3959a253d975cb48c341c92b4/h2o-r/tests/testdir_misc/runit_parser_type.R

person Darren Cook    schedule 10.08.2017
comment
Спасибо, что сообщили об этом. Я думаю, что это точка разреженных массивов, чтобы сэкономить память, используя только комбинации индекс: значение. Это допустимый формат svmlight, вы можете попробовать разобрать его, например, на scikit-learn. Не имеет значения, равен ли индекс 1, 100 или 1 000 000. Еще раз спасибо за быстрый ответ! - person user90772; 10.08.2017