code: def alp_QBC(X, y, n_queries):
      X_labeled, y_labeled = X[[0, 50, 100]], y[[0, 50, 100]]
      estimators = [
          LogisticRegression(
              solver="liblinear", n_jobs=1, multi_class="ovr"
          ),
          LogisticRegression(
              solver="liblinear", n_jobs=1, multi_class="ovr"
          ),
      ]
  
      for estimator in estimators:
          estimator.fit(X_labeled, y_labeled)
  
      learner = ActiveLearnerALP(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)
          for estimator in estimators:
              estimator.fit(X_labeled, y_labeled)
  
imports: from time import time
  import numpy
  from acton.acton import main
  from alp.active_learning.active_learning import ActiveLearner
  from libact.base.dataset import Dataset
  from libact.labelers import IdealLabeler
  from libact.models.logistic_regression import LogisticRegression
  from libact.query_strategies import QueryByCommittee, UncertaintySampling
  from libact.query_strategies.multiclass.expected_error_reduction import EER
  from modAL.expected_error import expected_error_reduction
  from modAL.models import ActiveLearner, Committee
  from sklearn.datasets import load_iris
  from sklearn.linear_model import LogisticRegression
label_desc: Use image node_id 11 for calling a global function with example usage: alp_QBC(X, y, n_queries) without return types