python实战技能-04-tsfel-时序数据自动特征提取

python实战技巧▼

1. python实战技能-01-python文件/目录监听

2. python实战技能-02-tsfresh时序数据自动特征提取

3. python实战技能-03-定时任务

上上期,我们介绍了强大的时间序列数据自动特征抽取工具tsfresh,本期,我们介绍另一个自动时序数据特征提取的第三方库TSFEL。

Tsfel,Time Series Feature Extraction Library,是一个基于python的时间序列自动特征提取库。类似于tsfresh,它也提供了一系列功能强大的时序数据自动特征抽取方法,可用于处理各种类型的时序数据。它有如下特点(标准化输入,结构化输出):

  • 多样的特征类型,时域、频谱域及统计;

  • 高效,能在大规模数据集上快速特征提取;

  • 灵活可扩展,提供丰富的配置选项和参数,可根据需求进行定制扩展;

图片

 

1、Tsfel特征介绍

 

图片

图片

图片

2、tsfel应用


#tsfel安装
pip install tsfel -i https://mirrors.tuna.tsinghua.edu.cn/

#tsfel可以根据需求选择要提取的特征类型:时域、统计、频谱特征
import tsfel
cfg_file = tsfel.get_features_by_domain()               
cgf_file = tsfel.get_features_by_domain("statistical")  
cgf_file = tsfel.get_features_by_domain("temporal")   
cgf_file = tsfel.get_features_by_domain("spectral")
# 导入必要的库和模块
import pandas as pd
import numpy as np
import tsfel
from  tsfel import time_series_features_extractor

cfg = tsfel.get_features_by_domain()
# 配置特征提取器
"""
def time_series_features_extractor(
    dict_features, #特征字典,配置特征提取的类型
    signal_windows, # 哪些数据需要提取特征
    fs=None #采样频率
"""

# 对于结构化的数据序列,传递一个Series就可以自动提取特征
feature_extractor = time_series_features_extractor(cfg,Series)

# 当然也可以提供一个列表,列表为多个时序series,提取多本据特征
feature_extractor = time_series_features_extractor(cfg,[Series1,Series2,...])

# 对于一个DataFrame数据,会对里面的每一列进行特征提取,特征命名从0开始
feature_extractor = time_series_features_extractor(cfg,DataFrame)

# 打印提取的特征
print(feature_extractor)

图片

 


import tsfel

#数据集的根目录
main_directory = '/my_root_dataset_directory/' 
#特征提取后的输出文件保存路径      
output_directory = '/my_output_feature_directory/'    

data = tsfel.dataset_features_extractor(
                      main_directory, 
                      #特别地,这里可以加载特征配置的json文件
                      #json.load(open(tsfel_path_json))
                      tsfel.get_features_by_domain(), #特征配置,默认提取所有
                      #从所有根路径下的这些文件提取特征
                      search_criteria = ['Accelerometer.txt', 'Gyroscope.txt'],
                      resample_rate=100, 
                      window_size=250,
                      output_directory=output_directory
       )

# 特征配置的json文件参考
{
    "spectral": {
        "FFT mean coefficient": {
            "complexity": "constant",
            "description": "Computes the mean value of each spectrogram frequency.",
            "function": "tsfel.fft_mean_coeff", #提取的逻辑函数
            "n_features": "nfreq",
            "parameters": {
                "fs": 100,
                "nfreq": 256
            },
            "use": "yes"
        },
        "Fundamental frequency": {
            "complexity": "log",
            "description": "Computes the fundamental frequency.",
            "function": "tsfel.fundamental_frequency",
            "n_features": 1,
            "parameters": {
                "fs": 100
            },
            "use": "yes"
        }
}

3、总结

生活工作中,时序数据应用非常广泛,熟练地、高效地对时序数据进行相关特征提取是我们进行时序数据机器学习建模的基础。从目前已有的方法可以看出,基于时序的特征提取大致分为三类:时域特征、频域特征、统计特征三大类。本期,我们介绍了另一个不逊于tsfresh的自动特征提取工具tsfel,tsfel还能自定义特征。通过tsfel及tsfreh,我们基本能掌握时序数据的特征自动处理手段。

参考:

【1】https://tsfel.readthedocs.io/en/latest/descriptions/feature_list.html

【2】TSFEL: Time Series Feature Extraction Library

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
CNN时序数据特征提取是指使用卷积神经网络(CNN)来提取时序数据中的特征。时序数据是按照时间顺序排列的数据,常见的例子包括股票价格、天气数据、语音信号等。 传统的机器学习算法在处理时序数据时,通常需要手动设计特征,这是一个费时费力的过程。而使用CNN来提取时序数据的特征,则可以自动学习到数据中的重要特征,减轻了人工设计特征的负担。 CNN通过将时序数据表示为二维的矩阵输入,利用卷积操作提取局部特征,并通过池化层进行降维。然后,利用全连接层进行特征的非线性映射和分类。CNN可以通过简洁的结构和共享权重的方式,有效地学习到时序数据中的局部和全局特征。 在处理时序数据时,CNN的特征提取能力主要体现在以下几个方面: 1. 局部特征提取:CNN通过卷积操作可以捕捉时序数据中的局部特征,例如语音信号中的音频中谱和频率的变化。这样能够在保留原始数据的细节的同时,有效地提取关键特征。 2. 平移不变性:CNN具有平移不变性的特性,即无论时序数据中特征的位置如何变化,CNN都能够识别并提取出这些特征。这使得CNN在处理平移不变的时序数据时表现出色。 3. 分层特征提取:CNN通过堆叠多个卷积层和池化层,可以逐层提取更高层次的抽象特征,从而更好地捕捉时序数据中的复杂模式和规律。 总之,CNN在时序数据特征提取方面具有很大的优势,可以自动学习到数据中的重要特征,减轻了人工设计特征的负担,并且在许多时序数据相关的任务中取得了很好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值