我试图在1997年训练样本的一维特征向量上拟合一个分类器,样本大小相同,包含我的y:
clf = svm.SVC()
j = 0
a = 0
listX = []
listY = []
while a <= 1996:
ath_X = "".join(linesplit[a])
listX = listX + [int(ath_X)]
a+=1
while j <= 1996:
jth_Y = "".join(linesplit1[j])
listY = listY + [((int(jth_Y))-1)]
j+=1
X = np.array(listX)
y = np.array(listY)
print("%s %s %s %s" % ('Dimension of X: ', len(X), 'Dimension of y: ', len(y)))
print("%s %s" % (X.shape[0], y.shape[0]))
print(X[1996])
print(y[1996])
clf.fit(X, y)
ficheiro1.close()
ficheiro.close()
print("We're done")
->这是什么打印:
X维数:1997
1997年1997
987654321
0
回溯(最近一次调用):
文件"C:/Python27/qqer.py",第52行,在clf。适合(X, y)
文件"C:Python27libsite-packagessklearnsvmbase.py",第166行,in fit(X.shape [0], y.shape [0]))
ValueError: X和y的形状不兼容。
X有1个样本,而y有1997个样本。
->如果我打印出相同的形状的X和y,为什么我会得到这样的错误?有什么想法吗?
X
的形状必须是SVC.fit
文档字符串中解释的(n_samples, n_features)
。一维数组被解释为单个样本(为了方便对单个样本进行预测)。重塑X
为(n_samples, 1)