Эта статья посвящена тому, как автоматически объяснять каждую логику каждого прогноза на основе модели дерева решений, созданной Python Scikit-Learn.
В моем случае конечным пользователям нужны не только результаты прогнозов.
Они также хотят знать логику прогнозов, чтобы принять решение о следующих действиях.
Способность машинного обучения прогнозировать очень полезна.
В некоторых случаях нам также необходимо знать причину этого прогноза.
Из «Я Грут» на «Я нажал эту кнопку, потому что…».
Прежде чем перейти к разделу «Как сделать», эта статья посвящена тому, как автоматически объяснять каждую логику каждого прогноза, сделанного на основе модели классификации дерева решений Scikit-Learn.
Если вам не нужно объяснять логику каждого «Я грут», я предлагаю использовать другое решение, указанное ниже;
Эта статья будет разделена на 3 раздела;
- Логика экспорта модели в текстовом виде
- Создать функцию объяснения из логического текста
- Упростите с помощью «пи-топпинга»
* Для ленивых (таких как я) я предлагаю прочитать только раздел 3: D
1. Экспорт логики модели в текстовом виде.
В этой статье я буду использовать набор данных Iris для обучения модели дерева решений.
* Нам также необходимо удалить пробелы в именах столбцов.
Во-первых, мы возьмем функцию export_tree
из sklearn.tree
, чтобы извлечь логику дерева решений в виде текста, как вы можете видеть на рисунке ниже;
Затем мы преобразуем этот текст в фрейм данных Pandas.
Создайте несколько категорий и группировку.
Это сделано для того, чтобы его было проще понять.
А затем убедитесь, что каждая логическая группа имеет каждый шаг своей логики.
** Этот код еще не оптимизирован.
2. Создайте функцию объяснения из логического текста
После того, как мы получили all_logic
DataFrame, нам нужно создать функцию, чтобы найти, какая логическая группа делает наш прогноз.
И мы могли бы использовать эту функцию для объяснения каждого прогноза нашей модели с помощью этой функции.
3. Упростите с помощью «пи-топпинга».
Чтобы упростить или сократить ваш код.
Я упаковал все эти коды в класс под названием «lazy_tree_logic» в моей пользовательской библиотеке «py-topping».
Чтобы использовать этот класс, установите библиотеку;
pip install py-topping
Вы можете сделать это проще, как в приведенном ниже коде;
И Готово !! это все для этой статьи.
И ссылка ниже - это код, который я упаковал как lazy_tree_logic.
Ссылка на ресурсы этой статьи;
Присоединяйтесь к FAUN: Веб-сайт 💻 | Подкаст 🎙️ | Twitter 🐦 | Facebook 👥 | Instagram 📷 | Группа Facebook 🗣️ | Группа Linkedin 💬 | Slack 📱 | Cloud Native Новости 📰 | Еще .
Если этот пост был полезен, нажмите несколько раз кнопку хлопка 👏 ниже, чтобы выразить поддержку автору 👇