본문으로 건너뛰기
버전: docs v25.02

Tabular Anomaly Detection(TAD)

Updated 2024.07.06

What is Tabular Anomaly Detection?

  • TAD (Machine Learning Anomaly Detection)는 기계 학습을 활용하여 데이터에서 이상치를 자동으로 감지하는 시스템입니다.
  • 이 시스템은 정상적인 데이터 패턴을 학습하여, 이와 다른 패턴을 이상치로 식별합니다.
  • 새롭게 발생하는 즉, 사전에 본 적 없는 이상 현상(unseen anomalies)에 대한 탐지에 효과적이므로, 다양한 산업 분야에서 리스크 관리와 안정성 확보에 기여할 수 있습니다.


When to use TAD?


TAD는 다음과 같은 상황에서 유용합니다:

  • 새로운 이상치에 대한 탐지를 하고자 할 때
  • 학습 데이터가 정상 데이터 밖에 없을 때
  • 이상탐지 모델개발을 위한 데이터 전처리, 모델링, 배포까지의 파이프라인을 간소화하고자 할 때

TAD는 다양한 도메인에서 이상치 탐지 모델링에 사용될 수 있습니다. 다음과 같은 분야에서 활용할 수 있습니다:

  • 제조업: 기계의 고장 예측, 품질 관리
  • 금융: 이상 거래 탐지, 사기 예측
  • 의료: 환자의 이상 징후 탐지
  • 공공 분야: 이상 행위 탐지, 범죄 예측

◆ Key Features


  • AutoML 기능: 모델링 자동화를 통해 사용자가 직접 모델을 선택하고 조정할 필요 없이 최적의 모델을 자동으로 찾아줍니다.
  • 데이터 전처리: 다양한 데이터 전처리 기법을 제공하여 데이터 품질을 향상시킵니다.
  • 이상치 탐지: 정상 데이터를 기반으로 학습하여 새로운 이상치를 효과적으로 탐지합니다.
  • 사용자 친화성: 사용자가 몇 가지 파라미터를 입력하고 실행하면, 입력된 데이터에 대해 원하는 이상치 탐지 모델을 생성할 수 있습니다.
  • 코딩 없는 모델링: YAML 파일에 파라미터를 입력하여 다양한 전처리, 모델링 실험을 자동으로 수행합니다.
  • 확장성: 사용자가 별도의 머신러닝 모델을 추가하여 기존 모델들과 함께 활용할 수 있습니다.

◆ Quick Start


설치하기

데이터 준비

  • 이상치를 탐지하고자 하는 데이터가 컬럼으로서 존재하는 csv 파일을 준비합니다.

  • 각 column 별 값은 실수여야 하며, 만약 값이 비워져있거나 NaN과 같은 값이 들어간 경우 자동으로 해당 row를 제외하게 됩니다. data.csv    

    x_col_1x_col_2time_col(optional)grouupkey(optional)y_col(optional)
    value 1_1value 1_2time 1group1ok
    value 2_1value2_2time 2group2ok
    value 3_1value3_2time 3group1ng
    ...............

필수 parameter 설정

  1. ad/experimental_plan.yaml 내 하기 데이터 경로를 수정해주세요. 학습만 진행할 경우 load_train_inference_data_path는 수정하지 않아도 됩니다.

    external_path:
    - load_train_data_path: ./solution/sample_data/train/
    - load_inference_data_path: ./solution/sample_data/test/
  2. step: readinessargs에 train data에 맞는 x_columnsy_column(optional)을 입력해주세요.

    • x_columns: 사용자 데이터의 x 컬럼명을 리스트로 입력하여 해당 컬럼만 모델 학습에 사용합니다.
    • y_column: 사용자 데이터의 y 컬럼명을 입력하여 해당 컬럼을 레이블로 사용합니다. (공란일 경우, 레이블이 없는 것으로 간주함)
    - step: readiness
    args:
    - x_columns: [x0, x1, x2, ...] # 학습 시 사용할 사용자 데이터의 x 컬럼 명 입력
    - y_column: target # 사용자 데이터의 y 컬럼 명 입력 (공란일 경우, 레이블이 없는 것으로 간주함)

위 1, 2 단계만 설정하고 ALO를 실행하면 TAD 모델을 생성할 수 있습니다.

=> 좀 더 데이터에 맞는 모델을 생성하기 위해 고급 파라미터 설정을 원하는 경우, 우측 링크를 참고해주세요. 자세히보기: TAD Parameter

실행하기

  • terminal 혹은 jupyter notebook에서 실행하면 됩니다. 자세히 보기: Develop AI Solution
  • 실행 결과는 학습 완료된 모델파일과 예측 결과, 성능표가 저장됩니다.


Topics



TAD Version: 1.0.0, ALO Version: 2.5.2