2016-04-01 17 views
0

Veri kümesi için SVM'yi çevrimiçi olarak bulmaya çalışıyorum.Tesisler_test, features_train, labels_test, etiket_tr, tuplelerin python listeleridir. Aşağıdakileri numpy dizilerine dönüştürdüm.Ama clf.fit bana aşağıdaki hatayı veriyor. o 1D vektör olması gerekirkenPython'da hatalı dizi şekli

File "ebola.py", line 47, in <module> 
clf.fit(features_train_numpy,labels_train_numpy) 
File "/usr/lib64/python2.7/site-packages/sklearn/svm/base.py", line 151, in fit 
y = self._validate_targets(y) 
File "/usr/lib64/python2.7/site-packages/sklearn/svm/base.py", line 514, in _validate_targets 
y_ = column_or_1d(y, warn=True) 
File "/usr/lib64/python2.7/site-packages/sklearn/utils/validation.py", line 551, in column_or_1d 
raise ValueError("bad input shape {0}".format(shape)) 
ValueError: bad input shape (2923, 9) 

Kod, Hatta sizin etiketler matris iki boyutlu olduğunu fark etmek kolaydır hata kendisinden

features_train_numpy = np.asarray(features_train) 
labels_train_numpy= np.asarray(labels_train) 
features_test_numpy = np.asarray(features_test) 
labels_test_numpy= np.asarray(labels_test) 
from sklearn.svm import SVC 
temp = 100 
clf=SVC(C=temp,kernel="rbf") 
clf.fit(features_train_numpy,labels_train_numpy)` 
+1

ve her dizinin şekli nedir? Print XXX.shape' ile mi? baskı np.ndarray.shape (features_train_numpy) TypeError içinde, Dosya "ebola.py", çizgi 58: – lejlot

+0

Bu kod bana aşağıdaki hatayı traceback (son En son arama) veriyor 'getset_descriptor' nesne değil çağrılabilir kod features_train_numpy = np.asarray (features_train) labels_train_numpy = np.asarray (labels_train) features_test_numpy = np.asarray (features_test) labels_test_numpy = np.asarray (labels_test) baskı np.ndarray.shape (olup features_train_numpy) – Anjan

+0

Yorumlama tarzım için üzgünüz, İlk önce buradayım ve ikincisi, yorumlarda bp'ler ve hatalar için 4 boşluk verdim ut işe yaramadı – Anjan

cevap

0

aşağıda gibidir. I.th pozisyonunda olmalıdır - örneğin etiketini. Durumunuzda, her bir örnekte sklearn SVM tarafından desteklenmeyen 9 etikete benziyor.