0

我正在使用 mlxtend EnsembleVoteClassifier 使用预拟合的线性 SVC 进行二进制分类,但我一直有一个反复出现的错误:

ValueError: X.shape[1] = 352 应该等于 336,训练时的特征数

我使用 scikit-learn joblib 将预装分类器加载到列表中。分类器是来自 sklearn.svm 的线性 svc:

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)
4

1 回答 1

0

正如@ken-syme 在上面的评论中提到的那样,分类器配备了与集成不同的数字特征。在这种情况下发生这种情况是因为用作数据的时间序列没有以完全相同的频率采样。

于 2018-03-14T14:52:41.097 回答