> 백엔드 개발 > 파이썬 튜토리얼 > Python의 시계열 분류에 대한 완전한 소개

Python의 시계열 분류에 대한 완전한 소개

Barbara Streisand
풀어 주다: 2025-01-15 06:57:43
원래의
579명이 탐색했습니다.

시계열 데이터는 다양한 산업 전반에 걸쳐 널리 퍼져 있지만 시계열 예측은 상당한 관심을 받는 반면 시계열 분류는 간과되는 경우가 많습니다. 이 기사에서는 시계열 분류에 대한 포괄적인 소개를 제공하고, 실제 애플리케이션을 탐색하고, 다양한 방법을 검토하고, Python 기반 분류 프로젝트에서 이러한 기술 중 일부를 시연합니다. 시작해 보세요!

시계열 분류의 이해

시계열 분류는 시간 경과에 따라 측정된 하나 이상의 특성을 사용하여 카테고리를 할당하는 지도형 기계 학습 기술입니다. 목표는 미래 값을 예측하는 것이 아니라 시계열에 라벨을 붙이는 것입니다.

시계열 분류의 실제 적용

시계열 분류는 특히 센서 데이터에서 광범위하게 사용됩니다. 주요 응용 분야는 다음과 같습니다.

  • 예측 유지 관리: 장비를 모니터링하여 잠재적인 고장을 예측합니다.
  • 의료: 심전도(ECG) 데이터를 분석하여 환자 건강을 평가합니다.
  • 음성 인식: 음파 패턴을 통해 음성 단어와 화자를 식별합니다.
  • 식품 분광학: 분광학 데이터를 통해 알코올 함량을 측정하거나 식품 성분을 식별합니다.
  • 사이버 보안: 사기 또는 위반을 나타내는 비정상적인 활동을 탐지합니다.

이러한 다양한 애플리케이션은 다양한 분야에서 시계열 분류의 중요성을 강조합니다.

시계열 분류 모델 개요

시계열 분류에는 다양한 접근 방식이 있습니다. 이 섹션에서는 각 항목에 대한 간략한 개요를 제공하며, 해당 가이드[사용 가능한 경우 가이드 링크]에서 더 자세한 설명을 확인할 수 있습니다.

1. 거리 기반 모델: 이 모델은 거리 측정법(예: 유클리드 거리)을 활용하여 샘플을 분류합니다. DTW(동적 시간 워핑)는 일련의 다양한 길이를 수용하고 약간 위상이 다른 패턴을 처리하는 보다 강력한 접근 방식을 제공합니다. KNN(K-최근접 이웃) 및 ShapeDTW 등을 예로 들 수 있습니다.

The Complete Introduction to Time Series Classification in Python

2. 사전 기반 모델: 이 모델은 기호를 사용하여 시리즈 패턴을 인코딩하고 분류를 위해 기호 빈도를 활용합니다. 예로는 BOSS, WEASEL, TDE, MUSE 등이 있습니다.

3. 앙상블 방법: 이는 모델 자체가 아니라 향상된 예측을 위해 여러 기본 추정기를 결합하는 프레임워크입니다. 주요 장점은 단변량 모델(예: 배깅)을 사용하여 다변량 데이터를 처리할 수 있다는 것입니다. 예로는 배깅, 가중치 앙상블, 시계열 포레스트 등이 있습니다.

4. 기능 기반 방법: 이 방법은 시계열(예: 요약 통계, Catch22, 매트릭스 프로필, TSFresh)에서 기능을 추출한 다음 분류기를 훈련하는 데 사용됩니다.

5. 간격 기반 모델: 시계열에서 여러 간격을 추출하고 위에 언급된 방법을 사용하여 특징을 계산한 다음 분류기를 교육합니다. 예로는 RISE, CIF, DrCIF 등이 있습니다.

6. 커널 기반 모델: 이 모델은 커널 기능을 사용하여 더 쉬운 분류를 위해 시계열을 고차원 공간에 매핑합니다. 예로는 SVC(Support Vector Classifier), Rocket 및 Arsenal(Rocket의 앙상블)이 있습니다.

7. 셰이프릿 분류기: 이 분류기는 셰이프릿(차별적 하위 시퀀스)을 식별하고 활용하여 거리 비교를 기반으로 한 분류를 수행합니다.

8. 메타 분류자: 이는 강력한 분류 성능을 위해 다양한 방법을 결합합니다. TDE, Shapelet, DrCIF 및 Arsenal을 결합한 HIVE-COTE가 그 예이지만 계산 비용이 많이 듭니다.

방법 선택은 데이터 특성, 계산 리소스, 원하는 정확도 등의 요소에 따라 달라집니다.

실습 시계열 분류 프로젝트(Python)

이 섹션에서는 앞서 언급한 기술 중 일부를 BasicMotions 데이터세트[데이터세트 링크]에 적용합니다. 이 데이터세트는 다양한 활동(서기, 걷기, 달리기, 배드민턴)을 수행하는 개인의 가속도계 및 자이로스코프 데이터로 구성됩니다.

설정:

<code class="language-python">import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from sktime.datasets import load_basic_motions
from sklearn.model_selection import GridSearchCV, KFold</code>
로그인 후 복사

데이터 로딩:

<code class="language-python">X_train, y_train = load_basic_motions(split='train', return_type='numpy3D')
X_test, y_test = load_basic_motions(split='test', return_type='numpy3D')</code>
로그인 후 복사

데이터 시각화(걷기와 배드민턴 비교 예시):

<code class="language-python"># ... (Visualization code as provided in the original article) ...</code>
로그인 후 복사

KNN 분류:

<code class="language-python"># ... (KNN code as provided in the original article) ...</code>
로그인 후 복사

WEASEL로 포장하기:

<code class="language-python"># ... (Bagging with WEASEL code as provided in the original article) ...</code>
로그인 후 복사

평가:

<code class="language-python"># ... (Evaluation code as provided in the original article) ...</code>
로그인 후 복사

The Complete Introduction to Time Series Classification in Python The Complete Introduction to Time Series Classification in Python The Complete Introduction to Time Series Classification in Python

결론

이 기사에서는 시계열 분류에 대한 소개를 제공하고 그 응용 분야와 다양한 방법을 다루었습니다. 실제 프로젝트에서는 KNN의 적용과 WEASEL을 사용한 배깅을 시연했습니다. 이 분야에 대한 추가 탐구가 권장됩니다.

다음 단계

계속 학습하려면 시계열 분류 방법에 대한 가이드와 해당 주제에 대한 과정을 포함하여 원본 기사에 언급된 리소스를 살펴보세요.

참고자료

  • BasicMotions 데이터세트 — [데이터세트 링크]
  • Sktime — [sktime 링크]

위 내용은 Python의 시계열 분류에 대한 완전한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