Вопрос или проблема
Цель заключается в прогнозировании отказа/неотказа маршрутизатора (1/0) в будущем временном окне с использованием всех данных, собранных за последний час (т.е. бинарная цель).
Данные получаются на двух уровнях:
- Метрики маршрутизатора: память, температура, использование ЦП, время простоя и т.д..
- Метрики подключенных устройств: данные, собранные с N различных подключенных устройств — скорость приема, сигналы и т.д..
Каждая строка в наборе для обучения должна быть снимком данных, представляющим хаб + агрегирование состояния N-разных устройств (учтите, что N может быть разным для каждой строки).
Мин, макс и перцентили распределения признаков подключенных устройств могут быть добавлены как новые признаки. Есть ли другие более умные методы, чтобы сохранить всю информацию у подключенных клиентов?
Хорошо, ваша методология выглядит хорошо, но это типичная проблема, показывающая, почему дата-сайентисты являются настоящими специалистами, а не просто “запускающими копированный код”: вы должны создавать свои переменные самостоятельно, используя свои знания о проблеме.
Я бы сказал, что сначала вам нужно попытаться перечислить те вещи, которые вы можете измерить на этих устройствах и которые стоит попробовать: это может быть от очень простых вещей (количество подключенных устройств, измерение ‘потока данных’ от одного устройства к другому, соотношение между 2 метриками и т.д.) до более сложных признаков (пример: разница между количеством устройств, к которым вы подключены, и количеством устройств, к которым вы были подключены в последний час, в вашем предыдущем проверке. Это значительно более сложная переменная для обработки, я не буду вдаваться в подробности, если вы не хотите).
Насколько я знаю, нет общего процесса для создания переменных (вы можете автоматизировать это, сделав каждое возможное соотношение из имеющихся метрик, а затем использовать отбор признаков, но я бы не стал на это полагаться). Для меня то, что направляет вас при создании переменных вручную, — это то, что вы знаете о своей проблеме.
Ответ или решение
Теория
Агрегация низкоуровневых признаков для классификатора представляет собой процесс трансформации и комбинирования различных данных с целью улучшения точности и эффективности моделей машинного обучения. В данном случае задача заключается в предсказании отказа маршрутизатора в будущем временном окне на основе данных, собранных за последний час. Данные получаются на двух уровнях: от самих маршрутизаторов (такие метрики как память, температура, загрузка процессора и время простоя) и от подключенных устройств (показатели, такие как скорости приема и сигналов от N различных устройств).
Пример
Рассмотрим пример. Каждая строка тренировочного набора данных должна представлять моментальный снимок состояния маршрутизатора и агрегированных данных о подключенных устройствах. Одним из подходов является создание новых признаков, таких как минимум, максимум и процентили распределения метрик подключенных устройств. Однако, это лишь один из методов. Например, можно воспользоваться методами, основанными на временных рядах, которые позволят учесть изменения метрик во времени, или обобщенными агрегатами, такими как среднее и медиана, для более полной картины состояний.
Применение
При решении задачи по предсказанию отказа маршрутизатора важно глубоко понимать специфику используемых данных и возможные взаимосвязи между ними. Вначале следует провести анализ и выделить ключевые показатели, влияющие на стабильность работы маршрутизатора. Каждая доступная метрика должна быть использована для создания новой информативной особенности, например, отношения между различными метриками и расчет их изменений с течением времени (например, как изменяется число подключенных устройств в течение часа). Методы обработки временных рядов, такие как скользящие средние или экспоненциальное сглаживание, могут добавить ценную информацию о трендах и выбросах в данных.
Кроме того, стоит рассмотреть использование методов понижения размерности, таких как Principal Component Analysis (PCA), чтобы сохранить наиболее важные особенности, минимизируя избыточность данных. Автоматизированные методы, такие как генетические алгоритмы или машинное обучение с подкреплением, также могут быть задействованы для поиска оптимальных комбинаций признаков.
В ходе работы важно постоянно тестировать и валидацировать модель, чтобы убедиться в ее работоспособности и способности к точной предсказательной аналитике. Использование кросс-валидации и техники ансамблирования, такие как случайный лес или градиентный бустинг, могут значительно улучшить производительность модели.