我正在尝试在scikit-learn中使用SVM模型,如下所示:
model.fit(trainFeatures, trainLabels)
问题是我的trainFeatures
尺寸为(127, 9, 6, 1)
,我的trainLabels
尺寸为(127,2)
。
当我返回documentation时,尤其是fit(X, y, sample_weight=None)
时,它提到了:
X : {array-like, sparse matrix}, shape (n_samples, n_features)
y : array-like, shape (n_samples,)
我应该怎样做才能使我的数据格式适合fit
?
我尝试从大小中提取特定部分,比如说:
trainFeatures = (trainFeatures[0],trainFeatures[1]*trainFeatures[2])
认为根据文档可以解决问题,但这变成了一些混乱。
感谢您的支持。
答案 0 :(得分:1)
假设您没有处理空间结构化数据(例如图像,声音,时间序列等),那么特征的顺序和形状对模型并不重要。 如果是这种情况,那么简单的重塑应该可以解决这个问题:
model.fit(trainFeatures.reshape(127, -1), trainLabels)
无论如何,我建议你用trainFeatures.squeeze()
删掉第四个维度
如果您觉得特征的9乘6结构很重要,那么您可以尝试使用卷积神经网络(如果每个样本在语义上是网格),或者循环神经网络(如果每个样本是9个步骤的序列)一个6维信号)。
干杯