modAL: A modular active learning framework for Python

Oct. 28, 2018, 10:49 a.m. By: Kirti Bakshi


modAL is an active learning framework that has been designed for Python3, keeping modularity and flexibility as the key factors in mind. The framework, that has been built on top of scikit-learn, allows its users to rapidly create active learning workflow with freedom almost near its boundary.

And to add on to it even further as an advantage, the framework also allows its users to easily replace parts with their custom built solutions, allowing the users to design novel algorithms with ease.

What are the key components of moDAL?

The key components of any workflow sum up to be basically the model that is chosen, the uncertainty measure as well as the query strategy that is applied to request labels.

With modAL, instead of choosing from a small set of built-in components, its users are provided with the freedom to seamlessly integrate scikit-learn or Keras models into the algorithm and easily tailor the custom query strategies and uncertainty measures.

What can moDAL do for you?

Making the use of moDAL can be useful in the following ways:

  • Active learning with a scikit-learn classifier, is made to be quite simple.

  • Replacing parts quickly: Active learning with a scikit-learn classifier can be made very simple.

  • modAL was mainly designed to make it easy for all its users to implement their own query strategy, hence it allows its users to replace parts with their very own solutions.

Now, lets move towards its installation requirement:

The basic requirements of modAL are the following:

  • Python >= 3.5

  • NumPy >= 1.13

  • SciPy >= 0.18

  • scikit-learn >= 0.18

Apart from this,

You can install modAL directly with pip:

  • pip install modAL

Alternatively, you can install modAL directly from source:

  • pip install git+

Examples to provide better understanding:

Given below are few of the many examples that have been discussed:

  • Pool-based sampling

  • Stream-based sampling

  • Active regression

  • Ensemble regression

  • Bayesian optimization

  • Query by committee

  • Bootstrapping and bagging

  • Keras integration

Where do you get more information regarding this from?

You can find further information regarding modAL in the link mentioned at the end where several tutorials and working examples are available, along with a complete API reference as well.

Source And Information: GitHub