CatBoost
CatBoost is a high-performance open source library for gradient boosting on decision trees.
캣부스트(CatBoost)는 얀덱스가 개발한 오픈 소스 소프트웨어 라이브러리이다. 이는 다른 기능들과 더불어, 고전적인 알고리즘에 대한 순열 기반 대안을 사용하여 범주형 특성을 해결하려는 그라디언트 부스팅 프레임워크를 제공한다.
기능
캣부스트는 주로 다음 기능들 덕분에 다른 그라디언트 부스팅 알고리즘에 비해 인기를 얻었다.
- 범주형 특성의 기본 처리
- 빠른 GPU 훈련
- 모델 및 특징 분석을 위한 시각화 및 도구
- 더 빠른 실행을 위한 oblivious 트리 또는 대칭 트리 사용
- 과적합을 극복하기 위한 순서형 부스팅
역사
2009년 안드레이 굴린은 얀덱스에서 검색 결과 순위를 매기는 데 사용된 독점적인 그라디언트 부스팅 라이브러리인 MatrixNet을 개발했다. 2009년부터 MatrixNet은 추천 시스템 및 일기 예보를 포함한 얀덱스의 다양한 프로젝트에 사용되었다.
2014-2015년에 안드레이 굴린은 연구팀과 함께 "범주형 데이터 작업 방법" 문제를 해결하는 것을 목표로 하는 Tensornet이라는 새로운 프로젝트를 시작했다. 그 결과 범주형 데이터 처리에 대한 다른 접근 방식을 가진 여러 독점적인 그라디언트 부스팅 라이브러리가 탄생했다.
2016년 안나 도로구시가 이끄는 기계 학습 인프라 팀은 Matrixnet과 Tensornet을 포함한 얀덱스에서 그라디언트 부스팅 작업을 시작했다. 그들은 범주형 및 텍스트 데이터, GPU 훈련, 모델 분석, 시각화 도구를 지원하는 CatBoost라는 그라디언트 부스팅 라이브러리의 다음 버전을 구현하고 오픈 소스화했다.
캣부스트는 2017년 7월에 오픈 소스화되었으며 얀덱스와 오픈 소스 커뮤니티에서 활발히 개발되고 있다.
적용
- 젯브레인즈는 코드 완성에 캣부스트를 사용한다.
- Cloudflare는 봇 탐지에 캣부스트를 사용한다.
- Careem은 탑승의 미래 목적지를 예측하는 데 캣부스트를 사용한다.
See also
- Decision Tree
- Random Forest
- AdaBoost
- Gradient Boosting Tree (GBT; 그라디언트 부스팅)
- lightGBM
- XGBoost
- CatBoost
- 기계 학습 (Machine Learning)
- TabPFN
- Scikit-learn
Favorite site
- Catboost 모델에 대하여 - 알고리즘, 구현 코드
- Catboost 주요 개념과 특징 이해하기
- [추천] CatBoost - CatBoost: 이론, 수식, 실전 적용