Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Merlion — 시계열 인텔리전스를 위한 엔드투엔드 Python 프레임워크로, 이상 탐지, 예측, 변경점 탐지, AutoML, 앙상블 및 벤치마킹 파이프라인을 제공합니다. | Kitploit
도구/GitHubGitHub/salesforce/merlion
Utilities & FrameworksMachine LearningAnomaly DetectionArchived
GitHubsalesforce/merlion

Merlion

시계열 인텔리전스를 위한 엔드투엔드 Python 프레임워크로, 이상 탐지, 예측, 변경점 탐지, AutoML, 앙상블 및 벤치마킹 파이프라인을 제공합니다.

저장소 보기
4.5k357296개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Logo
Tests Coverage PyPI Version docs

Merlion: 시계열을 위한 머신러닝 라이브러리

목차

  1. 소개
  2. 관련 라이브러리와의 비교
  3. 설치
  4. 문서
  5. 시작하기
    1. 이상 탐지
    2. 예측
  6. 평가 및 벤치마킹
  7. 기술 보고서 및 Merlion 인용

소개

Merlion은 시계열 인텔리전스를 위한 Python 라이브러리입니다. 데이터 로딩 및 변환, 모델 구축 및 학습, 모델 출력 후처리, 모델 성능 평가를 포함하는 엔드투엔드 머신러닝 프레임워크를 제공합니다. 단변량 및 다변량 시계열 모두에 대해 예측, 이상 탐지, 변화점 탐지 등 다양한 시계열 학습 작업을 지원합니다. 이 라이브러리는 엔지니어와 연구자에게 특정 시계열 요구에 맞는 모델을 신속하게 개발하고 여러 시계열 데이터셋에서 벤치마킹할 수 있는 원스톱 솔루션을 제공하는 것을 목표로 합니다.

Merlion의 주요 기능은 다음과 같습니다.

  • 다양한 예측 및 이상 탐지 데이터셋에 대한 표준화되고 쉽게 확장 가능한 데이터 로딩 및 벤치마킹. 사용자 정의 데이터셋에 대한 투명한 지원을 포함합니다.
  • 이상 탐지, 예측, 변화점 탐지를 위한 다양한 모델 라이브러리로, 모두 공통 인터페이스로 통합되어 있습니다. 모델에는 고전적인 통계 방법, 트리 앙상블, 딥러닝 접근법이 포함됩니다. 고급 사용자는 각 모델을 원하는 대로 완전히 구성할 수 있습니다.
  • 효율적이고 강력한 성능을 안정적으로 달성하며 새 사용자에게 시작점을 제공하는 추상적인 DefaultDetector 및 DefaultForecaster 모델.
  • 자동 하이퍼파라미터 튜닝 및 모델 선택을 위한 AutoML.
  • 외생 변수(exogenous regressors)를 사용하여 다양한 모델로 예측할 수 있는 통합 API.
  • 이상 탐지기의 이상 점수를 더 해석 가능하게 만들고 오탐(false positive) 수도 줄여주는 실용적이고 산업에서 영감을 얻은 후처리 규칙.
  • 여러 모델의 출력을 결합하여 더 강력한 성능을 달성하는 사용하기 쉬운 앙상블.
  • 프로덕션에서 모델의 라이브 배포 및 재학습을 시뮬레이션하고 예측 및 이상 탐지 모두에서 성능을 평가하는 유연한 평가 파이프라인.
  • 클릭 가능한 시각적 UI를 포함한 모델 예측 시각화의 기본 지원.
  • PySpark를 사용하는 분산 컴퓨팅 백엔드로, 산업 규모의 시계열 애플리케이션을 제공하는 데 사용할 수 있습니다.

관련 라이브러리와의 비교

아래 표는 Merlion의 주요 기능이 시계열 이상 탐지 및/또는 예측을 위한 다른 라이브러리와 어떻게 비교되는지 시각적으로 보여줍니다.

MerlionProphetAlibi DetectKatsdartsstatsmodelsnixtlaGluonTSRRCFSTUMPYGreykitepmdarima
단변량 예측✅✅✅✅✅✅✅✅✅
다변량 예측✅✅✅✅✅✅
단변량 이상 탐지✅✅✅✅✅✅✅✅✅
다변량 이상 탐지✅✅✅✅✅✅
전처리✅✅✅✅✅✅✅✅
후처리✅✅
AutoML✅✅✅
앙상블✅✅✅✅
벤치마킹✅✅✅✅✅
시각화✅✅✅✅✅

다음 기능은 Merlion 2.0에서 새로 추가된 것입니다:

MerlionProphetAlibi DetectKatsdartsstatsmodelsnixtlaGluonTSRRCFSTUMPYGreykitepmdarima
외생 변수✅✅✅✅✅✅
변화점 탐지✅✅✅✅✅
클릭 가능한 시각적 UI✅
분산 백엔드✅✅

설치

Merlion은 두 개의 하위 저장소로 구성됩니다: merlion은 라이브러리의 핵심 시계열 인텔리전스 기능을 구현하고, ts_datasets는 여러 시계열 데이터셋에 대한 표준화된 데이터 로더를 제공합니다. 이러한 로더는 시계열을 메타데이터와 함께 pandas.DataFrame으로 로드합니다.

