전체 글153 LightGBM LightGBM은 XGBoost와 같이 부스팅 알고리즘에서 가장 주목을 받고 있습니다. XGBoost는 매우 뛰어나지만 아지까진 학습 시간이 오래 걸린다는것이 큰 단점입니다. LightGBM 장단점1. LightGBM 장점학습하는데 걸리는 시간이 적다.메모리 사용량이 상대적으로 적은편이다.카테고리형 피처들의 자동 변환과 최적 분할2. LightGBM 단점적은 데이터 세트의 적용을 할 경우 과적합 가능성이 크다.(일반적으로 적은 데이터 세트의 기준은 공식 문서에서 10,000건 이하로 정의) LightGBM 특징LightGBM은 리프 중심 트리 분할(Leaf Wise) 방식을 사용합니다. 기존의 트리 기반 알고리즘은 균형 트리 분할(Level Wise) 방식을 사용합니다. 풀어서 설명하자면 최대한 균형이 .. 2020. 4. 28. XGBoost 실습 - 사이킷런 래퍼 - 사이킷런에서는 XGBoost 관련 래퍼는 크게 두가지로 나눌 수 있습니다. 바로 분류를 위한 클래스 XGBClassifier, 회귀를 위한 클래스 XGBRegressor 입니다. 앞에 포스팅에서 파이썬 래퍼 XGBoost와 사이킷런 래퍼 XGBoost의 파라미터들의 차이가 존재한다고 하였습니다. XGBClassifier는 기존의 사이킷런에서 사용하는 하이퍼 파라미터와의 호환성을 유지하기 위해서 기존의 xgboost 모듈에서 사용하던 하이퍼 파라미터 몇 가지를 변경하였습니다. 변경 사항은 다음과 같습니다. eta -> learning_rate sub_sample -> subsample lambda -> reg_lambda alpha -> reg_alpha 파이썬 래퍼 예제와 마찬가지로 위스콘신 유방암 데이.. 2020. 4. 27. XGBoost 실습 - 파이썬 래퍼 - 실습에 사용되는 데이터는 위스콘신 유방암 데이터입니다. 이 데이터 세트는 다양한 속성값을 기반으로 악성 종양인지 양성 조양인지를 분류하는 데이터 세트입니다. 먼저 필요한 모듈들을 로딩하여 줍니다. In import xgboost as xgb from xgboost import plot_importance import pandas as pd import numpy as nd from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split 데이터를 불러와서 피처와 레이블 값을 지정하여 줍니다. dt=load_breast_cancer() features=dt.data label= dt.targe.. 2020. 4. 27. XGBoost(eXtra Gradient Boost) XGBoost는 트리 기반의 앙상블 학습에서 가장 주목받고 있는 알고리즘 중 하나입니다. XGBoost는 GBM의 단점인 느린 수행 시간과 과적합 규제(Regularization) 부재 등의 문제를 해결해서 매우 주목을 받고 있습니다. XGBoost의 장점들을 정리해보도록 하겠습니다. 뛰어난 예측 : 분류와 회귀 영역에서 뛰어난 예측 성능을 발휘합니다. 빠른 수행 시간: XGBoost는 병렬 수행 및 다양한 기능으로 수행되어 GBM에 비해 빠른 수행 성능을 보장할 수 있습니다. 과적합 규제: XGBoost는 과적합 규제 기능이 있어 과적합에 강한 내구성을 가질 수 있습니다. 나무 가지치기: 다른 GBM과 마찬가지로 XGBoost도 max_depth 파라미터로 분할 깊이를 조정하기도 하지만 나무 가지치기(.. 2020. 4. 26. GBM(Gradient Boosting Machine) 부스팅 알고리즘이란? 여러 개의 약한 학습기(weak learner)를 순차적으로 학습 -> 예측을 하면서 잘못 예측한 데이터에 가중치를 부여해서 오류를 개선하면서 나아가는 방식입니다. 대표적인 예시로는 AdaBoost와 그래디언트 부스팅이 있습니다. AdaBoost는 오류 데이터에 가중치를 부여하면서 부스팅을 수행하는 대표적인 알고리즘입니다. 그림을 통해서 AdaBoost의 진행 방식을 정리해보도록 하겠습니다. Step 1에서는 점선 동그라미 표시한 ▲ 데이터가 잘못 분류된 오류 데이터입니다. Step 2에서는 Step 1에서의 오류 데이터에 대해서 가중치를 부여하게 됩니다. 가중치가 부여된 ▲ 데이터는 다음 약학 학습기가 더 잘 분류할 수 있게 크기가 커졌습니다. Step 3은 점선 동그라미 표시한 .. 2020. 4. 26. 랜덤 포레스트(Random forest) 배깅(bagging)의 개념을 다시 살펴보면 같은 알고리즘으로 여러개의 분류기를 만드는 알고리즘입니다. 배깅의 대표적인 알고리즘은 랜덤 포레스트(Random forest)가 있습니다. 랜덤 포레스트(Random forest)란? 랜덤 포레스트는 결정 트리를 기반으로 하는 알고리즘입니다. 랜덤 포레스트는 여러 개의 결정 트리 분류기가 배깅을 기반으로 각자의 데이터를 샘플링 하여 학습을 수행한 후에 최종적으로 보팅을 통해 예측 결정을 하게 됩니다. 랜덤 포레스트는 부트스트래핑(bootstrapping) 방식으로 분할 합니다. 그렇기 때문에 중첩되게 샘플링이 됩니다. 부트스트래핑(bootstrapping): 여러개의 데이터 세트를 중첩되게 분리하는 방식 ▷ 사이킷런에서는 RandomForestClassifie.. 2020. 4. 26. 이전 1 ··· 20 21 22 23 24 25 26 다음