Я реализую классификатор дерева решений, используя sklearn и проверяя различные критерии, но не могу найти разницу между критериями «энтропия» и «log_loss». Базовый файл _classes.py древовидной папки в исходном коде sklearn определяет потери журнала и энтропию как один и тот же тип в своем критерии классификатора, предположительно делая их одной и той же операцией?
CRITERIA_CLF = {
"gini": _criterion.Gini,
"log_loss": _criterion.Entropy,
"entropy": _criterion.Entropy,
}
В чем основная разница? Кажется, что либо потеря журнала, либо энтропия под капотом делают то же самое.






Нет никакой разницы между log_loss и entropy в контексте алгоритмов дерева решений и случайного леса. На самом деле это просто взаимозаменяемые термины, используемые для обозначения одного и того же критерия. Как упоминалось в документации sklearn здесь:
Функция для измерения качества разделения. Поддерживаемые критерии: «джини» для примеси Джини, а «log_loss» и «энтропия» — для Получение информации по Шеннону, см. Математическая формулировка. Примечание: это параметр зависит от дерева.
Также проверив математические формулы, представленные в документе sklearn, вы можете обнаружить, что в данном контексте это взаимозаменяемые термины. На мой взгляд, лучший термин для использования теоретически - это энтропия, описанная в [Энтропия Шеннона.] [3] Термин «log_loss» действительно кажется немного неуместным в контексте деревьев решений. Также примечательно, что в предыдущих версиях sklearn единственными критериями разделения дерева решений были entropy и gini.
[3]: https://www.sciencedirect.com/topics/engineering/shannon-entropy#:~:text=The%20Shannon%20entropy%20S%20(%20x,new%20value%20in%20the%20process.
Вам следует предоставить ссылку на источник. Однако если это исходный код, то разницы явно нет. Возможно, ваш вопрос заключается в том, почему у одного и того же предмета два названия. Только разработчики знают наверняка, но я предполагаю, что оба имени широко используются, поэтому они включили оба.