Возможно ли изменить мою функцию потерь в catboostregressor с MAE на сумму абсолютных ошибок? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь улучшить взвешенную Mape моих прогнозов, и я чувствую, что использование функции потерь для оптимизации суммы абсолютной ошибки вместо средней абсолютной ошибки будет полезно для уменьшения взвешенной MAPE. Я знаю, что в catboost есть много функций потери, которые он может принять, но я не вижу взвешенного MAPE или суммы абсолютных ошибок. Может кто-нибудь указать мне правильное направление, чтобы изменить существующий MAPE или MAE и использовать его для моего случая?

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

Любая помощь будет оценена, спасибо!

class RmseObjective(object):
    def calc_ders_range(self, approxes, targets, weights):
        assert len(approxes) == len(targets)
        if weights is not None:
            assert len(weights) == len(approxes)

        result = []
        for index in range(len(targets)):
            der1 = targets[index] - approxes[index]
            der2 = -1

            if weights is not None:
                der1 *= weights[index]
                der2 *= weights[index]

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