在scikit中传递用于SVM训练的3D数据



我正试图使用从实验中收集的数据,使用sci工具包创建SVM模型。我的输入数据是3D数组(下面的示例x(,标签是布尔标签(示例y(。

X = [[[00, 00], [01, 01],[02,02]],[[10,10],[11,11],[12,12]],[[20,20],[21,21],[22,22]]]
y = [0, 1,1]
clf = svm.SVC()
clf.fit(X, y) 

然而,每当我尝试执行上面的代码时,我都会收到以下错误。

ValueError: Found array with dim 3. Estimator expected <= 2.

我是机器学习和scikit的新手。我将感谢任何有助于解决这个问题的帮助和指导。

出于计算目的,X必须是2D矩阵。对于3+维,它必须是一个神经网络,如卷积神经网络递归神经网络

在您的情况下,您应该也许压平最后一个维度,从而生成2D矩阵,例如:

X = [[00, 00, 01, 01, 02, 02],
[10, 10, 11, 11, 12, 12],
[20, 20, 21, 21, 22, 22]]

我说可能,因为这实际上取决于您的数据。如果第三维度与时间相关,则应考虑使用递归神经网络。如果它与动力学有关,你可以计算导数。这是一个个案应用程序,有时这个想法并不是微不足道的

最新更新