TODS: автоматизированная система обнаружения аномалий временных рядов
TODS — это автоматизированная система машинного обучения, предназначенная для обнаружения аномалий в многомерных данных временных рядов. TODS предоставляет подробные модули, необходимые для построения системы обнаружения аномалий на основе машинного обучения. Они включают в себя: обработку данных, обработку временных рядов, анализ признаков, алгоритмы обнаружения и модуль усиления. Эти модули предоставляют функции, такие как обычная предварительная обработка данных, сглаживание или преобразование данных временных рядов, извлечение признаков из временной или частотной области, разнообразные алгоритмы обнаружения и возможность калибровки системы экспертами-людьми. Система может обрабатывать три распространённых сценария обнаружения аномалий во временных рядах: обнаружение точек (аномалия — момент времени), обнаружение шаблонов (аномальный — поддиапазон) и обнаружение системы (аномальное — множество временных рядов). TODS предлагает ряд соответствующих алгоритмов. Пакет был разработан DATA Lab @ Rice University.
Особенности TODS включают:
Ресурсы API-документы: http://tods-doc.github.io Статья: https://arxiv.org/abs/2009.09822 Связанные проекты: AutoVideo: автоматизированная система распознавания действий по видео (https://github.com/datamllab/autovideo) Если вас интересует поиск данных, пожалуйста, ознакомьтесь с нашим исследованием data-centric AI (https://arxiv.org/abs/2303.10158) и ресурсами data-centric AI (https://github.com/daochenzha/data-centric-AI)!
Установка Для работы этого пакета требуется Python 3.6 и pip 19+. Пользователи Debian и Ubuntu должны установить следующие пакеты на своих системах:
sudo apt-get install libssl-dev libcurl4-openssl-dev libyaml-dev build-essential libopenblas-dev libcap-dev ffmpeg
Клонируйте репозиторий (если у вас медленный доступ к GitHub, пользователи из Китая могут использовать зеркало Gitee):
git clone https://github.com/datamllab/tods.git
Установите локально с помощью pip:
cd tods
pip install -e .
Примеры Примеры доступны в каталоге /examples. Для базового использования вы можете оценить производительность определённого конвейера на наборе данных. В следующем примере показано, как загрузить стандартный конвейер и оценить его производительность на подмножестве данных Yahoo.
import pandas as pd
from tods import schemas as schemas_utils
from tods import generate_dataset, evaluate_pipeline
table_path = 'datasets/anomaly/raw_data/yahoo_sub_5.csv'
target_index = 6 # какой столбец является целевым
metric = 'F1_MACRO' # F1 для обоих меток 0 и 1
# Чтение данных и создание набора данных
df = pd.read_csv(table_path)
dataset = generate_dataset(df, target_index)
# Загрузить стандартный конвейер
pipeline = schemas_utils.load_default_pipeline()
# Запустить конвейер
result_конвейера = evaluate_pipeline(набор данных, конвейер, метрика)
print(result_конвейера)
Мы также предоставляем поддержку AutoML, чтобы помочь вам автоматически найти наиболее подходящий конвейер для ваших данных.
import pandas as pd
из axolotl.backend.simple импортировать SimpleRunner
из tods импортировать generate_dataset, generate_problem
из tods.searcher импортировать BruteForceSearch
# Некоторая информация
table_путь = 'datasets/yahoo_sub_5.csv'
target_индекс = 6 # какой столбец является целью
time_limit = 30 # сколько секунд вы хотите искать
метрика = 'F1_MACRO' # F1 для обеих меток 0 и 1
# Прочитать данные и создать набор данных и проблему
df = pd.read_csv(table_путь)
набор данных = generate_dataset(df, target_index=target_index)
описание проблемы = generate_problem(набор данных, метрика)
# Запуск бэкэнда
бэкэнд = SimpleRunner(random_seed=0)
# Начать алгоритм поиска
поиск = BruteForceSearch(problem_description=problem_description,
бэкэнд=бэкэнд)
# Найти лучший конвейер
best_runtime, best_pipeline_result = search.search_fit(input_data=[набор данных], time_limit=time_limit)
лучший_конвейер = best_runtime.pipeline
лучший_вывод = best_pipeline_result.output
# Оценить лучший конвейер
лучшие_оценки = поиск.оценка(лучший_конвейер).оценки
Благодарности Мы искренне благодарим DRAPA за открытие, основанное на данных. Проект «Ди-три-эм» (D3M).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )