在sklearn管道中使用tsfresh transformer之前规范化时间序列

2024-10-03 09:11:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在管道中使用用于tsfresh的sklearn transformer,希望在提取特征之前规范化我的时间序列。我的数据集由包含多个时间序列的多个样本组成

def build_timeseries_pipeline():

    regressor = ensemble.RandomForestRegressor()
    return pipeline.Pipeline(
        [
            (
                "augmenter",
                FeatureAugmenter(
                    column_id=globals.dataset.column_names["subject_id"],
                    column_sort=globals.dataset.column_names["time"],
                    default_fc_parameters=globals.dataset.tsfresh_features,
                    n_jobs=16,
                ),
            ),
            ("regressor", regressor),
        ]
    )

这是我的工作代码,但我想做一些如下代码所示的事情

def build_timeseries_pipeline():

    regressor = ensemble.RandomForestRegressor()
    return pipeline.Pipeline(
        [ 
            ("normalize", Normalizer()),
            (
                "augmenter",
                FeatureAugmenter(
                    column_id=globals.dataset.column_names["subject_id"],
                    column_sort=globals.dataset.column_names["time"],
                    default_fc_parameters=globals.dataset.tsfresh_features,
                    n_jobs=16,
                ),
            ),
            ("regressor", regressor),
        ]
    )

当然,这不起作用,因为我们只将索引而不是实际数据作为X发送到管道。但我希望能够在使用FeatureAugmenter提取特征之前,将每个样本作为数据帧单独预处理

这可能吗

任何清洁解决方案的想法都将不胜感激


Tags: 数据id管道pipelinenames时间column序列