Обновление моделей машинного обучения в базе данных Mllib PySpark (2.2.0) - PullRequest
0 голосов
/ 19 ноября 2018

Я построил модель машинного обучения, основанную на кластеризации, и теперь просто хочу периодически обновлять ее новыми данными (ежедневно). Я использую PySpark Mlib и не могу найти какой-либо метод в Spark для этой цели.

Обратите внимание, обязательный метод 'частичное_применение' доступен в Scikit-Learn, но не в Spark.

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

Пожалуйста, предложите мне эффективный способ обновления модели или обучения в режиме онлайн с использованием Spark Mllib?

1 Ответ

0 голосов
/ 16 декабря 2018

Вы не можете обновить произвольные модели.

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

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

Именно поэтому довольно часто, например, каждую ночь строят новые модели.

Потоковое довольно переоценен.В частности к-значит.Полная ерунда, чтобы делать онлайн k-meand с "большими" (смеется) данными.Поскольку новая точка имеет эффект, близкий к нулю, вы также можете делать пакет каждую ночь.Это просто академические игрушки, не имеющие отношения к делу.

...