Как рассчитать важность функций на основе модели анализа охвата данных

В этой статье актуализируется одна из моих реализаций того, как сравниваются оптимизация и наука о данных. При проведении некоторых исследований в области науки о данных при обработке отправки форм я наткнулся на модель CCR для DEA (Data Envelopment Analysis). Представленные формы, которые я смоделировал, имеют различные входные и выходные размеры и могут быть произвольными, чтобы поведение порядковых параметров сохранялось как на входной, так и на выходной стороне.

Три типа переменных, используемых в науке о данных

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

  • Порядковый: эти переменные имеют порядок или ранжирование, и в большинстве случаев кендалл тау используется для корреляции порядковых параметров.
  • Номинальные: эти переменные не имеют никакого порядка, поскольку они могут быть логическими или неранжированными категориальными переменными, которые могут быть выражены в терминах классов данных.

Непрерывный: эти переменные являются непрерывными и могут быть переменными с плавающей запятой.

Charnes et. al. (1978) заявляет, что эффективность переноса набора взвешенных входных переменных в набор взвешенных выходных переменных может быть сформулирована с использованием линейного программирования, которое максимизирует соотношение взвешенных сумм. Метод DEA использует блоки принятия решений (DMU) для формализации эффективности передачи, предоставляя нам решения для весов.

Другая статья о DEA с использованием DMU (s) принимает во внимание регуляризацию отношения взвешенных сумм путем рассмотрения взвешенных сумм путем включения любых логических переменных, если это возможно, в область.

Использование комбинаций Shap для оценки важности функций

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

Ниже описаны функции, которые я использовал, о том, как они связаны с отправкой форм:

У нас есть n входов и m комбинаций выходной области, наша цель - отобразить входные комбинации, изучив выходную область.

Выходной домен (m комбинаций в 4 ячейках - w1, w2, w3, w4)

Входная область (n взвешенных входных данных)

Поскольку это взвешенные входные данные, для оценки важности функций используется метод линейного программирования с DEA. DEA добавляет дополнительное линейное ограничение и максимизирует соотношение взвешенных сумм. В этой задаче предполагается, что входная область имеет одинаковый вес, поэтому, если есть 10 входных значений, масштаб принимается равным 1/10 = 0,1.

Факторная модель и шум от факторного анализа

В задачах представления домена и кодомена факторная модель с наименьшим шумом в значительной степени используется для понимания взаимосвязи между входным доменом и выходным доменом. В этом текущем примере я получил эти значения путем проведения факторного анализа:

Мы можем заметить, что вес w2 имеет наименьший шум, и с помощью Shap values можно показать, что вес 2 имеет наименьшее значение, поскольку поведение выходного кодомена является меньше всего влияет вес w2. Фактически, факторная модель, которая представляет собой матричное отображение 4 x 4 в ее апостериорную структуру, положительно коррелирована для веса 2, что означает, что ее вклад в максимизацию дивергенции наименьший, тогда как w4, w3, w1 отрицательно коррелированы с их апостериорными значениями, отражающими KL. Расхождение из-за этих весов.

Анализ охвата данных

Метод оптимизации, при котором берутся взвешенные суммы выходных и входных данных, а чистый коэффициент максимизируется таким образом, чтобы в случае блоков принятия решений (DMU) коэффициент не превышал значение 1.

MinMaxScaler(feature_range=(0,1)).fit_transform(values)

Чтобы выделить приведенный выше код, мы преобразуем коррелированные значения с 0 в 1, потому что в этом случае мы наказываем абсолютно некоррелированные векторы и награждаем сильно коррелированные векторы. В общем, результаты, которые мы получаем, аналогичны результатам для веса blob, как показано в этой расширенной версии статьи. Иерархия такого преобразования данных показана ниже:

- Сохраняйте значения MinMaxScaler, подразумевая, что сильно некоррелированные ведут себя как нулевые значения

- Сохранять значения корреляции как есть, подразумевая, что сильно некоррелированное поведение ведет себя как некоррелированные DMU.

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

Преобразование задачи DEA в задачу лагранжевой минимизации

Предполагается, что лагранжевые множители Alpha и Beta равны 1 / vi и vi соответственно. При лагранжевой минимизации член максимизации взаимно дополняется, а член ограничения добавляется с использованием множителя, который обозначается как веса входной области. В нашей проблеме Лагранжа нам нужно определить и то, и другое:

Сопоставление важности функций с выходным доменом с помощью опорных векторных машин

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

vi = \
[9.48953131e-08 9.48953131e-08 0.00000000e+00 9.48953131e-08
 9.48953131e-08 9.48953131e-08 9.48953131e-08 0.00000000e+00
 0.00000000e+00 0.00000000e+00]

Как масштабировать модель DEA до обобщенной модели SVM

При построении модели SVM вы можете использовать либо метод Лагранжа, либо метод выпуклой оптимизации DEA с несколькими синтетическими наборами данных, либо, возможно, лист Excel и Jupyter Notebook, предоставленные здесь для справки (solver.xlsx, SVM_DEA_Solver.ipynb).

Формирующие значения для снижения важности функций

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

pip install shap

Это отражает первоначальное исследование, проведенное с использованием факторного анализа весов: w1, w2, w3 и w4. Здесь w2 оказывается наименее важным из-за диапазона домена. В приведенной выше функции w4 и w1 исключены, и, следовательно, важность функции формы для этой функции будет очень низкой, как показано ниже.

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

(0.04301583009989807,
 0.02558938157631804,
 0.04301583009989809,
 0.04301583009989807,
 0.02558938157631804,
 0.02558938157631811,
 0.04301583009989807,
 0.04301583009989809,
 0.02558938157631811,
 0.02558938157631804,
 0.04301583009989809,
 0.02558938157631811)

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

Заключение

При масштабировании модели DEA до большой модели SVM используйте это уравнение с соответствующими операторами.

В алгоритме дерева решений библиотека Shap объясняет разбиение узлов, поскольку у нее есть некоторый алгоритм для объяснения дерева решений, как показано ниже:

Некоторые изображения / сюжеты были тщательно отобраны, пожалуйста, внесите изменения в изображения