Pengetahuan Dasar Amazon SageMaker, AWS Glue, dan Amazon Redshift
Salah satu hal penting dari mengembangkan fitur machine learning adalah mempersiapkan data training. Data wrangler adalah salah satu layanan yang disediakan AWS sebagai bagian dari Amazon SageMaker Data Studio yang merupakan IDE atau interactive development environment ditujukan untuk data scientist guna mempersiapkan data, melakukan pembuatan, training, hingga development machine learning. Mempersiapkan data secara umum merupakan hal yang banyak memakan waktu, bahkan lebih lama dibandingkan membuat machine learningnya sendiri. Hal ini terjadi karena data yang didapatkan tidak bersih sehingga perlu untuk mendapatkan perlakuan khusus.
Rata-rata seorang data scientist menghabiskan 60% waktunya untuk mempersiapkan data. Proses yang dilewati adalah data selection, data cleaning, fiture engineering, visualisasi, pembuatan prototipe model, dan model production. Hal yang biasa dilakukan adalah mengaudit data untuk mencari nilai yang hilang, mengganti atau menambah data yang hilang tersebut, serta mendeteksi outlier atau data aneh (anomali). Hal-hal itu dilakukan oleh data scientist dengan menulis kode tersendiri. Perlu diketahui bahwa kode spark cukup ramah untuk pandas. Dengan demikian proses mengubah data mentah menjadi data yang siap production banyak melakukan maju mundur.
![]() |
sumber: https://ap-southeast-1.console.aws.amazon.com/sagemaker/home?region=ap-southeast-1#/landing |
Amazon SageMaker Data Wrangler adalah solusi dari mempersiapkan data lebih cepat melaui fitur, visualisasi interface yang membantu data scientist memilih serta mengqueri data, terdiri dari 100 lebih transformasi data yang built-in tanpa harus menulis kode (namun masih bisa diedit dengan PySpark, Pandas, dan SQL), dan data wrangler juga dapat membantu untuk memindahkan data yang sudah siap ke production. Cara menggunakan Amazon SageMaker Data Wrangler:
- Buat S3 bucket
- Upload data misalnya titanic ke bucket S3
- Buka Amazon SageMaker
- Pilih SageMaker Studio
- Pada role pilih create new role > pilih any S3 bucket > create role
- Beri nama profile
- Pilih submit
- Pastikan SageMaker Studio telah siap
- Pilih Launch app > Studio
- Tampilan console akan berubah menjadi tampilan Amazon SageMaker Studio
- Pilih icon dengan nama SageMaker resources
- Drop down kemudian pilih Data Wrangler
- Pilih New flow
- Rename data flow dengan klik kanan sesuai projek yang sedang dikerjakan misalnya titanic.flow
- Karena data sebelumnya di letakkan di bucket S3 maka pilih import data dari Amazon S3
- Pilih nama S3 bucket yang sebelumnya telah dibuat
- Pilih tombol Import
- Akan terbentuk flow yang akan digunakan untuk proses transformasi data
- Untuk cek tipe data yang akan diimport klik tanda plus dan klik edit data types
- Perbaiki data tipe yang diperlukan
- Klik back to data flow
- Untuk analisis, klik tanda plus dan klik add analysis
- Lakukan analisa yang diperlukan, klik analisa maka akan muncul visualisasi data
- Analisa tersebut juga bisa disimpan dengan menekan tombol save
- Klik back to data flow
- Untuk transformasi data, klik tanda plus dan klik add transform
- Klik tombol add step, maka akan muncul pilihan transformasi data
- Lakukan transformasi yang diperlukan
- Klik back to data flow
- Analisa kembali data yang telah ditransformasi, klik tanda plus dan klik add analysis
- Pilih tipe analisa quick model, pilih labelnya, dan pilih preview
- Klik tombol save setelah melakukan analisa
- Setelah seluruh proses analisa dan transformasi selesai klik tab export
- Pilih semua proses dalam flow, lalu klik export step
- Ada beberapa bentuk dalam export step, misalnya python code
- Maka python code sudah siap digunakan
- Text data type
- Topic modeling
- LDA atau Latent Dirichlet Allocation
- NTM atau Neural Topic Modelling
- Object2Vec : embedding (proses representasi vektor numerik dan dimensional untuk memudahkan machine learning mengerti data yang dimiliki)
- BlazingText
- Urutan dari kata-kata atau token
- Sequence to Sequence : translasi audio ke teks
- Numeric, table, or combination data type
- Factorization Machine : classification, regression
- Linear Learner
- K-Means : menemukan struktur dalam data
- XGBoost
- k-NN
- Teknik mereduksi dimensi dari data input untuk persipan data
- PCA atau Principal Component Analysis
- Mendeteksi
- Random Cut Forest : data anomali
- IP Insight : data anomali IPv4
- Waktu atau time series
- DeepAR : masalah peramalan atau forecasting
- Membuat fitur rekomendasi
- Object2Vec
- Factorization Machines
- Computer Vision
- Image Classification : memberikan satu atau lebih label
- Object Detection : lebih akurat dengan lokasi objek
- Semantic Segmentation : klasifikasi dengan dasar pixel gambar
Perusahaan yang lebih modern tidak ingin karyawannya memikirkan infrastruktur tetapi lebih memilih agar karyawannya fokus pada bisnis yang sedang dijalani. Data Lake dapat disimpan di Amazon S3, kemudian query dapat dilakukan dengan Amazon Athena, untuk kemudian disajikan menggunakan Amazon EMR atau Amazon OpenSearch Service atau Amazon Redshift. Nah, untuk mengintegrasikan dan memindahkan data digunakan AWS Glue. Biasanya kegiatan ini dilakukan oleh Data Engineer, namun seringkali seorang data analyst dan data scientist juga mengambil peran. Cara menggunakan AWS Glue Studio:
- Buka AWS Glue di console
- Pilih Jobs
- Pilih Blank Canvas > Create
- Pilih Source > PostgreSQL sebagai sumber data
- Pilih Transform > Filter
- Setelah layar filter muncul kemudian pilih kolom apa yang akan difilter > add condition
- Pilih tab Job details > isi nama > pilih IAM role > aktifkan fitur Glue AutoScalling
- Klik tombol Save untuk menyimpan ETL job ke Glue Studio
- Buka tab Event preview untuk melihat perilaku data
- Pilih Transform > PII Transformation
- Pilih Find in each data > pilih contohnya email address
- Tentukan aksi jika menemukan email addres > misalnya mengganti 5 string menjadi bintang untuk melindungi pelanggan
- Setelah Job selesai maka Save > pilih tombol Run
- Di bagian tab Script telah tersedia data
- Untuk melihat hasil Job maka lihat di Amazon Athena
ref: