Он отвечает на один из самых примитивных вопросов, которые задают специалисты по данным об их модели.

Какие функции больше всего влияют на мою модель или важность функции?

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

  1. Быстро рассчитать
  2. Легко использовать и понимать
  3. У него есть свойства, которые нам нужны для измерения важности функции.

Как это работает?

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

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

Как показано на рисунке 1, перетасовываются только значения столбца «Рост в возрасте 10 лет (см)», а значения во всех других столбцах остаются прежними. И если этот столбец будет иметь большое значение для обученной модели, то эта перестановка очень сильно повлияет на производительность.

Покажите мне код !!

Ниже вы можете увидеть простой RandomForestClassifier, который обучается предсказывать, выиграет ли игрок из команды награду «Лучший игрок матча».

Затем мы используем библиотеку 'eli5' для вычисления важности перестановки.

Интерпретация результатов

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