공부/A.I
배깅
래울
2021. 7. 29. 20:21
파이썬 라이브러리를 활용한 머신러닝(번역개정판)
사이킷런 핵심 개발자에게 배우는 머신러닝 이론과 구현 현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없습니다. 사이킷런(scikit-learn)과 같은 훌륭
books.google.co.jp
- 배깅
배깅, Bagging : Bootstrap aggregating
중복을 허용한 랜덤 샘플링으로 만든 훈련세트를 사용하여 분류기를 각각 다르게 학습시킨다.
- 분류기가 predict_proba() 를 지원하면 확률값을 평균하여 예측한다. 그렇지 않으면, 가장 빈도높은 클래스레이블이 예측결과이다.
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import BaggingClassifier
#from preamble import *
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_moons
from sklearn.datasets import load_breast_cancer
Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=3)
Xm_train, Xm_test, ym_train, ym_test = train_test_split(
Xm, ym, stratify=ym, random_state=42)
bagging = BaggingClassifier(LogisticRegression(solver='lbfgs', max_iter=100), n_estimators=100,
oob_score = True, n_jobs=-1, random_state=42)
bagging.fit(Xc_train, yc_train)
print("훈련 셋 정확도 : %.3f"%bagging.score(Xc_train, yc_train))
print("테스트 셋 정확도 : %.3f"%bagging.score(Xc_test, yc_test))
print("OOB 샘플의 정확도 : %.3f"%bagging.oob_score_)
* n_estimators=100 : 훈련할 분류기의 개수는 100개
* oob_score = True : 부트스트래피에 포함되지 않은 샘플로 훈련된 모델을 평가한다.
* OOB : out of bag , 오차 , 이 값을 통해 테스트 세트의 성능을 짐작가능하다.