The package scikit-activeml is a library of that covers the most relevant query strategies in active learning and implements tools to work with partially labeled data.
Project description
scikit-activeml
scikit-activeml is a Python module for active learning on top of SciPy and scikit-learn. It is distributed under the 3-Clause BSD licence.
The project was initiated in 2020 by the Intelligent Embedded Systems Group at University Kassel.
Installation
The easiest way of installing scikit-activeml is using pip
pip install -U scikit-activeml
Example
The following code implements an Active Learning Cycle with 20 iterations using a Logistic Regression Classifier and Uncertainty Sampling. To use other classifiers, you can simply wrap classifiers from scikit-learn or use classifiers provided by scikit-activeml. Note that the main difficulty using active learning with scikit-learn is the ability to handle unlabeled data which we denote as a specific value (MISSING_LABEL) in the label vector y_true. More query strategies can be found in the documentation.
import numpy as np from sklearn.linear_model import LogisticRegression from sklearn.datasets import make_classification from skactiveml.pool import UncertaintySampling from skactiveml.utils import is_unlabeled, MISSING_LABEL from skactiveml.classifier import SklearnClassifier X, y_true = make_classification(random_state=0) y = np.full(shape=y_true.shape, fill_value=MISSING_LABEL) clf = SklearnClassifier(LogisticRegression(), classes=np.unique(y_true)) qs = UncertaintySampling(clf, method='entropy') n_cycles = 20 for c in range(n_cycles): unlbld_idx = np.where(is_unlabeled(y))[0] X_cand = X[unlbld_idx] query_idx = unlbld_idx[qs.query(X_cand=X_cand, X=X, y=y)] y[query_idx] = y_true[query_idx] clf.fit(X, y)
Development
More information are available in the Developer’s Guide.
Documentation
The doumentation is available here: https://scikit-activeml.readthedocs.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for scikit_activeml-0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d37e76aa1d9a46023ed1ad3b4b3a2a11993cc577891c46894625c97fc90c1d88 |
|
MD5 | 2208da4b17dd4bb5076e26ed50ee4936 |
|
BLAKE2b-256 | 291ca64d3738a8f1e4998af25442c6e7166fbe6045119fc2e8e556d1eacf7c14 |