Эта статья посвящена тому, как автоматически объяснять каждую логику каждого прогноза на основе модели дерева решений, созданной Python Scikit-Learn.

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

Способность машинного обучения прогнозировать очень полезна.
В некоторых случаях нам также необходимо знать причину этого прогноза.

Из «Я Грут» на «Я нажал эту кнопку, потому что…».

Прежде чем перейти к разделу «Как сделать», эта статья посвящена тому, как автоматически объяснять каждую логику каждого прогноза, сделанного на основе модели классификации дерева решений Scikit-Learn.

Если вам не нужно объяснять логику каждого «Я грут», я предлагаю использовать другое решение, указанное ниже;



Эта статья будет разделена на 3 раздела;

  1. Логика экспорта модели в текстовом виде
  2. Создать функцию объяснения из логического текста
  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 Новости 📰 | Еще .

Если этот пост был полезен, нажмите несколько раз кнопку хлопка 👏 ниже, чтобы выразить поддержку автору 👇