Spark ile Makine Öğrenmesi

Apache Açık Kaynak Yazılım Kuruluşu’nın projelerinden biri olan Spark, büyük veri işlemek üzere geliştirilmiş bir analiz motorudur. SQL ve yapısal veri işleme (Spark SQL), makine öğrenmesi (MLlib), çizge işleme (GraphX) için de araçlar ve Java, Scala, Python ve R dilleri ile kullanılabilen API’ler sunmaktadır.

Spark 1.2 sürümünden itibaren makine öğrenmesi için kütüphane bulunmaktadır. Ancak Spark 2.0’dan itibaren Spark MLlib ile makine öğrenmesi paketini yenileyerek DataFrame (Veri Çerçevesi) tabanlı bir yapıya geçmiştir. (DataFrame veriyi bir tablo - ya da eşit uzunlukta vektörler kümesi - olarak modelleyen bir veri yapısıdır)

Spark MLlib ana hatlarıyla şu işlevleri sağlar:

  • Makine öğrenmesi algoritmaları: Sınıflandırma, kümeleme, regrasyon teknikleri ve işbirlikçi filtreleme öneri algoritması

  • Öznitelik çıkartma, değiştirme, boyut azaltma ve boyut seçme yöntemleri

  • Makine öğrenmesi çözümleri için veri hattı (pipeline) tanımlama yöntemleri

  • Algoritma ve modellerin saklanması


Bu Türkçe notlar Prof. Pınar KARAGÖZ tarafından kaynak olarak Apache Spark web sitesindeki bilgilerden faydalanılarak hazırlanmıştır. Scala kodlama örnekleri aynı kaynaktan alınmıştır.