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

Passing 3D data for SVM training in scikit

我正在尝试使用从实验中收集的数据来使用 sci-kit 创建 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 必须是二维矩阵。对于 3+ 维,它必须是神经网络,例如 卷积神经网络 递归神经网络

在你的情况下,你应该可能展平导致二维矩阵的最后一个维度,例如:

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

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