sklearn SVM fit() "ValueError: Einstellung der ein array-element mit einer Sequenz"
Ich bin mit sklearn anwenden svm auf meine eigenen Bilder. Die Bilder werden in ein data frame.
Ich pass auf die fit-Funktion ein numpy-array, 2D-Listen, diese 2D-Listen stellt Bilder und der zweite Eingang ich übergebe der Funktion ist die Liste der Ziele (Die Ziele sind zahlen).
Ich bekomme immer diese Fehlermeldung "ValueError: Einstellung der ein array-element mit einer Sequenz".
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())
Den Fehler:
---------------------------------------------------------------------------
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.
Was die Form
trainingImages.image.values
? X-Werte an die fit
Funktion der Form (n_samples, n_features). Wenn Sie (n_samples, Breite, Höhe), versuchen X.reshape(-1, width*height)
.InformationsquelleAutor Perihan Gad | 2016-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte die exakt gleiche Fehlermeldung, es ist eine von zwei Möglichkeiten:
InformationsquelleAutor Ghanem
Es ist wahrscheinlich, weil "trainingImages.Bild.Werte", nicht die gleiche Anzahl von Elementen, die in allen arrays. Prüfen Sie eine ähnliche Frage hier bei stackoverflow:
ValueError: Einstellung der ein array-element mit einer Sequenz. während der Verwendung von SVM in scikit-learn
Könnte Sie post ein Druck von trainingImages.Bild.Werte und trainingTargets.Werte.tolist()? (auch die Form)
InformationsquelleAutor armatita
Wenn Sie sicher sind, dass die Dimensionen richtig sind, unten ist ein Stück code/workflow, die helfen könnten,
InformationsquelleAutor Vivek Kalyanarangan