• Stars
    star
    256
  • Rank 159,219 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ensemble learning related books, papers, videos, and toolboxes

Awesome Ensemble Learning

GitHub stars GitHub forks License Awesome

Ensemble Learning (also known as Ensembling) is an exciting yet challenging field. Ensembling leverages multiple base models to achieve better predictive performance, which is often better than any of the constituent models alone [19]. It has been proven critical in many practical applications and data science competitions [4], e.g., Kaggle.

To promote the learning of ensembling, we create this repository with:

  1. Books & Academic Papers
  2. Online Courses and Videos
  3. Open-source and Commercial Libraries/Toolboxes and Datasets
  4. Key Conferences & Journals

More items will be added to the repository. Please feel free to suggest other key resources by opening an issue report, submitting a pull request, or dropping me an email @ ([email protected]). Enjoy reading!


Table of Contents


1. Books & Tutorials

1.1. Books

Ensemble Methods: Foundations and Algorithms by Zhi-Hua Zhou [30]: Classical text book covering most of the ensemble learning techniques. A must-read for people in the field. [Full Book]

Ensemble Machine Learning: Methods and Applications edited by Oleg Okun [28]: Responding to a shortage of literature dedicated to the topic, this volume offers comprehensive coverage of state-of-the-art ensemble learning techniques, including various contributions from researchers in leading industrial research labs.

Applications of Supervised and Unsupervised Ensemble Methods edited by Oleg Okun [17]: This book contains the extended papers presented at the 2nd Workshop on Supervised and Unsupervised Ensemble Methods and their Applications (SUEMA), in conjunction with ECAI’2008.

Data Mining and Knowledge Discovery Handbook Chapter 45 (Ensemble Methods for Classifiers): by Lior Rokach [22]: This chapter provides an overview of ensemble methods in classification tasks. We present all important types of ensemble method including boosting and bagging. Combining methods and modeling issues such as ensemble diversity and ensemble size are discussed.

Outlier Ensembles: An Introduction by Charu Aggarwal and Saket Sathe [2]: Great intro book for ensemble learning in outlier analysis.

1.2. Tutorials

Tutorial Title Venue Year Ref Materials
On the Power of Ensemble: Supervised and Unsupervised Methods Reconciled SDM 2010 [12] [HTML]

2. Courses/Seminars/Videos

Coursera - How to Win a Data Science Competition: Learn from Top Kagglers:

Coursera - Machine Learning: Classification by University of Washington partly covers the topic:

Machine Learning and Data Mining by Prof. Alexander Ihler: Section on ensembling (4 videos).


3. Toolboxes & Datasets

3.1. Toolboxes

[Python] combo: combo is a comprehensive Python toolbox for combining machine learning (ML) models and scores for various tasks, including classification, clustering, and anomaly detection. It supports the combination of ML models from core libraries such as scikit-learn and xgboost (documentation).

[Python] pycobra: python library implementing ensemble methods for regression, classification and visualisation tools including Voronoi tesselations.

[Python] DESlib: A Python library for dynamic classifier and ensemble selection.

[Python] imbalanced-learn: A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning (documentation).

3.2. Datasets

As a subfield of machine learning, ensemble learning is usually tested against general machine learning benchmark datasets. Some helpful links can be found below:


4. Papers

4.1. Overview & Survey Papers

Paper Title Venue Year Ref Materials
Ensemble methods in machine learning MCS 2000 [10] [PDF]
Popular ensemble methods: An empirical study JAIR 1999 [19] [PDF]
Ensemble learning: A survey Wiley Interdisciplinary Reviews 2018 [23] [PDF]

4.2. Key Algorithms

Abbreviation Paper Title Venue Year Ref Materials
Bagging Bagging predictors Machine Learning 1996 [5] [PDF]
Boosting A decision-theoretic generalization of on-line learning and an application to boosting JCSS 1997 [11] [PDF]
N/A Bagging, Boosting, and C4.5 AAAI/IAAI 1996 [20] [PDF]
Stacking Stacked generalization Neural Networks 1992 [26] [PDF]
Stacking Stacked regressions Machine Learning 1996 [6] [PDF]

4.3. Boosting

Paper Title Venue Year Ref Materials
Xgboost: A scalable tree boosting system KDD 2016 [8] [PDF]
Lightgbm: A highly efficient gradient boosting decision tree NIPS 2017 [14] [PDF]
CatBoost: unbiased boosting with categorical features NIPS 2018 [21] [PDF]

4.4. Clustering Ensemble

Paper Title Venue Year Ref Materials
Cluster Ensembles – A Knowledge Reuse Framework for Combining Multiple Partitions JMLR 2002 [24] [PDF]
Clusterer Ensemble KBS 2006 [29] [PDF]
A survey of clustering ensemble algorithms IJPRAI 2011 [25] [PDF]
Clustering ensemble method Cybernetics 2019 [3] [PDF]

4.5. Outlier Ensemble

Paper Title Venue Year Ref Materials
Outlier ensembles: position paper SIGKDD Explorations 2013 [1] [PDF]
Ensembles for unsupervised outlier detection: challenges and research questions a position paper SIGKDD Explorations 2014 [31] [PDF]
Isolation forest ICDM 2008 [16] [PDF]
Outlier detection with autoencoder ensembles SDM 2017 [9] [PDF]
An Unsupervised Boosting Strategy for Outlier Detection Ensembles PAKDD 2018 [7] [HTML]
LSCP: Locally selective combination in parallel outlier ensembles SDM 2019 [27] [PDF]

4.6. Ensemble Learning for Data Stream

Paper Title Venue Year Ref Materials
A survey on ensemble learning for data stream classification ACM Computing Surveys 2017 [13] [PDF]
Ensemble learning for data stream analysis: A survey Information Fusion 2017 [15] [PDF]

5. Key Conferences/Workshops/Journals

5.1. Conferences & Workshops

Key data mining conference deadlines, historical acceptance rates, and more can be found data-mining-conferences.

ACM International Conference on Knowledge Discovery and Data Mining (SIGKDD)

ACM International Conference on Management of Data (SIGMOD)

The Web Conference (WWW)

IEEE International Conference on Data Mining (ICDM)

SIAM International Conference on Data Mining (SDM)

IEEE International Conference on Data Engineering (ICDE)

ACM InternationalConference on Information and Knowledge Management (CIKM)

ACM International Conference on Web Search and Data Mining (WSDM)

The European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML-PKDD)

The Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD)

5.2. Journals

ACM Transactions on Knowledge Discovery from Data (TKDD)

IEEE Transactions on Knowledge and Data Engineering (TKDE)

ACM SIGKDD Explorations Newsletter

Data Mining and Knowledge Discovery

Knowledge and Information Systems (KAIS)


References

[1]Aggarwal, C.C., 2013. Outlier ensembles: position paper. ACM SIGKDD Explorations Newsletter, 14(2), pp.49-58.
[2]Aggarwal, C.C. and Sathe, S., 2017. Outlier ensembles: An introduction. Springer.
[3]Alqurashi, T. and Wang, W., 2019. Clustering ensemble method. International Journal of Machine Learning and Cybernetics, 10(6), pp.1227-1246.
[4]Bell, R.M. and Koren, Y., 2007. Lessons from the Netflix prize challenge. SIGKDD Explorations, 9(2), pp.75-79.
[5]Breiman, L., 1996. Bagging predictors. Machine learning, 24(2), pp.123-140.
[6]Breiman, L., 1996. Stacked regressions. Machine learning, 24(1), pp.49-64.
[7]Campos, G.O., Zimek, A. and Meira, W., 2018, June. An Unsupervised Boosting Strategy for Outlier Detection Ensembles. In Pacific-Asia Conference on Knowledge Discovery and Data Mining (pp. 564-576). Springer, Cham.
[8]Chen, T. and Guestrin, C., 2016, August. Xgboost: A scalable tree boosting system. In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining (pp. 785-794). ACM.
[9]Chen, J., Sathe, S., Aggarwal, C. and Turaga, D., 2017, June. Outlier detection with autoencoder ensembles. SIAM International Conference on Data Mining, pp. 90-98. Society for Industrial and Applied Mathematics.
[10]Dietterich, T.G., 2000, June. Ensemble methods in machine learning. In International workshop on multiple classifier systems (pp. 1-15). Springer, Berlin, Heidelberg.
[11]Freund, Y. and Schapire, R.E., 1997. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of computer and system sciences, 55(1), pp.119-139.
[12]Gao, J., Fan, W. and Han, J., 2010. On the power of ensemble: Supervised and unsupervised methods reconciled. In Tutorial on SIAM Data Mining Conference (SDM), Columbus, OH.
[13]Gomes, H.M., Barddal, J.P., Enembreck, F. and Bifet, A., 2017. A survey on ensemble learning for data stream classification. ACM Computing Surveys (CSUR), 50(2), p.23.
[14]Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q. and Liu, T.Y., 2017. Lightgbm: A highly efficient gradient boosting decision tree. In Advances in Neural Information Processing Systems (pp. 3146-3154).
[15]Krawczyk, B., Minku, L.L., Gama, J., Stefanowski, J. and Woźniak, M., 2017. Ensemble learning for data stream analysis: A survey. Information Fusion, 37, pp.132-156.
[16]Liu, F.T., Ting, K.M. and Zhou, Z.H., 2008, December. Isolation forest. In International Conference on Data Mining, pp. 413-422. IEEE.
[17]Okun, O. ed., 2009. Applications of supervised and unsupervised ensemble methods (Vol. 245). Springer.
[18]Olson, R.S., La Cava, W., Orzechowski, P., Urbanowicz, R.J. and Moore, J.H., 2017. PMLB: a large benchmark suite for machine learning evaluation and comparison. BioData mining, 10(1), p.36.
[19](1, 2) Opitz, D. and Maclin, R., 1999. Popular ensemble methods: An empirical study. Journal of artificial intelligence research, 11, pp.169-198.
[20]Quinlan, J.R., 1996, August. Bagging, boosting, and C4.5. In AAAI/IAAI, Vol. 1 (pp. 725-730).
[21]Prokhorenkova, L., Gusev, G., Vorobev, A., Dorogush, A.V. and Gulin, A., 2018. CatBoost: unbiased boosting with categorical features. In Advances in Neural Information Processing Systems (pp. 6638-6648).
[22]Rokach L. (2005) Ensemble Methods for Classifiers. In: Maimon O., Rokach L. (eds) Data Mining and Knowledge Discovery Handbook. Springer, Boston, MA
[23]Sagi, O. and Rokach, L., 2018. Ensemble learning: A survey. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 8(4), p.e1249.
[24]Strehl, A. and Ghosh, J., 2002. Cluster ensembles---a knowledge reuse framework for combining multiple partitions. Journal of machine learning research, 3(Dec), pp.583-617.
[25]Vega-Pons, S. and Ruiz-Shulcloper, J., 2011. A survey of clustering ensemble algorithms. International Journal of Pattern Recognition and Artificial Intelligence, 25(03), pp.337-372.
[26]Wolpert, D.H., 1992. Stacked generalization. Neural networks, 5(2), pp.241-259.
[27]Zhao, Y., Nasrullah, Z., Hryniewicki, M.K. and Li, Z., 2019, May. LSCP: Locally selective combination in parallel outlier ensembles. In Proceedings of the 2019 SIAM International Conference on Data Mining (SDM), pp. 585-593. Society for Industrial and Applied Mathematics.
[28]Zhang, C. and Ma, Y. eds., 2012. Ensemble machine learning: methods and applications. Springer Science & Business Media.
[29]Zhou, Z.H. and Tang, W., 2006. Clusterer ensemble. Knowledge-Based Systems, 19(1), pp.77-83.
[30]Zhou, Z.H., 2012. Ensemble methods: foundations and algorithms. Chapman and Hall/CRC.
[31]Zimek, A., Campello, R.J. and Sander, J., 2014. Ensembles for unsupervised outlier detection: challenges and research questions a position paper. ACM Sigkdd Explorations Newsletter, 15(1), pp.11-22.

More Repositories

1

pyod

A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection)
Python
7,613
star
2

anomaly-detection-resources

Anomaly detection related books, papers, videos, and toolboxes
Python
7,290
star
3

combo

(AAAI' 20) A Python Toolbox for Machine Learning Model Combination
Python
616
star
4

SUOD

(MLSys' 21) An Acceleration System for Large-scare Unsupervised Heterogeneous Outlier Detection (Anomaly Detection)
Python
363
star
5

data-mining-conferences

Ranking, acceptance rate, deadline, and publication tips
Python
305
star
6

pytod

TOD: GPU-accelerated Outlier Detection via Tensor Operations
Python
149
star
7

MetaOD

Automating Outlier Detection via Meta-Learning (Code, API, and Contribution Instructions)
Python
144
star
8

WSAD

A Collection of Resources for Weakly-supervised Anomaly Detection (WSAD)
Python
134
star
9

XGBOD

Supplementary material for IJCNN paper "XGBOD: Improving Supervised Outlier Detection with Unsupervised Representation Learning"
Python
69
star
10

LSCP

Supplementary material for SDM 19 paper "LSCP: Locally Selective Combination in Parallel Outlier Ensembles"
Python
29
star
11

DCSO

Supplementary material for KDD 2018 workshop "DCSO: Dynamic Combination of Detector Scores for Outlier Ensembles"
Python
19
star
12

UOMS

Resources and environment for unsupervised outlier model selection (UOMS)
Jupyter Notebook
17
star
13

mmad

multimodal anomaly detection
Python
13
star
14

yzhao062

11
star
15

OutlierDetection.jl

A Julia Library for Outlier Detection (Anomaly Detection)
Julia
9
star
16

fedod

Python
8
star
17

pyod-dask

An embarrassingly simple extension of PyOD for scalable outlier detection
8
star
18

ELECT

Toward Unsupervised Outlier Model Selection (ICDM 2022)
Python
6
star
19

algs

An AutoML system for algorithm selection (model selection)
3
star
20

DataStructure_CPP

It is a repository to store multiple implementation of data structures and algorithms in C++ written by me in the past several years.
C++
2
star
21

MLMM

A Monitoring framework to track Machine Learning Model training processes
2
star
22

SIML

SImilarity Measure Library: an extended python library for measuring similarities
2
star
23

Coding-questions

Elements in Interview C++ alternative solutions
C++
2
star
24

Simulation-Modeling-with-Machine-Learning

The project demonstrate how to incorporate simulation modeling with machine learning techniques
2
star
25

Financial-Models

2
star
26

OD-Econometrics

Outlier Detection and Removal for Econometrics Models
Python
1
star
27

starter-hugo-academic

1
star
28

yzhao062.github.io

HTML
1
star