Programmering

Apache PredictionIO: Lettere maskinindlæring med Spark

Apache Foundation har tilføjet et nyt maskinindlæringsprojekt til sin liste, Apache PredictionIO, en open source-version af et projekt, der oprindeligt blev designet af et datterselskab af Salesforce.

Hvad PredictionIO gør for maskinindlæring og Spark

Apache PredictionIO er bygget oven på Spark og Hadoop og serverer Spark-powered forudsigelser fra data ved hjælp af skabeloner, der kan tilpasses til almindelige opgaver. Apps sender data til PredictionIOs hændelsesserver for at træne en model og søger derefter på motoren for forudsigelser baseret på modellen.

Spark, MLlib, HBase, Spray og Elasticsearch kommer alle sammen med PredictionIO, og Apache tilbyder understøttede SDK'er til arbejde i Java, PHP, Python og Ruby. Data kan gemmes i en række forskellige bagenden: JDBC, Elasticsearch, HBase, HDFS og deres lokale filsystemer understøttes alle ud af kassen. Bagenderne kan tilsluttes, så en udvikler kan oprette et brugerdefineret back-end-stik.

Hvordan PredictionIO-skabeloner gør det lettere at levere forudsigelser fra Spark

PredictionIOs mest bemærkelsesværdige fordel er dets skabelonsystem til oprettelse af maskinlæringsmotorer. Skabeloner reducerer det tunge løft, der er nødvendigt for at indstille systemet til at tjene specifikke former for forudsigelser. De beskriver eventuelle tredjepartsafhængigheder, der kan være nødvendige til jobbet, såsom Apache Mahout-maskinindlæringsapp-rammen.

Nogle eksisterende skabeloner inkluderer:

  • En universel anbefaling motor.
  • Tekstklassificering.
  • Overlevelsesanalyse (for forudsigelser mellem tid og fiasko).
  • Mærkning af emner ved hjælp af Wikipedia som en vidensbase.
  • Lighedsanalyse.

Nogle skabeloner integreres også med andre maskinlæringsprodukter. F.eks. Bruger to af de forudsigelsesskabeloner, der i øjeblikket findes i PredictionIOs galleri, til detektion af churnhastighed og generelle anbefalinger, H2O.ais forbedringer af Mousserende vand til Spark.

PredictionIO kan også automatisk evaluere en forudsigelsesmotor for at bestemme de bedste hyperparametre, der skal bruges sammen med den. Udvikleren skal vælge og indstille metrics for, hvordan man gør dette, men der er generelt mindre arbejde involveret i at gøre dette end at indstille hyperparametre i hånden.

Når du kører som en tjeneste, kan PredictionIO acceptere forudsigelser enkeltvis eller som en batch. Batchede forudsigelser paralleliseres automatisk på tværs af en Spark-klynge, så længe de algoritmer, der bruges i et batchforudsigelsesjob, alle kan serialiseres. (PredictionIOs standardalgoritmer er.)

Hvor kan jeg downloade PredictionIO

PredictionIOs kildekode er tilgængelig på GitHub. For nemheds skyld er forskellige Docker-billeder tilgængelige samt en Heroku-buildpakke.

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