小编Ien*_*ken的帖子

用于规范化sklearn SVM输入的正确功能

我发现了几个与此相关的问题,但没有人解决我的疑虑.特别是,这个问题的两个答案让我更加困惑.

我正在基于一组特征训练线性SVM - 由图像产生的卷积神经网络特征.例如,我有一个3500x4096 X矩阵,像往常一样在列上的行和特征上有例子.

我想知道在输入SVM之前如何正确地标准化/规范化这个矩阵.我看到两种方式(使用sklearn):

  1. 标准化功能.它导致具有0均值和单一标准的特征.

    X = sklearn.preprocessing.scale(X)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 规范化功能.它导致具有单一规范的特征.

    X = sklearn.preprocessing.normalize(X, axis=0)
    
    Run Code Online (Sandbox Code Playgroud)

归一化(76%准确度)比标准化(68%准确度)明显更好.

它是完全依赖数据集的选择吗?或者如何在这两种技术之间做出选择?

python statistics machine-learning svm scikit-learn

17
推荐指数
1
解决办法
7477
查看次数

标签 统计

machine-learning ×1

python ×1

scikit-learn ×1

statistics ×1

svm ×1