Lewati ke konten utama

Tutorial PyCaret: Panduan pemula untuk mengotomatiskan alur kerja ML menggunakan PyCaret

PyCaret adalah alat pembelajaran mesin end-to-end dan manajemen model yang mempercepat siklus eksperimen secara eksponensial dan membuat Anda lebih produktif.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Apa itu PyCaret

Catatan: Tutorial ini dibuat pada tahun 2021, dan PyCaret tidak lagi aktif dipelihara; beberapa langkah mungkin tidak berfungsi dengan versi DataLab atau alat lain saat ini.

PyCaret adalah pustaka pembelajaran mesin open-source berbasis low-code di Python yang mengotomatiskan alur kerja pembelajaran mesin. Ini adalah alat pembelajaran mesin end-to-end dan manajemen model yang mempercepat siklus eksperimen secara eksponensial dan membuat Anda lebih produktif.

Dibandingkan dengan pustaka pembelajaran mesin open-source lainnya, PyCaret adalah pustaka low-code alternatif yang dapat menggantikan ratusan baris kode hanya dengan beberapa baris. Hal ini membuat eksperimen jauh lebih cepat dan efisien. PyCaret pada dasarnya adalah pembungkus Python di atas sejumlah pustaka dan kerangka kerja pembelajaran mesin seperti scikit-learn, XGBoost, LightGBM, CatBoost, spaCy, Optuna, Hyperopt, Ray, dan beberapa lainnya.

Desain dan kesederhanaan PyCaret terinspirasi oleh peran yang muncul dari citizen data scientist, istilah yang pertama kali digunakan oleh Gartner. Citizen data scientist adalah pengguna andal yang dapat melakukan tugas analitis sederhana hingga cukup canggih yang sebelumnya memerlukan keahlian teknis lebih tinggi.

PyCaret sederhana dan mudah digunakan. Semua operasi yang dijalankan di PyCaret disimpan secara berurutan dalam pipeline yang sepenuhnya diorkestrasi untuk deployment. Baik itu imputasi nilai hilang, transformasi data kategorikal, rekayasa fitur, maupun penalaan hiperparameter, semuanya diotomatisasi oleh PyCaret. Untuk mempelajari lebih lanjut tentang PyCaret, tonton video berdurasi satu menit ini.

Modul di PyCaret

API PyCaret disusun dalam modul. Setiap modul mendukung satu jenis pembelajaran terawasi (klasifikasi dan regresi) atau pembelajaran tak terawasi (klasterisasi, deteksi anomali, nlp, penambangan aturan asosiasi). Modul baru untuk peramalan deret waktu telah dirilis baru-baru ini dalam versi beta sebagai paket pip terpisah.

Sumber gambar: [Ali, Moez].

Menginstal PyCaret

Instalasi PyCaret mudah melalui pip dan hanya membutuhkan beberapa menit. Instalasi default PyCaret hanya memasang dependensi inti seperti yang tercantum dalam berkas requirements.txt di repo.

Catatan: Tutorial ini dibuat pada tahun 2021, dan PyCaret tidak lagi aktif dipelihara; beberapa langkah mungkin tidak berfungsi dengan versi DataLab atau alat lain saat ini.

pip install pycaret

Untuk memasang versi lengkap:

pip install pycaret[full]

Fitur

Klaim utama PyCaret adalah kesederhanaannya. Dibandingkan perangkat lunak AutoML lainnya, PyCaret sangat fleksibel, hadir dengan API terpadu, dan nyaris tanpa kurva belajar.

PyCaret sarat dengan fungsionalitas. Anda bisa memproses data, melatih model, lalu melakukan deployment ke cloud hanya dengan beberapa baris kode. PyCaret menyediakan banyak transformasi prapemrosesan yang diterapkan secara otomatis saat eksperimen diinisialisasi. Model zoo PyCaret memiliki lebih dari 70 model yang belum dilatih untuk tugas terawasi dan tak terawasi.

Anda juga dapat menggunakan PyCaret di GPU dan mempercepat alur kerja hingga 10x. Untuk melatih model di GPU, cukup berikan use_gpu = True pada fungsi setup. Tanpa perubahan kode sama sekali.

