我在部分训练集上运行支持向量机模型,结果如下:
alg = sk.svm.SVC(probability=True, gamma='auto')
cv_results = model_selection.cross_validate(alg, X_pca, labels, cv =4)
但是当我尝试调整参数时,使用以下方法:
model=sk.svm.SVC()
params = {'C' : [0.01, 0.1, 1, 10],
'gamma' : [0.1, 1, 'auto'],
'probability' : [True]
}
clf = GridSearchCV(model, params, cv=2, return_train_score=False).fit(X_pca, labels)
pd.DataFrame(clf.cv_results_).loc[:, ['mean_test_score', 'rank_test_score', 'params']].sort_values(by='rank_test_score')
因此,不仅所有结果看起来都很糟糕,因为它们是相同的。但也在其中一行中我有 C:1, gamma:auto 和 probability: True ,这与第一个表中的参数相同。
我还想说,我在其余 15 个 ML 算法中使用的逻辑相同,只有 SVM 表现出这种奇怪的行为。想知道也许我在创建 X_pca 和标签数据表时犯了一些愚蠢的错误,我从其他算法中复制了代码,只是替换了第二个代码,但它给出了相同的结果。
你能看出哪里不对吗?

