У меня проблема с одноклассным SVM.Поскольку плотные матрицы слишком велики, я использую разреженные матрицы для обучения и проверки набора данных.Когда я использую функцию predict
, код выдает ошибку, такую как
ValueError: X.shape [1] = 772 должен быть равен 676, количество функций во время обучения
Когда я уменьшаю выборки на тестовых данных, это работает с нулевой степенью точности.В чем проблема с этим?
Я знаю, были некоторые советы, такие как использование values.shape
функции или использование n_features
аргумента, но одноклассный SVM не содержит аргумента n_features
, а разреженные матрицы не принимаютvalues.shape
.
o_svm = OneClassSVM()
o_svm.fit(concating_data_train)
anomaly_detect = o_svm.predict(concating_data_test)
#concating datas are similar;
concating_data_test = hstack((concating_test_non_numeric, standardization_sparse_data_test_numeric))