davefernig/alp

IndexError when using strategy='vote_entropy'

Opened this issue · 0 comments

The following script exits with IndexError:

import numpy as np

from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from active_learning.active_learning import ActiveLearner

X, y = load_iris(return_X_y=True)
n_queries = 100

X_labeled, y_labeled = X[[0, 50, 100]], y[[0, 50, 100]]
estimators = [LogisticRegression(), LogisticRegression()]

for estimator in estimators:
    estimator.fit(X_labeled, y_labeled)

learner = ActiveLearner(strategy='vote_entropy')

for _ in range(n_queries):
    query_idx = learner.rank(estimators, X, num_queries=1)
    X_labeled = np.concatenate((X_labeled, X[query_idx]), axis=0)
    y_labeled = np.concatenate((y_labeled, y[query_idx]), axis=0)
    estimator.fit(X_labeled, y_labeled)

Changing line 109 in active_learning.py from

y_out = map(int, model.predict(X_unlabeled))

to

y_out = model.predict(X_unlabeled)

solved the problem for me.