python - 多变量时间序列分类中的特征选择
问题描述
我有一个带有9
变量的时间序列数据。我从中找到了 4 个功能。例如,我计算现在我的列从变量np.mean(), np.std(), np.var(), np.ptp()
扩展到变量。36
9
sklearn
可用于单变量数据的特征选择方法。因此,当我将这些方法应用于多元数据时,他们不会发现是否np.mean()
比np.std()
. 他们只会从 36 个变量中找出最好的变量。
所以我想知道,处理多元数据的正确方法应该是什么。
解决方案
让我总结一下,以确保我首先了解您的问题。你有 9 个变量的时间序列数据,意味着你有 9 个长度通道L
,所以一个 shape 矩阵,对L x 9
吗?现在您计算每个通道上的 4 个特征,使其成为 shape 矩阵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
.
受 sklearn-documentation 的启发SelectKBest
(https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html#sklearn.feature_selection.SelectKBest)
推荐阅读
- spring - 将 Spring Security 与 Forum Sys ldap 测试服务器连接起来
- sql - 查询错误:列名 ICUSTAY_ID 不明确。在 BigQuery 中使用多个子查询
- jcl - 用于编译和链接包含更新 CICS 参数的 SIT 的 CICS JCL 过程
- flutter - flutter) 使用 imagePicker 有问题
- firebase - 在使用 Firebase 功能处理来自 Woocommerce 的多个 webhook 时,我应该使用单个云功能还是多个云功能?(网络钩子最佳实践)
- javascript - 为什么我的函数被自己调用
- php - 将值传递给其他实体 Symfony
- android - 启用 compose 会导致构建失败
- swift - 如何从 SWIFT 字典中检索深度嵌套的数据?
- python - python中的Json和请求