时间序列数据特征提取TsFresh

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。时间序列数据特征提取TsFresh,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

tsfresh用于从时间序列中提取特征。本篇主要介绍时间序列时间特征的拓展和过滤。编程环境jupyter notebook。

1. 源码和数据地址

链接:https://pan.baidu.com/s/1VjHgdcIx9WY3VigHMkBCKw
提取码:gqs1

2. TsFresh安装

pip install tsfresh

3. 代码部分说明

3.1 数据下载

from tsfresh.examples.robot_execution_failures import download_robot_execution_failures, load_robot_execution_failures
download_robot_execution_failures()
timeseries, y = load_robot_execution_failures()

数据展示:

timeseries.describe()

在这里插入图片描述

y.head()

在这里插入图片描述

3.2 从文件读取数据

import pandas as pd
import numpy as np
timeseries_csv = pd.read_csv('load_robot_execution_failures_timeseries.csv')
timeseries_csv.describe()

在这里插入图片描述

y_csv = pd.read_csv('load_robot_execution_failures_y.csv',usecols = ['index','value'])
y_csv= pd.Series(np.array(y_csv['value']).tolist(),index =np.array(y_csv['index']).tolist())
y_csv.head()

在这里插入图片描述

4. 特征拓展

4.1 默认参数

from tsfresh.feature_extraction import extract_features
extracted_features_0 = extract_features(timeseries, column_id="id", column_sort="time")
extracted_features_0.shape

在这里插入图片描述

4.2 ComprehensiveFCParameters参数

from tsfresh.feature_extraction import extract_features, ComprehensiveFCParameters
settings = ComprehensiveFCParameters()
extracted_features_1 = extract_features(timeseries, column_id="id", column_sort="time",default_fc_parameters=settings)
extracted_features_1.shape

在这里插入图片描述

4.3 EfficientFCParameters参数

from tsfresh.feature_extraction import extract_features, EfficientFCParameters
settings = EfficientFCParameters()
extracted_features_2 = extract_features(timeseries, column_id="id", column_sort="time",default_fc_parameters=settings)
extracted_features_2.shape

在这里插入图片描述

4.4 MinimalFCParameters参数

from tsfresh.feature_extraction import extract_features, MinimalFCParameters
settings = MinimalFCParameters()
extracted_features_3 = extract_features(timeseries, column_id="id", column_sort="time",default_fc_parameters=settings)
extracted_features_3.shape

在这里插入图片描述

5. 特征过滤

5.1 默认参数

from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features_0)
features_filtered_0 = select_features(extracted_features_0, y) #特征选择
features_filtered_0.shape

在这里插入图片描述

5.2 ComprehensiveFCParameters参数

from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features_1)
features_filtered_1 = select_features(extracted_features_1, y) #特征选择
features_filtered_1.shape

在这里插入图片描述

5.3 EfficientFCParameters参数

from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features_2)
features_filtered_2 = select_features(extracted_features_2, y) #特征选择
features_filtered_2.shape

在这里插入图片描述

5.4 MinimalFCParameters参数

from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features_3)
features_filtered_3 = select_features(extracted_features_3, y) #特征选择
features_filtered_3.shape

在这里插入图片描述

6. 特征拓展和过滤同时进行

6.1 默认参数

from tsfresh import extract_relevant_features
features_filtered_direct_0 = extract_relevant_features(timeseries,y, column_id="id", column_sort="time")
features_filtered_direct_0.shape

在这里插入图片描述

6.2 ComprehensiveFCParameters参数

from tsfresh.feature_extraction import ComprehensiveFCParameters
from tsfresh import extract_relevant_features
settings = ComprehensiveFCParameters()
features_filtered_direct_1 = extract_relevant_features(timeseries,y, column_id="id", column_sort="time",default_fc_parameters=settings)
features_filtered_direct_1.shape

在这里插入图片描述

6.3 EfficientFCParameters参数

from tsfresh.feature_extraction import EfficientFCParameters
from tsfresh import extract_relevant_features
settings = EfficientFCParameters()
features_filtered_direct_2 = extract_relevant_features(timeseries,y, column_id="id", column_sort="time",default_fc_parameters=settings)
features_filtered_direct_2.shape

在这里插入图片描述

6.4 MinimalFCParameters参数

from tsfresh.feature_extraction import MinimalFCParameters
from tsfresh import extract_relevant_features
settings = MinimalFCParameters()
features_filtered_direct_3 = extract_relevant_features(timeseries,y, column_id="id", column_sort="time",default_fc_parameters=settings)
features_filtered_direct_3.shape

在这里插入图片描述

7. 结论

通过拓展+滤波,和直接一次性滤波效果一致。

【参考资料】:
【1】 tsfresh官网:https://tsfresh.readthedocs.io/en/latest/text/introduction.html
【2】时序数据处理工具-时间序列数据特征提取TsFresh:https://blog.csdn.net/qq_22290797/article/details/108637240

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/162813.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!