Я пытаюсь использовать 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