PyPI에서 pip install salesforce-merlion을 호출하여 merlion을 설치할 수 있습니다. 소스에서 설치하려면 이 저장소를 클론하고 pip install Merlion/을 호출하거나, 편집 가능한 모드로 설치하려면 pip install -e Merlion/을 호출하십시오. 추가 종속성은 pip install salesforce-merlion[all]을 통해 설치하거나, 소스에서 설치하는 경우 pip install "Merlion/[all]"을 호출하여 설치할 수 있습니다. 선택적 종속성에는 개별적으로 GUI 대시보드용 dashboard, PySpark를 사용한 분산 컴퓨팅 백엔드용 spark, 모든 딥러닝 모델용 deep-learning이 포함됩니다.

데이터 로딩 패키지 ts_datasets를 설치하려면 이 저장소를 클론하고 pip install -e Merlion/ts_datasets/을 호출하십시오. 데이터 로더를 초기화할 때 모든 데이터셋의 루트 디렉터리를 수동으로 지정하고 싶지 않다면 이 패키지를 편집 가능한 모드(즉, -e 플래그 포함)로 설치해야 합니다.

다음 외부 종속성에 유의하십시오:

  1. 일부 예측 모델은 OpenMP에 의존합니다. conda를 사용하는 경우 패키지를 설치하기 전에 conda install -c conda-forge lightgbm을 실행하십시오. 그러면 conda 환경에서 OpenMP가 (우리 종속성 중 하나인) lightgbm 패키지와 함께 작동하도록 구성됩니다. Mac을 사용하는 경우 Homebrew를 설치하고 brew install libomp를 호출하여 모델에서 OpenMP 라이브러리를 사용할 수 있도록 하십시오.

  2. 일부 이상 탐지 모델은 JDK(Java Development Kit)에 의존합니다. Ubuntu의 경우 sudo apt-get install openjdk-11-jdk를 호출하십시오. Mac OS의 경우 Homebrew를 설치하고 brew tap adoptopenjdk/openjdk && brew install --cask adoptopenjdk11을 호출하십시오. 또한 java가 PATH에서 찾을 수 있고 JAVA_HOME 환경 변수가 설정되어 있는지 확인하십시오.

문서

예제 코드와 Merlion 소개는 examples의 Jupyter 노트북과 여기의 안내형 둘러보기를 참조하십시오. 자세한 API 문서(예제 코드 포함)는 여기에서 찾을 수 있습니다. 기술 보고서는 Merlion의 전반적인 아키텍처를 설명하고 단변량 및 다변량 시계열에 대한 시계열 이상 탐지 및 예측의 실험 결과를 제시합니다.

시작하기

시작하는 가장 쉬운 방법은 GUI 웹 기반 대시보드를 사용하는 것입니다. 이 대시보드는 고유한 사용자 정의 데이터셋에서 많은 모델을 빠르게 실험할 수 있는 훌륭한 방법을 제공합니다. 사용하려면 선택적 dashboard 종속성을 사용하여 Merlion을 설치하고(즉, pip install salesforce-merlion[dashboard]), 명령줄에서 python -m merlion.dashboard을 호출하십시오. http://localhost:8050에서 대시보드를 볼 수 있습니다. 아래에는 이상 탐지와 예측 모두에 대한 대시보드 스크린샷을 보여줍니다.

anomaly dashboard

forecast dashboard

고유한 코드에서 Merlion 사용을 시작하는 데 도움이 되도록, 이상 탐지와 예측 모두에 대해 Merlion 기본 모델을 사용하는 몇 가지 최소한의 예제를 아래에 제공합니다.

이상 탐지

여기서는 위의 이상 탐지 대시보드의 결과를 재현하는 코드를 보여줍니다. Merlion의 TimeSeries 클래스와 Numenta Anomaly Benchmark NAB용 데이터 로더를 가져오는 것으로 시작합니다. 그런 다음 이 데이터셋의 특정 시계열을 학습 및 테스트 분할로 나눌 수 있습니다.

from merlion.utils import TimeSeries
from ts_datasets.anomaly import NAB

# 데이터 로더는 pandas DataFrame을 반환하며, 이를 Merlion TimeSeries로 변환합니다
time_series, metadata = NAB(subset="realKnownCause")[3]
train_data = TimeSeries.from_pd(time_series[metadata.trainval])
test_data = TimeSeries.from_pd(time_series[~metadata.trainval])
test_labels = TimeSeries.from_pd(metadata.anomaly[~metadata.trainval])

그런 다음 Merlion의 DefaultDetector를 초기화하고 학습시킬 수 있습니다. 이는 성능과 효율성의 균형을 맞추는 이상 탐지 모델입니다. 또한 테스트 분할에 대한 예측을 얻습니다.

from merlion.models.defaults import DefaultDetectorConfig, DefaultDetector
model = DefaultDetector(DefaultDetectorConfig())
model.train(train_data=train_data)
test_pred = model.get_anomaly_label(time_series=test_data)

다음으로 모델의 예측을 시각화합니다.

from merlion.plot import plot_anoms
import matplotlib.pyplot as plt
fig, ax = model.plot_anomaly(time_series=test_data)
plot_anoms(ax=ax, anomaly_labels=test_labels)
plt.show()

anomaly figure

마지막으로 모델을 정량적으로 평가할 수 있습니다. 정밀도와 재현율은 모델이 3개의 알람을 발생시켰고, 그중 2개의 실제 양성(true positive), 1개의 실제 음성(false negative), 1개의 오탐(false positive)이 있었기 때문에 나온 값입니다. 또한 모델이 올바르게 탐지한 각 이상을 탐지하는 데 걸린 평균 시간도 평가합니다.

도구 다운로드