Perusahaan harus mengadopsi strategi dan teknologi yang canggih untuk secara proaktif mengurangi, mencegah, dan menanggulangi kerugian finansial yang disebabkan oleh penipuan transaksi. Dengan mengimplementasikan sistem deteksi dini yang efektif, pelatihan yang komprehensif bagi staf terkait, serta kerangka kerja keamanan yang ketat, perusahaan bertujuan untuk meminimalkan dampak keuangan dari segala jenis aktivitas penipuan yang terjadi dalam transaksi.
Selain itu, perusahaan juga harus mengembangkan pendekatan yang seimbang antara keamanan dan kenyamanan pengguna dalam menghadapi aktivitas penipuan. Langkah-langkah yang diambil untuk mendeteksi dan mencegah penipuan haruslah terintegrasi secara halus ke dalam pengalaman pengguna, tanpa mengurangi kemudahan atau memberikan gangguan yang berarti.
mengatur parameter, path, dan konfigurasi penting lainnya dalam proyek ini.
file-file pkl yang sudah di serialisasikan dari masing masing model machine learning dari training sampai ke tuning.
bagian utama dalam proyek ini, memuat semua kode yang berperan dalam fungsionalitas dan pengoperasian proyek ini.
Code yang berisi fungsi-fungsi yang diperlukan.
Pada tahap ini, dilakukan pengembangan model machine learning untuk deteksi penipuan. Langkah-langkahnya antara lain:
- Menyiapkan dengan mendownload data dari google drive dengan size sebesar 470.7 MB.
- Membagi data menjadi set pelatihan (train), validasi (val), dan pengujian (testing).
- Melakukan preprocessing data, seperti One-Hot Encoding (OHE).
- Melatih model menggunakan algoritma XGBoost.
- Mencari parameter optimal menggunakan teknik random search.
- Setelah mendapatkan parameter optimal, model disimpan ke dalam file pkl (pickle).
File ini menggunakan FastAPI untuk membangun layanan deteksi penipuan. Langkah-langkahnya mencakup:
- Memanfaatkan model XGBoost yang telah diserialisasikan dari model terbaik.
- Menerima fitur-fitur sebagai input sesuai dengan data pelatihan.
- Proses input data termasuk OHE dan prediksi berdasarkan fitur yang sudah bersih.
- Menghitung probabilitas hasil prediksi.
File ini bertanggung jawab untuk menampilkan hasil prediksi melalui antarmuka Streamlit yang terhubung ke API FastAPI (API_URL).
MMemudahkan penggunaan machine learning Fraud Detection, proyek ini dapat dijalankan dalam lingkungan Docker.
Eksperimentasi dari hasil eksplorasi data.
Library dependencies yang diperlukan untuk menjalankan code python.
Rincian dan dataset dapat diunduh pada link dibawah ini.
- data: https://www.kaggle.com/datasets/ealaxi/paysim1
- Artikel: https://medium.com/@akhdansyah/machine-learning-fraud-detection-0e10308b9ee1
Poryek ini berfokus pada Fraud Detection menggunakan Machine Learning. Berikut adalah langkah-langkah utama yang dikerjakan:

Sebelum menjalankan proyek ini, pastikan komputer Anda memiliki spesifikasi yang layak, karena proses Docker ini akan menjalankan ulang training.py.

Untuk menjalankan proyek menggunakan Docker ada dua opsi yang bisa dilakukan, diantaranya:
- Menjalankan Docker dengan training
Jalankan Dockerfile dengan perintah berikut, pada baris 33:
CMD ["sh", "-c", "python training.py && uvicorn main:app --host 0.0.0.0 --port 8000 --reload & streamlit run --server.port 8501 app.py"] - Menjalan Docker hanya FastAPI & Streamlit
Jalan Dockerfile dengan command ini, pada line 35
CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port 8000 --reload & streamlit run --server.port 8501 app.py"]
Perlu diingat jika ingin menjalankan hanya bisa salah satu command yang dijalankan maka dari itu silahkan berikan Comment # pada salah satu line 33 atau line 35, sesuaikan dengan keinginan. Jika sudah, maka bisa dilakukan menjalankan Docker di terminal, ikuti langkah-langkah di bawah ini.
-
Membangun Image Docker:
- Pastikan Docker telah terinstal di komputer Anda.
- Buka terminal/cmd, masuk ke dalam direktori proyek yang berisi Dockerfile.
- Jalankan perintah untuk membangun image Docker:
Gantilah
docker build -t nama_image .nama_imagedengan nama yang ingin Anda berikan pada image Docker.
-
Menjalankan Container:
Setelah berhasil membangun image Docker, jalankan container dengan perintah:docker run -p 8000:8000 -p 8501:8501 nama_imagejika pesan docker Killed ketika run training.py, maka jalankan perintah
docker run -p 8000:8000 -p 8501:8501 --cpus=0.5 --memory=2g my_image_namesesuaikan dengan core cpu dan memory/ram lokal agar dapat berjalan
Perintah ini akan menjalankan container dari image yang telah dibuat sebelumnya. Opsi -p digunakan untuk memetakan port dari container ke port lokal komputer Anda.
Akses Proyek:
- Setelah container berjalan, API akan dapat diakses melalui
http://localhost:8000. - Aplikasi Streamlit akan dapat diakses melalui web browser pada
http://localhost:8501.

Pastikan untuk mengganti nama_image dengan nama yang relevan atau sesuai dengan keinginan Anda. Langkah-langkah ini akan membangun image Docker dari proyek deteksi penipuan Anda dan menjalankan container untuk mengakses API dan aplikasi Streamlit melalui port yang telah ditetapkan.
Jika code diatas tidak berjalan, maka dapat akses dalam link dibawah ini. Project ini sudah deploy di serverless google cloudrun
https://akhdan-project-krhnjjdena-et.a.run.app/
