0Pricing
Learn AI with Python · Pelajaran

LightGBM dan CatBoost

Alasan LightGBM lebih cepat, pemisahan berbasis histogram, dan CatBoost untuk fitur kategorikal.

LightGBM dan CatBoost adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Di Luar XGBoost

XGBoost sangat kuat, tetapi dapat lambat pada set data yang sangat besar. LightGBM dan CatBoost adalah pustaka gradient boosting yang lebih baru, yang meningkatkan kecepatan dan menangani data kategorikal dengan lebih baik.

Pemisahan Berbasis Histogram

LightGBM mengelompokkan fitur kontinu ke dalam kelompok diskret (histogram) sebelum mencari pemisahan. Hal ini membuat pencarian pemisahan jauh lebih cepat dan menggunakan lebih sedikit memori daripada metode eksak.

Pertumbuhan Pohon Berdasarkan Daun

Berbeda dari pertumbuhan berdasarkan tingkat, LightGBM menumbuhkan pohon secara leaf-wise: daun dengan pengurangan fungsi kerugian terbesar dibagi terlebih dahulu. Cara ini mempercepat konvergensi, tetapi dapat menyebabkan penyesuaian berlebihan, sehingga Anda mengendalikannya dengan num_leaves.

LGBMClassifier dan num_leaves

num_leaves adalah pengendali kompleksitas terpenting LightGBM. Nilai yang lebih besar meningkatkan akurasi, tetapi berisiko menyebabkan penyesuaian berlebihan. Sebagai aturan praktis, pertahankan num_leaves < 2^max_depth.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=300,
    num_leaves=31,
    learning_rate=0.05,
    random_state=0,
)
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Keunggulan Kecepatan LightGBM

Berkat pengelompokan histogram, pertumbuhan berdasarkan daun, dan pengambilan subsampel fitur/data, LightGBM berlatih jauh lebih cepat daripada XGBoost pada set data besar, sering kali dengan akurasi yang sebanding.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=1000,
    num_leaves=63,
    learning_rate=0.03,
    feature_fraction=0.8,
    bagging_fraction=0.8,
)

Penghentian Dini dalam LightGBM

LightGBM mendukung penghentian dini melalui fungsi panggilan balik. Berikan set evaluasi dan fungsi panggilan balik early_stopping untuk berhenti ketika metrik tidak lagi meningkat.

import lightgbm as lgb
from lightgbm import LGBMClassifier

model = LGBMClassifier(n_estimators=2000, learning_rate=0.03)
model.fit(
    Xtr, ytr,
    eval_set=[(Xte, yte)],
    callbacks=[lgb.early_stopping(50)],
)

CatBoost dan Fitur Kategorikal

CatBoost unggul pada data kategorikal. Anda dapat meneruskan kolom kategorikal mentah secara langsung melalui cat_features tanpa perlu pengodean manual.

CatBoost menggunakan statistik target berurutan secara internal untuk menghindari kebocoran target.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=500,
    learning_rate=0.05,
    depth=6,
    verbose=False,
)
model.fit(Xtr, ytr, cat_features=[0, 3, 5])

Mengapa Tanpa Pengodean Itu Kuat

Dengan pustaka lain, Anda harus melakukan pengodean satu-dari-banyak atau berdasarkan label pada kategori, yang dapat memperbesar dimensionalitas atau membocorkan target. CatBoost menanganinya secara internal dengan boosting berurutan, sehingga mengurangi penyesuaian berlebihan pada fitur kategorikal.

Parameter Utama CatBoost

CatBoost menggunakan iterations (seperti n_estimators), learning_rate, dan depth (CatBoost membangun pohon simetris). CatBoost sering bekerja dengan baik meskipun penyetelan yang diperlukan minimal.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=1000,
    learning_rate=0.03,
    depth=8,
    l2_leaf_reg=3.0,
    verbose=100,
)

Perbandingan Kecepatan

Panduan umum:

  • LightGBM biasanya paling cepat pada set data numerik berukuran besar
  • CatBoost paling baik ketika terdapat banyak fitur kategorikal dan penyetelan yang diperlukan lebih sedikit
  • XGBoost matang, tangguh, dan memiliki nilai bawaan yang sangat baik

Bandingkan ketiganya pada data Anda; hasilnya bergantung pada masalah yang dihadapi.

Memilih Pustaka

Jika data Anda banyak mengandung kategori, mulailah dengan CatBoost. Untuk tabel numerik berukuran sangat besar dan kebutuhan akan kecepatan, pilih LightGBM. Untuk titik awal yang telah teruji, gunakan XGBoost. Ketiganya menggunakan gradient boosting, sehingga konsepnya dapat diterapkan pada semua pustaka tersebut.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang pustaka gradient boosting.

Ringkasan

Ringkasan: LightGBM menggunakan pertumbuhan berbasis histogram dan berdasarkan daun yang dikendalikan oleh num_leaves untuk memperoleh kecepatan pada data numerik berukuran besar. CatBoost menangani fitur kategorikal secara bawaan melalui cat_features tanpa pengodean. Keduanya, bersama XGBoost, merupakan varian gradient boosting. Lakukan pembandingan untuk memilih; gunakan CatBoost untuk data kategorikal dan LightGBM untuk kecepatan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “LightGBM dan CatBoost” gratis?

Ya — teks lengkap “LightGBM dan CatBoost” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “LightGBM dan CatBoost”?

Alasan LightGBM lebih cepat, pemisahan berbasis histogram, dan CatBoost untuk fitur kategorikal. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “LightGBM dan CatBoost” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pohon Keputusan: Teori dan Implementasi
  2. Random Forest dan Bagging
  3. Gradient Boosting: GBM dan XGBoost
  4. LightGBM dan CatBoost
← Kembali ke Learn AI with Python