Как сосредоточиться на метках, которые трудно предсказать? - PullRequest
0 голосов
/ 29 мая 2019

Я столкнулся с проблемой двоичной классификации.Я использую некоторые модели машинного обучения и Python 3. Я заметил, что некоторые модели работают лучше в данном классе, чем другие.Я хотел бы объединить их, чтобы улучшить мою точность и аккуратность.Я знаю способ сделать это в регрессионных задачах, что-то вроде средневзвешенного прогнозирования.Но я не уверен, что это имеет смысл в проблеме классификации.И вы должны знать лучший способ сделать это.

Вот мой алгоритм, который помогает мне идентифицировать метки, которые особенно трудно предсказать:

"""
each value is in {0, 1}
ytrue : real values
ypred : predicted values
"""
def errorIdentifier(ytrue, ypred):
    n = len(ytrue)
    ytrue = list(ytrue)
    ypred = list(ypred)
    error = [0,0]
    for i in range(n):
        if ytrue[i] != ypred[i] :
            error[ytrue[i]] += 1
    return error

Как вы можете догадаться, янужно называть это для каждой модели, которую я использую.

1 Ответ

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

Проблема того, что разные модели лучше предсказывают разные классы, является классической проблемой машинного обучения.Это происходит из-за того, что различные алгоритмы лучше моделируют различные функции, следовательно, склонность к большей точности в определенном классе.

Чтобы преодолеть эту проблему, мы можем использовать несколько моделей и ансамбль результаты, чтобы получить повышенную точность.Этот подход известен как обучение ансамблю .

Существует ряд методов, таких как bagging, boosting и т. Д., И некоторые хорошо известные алгоритмы обучения ансамблям, такие как RandomForest.Вам придется исследовать различные методы, чтобы найти тот, который наилучшим образом соответствует вашим потребностям.

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