我在一个小的数据集上实验,这个数据集只有一千多个样本,有大概11个特征,用SVM进行二分类。我使用GridSearchCV进行网格搜索,参数设置为 param_grid = {'kernel': ['rbf'], 'C': [1, 10, 100, 1000], 'gamma': ['scale', 0.01, 0.001]}。搜索得到的最好分类器在训练集上的best_score的最好结果能达到0.87-0.89之间,但是最后在在测试集上10轮平均之后的f1-score只有0.8-0.81左右,我该怎么进一步调参,使分类器在测试集上的结果再提升一些。
训练之后的SVM在训练集上准确率比在测试集上高是正常的现象,这是可能是因为有轻微的过拟合产生。如果要调超参数的话,SVM的核函数可以换个试试。我觉得也可以对原始数据特征先进行PCA降维,再送入SVM训练,具体效果需要实验才能获得。
这么少的特征也需要降维吗?
鸢尾花数据集的特征维度只有4。降维也是个尝试方法,不一定起作用😁