PyCaret adalah solusi glass-box. Ia hadir dengan banyak fungsi untuk berinteraksi dengan model serta menganalisis kinerja dan hasilnya. Semua plot standar seperti confusion matrix, AUC, residual, dan feature importance tersedia untuk semua model. PyCaret juga terintegrasi dengan pustaka SHAP yang digunakan untuk menjelaskan keluaran dari model pembelajaran mesin berbasis pohon yang kompleks.

(Contoh plot beeswarm)

PyCaret juga terintegrasi dengan MLflow untuk fungsionalitas MLOps. Secara otomatis mencatat metrik, parameter, dan artefak saat Anda memberikan log_experiment = True pada fungsi setup.

(Gambar oleh Penulis)

Prapemrosesan di PyCaret

Semua transformasi prapemrosesan diterapkan dalam fungsi setup. PyCaret menyediakan lebih dari 25 transformasi prapemrosesan berbeda yang ditentukan dalam fungsi setup. Klik di sini untuk mempelajari lebih lanjut kemampuan prapemrosesan PyCaret.

(Gambar oleh Penulis)

Modul di PyCaret

Modul Tugas
pycaret.classification Terawasi: Klasifikasi biner atau multi-kelas
pycaret.regression Terawasi: Regresi
pycaret.clustering Tak terawasi: Klasterisasi
pycaret.anomaly Tak terawasi: Deteksi anomali
pycaret.nlp Tak terawasi: Pemrosesan Bahasa Alami (Pemodelan Topik)
pycaret.arules Tak terawasi: Penambangan Aturan Asosiasi
pycaret.datasets Dataset

Contoh: Use case ML end-to-end

Ini adalah alur kerja pembelajaran mesin yang khas. Merumuskan masalah ML dengan benar adalah langkah pertama dalam proyek pembelajaran mesin mana pun dan bisa memakan waktu dari beberapa hari hingga berminggu-minggu untuk merumuskannya dengan tepat.

Pengumpulan Data dan ETL (Extract-Transform-Load) juga dapat bervariasi kompleksitasnya tergantung pada kematangan teknologi dan ukuran organisasi. Wajar melihat tim data engineer bekerja bersama pada fase ini.

Fase Exploratory Data Analysis (EDA) mencakup penelusuran data mentah untuk menilai kualitas data (nilai hilang, pencilan, dll.), korelasi antar fitur, dan menguji hipotesis bisnis.

Untuk penyiapan data serta pelatihan dan pemilihan model, PyCaret menangani pekerjaan berat di balik layar. Penyiapan data mencakup transformasi seperti imputasi nilai hilang, penskalaan (min-max, z-score, dll.), pengodean kategorikal (one-hot encoding, ordinal encoding, dll.), rekayasa fitur (polinomial, interaksi fitur, rasio, dll.), dan seleksi fitur.

Setelah penyiapan data, fase pelatihan dan pemilihan model melibatkan pemodelan dengan banyak algoritme dan evaluasi kinerja menggunakan strategi pengujian tertentu (umumnya cross-validation).

Pada akhirnya, model terpilih (terbaik) dideploy sebagai endpoint API untuk inferensi. Setelah deployment selesai, pemantauan API dan kinerja model di produksi berlangsung secara berkelanjutan.

(Gambar oleh Penulis)

Pernyataan masalah

Memprediksi harga berlian berdasarkan atribut seperti potongan, warna, bentuk, dan lain-lain.

Sumber data

# muat dataset dari pycaret
from pycaret.datasets import get_data
data = get_data('diamond')

Exploratory data analysis (EDA)

Mari lakukan visualisasi cepat untuk menilai hubungan fitur independen (berat, potongan, warna, kejernihan, dll.) dengan variabel target, yaitu Harga:

# plot sebar carat_weight dan Price
import plotly.express as px
fig = px.scatter(x=data['Carat Weight'], y=data['Price'], facet_col = data['Cut'], opacity = 0.25, trendline='ols', trendline_color_override = 'red')
fig.show()

Mari cek histogram variabel target Price.

# plot histogram fig = px.histogram(data, x=["Price"]) fig.show()

Perhatikan bahwa distribusi Price condong ke kanan; kita bisa cepat memeriksa apakah transformasi log dapat mengubah distribusi (bentuk) variabel target.

# plot histogram data['logged_Price'] = np.log(data['Price']) fig = px.histogram(data, x=["logged_Price"]) fig.show()

