Это называется классификацией «один против всех» или классификацией нескольких классов.
From sklearn.linear_model.LogisticRegression :
В случае мультикласса, алгоритм обучения использует схему one-vs-rest (OvR), если опция multi_class установлена на ovr, и использует потерю кросс-энтропии, если опция multi_class установлена на multinomial. (В настоящее время опция 'multinomial' поддерживается только решателями 'lbfgs', 'sag', 'saga' и 'newton-cg.)
Пример кода:
# Authors: Tom Dupre la Tour <tom.dupre-la-tour@m4x.org>
# License: BSD 3 clause
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.linear_model import LogisticRegression
# make 3-class dataset for classification
centers = [[-5, 0], [0, 1.5], [5, -1]]
X, y = make_blobs(n_samples=1000, centers=centers, random_state=40)
transformation = [[0.4, 0.2], [-0.4, 1.2]]
X = np.dot(X, transformation)
for multi_class in ('multinomial', 'ovr'):
clf = LogisticRegression(solver='sag', max_iter=100, random_state=42,
multi_class=multi_class).fit(X, y)
# print the training scores
print("training score : %.3f (%s)" % (clf.score(X, y), multi_class))
Проверьте пример полного кода: Построение многочлена и логики типа «один против остальных» c Регрессия