Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ekstrak sejumlah besar ciri siri masa dengan jumlah kod yang kecil

Ekstrak sejumlah besar ciri siri masa dengan jumlah kod yang kecil

王林
王林ke hadapan
2023-04-25 14:40:081205semak imbas

Algoritma pembelajaran mesin tradisional tidak dapat menangkap tertib temporal data siri masa. Saintis data perlu melaksanakan kejuruteraan ciri yang berkaitan untuk menangkap ciri-ciri penting data ke dalam beberapa metrik. Menjana sejumlah besar ciri siri masa dan mengekstrak ciri yang berkaitan daripadanya adalah satu tugas yang memakan masa dan membosankan.

几行 Python 代码就可以提取数百个时间序列特征

Python tsfresh pakej boleh menjana ratusan ciri biasa standard untuk data siri masa. Dalam artikel ini, kita akan membincangkan penggunaan pakej tsfresh secara mendalam.

tsfresh ialah pakej sumber terbuka yang boleh menjana ratusan ciri siri masa yang berkaitan. Ciri yang dijana daripada tsfresh boleh digunakan untuk menyelesaikan kes penggunaan pengelasan, ramalan dan pengesanan terpencil.

Pakej tsfresh menyediakan pelbagai fungsi untuk melaksanakan kejuruteraan ciri pada data siri masa, termasuk:

  • Penjanaan ciri
  • Pemilihan ciri
  • dengan Big keserasian data

Memasang tsfresh juga sangat mudah Kaedah pemasangan pip dan conda rasmi disediakan:

pip install -U tsfresh# orconda install -c conda-forge tsfresh

1. Generasi ciri

tsfresh pakej menyediakan API penjanaan ciri automatik yang boleh menjana lebih daripada 750 ciri yang berkaitan daripada 1 pembolehubah siri masa. Pelbagai ciri dijana, termasuk:

  • Statistik deskriptif (min, maksimum, korelasi, dll.)
  • Metrik tak lineariti dan kerumitan berasaskan fizik
  • Fungsi berkaitan pemprosesan isyarat digital
  • Ciri mampatan sejarah

Menggunakan fungsi tsfresh.extract_features(), 789 ciri boleh dijana daripada berbilang domain untuk 1 pembolehubah siri masa.

import pandas as pdfrom tsfresh import select_features# Read the time-series datadf = pd.read_excel("train.xlsx", parse_dates=['date']).set_index('date')# automated feature generationfeatures = tsfresh.extract_features(df, column_, column_sort="date")

Oleh kerana terdapat terlalu banyak ciri, sila semak dokumentasi rasmi untuk pengenalan terperinci semua ciri.

2. Pemilihan ciri

Pakej tsfresh juga menyediakan pelaksanaan pemilihan ciri berdasarkan ujian hipotesis, yang boleh digunakan untuk mengenal pasti ciri yang berkaitan dengan pembolehubah sasaran. Untuk mengehadkan bilangan ciri yang tidak berkaitan, tsfresh menyertakan algoritma segar (segar singkatan untuk pengekstrakan ciri berdasarkan ujian hipotesis boleh skala).

fungsi tsfresh.select_features() pengguna boleh melaksanakan pemilihan ciri.

3. Serasi dengan data besar

Apabila kami mempunyai sejumlah besar data siri masa. tsfresh juga menyediakan API untuk melanjutkan penjanaan/pengekstrakan ciri, serta pelaksanaan pemilihan ciri untuk jumlah data yang besar:

  • Pemprosesan berbilang benang: Pakej tsfresh lalai boleh menyelaraskan penjanaan/pengekstrakan ciri dan pemilihan ciri pada pelbagai teras dilaksanakan.
  • Rangka kerja teragih: tsfresh juga melaksanakan rangka kerja teragihnya sendiri untuk mengedarkan pengiraan ciri merentas berbilang mesin untuk mempercepatkan pengiraan.
  • Spark serasi: tsfresh juga boleh menggunakan spark atau Dask untuk memproses data yang sangat besar.

Akhir sekali, tsfresh boleh menjana dan memilih ciri yang berkaitan untuk ciri siri masa dalam beberapa baris kod Python. Ia secara automatik mengekstrak dan memilih 750+ ciri yang diuji dunia sebenar daripada berbilang domain sampel data berasaskan masa. Ia mengurangkan banyak masa kerja yang dibazirkan oleh saintis data pada kejuruteraan ciri.

Dan data siri masa agak besar, tsfresh juga menggunakan multi-threading dan menyokong dask dan spark untuk memproses sampel data yang besar yang tidak boleh diproses oleh satu mesin.

Atas ialah kandungan terperinci Ekstrak sejumlah besar ciri siri masa dengan jumlah kod yang kecil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam