Apa Itu Google BigQuery ML
Saat ini banyak sekali orang yang tertarik dengan profesi “Data Scientist”. Kurang dari lima tahun terakhir profesi ini banyak dibutuhkan di berbagai perusahaan, baik itu Startup maupun Corporate. Data Scientist merupakan sebuah profesi yang berada dalam bidang interdisipliner yang berfokus pada penggunaan sebuah metode dalam proses mengumpulkan, mengolah, dan menganalisis data, baik structured maupun unstructured data. Penjelasan lengkap bisa dibaca pada artikel “Apa itu Data Scientist”.
Technical skill yang harus dikuasai sebagai seorang Data Scientist adalah mampu menguasai beberapa bahasa pemrograman seperti python ataupun R. Kedua bahasa pemrograman tersebut digunakan oleh Data Scientist untuk membantu dalam membangun model machine learning ataupun deep learning. Seiring dengan kemajuan teknologi, selain menggunakan kedua bahasa pemrograman tersebut, model machine learning dapat dibangun dengan menggunakan query SQL. Saat ini, Google menyediakan satu services yang dapat digunakan untuk membangun model machine learning di dalam query SQL yaitu Bigquery Machine Learning (BQML).
Sebelum lebih jauh ke Bigquery ML, mari kenali dulu apa itu BigQuery. BigQuery adalah sebuah data warehouse yang tidak memiliki server (serverless), dapat melakukan query data dalam skala petabyte, dirancang untuk kebutuhan analisis data dengan kinerja tinggi dan biaya operasional yang dikeluarkan relatif terjangkau. Karena sifatnya serverless, service ini tidak memerlukan lagi biaya untuk melakukan perawatan server. Info lebih lanjut bisa di baca di “What is Bigquery?”. Berikut adalah tampilan dari BigQuery console :
Google Bigquery memiliki tiga bagian utama
Bagian memuat beberapa list resource yang dapat anda monitoring. Seperti query history, query saved, job history, dataset dan seterusnya.
Bagian ini memuat informasi sesuai dengan apa yang dilakukan pada saat memilih resource di bagian navigation panel. Contohnya, ketika anda klik dataset pada bagian navigation panel, detail panel akan memberikan semua informasi mengenai dataset tersebut.
Bagian ini merupakan workspace yang diperuntukan melakukan query sebagaimana query editor pada umumnya.
Seperti yang sudah disebutkan sebelumnya, BigQuery digunakan sebagai alat untuk menganalisa sekumpulan data. Sebagai contoh, anda ingin melihat apa yang telah terjadi berdasarkan informasi dari data, hal ini biasa disebut dengan descriptive analysis. Namun apakah query bisa digunakan untuk memprediksi kejadian di masa yang akan datang, seperti berapa total sales di bulan depan?, berapa banyak item yang harus disediakan seller agar bisa memenuhi kebutuhan pasar?. Ketika mendengar pertanyaan-pertanyaan tersebut anda akan dibawa ke dalam teknik analisis yang lebih lanjut yaitu predictive analysis. Teknik predictive analysis yang terkenal saat ini adalah Machine Learning. Mari kita bahas secara singkat apa itu machine learning.
Machine Learning merupakan sebuah mesin yang memiliki kemampuan secara otomatis dalam mempelajari pattern dari sekumpulan data tanpa arahan dari penggunanya. Metode ini dikembangkan berdasarkan disiplin ilmu yaitu statistik dan data mining sehingga machine ini dapat mempelajari dan menganalisa data tanpa perlu diperintah dan di program ulang. Secara umum machine learning dibagi menjadi dua bagian, yaitu :
Teknik machine learning yang mempelajari data berdasarkan target label tertentu. Metode yang sering digunakan yaitu Regression dan Classification.
Teknik machine learning yang mempelajari pola data berdasarkan karakteristik yang sama. Sehingga hasil analisis data-data yang memiliki pola yang sama akan dikumpulkan dalam sebuah kelompok yang biasa disebut dengan cluster. Metode yang sering digunakan yaitu clustering analysis.
Info lebih lanjut mengenai machine learning dapat dibaca di “Machine Learning”.
Kembali ke permasalahan awal, apakah query bisa digunakan untuk melakukan predictive analysis?. Permasalahan ini dapat dijawab dengan Bigquery Machine Learning (BQML).
Bigquery Machine Learning adalah salah satu fitur dari BigQuery yang memungkinkan Data Scientist atau Data Analyst untuk membangun dan mengoperasionalkan model machine learning menggunakan SQL dengan waktu yang relatif singkat. BigQuery ML sangat layak bagi company atau organisasi yang ingin memulai implementasi machine learning namun tidak memiliki resources Data scientist dan hanya memiliki Data Analyst. Salah satu keunggulan dari BQML ini adalah service ini dapat diberdayakan oleh Data Analyst yang mungkin tidak memiliki latar belakang data science dan pengalaman dalam membangun model machine learning. Sehingga dengan service ini, Data Analyst diharapkan dapat membangun model machine learning pertamanya dengan memaksimalkan kemampuan mereka dalam penggunaan SQL dan juga memberikan knowledge baru yang mungkin dapat diperdalam di kemudian hari.
Beberapa fungsi dari BigQuery ML dapat diakses melalui :
Seperti yang sudah dijelaskan sebelumnya, dalam proses membangun model machine learning, dapat dilakukan didalam bigquery console. Berikut adalah tampilan dari bigquery console
Selain menggunakan bigquery console, bagi yang terbiasa menggunakan linux, service ini juga dapat diakses melalui command line. Berikut adalah tampilan di dalam command line:
Tersedia juga service dengan menggunakan Bigquery Rest API.
1. External Platform seperti Jupyter Notebook
Bagi yang sering menggunakan Jupyter Notebook sebagai tools analysis nya, anda dapat mengoperasikan Bigquery ataupun Bigquery ML di dalam Jupyter Notebook ini.
Membangun model machine learning tidak akan terlepas dari yang namanya algoritma. Algoritma disini dibangun dari kumpulan rumus-rumus matematika dan statistika. Saat ini beberapa model algoritma yang support di dalam BQML adalah sebagai berikut :
1. Regression * Linear Regression: digunakan untuk forecasting , dengan nilai target/ label bernilai real.
Contoh: Memprediksi harga harga rumah, pendapatan, dan sebagainya.
1. Binary Logistic Regression : digunakan untuk problem klasifikasi dengan label bernilai binary 0 dan 1 .
Contoh: Memprediksi apakah transaksi pada sebuah bank merupakan transaksi fraud atau tidak.
1. Multiclass Logistic Regression: digunakan untuk problem klasifikasi dengan label yang lebih dari dua kategori.
Contoh: Memprediksi apakah seorang pelanggan termasuk pelanggan yang memiliki loyalitas “low” , “medium”, atau “high”.
1. Clustering * K-means Clustering: digunakan untuk segmentasi data
Contoh : Mengidentifikasi dan mengelompokan pelanggan ke dalam beberapa segmen berdasarkan karakteristik yang sama.
1. Recommendation System * Matrix Factorization: digunakan untuk product recommendation
Contoh: Membangun model yang bisa memberikan rekomendasi kepada pelanggan berdasarkan pengalamannya (customer experience).
1. Time Series * ARIMA: digunakan untuk memprediksi sebuah nilai yang memiliki atribut waktu
Contoh: Memprediksi harga saham, memprediksi penjualan di bulan selanjutnya, dan sebagainya.
1. Ensemble Model * Boosted Tree: dapat digunakan pada problem klasifikasi ataupun regresi. Basis dari algoritma ini menggunakan decision tree. Salah satu keunggulan dari algoritma ini adalah dapat meningkatkan akurasi model.
1. Neural Network * Deep Neural Network: dapat digunakan pada problem klasifikasi ataupun regresi. Algoritma ini pada umumnya digunakan untuk data-data tidak terstruktur seperti data gambar, video, suara, ataupun text.
1. Tensorflow Model Importing: Fitur ini memungkinkan anda membuat model BigQuery ML dari model TensorFlow yang di training sebelumnya, kemudian melakukan prediksi di BigQuery ML.
1. Auto ML: Fitur ini memungkinkan anda membuat model machine learning tanpa harus melakukan proses feature engineering dan memilih model. Pemodelan dengan fitur ini dilakukan dengan cara memilih model terbaik secara otomatis.
Penjelasan lebih detail mengenai model yang support di dalam BQML dapat dibaca disini.
Kesimpulan :
* Pembuatan model machine learning tidak hanya dapat dilakukan dengan menggunakan bahasa pemrograman R ataupun python, tetapi dapat dibangun juga melalui SQL yaitu dengan BigQuery Machine Learning (BQML)
* BQML merupakan bagian fitur dari BigQuery yang memungkinkan penggunanya membuat pemodelan machine learning dengan menggunakan kueri SQL.
* BQML sangat layak bagi pengguna yang terbiasa dengan kueri SQL, seperti profesi Data Analyst atau Business Intelligence (BI).
* Algoritma yang support di dalam BQML sudah cukup lengkap, seperti Regression, Clustering, Recommendation system, Neural Network, bahkan menyediakan fitur AUTO ML.
Semoga tulisan ini bisa bermanfaat dan dapat menambah wawasan, khususnya di sektor Big Data dan Artificial intelligence.
Pada tulisan selanjutnya penulis akan memberikan tutorial sederhana mengenai bagaimana langkah-langkah dalam membangun model machine learning dengan BigQuery Machine Learning.
~ Triano Nurhikmat
Referensi :
* “What is Bigquery?”, Google Cloud Platform, , [11 November 2020]
* “Bigquery ML Documentation”, Google Cloud Platform, , [11 November 2020]
“Machine Learning”, Wikipedia, , [11 November 2020]