Какой алгоритм машинного обучения использовать, чтобы определить, какими компетенциями обладает или не обладает один орган местного самоуправления, в то время как другие в большинстве случаев предпочитают отказаться/взять их?

Вопрос или проблема

Я хотел бы узнать, к какому алгоритму машинного обучения относится моя проблема.

Во Франции наши 1200 местных органов власти имеют компетенции: каждая из них описывает ряд услуг, которые они должны предоставлять своим городам или жителям.

код описание
C5550 Операции по реабилитации нездорового жилого фонда
C9920 Совместное приобретение материалов
C9923 Публичная служба внешней защиты от пожаров

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

nomGroupement natureJuridique C5550 C9920 C9923
Eurométropole de Strasbourg METRO 1 0 1
CA du Pays de Meaux CA 1 0 0
CA du Pays Basque CA 1 1 0
CA de Haguenau CA 1 1 0
CA de la Porte du Hainaut CA 1 0 0
Métropole du Grand Nancy METRO 1 0 1

Учитывая местный орган власти, я хотел бы знать, какие другие местные органы власти [которые в основном сделали те же выборы, что и я] выбрали. И более конкретно, какие компетенции они:

  • также выбрали, но мой не выбрал
  • не взяли, а мой выбрал

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

  • у меня проблема классификации

  • это задача с подконтрольным обучением

  • это требует алгоритма, использующего подмножества. Нужно ли рассматривать k-ближайших соседей (или k-средние?)

  • это также требует использования множества условных вероятностей. Может ли наивный Байес оказаться полезным?

Среди всех алгоритмов машинного обучения, какие из них я должен рассмотреть, чтобы они подошли лучше всего?

Ответ или решение

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

Теория

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

Модели кластеризации

Кластеризация — это подход к сегментации данных на группы (кластеры) на основе их сходства. Алгоритмы кластеризации, такие как K-Nearest Neighbors (k-NN) или K-Means, могут помочь в группировке местных органов власти на основе схожести их выбора компетенций. K-NN полагается на расстояние между объектами и будет определять "ближайших соседей", у которых сходные характеристики. K-Means, в отличие от этого, сегментирует данные, разбивая их на предварительно заданное число кластеров, основываясь на среднестатистическом сходстве данных внутри кластера.

Обработки решений и вероятности

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

Примеры

Применение k-NN может состоять в том, чтобы определять близкие по выбору компетенций местные органы власти, подсчитывая расстояние Хэмминга между бинарными строками компетенций. Анализ результатов позволит выделить компетенции, которые чаще всего выбранные "соседи" имеют, а ваш орган власти может их не иметь.

Если использовать K-Means, после прохождения процесса кластеризации, можно выявить, к какому кластеру относится ваш контролируемый объект, после чего изучать общие компетенции в этом кластере.

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

Применение

С практической точки зрения, данные задачи могут быть решены с использованием библиотек машинного обучения, как Scikit-learn для Python, которая предоставляет реализации всех упомянутых алгоритмов. Кроме того, перед самим моделированием данных необходимо провести работы по их очистке, нормализации и возможной обработке для учета факторов, таких как размер или тип местной власти.

В конечном итоге, несмотря на наличие нескольких возможных подходов, следует провести тестирование всех предложенных методов для определения оптимального в заданном контексте. Будет также полезно использовать методики перекрестной проверки (cross-validation) для объективной оценки качества модели.

Однако, не стоит забывать о важности негласного тестирования модели на новом наборе данных для валидации результатов, и в случае необходимости, итеративное улучшение настройки модели.

Оцените материал
Добавить комментарий

Капча загружается...