Logisti c Sklearn регрессии с категориальным выводом - PullRequest
0 голосов
/ 29 мая 2020

Мне нужно обучить модель с логистикой c Регрессия в sklearn. Я везде видел, что результат должен быть двоичным, но мой ярлык хороший, плохой или нормальный. У меня 12 функций, и я не знаю, как мне работать с тремя этикетками? Я очень благодарен за каждый ответ

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Это называется классификацией «один против всех» или классификацией нескольких классов.

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 Регрессия

0 голосов
/ 29 мая 2020

Вы можете использовать Multinomial Logisti c Regression . В python вы можете изменить свой код регрессии Logisti c как:

LogisticRegression(multi_class='multinomial').fit(X_train,y_train)

. Для получения дополнительных сведений см. Документацию Logisti c Regression в Scikit-Learn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...