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ı
- 1 - Temel İstatistik Fonksiyonları
- 2 - Veri Kaynakları
- 3 - Veri Hattı (Pipeline) Uygulamaları
- 4 - Öznitelik Çıkartımı, Öznitelik Dönüşümü ve Öznitelik Seçimi
- 5 - Sınıflandırma ve Regrasyon
- 6 - Gözetimsiz Öğrenme Metotları
- 7 - İşbirlikçi Filtreleme (Collaborative Filtering)
- 8 - Sık Örüntü Madenciliği
- 9 - Model Seçimi
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.