我有一个数据集,我在Matlab中使用libSVM进行分类。数据集由4个类组成。
对于SVM的参数选择,我可以进行嵌套交叉验证。问题是我最终还需要最佳参数的值。
完成嵌套交叉验证并具有最终精度后,我想要最佳参数的值。然后,我将为每个类(一对一)训练一个SVM,其中包含用于选择最重要特征的最佳参数(根据最高权重),即特征重要性图。
我该怎么做?我是否应该不进行嵌套交叉验证并仅循环所有参数并进行交叉验证?
其次,如果我使用线性SVM然后使用此权重向量w来分配对特征的重要性,但它是否也适用于非线性SVM(例如rbf内核)?
答案 0 :(得分:1)
要为您选择的内核找到“最佳”参数,您必须遍历所有参数以执行所谓的“网格搜索”。 LIBSVM不支持内置网格搜索机制。
关于你的第二个问题,我建议在实际使用SVM之前执行特征选择(例如信息增益,相互信息......)作为预处理步骤,然后在第二步中执行权重向量 考虑到(但我不确定,如果这适用于RBF或Gaußian内核......)。