Skip to content

RioOctaviannusLoka/TFX-Personality-Classification-MLOps

Repository files navigation

Submission 2: Personality Classification MLOps

Nama: Rio Octaviannus Loka

Username dicoding: rio_octaviannus_loka

Deskripsi
Dataset Extrovert vs. Introvert Behavior Data. Dataset Extrovert vs Introvert Behavior Data dari Kaggle berisi data perilaku individu yang berkaitan dengan kepribadian ekstrovert dan introvert. Dataset ini mencakup berbagai fitur seperti pola tidur, durasi olahraga, frekuensi berinteraksi di media sosial, tingkat stres, konsumsi kafein, dan kebiasaan belajar yang dapat mempengaruhi kecenderungan kepribadian seseorang. Data ini dirancang untuk mendukung analisis dan pemodelan machine learning guna memahami atau memprediksi tipe kepribadian berdasarkan perilaku sehari-hari.
Masalah Saat ini, memahami dan memprediksi kecenderungan kepribadian seseorang—apakah ekstrovert atau introvert—berdasarkan pola perilaku sehari-hari menjadi tantangan yang penting. Berbagai faktor seperti durasi tidur, aktivitas olahraga, penggunaan media sosial, tingkat stres, dan konsumsi kafein dapat memengaruhi kepribadian seseorang, namun keterkaitan antar faktor ini sering kali tidak jelas dan sulit dianalisis secara manual. Dengan memanfaatkan data yang tersedia, diperlukan pendekatan analisis dan prediksi yang lebih akurat untuk membantu mengidentifikasi tipe kepribadian, baik untuk kebutuhan riset psikologi, personalisasi layanan, maupun pengembangan aplikasi berbasis kepribadian.
Solusi machine learning Proyek ini akan menggunakan model deep learning untuk mengklasifikasikan apakah seseorang termasuk extrovert atau introvert
Metode pengolahan Metode pengolahan data yang dilakukan mencakup pembagian data menjadi data latih dan evaluasi dengan perbandingan 8:2. Pada fitur kategorikal, dilakukan one hot encoding untuk mengubahnya menjadi numerik, sedangkan untuk fitur numerik, dilakukan perubahan skala menjadi antara 0 dan 1.
Arsitektur model Arsitektur model dibangun menggunakan Keras dengan pendekatan jaringan saraf feedforward yang memadukan fitur kategorikal dan numerikal. Setiap fitur kategorikal diubah menjadi vektor one-hot dengan ukuran sesuai jumlah kategori, sementara fitur numerikal direpresentasikan sebagai input berdimensi satu. Semua input digabungkan melalui lapisan concatenate, lalu diproses melalui tiga lapisan dense berturut-turut dengan jumlah neuron 256, 64, dan 16 yang masing-masing menggunakan aktivasi ReLU untuk menangkap pola non-linear. Lapisan output menggunakan satu neuron dengan aktivasi sigmoid untuk memprediksi probabilitas kelas biner. Model dikompilasi menggunakan optimizer Adam, fungsi loss binary crossentropy, serta metrik akurasi biner, yang sesuai untuk kasus klasifikasi dua kelas.
Metrik evaluasi Metriks evaluasi yang digunakan dalam proyek ini mencakup AUC, precision, recall, ExampleCount, dan BinaryAccuracy
Performa model Model yang dihasilkan memiliki performa yang cukup baik dengan akurasi ketika training yaitu sekitar 97% dan akurasi evaluasi sekitar 89%.
Opsi deployment Proyek ini menggunakan platform Railway untuk deployment. Railway adalah platform cloud yang memudahkan proses deployment aplikasi, termasuk API, website, maupun layanan berbasis machine learning, tanpa perlu mengelola infrastruktur secara manual.
Web app personality classification model
Monitoring Hasil monitoring dari model serving menggunakan Prometheus untuk memberikan gambaran menyeluruh mengenai kinerja dan kesehatan sistem saat model dijalankan. Prometheus mengumpulkan metrik seperti waktu respons prediksi, throughput permintaan, tingkat keberhasilan dan kegagalan (error rate), pemakaian CPU, memori, serta latensi.

About

This repo is the final project from Dicoding’s MLOps course, building a TFX pipeline for classifying introvert vs extrovert personalities. It includes ExampleGen, StatisticsGen, SchemaGen, ExampleValidator, Transform, Trainer, Resolver, Evaluator, Pusher. Runs on Apache Beam, deployed on Railway, monitored with Prometheus, and tested via notebook.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors