Lewati ke konten utama

Automated Machine Learning dengan Auto-Keras

Pelajari tentang automated machine learning dan bagaimana melakukannya dengan auto-keras.
Diperbarui 28 Sep 2026  · 11 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Machine learning bukan lagi istilah yang asing belakangan ini karena organisasi seperti DataCamp, Coursera, Udacity, dan banyak lainnya terus berupaya menghadirkan pendidikan machine learning secara efektif dan fleksibel kepada khalayak umum. Berkat platform mereka, kini sangat mudah untuk memulai di bidang ini dengan hampir tanpa prasyarat. Namun, istilah Automated Machine Learning belakangan ini sering menjadi sorotan di forum pendidikan Data Science populer. Banyak organisasi seperti Google, H2O.ai, dan lain-lain bekerja dengan sangat baik di area ini. Topik ini tidak terlalu umum dibandingkan dengan Machine Learning. Karena machine learning sendiri berurusan dengan bagian otomatisasi; maka wajar jika pertanyaan pertama yang muncul adalah — "Apakah machine learning juga bisa diotomatisasi?"

Anda akan menemukan jawaban untuk banyak pertanyaan seperti ini dalam tutorial ini.

Mari mulai.

Memahami Pipeline Machine Learning Standar

Saat Anda menyelesaikan suatu masalah sebagai Data Scientist, alur kerja standar Anda kira-kira seperti berikut:

  1. Pengumpulan Data
  2. Prapemrosesan Data
  3. Inisialisasi model machine learning yang mungkin sesuai untuk masalahnya
  4. Melatih model
  5. Menguji model
  6. Menyetel parameter model
  7. Menguji model lagi
  8. Mengomunikasikan hasil

Langkah kedua, Prapemrosesan Data, sangat luas cakupannya karena pada dasarnya ini adalah salah satu tugas paling memakan waktu dalam pipeline di atas dan mencakup banyak sub-tugas seperti Pembersihan Data, Transformasi Data, Seleksi Fitur, dan lain-lain. Langkah 3 hingga 7 berlaku hanya untuk satu model machine learning. Praktisi yang baik tentu tidak akan berhenti pada satu model saja. Ia akan mencoba berbagai model untuk membandingkan hasilnya dan akhirnya memutuskan model terbaik untuk masalah tersebut. Di sinilah muncul satu set tugas lain yang juga sangat memakan waktu — Memutuskan model mana yang harus dipilih?

Kutipan berikut mengenai proses debugging dalam tugas machine learning sangat tepat, dan penting untuk diingat:

"Debugging untuk machine learning terjadi dalam dua kasus: 1) algoritme Anda tidak berjalan atau 2) algoritme Anda tidak bekerja cukup baik.[...] Sangat jarang sebuah algoritme langsung berhasil pada percobaan pertama, sehingga sebagian besar waktu dihabiskan untuk membangun algoritme." - S. Zayd Enam

Jadi, sampai di sini, Anda pasti sudah mendapat gambaran singkat tentang tugas rekayasa machine learning yang standar? Pada akhirnya Anda harus memutuskan model mana yang terbaik untuk masalah yang sedang Anda tangani dan Anda juga perlu menjelaskan mengapa itu yang terbaik. Terkadang, Anda berada pada situasi di mana jumlah kemungkinan yang harus dicoba sangat banyak, tetapi tenggat waktu sudah dekat. — Menangkap esensi masalahnya? Mari cari tahu lebih lanjut.

Bagaimana Pipeline Machine Learning Dapat Diotomatisasi?

Di bagian ini, Anda akan melanjutkan dengan gagasan memilih model terbaik untuk suatu masalah dalam situasi di mana jumlah kemungkinan dan tenggat waktu berbanding terbalik.

Di awal tutorial ini Anda menjumpai satu pertanyaan "Apakah machine learning juga bisa diotomatisasi?" Pertanyaan ini sama sekali tidak konyol. Bahkan Sebastian Raschka dalam salah satu wawancaranya menggambarkan Automated Machine Learning sebagai "otomatisasi dari mengotomatisasi otomatisasi".

Ingat kembali langkah nomor 5 dari alur kerja standar tugas data science yang baru saja Anda pelajari — Menyetel hiperparameter model. Misalnya, Anda telah selesai menyiapkan data untuk langkah selanjutnya, dan Anda baru saja menginisialisasi sebuah pengklasifikasi $X$. Sekarang, misalkan $X$ memiliki 5 hiperparameter berbeda. Artinya, Anda harus mencoba pengklasifikasi $X$ yang sama tetapi dengan berbagai set nilai hiperparameter, yang jelas bukan tugas mudah untuk dijalankan. Bagian yang lebih merepotkan datang kemudian. Setelah mencoba berbagai kombinasi, Anda mendapati hasilnya belum cukup baik. Maka Anda memutuskan untuk menguji empat pengklasifikasi lagi (masing-masing dengan 6 hiperparameter berbeda). Bisa bayangkan betapa memakan waktunya ini? Bahkan setelah itu, bagaimana jika Anda tetap tidak mendapatkan hasil yang baik? Investigasi terhadap hal tersebut tak lain adalah proses lain yang juga sangat memakan waktu.

Jadi, gagasan Automated Machine Learning berangkat dari masalah ini.

"Jika banyak model machine learning harus dibangun, menggunakan beragam algoritme dan sejumlah konfigurasi hiperparameter yang berbeda, maka proses pembangunan model ini dapat diotomatisasi, begitu pula perbandingan kinerja dan akurasi model." - KDNuggets

Sekarang Anda punya alasan mengapa istilah Automated Machine Learning banyak menjadi sorotan di forum pendidikan Data Science populer belakangan ini. Anda akan mempelajari lebih lanjut tentang automated machine learning di bagian berikutnya.

Pengantar Automated Machine Learning

Tugas penyetelan hiperparameter untuk berbagai model machine learning juga sangat mungkin memakan waktu. Dalam istilah yang lebih spesifik di Ilmu Komputer, penyetelan hiperparameter adalah proses pencarian yang dalam kasus ini bisa sangat menyeluruh. Bagaimana jika proses ini sendiri dapat diotomatisasi? Nah, itulah yang pada dasarnya dilakukan oleh automated machine learning. "Automated machine learning adalah solusi langsung terhadap kelangkaan data scientist karena dapat secara drastis meningkatkan kinerja dan produktivitas data scientist dengan mempercepat siklus kerja, meningkatkan akurasi model, dan pada akhirnya bahkan mungkin menggantikan kebutuhan akan data scientist." -Automated Machine Learning for Internet of Things

Sekarang Anda memiliki pengetahuan yang cukup tentang automated machine learning, dan siap melihatnya dalam praktik. Namun pertama, mari lihat beberapa pustaka Python yang banyak digunakan untuk melakukan automated machine learning.

Pustaka Python untuk Automated Machine Learning

Ada banyak pustaka Python yang tersedia untuk melakukan automated machine learning. Semuanya berupaya mencapai tujuan yang kurang lebih sama, yaitu mengotomatisasi proses machine learning. Berikut adalah beberapa pustaka Python yang paling banyak digunakan untuk automated machine learning:

Masing-masing pustaka memiliki pendekatan sendiri untuk menangani proses "otomatisasi dari mengotomatisasi otomatisasi". Namun untuk tutorial ini, Anda akan menggunakan Auto-Keras. Mengapa menunggu? Mari kita mulai.

Pengantar Auto-keras

"Auto-Keras adalah pustaka perangkat lunak open source untuk automated machine learning."(Sumber) Pustaka ini dikembangkan oleh DATA Lab di Texas A&M University dan kontributor komunitas. Menurut situs resmi auto-keras — "Tujuan akhir automated machine learning ini adalah menyediakan alat deep learning yang mudah diakses bagi para ahli domain dengan latar belakang data science atau machine learning yang terbatas. Auto-Keras menyediakan fungsi untuk secara otomatis mencari arsitektur dan hiperparameter model deep learning."

Logo AutoKeras

Sumber: Auto-Keras

Untuk memasang auto-keras cukup jalankan perintah berikut.

Catatan: Saat ini, Auto-Keras hanya kompatibel dengan: Python 3.6.

!pip install autokeras

Sekarang setelah Anda berhasil memasang Auto-Keras, saatnya melakukan implementasi singkat.

Studi Kasus AutoML menggunakan Auto-keras

Untuk studi kasus ini, Anda akan menggunakan dataset MNIST yang sangat populer. keras memiliki dataset ini bawaan, jadi Anda tidak perlu mengunduhnya secara terpisah. Anda akan mulai dengan memuat modul ImageClassifier dari auto-keras. Anda juga akan memuat dataset MNIST dari modul keras.

from keras.datasets import mnist
from autokeras import ImageClassifier

Anda telah memuat dataset MNIST dari modul keras.datasets dan juga mengimpor ImageClassifier dari auto-keras. Sekarang Anda akan memisahkan dataset menjadi split latih dan uji.

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(x_train.shape + (1,)) # (1,) denotes the channles which is 1 in this case
x_test = x_test.reshape(x_test.shape + (1,)) # (1,) denotes the channles which is 1 in this case
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11493376/11490434 [==============================] - 1s 0us/step

Anda telah memisahkan split latih dan uji, dan sekarang Anda akan melatih ImageClassifier dengan x_train dan y_train. Anda akan menguji kinerjanya pada x_test dan y_test.

# Instantiate the ImageClassifier class
clf = ImageClassifier(verbose=True, augment=False)
# Fit the train set to the image classifier
clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
# Summarize the results
y = clf.evaluate(x_test, y_test)
print(y * 100)

Sesederhana itu. Hanya 4–5 baris kode dan Anda selesai dengan sebuah eksperimen cepat. Memang, tidak benar-benar cepat. Kode di atas memerlukan waktu eksekusi yang cukup lama. Konfigurasi yang layak untuk menjalankan eksperimen Deep Learning tentu akan sangat membantu. Google Colab juga merupakan titik awal yang sangat baik.

Sekarang mari pelajari lebih lanjut tentang parameter yang Anda gunakan pada potongan kode di atas. Anda akan merujuk ke dokumentasi auto-keras untuk ini dan berikut adalah kutipan relevan dari dokumentasinya:

  • Pada ImageClassifier():
    • verbose: Boolean untuk menentukan apakah proses pencarian akan ditampilkan ke keluaran.
    • augment: Nilai boolean yang menunjukkan apakah data memerlukan augmentasi. Jika tidak didefinisikan, maka akan menggunakan nilai Constant.DATA_AUGMENTATION yang secara default bernilai True.
  • Pada metode fit():
    • time_limit: Batas waktu pencarian dalam detik.
  • final_fit(): Pelatihan akhir setelah menemukan arsitektur terbaik.
    • retrain: Boolean untuk menentukan apakah bobot model akan diinisialisasi ulang.

Auto-keras adalah pustaka yang terus berkembang dan masih dalam versi prarilis. Menurut situs resmi, pustaka ini mendukung modul-modul utama berikut:

  • supervised: Kelas dasar untuk semua tugas supervised.
  • bayesian: GaussianProcessRegressor untuk optimisasi bayesian.
  • search: Kelas dasar dari semua kelas pencari. Setiap kelas pencari dapat menimpa fungsi pencariannya untuk mengimplementasikan strateginya.
  • graph: Kelas yang merepresentasikan grafik arsitektur neural dari model Keras. Graph mengekstrak grafik arsitektur neural dari model Keras. Setiap node dalam grafik adalah tensor perantara antar layer. Setiap layer adalah edge dalam grafik. Perlu dicatat, beberapa edge dapat merujuk ke layer yang sama. (misalnya, layer Add menambahkan dua tensor menjadi satu tensor. Jadi, ini terkait dengan dua edge.
  • preprocessor: Kelas yang dapat memformat data. Kelas ini menyediakan cara untuk mengubah label klasifikasi data menjadi sebuah vektor.
  • model_trainer: Kelas yang digunakan untuk melatih model. Kelas ini dapat melatih model Pytorch dengan data loader yang diberikan. Metrik, loss_function, dan model harus saling kompatibel. Silakan lihat detailnya pada atribut.

Catatan Penutup

Anda telah sampai di akhir. Dalam tutorial ini, Anda mempelajari proses machine learning secara umum dan bagaimana proses tersebut dapat diotomatisasi. Anda melihat sekilas pustaka-pustaka yang tersedia untuk melakukan AutoML. Anda menggunakan auto-keras dan melihat jenis abstraksi tingkat tinggi yang ditawarkannya serta betapa mudahnya menggunakan auto-keras.

Tutorial ini mungkin memberi Anda kesan negatif bahwa AutoML dapat menggantikan banyak data scientist ketika sudah benar-benar matang. Benarkah? Pikirkan lagi. AutoML sebenarnya membebaskan data scientist dari beban proses iteratif pemilihan model terbaik untuk suatu masalah. Dengan demikian, seorang data scientist dapat lebih fokus pada data itu sendiri, yang lebih esensial. Wawancara ini bersama Randy Olson memuat wawasan menarik tentang topik ini. Pastikan Anda membacanya, dan Anda tidak akan merasa demotivasi lagi. Jika Anda pernah merasa ragu terhadap pekerjaan praktisi machine learning, lihat saja tulisan ini.

Bidang automated machine learning benar-benar mengalami kemajuan. Misalnya, NAS yang merupakan singkatan dari Neural Architecture Search, yaitu algoritme yang mencari arsitektur jaringan saraf terbaik. Berikut beberapa tautan ke sumber daya yang menunjukkan use case mutakhir dari AutoML:

Beberapa referensi yang digunakan:

Jika Anda tertarik mempelajari lebih jauh tentang Deep Learning, ikuti kursus DataCamp "Deep Learning in Python" dan lihat kursus kami Introduction to Deep Learning in Python.

Topik
Machine Learning
Python

Pelajari lebih lanjut tentang Python dan Machine Learning

Kursus

Machine Learning dengan Model Berbasis Pohon di Python

5 jam
119.8K
Dalam kursus ini, Anda akan belajar cara menggunakan model berbasis pohon dan ensemble untuk regresi dan klasifikasi menggunakan scikit-learn.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya