Apache SystemDS


Apache SystemDS (sebelumnya dikenal sebagai Apache SystemML) adalah sistem pemelajaran mesin (ML) sumber terbuka yang dirancang untuk mendukung seluruh siklus hidup ilmu data, mulai dari awal hingga akhir. Sistem ini membantu dalam mengelola dan menjalankan model ML untuk analisis data.

Karakteristik yang membedakan SystemDS adalah:

  1. Kustomisasi algoritma melalui bahasa yang mirip R dan Python.
  2. Berbagai mode eksekusi, termasuk Standalone, Spark Batch, Spark MLContext, Hadoop Batch, dan JMLC.
  3. Optimasi otomatis berdasarkan karakteristik data dan kluster untuk memastikan efisiensi dan skalabilitas.

Contoh skrip

[sunting | sunting sumber]

Analisis Komponen Utama

[sunting | sunting sumber]

Cuplikan kode berikut [1] melakukan analisis komponen utama (PCA) dari matriks masukan 𝐴, yang mengembalikan dan

# PCA.dml
# Refer: https://github.com/apache/systemds/blob/master/scripts/algorithms/PCA.dml#L61

N = nrow(A);
D = ncol(A);

# perform z-scoring (centering and scaling)
A = scale(A, center==1, scale==1);

# co-variance matrix 
mu = colSums(A)/N;
C = (t(A) %*% A)/(N-1) - (N/(N-1))*t(mu) %*% mu;

# compute eigen vectors and values
[evalues, evectors] = eigen(C);

Skrip pemanggilan

[sunting | sunting sumber]
spark-submit SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \
  OUTPUT=OUTPUT_DIR/pca-1000x1000-model PROJDATA=1 CENTER=1 SCALE=1

Fungsi basis data

[sunting | sunting sumber]

Algoritma pengelompokan DBSCAN dengan jarak Euclidean.

X = rand(rows=1780, cols=180, min=1, max=20) 
[indices, model] = dbscan(X = X, eps = 2.5, minPts = 360)

Pranala luar

[sunting | sunting sumber]

Referensi

[sunting | sunting sumber]
  1. ^ apache/systemds, 2025-04-19, diakses tanggal 2025-04-20