본문 바로가기
IT

XGBoost 튜토리얼

by mimmic 2021. 5. 18.

1. XGBoost 튜토리얼 - 목표

이 XGBoost 자습서에서는 XGBoosting이란 무엇인가에 대해 공부하겠습니다. 또한 XGBoosting의 기능과 XGBoost Algorithm이 필요한 이유에 대해서도 알아보겠습니다. 우리는 왜 XGBoost를 사용하는지, 왜 XGBoosting이 좋은지 등 모든 기본 개념을 다루도록 노력할 것입니다.

그러면 XGBoost Tutorial을 시작하겠습니다.

2. XGBoost란 무엇입니까?

그것은 최근에 응용 머신 러닝을 지배하고 있다. XGBoost Algorithm은 그레이디언트 증가 결정 트리의 구현이다. 그것은 속도와 성능을 위해 고안되었다. 기본적으로 XGBoosting은 소프트웨어 라이브러리의 한 종류입니다. 컴퓨터에 다운로드하고 설치할 수 있습니다. 그런 다음 다양한 인터페이스에서 액세스해야 합니다.

  • CLI(명령줄 인터페이스)입니다.
  • C++(라이브러리 작성 언어)입니다.
  • Scikit-learn의 모델뿐만 아니라 Python 인터페이스.
  • 캐럿 패키지의 모델 및 R 인터페이스.
  • 거리야.
  • Scala와 같은 Java 및 JVM 언어 및 Hadoop과 같은 플랫폼.

3. XGBoost 기능

여기서는 XGBoost Tutorial의 이 파트에서 XGBoost의 기능에 대해 알아보겠습니다.

a. 모델 특징

XGBoost 모델 구현은 Scikit-learn 및 R 구현의 기능을 지원합니다. Gradient Boosting은 세 가지 주요 형태의 Gradient Boosting이 지원된다: 이것은 학습 속도를 포함한 Gradient Boosting Machine이라고도 불린다. 확률적 기울기 부스팅 이것은 분할 수준당 행, 열 및 열의 하위 샘플링에 의한 부스팅입니다. 레귤러 라이즈드 그레이디언트 부스팅 L1과 L2 레귤러 라이제이션으로 부스팅을 포함합니다.

b. 시스템 기능

  • 교육 중에 모든 CPU 코어를 사용하여 트리 구성을 병렬화합니다.
  • 분산 컴퓨팅은 기계 클러스터를 사용하여 대규모 모델을 교육합니다.
  • 메모리에 맞지 않는 대규모 데이터셋을 위한 아웃 오브 코어 컴퓨팅.
  • 캐시 데이터 구조 및 알고리즘을 최적화하여 하드웨어를 최대한 활용합니다.

c. 알고리즘 특징

시간 및 메모리 리소스의 효율성을 위해 XGBoost 알고리즘을 사용합니다. 또한, 이것은 모델을 훈련시키기 위해 이용 가능한 자원을 이용하기 위해 고안되었습니다.

  • 누락된 데이터 값을 자동으로 처리하는 희소 인식 구현.
  • 트리 구조의 병렬화를 지원하는 블록 구조입니다.
  • 새 데이터에 대해 이미 적합된 모델을 더욱 강화할 수 있도록 교육을 계속합니다.
  • XGBoost는 무료 오픈 소스 소프트웨어이다. 이는 Apache-2 허용 라이선스에 따라 사용할 수 있습니다.

4. XGBoost 튜토리얼 - XGBoost를 사용하는 이유

XGBoosting 알고리즘을 사용해야 하는 두 가지 이유 역시 프로젝트의 두 가지 목표입니다.

a. XGBoost 실행 속도

XGBoosting을 Gradient Boosting 구현과 비교하면 매우 빠릅니다. 그것은 XGBoost를 다른 그레이디언트 부스팅 및 백지화된 의사 결정 트리 구현과 비교한다.  "랜덤 포레스트 구현 벤치마킹"입니다. 또한, GitHub에 대한 모든 코드와 더 광범위한 결과 보고서를 하드 넘버로 제공합니다.

b. XGBoost 모델 성능

분류 및 회귀 예측 모델링 문제에 대한 구조화된 데이터 세트를 지배한다. 경쟁우위를 위한 바둑 알고리즘이라는 게 그 증거다. 이는 Kaggle 경쟁 데이터 과학 플랫폼을 기반으로 합니다. 머신 러닝을 배워야 하는 이유에 대해 자세히 알아보기

5. XGBoost 튜토리얼 - XGBoosting이 좋은 이유는 무엇입니까?

a. 유연성

XGBoosting은 분류, 회귀 및 순위 문제가 있는 사용자 정의 목적 함수를 지원한다. 우리는 모델의 성능을 측정하기 위해 객관적인 함수를 사용한다. 특정 매개 변수 집합이 제공됩니다. 또한 사용자 정의 평가 메트릭도 지원합니다.

b. 가용성

R, Python, Java, Julia, Scala와 같은 프로그래밍 언어에 사용할 수 있기 때문이다.

c. 저장 후 다시 로드

데이터 매트릭스와 모델을 쉽게 저장하고 나중에 다시 로드할 수 있습니다. 대규모 데이터 세트를 가지고 있다면 모델을 간단히 저장할 수 있다고 가정하자. 또한, 우리는 계산을 다시 하는 데 시간을 낭비하는 대신 미래에 그것을 사용한다. 기계 학습의 장점과 단점에 대해 읽어 보십시오. 이 모든 것은 XGBoost Tutorial에 대한 것입니다. 우리의 설명이 마음에 들었으면 좋겠어요.

6. 결론

따라서 이 XGBoost 튜토리얼에서는 XGBoost란 무엇인지 연구하였다. 또한 XGBoosting 기능, XGBoost 알고리즘을 사용하는 이유, XGBoosting이 좋은 이유를 배웠습니다. 또한 질문이 있는 경우 설명 섹션에서 언제든지 질문하십시오. 자세한 내용은 인공 신경망(ANN) 및 지원 벡터 머신(SVM) 참조.

'IT' 카테고리의 다른 글

Gradient Boosting Algorithm에 대해서  (0) 2021.05.17
Dimensionality Reduction의 기술과 방법  (0) 2021.05.17
SVM(지원 벡터 머신)의 사례  (0) 2021.05.17
Python에서 SVM을 구현하는 방법  (0) 2021.05.17
딥러닝과 오디오 분석  (0) 2021.05.17

댓글