Я использую разреженные матрицы для обучения логистической регрессии c с использованием OnevsRestClassifier. Набор функций довольно велик (~ 1,6 млн.).
Когда классификатор должен прогнозировать, он вызывает исключение Говоря, что число объектов в тестовых данных и данных поезда не равны.
Я не понимаю, как можно ожидать, что количество объектов будет равным, когда речь идет о разреженном представлении матрицы. Например, вот фрагмент моего элементарного кода:
classifier = OneVsRestClassifier(LogisticRegression())
classifier = classifier.fit(X_train, y_train)
predicted = classifier.predict(X_test)
Здесь форма X_train и X_test явно различаются.
print X_train.shape
(11, 1617899)
print X_test.shape
(3, 83715)
Итак, возникает исключение:
ValueError: X has 83715 features per sample; expecting 1617899
(Небольшое исследование исходного кода говорит мне, что linear_model / base.py выполняет это сравнение в solution_function ())
Как я могу это исправить?