Belajar Pentaho - Analytics & Machine Learning Workflow
Episode 18 of 23

Belajar Pentaho - Analytics & Machine Learning Workflow

Menghubungkan dunia ETL dengan analitik dan machine learning: menyiapkan pipeline data untuk kebutuhan analytics, mengintegrasi R, Python, dan Weka untuk model ML, membangun alur data prediktif, serta memvisualisasikan hasil dan output model di dashboard.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Data tidak hanya untuk laporan historis — ia bisa menjawab "apa yang akan terjadi?". Episode 18 membahas jembatan antara ETL dan machine learning. Kalian akan belajar menyiapkan data untuk analitik, mengintegrasikan R, Python, dan Weka, membangun alur prediktif, dan menghadirkan hasilnya ke dashboard.

Kuncinya: model machine learning hanyalah konsumen data. Tugas Pentaho adalah menyiapkan data berkualitas yang dimakan model itu — pekerjaan yang sering diabaikan padahal menentukan kualitas model.

Menyiapkan Data untuk Analitik dan ML

Sebelum model melihat data, pipeline harus menyiapkannya. Kualitas data adalah 80% pekerjaan machine learning yang sukses. Langkah inti:

  • Menggabungkan sumber: gabungkan data dari beberapa tabel dan sistem menjadi satu dataset analitik.
  • Bersihkan dan imputasi: tangani missing values (episode 6) dengan keputusan yang disadari — jangan biarkan model belajar dari lubang.
  • Feature engineering: buat kolom turunan yang bermakna — agregat, rasio, kategorisasi, atau nilai lag.
  • Split data: pisahkan dataset menjadi training dan testing agar evaluasi model jujur.

Pentaho unggul di bagian ini: step transformasi seperti Group by, Calculator, Join, dan Stream lookup adalah perangkat feature engineering yang sudah kalian kuasai.

Contoh Feature Engineering di PDI

Feature engineering biasanya kombinasi beberapa step yang sudah kalian kenal. Misalnya, untuk membuat fitur "total belanja 90 hari terakhir" per pelanggan: Sort rows berdasarkan pelanggan dan tanggal, lalu Group by dengan jendela waktu yang sudah disaring di SQL sumber. Tujuannya bukan menulis rumus, melainkan menyusun alur yang bisa dijelaskan, diuji, dan diulang — persis seperti ETL biasa.

Aturan praktis yang berlaku: semakin kompleks feature engineering, semakin penting mencatat langkahnya. Jika fitur tidak bisa dijelaskan, model yang lahir darinya juga tidak bisa dipertanggungjawabkan.

Integrasi dengan Python, R, dan Weka

PDI tidak menggantikan toolkit ML — ia bekerja sama dengannya. Beberapa jalur integrasi:

  • Weka: Pentaho lahir bersama integrasi Weka (data mining toolkit Java). Step Weka bisa melatih dan mengevaluasi model langsung dalam transformasi.
  • Python: lewat Execute Process atau plugin, kalian bisa memanggil script Python dari job. Cocok untuk memanfaatkan ekosistem ML modern seperti scikit-learn.
  • R: dengan R Output atau R Script, kalian bisa menjalankan analisis statistik R dalam pipeline.

Pola yang paling fleksibel: PDI menyiapkan data, lalu memanggil script eksternal, lalu membaca kembali hasilnya untuk diproses atau dilaporkan. Contoh script Python sederhana yang menerima data dan menghasilkan prediksi:

PythonContoh script Python untuk scoring sederhana
import sys
lines = sys.stdin.read().splitlines()
for line in lines:
    jumlah = float(line)
    risiko = "Tinggi" if jumlah > 1000000 else "Rendah"
    print(risiko)

Perhatikan pola di atas: script membaca dari stdin dan menulis ke stdout — kontrak yang mudah dihubungkan dari step Execute Process di PDI. Tanpa braces, alurnya mudah dibaca dan aman dieksekusi dari command line. Sebelum mengintegrasikannya, uji script berdiri sendiri dari terminal dengan python3 script.py — jika outputnya benar di sana, masalah integrasi nanti hampir pasti ada di konfigurasi PDI, bukan di script.

Info

Kontrak I/O sederhana — stdin ke stdout — adalah cara paling portabel menghubungkan PDI dengan bahasa apa pun. Selama script menerima baris dan mengembalikan hasil, ia bisa diintegrasikan tanpa plugin khusus.

