Programmering

Apache PredictionIO: Enklere maskinlæring med Spark

Apache Foundation har lagt til et nytt maskinlæringsprosjekt i sin liste, Apache PredictionIO, en åpen versjon av et prosjekt som opprinnelig ble utviklet av et datterselskap av Salesforce.

Hva PredictionIO gjør for maskinlæring og Spark

Apache PredictionIO er bygget på toppen av Spark og Hadoop, og serverer gnistdrevne spådommer fra data ved hjelp av tilpassbare maler for vanlige oppgaver. Apper sender data til PredictionIOs hendelsesserver for å trene en modell, og deretter spørre motoren for spådommer basert på modellen.

Spark, MLlib, HBase, Spray og Elasticsearch kommer alle sammen med PredictionIO, og Apache tilbyr SDK-er som støttes for å jobbe i Java, PHP, Python og Ruby. Data kan lagres i en rekke bakenden: JDBC, Elasticsearch, HBase, HDFS og deres lokale filsystemer støttes alle ut av esken. Bakenden er pluggbare, slik at en utvikler kan opprette en tilpasset back-end-kontakt.

Hvordan PredictionIO maler gjør det lettere å servere spådommer fra Spark

PredictionIOs mest bemerkelsesverdige fordel er malesystemet for å lage maskinlæringsmotorer. Maler reduserer det tunge løftet som trengs for å sette opp systemet for å betjene bestemte typer spådommer. De beskriver eventuelle tredjepartsavhengigheter som kan være nødvendige for jobben, for eksempel Apache Mahout maskinlæringsapp-rammeverk.

Noen eksisterende maler inkluderer:

  • En universell anbefaling motor.
  • Tekstklassifisering.
  • Overlevelsesanalyse (for spådommer mellom mellomfall).
  • Merking av emner ved bruk av Wikipedia som kunnskapsbase.
  • Likhetsanalyse.

Noen maler integreres også med andre maskinlæringsprodukter. For eksempel bruker to av prediksjonsmalene i PredictionIOs galleri, for gjenkjenning av svinghastighet og generelle anbefalinger, H2O.ai's Sparkling Water forbedringer for Spark.

PredictionIO kan også automatisk evaluere en prediksjonsmotor for å bestemme de beste hyperparametrene som skal brukes med den. Utvikleren må velge og angi beregninger for hvordan du gjør dette, men det er generelt mindre arbeid involvert i å gjøre dette enn å stille inn hyperparametere for hånd.

Når du kjører som en tjeneste, kan PredictionIO godta spådommer enkeltvis eller som en batch. Batched-prediksjoner blir automatisk parallellisert over en Spark-klynge, så lenge algoritmene som brukes i en batch-prediksjon-jobb, kan serieiseres. (PredictionIOs standardalgoritmer er.)

Hvor laster du ned PredictionIO

PredictionIOs kildekode er tilgjengelig på GitHub. For enkelhets skyld er forskjellige Docker-bilder tilgjengelig, samt en Heroku-byggepakke.

$config[zx-auto] not found$config[zx-overlay] not found