[파이썬] lightgbm 모델의 저장 및 로딩

소개

LightGBM은 Microsoft에서 개발한 Gradient Boosting Framework입니다. 이 모델은 고속성과 높은 확장성을 가지고 있어 대용량 데이터셋에서도 효과적으로 작동합니다. 이번 글에서는 LightGBM 모델을 학습한 후, 해당 모델을 저장하고 로딩하는 과정을 소개합니다.

LightGBM 모델 저장하기

LightGBM 모델을 저장하기 위해서는 pickle 모듈을 사용할 수 있습니다. pickle을 사용하면 Python 객체를 저장하고 로딩할 수 있습니다. 아래는 LightGBM 모델을 저장하는 예제 코드입니다.

import lightgbm as lgb
import pickle

# LightGBM 모델 학습
train_data = lgb.Dataset(X_train, label=y_train)
params = {"boosting_type": "gbdt", "objective": "binary", "metric": "binary_logloss"}
model = lgb.train(params, train_data, num_boost_round=100)

# 모델 저장
with open("model.pkl", "wb") as f:
    pickle.dump(model, f)

위 코드에서는 lgb.train() 함수를 사용하여 LightGBM 모델을 학습하고, pickle.dump() 함수를 사용하여 모델을 model.pkl 파일로 저장합니다.

LightGBM 모델 로딩하기

저장한 LightGBM 모델을 로딩하는 것은 간단합니다. 아래는 LightGBM 모델을 로딩하는 예제 코드입니다.

import pickle

# 모델 로딩
with open("model.pkl", "rb") as f:
    model = pickle.load(f)
    
# 새로운 데이터 예측
y_pred = model.predict(X_test)

위 코드에서는 pickle.load() 함수를 사용하여 저장한 모델을 로딩합니다. 로딩된 모델은 예측 등에 사용할 수 있습니다.

주의사항

LightGBM 모델을 저장하고 로딩할 때 주의해야 할 몇 가지 사항이 있습니다.

  1. 저장된 모델은 같은 버전의 LightGBM 라이브러리에서 로딩되어야 합니다. 다른 버전의 LightGBM에서는 호환이 되지 않을 수 있습니다.
  2. Windows 운영체제에서 저장한 모델을 Linux 운영체제에서 로딩할 때는 파일 경로의 구분자를 조정해야 할 수도 있습니다.

결론

이번 글에서는 LightGBM 모델을 저장하고 로딩하는 과정을 소개했습니다. pickle 모듈을 사용하여 모델을 저장하고 로딩할 수 있습니다. LightGBM 모델을 저장하고 로딩함으로써 학습된 모델을 쉽게 재사용할 수 있습니다.