多变量时间序列分类中的特征选择

2024-10-05 12:28:12 发布

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

我有一个带有9变量的时间序列数据。我从中发现了4个特征。 例如,我计算np.mean(), np.std(), np.var(), np.ptp()现在我的列从9变量扩展到36变量

sklearn中提供的特征选择方法适用于单变量数据。所以当我将这些方法应用于多变量数据时,他们不会发现np.mean()是否比np.std()更好。他们只需从36个变量中找出最好的变量

所以我想知道,处理多元数据的正确方法应该是什么


Tags: 数据方法varnp时间序列特征sklearn
1条回答
网友
1楼 · 发布于 2024-10-05 12:28:12

让我先总结一下,确定我理解了你的问题。你有9个变量的时间序列数据,意味着你有9个长度为L的通道,所以一个形状为L x 9的矩阵,对吗?现在计算每个通道的4个特征,使其成为形状矩阵L x 36

例如sklearn.selectKBest所做的就是从36个特征向量中选择k个最佳特征。例如,如果k = 18,你会得到一个L x 18形状的矩阵。它选择了18个最好的特征

你能详细说明一下你的问题和你想达到的目标吗?可能有密码

编辑:

查看选择了哪些功能的可能解决方案:

from sklearn.datasets import load_digits
from sklearn.feature_selection import SelectKBest, chi2
X, y = load_digits(return_X_y=True)
# X.shape = (1797, 64)
kbest = SelectKBest(chi2, k=20)
kbest.fit(X, y)
X_new = kbest.transform(X)
# X_new.shape = (1797, 20)
selected_features = kbest.get_support()
# Returns a mask of X.shape[1]
array([False, False, False, False, False,  True,  True, False, False,
       False, False, False, False,  True, False, False, False, False,
       False,  True,  True,  True, False, False, False, False,  True,
       False,  True, False,  True, False, False,  True,  True, False,
       False, False, False, False, False,  True,  True,  True,  True,
       False,  True, False, False, False, False, False, False, False,
        True, False, False, False,  True, False, False,  True,  True,
       False])

现在您只需要记住哪些特性对应于用true屏蔽的索引

灵感来源于SelectKBesthttps://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html#sklearn.feature_selection.SelectKBest)的sklearn文档

相关问题 更多 >

    热门问题