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

Ekstrak sejumlah besar ciri siri masa dengan jumlah kod yang kecil

王林
Lepaskan: 2023-04-25 14:40:08
ke hadapan
1293 orang telah melayarinya

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
Salin selepas log masuk

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")
Salin selepas log masuk

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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan