diff --git a/sklearn/neighbors/classification.py b/sklearn/neighbors/classification.py index 00099b541a7263..a1d678837356eb 100644 --- a/sklearn/neighbors/classification.py +++ b/sklearn/neighbors/classification.py @@ -391,7 +391,8 @@ def predict(self, X): for ind in neigh_ind[inliers]], dtype=object) y_pred_k = np.zeros(n_samples, dtype=np.int) - mode = self._mode(pred_labels, weights, inliers) + mode = self._mode(pred_labels, weights, inliers, + is_comming_from_sparse_call=True) y_pred_k[inliers] = mode if outliers and self.outlier_label != 0: @@ -419,11 +420,13 @@ def predict(self, X): return y_pred - def _mode(self, pred_labels, weights, inliers): + def _mode(self, pred_labels, weights, inliers, is_comming_from_sparse_call=None): if weights is None: mode = np.array([stats.mode(pl)[0] for pl in pred_labels], dtype=np.int) else: + if is_comming_from_sparse_call: + import pdb; pdb.set_trace() mode = np.array([weighted_mode(pl, w)[0] for (pl, w) in zip(pred_labels, weights[inliers])],