我发现了几个与此相关的问题,但没有人解决我的疑虑.特别是,这个问题的两个答案让我更加困惑.
我正在基于一组特征训练线性SVM - 由图像产生的卷积神经网络特征.例如,我有一个3500x4096 X矩阵,像往常一样在列上的行和特征上有例子.
我想知道在输入SVM之前如何正确地标准化/规范化这个矩阵.我看到两种方式(使用sklearn):
标准化功能.它导致具有0均值和单一标准的特征.
X = sklearn.preprocessing.scale(X)
Run Code Online (Sandbox Code Playgroud)规范化功能.它导致具有单一规范的特征.
X = sklearn.preprocessing.normalize(X, axis=0)
Run Code Online (Sandbox Code Playgroud)归一化(76%准确度)比标准化(68%准确度)明显更好.
它是完全依赖数据集的选择吗?或者如何在这两种技术之间做出选择?