Я читаю очень разреженную матрицу (3 миллиона x 10 тысяч) в виде файла svmlight.
train_h2o = h2o.import_file('train.svml')
Я хотел бы заменить все ненулевые значения на 1, что я делаю следующим образом:
train_h2o = train_h2o!=0
Вопросы:
- Есть ли более эффективный способ выполнения этой операции? Это занимает более 3 минут (в то время как import_file завершается менее чем за 30 секунд).
- Запустив
h2o.frames()
, я вижу, что теперь есть две копии этого кадра данных. Есть ли способ сделать это изменение на месте? Кажется, что операция на месте над столбцом показана на этой странице. Возможно ли что-то подобное для всего кадра?
- Каков хороший способ навязать оценку в этот момент? h2o использует Lazy Evaluation (при необходимости) на более позднем этапе.