[파이썬] lightgbm 임베딩 및 피처 표현
LightGBM은 기계 학습 알고리즘 중 하나로, 고성능 그래디언트 부스팅 프레임워크입니다. 이 프레임워크는 효율적인 임베딩 및 피처 표현을 제공하며, 이를 통해 더 나은 모델 성능을 달성할 수 있습니다.
이번 블로그 포스트에서는 LightGBM을 사용하여 데이터를 임베딩하고 피처를 표현하는 방법에 대해 알아보겠습니다. 실제 코드 예제를 통해 단계별로 안내하겠습니다.
1. LightGBM 설치 및 불러오기
먼저, LightGBM을 설치해야 합니다. pip를 사용하여 설치할 수 있습니다.
pip install lightgbm
설치가 완료되면, 코드 상단에 LightGBM을 불러옵니다.
import lightgbm as lgb
2. 데이터 로드 및 전처리
데이터를 로드하고 전처리하는 단계입니다. LightGBM은 일반적으로 pandas DataFrame으로 데이터를 사용합니다.
import pandas as pd
# 데이터 로드
data = pd.read_csv('data.csv')
# 피처와 타겟 분리
X = data.drop('target', axis=1)
y = data['target']
3. 피처 임베딩
LightGBM은 범주형 피처를 자동으로 처리할 수 있습니다. 다음 코드를 사용하여 범주형 피처를 임베딩합니다.
# 범주형 피처 인덱스 설정
categorical_features = ['feature1', 'feature2']
# 데이터셋 생성
lgb_train = lgb.Dataset(X, y, categorical_feature=categorical_features)
# LightGBM 모델 학습
model = lgb.train(params, lgb_train)
4. 피처 표현
LightGBM은 피처의 중요도를 계산할 수 있습니다. 이를 통해 피처의 상대적인 중요도를 알 수 있습니다.
# 피처 중요도 계산
feature_importances = model.feature_importances_
이렇게 계산된 피처 중요도를 기반으로 피처 선택이나 피처 엔지니어링을 수행할 수 있습니다.
5. 모델 평가 및 튜닝
LightGBM은 다양한 평가 메트릭을 사용하여 모델을 평가할 수 있습니다.
# 예측하기
y_pred = model.predict(X_test)
# 모델 평가
accuracy = accuracy_score(y_test, y_pred)
모델 평가 결과를 토대로 하이퍼파라미터 튜닝을 수행할 수도 있습니다.
6. 모델 저장 및 로드
학습된 LightGBM 모델을 저장하여 나중에 재사용할 수 있습니다.
# 모델 저장
model.save_model('model.txt')
# 모델 로드
model = lgb.Booster(model_file='model.txt')
이제 LightGBM을 사용하여 데이터를 임베딩하고 피처를 표현하는 방법에 대해 알게 되었습니다. LightGBM의 강력한 기능을 활용하여 모델의 성능을 향상시킬 수 있습니다.