Пусть пакет python shapash сделает всю работу за вас

Не приходите на следующую презентацию неподготовленным

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

Бывают случаи, когда бизнес-партнеры обладают большим опытом в предметной области, что может помочь в предоставлении контекста функции. Если они действительно поймут, что вы передаете, они могут помочь вам еще больше настроить модель.

Один из самых частых вопросов, который я слышу, - «Какие данные входят в модель?» что переводится как «Какие функции самые важные?». Вы должны быть готовы ответить на этот вопрос так, чтобы они вас поняли. Шапаш предлагает несколько интересных результатов, которые могут помочь вам проинформировать свою аудиторию.

Зачем пробовать шапаш?

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

Я думаю, что вам стоит потратить время на ознакомление с пакетом и его предложениями. Настройка проста (помните, я не люблю суеты). Я подробно описал шаги ниже.

Установка

Как всегда, рекомендуется создать новую виртуальную среду. Я включил ссылку на процесс установки в раздел «Ссылки» ниже. В этом примере я использую Jupyter, поэтому мне просто нужно было установить ipywidgets (и включить) и shapash.

Добавьте этот простой блок кода.

После обучения своей модели (в данном примере «регрессора») добавьте простой блок кода для компиляции и выполнения SmartExplainer. Полный пример кода прилагается ниже в этой статье.

from shapash.explainer.smart_explainer import SmartExplainer
# shapash Step 1: Declare SmartExplainer Object
xpl = SmartExplainer()
# shapash Step 2: Compile Model, Dataset, Encoders
xpl.compile(    x=Xtest,    
                model=regressor,    
                preprocessing=encoder, #optional
                y_pred=y_pred) 
# shapash Step 3: Display interactive output
app = xpl.run_app()

Запустите код

Вы должны запускать свой код от приема данных, проектирования функций и обучения модели через оценку модели. Затем, когда вы выполните run_app (), отобразится ссылка на приложение.

Просто щелкните эту ссылку, чтобы открыть окно браузера с вашим результатом. Вы сможете перемещаться по различным визуализациям.

БОНУС - фрагмент кода для создания отчета в формате HTML.

Если вы хотите поделиться находкой с коллегами, вы можете создать отчет в формате HTML и поделиться им.

# Step 4: Generate the Shapash Report
xpl.generate_report(
        output_file='medium_spending_scores_report2.html',
        project_info_file='shapash_project_info.yml',
        x_train=Xtrain,
        y_train=ytrain,
        y_test=ytest,
        title_story="Spending Scores Report",
        title_description="""This is just an easy sample.
            It was generated using the Shapash library.""",
        metrics=[
            {
                'path': 'sklearn.metrics.mean_absolute_error',
                'name': 'Mean absolute error',
            }])

Полный пример кода

Блокнот и файлы Jupyter:



.py версия:

Ссылки





Заключение

Я думаю, что у Шапаша есть место в наборе инструментов объяснимости модели. Если вы не можете объяснить свою работу нетехническим коллегам, ваши результаты могут остаться незамеченными. Никто этого не хочет.

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