Apache PredictionIO: łatwiejsze uczenie maszynowe dzięki Spark

Fundacja Apache dodała do swojej listy nowy projekt uczenia maszynowego, Apache PredictionIO, otwartą wersję projektu pierwotnie opracowanego przez spółkę zależną Salesforce.

Co PredictionIO robi dla uczenia maszynowego i Spark

Apache PredictionIO jest zbudowany na platformie Spark i Hadoop i obsługuje oparte na platformie Spark prognozy na podstawie danych przy użyciu dostosowywalnych szablonów dla typowych zadań. Aplikacje wysyłają dane do serwera zdarzeń PredictionIO w celu trenowania modelu, a następnie wysyłają zapytania do silnika w celu uzyskania prognoz opartych na modelu.

Spark, MLlib, HBase, Spray i Elasticsearch są dostarczane w pakiecie z PredictionIO, a Apache oferuje obsługiwane zestawy SDK do pracy w językach Java, PHP, Python i Ruby. Dane mogą być przechowywane w różnych zapleczach: JDBC, Elasticsearch, HBase, HDFS i ich lokalne systemy plików są obsługiwane od razu po wyjęciu z pudełka. Tylne końce są podłączane, więc programista może utworzyć niestandardowe złącze zaplecza.

Jak szablony PredictionIO ułatwiają obsługę prognoz z platformy Spark

Największą zaletą PredictionIO jest system szablonów do tworzenia silników uczenia maszynowego. Szablony zmniejszają ilość pracy potrzebną do skonfigurowania systemu do obsługi określonych rodzajów prognoz. Opisują wszelkie zależności innych firm, które mogą być potrzebne do wykonania zadania, takie jak struktura aplikacji uczenia maszynowego Apache Mahout.

Niektóre istniejące szablony obejmują:

  • Uniwersalny silnik rekomendacji.
  • Klasyfikacja tekstu.
  • Analiza przeżycia (do przewidywania czasu między awariami).
  • Etykietowanie tematów przy użyciu Wikipedii jako bazy wiedzy.
  • Analiza podobieństwa.

Niektóre szablony integrują się również z innymi produktami do uczenia maszynowego. Na przykład dwa z szablonów prognoz, które są obecnie w galerii PredictionIO, do wykrywania wskaźnika rezygnacji i ogólnych zaleceń używają ulepszeń wody gazowanej H2O.ai dla Spark.

PredictionIO może również automatycznie oceniać silnik predykcji, aby określić najlepsze hiperparametry do użycia z nim. Deweloper musi wybrać i ustawić metryki, jak to zrobić, ale generalnie wymaga to mniej pracy niż ręczne dostrajanie hiperparametrów.

Działając jako usługa, PredictionIO może akceptować prognozy pojedynczo lub zbiorczo. Prognozy wsadowe są automatycznie równoległe w klastrze Spark, o ile algorytmy używane w zadaniu prognozowania wsadowego można serializować. (Domyślne algorytmy PredictionIO to.)

Skąd pobrać PredictionIO

Kod źródłowy PredictionIO jest dostępny na GitHub. Dla wygody dostępne są różne obrazy Dockera, a także pakiet kompilacji Heroku.