파이썬으로 구현하는 머신러닝 : 트리모델 - 앙상블 기법의 개념

2022. 2. 9. 16:11·프로젝트/코드프레소 체험단

Ensemble Learing(앙상블 기법)의 개념

 - Random Forest 모델의 기반

 - 다수의 ML 모델을 결합하여 학습, 예측하는 기법

 - Decision Tree 등의 단순한 모델을 여러 개 결합하여 사용

 - 단일 ML 모델을 사용하는 것보다 일반적으로 예측 성능이 높음

 - 최신 앙상블 기법은 정형 데이터 셋에 대해서는 딥러닝에 필적하는 성능을 보임(Kaggle에서 많이 사용됨)

 - 앙상블 기법의 종류 : Voting, Bagging, Boosting

 

Voting 기법

 - 서로 다른 ML 모델을, 동일한 데이터셋으로 학습

 - 다수의 학습된 모델로 Prediction한 값으로 최종 투표

 

Bagging 기법

 - Bootstrap Aggregating의 약자

 - 전체 학습 데이터셋에서 무작위 복원 샘플 데이터 추출

 - 동일한 ML 모델을 서로 다른 샘플 데이터셋으로 학습. 각 학습은 독립적으로 수행

 - 이후 Voting 기법과 동일하게 최종 투표

 

Boosting 기법

 - Bagging과 유사하게 동일한 ML 모델을, 서로 다른 샘플 데이터셋으로 학습

 - 학습이 순차적이며, 이전 단계의 학습 결과를 토대로 다음 단계 샘플링에 가중치를 결정

 - 예측 성능이 가장 높지만, 학습 속도가 매우 느림

 - 최신 Boostinf 기법은 Voting과 Bagging만큼 속도가 빠름

 

 * Logistic Regression과 Decision Tree를 앙상블 기법의 Voting 기법으로 학습시킨 모델

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

cancer = load_breast_cancer()
x_train, x_test, y_train, y_test = train_test_split(cancer.data, cancer.target, test_size=0.3, random_state=12)

from sklearn.ensemble import VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier

# LogisticRegression 및 DecisionTreeClassifier 객체 생성
lr = LogisticRegression(random_state=12)
dt = DecisionTreeClassifier(random_state=12)

# VotingClassifier 객체 생성
voting = VotingClassifier(estimators=[('LR',lr), ('DT',dt)], voting='soft')

# VotingClassifier 학습 및 검증
voting.fit(x_train , y_train)
pred = voting.predict(x_test)

# accuracy_score 호출하여 accuracy 계산 후 출력
print('Accuracy: {0:.3f}'.format(accuracy_score(y_test, pred)))

 

'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글

파이썬으로 구현하는 머신러닝 : 비지도학습 - 주성분분석(PCA)의 개념  (0) 2022.02.10
파이썬으로 구현하는 머신러닝 : 트리모델 - Random Forest  (0) 2022.02.09
파이썬으로 구현하는 머신러닝 : 트리모델 - Decision Tree의 특징  (0) 2022.02.09
파이썬으로 구현하는 머신러닝 : 트리모델 - Decision Tree 모델의 학습  (0) 2022.02.09
파이썬으로 구현하는 머신러닝 : 트리모델 - 지도학습을 위한 트리모델  (0) 2022.02.09
'프로젝트/코드프레소 체험단' 카테고리의 다른 글
  • 파이썬으로 구현하는 머신러닝 : 비지도학습 - 주성분분석(PCA)의 개념
  • 파이썬으로 구현하는 머신러닝 : 트리모델 - Random Forest
  • 파이썬으로 구현하는 머신러닝 : 트리모델 - Decision Tree의 특징
  • 파이썬으로 구현하는 머신러닝 : 트리모델 - Decision Tree 모델의 학습
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (576)
      • 혼잣말 (88)
      • TIL (3)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (169)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (40)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MailBadara
    해커톤
    부산대
    JavaScript
    파이썬
    알고리즘
    RNN
    docker
    numpy
    Flutter
    프로그래머스
    리액트
    pintos
    Pint OS
    OS
    머신러닝
    블록체인
    센디
    react
    니어프로토콜
    크래프톤정글
    사이드프로젝트
    핀토스
    나만무
    졸업과제
    코드프레소
    딥러닝
    NEAR Protocol
    글리치해커톤
    자바스크립트
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
파이썬으로 구현하는 머신러닝 : 트리모델 - 앙상블 기법의 개념
상단으로

티스토리툴바