С теоретической точки зрения - вы можете решить, как считать эти выборки, с помощью p = 0.5.
Если вы спросите о границе принятия решений sklearn logisti c Регрессионная реализация -
Это это метод прогнозирования из исходного кода:
def predict(self, X):
"""
Predict class labels for samples in X.
Parameters
----------
X : array_like or sparse matrix, shape (n_samples, n_features)
Samples.
Returns
-------
C : array, shape [n_samples]
Predicted class label per sample.
"""
scores = self.decision_function(X)
if len(scores.shape) == 1:
indices = (scores > 0).astype(np.int)
else:
indices = scores.argmax(axis=1)
return self.classes_[indices]
Вы можете видеть, что они используют argmax: indices = scores.argmax(axis=1)
- Это означает, что если есть 2 класса с вероятностью 0,5, он возьмет первый (класс 0); так работает argmax.
scores = np.array([[0.5, 0.5]])
scores.argmax(axis=1)
Out[5]: array([0])