i m对Scikit和ML有些新鲜。我试图培训一个SVM分类器进行一个分类。我使用以下代码。
g=list()
for i in range(0,120):
g.append(1)
for i in range(120,240):
g.append(2)
u=set(g)
numclasses=len(u)
lin_clf = svm.LinearSVC()
lin_clf.fit(features,u)
功能是72900*120数组。我从不同的Python代码中获取功能,并在此处调用该功能。它会引发以下警告和错误。
/usr/lib/python2.7/dist-packages/scipy/misc/pilutil.py:279:
DeprecationWarning: fromstring() is deprecated. Please call frombytes() instead.
image = Image.fromstring(mode, shape, strdata)
错误
ValueError: bad input shape ()
如果您需要特征提取的代码,请发表评论。预先感谢您。
代码的哪一行抛出了错误?是lin_clf.fit(features,u)
?
根据Linearsvc的文档,fit(X,y)
的参数为
x:{类似数组,稀疏矩阵},shape = [n_samples,n_features]
训练向量,其中n_samples中的n_samples和n_features中的n_samples是功能的数量。
y:类似阵列,shape = [n_samples]
相对于x
的目标矢量
但是,代码中的u
是Python set
。它应该是一个长度为72900的数阵列。