본문 바로가기
반응형

Machine Learning/LightGBM8

lightgbm 알고리즘을 사용한 이진분류예측모델 적합(with 파이썬) lightgbm은 GBM계열의 알고리즘으로 기계학습 알고리즘 중 XGBoost와 함께 가장 많이 사용되는 알고리즘 중의 하나예요. 알고리즘에 대한 자세한 설명은 아래 포스팅을 참고하시면 됩니다. LightGBM 개요 LightGBM은 트리 기반 학습 알고리즘을 사용하는 그래디언트 부스팅 프레임워크입니다. 다음과 같은 이점이 있는 효율적이고 잘 분산되도록 설계된 알고리즘입니다. 더 빠른 훈련 속도와 더 높은 zzinnam.tistory.com 본 포스팅에서는 파이썬에서 제공하는 lightgbm 알고리즘을 활용하여 간단한 이진 분류 예측모델 적합 예시를 보여드리도록 하겠습니다. 사용할 데이터는 XGBoost 알고리즘(해당 내용은 여기를 참조)을 설명했을 때와 동일한 데이터를 사용하고, 유사한 하이퍼 파라미터.. 2022. 2. 12.
lightgbm 주요 하이퍼파라미터 (with 파이썬) 이번 포스팅에서는 파이썬에서 제공하는 lightgbm 패키지의 주요 하이퍼파라미터에 대해 설명하겠습니다. lightgbm 알고리즘에 대한 일반적인 설명은 아래 포스팅 글을 참고하세요. LightGBM 개요 LightGBM은 트리 기반 학습 알고리즘을 사용하는 그래디언트 부스팅 프레임워크입니다. 다음과 같은 이점이 있는 효율적이고 잘 분산되도록 설계된 알고리즘입니다. 더 빠른 훈련 속도와 더 높은 zzinnam.tistory.com lightgbm 주요 하이퍼파라미터 (with 파이썬 래퍼) No 파라미터 인수명 설명 1 num_iterations (기본값 100) - 학습에 활용될 weak learner의 반복 수 2 learning_rate (기본값 0.1) - 일반적으로 확습률(learning rat.. 2022. 2. 8.
LightGBM 모델 해석(with R Machine Learning (LightGBM) 코드 예제(with R)를 먼저 수행해야 함!! lgb.get.eval.result(): 부스터로부터 평가 결과 얻기 lgb.Booster가 주어지면 특정 데이터세트의 특정 메트릭에 대한 평가 결과를 반환합니다. # 코드 형식 lgb.get.eval.result( booster, data_name, eval_name, iters = NULL, is_err = FALSE ) Arguments booster: lgb.Booster 클래스의 객체 data_name: 평가 결과를 반환할 데이터 세트 이름 eval_name: 결과를 반환할 평가 측정항목의 이름 iters: 평가 결과를 얻으려는 반복의 정수 벡터입니다. NULL(기본값)이면 모든 반복에 대한 평가 .. 2022. 1. 15.
LightGBM 모델 결과 저장 및 불러오기(with R) # Machine Learning (LightGBM) 코드 예제(with R) 포스트에 있는 실습을 먼저 수행해야 함!! LightGBM 모델을 json으로 덤프 # 코드 예시 lgb.dump(booster, num_iteration = NULL) Arguments booster: lgb.Booster 클래스의 객체 num_iteration: 예측할 반복 횟수, NULL 또는 2022. 1. 14.
Machine Learning (LightGBM)코드 예제(with R) LightGBM으로 모델을 훈련시킨 다음 이를 사용하여 새로운 데이터에 대한 예측 수행 lightgbm() # 코드 형식 lightgbm( data, label = NULL, weight = NULL, params = list(), nrounds = 100L, verbose = 1L, eval_freq = 1L, early_stopping_rounds = NULL, save_name = "lightgbm.model", init_model = NULL, callbacks = list(), serializable = TRUE, ... ) Arguments data: 훈련에 사용되는 lgb.Dataset 객체. lgb.cv와 같은 일부 함수를 사용하면 매트릭스와 같은 다른 유형의 데이터를 전달한 다음 키워드 .. 2022. 1. 13.
Data I/O for LightGBM (with R) LightGBM에 필요한 데이터 I/O 함수 lgb.Dataset(): lgb.Dataset 객체 생성 조밀한 행렬, 희소 행렬 또는 로컬 파일(이전에 lgb.Dataset을 저장하여 생성)에서 lgb.Dataset 객체를 구성합니다. lgb.Dataset( data, params = list(), reference = NULL, colnames = NULL, categorical_feature = NULL, free_raw_data = TRUE, label = NULL, weight = NULL, group = NULL, init_score = NULL ) Arguments data: matrix 객체, dgCMatrix 객체, 텍스트 파일(CSV, TSV 또는 LibSVM)의 경로를 나타내는 문자, .. 2022. 1. 12.
이진분류모델 예측 기초 예제 실습(with R) Introduction LightGBM 알고리즘 활용(Ke et al. 2017) # LightGBM 알고리즘 활용을 위해 패키지 lightgbm 설치 install.packages('lightgbm') # lightgbm 패키지 로드 library(lightgbm) 본 예제는 기본 사용법에 대한 안내 수준이에요. bank 데이터 세트 중 일부를 기반으로 간단한 이진 분류 모델을 구축하는 방법을 보도록 할게요(Moro, Cortez, Rita 2014). "age"와 "balance"이라는 두 가지 input feature를 사용하여 고객이 정기 예금에 가입했는지 여부를 예측할게요. The dataset data(bank, package = "lightgbm") # lightgbm 패키지에 있는 bank.. 2022. 1. 11.
LightGBM 개요 LightGBM은 트리 기반 학습 알고리즘을 사용하는 그래디언트 부스팅 프레임워크입니다. 다음과 같은 이점이 있는 효율적이고 잘 분산되도록 설계된 알고리즘입니다. 더 빠른 훈련 속도와 더 높은 효율성 메모리 사용량 감소 더 좋은 정확도 병렬, 분산 및 GPU 학습 지원 대규모 데이터 처리 가능 LightGBM 특징 LightGBM의 작동 방식에 대해 개념적으로 간단히 설명드릴게요. 다른 부스팅 패키지와 다를 수 있는 LightGBM의 측면에 초점을 맞추기 위해 의사결정 트리 부스팅 알고리즘에 익숙하다고 가정할게요. 자세한 알고리즘은 인용 또는 소스 코드를 참고하시면 돼요. 많은 부스팅 도구는 의사 결정 트리 학습을 위해 사전 정렬 기반 알고리즘(예: xgboost의 기본 알고리즘)을 사용합니다. 간단한 .. 2022. 1. 10.
반응형