问题遇到的现象和发生背景
想用tsfresh进行数据的特征提取,构造好时序数据后成功提取特征,但是进行特征过滤时出现报错,
推测是设置标签集的时候出现问题了,下图中有正确的标签和我设置的标签集
正确的
我的
不知道是我数据有问题还是标签集设置的有问题
#正确的结果
问题相关代码,请勿粘贴截图
代码
#导入模块和数据
import pandas as pd
import numpy as np
timeseries_csv= pd.read_csv('C:\Users\12084\Desktop\课题\20210108mosunhemoca.csv',engine='python')
timeseries_csv.describe()
#数据集标签
y_csv = pd.read_csv('C:\Users\12084\Desktop\课题\数据1.csv',usecols = ['time','F_x'],engine='python')
y_csv= pd.Series(np.array(y_csv['F_x']).tolist(),index =np.array(y_csv['time']).tolist())
y_csv.head()
#提取特征
from tsfresh.feature_extraction import extract_features
extracted_features_0 = extract_features(timeseries_csv, column_id="id", column_sort="time")
extracted_features_0.shape
#特征过滤
from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features_0 )
extracted_features_0 = select_features(extracted_features_0, y_csv)#报错
extracted_features_0 .shape
运行结果及报错内容
#报错内容
AssertionError: X and y must contain the same number of samples.
我的解答思路和尝试过的方法
我尝试改变数据集标签的类型,但是都失败了。上述代码中过滤特征的原理就是根据和原数据集的相关度把没用的特征过滤掉
我想要达到的结果
正确设置标签集且成功将多余特征过滤掉