Reputation: 757
I m a little new to scikit and ML. I m trying to train an SVM classifier for one vs all classification. I m using the following code.
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)
Features is a 72900*120 array. I m getting features from a different python code and calling that here. It throws the following warning and error.
/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)
error
ValueError: bad input shape ()
Please comment if you need the code for feature extraction. Thank you in advance.
Upvotes: 3
Views: 14021
Reputation: 14748
Which line of the code is throwing the error? Is it lin_clf.fit(features,u)
?
According to the documentation of LinearSVC, the arguments for fit(X,y)
are
X : {array-like, sparse matrix}, shape = [n_samples, n_features]
Training vector, where n_samples in the number of samples and n_features is the number of features.
y : array-like, shape = [n_samples]
Target vector relative to X
However, the u
in your code is a python set
. It should be a numpy array of length 72900.
Upvotes: 9