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


13

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

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

편집하다:

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

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

답변:


12

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

그런 다음 구현하고 거기에서 작동하는 라이브러리를 찾으십시오. 빠른 인터넷 검색은 scikit 과 orange으로 나타났습니다 . 둘 다 자루에 넣거나 부스팅해야합니다 (둘 다 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.