我試圖用Scikit來訓練2個叫做x1和x2的特徵。這兩個陣列的形狀是(490,1)
。爲了將一個X
自變量傳入clf.fit(X,y)
,我使用了np.concatenate
來產生陣列形狀(490,2)
。標籤數組由1和0組成,形狀爲(490,)
。代碼如下所示:顯示Scikit SVM錯誤:X.shape [1] = 1應該等於2
x1 = int_x # previously defined array shape (490,1)
x2 = int_x2 # previously defined array shape (490,1)
y=np.ravel(close) # where close is composed of 1's and 0's shape (490,1)
X,y = np.concatenate((x1[:-1],x2[:-1]),axis=1), y[:-1] #train on all datapoints except last
clf = SVC()
clf.fit(X,y)
以下錯誤:
X.shape[1] = 1 should be equal to 2, the number of features at training time
我不明白的是爲什麼會出現這種消息,即使當我檢查X的形狀,它確實是2而不是1.我原本只有一個功能,clf.fit(X,y)
運行良好,所以我傾向於認爲np.concatenate
產生了一些不適合的東西。任何建議都會很棒。
我剛剛嘗試過使用與上面相同的方法,但收到相同的錯誤。你能提供你的代碼的其餘部分,從上面產生一個成功的結果嗎? – ColeS