# LightGBM

27개의 포스트
post-thumbnail

LightGBM

Index LightGBM lightgbm.LGBMClassifier LightGBM Ensemble Boosting : 단일 모델들을 직렬로 심화 작업하도록 설계하는 방식 이전 모델에 대하여 그 손실이 큰 관측치들을 학습률(Learning Rate)만큼 가중하여 심화학습함 [경사하강법과 학습률의 이해](https://velog.io/@jayarnim/%EA%B2%BD%EC%8

2023년 5월 30일
·
0개의 댓글
·
post-thumbnail

[ML] Binary Classifier Exercise

타이타닉 데이터 이진 분류 실습 본 포스팅은 타이타닉 승선자 데이터를 활용하여 각 feature에 따라 생존자가 죽었는지 살았는지(survived)를 이진 분류하여 예측하는 문제를 풀어볼 것이다. 여러개의 분류기를 다뤄볼 것인데 각각에 대한 자세한 개념은 추후 별도의 포스팅을 제작하겠다. 데이터 전처리 결과는 아래와 같다. 기존 X 정규화 X y (target) ![](https://velog.velcdn.com/images/happyyeon/post/cffe0d9a-4402-45f4-9f33-b6605

2023년 4월 6일
·
0개의 댓글
·
post-thumbnail

머신러닝 모델_XGBoost_LightGBM

두 모델에 대해 알기 전에 먼저 GBM이란? > GBM(Gradient Boost Machine), 앙상블 머신러닝 기법 중의 하나로 부스팅 기법을 사용한다. 경사 하강법(Gradient Descent)를 이용해 가중치를 업데이트 해 label값과 가까워질 때까지 여러 모델을 학습하는 방식이다. 출처:https://heeya-stupidbutstudying.tistory.com/entry/ML-GBM-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%8F-LightGBM-%EC%86%8C%EA%B0%9C-%EA%B8%B0%EB%B3%B8%EA%B5%AC%EC%A1%B0-parameters XGBoost :eXtra Gradient Boo

2023년 2월 23일
·
0개의 댓글
·
post-thumbnail

[혼공머신] 5-3. 트리의 앙상블

Intro. 이사님🗣️ "베스트 머신러닝 알고리즘을 찾아보게나!" 정형 데이터의 끝판왕 = 앙상블 학습 알고리즘 : 더 좋은 결과를 도출하기 위해 여러 개의 모델을 합쳐놓은 알고리즘 0. 앙상블 학습 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘으로, 여러 개의 모델을 합쳐서 더 좋은 결과를 도출함. 주로 결정 트리를 기반으로 만들어져 있음. 1. 랜덤 포레스트 앙상블 학습의 대표주자로, 랜덤한 결정트리의 '숲'이라고 보면 됨. > 랜덤포레스트의 기본 원리 : Ⓐ+Ⓑ로 개별 트리에 무작위성을 부여해서 트리의 성능이 너무 강력해지는 것을 막음 (=과대적합 방지) → ⭐물론 개별트리의 성능은 떨어짐 but 그걸 여러 개 묶어서 일반화하면 높은 성능이 나오게 됨!⭐ Ⓐ 훈련세트에 무작위성 주입 랜덤포레스트 속의 각 트리는 우리가 입력한 훈련데이터를 그대로 학습하지 않고, 훈련세트와 같은 크기의 **부트스트랩

2023년 1월 29일
·
0개의 댓글
·
post-thumbnail

CH 4. 분류 -1

1. 분류의 개요 - Classification 지도학습 : 명시적인 정답이 있는 데이터가 주어진 상태에서 학습하는 머신러닝 방식 → 학습 데이터로 주어진 데이터의 피처와 레이블 값(결정 값, 클래스 값)을 머신러닝 알고리즘으로 학습해 모델 생성, 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것 분류의 알고리즘 나이브 베이즈 : 베이즈 통계와 생성 모델에 기반 로지스틱 회귀 : 독립변수와 종속변수의 선형 관계성 기반 결정 트리 : 데이터 균일도에 따른 규칙 기반 서포트 벡터 머신 : 개별 클래스 간의 최대 분류 마진을 효과적으로 찾아주는 역할 최소 근접 (Nearest Neighbor) : 근접 거리를 기반 (KNN으로 많이 사용) 신경망 : 심층 연결 기반 앙상블 : 서로 다른(or 같은) 머신러닝 알고리즘 결합 앙상블 기법 분류에서 가장 각광을 받는 분야 중 하나, 정형 데이터의 예측

2023년 1월 9일
·
0개의 댓글
·
post-thumbnail

[kaggle] - 향후 판매량 예측

Intro 캐글의 안전 운전자 예측 경진대회 'Predict Future Sales' compeition에 참가해 다양한 feature engineering을 시도해보았다. 과거 판매 데이터를 바탕으로 향후 판매량을 예측하는 회귀 문제로, 독특하게 train data외에 3가지 데이터가 더 제공된다. 상점, 상품, 상품분류에 관한 정보를 담은 각각의 파일을 활용하여 데이터를 예측하는 것이다. 또한 타깃값(각 상점의 상품별 월간 판매량)은 반드시 0에서 20개 사이라는 것을 주의해야 한다. EDA 데이터 둘러보기 데이터를

2022년 11월 29일
·
0개의 댓글
·
post-thumbnail

[kaggle] - 안전 운전자 예측

Intro 캐글의 안전 운전자 예측 경진대회 'Porto Seguro's Safe Driver Prediction' compeition에 참가해 다양한 모델링 기법을 연습해보았다. Porto Seguro라는 브라질의 보험사에서 제공한 고객 데이터를 활용해 운전자가 보험을 청구할 확률을 예측하는 대회이다. 데이터에 결측값이 많기에 이를 잘 해결하는 것이 핵심이다. 타깃값은 0과 1로 구분되는데, 0이면 보험금을 청구하지 않는다는 것, 1이면 보험금을 청구한다는 것이다. 타깃값이 2개이므로 이진분류 문제에 속한다. EDA 데이터 둘러보기 데이터를 불러와 training dat

2022년 11월 26일
·
0개의 댓글
·
post-thumbnail

[Day 52] lightgbm

GOSS와 EFB 어제 lightgbm 복습하다 난관에 봉착했던 GOSS와 EFB에 대해서 오늘 으쌰 복습 시간에 공부했다. 특히 GOSS는 발표까지 할뻔했어서 열심히 공부했다! EFB는 좀 더 어렵네...! GOSS(Gradient based one side sampling) GOSS, gradient based one side sampling은 데이터의 행을 효과적으로 줄이는 방법입니다. 의의 gradient boosting은 데이터의 행의 개수와 열의 개수가 많으면 시간이 오래걸린다는 문제가 있었습니다. 이러한 문제를 해결하기 위해 데이터의 행의 개수를 줄여주는 방법이 바로 GOSS입니다. GOSS는 큰 그라디언트를 가진 모든 인스턴스, 즉 행들은 유지하고 작은 그라디언트를 가진 인스턴스들은 무작위로 샘플링을 수행하는 방법을 통해 행의 개수를 줄입니다. 아이디어 GOSS는 기울기 기반 단측 표본 추출법이라고 할 수 있습니다. 말이 좀 어렵지만, 결

2022년 11월 24일
·
0개의 댓글
·
post-thumbnail

[혼자 공부하는 머신러닝+딥러닝] - CH.5-3 Tree Ensemble

주요 개념 앙상블 학습: 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 머신러닝 알고리즘 랜덤 포레스트: 대표적인 결정 트리 기반의 앙상블 학습 방법, 부트스트랩 샘플을 사용하고 랜덤하게 일부 특성을 선택하여 트리를 만듦 엑스트라 트리: 랜덤포레스트와 비슷하게 결정 트리를 사용하여 앙상블 모델을 만들지만 부트스트랩 샘플을 사용하지 않음, 랜덤하게 노드를 분할해 과대적합을 감소시킴 그레디언트 부스팅: 결정트리를 연속적으로 추가하여 손실 함수를 최소화하는 앙상블 방법, 훈련속도가 느리지만 성능이 더 좋음 히스토그램 기반 그레디언트 부스팅: 그레디언트 부스팅의 속도를 개선, 높은 성능을 가짐 랜덤 포레스트 엑스트라 트리 랜덤포레스트와 유사하나 부트스트랩 샘플을

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

[MachineLearning] PUBG 승률 예측 머신러닝 모델링 - 배린이 탈출 프로젝트

PUBG Finish Placement Prediction - Kaggle BHC team Github repo - 코드 공유 개요 캐글 대회였던 PUBG 최종 승자 예측의 데이터를 활용하여 배그 초보자들에게 고수들이 어떻게 행동하는지를 데이터 근거와 함께 조언을 주려는 목적으로 프로젝트를 진행하였습니다. > PUBG란? : PlayerUnknown's Battel Grounds, 배틀그라운드라는 이름의 배틀로얄 방식의 게임, 100명의 플레이어가 비행기에서 뛰어내려 무기를 파밍하고 마주치면 싸우면서 제거, 강탈하며 최후의 1인(혹은 한팀)이 살아남을 때까지 진행하는 게임. 블루존(Blue Circle) 안에서 경기가 진행되며 이 밖에서는 자기장에 의해 사망

2022년 10월 28일
·
0개의 댓글
·
post-thumbnail

파이썬 머신러닝 완벽 가이드 - 5. Classification(2) (앙상블)

3. 앙상블 Ensemble : 여러 개의 분류기(classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법 → 보팅Voting, 배깅Bagging, 부스팅Boosting + 스태킹Stacking 보팅 : 서로 다른 알고리즘을 가진 분류기 결합 배깅 : 같은 유형의 알고리즘을 가진 분류기를 사용하지만, 데이터 샘플링을 다르게 가져감 부트스트래핑 Bootstrapping: 개별 분류기에게 데이터를 샘플링해서 추출하는 방식 데이터 세트 간의 중첩 허용 (cf. 교차검증은 중복 불허) ex) 10,000개의 데이터를 10개의 분류기가 배깅 방식으로 나눠도, 각 1,000개의 데이터 내에서 중복된 데이터가 있을 수 있음 부스팅 : 여러 개의 분류기가 순차적으로 학습을 수행하되, 앞의 분류기의 틀린 예측에 대해서 다음 분류기에는 가중치를 부여하면서 학습과 예측을 진행하는 방식 대표

2022년 9월 29일
·
0개의 댓글
·
post-thumbnail

m1 mac 주피터노트북에서 lightgbm 설치 안 될 때

보통 주피터노트북에서 모듈을 설치할 때 가장 흔히 사용하는건 이거다 하지만 lightgbm도 이렇게 설치하면 안 된다 이렇게 하면 나같은 경우 이런 에러가 떴다 이럴 경우 여러분의 터미널로 가야한다 터미널로 가서 설치해야한다 여러분의 m1 맥에 homebrew가 설치돼있다고 가정하고 이렇게하고 나면 설치가 완료되고, 다시 여러분의 주피터노트북으로 가서 확인해보면 가 잘 되는 걸 확인할 수 있을 것이다 각자의 컴퓨터 모두가 환경이 다르기에 이렇게 해서 안 된다면 다른분의 블로그를 참고해보는 걸 추천한다

2022년 9월 24일
·
0개의 댓글
·

Boosting

실제로 캐글에서는 XGboost라는 라이브러리를 사용한 대회 참여나 다양한 시도들이 이루어지고 있습니다. 자매품으로는 Catboost나 조금 더 가벼운 앙상블 모델인 LightGBM이 있습니다. Kaggle의 마음에 드는 대회에 들어가, XGboost 혹은 Catboost, LightGBM에 해당하는 코드를 살펴보세요. 또한, XGBoost, LightGBM, CatBoost을 비교해 각각 어떤 장단점을 지니고 있는지 서술하세요. XGBoost -- 비정형 데이터에서는 NN(Nerual Network)가 좋지만, 정형 데이터에서는 좋은 성능을 보이고 있습니다. -- 기존 GBM(Gredient Boost Model)은 sequential 하게 학습하지만, XGBoost는 Parallelization(병렬 처리)하게 학습합니다. -- 분류와 회귀영역에서 뛰어난 예측 성능 발휘, 즉, CART(Classification and regression tree) 앙상블 모델을

2022년 8월 21일
·
0개의 댓글
·

Install LightGBM

Light GBM GPU 설치하자. Preparation 그리고 CUDA 11.0 이상의 버전이 설치되어 있어야 한다고 함. Building TroubleShooting Error Target "lightgbmobjs" of type OBJECTLIBRARY may not be linked into cmake 버전이 안맞아서 그런다. 아래 링크에서 3.22버전으로 설치해서 하면된다. https://cmake.org/download/ Reference https://velog.io/@kitsunetic/LightGBM-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C%EB%A1%9C-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Linux-RTX30 https://woongheelee.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%BD%98%EB%8

2022년 5월 16일
·
0개의 댓글
·

Model

모델 선택 샘플이 적고 feature가 많은 경우 -> 선형 모델 샘플이 많고 feature가 적은 경우 -> 앙상블 모델 1. Decision Tree 특징 이상치에 강한 모델임 tree를 분리하는 과정에서 feature selection이 자동으로 사용됨 연속형과 범주형 변수를 모두 다루기 때문에 사전 데이터 준비가 많이 필요하지 않다 결측값을 하나의 가지로 다룰 수 있기 때문에 이를 예측에 활용할 수 있다. 분류율은 낮은편. 여러 변수를 동시에 고려하지 못함 엔트로피 : 결정 규칙을 분리할 수 있는 기준으로 데이터의 무질서 정도를 측정할 수 있는 방법 의사결정나무에서는 엔트로피가 높을 수록 class 구분을 잘 못해주는 feature가 되며, 낮을 수록 구분을 잘 해주는 유의한 feature가 된다. 가지치기 : 현재의 노드에서 더 이상 분리가 일어나지 못하게 하는 규칙 노드에 속하는 자료가 일정한 수 이하일 때 :

2022년 1월 14일
·
0개의 댓글
·
post-thumbnail

LightGBM feature importance

Kaggle, Dacon 또는 실제 모델링을 하다보면 feature를 여러개 추가해서 학습을 하게 된다. 이때, feature가 너무 많으면 오히려 학습에 방해되는데 필요없는 feature들은 제거하는 것이 좋다. 이때 어떤 feature를 살리고 버려야 할까? 결정트리모델의 경우, 블랙박스 모델이 아니기 때문에 XAI기법 몇 가지를 이용하면 feature의 중요도를 알 수 있다. 이 글은 feature importance를 구하는 식은 제외하고 간단히 뜻과 사용방법만 대해 논한다. 1. Gain / Split XGBoost에는 Weight, Gain, Cover 3가지 feature importance를 제공하는데, LightGBM은 Gain, Split 이렇게 2가지를 제공한다.\ ![](htt

2021년 7월 18일
·
1개의 댓글
·
post-thumbnail

LightGBM parameter tuning-(2) (with optuna)

LightGBM 하이퍼파라미터를 튜닝하기는 사실 어렵다. 워낙 LGBM이 파라미터 튜닝에 민감하기도 하고, 신경쓸게 너무 많다. 인턴을 하면서 알게된건 3가지 방법 순서대로 파라미터 튜닝을 했다. 파라미터 튜닝 마음가짐 순서 1. 그럼에도 불구하고, 끝까지 노가다 한다 어쩔 수 없다. 학습이 빠르고 정확한 결과를 얻기 위해서 lightgbm을 선택했으니, 파라미터 튜닝은 온전히 내가 해낸다는 마음으로 하나씩 값을 바꿔본다. 아니면 XGBoost 쓰던가 2. 다른 모델 사용하기 CatBoost는 categorical

2021년 7월 18일
·
2개의 댓글
·
post-thumbnail

LightGBM parameter tuning-(1)

하이퍼파라미터 종류와 뜻 docs 링크 하이퍼파라미터 튜닝 docs 링크 LightGBM은 leaf-wise로 트리를 탐색하므로 데이터가 적을 경우 오버피팅이 일어날 수 있다. 이를 방지하기 위해 하이퍼파라미터에 꽤나 민감하다. 학습속도, 정확도, 오버피팅은 서로 trade-off 관계가 있으니 상황에 맞춰 하이퍼파라미터를 조절하면 된다. 1. 학습 속도 향상 1. Increase mindatain_leaf: 노드에 포함되는 최소 feature 수. 최소 fea

2021년 7월 18일
·
0개의 댓글
·
post-thumbnail

[Kaggle] 분자 특성 예측(Predicting Molecular Properties)

Intro 최근 kaggle에서 굉장히 눈에 띄는 competition이 있었으니 바로, Predicting Molecular Properties라는 이름의 대회였다. 해당 competition은 브리스톨 대학교, 카디프 대학교, 임페리얼 칼리지 및 리즈 대학교로 이루어진 CHAMPS(CHemistry And Mathematics in Phase Space) 에 의해 주최되었으며, 수상하는 팀에게는 대학 연구 프로그램과 협력할 수 있는 기회가 주어진다고 한다. 예측 대상 우선 해당 대회의 도전과제는 소제목 및 Description을 통해 파악할 수 있다. > *Can

2021년 7월 18일
·
0개의 댓글
·