[Random Forest]
Random Forest는 앙상블 학습 기법 중 하나로 여러 개의 결정 트리를 생성하고 그들의 예측 결과를 조합하여 최종 예측을 수행하는 방법입니다. 결정 트리의 과적합 문제를 완화하며, 특히 특성 선택의 필요성을 줄여줍니다.
예제코드:
from sklearn.ensemble import RandomForestClassifier
# 데이터 로딩 및 전처리 생략
# 모델 학습
model = RandomForestClassifier()
model.fit(X_train, y_train)
# 모델 예측
y_pred = model.predict(X_test)
[XGBoost]
XGBoost는 Gradient Boosting 알고리즘을 기반으로 한 앙상블 학습 기법 입니다.
Gradient Boosting은 이전 모델의 오차를 보정하는 새로운 모델을 만들어 나가는 방식으로 학습을 진행합니다.
예제코드:
import xgboost as xgb
# 데이터 로딩 및 전처리 생략
# XGBoost 데이터 형식인 DMatrix 생성
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test)
# 모델 학습
params = {'objective': 'binary:logistic', 'eval_metric': 'error'}
model = xgb.train(params, dtrain)
# 모델 예측
y_pred = model.predict(dtest)
[AdaBoost]
AdaBoost는 약한 학습기(weak learner)를 이용하여 강력한 학습기(strong learner)를 만드는 앙상블 학습 기법입니다.
약한 학습기는 성능이 약간 떨어지는 모델로, 이러한 모델을 순차적으로 조합해 최종 예측을 수행합니다.
예제코드:
from sklearn.ensemble import AdaBoostClassifier
# 데이터 로딩 및 전처리 생략
# 모델 학습
model = AdaBoostClassifier()
model.fit(X_train, y_train)
# 모델 예측
y_pred = model.predict(X_test)
[LGBM]
LGBM(LightGBM)은 Gradient Boosting 알고리즘을 개선한 기법으로, 더 빠른 학습과 더 적은 메모리 사용을 특징으로 합니다.
예제코드:
import lightgbm as lgb
# 데이터 로딩 및 전처리 생략
# 데이터셋 생성
train_data = lgb.Dataset(X_train, label=y_train)
# 모델 학습
params = {'objective': 'binary'}
model = lgb.train(params, train_data)
# 모델 예측
y_pred = model.predict(X_test)
[GBM]
GBM은 Gradient Boosting 알고리즘을 의미합니다. 이는 Gradient Descent와 결정 트리를 활용하여 모델을 학습하는 방법입니다.
예제코드:
from sklearn.ensemble import GradientBoostingClassifier
# 데이터 로딩 및 전처리 생략
# 모델 학습
model = GradientBoostingClassifier()
model.fit(X_train, y_train)
# 모델 예측
y_pred = model.predict(X_test)
[CatBoost]
CatBoost는 범주형 변수를 처리하는 데 특화된 Gradient Boosting 기반의 앙상블 학습 기법입니다. 자동으로 범주형 변수를 처리하고, GPU를 활용하여 빠른 학습을 제공합니다.
예제코드:
from catboost import CatBoostClassifier
# 데이터 로딩 및 전처리 생략
# 모델 학습
model = CatBoostClassifier()
model.fit(X_train, y_train)
# 모델 예측
y_pred = model.predict(X_test)
'STUDY > 인공지능' 카테고리의 다른 글
Long-Tail Distribution (0) | 2023.09.06 |
---|---|
[머신러닝] 데이터 불균형 처리 방법 및 예제 코드 (0) | 2023.07.19 |
[딥러닝] Transformer란? (0) | 2023.07.17 |
[딥러닝] ResNet이란? 예제 코드 tensorflow, pytorch (0) | 2023.07.17 |
[딥러닝] RNN, LSTM 설명 (0) | 2023.07.17 |