【发布时间】:2014-01-19 05:39:31
【问题描述】:
我正在使用 scikit learn 构建 GMM 分类器。为了测试,我使用了一个包含大量行的文件 X,每一行代表一个特征向量 [x,y,z]。
例如:
[1,2,3]
[2,2,3]
[4,4,5]
...
我为每一行分配一个相应的类标签。当我使用 scikit-learn score() 函数时,它会计算 X 中每个数据点的对数概率。对于我的应用程序来说,这不是很有用,因为我文件中的每个测试样本都代表一个运动帧和基于单个帧的识别不准确。相反,我想使用更多的帧(样本)进行测试,并根据样本组而不是单个样本计算对数似然度。通过这种方式,我可以通过查看一个人的 30 秒动作而不是查看一个非常短的单个时间框架来识别一个人。 scikit-learn 可以做到这一点吗?我该如何做到这一点?
【问题讨论】:
-
这似乎是一个 HMM 公式,而不是 GMM。您应该尝试重新表述问题。
-
我仍然做出简单且不太直观的 GMM 假设,即特征相互独立。我还是想一次看几个特征向量,假设我将 3 个特征向量累积成一个更大的 3 行 3 列特征向量。
-
然后你应该将每个特征矩阵展平为一行(
reshapein numpy)。只要长度相同,就可以被视为特征。 -
我不确定这是否可能。如果我这样做,我也必须展平训练数据数组。但是训练数据必须排列成与均值数组一样多的列,即在上述情况下为 3。否则 scikit learn 返回值错误。我不知道将手段阵列也展平是否是一个明智的想法。
标签: python scikit-learn