I am using sklearn to apply svm on my own set of images. The images are put in a data frame. I pass to the fit function a numpy array that has 2D lists, these 2D lists represents images and the second input I pass to the function is the list of targets (The targets are numbers). I always get this error "ValueError: setting an array element with a sequence".
trainingImages = images.ix[images.partID <=9] trainingTargets = images.clustNo.ix[images.partID<=9] trainingImages.reset_index(inplace=True,drop=True) trainingTargets.reset_index(inplace=True,drop=True) classifier = svm.SVC(gamma=0.001) classifier.fit(trainingImages.image.values,trainingTargets.values.tolist())
The Error:
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-43-5336fbeca868> in <module>() 8 classifier = svm.SVC(gamma=0.001) 9 ---> 10 classifier.fit(trainingImages.image.values,trainingTargets.values.tolist()) 11 12 #classifier.fit(t, list(range(0,2899))) /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/svm/base.py in fit(self, X, y, sample_weight) 148 self._sparse = sparse and not callable(self.kernel) 149 --> 150 X = check_array(X, accept_sparse='csr', dtype=np.float64, order='C') 151 y = self._validate_targets(y) 152 /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator) 371 force_all_finite) 372 else: --> 373 array = np.array(array, dtype=dtype, order=order, copy=copy) 374 375 if ensure_2d: ValueError: setting an array element with a sequence.