Membangun Alur Data Prediktif

Alur prediktif yang lengkap terdiri dari tiga fase yang bisa dibangun sebagai job:

  1. Training: dataset riwayat disiapkan, model dilatih (Weka/Python/R), dan artefak model disimpan.
  2. Scoring: data baru yang masuk dinilai dengan model yang sudah dilatih.
  3. Distribusi hasil: hasil skor digabung dengan data bisnis, ditulis ke tabel, dan disajikan di dashboard.

Fase training biasanya dijalankan berkala (misal mingguan) karena model perlu belajar dari data terbaru; fase scoring bisa berjalan jauh lebih sering. Orkestrasi ini cocok dengan job PDI: job train_model mengumpulkan data dan melatih model, lalu job score_data memakai model untuk menilai data masuk.

Contoh Orkestrasi Training dan Scoring

Job di bawah menunjukkan urutan sederhana yang membedakan fase training dan scoring:

Alur job training dan scoring
START -> siapkan_dataset.ktr -> train_model.kjb -> simpan_artefak.kjb
                                     |
                                     -> score_harian.kjb -> tabel_skor.ktr

Job train_model berjalan mingguan dan menyimpan artefak model; job score_harian berjalan setiap malam memakai artefak terbaru untuk menilai data baru. Dua jalur ini sengaja dipisah agar kegagalan scoring tidak menimpa proses training — pemisahan yang menjaga stabilitas operasional.

Danger

Jangan pernah meng-scoring dengan model yang datanya bocor dari masa depan. Pisahkan training dan testing secara waktu (misal: latih dengan data sampai bulan lalu, uji dengan data bulan ini) — kesalahan paling umum dan paling merusak di alur prediktif.

Memvisualisasikan Hasil dan Output Model

Hasil prediksi tidak berguna jika tidak sampai ke pengambil keputusan. Cara menghadirkan output model:

  • Tabel hasil: simpan skor ke tabel database, lalu tampilkan di report Pentaho (episode 11).
  • Distribusi skor: buat chart distribusi untuk melihat proporsi hasil prediksi.
  • Dashboard skor: gabungkan metrik model — akurasi, coverage, jumlah data di-skoring — dalam satu dashboard operasional.

Pola yang umum: job scoring menulis tabel hasil setiap malam, dan dashboard otomatis memperbarui di pagi hari. Manajemen tidak perlu bertanya "berapa banyak pelanggan berisiko tinggi?" — jawabannya sudah di layar.

Pola Pipeline Analitik yang Sehat

Menutup episode ini, pola sehat yang menyatukan semuanya:

  • Pisahkan penyiapan data dari pemodelan: dataset analitik disiapkan transformasi yang terpisah, reusable, dan tervalidasi.
  • Versikan dataset: simpan snapshot data yang dipakai training agar eksperimen bisa dibandingkan dengan adil.
  • Catat keputusan model: simpan versi model, tanggal training, dan metrik evaluasi di tabel riwayat.
  • Monitor drift: pantau distribusi data scoring terhadap data training — jika berubah jauh, model butuh dilatih ulang.

Pola ini membuat alur ML kalian bukan sekadar eksperimen, melainkan operasional yang bisa dipertanggungjawabkan — senada dengan semangat operational readiness di episode berikutnya.

Penutup

Di episode 18 ini kalian menghubungkan ETL dengan analitik dan ML: menyiapkan data untuk model, mengintegrasikan Python, R, dan Weka, membangun alur training-scoring-distribusi, serta memvisualisasikan output model di dashboard.

Inti yang harus dibawa pulang:

  • Kualitas data yang disiapkan pipeline menentukan kualitas model — bukan kecanggihan algoritma.
  • PDI paling kuat sebagai preparation layer; pelatihan model diserahkan ke toolkit ML.
  • Kontrak stdin-stdout membuat integrasi script lintas bahasa tetap sederhana.
  • Alur prediktif sehat memisahkan training, scoring, dan distribusi, plus memantau drift.

Di episode 19, kita menyiapkan yang terburuk sekaligus terbaik: operational readiness & runbooks — menulis runbook untuk deployment, kegagalan, dan recovery, backup repository dan konfigurasi, prosedur insiden, serta perawatan rutin dan pembersihan.

Belajar Pentaho - Analytics & Machine Learning Workflow | Belajar Pentaho