【问题标题】:libsvm scaling of features real and categoricallibsvm 真实和分类特征的缩放
【发布时间】:2016-04-03 00:21:36
【问题描述】:
我想知道在转换为 one-hot 编码(例如 0 0 0 1 0 0 表示变量的 6 个可能值)之后,分类特征是否应该使用 svm-scale 函数沿真实特征进行缩放。我想,libsvm 指南显然是这么说的。
另外,如果有一些特征是不区分的,那么对 SVM 的学习有什么影响,例如随机噪音?我应该在训练之前删除这些功能吗?我的猜测是这些会影响学习,因为 SVM 本质上是计算数据点之间的欧式距离,这些数据点表示为特征向量。我不太关心运行时间,因为功能数量很少。请提及 svm 的标准特征选择算法实现。欢迎任何建议。
谢谢。
【问题讨论】:
标签:
svm
libsvm
feature-selection
【解决方案1】:
你有几个问题:
1) 是否应该对 0-1 个特征进行缩放?
2)噪声特征的作用是什么?
3) 是否应该去除噪声特征?
4)如果是这样,怎么做?
对 (1) 和 (3) 的一般答案是,您应该使用交叉验证,(或保留验证集)两种方式都尝试,并在交叉验证中保持哪个得分更高。如果我猜的话,我会说缩放 0-1 特征可能并不重要,因为只要所有特征都是 O( 1),那些是。适度数量的噪声特征也可能是可以的。至于(2),你说得对,噪声特征通常会在一定程度上降低 SVM 的性能。特征选择是一个很大的话题。在scikit-learn user guide 中有一个不错的介绍。