2017-01-03 7 views
0

Я пытаюсь сделать классификацию с помощью искромера, особенно используя RandomForestModel.Спаркс-mllib переучивание сохраненных моделей

Я рассмотрел этот пример из искры (RandomForestClassificationExample.scala), но мне нужен несколько расширенный подход.

Мне нужно уметь обучать модель, сохранять модель для будущего использования, но также иметь возможность загрузить ее и продолжить поездку. Например, расширьте набор данных и снова поезжайте.

ответ

1

Я полностью понимаю необходимость экспорта и импорта модели для будущего использования.

К сожалению, тренировка «дальше» не возможна с помощью Spark и не имеет смысла. Таким образом, рекомендуется переобучить модель с данными от использования для обучения первой модели + новые данные.

Ваши первые значения обучения/метрики не имеют особого смысла больше, если вы хотите добавить больше данных (например, функции перехвата, коэффициенты и т.д.)

Я надеюсь, что это ответ на ваш вопрос.

+0

Чтобы добавить, единственное, что может иметь смысл, - использовать ранее подготовленные параметры модели в качестве отправной точки при обучении модели новым/расширенным набором данных. Тем не менее, вы также должны запустить модель с состоянием _clean slate_ для параметров, чтобы проверить, не переусердствуете ли вы. Таким образом, я согласен с eliasah, что _retraining_ имеет мало смысла. – TDrabas

+0

Учитывая, что онлайн-обучение - большое поле - почему дальнейшая подготовка не имеет смысла? Конечно, не кажется неуместным, по крайней мере, поддерживать базовые SGD, когда это возможно ...? – user31415

0

Если вам нужно только сохранить JavaRDD[Object], вы можете сделать (в Java)

model.saveAsObjectFile() 

Значения будут writter с использованием Java сериализации. Затем, чтобы прочитать ваши данные:

JavaRDD[Object] model = jsc.objectFile(pathOfYourModel) 

Будьте осторожны, объектные файлы недоступны в Python. Но вы можете использовать saveAsPickleFile(), чтобы написать свою модель и pickleFile(), чтобы прочитать ее.

0

Возможно, вам понадобится какая-то методика обучения подкреплению вместо случайного леса, если вы хотите использовать старую модель и переучивать ее новыми данными.

Что я знаю, есть deeplearning4j, который реализует алгоритмы обучения глубокому усилению на вершине Spark (и Hadoop).

 Смежные вопросы

  • Нет связанных вопросов^_^