Ich versuche Scikit zu verwenden, um 2 Funktionen zu trainieren, die genannt werden: x1 und x2. Beide diese Arrays sind Form (490,1)
. Um ein X
Argument in clf.fit(X,y)
zu übergeben, habe ich np.concatenate
verwendet, um eine Array-Form (490,2)
herzustellen. Das Label-Array besteht aus 1 und 0 und hat die Form (490,)
. Der Code ist unten dargestellt:Scikit SVM Fehler: X.shape [1] = 1 sollte gleich sein 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)
Der folgende Fehler wird angezeigt:
X.shape[1] = 1 should be equal to 2, the number of features at training time
Was ich nicht verstehe ist, warum diese Meldung allerdings erscheint, auch wenn ich die Form von X prüfen, es ist in der Tat 2 und nicht 1. Ich habe das ursprünglich mit nur einer Funktion versucht und clf.fit(X,y)
hat gut funktioniert, also bin ich geneigt zu denken, dass np.concatenate
etwas produziert, das nicht geeignet war. Irgendwelche Vorschläge wären großartig.
Ich habe es gerade mit der gleichen Methode versucht, die Sie oben getan haben, aber den gleichen Fehler erhalten. Können Sie den Rest Ihres Codes bereitstellen, der von oben zu einem erfolgreichen Ergebnis geführt hat? – ColeS