В этом блоге я попытаюсь продемонстрировать, как объяснить модели машинного обучения черного ящика (с использованием числовых данных в качестве набора поездов) с помощью LIME. Я использовал этот пакет Python, и большинство примеров, которые я нашел для использования этого пакета, относились к данным изображений. Вот почему я хотел поделиться своим опытом объяснения числовых данных с помощью LIME.
Что в этом руководстве
- Справочная информация о LIME
- Обучение и использование алгоритма черного ящика KNN и XgBoost для обнаружения мошенничества с кредитными картами.
- Использование лайма Для объяснения решений, принятых алгоритмом KNN и XgBoost.
Что такое ЛАЙМ
По мнению авторов статьи, Лайм - это
новый метод объяснения, который объясняет предсказания любого классификатора интерпретируемым и достоверным образом, путем изучения интерпретируемой модели локально вокруг предсказания.
Эта видеопрезентация очень помогла мне разобраться в LIME.
После прочтения статьи и просмотра этого руководства я захотел провести несколько экспериментов с LIME с набором данных по обнаружению мошенничества с кредитными картами. Я использовал алгоритмы KNN и XgBoost, чтобы классифицировать данные по классам Мошенничество и Отсутствие мошенничества.
Обучение модели
Поскольку классификационная часть моего кода в основном использовала коды из этого учебника по набору данных по обнаружению мошенничества, я не буду уделять много внимания классификационной части. Код, который я использовал для запуска обучения и оценки моделей, приведен ниже:
Результат приведенного выше кода будет таким, как показано ниже:
Объяснение модели с использованием LIME
Сначала давайте перечислим все атрибуты набора данных, чтобы их можно было правильно пометить при объяснении:
Теперь давайте создадим объяснитель с этим набором функций и данных, а затем инициализируем случайный экземпляр, который мы хотим объяснить с помощью LIME.
Теперь мы можем объяснить i-й экземпляр набора данных, используя LIME для обеих моделей:
Результат будет примерно таким:
Обратите внимание, что здесь все свойства набора данных, кроме количества, были получены путем выполнения PCA для основного набора данных.
Полную суть можно найти здесь: