앙상블 방법을 구현하는 방법을 배우기위한 리소스


13

이론적으로는 (어떻게) 작동하는지 이해하지만 실제로 앙상블 방법을 사용하는 방법 (투표, 가중 혼합물 등)을 잘 모르겠습니다.

  • 앙상블 메소드를 구현하기위한 좋은 리소스는 무엇입니까?
  • 파이썬 구현과 관련된 특정 리소스가 있습니까?

편집하다:

의견에 대한 토론을 기반으로 일부를 정리하기 위해 randomForest 등과 같은 앙상블 알고리즘을 찾고 있지 않습니다. 대신 다른 알고리즘의 다른 분류를 어떻게 결합 할 수 있는지 궁금합니다.

예를 들어, 누군가가 로지스틱 회귀, SVM 및 기타 다른 방법을 사용하여 특정 관측치의 등급을 예측한다고 가정합니다. 이러한 예측을 기반으로 클래스의 최적 추정치를 캡처하는 가장 좋은 방법은 무엇입니까?

답변:


12

시작하기에 좋은 곳 은 앙상블 학습에 대한 개요 를 얻는 것 입니다. 특히 부스팅배깅 을보고 싶을 것이다 . Netflix Prize의 "The Ensemble"팀이 사용하는 또 다른 방법은 "블렌딩"또는 기능 스태킹 이라고합니다 .

그런 다음 구현하고 거기에서 작동하는 라이브러리를 찾으십시오. 빠른 인터넷 검색은 scikitorange으로 나타났습니다 . 둘 다 자루에 넣거나 부스팅해야합니다 (둘 다 Python입니다).

앙상블 방법을 사용하는 것 이상의 이론을 배우고 싶다면 이 백서 가 좋은 출발점 이라고 생각 합니다 (관심있는 부분에 대한 참조를 따르십시오).

건배.


(+1) woa, 여기에 큰 참조가 있습니다 : O!
steffen

감사. 내가 아는 몇 가지 주제 중 하나에 대해 뭔가를 공헌하려고합니다.
Stumpy Joe Pete

4

'데이터 마이닝의 앙상블 방법 : 예측 결합을 통한 정확도 향상', Seni와 Elder-실제 앙상블 이론과 구현에 대한 훌륭한 참조 자료이지만 R 코드입니다.

'Machine Learning : Algorithmic Perspective', S. Marsland-훌륭한 Python 기반의 실용 텍스트이지만 첫 번째 참조로서 순수한 앙상블 개념에 전념하지는 않습니다.


2

Stumpy Joe Pete의 답변은 완벽했지만 Python 구현에 대해 언급 한 이후 Universidade Federal de Pernambuco 의 양조 프로젝트 에 대해 언급하고 싶었습니다 .

https://github.com/viisar/brew

from brew.base import Ensemble
from brew.base import EnsembleClassifier
from brew.combination import import Combiner

# create your Ensemble
clfs = your_list_of_classifiers # [clf1, clf2]
ens = Ensemble(classifiers = clfs)

# create your Combiner
# the rules can be 'majority_vote', 'max', 'min', 'mean' or 'median'
comb = Combiner(rule='majority_vote')

# now create your ensemble classifier
ensemble_clf = EnsembleClassifier(ensemble=ens, combiner=comb)
ensemble_clf.predict(X)

이 시점에서 앙상블 생성, 조합, 가지 치기 및 동적 선택이 가능합니다.

한계 : 분류 만; 현재 공개 버전에서는 스태킹이 없습니다. 많지 않은 문서.


0

Salford Systems에는 분류 및 회귀 트리 앙상블을 위해 이것을 구현하는 Random Forests라는 소프트웨어 패키지가 있습니다. 제공 할 무료 R 패키지가 없습니다. 나는 그들이 그들의 구현을 설명 할 사용자 매뉴얼을 가지고 있다고 상상한다. 유추하여 다른 앙상블 방법에 대한 방법을 알아낼 수 있습니다.


2
예를 들어 randomForest (클래식 알고리즘), party :: cforest (조건부 추론 트리를 사용하는 임의의 포리스트), gbm (나무의 그라디언트 부스팅)과 같은 여러 가지 앙상블 트리 패키지가 많이 있습니다. 분류 자 / 회귀 불가지론 앙상블을 구현하려는 OP를 읽었습니다. 가장 간단한 절차는 물론 평균 예측입니다.
B_Miner

@B_Miner R에서 구현이 가능하다는 것을 아는 것이 좋습니다. 어쩌면 누군가 파이썬에서 특정 구현이 바람직한 이유를 설명 할 수 있습니다 (R에 대한 내 무지를 용서하십시오). 앙상블 메소드를 구현하는 방법을 설명하는 소스를 알고 싶다면 OP를 읽었습니다. Salford 패키지는 내가 문서화했을지도 모른다는 것을 알고 있었다.
Michael R. Chernick

Freund와 Schapire의 용지 부스팅 작업을 기반으로하는 동안 트리 분류기를 사용하여 최상의 결과를 얻었습니다.
Michael R. Chernick

나는 확률의 간단한 평균화를 통해 개인적으로 정말 좋은 결과를 얻지 만 내 도메인은 클래스 레이블을 선택하는 것보다 확률에 더 관심이 있습니다.
B_Miner

@MichaelChernick Kaggle 경쟁과 같은 매우 강력한 예측 작업을 수행하는 경우 부스팅 또는 랜덤 포레스트 를 선택하지 않을 것 입니다. 당신은 당신을 도울 수있는 가능한 많은 모델들을 모 으려고 할 것입니다 (일반적으로 하나 이상). 따라서 이러한 맥락에서 임의의 포리스트가 다른 것보다 훨씬 우수하더라도 다른 앙상블 방법이 중요합니다.
Stumpy Joe Pete


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.