Пользовательские метрики для мультиклассовой классификации, когда ошибки классов имеют различный вес - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблема с мультиклассовой классификацией (например, целевая переменная имеет 4 различных результата: продукт A, продукт B, продукт C и продукт NO). Не все ошибки одинаковы: например, если истинная метка «Продукт А» и прогноз «НЕТ Продукта», это не большая проблема, а если истинная метка «Продукт C», влияние ошибка намного больше. По сути, я должен вставить эту информацию в функцию потерь алгоритма (в настоящее время я использую Xg-Boost, Random Forest, e cc).

Любая идея о том, как реализовать ее в scikit-learn или другие библиотеки ML на Python?

1 Ответ

1 голос
/ 08 апреля 2020

Предположим, это отображение ваших классов:

{'Product A':0, 'Product B':1, 'Product C':2, 'NO Product':3)}

Затем из sklearn.ensemble.RandomForestClassifier документов используйте class_weight следующим образом:

rf = RandomForestClassifier(n_estimators = 100, class_weight = {0:1,1:1,2:2,3:1})

This увеличит вес до 'Product C'

...