Бинарная классификация с помощью расширенного ансамбля mlxtend с предопределенными классификаторами

Я использую mlxtend EnsembleVoteClassifier, чтобы выполнить двоичную классификацию с предварительно установленным линейным SVC, но у меня постоянно возникает повторяющаяся ошибка:

ValueError: X.shape [1] = 352 должен быть равен 336, количество функций во время обучения

Я загружаю предопределенные классификаторы в список, используя scikit-learn joblib. Классификаторы линейные SVC от sklearn.svm:

список CLFS:

[SVC(C=0.1, cache_size=200, class_weight=None, coef0=0.0,decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',max_iter=-1, probability=False, random_state=None, shrinking=True,tol=0.001, verbose=False),SVC(C=0.1, cache_size=200, class_weight=None, coef0=0.0,decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',max_iter=-1, probability=False, random_state=None, shrinking=True,tol=0.001, verbose=False)]

Они передаются в ансамблевый классификатор голосов, и он устанавливается как обычно без каких-либо проблем:

ensembleVoting = EnsembleVoteClassifier(clfs = list_of_clfs, refit = False, voting='hard', weights=None)
X = ...
y = ...
ensembleVoting.fit(X,y)

упомянутая выше ошибка возникает при прогнозировании, даже с теми же данными, которые использовались для подгонки:

predictions = ensembleVoting.predict(X)

1 ответ

Как упомянуто @ken-syme в комментариях выше, классификаторы были снабжены другими числовыми функциями, чем те, что были для ансамбля. Это произошло в этом случае, потому что временные ряды, используемые в качестве данных, не были отобраны с точно такой же частотой.

Другие вопросы по тегам