Интерпретируемость случайных лесов - PullRequest
0 голосов
/ 22 сентября 2018

Я использовал sklearn RandomForestClassifier для решения проблемы бинарной классификации.

Для конкретного примера прогноза я хотел бы знать, как изменить значения признаков, чтобы изменить прогноз.,

Например, скажем, у меня есть запись с [size = 15, width = 8, height = 13], и модель дает мне probability = 0.9, чтобы иметь class 1.То, что я хотел бы сказать, это «изменить size с 15 на 10», а затем, например, ваш probability=0.1.

Тогда, оптимально, то, что я хотел бы, это наименьшее »градиент "в значениях функций для передачи из одного класса в другой (или тот, который дает наибольшее изменение вероятности).

Возможно, я ошибаюсь, но из того, что я читал, пакеты LIME и treeinterpreter делаютне предоставлять такую ​​информацию.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

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

Хотя она не дает точного градиента во всех точках.Это помогает нам понять поведение переменной.

Подробнее об этом можно узнать здесь: http://scikit -learn.org / stable / auto_examples / ensemble / plot_partial_dependence.html

0 голосов
/ 22 сентября 2018

Я знаю два способа интерпретации случайного леса:

  • Если вы используете sklearn Случайный лес, вы можете использовать feature_importances_ атрибут класса (чем выше, тем лучше)
  • Более общийспособ интерпретации «модели черного ящика» - это анализ чувствительности , и я думаю, что в вашем вопросе вы догадались, что
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...