1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/daochenzha-tods

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.zh-CN.md 7.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 11:58 0497323

TODS: автоматизированная система обнаружения аномалий временных рядов

TODS — это автоматизированная система машинного обучения, предназначенная для обнаружения аномалий в многомерных данных временных рядов. TODS предоставляет подробные модули, необходимые для построения системы обнаружения аномалий на основе машинного обучения. Они включают в себя: обработку данных, обработку временных рядов, анализ признаков, алгоритмы обнаружения и модуль усиления. Эти модули предоставляют функции, такие как обычная предварительная обработка данных, сглаживание или преобразование данных временных рядов, извлечение признаков из временной или частотной области, разнообразные алгоритмы обнаружения и возможность калибровки системы экспертами-людьми. Система может обрабатывать три распространённых сценария обнаружения аномалий во временных рядах: обнаружение точек (аномалия — момент времени), обнаружение шаблонов (аномальный — поддиапазон) и обнаружение системы (аномальное — множество временных рядов). TODS предлагает ряд соответствующих алгоритмов. Пакет был разработан DATA Lab @ Rice University.

Особенности TODS включают:

  • Система машинного обучения полного стека: поддерживает каждый шаг от предварительной обработки данных до алгоритмов обнаружения и предоставления соответствующих интерфейсов.
  • Обширная поддержка алгоритмов: включает алгоритмы обнаружения точек, предоставляемые PyOD, передовые алгоритмы обнаружения шаблонов (например, DeepLog, Telemanom) и алгоритмы обнаружения систем.
  • Автоматизированное машинное обучение: предназначено для обеспечения процесса без необходимости специальных знаний путём автоматического поиска наилучшей комбинации модулей из всех существующих и построения оптимального конвейера на основе предоставленных данных.

Ресурсы 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/daochenzha-tods.git
git@api.gitlife.ru:oschina-mirror/daochenzha-tods.git
oschina-mirror
daochenzha-tods
daochenzha-tods
master