Вопрос или проблема
Я хотел бы узнать, к какому алгоритму машинного обучения относится моя проблема.
Во Франции наши 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) для объективной оценки качества модели.
Однако, не стоит забывать о важности негласного тестирования модели на новом наборе данных для валидации результатов, и в случае необходимости, итеративное улучшение настройки модели.