def vote_proba(self, X: modALinput, **predict_proba_kwargs) -> Any: """ Predicts the probabilities of the classes for each sample and each learner. Args: X: The samples for which class probabilities are to be calculated. **predict_proba_kwargs: Keyword arguments for the :meth:`predict_proba` of the learners. Returns: Probabilities of each class for each learner and each instance. """ # get dimensions n_samples = X.shape[0] n_learners = len(self.learner_list) proba = np.zeros(shape=(n_samples, n_learners, self.n_classes_)) # checking if the learners in the Committee know the same set of class labels if check_class_labels(*[learner.estimator for learner in self.learner_list]): # known class labels are the same for each learner # probability prediction is straightforward for learner_idx, learner in enumerate(self.learner_list): proba[:, learner_idx, :] = learner.predict_proba(X, **predict_proba_kwargs) else: for learner_idx, learner in enumerate(self.learner_list): proba[:, learner_idx, :] = check_class_proba( proba=learner.predict_proba(X, **predict_proba_kwargs), known_labels=learner.estimator.classes_, all_labels=self.classes_ ) return proba
def vote_proba(self, X: modALinput, **predict_proba_kwargs) -> Any: # get dimensions n_samples = X.shape[0] n_learners = len(self.learner_list) proba = np.zeros(shape=(n_samples, n_learners, self.n_classes_)) # checking if the learners in the Committee know the same set of class labels if check_class_labels( *[learner.estimator for learner in self.learner_list]): # known class labels are the same for each learner # probability prediction is straightforward for learner_idx, learner in enumerate(self.learner_list): proba[:, learner_idx, :] = learner.predict_proba( X, **predict_proba_kwargs) else: for learner_idx, learner in enumerate(self.learner_list): proba[:, learner_idx, :] = check_class_proba( proba=learner.predict_proba(X, **predict_proba_kwargs), known_labels=learner.estimator.classes_, all_labels=self.classes_) return proba
def vote_proba(self, X, **predict_proba_kwargs): """ Predicts the probabilities of the classes for each sample and each learner. Parameters ---------- X: numpy.ndarray of shape (n_samples, n_features) The samples for which class probabilities are to be calculated. predict_proba_kwargs: keyword arguments Keyword arguments for the .predict_proba() method of the learners. Returns ------- vote_proba: numpy.ndarray of shape (n_samples, n_learners, n_classes) Probabilities of each class for each learner and each instance. """ check_array(X, ensure_2d=True) # get dimensions n_samples = X.shape[0] n_learners = len(self._learner_list) proba = np.zeros(shape=(n_samples, n_learners, self.n_classes_)) # checking if the learners in the Committee know the same set of class labels if check_class_labels( *[learner._predictor for learner in self._learner_list]): # known class labels are the same for each learner # probability prediction is straightforward for learner_idx, learner in enumerate(self._learner_list): proba[:, learner_idx, :] = learner.predict_proba( X, **predict_proba_kwargs) else: for learner_idx, learner in enumerate(self._learner_list): proba[:, learner_idx, :] = check_class_proba( proba=learner.predict_proba(X, **predict_proba_kwargs), known_labels=learner._predictor.classes_, all_labels=self.classes_) return proba
def vote_proba(self, X, **predict_proba_kwargs): """ Predicts the probabilities of the classes for each sample and each learner. Parameters ---------- X: numpy.ndarray of shape (n_samples, n_features) The samples for which class probabilities are to be calculated. predict_proba_kwargs: keyword arguments Keyword arguments for the .predict_proba() method of the learners. Returns ------- vote_proba: numpy.ndarray of shape (n_samples, n_learners, n_classes) Probabilities of each class for each learner and each instance. """ check_array(X, ensure_2d=True) # get dimensions n_samples = X.shape[0] n_learners = len(self._learner_list) proba = np.zeros(shape=(n_samples, n_learners, self.n_classes_)) # checking if the learners in the Committee know the same set of class labels if check_class_labels(*[learner._predictor for learner in self._learner_list]): # known class labels are the same for each learner # probability prediction is straightforward for learner_idx, learner in enumerate(self._learner_list): proba[:, learner_idx, :] = learner.predict_proba(X, **predict_proba_kwargs) else: for learner_idx, learner in enumerate(self._learner_list): proba[:, learner_idx, :] = check_class_proba( proba=learner.predict_proba(X, **predict_proba_kwargs), known_labels=learner._predictor.classes_, all_labels=self.classes_ ) return proba