Рубрики
Без рубрики

Топ 5 библиотек интерпретации модели для Python

Добро пожаловать на сообщение о 55 библиотек интерпретации модели Python ML! Вы спрашиваете себя, как … с меткой Python, машинное обучение, наука данных, глубокое обучение.

Добро пожаловать на сообщение о 55 библиотек интерпретации модели Python ML! Вы задаете себе, как мы выбрали библиотеки? Ну, мы взяли их из нашего Лучшее из машинного обучения с списком Python Отказ Все библиотеки на этом лучшем списке автоматически рейтируют оценку качества, основанные на различных метриках, таких как звезды GitHub, кодовая активность, использованная лицензия и другие факторы. Вы можете найти больше деталей в Лучший из генераторных репо Отказ

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

Недавно мы начали новостную рассылку и блог пост серии с фокусом на машинном обучении и экосистеме Python. В этой рассылке мы обычно даем обзор высокого уровня интересных библиотек из наших Лучший список и Проекты Мы работаем на поддержку ваших усилий по обучению машин! Не стесняйтесь подписаться, чтобы остаться в обновлении 🙂

Намерение этого поста состоит в том, чтобы подчеркнуть некоторые из самых популярных библиотек в области на основе нашей метрики и дать четкий обзор, чтобы он мог надеяться, чтобы вы могли получить некоторое понимание высокого уровня! Если вы хотите попробовать их, мы можем порекомендовать наше Контейнер ML-Workspace Для этого, как он приходит предварительно установленным со всеми, кроме последних из библиотек в списке!

Итак, этого достаточно введения, здесь приходит список наших лучших 5 библиотек интерпретации.

1. Сфера

Первая библиотека в нашем списке является Форма и справедливо, так что с впечатляющим количеством 11,4 тыс. Звезды на GitHub и активное обслуживание с более чем 200 коммитами в декабре. Форма, которая представляет собой аббревиатуру для добавленных добавок PHAPLEY, представляет собой модель-агностическую библиотеку объяснения, которая следует подход к теории игр для присвоения значений важности к функциям. Вы можете найти оригинальную бумагу с 2017 года, которая появилась в NIPS на Арксив Отказ

Как идея за ценностями Шолли уже красиво объяснена другими, например, в этом аккуратном Книга Глава Или это хорошо написано Блог пост Мы поддерживаем его высоким уровнем: он распределяет вклад функции, связанной со всеми комбинациями других функций. Основываясь на этом подходе, библиотека позволяет объяснить индивидуальные прогнозы, но также можно легко дать глобальный обзор.

Теория и математика позади не так просто объяснить, но, к счастью, библиотека скрывает все это от пользователя. Например, следующее изображение

– источник

Может быть сгенерирован с этим фрагментом кода

import shap

explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
shap.force_plot(
    explainer.expected_value,
    shap_values[1, :],
    X.iloc[1, :],
)

где модель Модель будет объяснена и Х это входные данные. В качестве формы является модель-агностическая, она работает со всеми видами моделей.

Как вы можете себе представить, вычисление различных комбинаций для многих функций может быть очень дорогим И поэтому авторы предоставляют быструю реализацию C ++ для моделей деревьев, как объяснено здесь Отказ

Страница GitHub содержит приятные примеры и учебные тетради, поэтому с ним должно быть довольно легко начать!

2. Лайм

Лайм библиотеки, короткая для Местные интерпретационные модели – агностические объяснения Следует вторым в нашем списке с впечатляющим количеством 8,3 тыс. Звезды, последняя активность 21 дн. Назад, а немного хорошего Учебники и Определение API Отказ

Известь может объяснить табличные классификаторы данных и текстовые классификаторы, независимые от фактической модели. Как авторы Формы, авторы извести пришли из Университета Вашингтона – молодцы Вашингтон, чтобы иметь 2 библиотеки в топ-5 👏 – и вы можете найти свою оригинальную бумагу с 2016 года. Арксив Отказ

Лайм – это бетонная реализация так называемых Местные суррогатные модели , который сосредоточен на объяснении отдельных прогнозов черных моделей. Для этого известь генерирует новые данные вокруг точки данных, которые вы хотите получить объяснение и поезда линейный классификатор интерпретации.

– источник

Затем вы можете посмотреть, какие функции отвечали за классификацию локальной модели (в этом примере, она показывает, какие слова в тексте способствовали тексту, принадлежащим к классу атеизм ).

– источник

В отличие от формы, он не похоже, что Lime предлагает API удобно генерировать глобальное объяснение или, по крайней мере, мы пропустили это. Однако, создавая несколько объяснений для разных примеров, вы можете получить понимание поведения оригинальной модели.

