Skip to content

A simple machine learning pipeline project built using TensorFlow Extended (TFX)

Notifications You must be signed in to change notification settings

mellisadmyn/ml-pipeline-development

Repository files navigation

Proyek Pengembangan Machine Learning Pipeline

Proyek ini merupakan bagian dari submission awal pada kelas Machine Learning Operations (MLOps) di Dicoding. Tujuan utama dari proyek ini adalah untuk embuatan machine learning pipeline sederhana menggunakan TensorFlow Extended (TFX).

🎯 Objectives

  1. Membangun Machine Learning Pipeline End-to-End dengan TFX

    Mengimplementasikan ML pipeline menggunakan TensorFlow Extended (TFX) dengan komponen-komponen utama seperti ExampleGen, StatisticsGen, SchemaGen, ExampleValidator, Transform, Trainer, Tuner, Resolver, Evaluator, dan Pusher untuk memastikan alur kerja yang terstandarisasi.

  2. Menerapkan Hyperparameter Tuning secara Otomatis

    Mengoptimalkan performa model melalui komponen Tuner dalam pipeline untuk menemukan kombinasi parameter terbaik secara efisien.

  3. Melakukan Deployment Model dengan TensorFlow Serving

    Menyiapkan dan mendistribusikan model yang telah dilatih agar dapat diakses melalui API menggunakan TensorFlow Serving.

  4. Menguji Endpoint Serving untuk Prediksi Model

    Membuat notebook khusus untuk mengirim request prediksi ke endpoint serving dan mengevaluasi hasil prediksi secara real-time.

📑 Methodology

1️⃣ Pipeline Initialization

Konfigurasi awal untuk mendefinisikan nama pipeline, path penyimpanan metadata, model, dan dataset. Inisialisasi ini penting untuk menjaga struktur pipeline tetap terorganisir dan mudah direproduksi.

2️⃣ Data Ingestion

  • Membaca Dataset CSV: Dataset dimuat dalam format .csv dan diproses menggunakan komponen CsvExampleGen dari TFX.
  • Konversi ke TFRecord: Data dikonversi menjadi format TFRecord, lalu secara otomatis dipisah menjadi data pelatihan dan evaluasi (default: 80% train, 20% eval).

3️⃣ Data Validation

  • Statistik Data (StatisticsGen): Menghasilkan ringkasan statistik untuk seluruh fitur dataset.
  • Schema Otomatis (SchemaGen): Membangun skema data berdasarkan statistik, seperti tipe data dan nilai unik.
  • Validasi Data (ExampleValidator): Memeriksa anomali, missing values, dan outlier dibandingkan dengan skema.

4️⃣ Data Transformation

  • Transformasi Fitur (Transform): Mengaplikasikan preprocessing menggunakan TensorFlow Transform, seperti normalisasi fitur numerik atau encoding fitur kategorikal.
  • Menyiapkan Data untuk Model: Output dari tahap ini akan menjadi input langsung ke model saat pelatihan dan inferensi.

5️⃣ Model Training

  • Pelatihan Model (Trainer): Pipeline akan melakukan pelatihan dengan data hasil transformasi.
  • Integrasi Fungsi Tuning: Pipeline juga menggunakan komponen Tuner untuk melakukan hyperparameter tuning secara otomatis.

6️⃣ Model Evaluation

  • Evaluasi Kinerja (Evaluator): Model dievaluasi menggunakan data validasi dan metrik seperti akurasi atau loss.
  • Model Blessing (Resolver & Evaluator): Model dibandingkan dengan versi sebelumnya untuk menentukan apakah model baru layak di-push ke tahap produksi (blessed).

7️⃣ Model Deployment

  • Model Deployment (Pusher): Jika model mendapat status blessed, model akan dikirim ke direktori serving_model_dir dan siap untuk digunakan dalam produksi.
  • TensorFlow Serving: Model dapat menggunakan TensorFlow Serving untuk keperluan prediksi real-time.

8️⃣ Model Serving Test

  • Request Prediksi: Pada notebook terpisah, dibuat untuk mengirim data ke endpoint TensorFlow Serving dan mengamati hasil prediksi dari model yang telah dideploy.

📊 Submission Review

Score Submission

📌 Conclusion

Proyek ini telah membangun pipeline machine learning sederhana menggunakan TensorFlow Extended (TFX) untuk memproses data, melatih model, dan menyiapkannya untuk deployment. Pipeline ini mencakup tahapan mulai dari ingest data hingga evaluasi model, sesuai dengan studi kasus prediksi attrition karyawan.

Author: Mellisa
Date: 17-12-2024
Tools: Python, TensorFlow, TensorFlow Extended (TFX), TFX Components, TensorFlow Serving

About

A simple machine learning pipeline project built using TensorFlow Extended (TFX)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published