2016-08-08 20 views
8

Zauważyłem, że są dwie klasy LinearRegressionModel w SparkML, jedna w ML i inna w pakiecie MLLib.Jaka jest różnica między pakietami Spark ML i MLLIB?

Te dwie implementacje są zupełnie inne - np. ten z MLLib implementuje Serializable, podczas gdy drugi nie.

Przy okazji ame jest prawdą o RandomForestModel.

Dlaczego są dwie klasy? Który jest "właściwy"? I czy istnieje sposób na konwersję jednego na inny?

Odpowiedz

8

o.a.s.mllib zawiera stare API oparte na RDD, natomiast o.a.s.ml zawiera nowe API zbudowane wokół Dataset i ML Pipelines. ml i mllib osiągnął parzystość funkcji w wersji 2.0.0, a mllib jest powoli przestarzała (tak się już stało w przypadku regresji liniowej) i najprawdopodobniej zostanie usunięta w następnym wydaniu głównym.

Więc jeśli twoim celem jest kompatybilność wstecz, to "prawidłowy wybór" to o.a.s.ml.

Powiązane problemy