Вопрос или проблема
Мне порекомендовали опубликовать здесь, а не на StackOverflow
Я хочу заняться машинным обучением, и мне просто нужно знать, с чего начать и какой библиотекой/путем пойти.
У меня есть два набора данных, которые выглядят примерно так:
| ИмяПользователя | Локация | Отдел |
|test.user | Чикаго | ИТ |
|asd.smith | Лос-Анджелес | Маркетинг |
|qwe.smith | Чикаго | ИТ |
|dfg.smith | Чикаго | Маркетинг |
и
| ИмяПользователя | Разрешение |
|test.user | 1 |
|asd.smith | 2 |
|asd.smith | 4 |
|qwe.smith | 1 |
|dfg.smith | 1 |
|dfg.smith | 2 |
|dfg.smith | 3 |
Проблема, которую я пытаюсь решить, заключается в том, если новый человек будет нанят в Чикаго/Маркетинг, какова % вероятность того, что у них будет разрешение X.
Так что с вышеупомянутыми наборами данных я ожидаю, что будет сказано: существует 100% вероятность того, что у них будет Разрешение 1, 100%, что у них будет Разрешение 2, 50% вероятность того, что у них будет Разрешение 3
Мне на самом деле нужно просто направление, с чего начать/какие модели существуют для такой проблемы/правильные слова для поиска в гугле.
Одним из вариантов является создание наивного классификатора Байеса. Учитывая ваши две категориальные переменные (т.е. локация и отдел), предсказать одну категорию из группы категорий (т.е. разрешение).
Как упомянуто Брайаном Спирингом, это проблема на основе вероятности и лучше всего решается с помощью Байеса.
Когда вы думаете о машинном обучении, что сейчас является довольно модным термином, вам действительно нужно учитывать проблему. Вы хотите изучить характеристики данных (Анализ характеристик) или хотите сделать предсказание для следующего человека, который будет добавлен в список (Предсказание)? Машинное обучение может достичь того и другого, но может потребовать много работы, если вы просто хотите изучить характеристики.
Программное обеспечение, такое как STATA, SPSS и т.д., может обрабатывать размеры данных, которые вы упомянули, и может быть гораздо более простым, когда вам просто нужно понять данные и получить инсайты.
Чтобы дать более содержительный ответ, было бы здорово получить детальное представление о других упомянутых переменных, так как эти переменные также могут оказать значительное влияние на выбранную модель и случаи использования.
Ответ или решение
Введение в машинное обучение: Начало работы с моделью прогнозирования на основе данных
Машинное обучение (МЛ) в последние годы становится все более актуальной темой, и для изучения этой области важно четкое понимание данных и проблем, которые вы хотите решить. В вашем случае вы обладаете двумя наборами данных, и целью является определение вероятности того, что новый сотрудник, нанятый на должность в определенном местоположении и департаменте, получит определенные права (permissions).
Анализ задачи
Данные, которые у вас есть:
-
Набор данных по пользователям:
UserName
– имя пользователяLocation
– местоположение (например, Chicago, LA и т.д.)Department
– отдел (например, IT, Marketing)
-
Набор данных по правам доступа:
UserName
– имя пользователяPermission
– права доступа (например, 1, 2, 3 и т.д.)
Цель заключается в том, чтобы предсказать вероятность наличия определённых прав доступа у нового пользователя на основе его местоположения и отдела. Например, если новый пользователь из Chicago/Marketing, можно ожидать, что он получит определенные права на основе уже имеющихся данных.
Потенциальные подходы и методы
-
Статистический анализ:
Прежде чем применять машинное обучение, вы можете начать с простого статистического анализа. Это позволит вам оценить, какая доля существующих пользователей в каждом местоположении и отделе имеет определенные права доступа. Это базовый подход, который поможет установить основную линию для прогнозов. -
Наивный байесовский классификатор:
Одним из простых и эффективных методов для классификации является наивный байесовский классификатор. Он позволяет оценивать вероятности на основе условной вероятности. В данном случае вы можете использоватьLocation
иDepartment
как признаки для прогнозированияPermission
.- Простота: Наивный байесовский классификатор прост в реализации и имеет низкие требования к обучающим данным.
- Алгоритм: Вычисление условной вероятности для каждого права в зависимости от категориальных признаков.
-
Алгоритмы машинного обучения:
- Логистическая регрессия: Если вы хотите предсказать вероятности для каждого права, вы можете использовать логистическую регрессию. Этот метод хорошо подходит для бинарной и многоклассовой классификации.
- Деревья решений: Эта методология полезна для визуализации процесса принятия решений и может обрабатывать как числовые, так и категориальные данные.
- Методы ансамбля: Например, Random Forest или Gradient Boosting. Эти методы часто подходят для более сложных данных и могут предложить лучшее обобщение.
Инструменты и библиотеки для начала
-
Python библиотеки:
- Pandas: Для манипуляции и анализа данных. Отлично подходит для работы с таблицами и экспортом/импортом данных.
- Scikit-learn: Это основная библиотека для машинного обучения в Python. Она включает множество алгоритмов, метрик, а также инструментов для обработки данных.
- StatsModels: Для статистического анализа и построения моделей (например, для логистической регрессии).
-
Системы анализа данных:
Если вы не хотите погружаться в код, рассмотрите использование специализированного программного обеспечения, такого как STATA или SPSS, которые предлагают готовые решения для статистических анализов.
Итоги
Начало работы в машинном обучении требует понимания ваших данных и целей. Учитывая вашу задачу, вероятностные методы, такие как наивный байесовский классификатор, являются хорошей отправной точкой. Не забывайте о важности предварительного анализа данных и визуализации, чтобы получить полное представление о проблеме, прежде чем переходить к моделированию.
Также рекомендуется изучить основы теории вероятностей и статистики, чтобы лучше понимать методы, которые вы будете использовать в своем проекте.
Следовав этим шагам, вы сможете эффективно построить модель для прогнозирования прав доступа новых сотрудников.