728x90
Voting Classifier는 "다수결 분류"를 뜻하는 것으로, 두 가지 방법으로 분류할 수 있습니다.
1. Hard Voting Classifier
여러 모델을 생성하고 그 성과(결과)를 비교합니다. 이 때 classifier의 결과들을 집계하여 가장 많은 표를 얻는 클래스를 최종 예측값으로 정하는 것을 Hard Voting Classifier라고 합니다.
위와 같이 최종 결과를 1로 예측한 모델이 1개, 0으로 예측한 모델이 2개이므로 Hard Voting Classifier의 최종 결과(예측)은 0이 됩니다.
2. 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)
728x90
'Development > Machine Learning' 카테고리의 다른 글
[Machine Learning] Gradients (0) | 2021.02.05 |
---|