Apache PredictionIO: Pembelajaran mesin lebih mudah dengan Spark

Apache Foundation telah menambahkan proyek pembelajaran mesin baru ke dalam daftar, Apache PredictionIO, versi sumber terbuka dari proyek yang awalnya dirancang oleh anak perusahaan Salesforce.

Apa yang PredictionIO lakukan untuk pembelajaran mesin dan Spark

Apache PredictionIO dibangun di atas Spark dan Hadoop, dan menyajikan prediksi bertenaga Spark dari data menggunakan templat yang dapat disesuaikan untuk tugas-tugas umum. Aplikasi mengirim data ke server peristiwa PredictionIO untuk melatih model, lalu membuat kueri prediksi berdasarkan model tersebut ke mesin.

Spark, MLlib, HBase, Spray, dan Elasticsearch semuanya disertakan bersama PredictionIO, dan Apache menawarkan SDK yang didukung untuk bekerja di Java, PHP, Python, dan Ruby. Data dapat disimpan dalam berbagai back end: JDBC, Elasticsearch, HBase, HDFS, dan sistem file lokalnya semuanya didukung di luar kotak. Bagian belakang dapat dicolokkan, sehingga pengembang dapat membuat konektor ujung belakang khusus.

Bagaimana template PredictionIO mempermudah penyajian prediksi dari Spark

Keuntungan paling menonjol dari PredictionIO adalah sistem templatnya untuk membuat mesin pembelajaran mesin. Template mengurangi pekerjaan berat yang diperlukan untuk menyiapkan sistem guna menyajikan jenis prediksi tertentu. Mereka mendeskripsikan dependensi pihak ketiga yang mungkin diperlukan untuk pekerjaan itu, seperti framework aplikasi pembelajaran mesin Apache Mahout.

Beberapa template yang ada meliputi:

  • Mesin rekomendasi universal.
  • Klasifikasi teks.
  • Analisis kelangsungan hidup (untuk prediksi waktu antara kegagalan).
  • Memberi label pada topik menggunakan Wikipedia sebagai basis pengetahuan.
  • Analisis kesamaan.

Beberapa kerangka juga terintegrasi dengan produk pembelajaran mesin lainnya. Misalnya, dua template prediksi yang saat ini ada di galeri PredictionIO, untuk deteksi churn rate dan rekomendasi umum, gunakan penyempurnaan Sparkling Water H2O.ai untuk Spark.

PredictionIO juga dapat secara otomatis mengevaluasi mesin prediksi untuk menentukan hyperparameter terbaik untuk digunakan dengannya. Pengembang perlu memilih dan menyetel metrik untuk melakukan ini, tetapi umumnya ada lebih sedikit pekerjaan yang terlibat dalam melakukan ini daripada dalam menyetel hyperparameter dengan tangan.

Saat dijalankan sebagai layanan, PredictionIO dapat menerima prediksi secara tunggal atau sebagai batch. Prediksi batch secara otomatis diparalelkan di seluruh cluster Spark, selama algoritme yang digunakan dalam tugas prediksi batch semuanya dapat diserialkan. (Algoritme default PredictionIO adalah.)

Di mana mengunduh PredictionIO

Kode sumber PredictionIO tersedia di GitHub. Untuk kenyamanan, berbagai image Docker tersedia, serta paket build Heroku.