Создание информационных панелей для интерпретации модели машинного обучения

В настоящее время создание модели машинного обучения легко из-за различных библиотек python, представленных на рынке, таких как sklearn, lazypredict и т. Д. Эти библиотеки просты в использовании и используются для создания различных типов моделей наряду с различными типами визуализаций и определения исполнение модели. Если вы не знаете, как работает ленивое прогнозирование, ознакомьтесь со статьей, приведенной ниже.



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

Информационная панель Explainer - это библиотека Python с открытым исходным кодом, которая создает информационные панели модели машинного обучения, которые можно использовать для легкого понимания и анализа важных факторов, с которыми работает модель, таких как важность функции, производительность модели, визуализации и т. Д.

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

Давайте начнем…

Установка необходимых библиотек

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

pip install explainerdashboard

Импорт необходимых библиотек

На этом этапе мы импортируем необходимые библиотеки и функции для создания модели машинного обучения и панели мониторинга.

from sklearn.ensemble import RandomForestClassifier
from explainerdashboard import ClassifierExplainer, ExplainerDashboard
from explainerdashboard.datasets import titanic_survive, titanic_names

Создание модели и приборной панели

Это последний шаг, на котором мы создадим модель машинного обучения, а затем интерпретируем эту модель, создав панель мониторинга.

  1. Создание модели
feature_descriptions = {
    "Sex": "Gender of passenger",
    "Gender": "Gender of passenger",
    "Deck": "The deck the passenger had their cabin on",
    "PassengerClass": "The class of the ticket: 1st, 2nd or 3rd class",
    "Fare": "The amount of money people paid", 
    "Embarked": "the port where the passenger boarded the Titanic. Either Southampton, Cherbourg or Queenstown",
    "Age": "Age of the passenger",
    "No_of_siblings_plus_spouses_on_board": "The sum of the number of siblings plus the number of spouses on board",
    "No_of_parents_plus_children_on_board" : "The sum of the number of parents plus the number of children on board",
}
X_train, y_train, X_test, y_test = titanic_survive()
train_names, test_names = titanic_names()
model = RandomForestClassifier(n_estimators=50, max_depth=5)
model.fit(X_train, y_train)

2. Создание панели инструментов

from sklearn.ensemble import RandomForestClassifier
from explainerdashboard import ClassifierExplainer, ExplainerDashboard
from explainerdashboard.datasets import titanic_survive, titanic_names
feature_descriptions = {
    "Sex": "Gender of passenger",
    "Gender": "Gender of passenger",
    "Deck": "The deck the passenger had their cabin on",
    "PassengerClass": "The class of the ticket: 1st, 2nd or 3rd class",
    "Fare": "The amount of money people paid", 
    "Embarked": "the port where the passenger boarded the Titanic. Either Southampton, Cherbourg or Queenstown",
    "Age": "Age of the passenger",
    "No_of_siblings_plus_spouses_on_board": "The sum of the number of siblings plus the number of spouses on board",
    "No_of_parents_plus_children_on_board" : "The sum of the number of parents plus the number of children on board",
}
X_train, y_train, X_test, y_test = titanic_survive()
train_names, test_names = titanic_names()
model = RandomForestClassifier(n_estimators=50, max_depth=5)
model.fit(X_train, y_train)
explainer = ClassifierExplainer(model, X_test, y_test, 
                                cats=['Deck', 'Embarked',
                                    {'Gender': ['Sex_male', 'Sex_female', 'Sex_nan']}],
                                cats_notencoded={'Embarked': 'Stowaway'}, 
                                descriptions=feature_descriptions,
                                labels=['Not survived', 'Survived'], 
                                idxs = test_names, 
                                index_name = "Passenger", 
                                target = "Survival", 
                                )
db = ExplainerDashboard(explainer, 
                        title="Titanic Explainer", 
                        shap_interaction=False,
                        )
db.run(port=8050)

В приведенном ниже видео я показал панель инструментов, созданную с помощью панелей объяснения.

Здесь вы можете наглядно визуализировать создание приборной панели с помощью пояснительной приборной панели. Мы можем четко анализировать различные свойства модели и другие параметры.

Попробуйте это с разными наборами данных и создайте красивые информационные панели для интерпретации модели. Если у вас возникнут трудности, дайте мне знать в разделе ответов.

Эта статья написана в сотрудничестве с Пиюшем Ингале.

Прежде чем ты уйдешь

Спасибо за чтение! Если вы хотите связаться со мной, свяжитесь со мной по адресу [email protected] или в моем профиле LinkedIn. Вы можете просмотреть мой профиль Github для различных проектов по науке о данных и руководств по пакетам. Кроме того, не стесняйтесь изучать мой профиль и читать разные мои статьи, связанные с наукой о данных.