Pembersihan dan penyiapan data

Semua eksperimen di PyCaret harus diinisialisasi menggunakan fungsi setup. Fungsi ini bertanggung jawab atas semua tugas penyiapan data yang diperlukan sebelum pelatihan model. Selain melakukan beberapa pemrosesan dasar secara default, PyCaret juga menawarkan beragam fitur prapemrosesan. Klik di sini untuk mempelajari semua fungsionalitas prapemrosesan di PyCaret.

# inisialisasi setup
from pycaret.regression import *
s = setup(data, target = 'Price', transform_target = True, log_experiment = True, experiment_name = 'diamond')

Saat Anda menginisialisasi fungsi setup di PyCaret, PyCaret melakukan profil terhadap dataset dan menyimpulkan tipe data untuk semua fitur masukan. Jika semua tipe data sudah disimpulkan dengan benar, Anda dapat menekan enter untuk melanjutkan. Ada juga parameter yang dapat digunakan untuk menimpa tipe data di PyCaret. Selain itu, jika Anda menggunakan PyCaret dalam skrip Python, Anda dapat menonaktifkan konfirmasi ini dengan memberikan silent = True pada fungsi setup.

(Keluaran dari setup — dipangkas untuk tampilan)

Pelatihan dan pemilihan model ML

Setelah setup, data yang telah ditransformasi tersedia untuk pelatihan model. Anda dapat memulai proses pelatihan dengan fungsi compare_models. Fungsi ini akan melatih semua algoritme yang tersedia di model zoo dan mengevaluasi beberapa metrik kinerja menggunakan k-fold cross-validation.

# bandingkan semua model
best = compare_models()
(Keluaran dari compare_models)

Keluaran dari compare_models menampilkan metrik cross-validation rerata untuk semua model. Secara default, keluaran diurutkan berdasarkan ‘R2’ (tertinggi ke terendah), namun dapat diubah dengan memberikan parameter sort pada fungsi compare_models.

Model terbaik (dalam kasus ini, CatBoost Regressor) dikembalikan setelah compare_models selesai. Secara default hanya model terbaik yang dikembalikan, namun ini dapat diubah dengan parameter n_select. Misalnya, memberikan n_select = 3 pada fungsi compare_models akan mengembalikan 3 model teratas sebagai sebuah list.

# periksa parameter final model terbaik
best.get_params()

Kita juga dapat memeriksa diagnostik dan beberapa plot analisis lain menggunakan fungsi plot_model.

# periksa residual model terlatih
plot_model(best, plot = 'residuals_interactive')
plot_model(best, plot = ‘feature’)

Ada satu fungsi lagi bernama evaluate_model yang memudahkan untuk menavigasi semua plot analisis yang tersedia di Jupyter Notebook.

evaluate_model(best)

Deployment dan pemantauan model ML

Sekarang kita dapat menggunakan model final untuk menghasilkan prediksi pada data yang belum terlihat dengan fungsi predict_model:

# salin data dan hapus variabel target
data_unseen = data.copy()
data_unseen.drop(‘Price’, axis = 1, inplace = True)
predictions = predict_model(best, data = data_unseen)

Untuk penggunaan di masa depan, Anda dapat menyimpan seluruh pipeline dengan fungsi save_model.

save_model(best, ‘my_best_pipeline’)

Pencatatan eksperimen

Ingat kita memberikan log_experiment = True pada fungsi setup bersama experiment_name = 'diamond'. Mari lihat apa yang dilakukan PyCaret di belakang layar. Untuk melihatnya, mari jalankan server MLflow:

# di dalam notebook
!mlflow ui

# dari command line
mlflow ui

Sekarang buka peramban Anda dan ketik “localhost:5000”. Akan terbuka UI seperti ini:

Setiap entri pada tabel di atas merepresentasikan satu training run yang menghasilkan pipeline terlatih dan sekumpulan metadata seperti DateTime run, metrik kinerja, hiperparameter model, tag, dan sebagainya. Mari klik salah satu model:

Peramalan deret waktu PyCaret

Modul deret waktu baru PyCaret kini tersedia dalam versi beta. Tetap setia pada kesederhanaan PyCaret, modul ini konsisten dengan API yang ada dan sarat dengan fungsionalitas. Pengujian statistik, pelatihan dan pemilihan model (30+ algoritme), analisis model, penalaan hiperparameter otomatis, pencatatan eksperimen, deployment ke cloud, dan lainnya. Semua ini hanya dengan beberapa baris kode (sama seperti modul PyCaret lainnya). Jika Anda ingin menggunakan modul beta baru ini, Anda harus memasangnya dalam lingkungan conda terpisah untuk menghindari konflik dependensi.

pip install pycaret-ts-alpha

Data deret waktu adalah salah satu tipe data paling umum dan memahami cara mengolahnya merupakan keterampilan sains data yang krusial jika Anda ingin membuat prediksi dan melaporkan tren. Jika Anda ingin mempelajari lebih jauh analisis dan peramalan deret waktu di Python, DataCamp memiliki koleksi kursus yang sangat baik. Anda dapat memulai dengan alur belajar Time Series with Python atau salah satu kursus berikut juga merupakan pilihan bagus:

Integrasi PyCaret

Area Integrasi
Model scikit-learn, XGBoost, LightGBM, CatBoost
Pelatihan GPU RAPIDS.AI
Komputasi Terdistribusi RAY
Penalaan Hiperparameter tune-sklearn, optuna
Plotting & Analisis plotly, yellowbrick, seaborn, matplotlib
NLP gensim, spacy, nltk
MLOps MLflow

FAQ PyCaret

  1. Apakah PyCaret hanya tersedia di Python? Ya, untuk saat ini PyCaret hanya tersedia di Python.

  2. Apa perbedaan PyCaret dengan pustaka pembelajaran mesin open-source lain seperti scikit-learn, XGBoost, LightGBM? Dibandingkan pustaka open-source lainnya, PyCaret adalah pustaka low-code alternatif yang dapat menggantikan ratusan baris kode hanya dengan beberapa baris. PyCaret pada dasarnya adalah pembungkus Python di atas sejumlah pustaka dan kerangka kerja pembelajaran mesin seperti scikit-learn, XGBoost, LightGBM, CatBoost, spaCy, Optuna, Hyperopt, Ray, dan beberapa lainnya.

  3. Use case apa saja yang didukung PyCaret? Per rilis 2.3.4, PyCaret mendukung Klasifikasi Biner/Multi-kelas, Regresi, Klasterisasi, Deteksi Anomali, Pemrosesan Bahasa Alami (Pemodelan Topik), dan Penambangan Aturan Asosiasi. PyCaret juga baru-baru ini merilis modul deret waktu baru dalam versi beta sebagai installer pip terpisah.

  4. Dapatkah kita menggunakan PyCaret di GPU? Anda dapat melatih model di GPU dalam PyCaret dan mempercepat alur kerja hingga 10x. Untuk melatih model di GPU cukup berikan use_gpu = True pada fungsi setup. Tidak ada perubahan dalam penggunaan API, namun dalam beberapa kasus, pustaka tambahan perlu dipasang karena tidak termasuk dalam versi default atau versi penuh.

  5. Dapatkah kita menala hiperparameter model di PyCaret? Ya, Anda dapat menala hiperparameter model apa pun secara otomatis di PyCaret. PyCaret terintegrasi dengan sklearn, optuna, tune-sklearn, dan ray untuk berbagai tuner seperti Random Grid Search atau Bayesian Grid Search.

  6. Apakah PyCaret gratis digunakan? PyCaret sepenuhnya gratis dan open-source serta dilisensikan di bawah lisensi MIT.

Sumber Daya PyCaret ----
⭐ Tutorial Baru di PyCaret? Lihat notebook resmi!
📋 Notebook Contoh notebook yang dibuat komunitas.
📙 Blog Tutorial dan artikel dari kontributor.
📚 Dokumentasi Dok API terperinci PyCaret
📺 Tutorial Video Video tutorial kami dari berbagai acara.
📢 Diskusi Punya pertanyaan? Bergabunglah dengan komunitas dan kontributor.
🛠️ <atarget="_blank" href="https://github.com/pycaret/pycaret/blob/master/CHANGELOG.md">Changelog Perubahan dan riwayat versi.
🌳 Roadmap Rencana pengembangan perangkat lunak dan komunitas PyCaret.
Topik
Python
Machine Learning
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

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

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

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