본문 바로가기
728x90
반응형
SMALL

XGBoost19

[XGBoost] Python Package Introduction (3) Prediction 훈련되거나 로드된 모델은 데이터 세트에 대한 예측을 수행할 수 있다. # 7 entities, each contains 10 features data = np.random.rand(7, 10) dtest = xgb.DMatrix(data) ypred = bst.predict(dtest) 훈련 중에 조기 중지가 활성화된 경우 다음을 사용하여 최상의 반복에서 예측을 얻을 수 있다 bst.best_iteration. ypred = bst.predict(dtest, iteration_range=(0, bst.best_iteration + 1)) Plotting 플로팅 모듈을 사용하여 중요도 및 출력 트리를 그릴 수 있다. 중요도를 표시하려면 xgboost.plot_importance()를 사.. 2022. 5. 9.
[XGBoost] Python Package Introduction (2) 매개변수 설정 XGBoost는 쌍 목록이나 사전을 사용하여 매개변수를 설정할 수 있다. 1. Booster parameters param = {'max_depth': 2, 'eta': 1, 'objective': 'binary:logistic'} param['nthread'] = 4 param['eval_metric'] = 'auc' 2. 여러 평가 지표를 지정할 수도 있다. param['eval_metric'] = ['auc', 'ams@0'] # alternatively: # plst = param.items() # plst += [('eval_metric', 'ams@0')] 3. 성능을 관찰하도록 설정된 유효성 검사 지정 evallist = [(dtest, 'eval'), (dtrain, 'tra.. 2022. 5. 9.
[XGBoost] Python Package Introduction (1) Python Package Introduction Python 패키지는 기본 인터페이스, scikit-learn 인터페이스 및 dask 인터페이스를 포함하여 3가지 다른 인터페이스로 구성된다. Dask 인터페이스에 대한 소개는 Distributed XGBoost with Dask를 참조하면 된다. import xgboost as xgb 데이터 인터페이스 NumPy 2D array SciPy 2D sparse array Pandas data frame cuDF DataFrame cupy 2D array dlpack datatable XGBoost binary buffer file LIBSVM text format file Comma-separated values (CSV) file 데이터는 DMatrix .. 2022. 5. 9.
[XGBoost] 트리 부스팅 (Tree Boosting) (2) 구조 점수 (Structure Score) 트리 모델을 다시 공식화한 후 다음을 사용하여 목적 값을 작성할 수 있다. Ij={i|q(xi)=j}에 할당된 데이터 포인트의 인덱스 집합이다. 두 번째 줄에서 동일한 잎의 모든 데이터 포인트가 동일한 점수를 받기 때문에 합계의 인덱스를 변경했다. 다음을 정의하여 표현식을 더 압축할 수 있다. 이 방정식에서 wj 형태는 서로 독립이다. 주어진 구조 q(x)에 대해 얻을 수 있는 최고 wj의 객관적 감소는 다음과 같다. 마지막 방정식은 트리 구조가 얼마나 좋은지를 측정한다. 그것은 q(x)이다. 그림을 보고 점수를 계산하는 방법을 살펴본다. 기본적으로 주어진 트리 구조에 대해 통계 gi 그리고 hi를 푸시한다. 그들이 속한 잎에 통계를 합산하고 공식을 사용하여 나.. 2022. 5. 6.
[XGBoost] 트리 부스팅 (Tree Boosting) (1) 트리 부스팅 (Tree Boosting) 나무를 어떻게 학습해야 할까? 그 답은 모든 지도 학습 모델에서 항상 그렇듯이 목적 함수를 정의하고 최적화하는 것이다. 다음을 목적 함수로 설정한다 (항상 훈련 손실과 정규화를 포함해야 함을 기억해야 함). Additive Training 나무의 매개변수는 무엇인가? 그 함수 fi들이라는 것을 알 수 있다. 각각은 트리의 구조와 잎 점수를 포함한다. 학습 트리 구조는 단순히 그라디언트를 취할 수 있는 기존의 최적화 문제보다 훨씬 어렵다. 한 번에 모든 나무를 배우는 것은 다루기 힘든 일이다. 대신에, 배운 것을 수정하고 한 번에 하나의 새로운 나무를 추가하는 추가 전략을 사용한다. 단계에서 예측 값을 쓴다. 각 단계에서 어떤 나무를 원할까? 목표를 최적화하는 것을.. 2022. 5. 6.
[XGBoost] 의사결정 트리 앙상블 (Decision Tree Ensembles) 의사결정 트리 앙상블 (Decision Tree Ensembles) 트리 앙상블 모델은 분류 및 회귀 트리 (CART) 세트로 구성된다. 다음은 누군가가 가상의 컴퓨터 게임 X를 좋아할지 여부를 분류하는 CART의 간단한 예이다. 가족 구성원을 다른 잎 (leaf)으로 분류하고 해당 잎에 점수를 할당한다. CART는 잎이 결정 값만 포함하는 결정 트리와 약간 다르다. CART에서 실제 점수는 각 리프와 연결되어 분류를 넘어 더 풍부한 해석을 제공한다. 이것은 또한 최적화에 대한 원칙적이고 통합된 접근 방식을 허용한다. 일반적으로 단일 트리는 실제로 사용하기에 충분히 강하지 않다. 실제로 사용되는 것은 여러 트리의 예측을 합산하는 앙상블 모델이다. 다음은 두 나무의 트리 앙상블의 예이다. 각 개별 트리의 .. 2022. 5. 6.
[XGBoost] Boosted Trees 부스트 트리 (Boosted Trees) XGBoost는 "Extreme Gradient Boosting"의 약자로, "그라디언트 부스팅"이라는 용어는 Friedman의 논문 Greedy Function Approximation: A Gradient Boosting Machine에서 유래했다. 지도 학습의 요소 (Elements of Supervised Learning) XGBoost는 학습 데이터 (여러 기능 포함)를 사용하는 지도 학습 문제에 사용된다. xi는 목표 변수 yi를 예측하기 위함이다. 모델 및 매개변수 (Model and Parameters) 지도 학습의 모델은 일반적으로 예측의 수학적 구조를 나타낸다. 가중 입력 특성의 선형 조합. 예측 값은 작업, 즉 회귀 또는 분류에 따라 다르게 해.. 2022. 5. 6.
XGBoost XGBoost XGBoost는 매우 효율적이고 유연하며 이식가능 하도록 설계된 최적화된 분산 그라디언트 부스팅 라이브러리이다. Gradient Boosting 프레임워크 에서 기계 학습 알고리즘을 구현한다. XGBoost는 빠르고 정확한 방법으로 많은 데이터 과학 문제를 해결하는 병렬 트리 부스팅 (GBDT, GBM이라고도 함)을 제공한다. 동일한 코드가 주요 분산 환경 (Hadoop, SGE, MPI)에서 실행되며 수십억 개의 예제를 넘어선 문제를 해결할 수 있다. https://xgboost.readthedocs.io/en/stable/index.html XGBoost Documentation — xgboost 1.6.0 documentation © Copyright 2021, xgboost deve.. 2022. 5. 3.
[Deep Learning] XGBoost XGBoost 부스팅 (Boosting) 알고리즘은 앙상블 (Ensemble) 알고리즘의 하나로, 결정트리 기반의 알고리즘이다. 또 다른 앙상블 알고리즘인 배깅 (Bagging) 기법과의 차이점은, 배깅 기법이 평행하게 학습시키는 반면, 부스팅은 순차적으로 학습시킨다는 점이다. 첫 번째 약한 학습기가 분류를 진행하며, 잘못 분류된 데이터에 가중치를 두고 두번째 학습기가 다시 분류를 하게 된다. 이러한 방식으로 잘못 분류된 데이터에 가중치를 두면서 순차적으로 학습을 하여 결론적으로 강한 학습기를 구축한다. XGBoost는 Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리이다. Regression, Classification 문제를 모두 지원하며, 성능과 자원 .. 2022. 5. 3.
728x90
반응형
LIST