[파이썬] lightgbm 라이브러리 소개
LightGBM은 Microsoft에서 개발한 머신 러닝 라이브러리로, Gradient Boosting 기법을 기반으로한 고성능이 특징입니다. LightGBM은 다른 Gradient Boosting 라이브러리보다 빠르고 효율적인 모델 훈련을 가능하게 해줍니다.
특징
LightGBM은 다음과 같은 주요 특징들이 있습니다:
-
고속화: LightGBM은 대용량 데이터셋에 대해 뛰어난 성능을 발휘합니다. 특히 대량의 피처(Feature)와 카테고리 형태의 데이터를 다룰 때 유리한 성능을 보여줍니다.
-
효율성: LightGBM은 효율적인 리프 배치 방식을 사용하여 메모리 사용량을 줄이고 학습 속도를 향상시킵니다. 또한, 병렬 처리 시스템에서 빠른 속도를 내는 것이 가능합니다.
-
정확성: LightGBM은 정밀한 분할 방법을 사용하여, 다른 Gradient Boosting 모델에 비해 더욱 정확한 예측을 제공합니다.
-
특징 중요도: LightGBM은 모형 학습 후 모델의 피처 중요도를 계산하여 어떤 피처가 모델에 영향을 미치는지 알 수 있습니다.
설치
LightGBM을 설치하려면 pip을 사용하여 다음 명령을 실행하면 됩니다:
pip install lightgbm
예제 코드
다음은 LightGBM을 사용하여 이진 분류 모델을 훈련하는 예제 코드입니다:
import lightgbm as lgb
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 데이터 불러오기
data = pd.read_csv("data.csv")
# 피처와 타겟 분리
X = data.drop("target", axis=1)
y = data["target"]
# 훈련 데이터와 테스트 데이터로 분리
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# LightGBM 데이터셋 생성
train_data = lgb.Dataset(X_train, label=y_train)
# 모델 파라미터 설정
params = {
"objective": "binary",
"metric": "binary_logloss",
}
# 모델 학습
model = lgb.train(params, train_data)
# 예측
y_pred = model.predict(X_test)
# 이진 분류 문제에서의 정확도 평가
accuracy = accuracy_score(y_test, y_pred.round())
print("Accuracy:", accuracy)
결론
LightGBM은 빠른 속도와 높은 성능을 가진 Gradient Boosting 라이브러리로, 대용량 데이터셋에서도 효율적인 모델 훈련이 가능합니다. 사용하기 쉬운 API와 다양한 기능을 제공하여 효과적인 머신 러닝 모델 개발에 도움을 줄 수 있습니다.