3. Eli5.

Библиотека Python ELI5 предоставляет единую API для отладки и объяснения классификаторов обучения машине. Термин ELI5 можно найти в городском словаре и сленг за Объяснять Как я 5. Для моделей Black Box он предлагает реализацию алгоритма лайма для текстов. Кроме того, он предлагает поддержку Scikit – Учите , Xgboost , Lightgbm , Catboost , молния , Sklearn-Crfsuite и Керас . Проверьте их документацию Например и ссылка API.

Следующее изображение показывает, как объяснение ELI5 выглядит как для текстовой классификации, где он показывает, какие слова вносят свой вклад, сколько к определенному классу.

– источник

Это генерируется этим кодом

import eli5

eli5.show_weights(
    clf, vec=vec, top=10, target_names=target_names
)

где CLF это, например, Sklearn logisticregresscv , VEC это векторизатор, например Sklearn CountVectorizer которые преобразуют тексты в матрицу подсчета токена, верх это количество функций, чтобы показать на класс на изображении, а также target_names рассказывает Eli5 Фактические этикетки классификации на основе входных данных.

4. Pyldavis

Как уже предлагает имя, Pyldavis фокусируется на Модели темы LDA Отказ Его можно использовать для интерактивного визуализации их внутри Jupyter ноутбуки Отказ Документация Содержит пример видео, а также обзорной ноутбук, хотя по сравнению с другими библиотеками API мог быть задокументирован немного лучше. Оригинальная статья с 2014 года объясняет методологию и можно найти здесь Отказ

Документация заявляет, что эта Lib Agnostic к тому, как была обучена модель, как вам нужно только Распространение , Дистрибутивы документов-тематики и Основная информация корпуса Отказ Для Sklearn , Генсим и графлаб Это даже имеет удобные методы. Например, следующий код, использующий функцию HELPER HESIM

import pyLDAvis.gensim

pyLDAvis.gensim.prepare(lda, corpus, dictionary)

выводят интерактивную графику, которая отображается на следующем изображении. Пармы ЛДА Модель Gensim LDA, Корпус это Gensim Matrix Market Corpus и Словарь Это словарь Gensim ( см. Их документы для полного примера ). Вот и все!

– Скриншот, взятый из выполненного учебного пособия

В интерактивной визуализации вы можете нажать на разные темы, посмотрите, какие слова относятся к ним, измените весовой параметр и такие вещи!

5. Интерпретация

Интерпретация в альфа-релиза, но уже сделала его в топ-5 и находится под активным развитием; Даже один из наших Потяните запросы на Github Мы создали во время написания этого поста было объединено в течение 7 часов 🥳! Это библиотека из Microsoft и имеет две функции: во-первых, обучение моделей Glassbox, которые интерпретируются и, во-вторых, объяснение моделей Blackbox. Их бумага можно найти здесь Отказ В их поддерживаемых техниках Раздел Они упомянуют о техниках, которые приносит с ними библиотека, например, объяснение ядра дерева и механизма SHAP в качестве модели GlassBox или Blackbox Beginer, соответственно. Как видите, в мире библиотеки интерпретации одинаковые методы и библиотеки отображаются и являются перекрестными или используются друг от друга.

Предполагается, что библиотека для проливания света на индивидуальные прогнозы, а также изготовление глобального поведения, понятно, что также отражено в API. Со следующими строками кода вы можете тренировать одну из своих моделей Glassbox и получить некоторую визуализацию для локальной и глобальной интерпретации

from interpret.glassbox import ExplainableBoostingClassifier
from interpret import show

# train
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)

# global
ebm_global = ebm.explain_global()
show(ebm_global)

# local
ebm_local = ebm.explain_local(X_test, y_test)
show(ebm_local)

Вы даже можете пройти массив объяснений их Показать Функция, чтобы получить визуализацию сравнения.

– источник

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

Мы надеемся, что вам понравилось чтение и узнали что-то о самых популярных библиотеках, которые позволяют вам интерпретировать и объяснить ваши модели 💡

Если вам понравился этот обзор, посмотрите на другой Библиотеки обучения машины Python Мы ранжировали в нашем самым лучшим списке. Для обновлений о тенденционных проектах и подробных библиотечных сравнениях, следуйте нами на Twitter или подписаться на наш рассылка Отказ

И, конечно, мы очень довольны всеми видами обратной связи! Оставьте комментарий или свяжитесь с нами через Team@mltooling.org или через Twitter @mltooling. .

С ❤️ из Берлина!

Оригинал: “https://dev.to/mltooling/top-5-model-interpretability-libraries-for-python-5go0”