Programování

Apache PredictionIO: Snadnější strojové učení se Sparkem

Nadace Apache Foundation přidala do svého seznamu nový projekt strojového učení Apache PredictionIO, otevřenou verzi projektu původně navrženého dceřinou společností Salesforce.

Co dělá PredictionIO pro strojové učení a Spark

Apache PredictionIO je postaven na vrcholu Spark a Hadoop a slouží předpovědi založené na Sparku z dat pomocí přizpůsobitelných šablon pro běžné úkoly. Aplikace odesílají data na server událostí Predikce, aby vycvičily model, a poté na základě dotazu vyhledávají předpovědi založené na modelu.

Spark, MLlib, HBase, Spray a Elasticsearch jsou dodávány s programem PredictionIO a Apache nabízí podporované sady SDK pro práci v prostředí Java, PHP, Python a Ruby. Data mohou být uložena v různých back-endech: JDBC, Elasticsearch, HBase, HDFS a jejich místní souborové systémy jsou podporovány ihned po vybalení. Back-endy jsou připojitelné, takže vývojář může vytvořit vlastní back-endový konektor.

Jak šablony PredictionIO usnadňují zobrazování předpovědí od Sparku

Nejvýznamnější výhodou aplikace PredictionIO je její systém šablon pro vytváření motorů strojového učení. Šablony snižují těžké zvedání potřebné k nastavení systému, aby sloužil konkrétním druhům předpovědí. Popisují jakékoli závislosti třetích stran, které mohou být pro danou úlohu potřebné, například rámec aplikace pro strojové učení Apache Mahout.

Některé existující šablony zahrnují:

  • Univerzální motor doporučení.
  • Klasifikace textu.
  • Analýza přežití (pro předpovědi času mezi poruchami).
  • Označování témat pomocí Wikipedie jako znalostní báze.
  • Analýza podobnosti.

Některé šablony se také integrují s jinými produkty strojového učení. Například dvě z předpovědních šablon aktuálně v galerii Predikce, pro detekci rychlosti churn a obecná doporučení, používají vylepšení Sparkling Water pro H2O.ai.

Predikce může také automaticky vyhodnotit modul predikce a určit nejlepší hyperparametry, které s ním budou použity. Vývojář musí zvolit a nastavit metriky, jak to udělat, ale obecně je toho zapotřebí méně práce než při ručním ladění hyperparametrů.

Když běží jako služba, může PredictionIO přijímat předpovědi jednotlivě nebo dávkově. Dávkové předpovědi jsou automaticky paralelizovány napříč clusterem Spark, pokud jsou všechny algoritmy použité v dávkové predikční úloze všechny serializovatelné. (Výchozí algoritmy predikce jsou.)

Kam stáhnout predikci

Zdrojový kód predikce je k dispozici na GitHubu. Pro větší pohodlí jsou k dispozici různé obrázky Dockeru a balíček Heroku build.