2016-08-08 5 views
8

Я заметил, что в SparkML есть два класса LinearRegressionModel, один в ML и еще один в пакете MLLib.В чем разница между пакетами Spark ML и MLLIB

Эти два варианта реализованы совершенно по-другому - например, один из MLLib реализует Serializable, а другой - нет.

Кстати, это верно о RandomForestModel.

Почему существуют два класса? Какой из них «правильный»? И есть ли способ конвертировать один в другой?

ответ

8

o.a.s.mllib содержит старый API на основе RDD, в то время как o.a.s.ml содержит новый API, построенный вокруг Dataset и ML Pipelines. ml и mllib достигли паритета характеристик в 2.0.0 и mllib медленно устарели (это уже произошло в случае линейной регрессии) и, скорее всего, будут удалены в следующем крупном выпуске.

Итак, если ваша цель не соответствует обратной совместимости, тогда «правильный выбор» - o.a.s.ml.

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

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