我使用了 sktime 库的 TimeSeriesForestClassifier 类来执行多元时间序列分类。
代码如下
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sktime.classification.compose import ColumnEnsembleClassifier
from sktime.classification.interval_based import TimeSeriesForestClassifier
from sktime.datasets import load_basic_motions
from sktime.transformations.panel.compose import ColumnConcatenator
X, y = load_basic_motions(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
steps = [
("concatenate", ColumnConcatenator()),
("classify", TimeSeriesForestClassifier(n_estimators=100)),
]
clf = Pipeline(steps)
clf.fit(X_train, y_train)
clf.score(X_test, y_test)
我想检查feature_importances_的值,它与输入的长度不同,而是一个与特征数长度相同的数组。
clf.steps[1][1].feature_importances_
我想知道每个重要性对应于输入的哪一部分。有什么方法可以获取有关 TimeSeriesForestClassifier 计算特征的输入部分的信息?