Параллельное обучение нескольких SVM в Spark - PullRequest
0 голосов
/ 05 октября 2018

Предположим, что у меня есть фрейм данных со столбцами ("class", "x", "y", "z", "label"), и я хотел бы обучить несколько SVM, по одному для каждого отдельного значения в "классе"столбецОдин из способов сделать это:

df.select("class").
   distinct.
   rdd.
   collect().
   map(x=>x(0)).
   map(x=>train(df.where(col("class")===lit(x))))

, где train - это функция, которая будет:

  1. Конвертировать фрейм данных в org.apache.spark.mllib.regression.LabeledPoint, используя ("x", "y", "z") в качестве функции и "метка" в качестве метки SVM.
  2. Обучение SVM с использованием org.apache.spark.mllib.classification.SVMWithSGD
  3. Возвращение весов и перехват SVM в качестве кадра данных.

Проблема в том, что при таком подходе Spark обучает SVM последовательно.Однако, поскольку между классами нет совпадения данных, я бы хотел обучить их параллельно.Есть ли способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...