Sklearn Random Forrest разные значения точности для разных кодировок этикеток
Я использую sklearn Random Forrest для обучения своей модели. С теми же функциями ввода для модели я попытался сначала передать целевые метки с помощью label_binarize, чтобы создать одну горячую кодировку моих целевых меток, а во-вторых, я попытался использовать label_encoder для кодирования моих целевых меток. В обоих случаях я получаю разные оценки точности. Есть ли конкретная причина, почему это происходит, поскольку я просто использую другой метод для кодирования меток без изменения каких-либо функций ввода.
2 ответа
В основном, когда вы кодируете свои целевые метки как одно горячее кодирование, sklearn рассматривает это как проблему с несколькими метками по сравнению с кодировщиком меток, который дает 1d-массив, где sklearn рассматривает его как проблему с несколькими классами.
Это не из-за ярлыка, а из-за случайности Random Forest.
Попробуйте исправить random_state, чтобы избежать этой ситуации.