CatBoost: Một thư viện boosting hiệu quả do Yandex phát triển, tốt cho dữ liệu chứa các đặc trưng...
CatBoost
Mục tiêu: Tối ưu hóa bài toán học máy với thuật toán Gradient Boosting, đặc biệt hiệu quả với dữ liệu chứa các đặc trưng phân loại (categorical features).
🧠 Đặc điểm nổi bật:
Tự động xử lý dữ liệu phân loại mà không cần mã hóa thủ công (không cần OneHot hay LabelEncoder).
Giảm hiện tượng overfitting nhờ kỹ thuật Ordered Boosting.
Cài đặt đơn giản, hỗ trợ GPU, tích hợp tốt với Pandas & Scikit-learn.
📦 Ưu điểm:
Hiệu quả cao với dữ liệu dạng bảng chứa nhiều đặc trưng rời rạc.
Dễ sử dụng, ít cần tinh chỉnh siêu tham số ban đầu.
Hỗ trợ các bài toán phân loại, hồi quy, ranking và multi-class.
Ví dụ sử dụng cơ bản:
from catboost import CatBoostClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
# Dữ liệu mẫu với đặc trưng phân loại
df = pd.DataFrame({
'age': [25, 35, 45, 22],
'gender': ['M', 'F', 'M', 'F'],
'target': [1, 0, 1, 0]
})
# Tách dữ liệu
X = df[['age', 'gender']]
y = df['target']
cat_features = ['gender']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
# Mô hình CatBoost
model = CatBoostClassifier(verbose=0)
model.fit(X_train, y_train, cat_features=cat_features)
# Dự đoán
preds = model.predict(X_test)
PreviousXGBoost & LightGBM: Tối ưu cho các bài toán về cây quyết định gradient boostingNextPhần 3: Học Sâu (Deep Learning)
Last updated
Was this helpful?