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:

  1. Buat S3 bucket
  2. Upload data misalnya titanic ke bucket S3
  3. Buka Amazon SageMaker
  4. Pilih SageMaker Studio
  5. Pada role pilih create new role > pilih any S3 bucket > create role
  6. Beri nama profile
  7. Pilih submit
  8. Pastikan SageMaker Studio telah siap
  9. Pilih Launch app > Studio
  10. Tampilan console akan berubah menjadi tampilan Amazon SageMaker Studio
  11. Pilih icon dengan nama SageMaker resources
  12. Drop down kemudian pilih Data Wrangler
  13. Pilih New flow
  14. Rename data flow dengan klik kanan sesuai projek yang sedang dikerjakan misalnya titanic.flow
  15. Karena data sebelumnya di letakkan di bucket S3 maka pilih import data dari Amazon S3
  16. Pilih nama S3 bucket yang sebelumnya telah dibuat
  17. Pilih tombol Import
  18. Akan terbentuk flow yang akan digunakan untuk proses transformasi data
  19. Untuk cek tipe data yang akan diimport klik tanda plus dan klik edit data types
  20. Perbaiki data tipe yang diperlukan
  21. Klik back to data flow
  22. Untuk analisis, klik tanda plus dan klik add analysis
  23. Lakukan analisa yang diperlukan, klik analisa maka akan muncul visualisasi data
  24. Analisa tersebut juga bisa disimpan dengan menekan tombol save
  25. Klik back to data flow
  26. Untuk transformasi data, klik tanda plus dan klik add transform
  27. Klik tombol add step, maka akan muncul pilihan transformasi data
  28. Lakukan transformasi yang diperlukan
  29. Klik back to data flow
  30. Analisa kembali data yang telah ditransformasi, klik tanda plus dan klik add analysis
  31. Pilih tipe analisa quick model, pilih labelnya, dan pilih preview
  32. Klik tombol save setelah melakukan analisa
  33. Setelah seluruh proses analisa dan transformasi selesai klik tab export
  34. Pilih semua proses dalam flow, lalu klik export step
  35. Ada beberapa bentuk dalam export step, misalnya python code
  36. Maka python code sudah siap digunakan
Selain itu di Amazon SageMaker sudah terdapat 17 algoritma built-in yang siap digunakan untuk machine learning sehingga cukup untuk menyelesaikan beberapa kasus penggunaan. Ke 17 algoritma tersebut dibedakan menjadi 3 kategori penggunaan, yaitu:
  1. 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
  2. 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
  3. 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:

  1. Buka AWS Glue di console
  2. Pilih Jobs
  3. Pilih Blank Canvas > Create
  4. Pilih Source > PostgreSQL sebagai sumber data
  5. Pilih Transform > Filter
  6. Setelah layar filter muncul kemudian pilih kolom apa yang akan difilter > add condition
  7. Pilih tab Job details > isi nama > pilih IAM role > aktifkan fitur Glue AutoScalling
  8. Klik tombol Save untuk menyimpan ETL job ke Glue Studio
  9. Buka tab Event preview untuk melihat perilaku data
  10. Pilih Transform > PII Transformation
  11. Pilih Find in each data > pilih contohnya email address
  12. Tentukan aksi jika menemukan email addres > misalnya mengganti 5 string menjadi bintang untuk melindungi pelanggan
  13. Setelah Job selesai maka Save > pilih tombol Run
  14. Di bagian tab Script telah tersedia data
  15. Untuk melihat hasil Job maka lihat di Amazon Athena
Data menjadi hal yang fundamental namun juga dapat menjadi bersentimen negatif karena pergerakan bisnis yang begitu cepat maka data akan berjumlah besar atau biasa disebut big data. Data yang sangat besar memberikan keuntungan yaitu analisis yang lebih tepat karena data yang tersedia banyak sehingga lebih merepresentasikan keadaan. Proses analisis data yang besar membutuhkan infrastruktur yang besar atau dengan infrastruktur yang kecil tetapi proses pengolahan yang lama. Oleh sebab itu diperlukan gudang data atau data warehouse. Mungkin Amazon Redshift merupakan solusi. Modernisasi database dapat membuat biaya lebih kecil dan kecepatan lebih tinggi.




ref:
awsevents.com

Komentar