Apache PredictionIO: Jednostavnije strojno učenje pomoću Sparka

Zaklada Apache svom je popisu dodala novi projekt strojnog učenja, Apache PredictionIO, otvorenu verziju projekta koji je izvorno osmislila podružnica Salesforce.

Što PredictionIO čini za strojno učenje i Spark

Apache PredictionIO izgrađen je na vrhu Sparka i Hadoopa i služi predviđanjima koja se pokreću Sparkom iz podataka koristeći prilagodljive predloške za uobičajene zadatke. Aplikacije šalju podatke na poslužitelj događaja PredictionIO radi obuke modela, a zatim traže mehanizam za predviđanja na temelju modela.

Spark, MLlib, HBase, Spray i i Elasticsearch isporučuju se s PredictionIO, a Apache nudi podržane SDK-ove za rad u Java, PHP, Python i Ruby. Podaci se mogu pohraniti u razne pozadine: JDBC, Elasticsearch, HBase, HDFS i njihovi lokalni datotečni sustavi podržani su odmah. Stražnji krajevi mogu se priključiti, tako da programer može stvoriti prilagođeni pozadinski konektor.

Kako PredictionIO predlošci olakšavaju posluživanje predviđanja iz Sparka

Najistaknutija prednost PredictionIO-a je sustav predložaka za stvaranje motora za strojno učenje. Predlošci smanjuju težinu koja je potrebna za postavljanje sustava koji služi određenim vrstama predviđanja. Oni opisuju sve ovisnosti trećih strana koje bi mogle biti potrebne za taj posao, poput okvira aplikacije za strojno učenje Apache Mahout.

Neki postojeći predlošci uključuju:

  • Univerzalni mehanizam preporuka.
  • Klasifikacija teksta.
  • Analiza preživljavanja (za predviđanja vremena neuspjeha).
  • Označavanje tema korištenjem Wikipedije kao baze znanja.
  • Analiza sličnosti.

Neki se predlošci također integriraju s drugim proizvodima za strojno učenje. Na primjer, dva predloška predviđanja koja se trenutno nalaze u galeriji PredictionIO, za otkrivanje brzine odljeva i opće preporuke, koriste poboljšanja Pjenušave vode H2O.ai za Spark.

PredictionIO također može automatski procijeniti mehanizam predviđanja kako bi odredio najbolje hiperparametre koji će se koristiti s njim. Razvojni programer mora odabrati i postaviti mjerne podatke kako to učiniti, ali u pravilu se radi manje posla nego ručno podešavanje hiperparametara.

Kada se pokreće kao usluga, PredictionIO može prihvatiti predviđanja pojedinačno ili u paketu. Grupna predviđanja automatski se paraleliziraju kroz klaster Spark, sve dok su algoritmi korišteni u skupnom poslu predviđanja sve moguće serializirati. (Zadani algoritmi PredictionIO su.)

Gdje preuzeti PredictionIO

Izvorni kod PredictionIO dostupan je na GitHubu. Radi praktičnosti dostupne su razne Dockerove slike, kao i Heroku paket za izradu.