본문 바로가기

Development/Machine Learning

[Machine Learning] Voting Classifier

728x90

Voting Classifier는 "다수결 분류"를 뜻하는 것으로, 두 가지 방법으로 분류할 수 있습니다.

1. Hard Voting Classifier

여러 모델을 생성하고 그 성과(결과)를 비교합니다. 이 때 classifier의 결과들을 집계하여 가장 많은 표를 얻는 클래스를 최종 예측값으로 정하는 것을 Hard Voting Classifier라고 합니다.

Hard Voting Classifier

위와 같이 최종 결과를 1로 예측한 모델이 1개, 0으로 예측한 모델이 2개이므로 Hard Voting Classifier의 최종 결과(예측)은 0이 됩니다.

2. Soft Voting Classifier

앙상블에 사용되는 모든 분류기가 클래스의 확률을 예측할 수 있을 때 사용됩니다. 각 분류기의 예측을 평균 내어 확률이 가장 높은 클래스로 예측하게 됩니다. 즉 가중치 투표라고 할 수 있습니다.

Soft Voting Classifier

위와 같이 예측 확률에 대한 평균이 높게 나오는 클래스를 최종 예측 클래스로 정하게 됩니다.

from sklearn.ensemble import VotingClassifier

VC = VotingClassifier(estimators=[('rfc', RFC_best), ('svc', SVMC_best), ('gbc', GBC_best)], voting='hard', n_jobs=4)

VC = VC.fit(train_data, target)

# 예측
prediction = VC.predict(test_data)

 

출처: https://nonmeyet.tistory.com/entry/Python-Voting-Classifiers%EB%8B%A4%EC%88%98%EA%B2%B0-%EB%B6%84%EB%A5%98%EC%9D%98-%EC%A0%95%EC%9D%98%EC%99%80-%EA%B5%AC%ED%98%84

728x90

'Development > Machine Learning' 카테고리의 다른 글

[Machine Learning] Gradients  (0) 2021.02.05